summaryrefslogtreecommitdiffstats
path: root/perl-install/install_gtk.pm
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2000-09-22 10:29:14 +0000
committerFrancois Pons <fpons@mandriva.com>2000-09-22 10:29:14 +0000
commit8507f5529c1fa95cf068076001adc1dbdc91e4fc (patch)
tree876ee2f2f0e11e80261468a6af017fa1e03970a2 /perl-install/install_gtk.pm
parent2964bfdb899a583e8930740b6d59c1294d723843 (diff)
downloaddrakx-8507f5529c1fa95cf068076001adc1dbdc91e4fc.tar
drakx-8507f5529c1fa95cf068076001adc1dbdc91e4fc.tar.gz
drakx-8507f5529c1fa95cf068076001adc1dbdc91e4fc.tar.bz2
drakx-8507f5529c1fa95cf068076001adc1dbdc91e4fc.tar.xz
drakx-8507f5529c1fa95cf068076001adc1dbdc91e4fc.zip
*** empty log message ***
Diffstat (limited to 'perl-install/install_gtk.pm')
-rw-r--r--perl-install/install_gtk.pm2
1 files changed, 2 insertions, 0 deletions
diff --git a/perl-install/install_gtk.pm b/perl-install/install_gtk.pm
index 92b1ef797..9b16f93f4 100644
--- a/perl-install/install_gtk.pm
+++ b/perl-install/install_gtk.pm
@@ -12,6 +12,7 @@ use devices;
#-INTERN CONSTANT
#-#####################################################################################
my @themes_vga16 = qw(blue blackwhite savane);
+my @themes_desktop = qw(mdk-Desktop DarkMarble marble3d blueHeart);
my @themes = qw(mdk DarkMarble marble3d blueHeart);
my (@background1, @background2);
@@ -34,6 +35,7 @@ sub load_rc {
sub default_theme {
my ($o) = @_;
+ @themes = @themes_desktop if $o->{meta_class} eq 'desktop';
@themes = @themes_vga16 if $o->{simple_themes} || $o->{vga16};
install_theme($o, $o->{theme} || $themes[0]);
}
-backup-do-not-use/diff/docs/comparisons?h=V9_3_15mdk'>docs/comparisons288
-rw-r--r--docs/diskdrake.TODO23
-rw-r--r--docs/drakfont/Makefile57
-rw-r--r--docs/drakfont/dia_srcs/drakfont.diabin4599 -> 0 bytes-rw-r--r--docs/drakfont/dia_srcs/drakfont_install.diabin3662 -> 0 bytes-rw-r--r--docs/drakfont/dia_srcs/drakfont_uninstall.diabin1908 -> 0 bytes-rw-r--r--docs/drakfont/drakfont.jpgbin134044 -> 0 bytes-rw-r--r--docs/drakfont/drakfont.tex152
-rw-r--r--docs/drakfont/drakfont_install.jpgbin86455 -> 0 bytes-rw-r--r--docs/drakfont/drakfont_uninstall.jpgbin42291 -> 0 bytes-rw-r--r--docs/drakfont/mandrake.ps534
-rw-r--r--docs/draknet_advanced_doc.txt165
-rwxr-xr-xdocs/interactive/ask_from29
-rwxr-xr-xdocs/interactive/ask_from_list27
-rwxr-xr-xdocs/interactive/ask_from_listf27
-rwxr-xr-xdocs/interactive/ask_from_treelist27
-rwxr-xr-xdocs/interactive/wait_message13
-rw-r--r--docs/mdk-9.2129
-rw-r--r--docs/mdk-vs-redhat43
-rw-r--r--docs/net_object_class.fig73
-rw-r--r--docs/object_class.fig32
-rwxr-xr-xdocs/porting-ugtk48
-rw-r--r--docs/spec-DrakX-8.0.html405
-rw-r--r--docs/wizard.doc31
-rw-r--r--isolinux-graphic.bmpbin480566 -> 0 bytes-rw-r--r--kernel/.cvsignore3
-rw-r--r--kernel/Makefile13
-rwxr-xr-xkernel/check_mar.pl30
-rw-r--r--kernel/dependencies.pl13
-rw-r--r--kernel/list_modules.pm209
-rw-r--r--kernel/modules.pl209
-rwxr-xr-xkernel/strip_modules124
-rwxr-xr-xkernel/update_kernel162
-rwxr-xr-xmake_boot_img723
-rw-r--r--mdk-stage1/.cvsignore14
-rw-r--r--mdk-stage1/Makefile312
-rw-r--r--mdk-stage1/Makefile.common64
-rw-r--r--mdk-stage1/Makefile.mkinitrd_helper30
-rw-r--r--mdk-stage1/adsl.c172
-rw-r--r--mdk-stage1/adsl.h34
-rw-r--r--mdk-stage1/automatic.c162
-rw-r--r--mdk-stage1/automatic.h33
-rw-r--r--mdk-stage1/bzlib/Makefile42
-rw-r--r--mdk-stage1/bzlib/blocksort.c1138
-rw-r--r--mdk-stage1/bzlib/bzlib.c1567
-rw-r--r--mdk-stage1/bzlib/bzlib.h319
-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.c219
-rw-r--r--mdk-stage1/cdrom.h29
-rw-r--r--mdk-stage1/config-stage1.h64
-rw-r--r--mdk-stage1/dhcp.c672
-rw-r--r--mdk-stage1/dhcp.h36
-rw-r--r--mdk-stage1/dietlibc/.cvsignore28
-rw-r--r--mdk-stage1/dietlibc/AUTHOR3
-rw-r--r--mdk-stage1/dietlibc/Makefile413
-rw-r--r--mdk-stage1/dietlibc/README49
-rw-r--r--mdk-stage1/dietlibc/alpha/Makefile.add5
-rw-r--r--mdk-stage1/dietlibc/alpha/__alarm.c13
-rw-r--r--mdk-stage1/dietlibc/alpha/__longjmp.S33
-rw-r--r--mdk-stage1/dietlibc/alpha/__testandset.S11
-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/errlist.S288
-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/lseek64.S5
-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/n_sigprocmask.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.S35
-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/sigaction.c7
-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/socketpair.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/start.S33
-rw-r--r--mdk-stage1/dietlibc/alpha/strlen.c32
-rw-r--r--mdk-stage1/dietlibc/alpha/syscalls.h371
-rw-r--r--mdk-stage1/dietlibc/alpha/time.S0
-rw-r--r--mdk-stage1/dietlibc/alpha/unified.S39
-rw-r--r--mdk-stage1/dietlibc/alpha/utime.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/waitpid.S10
-rw-r--r--mdk-stage1/dietlibc/binshstr.h6
-rw-r--r--mdk-stage1/dietlibc/diet.c367
-rw-r--r--mdk-stage1/dietlibc/dietdirent.h8
-rw-r--r--mdk-stage1/dietlibc/dietdns.h4
-rw-r--r--mdk-stage1/dietlibc/dietfeatures.h108
-rw-r--r--mdk-stage1/dietlibc/dieticonv.h12
-rw-r--r--mdk-stage1/dietlibc/dietlibm.h5
-rw-r--r--mdk-stage1/dietlibc/dietstdio.h77
-rw-r--r--mdk-stage1/dietlibc/dietuglyweaks.h24
-rw-r--r--mdk-stage1/dietlibc/dietwarning.h23
-rw-r--r--mdk-stage1/dietlibc/dyn_start.c40
-rw-r--r--mdk-stage1/dietlibc/dyn_stop.c23
-rwxr-xr-xmdk-stage1/dietlibc/findcflags.sh8
-rw-r--r--mdk-stage1/dietlibc/i386/Makefile.add8
-rw-r--r--mdk-stage1/dietlibc/i386/PIC.h82
-rw-r--r--mdk-stage1/dietlibc/i386/__half.S10
-rw-r--r--mdk-stage1/dietlibc/i386/__longjmp.S19
-rw-r--r--mdk-stage1/dietlibc/i386/__ten.S9
-rw-r--r--mdk-stage1/dietlibc/i386/__testandset.S9
-rw-r--r--mdk-stage1/dietlibc/i386/accept.S4
-rw-r--r--mdk-stage1/dietlibc/i386/acos.S30
-rw-r--r--mdk-stage1/dietlibc/i386/acosh.S18
-rw-r--r--mdk-stage1/dietlibc/i386/asin.S29
-rw-r--r--mdk-stage1/dietlibc/i386/asinh.S18
-rw-r--r--mdk-stage1/dietlibc/i386/atan.S27
-rw-r--r--mdk-stage1/dietlibc/i386/atan2.S12
-rw-r--r--mdk-stage1/dietlibc/i386/atanh.S19
-rw-r--r--mdk-stage1/dietlibc/i386/atol.S55
-rw-r--r--mdk-stage1/dietlibc/i386/atoll.S64
-rw-r--r--mdk-stage1/dietlibc/i386/bind.S4
-rw-r--r--mdk-stage1/dietlibc/i386/cbrt.S46
-rw-r--r--mdk-stage1/dietlibc/i386/ceil.S44
-rw-r--r--mdk-stage1/dietlibc/i386/clone.S60
-rw-r--r--mdk-stage1/dietlibc/i386/connect.S4
-rw-r--r--mdk-stage1/dietlibc/i386/copysign.S18
-rw-r--r--mdk-stage1/dietlibc/i386/cos.S35
-rw-r--r--mdk-stage1/dietlibc/i386/cosh.S29
-rw-r--r--mdk-stage1/dietlibc/i386/dyn_syscalls.S282
-rw-r--r--mdk-stage1/dietlibc/i386/exp.S35
-rw-r--r--mdk-stage1/dietlibc/i386/exp10.S27
-rw-r--r--mdk-stage1/dietlibc/i386/exp2.S18
-rw-r--r--mdk-stage1/dietlibc/i386/expm1.S23
-rw-r--r--mdk-stage1/dietlibc/i386/fabs.S11
-rw-r--r--mdk-stage1/dietlibc/i386/floor.S26
-rw-r--r--mdk-stage1/dietlibc/i386/fmod.S37
-rw-r--r--mdk-stage1/dietlibc/i386/getenv.S48
-rw-r--r--mdk-stage1/dietlibc/i386/getpeername.S4
-rw-r--r--mdk-stage1/dietlibc/i386/getsockname.S4
-rw-r--r--mdk-stage1/dietlibc/i386/getsockopt.S4
-rw-r--r--mdk-stage1/dietlibc/i386/htonl.S13
-rw-r--r--mdk-stage1/dietlibc/i386/htons.S11
-rw-r--r--mdk-stage1/dietlibc/i386/hypot.S15
-rw-r--r--mdk-stage1/dietlibc/i386/ilogb.S23
-rw-r--r--mdk-stage1/dietlibc/i386/ipow.S27
-rw-r--r--mdk-stage1/dietlibc/i386/isleap.S28
-rw-r--r--mdk-stage1/dietlibc/i386/ldexp.S28
-rw-r--r--mdk-stage1/dietlibc/i386/libm2.S643
-rw-r--r--mdk-stage1/dietlibc/i386/listen.S4
-rw-r--r--mdk-stage1/dietlibc/i386/log.S26
-rw-r--r--mdk-stage1/dietlibc/i386/log10.S11
-rw-r--r--mdk-stage1/dietlibc/i386/log1p.S12
-rw-r--r--mdk-stage1/dietlibc/i386/log2.S11
-rw-r--r--mdk-stage1/dietlibc/i386/ltostr.S62
-rw-r--r--mdk-stage1/dietlibc/i386/mcount.S44
-rw-r--r--mdk-stage1/dietlibc/i386/md5asm.S300
-rw-r--r--mdk-stage1/dietlibc/i386/memccpy.S39
-rw-r--r--mdk-stage1/dietlibc/i386/memchr.S24
-rw-r--r--mdk-stage1/dietlibc/i386/memcmp.S26
-rw-r--r--mdk-stage1/dietlibc/i386/memcpy.S16
-rw-r--r--mdk-stage1/dietlibc/i386/memset.S15
-rw-r--r--mdk-stage1/dietlibc/i386/mmap.S14
-rw-r--r--mdk-stage1/dietlibc/i386/mmap.c16
-rw-r--r--mdk-stage1/dietlibc/i386/mmap64.S63
-rw-r--r--mdk-stage1/dietlibc/i386/poly.S24
-rw-r--r--mdk-stage1/dietlibc/i386/pow.S67
-rw-r--r--mdk-stage1/dietlibc/i386/recv.S4
-rw-r--r--mdk-stage1/dietlibc/i386/recvfrom.S4
-rw-r--r--mdk-stage1/dietlibc/i386/recvmsg.S4
-rw-r--r--mdk-stage1/dietlibc/i386/rint.S23
-rw-r--r--mdk-stage1/dietlibc/i386/select.S3
-rw-r--r--mdk-stage1/dietlibc/i386/send.S4
-rw-r--r--mdk-stage1/dietlibc/i386/sendmsg.S4
-rw-r--r--mdk-stage1/dietlibc/i386/sendto.S4
-rw-r--r--mdk-stage1/dietlibc/i386/setjmp.S41
-rw-r--r--mdk-stage1/dietlibc/i386/setsockopt.S4
-rw-r--r--mdk-stage1/dietlibc/i386/shutdown.S4
-rw-r--r--mdk-stage1/dietlibc/i386/sin.S34
-rw-r--r--mdk-stage1/dietlibc/i386/sincos.S18
-rw-r--r--mdk-stage1/dietlibc/i386/sinh.S29
-rw-r--r--mdk-stage1/dietlibc/i386/sleep.S25
-rw-r--r--mdk-stage1/dietlibc/i386/socket.S4
-rw-r--r--mdk-stage1/dietlibc/i386/socketcall.S17
-rw-r--r--mdk-stage1/dietlibc/i386/socketpair.S4
-rw-r--r--mdk-stage1/dietlibc/i386/sqrt.S23
-rw-r--r--mdk-stage1/dietlibc/i386/sqrtl.S11
-rw-r--r--mdk-stage1/dietlibc/i386/start.S51
-rw-r--r--mdk-stage1/dietlibc/i386/stpcpy.S22
-rw-r--r--mdk-stage1/dietlibc/i386/strcasecmp.S31
-rw-r--r--mdk-stage1/dietlibc/i386/strcat.S29
-rw-r--r--mdk-stage1/dietlibc/i386/strchr.S22
-rw-r--r--mdk-stage1/dietlibc/i386/strcmp.S31
-rw-r--r--mdk-stage1/dietlibc/i386/strcpy.S24
-rw-r--r--mdk-stage1/dietlibc/i386/strlen.S18
-rw-r--r--mdk-stage1/dietlibc/i386/strncmp.S28
-rw-r--r--mdk-stage1/dietlibc/i386/strncpy.S42
-rw-r--r--mdk-stage1/dietlibc/i386/strrchr.S19
-rw-r--r--mdk-stage1/dietlibc/i386/syscalls.h303
-rw-r--r--mdk-stage1/dietlibc/i386/tan.S12
-rw-r--r--mdk-stage1/dietlibc/i386/tanh.S32
-rw-r--r--mdk-stage1/dietlibc/i386/unified.S59
-rw-r--r--mdk-stage1/dietlibc/i386/usleep.S31
-rw-r--r--mdk-stage1/dietlibc/i386/vfork.S9
-rw-r--r--mdk-stage1/dietlibc/i386/write12.S37
-rw-r--r--mdk-stage1/dietlibc/ia64/Makefile.add2
-rw-r--r--mdk-stage1/dietlibc/ia64/README4
-rw-r--r--mdk-stage1/dietlibc/ia64/__alarm.c1
-rw-r--r--mdk-stage1/dietlibc/ia64/__longjmp.S1
-rw-r--r--mdk-stage1/dietlibc/ia64/__nice.c6
-rw-r--r--mdk-stage1/dietlibc/ia64/__testandset.S11
-rw-r--r--mdk-stage1/dietlibc/ia64/__time.c14
-rw-r--r--mdk-stage1/dietlibc/ia64/__waitpid.c5
-rw-r--r--mdk-stage1/dietlibc/ia64/accept.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/bind.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/clone.S41
-rw-r--r--mdk-stage1/dietlibc/ia64/connect.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/fork.S8
-rw-r--r--mdk-stage1/dietlibc/ia64/getpeername.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/getsockname.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/getsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/listen.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/mmap.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/msgctl.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/msgget.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/msgrcv.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/msgsnd.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/pipe.S20
-rw-r--r--mdk-stage1/dietlibc/ia64/recv.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/recvfrom.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/recvmsg.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/semctl.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/semget.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/semop.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/send.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/sendmsg.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/sendto.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/setjmp.S1
-rw-r--r--mdk-stage1/dietlibc/ia64/setsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shmat.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shmctl.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shmdt.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shmget.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shutdown.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/socket.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/socketpair.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/start.S45
-rw-r--r--mdk-stage1/dietlibc/ia64/syscalls.h242
-rw-r--r--mdk-stage1/dietlibc/ia64/unified.S46
-rw-r--r--mdk-stage1/dietlibc/ia64/utime.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/vfork.S8
-rw-r--r--mdk-stage1/dietlibc/include/alloca.h13
-rw-r--r--mdk-stage1/dietlibc/include/arpa/inet.h20
-rw-r--r--mdk-stage1/dietlibc/include/arpa/nameser.h253
-rw-r--r--mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h29
-rw-r--r--mdk-stage1/dietlibc/include/asm/arm-sigcontext.h32
-rw-r--r--mdk-stage1/dietlibc/include/asm/i386-sigcontext.h66
-rw-r--r--mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h25
-rw-r--r--mdk-stage1/dietlibc/include/asm/mips-sigcontext.h23
-rw-r--r--mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h16
-rw-r--r--mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h76
-rw-r--r--mdk-stage1/dietlibc/include/asm/sigcontext.h36
-rw-r--r--mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h50
-rw-r--r--mdk-stage1/dietlibc/include/asm/statfs.h1
-rw-r--r--mdk-stage1/dietlibc/include/asm/types.h32
-rw-r--r--mdk-stage1/dietlibc/include/assert.h38
-rw-r--r--mdk-stage1/dietlibc/include/cpio.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/dietref.h22
-rw-r--r--mdk-stage1/dietlibc/include/dirent.h64
-rw-r--r--mdk-stage1/dietlibc/include/dlfcn.h18
-rw-r--r--mdk-stage1/dietlibc/include/elf.h780
-rw-r--r--mdk-stage1/dietlibc/include/endian.h62
-rw-r--r--mdk-stage1/dietlibc/include/errno.h546
-rw-r--r--mdk-stage1/dietlibc/include/fcntl.h564
-rw-r--r--mdk-stage1/dietlibc/include/features.h8
-rw-r--r--mdk-stage1/dietlibc/include/float.h96
-rw-r--r--mdk-stage1/dietlibc/include/fnmatch.h17
-rw-r--r--mdk-stage1/dietlibc/include/ftw.h51
-rw-r--r--mdk-stage1/dietlibc/include/getopt.h28
-rw-r--r--mdk-stage1/dietlibc/include/glob.h57
-rw-r--r--mdk-stage1/dietlibc/include/grp.h35
-rw-r--r--mdk-stage1/dietlibc/include/iconv.h25
-rw-r--r--mdk-stage1/dietlibc/include/inttypes.h247
-rw-r--r--mdk-stage1/dietlibc/include/libgen.h9
-rw-r--r--mdk-stage1/dietlibc/include/libintl.h23
-rw-r--r--mdk-stage1/dietlibc/include/limits.h73
-rw-r--r--mdk-stage1/dietlibc/include/linux/eventpoll.h17
-rw-r--r--mdk-stage1/dietlibc/include/linux/if_ether.h101
-rw-r--r--mdk-stage1/dietlibc/include/linux/loop.h47
-rw-r--r--mdk-stage1/dietlibc/include/linux/nfs.h88
-rw-r--r--mdk-stage1/dietlibc/include/linux/posix_types.h115
-rw-r--r--mdk-stage1/dietlibc/include/linux/types.h6
-rw-r--r--mdk-stage1/dietlibc/include/locale.h84
-rw-r--r--mdk-stage1/dietlibc/include/malloc.h1
-rw-r--r--mdk-stage1/dietlibc/include/math.h96
-rw-r--r--mdk-stage1/dietlibc/include/md5.h48
-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/ethernet.h76
-rw-r--r--mdk-stage1/dietlibc/include/net/if.h102
-rw-r--r--mdk-stage1/dietlibc/include/net/if_arp.h113
-rw-r--r--mdk-stage1/dietlibc/include/net/if_ether.h74
-rw-r--r--mdk-stage1/dietlibc/include/net/route.h52
-rw-r--r--mdk-stage1/dietlibc/include/netdb.h124
-rw-r--r--mdk-stage1/dietlibc/include/netinet/in.h404
-rw-r--r--mdk-stage1/dietlibc/include/netinet/in_systm.h0
-rw-r--r--mdk-stage1/dietlibc/include/netinet/ip.h121
-rw-r--r--mdk-stage1/dietlibc/include/netinet/ip_icmp.h145
-rw-r--r--mdk-stage1/dietlibc/include/netinet/tcp.h164
-rw-r--r--mdk-stage1/dietlibc/include/netinet/udp.h16
-rw-r--r--mdk-stage1/dietlibc/include/netpacket/packet.h41
-rw-r--r--mdk-stage1/dietlibc/include/paths.h23
-rw-r--r--mdk-stage1/dietlibc/include/pthread.h244
-rw-r--r--mdk-stage1/dietlibc/include/pty.h13
-rw-r--r--mdk-stage1/dietlibc/include/pwd.h35
-rw-r--r--mdk-stage1/dietlibc/include/regex.h71
-rw-r--r--mdk-stage1/dietlibc/include/resolv.h124
-rw-r--r--mdk-stage1/dietlibc/include/rpc/auth.h214
-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.h70
-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.h84
-rw-r--r--mdk-stage1/dietlibc/include/rpc/xdr.h379
-rw-r--r--mdk-stage1/dietlibc/include/sched.h69
-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.h231
-rw-r--r--mdk-stage1/dietlibc/include/shadow.h30
-rw-r--r--mdk-stage1/dietlibc/include/signal.h500
-rw-r--r--mdk-stage1/dietlibc/include/stdarg-cruft.h299
-rw-r--r--mdk-stage1/dietlibc/include/stdarg.h24
-rw-r--r--mdk-stage1/dietlibc/include/stddef.h23
-rw-r--r--mdk-stage1/dietlibc/include/stdint.h30
-rw-r--r--mdk-stage1/dietlibc/include/stdio.h147
-rw-r--r--mdk-stage1/dietlibc/include/stdlib.h100
-rw-r--r--mdk-stage1/dietlibc/include/string.h74
-rw-r--r--mdk-stage1/dietlibc/include/strings.h23
-rw-r--r--mdk-stage1/dietlibc/include/sys/alpha-ioctl.h168
-rw-r--r--mdk-stage1/dietlibc/include/sys/arm-ioctl.h149
-rw-r--r--mdk-stage1/dietlibc/include/sys/cdefs.h61
-rw-r--r--mdk-stage1/dietlibc/include/sys/epoll.h60
-rw-r--r--mdk-stage1/dietlibc/include/sys/file.h10
-rw-r--r--mdk-stage1/dietlibc/include/sys/fsuid.h12
-rw-r--r--mdk-stage1/dietlibc/include/sys/gmon.h99
-rw-r--r--mdk-stage1/dietlibc/include/sys/gmon_out.h1
-rw-r--r--mdk-stage1/dietlibc/include/sys/hppa-ioctl.h133
-rw-r--r--mdk-stage1/dietlibc/include/sys/i386-ioctl.h141
-rw-r--r--mdk-stage1/dietlibc/include/sys/io.h44
-rw-r--r--mdk-stage1/dietlibc/include/sys/ioctl.h32
-rw-r--r--mdk-stage1/dietlibc/include/sys/ipc.h49
-rw-r--r--mdk-stage1/dietlibc/include/sys/kd.h183
-rw-r--r--mdk-stage1/dietlibc/include/sys/klog.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/mips-ioctl.h177
-rw-r--r--mdk-stage1/dietlibc/include/sys/mman.h184
-rw-r--r--mdk-stage1/dietlibc/include/sys/mount.h80
-rw-r--r--mdk-stage1/dietlibc/include/sys/msg.h57
-rw-r--r--mdk-stage1/dietlibc/include/sys/mtio.h340
-rw-r--r--mdk-stage1/dietlibc/include/sys/param.h28
-rw-r--r--mdk-stage1/dietlibc/include/sys/poll.h47
-rw-r--r--mdk-stage1/dietlibc/include/sys/ppc-ioctl.h164
-rw-r--r--mdk-stage1/dietlibc/include/sys/prctl.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/ptrace.h846
-rw-r--r--mdk-stage1/dietlibc/include/sys/reboot.h26
-rw-r--r--mdk-stage1/dietlibc/include/sys/resource.h67
-rw-r--r--mdk-stage1/dietlibc/include/sys/s390-ioctl.h141
-rw-r--r--mdk-stage1/dietlibc/include/sys/select.h22
-rw-r--r--mdk-stage1/dietlibc/include/sys/sem.h81
-rw-r--r--mdk-stage1/dietlibc/include/sys/sendfile.h13
-rw-r--r--mdk-stage1/dietlibc/include/sys/shm.h75
-rw-r--r--mdk-stage1/dietlibc/include/sys/signal.h1
-rw-r--r--mdk-stage1/dietlibc/include/sys/socket.h526
-rw-r--r--mdk-stage1/dietlibc/include/sys/soundcard.h1300
-rw-r--r--mdk-stage1/dietlibc/include/sys/sparc-ioctl.h172
-rw-r--r--mdk-stage1/dietlibc/include/sys/stat.h516
-rw-r--r--mdk-stage1/dietlibc/include/sys/syscall.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/sysinfo.h27
-rw-r--r--mdk-stage1/dietlibc/include/sys/syslog.h102
-rw-r--r--mdk-stage1/dietlibc/include/sys/sysmacros.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/time.h68
-rw-r--r--mdk-stage1/dietlibc/include/sys/timeb.h13
-rw-r--r--mdk-stage1/dietlibc/include/sys/times.h16
-rw-r--r--mdk-stage1/dietlibc/include/sys/timex.h50
-rw-r--r--mdk-stage1/dietlibc/include/sys/types.h133
-rw-r--r--mdk-stage1/dietlibc/include/sys/ucontext.h110
-rw-r--r--mdk-stage1/dietlibc/include/sys/uio.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/un.h13
-rw-r--r--mdk-stage1/dietlibc/include/sys/utsname.h35
-rw-r--r--mdk-stage1/dietlibc/include/sys/vfs.h35
-rw-r--r--mdk-stage1/dietlibc/include/sys/wait.h45
-rw-r--r--mdk-stage1/dietlibc/include/sysexits.h26
-rw-r--r--mdk-stage1/dietlibc/include/syslog.h1
-rw-r--r--mdk-stage1/dietlibc/include/tar.h36
-rw-r--r--mdk-stage1/dietlibc/include/termio.h4
-rw-r--r--mdk-stage1/dietlibc/include/termios.h383
-rw-r--r--mdk-stage1/dietlibc/include/time.h40
-rw-r--r--mdk-stage1/dietlibc/include/unistd.h233
-rw-r--r--mdk-stage1/dietlibc/include/utime.h16
-rw-r--r--mdk-stage1/dietlibc/include/utmp.h94
-rw-r--r--mdk-stage1/dietlibc/include/write12.h4
-rw-r--r--mdk-stage1/dietlibc/lib/__dtostr.c140
-rw-r--r--mdk-stage1/dietlibc/lib/__fstat64.c20
-rw-r--r--mdk-stage1/dietlibc/lib/__ftruncate64.c23
-rw-r--r--mdk-stage1/dietlibc/lib/__getcwd.c11
-rw-r--r--mdk-stage1/dietlibc/lib/__isinf.c15
-rw-r--r--mdk-stage1/dietlibc/lib/__isnan.c15
-rw-r--r--mdk-stage1/dietlibc/lib/__lltostr.c33
-rw-r--r--mdk-stage1/dietlibc/lib/__lstat64.c20
-rw-r--r--mdk-stage1/dietlibc/lib/__ltostr.c32
-rw-r--r--mdk-stage1/dietlibc/lib/__ptrace.c27
-rw-r--r--mdk-stage1/dietlibc/lib/__stat64.c20
-rw-r--r--mdk-stage1/dietlibc/lib/__stat64_cvt.c20
-rw-r--r--mdk-stage1/dietlibc/lib/__stime.c14
-rw-r--r--mdk-stage1/dietlibc/lib/__truncate64.c23
-rw-r--r--mdk-stage1/dietlibc/lib/__v_printf.c301
-rw-r--r--mdk-stage1/dietlibc/lib/__v_scanf.c391
-rw-r--r--mdk-stage1/dietlibc/lib/_brk.c13
-rw-r--r--mdk-stage1/dietlibc/lib/abort.c19
-rw-r--r--mdk-stage1/dietlibc/lib/abs.c6
-rw-r--r--mdk-stage1/dietlibc/lib/accept.c12
-rw-r--r--mdk-stage1/dietlibc/lib/adjtime.c18
-rw-r--r--mdk-stage1/dietlibc/lib/alloc.c237
-rw-r--r--mdk-stage1/dietlibc/lib/assert_fail.c31
-rw-r--r--mdk-stage1/dietlibc/lib/atexit.c31
-rw-r--r--mdk-stage1/dietlibc/lib/atof.c10
-rw-r--r--mdk-stage1/dietlibc/lib/atoi.c19
-rw-r--r--mdk-stage1/dietlibc/lib/atol.c23
-rw-r--r--mdk-stage1/dietlibc/lib/atoll.c19
-rw-r--r--mdk-stage1/dietlibc/lib/bcd.c185
-rw-r--r--mdk-stage1/dietlibc/lib/bind.c11
-rw-r--r--mdk-stage1/dietlibc/lib/binshstr.c5
-rw-r--r--mdk-stage1/dietlibc/lib/bsearch.c20
-rw-r--r--mdk-stage1/dietlibc/lib/cfgetospeed.c8
-rw-r--r--mdk-stage1/dietlibc/lib/cfmakeraw.c13
-rw-r--r--mdk-stage1/dietlibc/lib/cfsetispeed.c22
-rw-r--r--mdk-stage1/dietlibc/lib/cfsetospeed.c14
-rw-r--r--mdk-stage1/dietlibc/lib/closedir.c11
-rw-r--r--mdk-stage1/dietlibc/lib/connect.c11
-rw-r--r--mdk-stage1/dietlibc/lib/creat.c7
-rw-r--r--mdk-stage1/dietlibc/lib/creat64.c9
-rw-r--r--mdk-stage1/dietlibc/lib/errlistu.c6
-rw-r--r--mdk-stage1/dietlibc/lib/errno_location.c5
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.c21
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.h9
-rw-r--r--mdk-stage1/dietlibc/lib/execl.c25
-rw-r--r--mdk-stage1/dietlibc/lib/execle.c26
-rw-r--r--mdk-stage1/dietlibc/lib/execlp.c26
-rw-r--r--mdk-stage1/dietlibc/lib/execv.c15
-rw-r--r--mdk-stage1/dietlibc/lib/execvp.c47
-rw-r--r--mdk-stage1/dietlibc/lib/ftw.c47
-rw-r--r--mdk-stage1/dietlibc/lib/getdomainname.c18
-rw-r--r--mdk-stage1/dietlibc/lib/getenv.c16
-rw-r--r--mdk-stage1/dietlibc/lib/gethostname.c19
-rw-r--r--mdk-stage1/dietlibc/lib/getopt.c63
-rw-r--r--mdk-stage1/dietlibc/lib/getpeername.c12
-rw-r--r--mdk-stage1/dietlibc/lib/getpgrp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/getsockname.c12
-rw-r--r--mdk-stage1/dietlibc/lib/getsockopt.c12
-rw-r--r--mdk-stage1/dietlibc/lib/htonl.c13
-rw-r--r--mdk-stage1/dietlibc/lib/htons.c12
-rw-r--r--mdk-stage1/dietlibc/lib/if_indextoname.c28
-rw-r--r--mdk-stage1/dietlibc/lib/if_nameindex.c40
-rw-r--r--mdk-stage1/dietlibc/lib/if_nametoindex.c26
-rw-r--r--mdk-stage1/dietlibc/lib/ipv6constants.c4
-rw-r--r--mdk-stage1/dietlibc/lib/isalnum.c9
-rw-r--r--mdk-stage1/dietlibc/lib/isalpha.c8
-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.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isdigit.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isgraph.c6
-rw-r--r--mdk-stage1/dietlibc/lib/islower.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isprint.c7
-rw-r--r--mdk-stage1/dietlibc/lib/ispunct.c9
-rw-r--r--mdk-stage1/dietlibc/lib/isspace.c9
-rw-r--r--mdk-stage1/dietlibc/lib/isupper.c9
-rw-r--r--mdk-stage1/dietlibc/lib/isxdigit.c8
-rw-r--r--mdk-stage1/dietlibc/lib/labs.c6
-rw-r--r--mdk-stage1/dietlibc/lib/listen.c12
-rw-r--r--mdk-stage1/dietlibc/lib/llabs.c6
-rw-r--r--mdk-stage1/dietlibc/lib/lockf.c38
-rw-r--r--mdk-stage1/dietlibc/lib/longjmp.c16
-rw-r--r--mdk-stage1/dietlibc/lib/lseek64.c16
-rw-r--r--mdk-stage1/dietlibc/lib/memccpy.c20
-rw-r--r--mdk-stage1/dietlibc/lib/memchr.c13
-rw-r--r--mdk-stage1/dietlibc/lib/memcmp.c18
-rw-r--r--mdk-stage1/dietlibc/lib/memcpy.c14
-rw-r--r--mdk-stage1/dietlibc/lib/memmem.c14
-rw-r--r--mdk-stage1/dietlibc/lib/memmove.c24
-rw-r--r--mdk-stage1/dietlibc/lib/memrchr.c15
-rw-r--r--mdk-stage1/dietlibc/lib/memset.c11
-rw-r--r--mdk-stage1/dietlibc/lib/mkfifo.c6
-rw-r--r--mdk-stage1/dietlibc/lib/msgctl.c9
-rw-r--r--mdk-stage1/dietlibc/lib/msgget.c9
-rw-r--r--mdk-stage1/dietlibc/lib/msgrcv.c17
-rw-r--r--mdk-stage1/dietlibc/lib/msgsnd.c9
-rw-r--r--mdk-stage1/dietlibc/lib/open64.c13
-rw-r--r--mdk-stage1/dietlibc/lib/opendir.c26
-rw-r--r--mdk-stage1/dietlibc/lib/perror.c24
-rw-r--r--mdk-stage1/dietlibc/lib/pread.c11
-rw-r--r--mdk-stage1/dietlibc/lib/pread64.c14
-rw-r--r--mdk-stage1/dietlibc/lib/putenv.c40
-rw-r--r--mdk-stage1/dietlibc/lib/pwrite.c11
-rw-r--r--mdk-stage1/dietlibc/lib/pwrite64.c14
-rw-r--r--mdk-stage1/dietlibc/lib/qsort.c127
-rw-r--r--mdk-stage1/dietlibc/lib/raise.c7
-rw-r--r--mdk-stage1/dietlibc/lib/rand.c12
-rw-r--r--mdk-stage1/dietlibc/lib/rand48.c89
-rw-r--r--mdk-stage1/dietlibc/lib/rand_r.c30
-rw-r--r--mdk-stage1/dietlibc/lib/readdir.c13
-rw-r--r--mdk-stage1/dietlibc/lib/readdir64.c62
-rw-r--r--mdk-stage1/dietlibc/lib/reboot.c8
-rw-r--r--mdk-stage1/dietlibc/lib/recv.c13
-rw-r--r--mdk-stage1/dietlibc/lib/recvfrom.c13
-rw-r--r--mdk-stage1/dietlibc/lib/recvmsg.c13
-rw-r--r--mdk-stage1/dietlibc/lib/remove.c13
-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.c21
-rw-r--r--mdk-stage1/dietlibc/lib/seekdir.c8
-rw-r--r--mdk-stage1/dietlibc/lib/semctl.c17
-rw-r--r--mdk-stage1/dietlibc/lib/semget.c9
-rw-r--r--mdk-stage1/dietlibc/lib/semop.c9
-rw-r--r--mdk-stage1/dietlibc/lib/send.c13
-rw-r--r--mdk-stage1/dietlibc/lib/sendmsg.c13
-rw-r--r--mdk-stage1/dietlibc/lib/sendto.c13
-rw-r--r--mdk-stage1/dietlibc/lib/setlinebuf.c12
-rw-r--r--mdk-stage1/dietlibc/lib/setpgrp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/setsockopt.c12
-rw-r--r--mdk-stage1/dietlibc/lib/shmat.c14
-rw-r--r--mdk-stage1/dietlibc/lib/shmctl.c9
-rw-r--r--mdk-stage1/dietlibc/lib/shmdt.c9
-rw-r--r--mdk-stage1/dietlibc/lib/shmget.c9
-rw-r--r--mdk-stage1/dietlibc/lib/shutdown.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sigaction.c11
-rw-r--r--mdk-stage1/dietlibc/lib/sigaddset.c17
-rw-r--r--mdk-stage1/dietlibc/lib/sigdelset.c17
-rw-r--r--mdk-stage1/dietlibc/lib/sigemptyset.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sigfillset.c11
-rw-r--r--mdk-stage1/dietlibc/lib/siginterrupt.c17
-rw-r--r--mdk-stage1/dietlibc/lib/sigismember.c16
-rw-r--r--mdk-stage1/dietlibc/lib/sigjmp.c10
-rw-r--r--mdk-stage1/dietlibc/lib/signal.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sigpending.c7
-rw-r--r--mdk-stage1/dietlibc/lib/sigprocmask.c7
-rw-r--r--mdk-stage1/dietlibc/lib/sigqueueinfo.c7
-rw-r--r--mdk-stage1/dietlibc/lib/sigsuspend.c10
-rw-r--r--mdk-stage1/dietlibc/lib/sigtimedwait.c7
-rw-r--r--mdk-stage1/dietlibc/lib/sleep.c11
-rw-r--r--mdk-stage1/dietlibc/lib/snprintf.c13
-rw-r--r--mdk-stage1/dietlibc/lib/socket.c11
-rw-r--r--mdk-stage1/dietlibc/lib/socketpair.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sprintf.c14
-rw-r--r--mdk-stage1/dietlibc/lib/sscanf.c12
-rw-r--r--mdk-stage1/dietlibc/lib/strcasecmp.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strcat.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strchr.c19
-rw-r--r--mdk-stage1/dietlibc/lib/strcmp.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strcpy.c18
-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.c20
-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.c22
-rw-r--r--mdk-stage1/dietlibc/lib/strncat.c34
-rw-r--r--mdk-stage1/dietlibc/lib/strncmp.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strncpy.c15
-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.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strspn.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strstr.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strtod.c66
-rw-r--r--mdk-stage1/dietlibc/lib/strtof.c66
-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.c26
-rw-r--r--mdk-stage1/dietlibc/lib/strtold.c66
-rw-r--r--mdk-stage1/dietlibc/lib/strtoll.c14
-rw-r--r--mdk-stage1/dietlibc/lib/strtoul.c44
-rw-r--r--mdk-stage1/dietlibc/lib/strtoull.c31
-rw-r--r--mdk-stage1/dietlibc/lib/strxfrm.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sys_siglist.c174
-rw-r--r--mdk-stage1/dietlibc/lib/tcdrain.c9
-rw-r--r--mdk-stage1/dietlibc/lib/tcflow.c35
-rw-r--r--mdk-stage1/dietlibc/lib/tcflush.c9
-rw-r--r--mdk-stage1/dietlibc/lib/tcgetattr.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tcgetpgrp.c12
-rw-r--r--mdk-stage1/dietlibc/lib/tcsendbreak.c11
-rw-r--r--mdk-stage1/dietlibc/lib/tcsetattr.c37
-rw-r--r--mdk-stage1/dietlibc/lib/tcsetpgrp.c8
-rw-r--r--mdk-stage1/dietlibc/lib/telldir.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tolower.c8
-rw-r--r--mdk-stage1/dietlibc/lib/toupper.c8
-rw-r--r--mdk-stage1/dietlibc/lib/ttyname.c66
-rw-r--r--mdk-stage1/dietlibc/lib/usleep.c12
-rw-r--r--mdk-stage1/dietlibc/lib/vfork.c4
-rw-r--r--mdk-stage1/dietlibc/lib/vsnprintf.c33
-rw-r--r--mdk-stage1/dietlibc/lib/vsprintf.c12
-rw-r--r--mdk-stage1/dietlibc/lib/vsscanf.c25
-rw-r--r--mdk-stage1/dietlibc/lib/wait.c6
-rw-r--r--mdk-stage1/dietlibc/lib/wait3.c5
-rw-r--r--mdk-stage1/dietlibc/lib/write12.c11
-rw-r--r--mdk-stage1/dietlibc/libcompat/daemon.c29
-rw-r--r--mdk-stage1/dietlibc/libcompat/getdelim.c32
-rw-r--r--mdk-stage1/dietlibc/libcompat/getline.c9
-rw-r--r--mdk-stage1/dietlibc/libcompat/re_bsd.c34
-rw-r--r--mdk-stage1/dietlibc/libcompat/stpcpy.c6
-rw-r--r--mdk-stage1/dietlibc/libcompat/syscall.S70
-rw-r--r--mdk-stage1/dietlibc/libcruft/___div.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/__end_parse.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/__parse.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/__parse_1.c9
-rw-r--r--mdk-stage1/dietlibc/libcruft/__parse_nws.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/__parse_ws.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/__prepare_parse.c19
-rw-r--r--mdk-stage1/dietlibc/libcruft/alphasort.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/alphasort64.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/bcopy.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/bzero.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/clock.c21
-rw-r--r--mdk-stage1/dietlibc/libcruft/dn_expand.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft.c181
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft2.c173
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft3.c3
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft4.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getdtablesize.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrent.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrent_r.c78
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrgid.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrgid_r.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrnam.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrnam_r.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr.c35
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c2
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c84
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname.c34
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname2.c36
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c55
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname_r.c68
-rw-r--r--mdk-stage1/dietlibc/libcruft/getlogin.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/getopt_data.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/getopt_long.c103
-rw-r--r--mdk-stage1/dietlibc/libcruft/getopt_long_only.c108
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpagesize.c15
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpass.c52
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwent.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwent_r.c65
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwnam.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwnam_r.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwuid.c12
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwuid_r.c13
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspent.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspent_r.c68
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspnam.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspnam_r.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getusershell.c33
-rw-r--r--mdk-stage1/dietlibc/libcruft/grbuf.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/h_errno.c1
-rw-r--r--mdk-stage1/dietlibc/libcruft/herrno_location.c8
-rw-r--r--mdk-stage1/dietlibc/libcruft/herror.c8
-rw-r--r--mdk-stage1/dietlibc/libcruft/hstrerror.c11
-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.c8
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c22
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntop.c77
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_pton.c102
-rw-r--r--mdk-stage1/dietlibc/libcruft/initgroups.c24
-rw-r--r--mdk-stage1/dietlibc/libcruft/killpg.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/localeconv.c15
-rw-r--r--mdk-stage1/dietlibc/libcruft/mkdtemp.c28
-rw-r--r--mdk-stage1/dietlibc/libcruft/mkstemp.c31
-rw-r--r--mdk-stage1/dietlibc/libcruft/mktemp.c17
-rw-r--r--mdk-stage1/dietlibc/libcruft/pwbuf.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_init.c9
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_mkquery.c75
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_query.c95
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_search.c35
-rw-r--r--mdk-stage1/dietlibc/libcruft/scan_ulong.c13
-rw-r--r--mdk-stage1/dietlibc/libcruft/scandir.c47
-rw-r--r--mdk-stage1/dietlibc/libcruft/scandir64.c47
-rw-r--r--mdk-stage1/dietlibc/libcruft/setegid.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/seteuid.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/setlocale.c7
-rw-r--r--mdk-stage1/dietlibc/libcruft/spbuf.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/sysconf.c43
-rw-r--r--mdk-stage1/dietlibc/libcruft/sysconf_cpus.c64
-rw-r--r--mdk-stage1/dietlibc/libcruft/tempnam.c32
-rw-r--r--mdk-stage1/dietlibc/libcruft/tmpnam.c31
-rw-r--r--mdk-stage1/dietlibc/libcrypt/crypt.c314
-rw-r--r--mdk-stage1/dietlibc/libcrypt/md5.c243
-rw-r--r--mdk-stage1/dietlibc/libcrypt/md5crypt.c157
-rw-r--r--mdk-stage1/dietlibc/libdl/Makefile38
-rw-r--r--mdk-stage1/dietlibc/libdl/README82
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_alloc.c81
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_int.h151
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_jump.S55
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_load.c401
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_main.c1059
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_open.c35
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_queue.c39
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_rel.c42
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_rel.h25
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_relocate.c96
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_search.c111
-rw-r--r--mdk-stage1/dietlibc/libdl/dlclose.c38
-rw-r--r--mdk-stage1/dietlibc/libdl/dlerror.c55
-rw-r--r--mdk-stage1/dietlibc/libdl/dlopen.c26
-rw-r--r--mdk-stage1/dietlibc/libdl/dlsym.c92
-rw-r--r--mdk-stage1/dietlibc/libdl/elf_hash.h10
-rw-r--r--mdk-stage1/dietlibc/libdl/test/test.c20
-rw-r--r--mdk-stage1/dietlibc/libdl/test/test_so.c11
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c6
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c7
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-islower.c6
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isprint.c6
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isupper.c6
-rw-r--r--mdk-stage1/dietlibc/libm/acosh.c6
-rw-r--r--mdk-stage1/dietlibc/libm/asinh.c6
-rw-r--r--mdk-stage1/dietlibc/libm/atanh.c8
-rw-r--r--mdk-stage1/dietlibc/libm/bessel.c171
-rw-r--r--mdk-stage1/dietlibc/libm/cosh.c9
-rw-r--r--mdk-stage1/dietlibc/libm/erf.c95
-rw-r--r--mdk-stage1/dietlibc/libm/gamma.c98
-rw-r--r--mdk-stage1/dietlibc/libm/ipow.c29
-rw-r--r--mdk-stage1/dietlibc/libm/poly.c41
-rw-r--r--mdk-stage1/dietlibc/libm/pow.c42
-rw-r--r--mdk-stage1/dietlibc/libm/rint.c5
-rw-r--r--mdk-stage1/dietlibc/libm/sinh.c9
-rw-r--r--mdk-stage1/dietlibc/libm/tanh.c7
-rw-r--r--mdk-stage1/dietlibc/libpthread/CHANGES51
-rw-r--r--mdk-stage1/dietlibc/libpthread/Makefile140
-rw-r--r--mdk-stage1/dietlibc/libpthread/README36
-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.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c22
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c24
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c16
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cancel.c33
-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.c26
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c19
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_init.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c26
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c74
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c59
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_condattr.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_create.c81
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_detach.c29
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_equal.c3
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_errno.c5
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_exit.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c16
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_fgetc.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_flockfile.c5
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_fputc.c9
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c5
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c22
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_getspecific.c20
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_internal.c359
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_join.c39
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key.c48
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_create.c36
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_delete.c20
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c32
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c33
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c31
-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.c17
-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.c24
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c24
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c21
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setspecific.c20
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sigmask.c8
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_spinlock.c34
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c36
-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.c11
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c33
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c11
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_open.c13
-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.c12
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c12
-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.h134
-rw-r--r--mdk-stage1/dietlibc/libregex/rx.c494
-rw-r--r--mdk-stage1/dietlibc/librpc/auth_none.c126
-rw-r--r--mdk-stage1/dietlibc/librpc/auth_unix.c314
-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.c229
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_simple.c116
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_tcp.c464
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_udp.c438
-rw-r--r--mdk-stage1/dietlibc/librpc/get_myaddress.c69
-rw-r--r--mdk-stage1/dietlibc/librpc/getrpcent.c273
-rw-r--r--mdk-stage1/dietlibc/librpc/getrpcport.c57
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_clnt.c115
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_getmaps.c84
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_getport.c94
-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.c402
-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.c478
-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.c161
-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.c410
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_udp.c467
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr.c576
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_array.c162
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_float.c284
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_mem.c166
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_rec.c572
-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/basename.c27
-rw-r--r--mdk-stage1/dietlibc/libshell/dirname.c25
-rw-r--r--mdk-stage1/dietlibc/libshell/fnmatch.c78
-rw-r--r--mdk-stage1/dietlibc/libshell/glob.c356
-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.c22
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdglue.c22
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdglue2.c43
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdopen.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdprintf.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/feof.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/ferror.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fflush.c64
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c30
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgetpos.c8
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgets.c18
-rw-r--r--mdk-stage1/dietlibc/libstdio/fileno.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fopen.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/fprintf.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/fputc_unlocked.c20
-rw-r--r--mdk-stage1/dietlibc/libstdio/fputs.c6
-rw-r--r--mdk-stage1/dietlibc/libstdio/fread.c46
-rw-r--r--mdk-stage1/dietlibc/libstdio/freopen.c9
-rw-r--r--mdk-stage1/dietlibc/libstdio/fscanf.c14
-rw-r--r--mdk-stage1/dietlibc/libstdio/fseek.c10
-rw-r--r--mdk-stage1/dietlibc/libstdio/fseeko.c10
-rw-r--r--mdk-stage1/dietlibc/libstdio/fseeko64.c12
-rw-r--r--mdk-stage1/dietlibc/libstdio/fsetpos.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/ftell.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/ftello.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/ftello64.c9
-rw-r--r--mdk-stage1/dietlibc/libstdio/fwrite.c28
-rw-r--r--mdk-stage1/dietlibc/libstdio/printf.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/putchar.c6
-rw-r--r--mdk-stage1/dietlibc/libstdio/puts.c16
-rw-r--r--mdk-stage1/dietlibc/libstdio/scanf.c14
-rw-r--r--mdk-stage1/dietlibc/libstdio/setvbuf.c34
-rw-r--r--mdk-stage1/dietlibc/libstdio/stderr.c22
-rw-r--r--mdk-stage1/dietlibc/libstdio/stdin.c23
-rw-r--r--mdk-stage1/dietlibc/libstdio/stdout.c23
-rw-r--r--mdk-stage1/dietlibc/libstdio/tmpfile.c12
-rw-r--r--mdk-stage1/dietlibc/libstdio/ungetc.c10
-rw-r--r--mdk-stage1/dietlibc/libstdio/vfdprintf.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/vfprintf.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/vfscanf.c11
-rw-r--r--mdk-stage1/dietlibc/libstdio/vprintf.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/vscanf.c10
-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.c19
-rw-r--r--mdk-stage1/dietlibc/libugly/ctime.c5
-rw-r--r--mdk-stage1/dietlibc/libugly/difftime.c8
-rw-r--r--mdk-stage1/dietlibc/libugly/dirfd.c8
-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/freeaddrinfo.c11
-rw-r--r--mdk-stage1/dietlibc/libugly/ftime.c15
-rw-r--r--mdk-stage1/dietlibc/libugly/gai_strerror.c13
-rw-r--r--mdk-stage1/dietlibc/libugly/getaddrinfo.c140
-rw-r--r--mdk-stage1/dietlibc/libugly/gethostent.c116
-rw-r--r--mdk-stage1/dietlibc/libugly/getmntent.c31
-rw-r--r--mdk-stage1/dietlibc/libugly/getnameinfo.c46
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotobyname.c12
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotobyname_r.c17
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotobynumber.c12
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotobynumber_r.c13
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotoent.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotoent_r.c78
-rw-r--r--mdk-stage1/dietlibc/libugly/getservbyname.c12
-rw-r--r--mdk-stage1/dietlibc/libugly/getservbyname_r.c18
-rw-r--r--mdk-stage1/dietlibc/libugly/getservbyport.c12
-rw-r--r--mdk-stage1/dietlibc/libugly/getservbyport_r.c13
-rw-r--r--mdk-stage1/dietlibc/libugly/getservent.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/getservent_r.c91
-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/grantpt.c13
-rw-r--r--mdk-stage1/dietlibc/libugly/hasmntopt.c18
-rw-r--r--mdk-stage1/dietlibc/libugly/iconv.c71
-rw-r--r--mdk-stage1/dietlibc/libugly/iconv_close.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/iconv_open.c28
-rw-r--r--mdk-stage1/dietlibc/libugly/isleap.c8
-rw-r--r--mdk-stage1/dietlibc/libugly/localtime.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/localtime_r.c25
-rw-r--r--mdk-stage1/dietlibc/libugly/logging.c197
-rw-r--r--mdk-stage1/dietlibc/libugly/mktime.c53
-rw-r--r--mdk-stage1/dietlibc/libugly/netent.c130
-rw-r--r--mdk-stage1/dietlibc/libugly/openpty.c54
-rw-r--r--mdk-stage1/dietlibc/libugly/pclose.c11
-rw-r--r--mdk-stage1/dietlibc/libugly/popen.c38
-rw-r--r--mdk-stage1/dietlibc/libugly/prioritynames.c22
-rw-r--r--mdk-stage1/dietlibc/libugly/protoent_buf.c5
-rw-r--r--mdk-stage1/dietlibc/libugly/ptsname.c17
-rw-r--r--mdk-stage1/dietlibc/libugly/putpwent.c19
-rw-r--r--mdk-stage1/dietlibc/libugly/servent_buf.c5
-rw-r--r--mdk-stage1/dietlibc/libugly/setenv.c19
-rw-r--r--mdk-stage1/dietlibc/libugly/setmntent.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/strftime.c118
-rw-r--r--mdk-stage1/dietlibc/libugly/strndup.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/strsignal.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/system.c75
-rw-r--r--mdk-stage1/dietlibc/libugly/time_table_spd.c18
-rw-r--r--mdk-stage1/dietlibc/libugly/timezone.c3
-rw-r--r--mdk-stage1/dietlibc/libugly/tzfile.c107
-rw-r--r--mdk-stage1/dietlibc/libugly/unlockpt.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/unsetenv.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/utent.c103
-rw-r--r--mdk-stage1/dietlibc/libugly/wtent.c30
-rw-r--r--mdk-stage1/dietlibc/linuxnet.h19
-rw-r--r--mdk-stage1/dietlibc/parselib.h23
-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.S12
-rw-r--r--mdk-stage1/dietlibc/ppc/clone.S48
-rw-r--r--mdk-stage1/dietlibc/ppc/mmap.c40
-rw-r--r--mdk-stage1/dietlibc/ppc/setjmp.S56
-rw-r--r--mdk-stage1/dietlibc/ppc/start.S42
-rw-r--r--mdk-stage1/dietlibc/ppc/syscalls.h259
-rw-r--r--mdk-stage1/dietlibc/ppc/unified.S40
-rw-r--r--mdk-stage1/dietlibc/profiling/PORTING25
-rw-r--r--mdk-stage1/dietlibc/profiling/README37
-rw-r--r--mdk-stage1/dietlibc/profiling/__mcount.c24
-rw-r--r--mdk-stage1/dietlibc/profiling/monitor.c93
-rw-r--r--mdk-stage1/dietlibc/profiling/profil.c75
-rw-r--r--mdk-stage1/dietlibc/sparc/Makefile.add4
-rw-r--r--mdk-stage1/dietlibc/sparc/__longjmp.S68
-rw-r--r--mdk-stage1/dietlibc/sparc/__testandset.S6
-rw-r--r--mdk-stage1/dietlibc/sparc/clone.S46
-rw-r--r--mdk-stage1/dietlibc/sparc/errlist.S280
-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.S39
-rw-r--r--mdk-stage1/dietlibc/sparc/shmat.c19
-rw-r--r--mdk-stage1/dietlibc/sparc/sigaction.c7
-rw-r--r--mdk-stage1/dietlibc/sparc/start.S50
-rw-r--r--mdk-stage1/dietlibc/sparc/strlen.S11
-rw-r--r--mdk-stage1/dietlibc/sparc/syscalls.h276
-rw-r--r--mdk-stage1/dietlibc/sparc/udiv.S361
-rw-r--r--mdk-stage1/dietlibc/sparc/umul.S168
-rw-r--r--mdk-stage1/dietlibc/sparc/unified.S36
-rw-r--r--mdk-stage1/dietlibc/sparc/urem.S360
-rw-r--r--mdk-stage1/dietlibc/syscalls.h35
-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/__pwrite.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__reboot.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/_llseek.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/access.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/adjtimex.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/alarm.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/bdflush.S5
-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/chown32.S5
-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/create_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/delete_module.S5
-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/environ.S16
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_create.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_wait.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/errlist.S293
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/errno.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/execve.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/fchown32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fcntl.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fdatasync.S6
-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.S10
-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/ftruncate64.S10
-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.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getegid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getegid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/geteuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/geteuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgroups.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgroups32.S5
-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/getresgid32.S5
-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/getuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/init_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ioctl.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ioperm.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/iopl.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ipc.S5
-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/lchown32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/link.S3
-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.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/madvise.S3
-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/mlock.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mlockall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mmap2.S5
-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/msync.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munlock.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/n_sigaction.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigpending.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nanosleep.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nice.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/open.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pause.S5
-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/pivot_root.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/poll.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/prctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ptrace.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/rt_sigaction.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.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/sendfile64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setdomainname.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgid32.S5
-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/setregid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresgid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresgid32.S5
-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/setreuid32.S5
-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/settimeofday.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigaltstack.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/socketcall.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat64.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/statfs.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stime.S5
-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.S5
-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/truncate64.S10
-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.S5
-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.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/write.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/writev.S3
-rwxr-xr-xmdk-stage1/dietlibc/threadsafe.sh5
-rw-r--r--mdk-stage1/dietlibc/x86_64/Makefile.add2
-rw-r--r--mdk-stage1/dietlibc/x86_64/__longjmp.S26
-rw-r--r--mdk-stage1/dietlibc/x86_64/__testandset.S12
-rw-r--r--mdk-stage1/dietlibc/x86_64/accept.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/bind.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/clone.S64
-rw-r--r--mdk-stage1/dietlibc/x86_64/connect.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/getpeername.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/getsockname.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/getsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/listen.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/mmap.S8
-rw-r--r--mdk-stage1/dietlibc/x86_64/msgctl.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/msgget.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/msgrcv.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/msgsnd.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/recv.c13
-rw-r--r--mdk-stage1/dietlibc/x86_64/recvfrom.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/recvmsg.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/semctl.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/semget.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/semop.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/send.c13
-rw-r--r--mdk-stage1/dietlibc/x86_64/sendmsg.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/sendto.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/setjmp.S37
-rw-r--r--mdk-stage1/dietlibc/x86_64/setsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shmat.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shmctl.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shmdt.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shmget.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shutdown.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/sigaction.c26
-rw-r--r--mdk-stage1/dietlibc/x86_64/socket.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/socketpair.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/start.S55
-rw-r--r--mdk-stage1/dietlibc/x86_64/syscalls.h282
-rw-r--r--mdk-stage1/dietlibc/x86_64/umount.S9
-rw-r--r--mdk-stage1/dietlibc/x86_64/unified.S32
-rw-r--r--mdk-stage1/dietlibc/x86_64/waitpid.S12
-rw-r--r--mdk-stage1/disk.c444
-rw-r--r--mdk-stage1/disk.h28
-rw-r--r--mdk-stage1/dns.c216
-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-INFOS91
-rw-r--r--mdk-stage1/doc/UPDATEMODULES74
-rw-r--r--mdk-stage1/doc/WHY-DIETLIBC50
-rw-r--r--mdk-stage1/doc/documented..frontend.h69
-rw-r--r--mdk-stage1/frontend-common.c47
-rw-r--r--mdk-stage1/frontend.h57
-rw-r--r--mdk-stage1/init-data/emptyboot.img.bz2bin6342 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot-blank.img.bz2bin14592 -> 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.bz2bin29864 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot.img.bz2bin30881 -> 0 bytes-rw-r--r--mdk-stage1/init-libc-headers.h45
-rw-r--r--mdk-stage1/init.c583
-rw-r--r--mdk-stage1/insmod-busybox/.cvsignore2
-rw-r--r--mdk-stage1/insmod-busybox/Config.h133
-rw-r--r--mdk-stage1/insmod-busybox/Makefile43
-rw-r--r--mdk-stage1/insmod-busybox/README8
-rw-r--r--mdk-stage1/insmod-busybox/busybox.h477
-rw-r--r--mdk-stage1/insmod-busybox/insmod-frontend.c24
-rw-r--r--mdk-stage1/insmod-busybox/insmod.c3758
-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/Makefile59
-rw-r--r--mdk-stage1/insmod-modutils/include/config.h108
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_alpha.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_arm.h9
-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.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_ia64.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_m68k.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_mips.h23
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_ppc.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_s390.h11
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_sparc.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_sparc64.h26
-rw-r--r--mdk-stage1/insmod-modutils/include/kallsyms.h129
-rw-r--r--mdk-stage1/insmod-modutils/include/kerneld.h44
-rw-r--r--mdk-stage1/insmod-modutils/include/modstat.h55
-rw-r--r--mdk-stage1/insmod-modutils/include/module.h217
-rw-r--r--mdk-stage1/insmod-modutils/include/obj.h298
-rw-r--r--mdk-stage1/insmod-modutils/include/util.h99
-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.c2141
-rw-r--r--mdk-stage1/insmod-modutils/obj/Makefile38
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_alpha.c328
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_arm.c310
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_common.c416
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_hppa.c638
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_hppa64.c682
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_i386.c237
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_ia64.c1022
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_kallsyms.c290
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_load.c343
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_m68k.c145
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_mips.c254
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_ppc.c266
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_reloc.c413
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_s390.c332
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_sparc.c224
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_sparc64.c350
-rw-r--r--mdk-stage1/insmod-modutils/util/Makefile42
-rw-r--r--mdk-stage1/insmod-modutils/util/alias.h310
-rw-r--r--mdk-stage1/insmod-modutils/util/arch64.c43
-rw-r--r--mdk-stage1/insmod-modutils/util/config.c1614
-rw-r--r--mdk-stage1/insmod-modutils/util/gzfiles.c74
-rw-r--r--mdk-stage1/insmod-modutils/util/logger.c160
-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.c86
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_dm.c35
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_gks.c35
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_nim.c51
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_oim.c38
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_qm.c54
-rw-r--r--mdk-stage1/insmod-modutils/util/xftw.c422
-rw-r--r--mdk-stage1/insmod-modutils/util/xmalloc.c37
-rw-r--r--mdk-stage1/insmod-modutils/util/xrealloc.c37
-rw-r--r--mdk-stage1/insmod-modutils/util/xstrcat.c38
-rw-r--r--mdk-stage1/insmod-modutils/util/xstrdup.c39
-rw-r--r--mdk-stage1/insmod-modutils/util/xsystem.c49
-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.c94
-rw-r--r--mdk-stage1/log.h34
-rw-r--r--mdk-stage1/lomount.c203
-rw-r--r--mdk-stage1/lomount.h21
-rw-r--r--mdk-stage1/mar/.cvsignore1
-rw-r--r--mdk-stage1/mar/Makefile52
-rw-r--r--mdk-stage1/mar/mar-extract-only.c208
-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.c317
-rw-r--r--mdk-stage1/minilibc.h159
-rw-r--r--mdk-stage1/mkinitrd_helper/Makefile46
-rw-r--r--mdk-stage1/mkinitrd_helper/mkinitrd_helper.c308
-rw-r--r--mdk-stage1/modules.c507
-rw-r--r--mdk-stage1/modules.h36
-rw-r--r--mdk-stage1/modules_descr.h66
-rw-r--r--mdk-stage1/mount.c225
-rw-r--r--mdk-stage1/mount.h32
-rw-r--r--mdk-stage1/mount_rpcgen.h208
-rw-r--r--mdk-stage1/network.c881
-rw-r--r--mdk-stage1/network.h61
-rw-r--r--mdk-stage1/newt-frontend.c408
-rw-r--r--mdk-stage1/newt/Makefile42
-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.c713
-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/nfs_mount4.h54
-rw-r--r--mdk-stage1/nfsmount.c739
-rw-r--r--mdk-stage1/nfsmount.h331
-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.pl72
-rw-r--r--mdk-stage1/pcmcia_/Makefile37
-rw-r--r--mdk-stage1/pcmcia_/bulkmem.h195
-rw-r--r--mdk-stage1/pcmcia_/cardmgr.c1652
-rw-r--r--mdk-stage1/pcmcia_/cardmgr.h112
-rw-r--r--mdk-stage1/pcmcia_/cirrus.h182
-rw-r--r--mdk-stage1/pcmcia_/cistpl.h604
-rw-r--r--mdk-stage1/pcmcia_/cs.h465
-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.c2053
-rwxr-xr-xmdk-stage1/pcmcia_/merge_from_pcitable51
-rw-r--r--mdk-stage1/pcmcia_/pcmcia.h21
-rw-r--r--mdk-stage1/pcmcia_/probe.c522
-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.c1015
-rw-r--r--mdk-stage1/pcmcia_/yacc_config.h37
-rw-r--r--mdk-stage1/ppp/.cvsignore1
-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/.cvsignore2
-rw-r--r--mdk-stage1/ppp/pppd/Makefile49
-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.c1939
-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.c88
-rw-r--r--mdk-stage1/ppp/pppd/magic.h23
-rw-r--r--mdk-stage1/ppp/pppd/main.c1846
-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.c309
-rw-r--r--mdk-stage1/ppp/pppd/md5.h58
-rw-r--r--mdk-stage1/ppp/pppd/multilink.c397
-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.h25
-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.c949
-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.c718
-rw-r--r--mdk-stage1/probing.h38
-rw-r--r--mdk-stage1/rescue-gui.c236
-rw-r--r--mdk-stage1/rp-pppoe/.cvsignore1
-rw-r--r--mdk-stage1/rp-pppoe/README87
-rw-r--r--mdk-stage1/rp-pppoe/configs/firewall-masq35
-rw-r--r--mdk-stage1/rp-pppoe/configs/firewall-standalone32
-rw-r--r--mdk-stage1/rp-pppoe/configs/pap-secrets9
-rw-r--r--mdk-stage1/rp-pppoe/configs/pppoe-server-options5
-rw-r--r--mdk-stage1/rp-pppoe/configs/pppoe.conf126
-rw-r--r--mdk-stage1/rp-pppoe/doc/CHANGES177
-rw-r--r--mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT295
-rw-r--r--mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE39
-rw-r--r--mdk-stage1/rp-pppoe/doc/LICENSE339
-rw-r--r--mdk-stage1/rp-pppoe/doc/PROBLEMS3
-rwxr-xr-xmdk-stage1/rp-pppoe/go43
-rwxr-xr-xmdk-stage1/rp-pppoe/go-gui92
-rw-r--r--mdk-stage1/rp-pppoe/gui/Makefile.in64
-rw-r--r--mdk-stage1/rp-pppoe/gui/html/tkpppoe.html181
-rw-r--r--mdk-stage1/rp-pppoe/gui/pppoe-wrapper.145
-rw-r--r--mdk-stage1/rp-pppoe/gui/tkpppoe.136
-rwxr-xr-xmdk-stage1/rp-pppoe/gui/tkpppoe.in2891
-rw-r--r--mdk-stage1/rp-pppoe/gui/wrapper.c234
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-connect.866
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-setup.823
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-start.827
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-status.825
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-stop.821
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-relay.8124
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-server.8123
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-sniff.877
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe.8236
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe.conf.5168
-rw-r--r--mdk-stage1/rp-pppoe/rp-pppoe-gui.spec98
-rw-r--r--mdk-stage1/rp-pppoe/rp-pppoe.spec71
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-connect.in278
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init-suse.in62
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in62
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init.in64
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-setup.in346
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-start.in186
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-status82
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-stop.in84
-rw-r--r--mdk-stage1/rp-pppoe/src/.cvsignore2
-rw-r--r--mdk-stage1/rp-pppoe/src/Makefile45
-rw-r--r--mdk-stage1/rp-pppoe/src/Makefile.in257
-rw-r--r--mdk-stage1/rp-pppoe/src/common.c485
-rw-r--r--mdk-stage1/rp-pppoe/src/config.h135
-rw-r--r--mdk-stage1/rp-pppoe/src/config.h.in134
-rwxr-xr-xmdk-stage1/rp-pppoe/src/configure2356
-rw-r--r--mdk-stage1/rp-pppoe/src/configure.in231
-rw-r--r--mdk-stage1/rp-pppoe/src/debug.c143
-rw-r--r--mdk-stage1/rp-pppoe/src/discovery.c629
-rw-r--r--mdk-stage1/rp-pppoe/src/if.c1092
-rwxr-xr-xmdk-stage1/rp-pppoe/src/install-sh238
-rw-r--r--mdk-stage1/rp-pppoe/src/md5.c246
-rw-r--r--mdk-stage1/rp-pppoe/src/md5.h27
-rw-r--r--mdk-stage1/rp-pppoe/src/plugin.c397
-rw-r--r--mdk-stage1/rp-pppoe/src/ppp.c258
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe-server.c1247
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe-sniff.c258
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe.c834
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe.h331
-rw-r--r--mdk-stage1/rp-pppoe/src/relay.c1541
-rw-r--r--mdk-stage1/rp-pppoe/src/relay.h97
-rw-r--r--mdk-stage1/slang/Makefile42
-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.c669
-rw-r--r--mdk-stage1/stage1.h67
-rw-r--r--mdk-stage1/stdio-frontend.c378
-rw-r--r--mdk-stage1/tools.c503
-rw-r--r--mdk-stage1/tools.h59
-rw-r--r--mdk-stage1/url.c513
-rw-r--r--mdk-stage1/url.h44
-rw-r--r--mdk-stage1/usb-resource/.cvsignore1
-rw-r--r--mdk-stage1/usb-resource/Makefile25
-rwxr-xr-xmdk-stage1/usb-resource/update-usb-ids.pl53
-rw-r--r--move/.cvsignore4
-rw-r--r--move/Makefile139
-rwxr-xr-xmove/collect-directories-to-create.pl17
-rw-r--r--move/data/.cvsignore2
-rw-r--r--move/data/BOOT-1024-MOVE.jpgbin103853 -> 0 bytes-rw-r--r--move/data/BOOT-1280-MOVE.jpgbin152287 -> 0 bytes-rw-r--r--move/data/BOOT-1600-MOVE.jpgbin212207 -> 0 bytes-rw-r--r--move/data/BOOT-800-MOVE.jpgbin78190 -> 0 bytes-rw-r--r--move/data/always.dirs0
-rw-r--r--move/data/always.list144
-rw-r--r--move/data/always_i18n.list28
-rw-r--r--move/data/boot.dirs41
-rw-r--r--move/data/boot.list790
-rw-r--r--move/data/devices4
-rw-r--r--move/data/etcfiles31
-rw-r--r--move/data/etcfiles-report151
-rw-r--r--move/data/isolinux-graphic.bmpbin480566 -> 0 bytes-rw-r--r--move/data/keyfiles23
-rw-r--r--move/data/nvidia.list3
-rw-r--r--move/data/symlinks4
-rw-r--r--move/data/totem.dirs2
-rw-r--r--move/data/totem.list57
-rw-r--r--move/doc/README95
-rw-r--r--move/doc/errata.144
-rwxr-xr-xmove/etc-monitorer.pl31
-rwxr-xr-xmove/hack5
-rwxr-xr-xmove/hack_boot_img418
-rw-r--r--move/img/FE92-1024-MOVE1.jpgbin134082 -> 0 bytes-rw-r--r--move/img/FE92-1024-MOVE2.jpgbin110160 -> 0 bytes-rw-r--r--move/img/FE92-1024-MOVE3.jpgbin114463 -> 0 bytes-rw-r--r--move/img/FE92-1024-MOVE4.jpgbin42557 -> 0 bytes-rw-r--r--move/img/FE92-1024-MOVE5.jpgbin38483 -> 0 bytes-rw-r--r--move/img/FE92-1280-MOVE1.jpgbin195812 -> 0 bytes-rw-r--r--move/img/FE92-1280-MOVE2.jpgbin167724 -> 0 bytes-rw-r--r--move/img/FE92-1280-MOVE3.jpgbin165527 -> 0 bytes-rw-r--r--move/img/FE92-1280-MOVE4.jpgbin64707 -> 0 bytes-rw-r--r--move/img/FE92-1280-MOVE5.jpgbin58419 -> 0 bytes-rw-r--r--move/img/Mandrake.pngbin283935 -> 0 bytes-rw-r--r--move/isolinux/.cvsignore5
-rw-r--r--move/isolinux/help.msgbin1307 -> 0 bytes-rw-r--r--move/isolinux/isolinux.cfg14
-rw-r--r--move/isolinux/make.pl28
-rwxr-xr-xmove/make_live224
-rwxr-xr-xmove/make_live_tree_boot163
-rw-r--r--move/move.pm703
-rw-r--r--move/pkgs.pm32
-rw-r--r--move/runlevel_set.c25
-rwxr-xr-xmove/runstage225
-rw-r--r--move/todo39
-rwxr-xr-xmove/tools/busy-files25
-rw-r--r--move/tools/busy-files-accesses34
-rw-r--r--move/tools/check-fc-cache.pl27
-rwxr-xr-xmove/tools/fix-fc-cache.pl21
-rw-r--r--move/tools/kernel-nfsd.patch61
-rwxr-xr-xmove/tools/nfs-accesses60
-rwxr-xr-xmove/tools/scan-etc.pl41
-rwxr-xr-xmove/tree/X_move16
-rwxr-xr-xmove/tree/alsa_default.pl19
-rwxr-xr-xmove/tree/halt5
-rw-r--r--move/tree/kdedrc7
-rw-r--r--move/tree/konsolerc19
-rwxr-xr-xmove/tree/mdk_behind_totem80
-rw-r--r--move/tree/mdk_move_boot_loop.desktop8
-rwxr-xr-xmove/tree/mdk_move_loop56
-rwxr-xr-xmove/tree/mdk_totem119
-rw-r--r--move/tree/mdk_totem.desktop12
-rwxr-xr-xmove/tree/netscape3
-rwxr-xr-xmove/tree/reboot5
-rwxr-xr-xmove/tree/sound.initscript116
-rwxr-xr-xmove/tree/startkde_move17
-rw-r--r--move/tree/sudoers1
-rwxr-xr-xmove/tree/wait4x21
-rw-r--r--move/xwait.c19
-rw-r--r--perl-install/list.sparc74
-rw-r--r--perl-install/network/adsl.pm301
-rw-r--r--perl-install/network/drakfirewall.pm71
-rw-r--r--perl-install/network/ethernet.pm181
-rw-r--r--perl-install/network/isdn.pm228
-rw-r--r--perl-install/network/isdn_consts.pm15
-rw-r--r--perl-install/network/modem.pm241
-rw-r--r--perl-install/network/netconnect.pm1407
-rw-r--r--perl-install/network/network.pm367
-rw-r--r--perl-install/network/nfs.pm38
-rw-r--r--perl-install/network/shorewall.pm67
-rw-r--r--perl-install/network/smb.pm36
-rw-r--r--perl-install/network/smbnfs.pm4
-rw-r--r--perl-install/network/tools.pm262
-rw-r--r--perl-install/patch/9.1/hp.diff137
-rw-r--r--perl-install/patch/9.1/patch-detectSMP-K6.pl5
-rw-r--r--perl-install/patch/9.1/patch-loopback.pl18
-rw-r--r--perl-install/patch/patch-9.0-auto-inst-network-config.pl8
-rw-r--r--perl-install/patch/patch-IMPS2.pl9
-rw-r--r--perl-install/patch/patch-da.pl6
-rw-r--r--perl-install/patch/patch-nforce.pl35
-rw-r--r--perl-install/patch/patch-oem-9.0.pl52
-rw-r--r--perl-install/patch/patch-oem-hp.pl323
-rw-r--r--perl-install/patch/patch-raidtab.pl37
-rw-r--r--perl-install/patch/rpmsrate.oem-9.0-openoffice551
-rw-r--r--perl-install/patch/rpmsrate.oem-9.0-staroffice552
-rw-r--r--perl-install/share/po/DrakX.pot19782
-rw-r--r--perl-install/share/po/Makefile24
-rw-r--r--perl-install/share/po/af.po28069
-rw-r--r--perl-install/share/po/ar.po28235
-rw-r--r--perl-install/share/po/az.po28209
-rw-r--r--perl-install/share/po/be.po25021
-rw-r--r--perl-install/share/po/bg.po28864
-rw-r--r--perl-install/share/po/br.po23518
-rw-r--r--perl-install/share/po/bs.po29382
-rw-r--r--perl-install/share/po/ca.po30302
-rw-r--r--perl-install/share/po/cs.po31357
-rw-r--r--perl-install/share/po/cy.po29239
-rw-r--r--perl-install/share/po/da.po29747
-rw-r--r--perl-install/share/po/de.po29549
-rw-r--r--perl-install/share/po/el.po27846
-rw-r--r--perl-install/share/po/eo.po25093
-rw-r--r--perl-install/share/po/es.po31432
-rw-r--r--perl-install/share/po/et.po29309
-rw-r--r--perl-install/share/po/eu.po30888
-rw-r--r--perl-install/share/po/fa.po21186
-rw-r--r--perl-install/share/po/fi.po28908
-rw-r--r--perl-install/share/po/fr.po30034
-rw-r--r--perl-install/share/po/ga.po23379
-rw-r--r--perl-install/share/po/gl.po25052
-rw-r--r--perl-install/share/po/he.po23579
-rw-r--r--perl-install/share/po/help-de.pot1921
-rw-r--r--perl-install/share/po/help-es.pot2976
-rw-r--r--perl-install/share/po/help-fr.pot2687
-rw-r--r--perl-install/share/po/help-it.pot2000
-rw-r--r--perl-install/share/po/help-ru.pot158
-rwxr-xr-xperl-install/share/po/help_xml2pm.pl183
-rw-r--r--perl-install/share/po/hi.po18856
-rw-r--r--perl-install/share/po/hr.po28315
-rw-r--r--perl-install/share/po/hu.po30850
-rw-r--r--perl-install/share/po/i18n_compssUsers3
-rw-r--r--perl-install/share/po/id.po29987
-rw-r--r--perl-install/share/po/is.po25230
-rw-r--r--perl-install/share/po/it.po28976
-rw-r--r--perl-install/share/po/ja.po31420
-rw-r--r--perl-install/share/po/ko.po25894
-rw-r--r--perl-install/share/po/lt.po25400
-rw-r--r--perl-install/share/po/lv.po26783
-rw-r--r--perl-install/share/po/mk.po20884
-rw-r--r--perl-install/share/po/ms.po18502
-rw-r--r--perl-install/share/po/mt.po28664
-rw-r--r--perl-install/share/po/nb.po23034
-rw-r--r--perl-install/share/po/nl.po35532
-rw-r--r--perl-install/share/po/no.po14368
-rw-r--r--perl-install/share/po/pl.po29279
-rw-r--r--perl-install/share/po/pt.po29335
-rw-r--r--perl-install/share/po/pt_BR.po28999
-rw-r--r--perl-install/share/po/ro.po24829
-rw-r--r--perl-install/share/po/ru.po29574
-rw-r--r--perl-install/share/po/sk.po29439
-rw-r--r--perl-install/share/po/sl.po23518
-rw-r--r--perl-install/share/po/sp.po15424
-rw-r--r--perl-install/share/po/sq.po30408
-rw-r--r--perl-install/share/po/sr.po29498
-rw-r--r--perl-install/share/po/sr@Latn.po21158
-rw-r--r--perl-install/share/po/sv.po29047
-rw-r--r--perl-install/share/po/ta.po28566
-rw-r--r--perl-install/share/po/tg.po19988
-rw-r--r--perl-install/share/po/th.po24887
-rw-r--r--perl-install/share/po/tr.po28363
-rwxr-xr-xperl-install/share/po/translation_size.pl45
-rw-r--r--perl-install/share/po/uk.po28833
-rw-r--r--perl-install/share/po/uz.po19072
-rw-r--r--perl-install/share/po/uz@Cyrl.po19533
-rwxr-xr-xperl-install/share/po/validate.pl100
-rw-r--r--perl-install/share/po/vi.po29145
-rw-r--r--perl-install/share/po/wa.po28728
-rw-r--r--perl-install/share/po/zh_CN.po28054
-rw-r--r--perl-install/share/po/zh_TW.po27144
-rwxr-xr-xperl-install/standalone/drakconnect1109
-rw-r--r--rescue/.cvsignore2
-rw-r--r--rescue/Makefile16
-rw-r--r--rescue/aliases4
-rw-r--r--rescue/devices.pl53
-rw-r--r--rescue/dirs8
-rwxr-xr-xrescue/drvinst87
-rwxr-xr-xrescue/guessmounts107
-rwxr-xr-xrescue/install_bootloader47
-rw-r--r--rescue/kernel_read_part.c26
-rw-r--r--rescue/list138
-rw-r--r--rescue/list.alpha1
-rw-r--r--rescue/list.i38614
-rw-r--r--rescue/list.ia648
-rw-r--r--rescue/list.ppc9
-rw-r--r--rescue/list.sparc2
-rw-r--r--rescue/list.x86_6410
-rwxr-xr-xrescue/lsparts127
-rwxr-xr-xrescue/make_rescue_img133
-rwxr-xr-xrescue/rescue-doc61
-rwxr-xr-xrescue/restore_ms_boot108
-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/issue27
-rwxr-xr-xrescue/tree/etc/oem674
-rwxr-xr-xrescue/tree/etc/oem-all676
-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/fakeshutdown39
-rwxr-xr-xrescue/tree/sbin/modprobe42
-rw-r--r--rescue/tree/usr/lib/CVS.0
-rw-r--r--tools/.cvsignore4
-rw-r--r--tools/2adsldb.pm17
-rw-r--r--tools/2isdndb.pm25
-rw-r--r--tools/Makefile40
-rwxr-xr-xtools/addchangelog.pl18
-rw-r--r--tools/aewm-drakx/.cvsignore1
-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.pl89
-rw-r--r--tools/dmidecode/.cvsignore1
-rw-r--r--tools/dmidecode/Makefile17
-rw-r--r--tools/dmidecode/dmidecode.c856
-rw-r--r--tools/extractchangelog2
-rwxr-xr-xtools/gencompss14
-rwxr-xr-xtools/gencryptofiles115
-rwxr-xr-xtools/genmodparm145
-rwxr-xr-xtools/i386/busyboxbin55508 -> 0 bytes-rwxr-xr-xtools/i386/e2fsck.sharedbin80308 -> 0 bytes-rwxr-xr-xtools/i386/mkreiserfsbin15868 -> 0 bytes-rw-r--r--tools/i386/netboot/.cvsignore4
-rw-r--r--tools/i386/netboot/3c503/nbgrubbin106660 -> 0 bytes-rw-r--r--tools/i386/netboot/3c503/pxegrubbin107684 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c503/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c503/stage2bin106660 -> 0 bytes-rw-r--r--tools/i386/netboot/3c507/nbgrubbin106208 -> 0 bytes-rw-r--r--tools/i386/netboot/3c507/pxegrubbin107232 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c507/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c507/stage2bin106272 -> 0 bytes-rw-r--r--tools/i386/netboot/3c509/nbgrubbin106712 -> 0 bytes-rw-r--r--tools/i386/netboot/3c509/pxegrubbin107736 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c509/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c509/stage2bin106744 -> 0 bytes-rw-r--r--tools/i386/netboot/3c529/nbgrubbin107592 -> 0 bytes-rw-r--r--tools/i386/netboot/3c529/pxegrubbin108616 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c529/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c529/stage2bin107624 -> 0 bytes-rw-r--r--tools/i386/netboot/3c595/nbgrubbin109440 -> 0 bytes-rw-r--r--tools/i386/netboot/3c595/pxegrubbin110464 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c595/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c595/stage2bin109440 -> 0 bytes-rw-r--r--tools/i386/netboot/3c90x/nbgrubbin111360 -> 0 bytes-rw-r--r--tools/i386/netboot/3c90x/pxegrubbin112384 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c90x/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c90x/stage2bin111360 -> 0 bytes-rw-r--r--tools/i386/netboot/depca/nbgrubbin106376 -> 0 bytes-rw-r--r--tools/i386/netboot/depca/pxegrubbin107400 -> 0 bytes-rwxr-xr-xtools/i386/netboot/depca/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/depca/stage2bin106440 -> 0 bytes-rw-r--r--tools/i386/netboot/device.map1
-rw-r--r--tools/i386/netboot/eepro/nbgrubbin106472 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro/pxegrubbin107496 -> 0 bytes-rwxr-xr-xtools/i386/netboot/eepro/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro/stage2bin106504 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro100/nbgrubbin109408 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro100/pxegrubbin110432 -> 0 bytes-rwxr-xr-xtools/i386/netboot/eepro100/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro100/stage2bin109472 -> 0 bytes-rw-r--r--tools/i386/netboot/epic100/nbgrubbin108160 -> 0 bytes-rw-r--r--tools/i386/netboot/epic100/pxegrubbin109184 -> 0 bytes-rwxr-xr-xtools/i386/netboot/epic100/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/epic100/stage2bin108192 -> 0 bytes-rw-r--r--tools/i386/netboot/exos205/nbgrubbin106560 -> 0 bytes-rw-r--r--tools/i386/netboot/exos205/pxegrubbin107584 -> 0 bytes-rwxr-xr-xtools/i386/netboot/exos205/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/exos205/stage2bin106592 -> 0 bytes-rwxr-xr-xtools/i386/netboot/grubbin355291 -> 0 bytes-rw-r--r--tools/i386/netboot/lance/nbgrubbin108512 -> 0 bytes-rw-r--r--tools/i386/netboot/lance/pxegrubbin109536 -> 0 bytes-rwxr-xr-xtools/i386/netboot/lance/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/lance/stage2bin108512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/makeImages31
-rwxr-xr-xtools/i386/netboot/make_boot_network17
-rw-r--r--tools/i386/netboot/menu.lst.example21
-rw-r--r--tools/i386/netboot/ne/nbgrubbin106280 -> 0 bytes-rw-r--r--tools/i386/netboot/ne/pxegrubbin107304 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ne/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ne/stage2bin106344 -> 0 bytes-rw-r--r--tools/i386/netboot/ne2100/nbgrubbin106620 -> 0 bytes-rw-r--r--tools/i386/netboot/ne2100/pxegrubbin107644 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ne2100/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ne2100/stage2bin106652 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5010/nbgrubbin105608 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5010/pxegrubbin106632 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ni5010/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5010/stage2bin105640 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5210/nbgrubbin106336 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5210/pxegrubbin107360 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ni5210/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5210/stage2bin106368 -> 0 bytes-rw-r--r--tools/i386/netboot/ni6510/nbgrubbin106588 -> 0 bytes-rw-r--r--tools/i386/netboot/ni6510/pxegrubbin107612 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ni6510/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ni6510/stage2bin106620 -> 0 bytes-rw-r--r--tools/i386/netboot/ns8390/nbgrubbin108664 -> 0 bytes-rw-r--r--tools/i386/netboot/ns8390/pxegrubbin109688 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ns8390/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ns8390/stage2bin108696 -> 0 bytes-rw-r--r--tools/i386/netboot/otulip/nbgrubbin108484 -> 0 bytes-rw-r--r--tools/i386/netboot/otulip/pxegrubbin109508 -> 0 bytes-rwxr-xr-xtools/i386/netboot/otulip/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/otulip/stage2bin108516 -> 0 bytes-rw-r--r--tools/i386/netboot/rtl8139/nbgrubbin108000 -> 0 bytes-rw-r--r--tools/i386/netboot/rtl8139/pxegrubbin109024 -> 0 bytes-rwxr-xr-xtools/i386/netboot/rtl8139/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/rtl8139/stage2bin108000 -> 0 bytes-rw-r--r--tools/i386/netboot/sis900/nbgrubbin112392 -> 0 bytes-rw-r--r--tools/i386/netboot/sis900/pxegrubbin113416 -> 0 bytes-rwxr-xr-xtools/i386/netboot/sis900/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/sis900/stage2bin112392 -> 0 bytes-rw-r--r--tools/i386/netboot/sk_g16/nbgrubbin106500 -> 0 bytes-rw-r--r--tools/i386/netboot/sk_g16/pxegrubbin107524 -> 0 bytes-rwxr-xr-xtools/i386/netboot/sk_g16/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/sk_g16/stage2bin106532 -> 0 bytes-rw-r--r--tools/i386/netboot/smc9000/nbgrubbin106976 -> 0 bytes-rw-r--r--tools/i386/netboot/smc9000/pxegrubbin108000 -> 0 bytes-rwxr-xr-xtools/i386/netboot/smc9000/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/smc9000/stage2bin106976 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.3c59xbin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.3c90xbin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.eepro100bin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.rtl8139bin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.tulipbin512 -> 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.3c90xbin111100 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.eepro100bin107584 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.rtl8139bin108028 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.tulipbin94396 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.via-rhinebin88208 -> 0 bytes-rw-r--r--tools/i386/netboot/tiara/nbgrubbin105188 -> 0 bytes-rw-r--r--tools/i386/netboot/tiara/pxegrubbin106212 -> 0 bytes-rwxr-xr-xtools/i386/netboot/tiara/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/tiara/stage2bin105252 -> 0 bytes-rw-r--r--tools/i386/netboot/tulip/nbgrubbin119404 -> 0 bytes-rw-r--r--tools/i386/netboot/tulip/pxegrubbin120428 -> 0 bytes-rwxr-xr-xtools/i386/netboot/tulip/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/tulip/stage2bin119404 -> 0 bytes-rw-r--r--tools/i386/netboot/w89c840/nbgrubbin109356 -> 0 bytes-rw-r--r--tools/i386/netboot/w89c840/pxegrubbin110380 -> 0 bytes-rwxr-xr-xtools/i386/netboot/w89c840/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/w89c840/stage2bin109388 -> 0 bytes-rw-r--r--tools/i386/netboot/wd/nbgrubbin106760 -> 0 bytes-rw-r--r--tools/i386/netboot/wd/pxegrubbin107784 -> 0 bytes-rwxr-xr-xtools/i386/netboot/wd/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/wd/stage2bin106792 -> 0 bytes-rwxr-xr-xtools/i386/shbin153752 -> 0 bytes-rwxr-xr-xtools/ia64/e2fsck.sharedbin1060504 -> 0 bytes-rwxr-xr-xtools/ia64/elilo.efibin315800 -> 0 bytes-rwxr-xr-xtools/mailchangelog.pl14
-rw-r--r--tools/make_lang_png_transparent.c167
-rwxr-xr-xtools/make_mdkinst_stage284
-rwxr-xr-xtools/mkhdlist16
-rw-r--r--tools/ntp_servers.pl303
-rwxr-xr-xtools/oem-prepare477
-rwxr-xr-xtools/patch_pcmcia_config.pl28
-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/magic89
-rwxr-xr-xtools/ppc/mapping29
-rwxr-xr-xtools/ppc/mkINSTALLCD80
-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-rwxr-xr-xtools/sparc/e2fsck.sharedbin125624 -> 0 bytes-rwxr-xr-xtools/specific_arch9
-rwxr-xr-xtools/syncrpms267
-rwxr-xr-xtools/update_images52
-rwxr-xr-xtools/updatehdlist10
-rwxr-xr-xtools/x86_64/busyboxbin74064 -> 0 bytes-rw-r--r--tools/xhost+.c11
2162 files changed, 600974 insertions, 1351510 deletions
diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index 2a8035f11..000000000
--- a/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-docs
-images
-unused
-drakxtools.tar.bz2
-isolinux
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 09716e4b9..000000000
--- a/Makefile
+++ /dev/null
@@ -1,119 +0,0 @@
-ROOTDEST = /export
-
-DIRS = tools kernel mdk-stage1 perl-install rescue
-
-
-ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
-
-ifeq (i386,$(ARCH))
- BOOT_IMG = cdrom.img hdcdrom_usb.img blank.img pcmcia.img
-endif
-ifeq (sparc,$(ARCH))
- BOOT_IMG = cdrom.img hd.img network.img live.img tftp.img tftprd.img
- BOOT_IMG += cdrom64.img hd64.img network64.img live64.img tftp64.img tftprd64.img
-endif
-ifeq (ppc,$(ARCH))
- BOOT_IMG = all.img
-endif
-ifeq (ia64,$(ARCH))
- BOOT_IMG = all.img
-endif
-ifeq (x86_64,$(ARCH))
- BOOT_IMG = cdrom.img hd.img hdcdrom_usb.img network.img network_gigabit.img network_usb.img blank.img
-endif
-
-FBOOT_IMG = $(BOOT_IMG:%=images/%)
-FBOOT_RDZ = $(FBOOT_IMG:%.img=%.rdz)
-ifneq (all.img,$(findstring all.img,$(BOOT_IMG)))
-FBOOT_RDZ += images/all.rdz
-endif
-
-.PHONY: dirs install
-
-install: dirs images rescue install_only
-
-dirs:
- @for n in $(DIRS); do $(MAKE) -C $$n all || exit 1 ; done
-
-images: $(FBOOT_IMG) images/all.rdz # all.rdz is needed to update isolinux
-
-$(FBOOT_RDZ): kernel/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
-
-install_only:
- for i in images misc Mandrake Mandrake/base Mandrake/share; do install -d $(ROOTDEST)/$$i ; done
- ifneq (ppc,$(ARCH))
- for i in $(FBOOT_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
-
- ifeq (i386,$(ARCH))
- rm -rf $(ROOTDEST)/isolinux
- cp -af isolinux $(ROOTDEST)
- cp -f images/cdrom-changedisk.img $(ROOTDEST)/images
- endif
-
- ifeq (x86_64,$(ARCH))
- rm -rf $(ROOTDEST)/isolinux
- cp -af isolinux $(ROOTDEST)
- endif
-
- make -C perl-install full_stage2
- make -C perl-install/share/advertising install
- make -C rescue install
-
-clean:
- rm -rf images all.modules all.modules64
- for i in $(DIRS); 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; }
- @missing_kb=`find -name "Entries" | xargs perl -F/ -alne 'print $$ARGV =~ m|(.*)/CVS|, "/$$F[1]" if $$F[1] =~ /\.(png|gif|bmp|xcf|gz|bz2|tar|rdz|so|a|o|mar|img|exe)$$/ && $$F[4] ne "-kb"'` ; [ -z "$$missing_kb" ] || { echo "missing -kb in CVS for files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$missing_kb" ; echo "missing -kb in CVS for files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; }
- $(MAKE) -C perl-install check
-
-upload:
- $(MAKE) clean
-
-# # done before make install to increment ChangeLog version
- tools/addchangelog.pl tools/cvslog2changelog.pl | tools/mailchangelog.pl &
-
- $(MAKE) install
- $(MAKE) check
- $(MAKE) upload_only
-
-upload_only:
- function upload() { rsync -qSavz --verbose --exclude '*~' -e ssh --delete $(ROOTDEST)/$$1/$$2 mandrake@ken:/c/cooker/$$1; } ;\
- upload Mandrake/mdkinst '' ;\
- upload Mandrake/base compssUsers* ;\
- upload Mandrake/base rpmsrate ;\
- upload Mandrake/base *_stage2.bz2 ;\
- upload Mandrake/share/advertising '' ;\
- upload misc gendistrib ;\
- upload misc make_mdkinst_stage2 ;\
- upload misc packdrake ;\
- upload misc packdrake.pm ;\
- upload misc auto ;\
- upload images MD5SUM ;\
- upload images *.img* ;\
- upload images/alternatives '' ;\
- upload isolinux '' ;\
- echo
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/9.0_errata.txt b/docs/9.0_errata.txt
deleted file mode 100644
index 4fec8885c..000000000
--- a/docs/9.0_errata.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-# This file contains all the bugs/glitches/inconsistencies shipped in
-# 9.0 (Dolphin) Mandrake Linux Release.
-
-# Feel free to add your entry and if possible the fixes and status of
-# the errata.
-
- o Drakxtools:
- ==========
-
- widget libraries:
-
- In both XFdrake and printerdrake pop up small, empty, gray windows when
- clicking in the main menu. STATUS: Not fixed.
-
- Scroll bars and widget sizes often not correct (visible primarily in the
- printer options step of the "Add printer" wizard of printerdrake. STATUS:
- Not fixed.
-
- harddrake:
-
- logdrake:
- IS: Send the alert mail when service is stopped but the mail
- is empty.
- SHOULD BE: incorporate a text on which service is stopped.
- Status: not fixed.
-
- o Drakconf:
- =========
- IS: locale nl_NL, sl and zh_CN prevent drakconf from starting with
- a "cannot call set_active on undefined values" error.
-
- SHOULD BE: work well in all locales.
-
- a workaround has been comitted
-
- o Drakfont:
- =========
-
- drakfont get stopped in stat64("/mnt/nt/winnt/fonts/8514oem.fon",
- ...) on ntfs partitions.
- there's a bug in ntfs.o fs module of the kernel
-
- o Install:
- ========
-
- o urpmi:
- ======
-
- "urpmi mplayer" shows a list of libraries it needs and asks whether
- to install all this, after saying "y", it says that all these
- packages are missing and fails (I have shown it to Franois and he
- says that is a bug with the "contribs". He had to regenerate the
- hdlists somehow. STATUS: Not fixed.
-
- o XFree 4.2.x:
- ============
-
- Touchpad mouse on my Asus S8600 notebook. Worked out-of-the-box
- with Mandrake 8.2, but in 9.0 I cannot do any dragging operation
- with the PS/2-"Standard" mouse setting. I switched to "Glidepoint"
- with mousedrake and then dragging works, but the emulation of the
- third button by pressing both buttons not. Adding the lines
-
- Option "Emulate3Buttons"
- Option "Emulate3Timeout" "50"
-
- to the mouse section of /etc/X11/XF86Config-4 manually fixes the
- middle-button problem. STATUS: Not fixed.
-
-
-
- Sometimes, XFree86 can cause sound glitches because of intensive
- pci bus usage.
- Adding the line
-
- Option "PciRetry" "true"
-
- to the "Device" section /etc/X11/XF86Config-4 fixes these boxes.
-
-
- I810 driver is bogus: when Xrender extension is in use (antialiased
- fonts), X11 may crash upon vt switch.
- is fixed in devel branch of cvs
-
-
- o Printer drivers:
- ================
-
- "Best Grayscale" mode of HP DeskJet 6xx and Apollo printers does
- not work. STATUS: Fixed on linuxprinting.org, needs to be packaged
- in "printer-drivers".
-
-o kernel:
- =======
-
- Sometimes reboot stops on "illegal seek" message (having /usr on /
- fs fix it)
-
- Sometimes process get blocked in D-state on ntfs partitions (see
- drakfont)
-
- i810_audio mistakely say to modules.pm through modules.*map it
- handles nforces whereas it lacks some workaround nvidia and alsa
- uses.
- workaround: perl-install/patch/patch-nforce.pl
-
- snd-via686 is said to produce background noise since alsa-0.9.0rc3
- workaround: switch to via82cxxx_audio (oss driver) through draksound
diff --git a/docs/9.1_errata.txt b/docs/9.1_errata.txt
deleted file mode 100644
index fa73c200e..000000000
--- a/docs/9.1_errata.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-# This file contains all the bugs/glitches/inconsistencies shipped in
-# 9.1 (Bamboo) Mandrake Linux Release.
-
-# Feel free to add your entry and if possible the fixes and status of
-# the errata.
-
-
- o DrakConf:
- =========
-
- - #2439: menudrake failled to run for users other than root and
- xserver owner
-
- - #3415: do not kill "explicitely non embeddable" processes when
- killing embedded tools
-
- both fixed in 9.1-12mdk
-
-
-
- o DrakxTools:
- ===========
- - drakconnect:
- o ltmodem support is missing from mdk9.1 [added in hp release]
- o various other fixes came into mdk4hp release
-
- - explanations: most common ones are not logged because of a
- standalone.pm vs common.pm methods overloading bug [not yet
- fixed]
-
- - harddrake-ui:
- o menu entry starts logdrake instead of harddrake's gui [fixed in
- cvs]
- o status bar is not cleared on config tool exit [fixed in cvs]
- o title bar miss some spaces in french locale [fixed in cvs]
-
- - harddrake service: 5 second timeout was too short so it was
- increased up to 25 seconds [in hp release]
-
- - localedrake/drakx: legal problem with rpc vs hong-kong||taiwan
- [fixed in hp release]
-
-
-
- o Kernel:
- =======
-
- - ntfs driver has a hang, additionally also causing 100% cpu usage
- if either the size of the ntfs filesystem or the number of MFT
- entries fell to a certain range and statfs() system call was
- invoked by an application (e.g. df, gnome system monitor, etc).
- see #3353
-
- it got fixed quickly but unfortunately too late for us
-
- the probability one hits this bug is 0.2% or every 512th users.
-
- updated ntfs driver (2.1.2a) is at the usual place,
-
- http://linux-ntfs.sourceforge.net/
-
- or more precisely,
-
- http://sourceforge.net/project/showfiles.php?group_id=13956
-
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 4e3d51661..000000000
--- a/docs/HACKING
+++ /dev/null
@@ -1,120 +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 Mandrake Linux 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 -d
-
-
---------------------------------------------------------------------------
-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, libbzip2*, libncurses*.
-
-you may need a few others I forgot to mention. if the compilation
-fails, try to understand the message and install any necessary
-remaining package.
-
-
-(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,NOPASSWD:/bin/mknod
-
-
-(4) boot kernel
-
-you need one or more kernels and (all?) their modules. it's
-located in the subdirectory "all.kernels" of the "gi/kernel"
-directory; if you ever grab (or build) another boot kernel,
-replace or add an entry in "all.kernels" as:
-
-[gc@obiwan ~/cvs/gi/kernel/all.kernels] mkdir 2.4.1-BOOTcustom
-[gc@obiwan ~/cvs/gi/kernel/all.kernels] cd 2.4.1-BOOTcustom
-[gc@obiwan ~/cvs/gi/kernel/all.kernels/2.4.1-BOOTcustom] tar jxvf ~/mycustomkernel.tar.bz2
-[gc@obiwan ~/cvs/gi/kernel/all.kernels/2.4.1-BOOTcustom] ls
-boot/ lib/
-
-
-(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 ./install2 --test
-
- NEVER execute DrakX as root! You might need to allow all users
- to read the block devices of your hard-disks, though (chmod a+w
- /dev/hda* for example).
-
-
-
-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/Partition-ends-after-end-of-disk.txt b/docs/Partition-ends-after-end-of-disk.txt
deleted file mode 100644
index 3da57d561..000000000
--- a/docs/Partition-ends-after-end-of-disk.txt
+++ /dev/null
@@ -1,66 +0,0 @@
- Cylinder/Head/Size Hell Is Not Over
-
- pixel@mandrakesoft.com
- $Date$
-
-
-Nowadays, you can boot Linux without ever relying on CHS
-(Cylinder/Head/Size):
-
-- CHS information on partition table is obsolete and not used anymore.
-It was causing the 1024th cylinder limitation:
- - disallowing partitions above 8GiG. Problem overcome using 28bits Linear
- Block Addressing (LBA) in partition table.
- - disallowing to boot on partition above 8GiG (due to int13 limitation used
- in bootloaders). Problem overcome using int13 extensions (EDD)
-
-Logical CHS (Cylinder/Head/Size) and physical CHS are not related anymore.
-Especially the size of a hard drive is not a multiple of the number of
-Cylinders.
-
-
-The problem is that many tools still rely somewhat heavily on CHS information.
-- most tools adjust partitions on cylinder boundary
-- some tools compute the size of the disk based on CHS (eg: fdisk)
-
-
-Resulting problems in various tools:
-
-- last partition not cylinder boundary adjusted, and overrun CHS computed size
- - fdisk
- > Total allocated sectors %d greater than the maximum %d
- - cfdisk (need confirmation)
- > FATAL ERROR: Bad primary partition %d: Partition ends after end-of-disk
- or
- > FATAL ERROR: Bad logical partition %d: Partition ends after end-of-disk
- - Partition Magic (version?)
- > Error #109: Partition ends after end of disk
- - Windows <= 98se, Windows Me
- (doesn't like it, what error message?)
-
- Tools handling it correctly:
- - parted and so diskdruid in RedHat >= 7.2 (or is it 7.x?)
- - diskdrake >= Mandrake 8.2
- - Windows XP (need confirmation)
-
- Tools using the full size of the disk, and so causing pbs with fdisk/cfdisk/...:
- - diskdrake == Mandrake 8.2
-
-- disagreement between CHS and linear address
- - parted
- > "Warning: Unable to align partition properly. This probably means that
- > another partitioning tool generated an
- > incorrect partition table, because it didn't have the correct BIOS
- > geometry. It is safe to ignore,but
- > ignoring may cause (fixable) problems with some boot loaders.
- > Ignore Cancel ? C
- - lilo
- > Warning: Kernel & BIOS return differing head/sector geometries for device 0x80
- > Kernel: 38792 cylinders, 16 heads, 63 sectors
- > BIOS: 1023 cylinders, 255 heads, 63 sectors
- > Device 0x2100: Inconsistent partition table, 2nd entry
- > CHS address in PT: 48:0:1 --> LBA (771120)
- > LBA address in PT: 48384 --> CHS (3:3:1)
- > The partition table is *NOT* being adjusted.
-
-
diff --git a/docs/README b/docs/README
deleted file mode 100644
index c1defd2a3..000000000
--- a/docs/README
+++ /dev/null
@@ -1,416 +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.mandrakelinux.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, a lot of things come from rpm packages which you must
-install.
-
-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 (to use it:
- compile your custom kernel with everything needed
- compiled in the kernel, not as a module (loop.o, ext3.o
- if needed, usb stuff, etc) and put the "vmlinuz" on the
- blank.img, then boot on it)
-
- 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/stage1.log: same as alt-F3 part when stage1 run (e.g. actions
- before graphical install really begins)
-- /tmp/ddebug.log: (nearly the) same as latter alt-F3 part
-- /tmp/syslog: same as alt-F4
-- /mnt/root/drakx/ddebug.log: at the end of each step, DrakX tries to backup
- /tmp/ddebug.log to /mnt/root/drakx. Available only after mounting of /.
-- /mnt/root/drakx/install.log: the log of the installation (or upgrade) of the rpms
-(just like rpm's /mnt/tmp/(install|upgrade).log)
-- /mnt/root/drakx/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 manually install a module during install, switch to console #2
-and type "modprobe <modulename>". The modprobe program is 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 ***********************************************************
-********************************************************************************
-1. easy solution: press "F2"!
-
-2. 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
-
-********************************************************************************
-* Auto install *****************************************************************
-********************************************************************************
-A powerful auto-install system is available. It allows performing
-an install without any human interaction.
-
-To feed automatic parameters to the stage1 part (the textmode
-part - might not be necessary for you if you plan to do
-cdrom-based auto-installs, but mostly highly needed when doing
-network installs), please refer to ../mdk-stage1/doc/TECH-INFOS.
-
-About the stage2 part (the actual installer, at the time you're
-(usually) running in graphical mode), please refer to the nice
-documentation written by David Eastcott. Either install the
-package "drakx-autoinstall-doc" from contrib, or browse:
-
-http://members.shaw.ca/mandrake/drakx/9.0/HTML/
-
-The previous document will explain you how to setup the contents
-of the auto_inst.cfg file. Note that you have 3 alternatives for
-providing this file:
-- from a floppy disk; use "kickstart=floppy" as kernel parameter,
- as explained in the document
-- from the installation volume itself; put the file in the
- "Mandrake/base" directory of the installation volume; use
- "kickstart" only, or "kickstart=filename" to specify another
- filename than auto_inst.cfg
-- specified by the network; setup your DHCP server to provide the
- "bootfile" parameter, this file will be used as the
- "auto_inst.cfg" file, in the case you also provide the
- "netauto" boot parameter
-
-In any case, if the specified file ends with -IP or -IP.pl, IP
-will be substituted by the IP address of the machine, when doing
-a network install. Might be useful so that you can control all
-your auto installs from your server.
-
-********************************************************************************
-* 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, from 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 (network.img floppy) 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, and monitors its
-execution; it's here to cleanly umount the partitions when stage1
-or stage2 dies/finished
-
- /sbin/stage1 takes care of mounting stage2 (in ramdisk if
-necessary) then it execs /usr/bin/runinstall2 (thus, stage2
-replaces stage1, and init then monitors stage2)
-
-> 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 Mandrake Linux.
- 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 989946de9..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::bsd: matches a BSD partition table.
-
-partition_table::dos: matches a DOS partition table.
-
-partition_table::emtpy: matches an empty partition table.
-
-partition_table::mac: matches an Apple partition table.
-
-partition_table::raw: generic class for the following partition_table::XXX.
-
-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.
-
-drakfirewall: 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/README.pxe b/docs/README.pxe
deleted file mode 100644
index 2ddd205fe..000000000
--- a/docs/README.pxe
+++ /dev/null
@@ -1,133 +0,0 @@
-Here is a short description to configure a PXE server using dhcpd and tftpd.
-This allows a network boot for your ethernet card conforming to the Interl
-PXE specification.
-
-********************************************************************************
-********** General overview ************
-********************************************************************************
-
-You need a dhcp server and a tftp server on one or two machines to allow the
-network boot. We are not using a PXE server to achieve this as it is not
-mandatory.
-You can install tftp-server and dhcp-server package from the Mandrake
-distribution for example.
-
-On the server machine at 192.168.2.1, you will find a "/etc/dhcpd.conf" sample
-file written by Florin Grad <florin@mandrakesoft.com>, where "mydomain.com" is
-assumed to be your domain name, and 192.168.1.1 a name server. All install are
-done on subnet 192.168.2.0.
-
-All the files that will be downloaded by the tftp daemon are located under
-"/tftpboot" :
- "/tftpboot/pxelinux.0" is a program that is loaded directly by the machine
- where a network boot will be done, this program comes
- from the SYSLINUX package by H. Peter Anvin. (look at
- http://syslinux.zytor.com/pxe.php for more information)
- "/tftpboot/pxelinux.cfg/" is a directory where all configuration file for
- pxelinux.0 will be found, pxelinux.0 will download
- these file by itself. It searches first for a file
- named accordind to the machine IP address in
- hexadecimal, for example for 192.168.2.20, it
- looks for "C0A80214" first, then "C0A8021" and so
- on down to "C0", "C" and "default".
- "/tftpboot/network.rdz" is the standard network initrd for Mandrake installation.
- "/tftpboot/vmlinuz" is the boot kernel for installation.
- "/tftpboot/help.msg" is the message displayed by pxelinux.0, note that currently
- graphical message (as for install using SYSLINUX 1.48 with
- graphic patch by Mandrake) is not supported.
-
-All file "network.rdz", "vmlinuz", "help.msg" can be found by mounting "network.img",
-or the network floppy disk used for install, "pxelinux.cfg" is just an adaptation
-of the file found on the "network.img" called "syslinux.cfg" but without the reference
-to boot.msg (as it is not currently supported).
-
-Update network configuration for your needs and start dhcp server on the machine and
-tftp server and this should work.
-
-********************************************************************************
-* /etc/dhcpd.conf **************************************************************
-********************************************************************************
-ddns-update-style ad-hoc;
-
-authoritative;
-
-option space PXE;
-option PXE.mtftp-ip code 1 = ip-address;
-option PXE.mtftp-cport code 2 = unsigned integer 16;
-option PXE.mtftp-sport code 3 = unsigned integer 16;
-option PXE.mtftp-tmout code 4 = unsigned integer 8;
-option PXE.mtftp-delay code 5 = unsigned integer 8;
-option PXE.discovery-control code 6 = unsigned integer 8;
-option PXE.discovery-mcast-addr code 7 = ip-address;
-
-default-lease-time 28800;
-max-lease-time 86400;
-
-option domain-name "mydomain.com";
-option domain-name-servers 192.168.1.1;
-
-class "PXE" {
- match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
- option vendor-class-identifier "PXEClient";
-
- vendor-option-space PXE;
- option PXE.mtftp-ip 0.0.0.0;
- next-server 192.168.2.1; #tftp server location
-
- filename "pxelinux.0"; # standard TFTP
-
-}
-
-shared-network "mynetwork" {
- subnet 192.168.2.0 netmask 255.255.255.0 {
- option subnet-mask 255.255.255.0;
- option routers 192.168.2.1;
-
- ddns-domainname = "mydomain.com";
-
- pool {
- range 192.168.2.10 192.168.2.20;
- allow members of "PXE";
- }
- }
-}
-********************************************************************************
-* /tftpboot/pxelinux.cfg/default ***********************************************
-********************************************************************************
-default linux
-prompt 1
-timeout 72
-display help.msg
-label linux
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga=788
-label vgalo
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga=785
-label vgahi
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga=791
-label vga16
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga16
-label text
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 text
-label patch
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 patch vga=788
-label expert
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 expert vga=788
-label rescue
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 rescue rw
-label oem
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz automatic=method:cdrom root=/dev/ram3 rescue oem rw
-********************************************************************************
-* Usefull linkst ***************************************************************
-********************************************************************************
-
-http://syslinux.zytor.com/pxe.php
-http://www.kano.org.uk/projects/pxe/
diff --git a/docs/SHORTCUTS b/docs/SHORTCUTS
deleted file mode 100644
index 93a7133db..000000000
--- a/docs/SHORTCUTS
+++ /dev/null
@@ -1,51 +0,0 @@
-********************************************************************************
-main shortcuts
-
-F1 -> help
-F2 -> take a screenshot
-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/advocacy-interactive b/docs/advocacy-interactive
deleted file mode 100644
index 99036008e..000000000
--- a/docs/advocacy-interactive
+++ /dev/null
@@ -1,60 +0,0 @@
-
-> > We already have some functional backends, frontends, that works great, and has
-> > not been thrown away since 1 year. We use it during install, post install, mcc
-> > and so.
->
-> But aren't generic enough.
-
-DrakX handles:
-- buttons
-- bool values (checkboxes)
-- ranges
-- entries
-- combo boxes (editable or not)
-- lists / radio boxes
-- tree lists
-- iconlist
-- wait messages
-
-Features:
-- all the entries above can be mixed
-- nice separation between data and displayed data (eg: choose in list of
-objects representing hda/hdb/... but displayed nicely with size...)
-- keyboard handled nicely in GTK frontend
-- callback on events:
- ok pressed => check before the dialog is hidden
- focus changed =>
- * enables pre-setting things based on other entries
- * value checking on the fly
-- simple/advance toggle
-- shadowing of entries
-- tooltips
-- size of windows computed the best possible
-- perl-based
-
-Misfeatures:
-- display not flexible (though i don't know any of the tools we're talking
-about that is flexible => nice)
-- quite a few features are gtk only (simple/advance toggle, shadowing of
-entries, certain events, tooltips).
-- a stdio front-end exist but handle only certain entries. It would need a
-week-work to finish it
-- a http front-end could be done (mod-perl needed)
-- perl-based
-
-The DrakX frontend (called "interactive") could be moved out of DrakX.
-
-eg of use:
-
-<#part type="text/plain" filename="~/bin/perl/imessage" disposition=attachment>
-<#/part>
-
-[...]
-
-> > -provides a lot of frontends
->
-> And you ideally have to provide a frontend by widget set.
-
-nope. The interface is completly standardised, even if it include some
-gtk-like niceties. The *complete* newt (and not just entries and radioboxes
-like bus) binding takes 241 lines.
diff --git a/docs/comparisons b/docs/comparisons
deleted file mode 100644
index f399a9e84..000000000
--- a/docs/comparisons
+++ /dev/null
@@ -1,288 +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)
-
-8.0rc1: (lang fr)
-
-rpmsrate
-
-4 () 175 139 3:25 reiserfs 2G 0.85
-4 all 831 786 18:08 reiserfs 2G 0.76
-
-8.1b
-
-5 () 77 66 1:24 ext2 300M
-
-8.1pre_rc1 rpm df time/rpm rpm/df
-
-6 () 82 66 1:26 ext2 500M 1.05 1.24
-5 () 89 71 1:38 ext2 500M 1.10 1.25
-3 () 94 77 1:46 ext2 500M 1.13 1.22
-5 X 145 127 2:09 ext2 500M 0.89 1.14
-3 X 231 217 3:26 ext2 500M 0.89 1.06
-4 kde 393 316 4:31 ext2 2G 0.69 1.24
-4 kde 393 316 4:41 ext2 2G 0.72 1.24
-4 kde 393 316 4:43 ext2 4G 0.72 1.24
-5 all 367 337 5:02 ext2 500M 0.82 1.09
-4 kde+gnome 454 370 5:50 ext2 4G 0.77 1.23
-4 kde+gnome 454 370 6:10 ext2 4G 0.81 1.23
-4 kde+gnome 454 370 6:24 ext2 4G 0.85 1.23
-5 all 489 406 5:55 ext2 4G 0.73 1.20
-5 all 490 406 5:18 ext2 1G 0.65 1.21
-4 kd+gn+dsk 594 494 7:31 ext2 4G 0.76 1.20
-4 prev+dev 827 696 10:27 ext2 4G 0.76 1.19
-4 all 1100 988 19:34 ext2 1G 1.07 1.11
-3 all 1640 1331 31:33 ext2 2G 1.15 1.23
-3 all 1740 1434 39:38 ext2 4G 1.37 1.21
-2 all 2252 1843 54:40 ext2 4G 1.46 1.22
--1 all 2490 2048 61:02 ext2 4G 1.47 1.22
-
-# perl -alpe '$F[4] =~ /(.*):(.*)/; $r = ($1 * 60 + $2) / $F[2]; s|\S+(\s+\S+)\s*$|sprintf("%.2f", $r) . "$1"|e;'
-# perl -ape '$r = $F[2] / $F[3]; s|\S+\s*$|sprintf "%.2f\n", $r|e;'
-
-9.0beta1
-
-5 () 89 71 1:35 ext2 500M
-3 X 240 231 3:41 ext2 500M
-5 all 306 293 3:36 ext2 500M
-4 all 808 731 6:48 ext2 1G
-4 all 1433 1331 21:44 ext2 2G
-4 X+kde 822 749 6:05 ext2 2G
-4 X+gnome 369 319 5:58 ext2 2G
-
-
-redhat 7.3:
-- do not halt the box when "halt" is used
-- no sysreq
-- kdm has gnome entry whereas gnome is not installed
- => choosing gnome gives a flashing black screen and kdm reruns
-
-- repartition of packages on various CDs is crap
-
-- bootloader: handling of multiple disks is more powerful in redhat, but more
-dangerous (proposed to everyone, but not proposed especially to people having
-a dangerous combinaison)
-- why still asking about lba32!!
-
-* anaconda 7.3 vs 7.3.92
- - skipddc option (locks some machines) ??
- maybe because it's done at the beginning of their install?
-
- - LVM
- - lvm_dialog_gui.py
- - Physical Extent 1MB 2MB 4MB ... 16GB
- (vgcreate -s ${PhysicalExtentSize}k)
- - see lvm_sanity_checks.txt, take them
- - lvm on / (mkinitrd)
- - handle upgrade when lvm on /
- - vgcreate -An (ie --autobackup no) ??
- (also for lvcreate vgchange lvremove
- - see clampPVSize in lvm.py
-
- - RAID
- - Number of spares ??
- - mkraid --dangerous-no-resync ??
-
- - progress bar in ext2 formatting
-
- - ctrl-alt-suppr during install => reboots
-
- - user names: the regexp is [a-zA-Z][^\0-\x20:,\n]* or [A-Za-z][A-Za-z0-9]{0,7} (depending on wether you're in text mode or graphic mode :)
- - check the user name created is not a system one (see systemUsers)
-
- - SMB authentification
- - cloneDrive ?
-
- - edd dropped (was to detect lba32 capability, which was dumb)
-
- - reconfig type of installed removed (was something between install & upgrade)
-
- - ddcprobe code removed -> moved to kudzu
- changes: sigprocmask and movl added around lrmi_vm86
-
- - $ENV{GDK_USE_XFT} = 0
-
-* kudzu 0.99.52 vs 0.99.55
- - blacklisting modules.pcimap e100 and bcm5700
-
-* hwdata 0.14 vs 0.32
- - dropped XFree86 3.3.6 support
-
- - upgradelist: list of (old_module => new_module) for upgrades
- (a simpler way would be to drop entries in modules.conf that concern
- obsolete (and not available anymore) modules, relying on auto-detection to
- add the new one)
-
- - CardMonitorCombos (for laptops)
-
-redhat 8.0:
-
- (legend: + pros - cons / notice)
-
- Install steps difference
- + firewall wizard
- + md5sum check when booting install
- - no upgrade packages installation during install
- - no services configuration (chkconfig)
- - no printer configuration
- - no autologin
- - no real small installation
- - no small packages (groff-for-man, perl-base...)
- / still propose non-MD5 or non-shadow passwords
- / post install tool (firstconfig)
-
- General install behaviour, eye-candiness
- + package selection a la Windows
- + in language selection languages displayed in native language
- + candy timezone selection
- + help uses bold/italic/big-font
- - no one CD install
- / not using fb at install
- / python + gtk2 vs perl + gtk
- / ask many things before doing anything (esp. delayed partitioning, swap not available when selecting packages!(?))
- - more width-hard-coded dialog boxes (harder for translations)
- / use a loopback file from the CD then copied on system
-
- Partitioning
- - no diskdruid after install
- - no partitioning wizard
- - no devfs
- - no xfs (but now has reiserfs/jfs)
- - no loopback crypted fs
- - no file swap (?)
- - no supermount
- + LABELed entries in fstab
- + progress bar while formatting
-
- Bootloader
- + bootloader configuration less awkward
- - no automatic handling of bios ordering with many harddrives
- - propose to manually change bios ordering even with one harddrive
- - LBA32 checkbox
- / defaults to grub
-
- Network
- - awkward question apropos hostname when using DHCP
- - no default choice for netmask/gateway/DNS based on IP
-
- XFree
- - no wacom configuration
- - no graphic card multi-head configuration
- - no ATI tvout configuration
- - no prompt for logout after changing X config
- - VideoRam prompted for everybody
- / no XFree3
- / no Utah GLX
- / load module "fbdevhw" "record", but not "v4l"
- / always load module "glx" and "dri"
-
- Keyboard
- - many non useful keyboard entries (eg: latin0)
- - no way to choose the toggle key to choose between latin/non-latin keyboard
- - no loadkeys done during install for console
-
- Mouse
- - no way to test mouse choice
- - mouse choices include many non-useful choices, badly sorted
- (Intellimouse must be sought in Microsoft whereas it's used by many others)
-
- Multimedia
- - no bttv configuration (including webcams)
- - missing audio modules (alsa, audigy...)
-
-* anaconda 8.0 (rel. 4) vs 8.0.92
- - use vte instead of gnome.zvt
- - add alpha (axp) partitioning code
- - remove label "nofb" and options "devfs=nomount ramdisk_size=9216" from syslinux.cfg
- - edd (ddc probe) moved to kudzu
- - add "-Odir_index" option to ext3 tunefs
- - screenshoting in directory /root/anaconda-screenshots/ instead of using exported display
- - assembler code change in cpuid, smp.c
- - there is some code to read the "raid superblock" (see doGetRaidSuperblock in isys/isys.c)
- - new code for choosing to upgrade or not
- - hack to remove /var/lib/rpm/__db.00[123] (with comment "make sure that the rpmdb doesn't have stale locks :/")
-
-* anaconda 8.0.92 vs 8.0.93 (rel. 0.20030108205243)
- - drop xmode (bring up text mode in a remote xterm)
- - code available to check the ability to do a mkbootdisk
- (check size of vmlinuz + initrd, check size of floppy)
- - drop "-Odir_index" option to ext3 tunefs
- (with comment "add back -Odir_index when htree is safe")
- - waitForLink added to loader2/net.c using added ethtool thingy (get_ethtool_link_status, get_link_status)
- - OS390 fdasd & z/IPL changes
- - for kickstart, new option "--ignoremissing", (there were --ignoredeps and --resolvedeps)
- - /usr/kerberos/lib in LD_LIBRARY_PATH
- - these are symlinks so you cant make them mount points
- otherexcept = ['/var/mail', '/usr/bin/X11', '/usr/lib/X11', '/usr/tmp']
-
- elif self.mountpoint in otherexcept:
- return _("The mount point %s cannot be used. It must "
- "be a symbolic link for proper system "
- "operation. Please select a different "
- "mount point.") % (self.mountpoint,)
-
-
-* hwdata 0.47 (redhat 8.0) vs 0.62 (redhat 8.1 beta1 phoebe)
- - pcitable & upgradelist
- - replace eepro100 with e100
- - switch 0x1106 0x3059 "via82cxxx_audio" to "unknown"
- - Cards
- - remove most swcursor with comment:
- # mharris - Nov 23, 2002 - Commented out the swcursor option, if it is still
- # needed, then lets disable it right in the driver completely, or possibly
- # fix it.
- - using driver "nv" for GeForce4 and Quadro4 with comment:
- # mharris - Nov 23, 2002 - enabling "nv" driver for GeForce 4 and Quadro 4 as
- # CVS XFree86 support them now in 4.2.99.2
- - special options "externDisp" and "internDisp" for NeoMagic cards
- together with CHIPSET
-
-* kudzu 0.99.69 (redhat 8.0) vs 0.99.83 (redhat 8.1 beta1 phoebe)
- - don't read eepro100 entries from the pcitable
- - handle compressed modules
- - many changes in PS/2 mouse detection, and handle "intellips/2" mouse
- - changes in PnP serial modem detection
- - use "udf,iso9660" option for cdrom entry in fstab
- (note that comma separated choice of filesystems *is* allowed, though not
- documented in fstab(5))
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/drakfont/Makefile b/docs/drakfont/Makefile
deleted file mode 100644
index b70b4a0c8..000000000
--- a/docs/drakfont/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-#
-# Project : Projet Libre
-# file : pki.tex
-# Date : Thu Jun 21 19:26:19 CEST 2001
-# (o- Id : DUPONT Sebastien
-# /\ mail : <dupont_s@epita.fr>
-# Y_/___________________________________________
-#
-
-RM = @rm -f
-
-CD = @cd
-
-ECHO = @echo
-
-PRINTF = @echo -n
-
-FILE = drakfont
-
-DVI = @dvips -j0 -Pcmz -Pamz -o
-
-PS = @ps2pdf
-
-LATEX = @latex
-
-normal :
- $(ECHO) '/*--LATEX--*/'
- $(LATEX) $(FILE).tex
-
-all :
- $(ECHO) '/*----------latex -> dvi -> ps -> pdf------------'
- $(ECHO) '/*--LATEX--*/'
- $(LATEX) $(FILE).tex
- $(ECHO) '/*--DVI -> PS--*/'
- $(DVI) $(FILE).ps $(FILE).dvi
- $(ECHO) '/*--PS -> PDF--*/'
- $(PS) $(FILE).ps
- $(ECHO) '/*--That s all--*/'
-
-
-ps : normal
- $(ECHO) '/*--DVI -> PS--*/'
- $(DVI) $(FILE).ps $(FILE).dvi
- $(ECHO) '/*--That s all--*/'
-
-pdf : ps
- $(ECHO) '/*--PS -> PDF--*/'
- $(PS) $(FILE).ps
- $(ECHO) '/*--That s all--*/'
-
-clean :
- $(RM) $(FILE).toc $(FILE).log $(FILE).aux *~
-
-fclean :
- make clean
- $(RM) $(FILE).ps $(FILE).pdf $(FILE).dvi
diff --git a/docs/drakfont/dia_srcs/drakfont.dia b/docs/drakfont/dia_srcs/drakfont.dia
deleted file mode 100644
index c4502a12e..000000000
--- a/docs/drakfont/dia_srcs/drakfont.dia
+++ /dev/null
Binary files differ
diff --git a/docs/drakfont/dia_srcs/drakfont_install.dia b/docs/drakfont/dia_srcs/drakfont_install.dia
deleted file mode 100644
index 737c19b9f..000000000
--- a/docs/drakfont/dia_srcs/drakfont_install.dia
+++ /dev/null
Binary files differ
diff --git a/docs/drakfont/dia_srcs/drakfont_uninstall.dia b/docs/drakfont/dia_srcs/drakfont_uninstall.dia
deleted file mode 100644
index c06f92dd6..000000000
--- a/docs/drakfont/dia_srcs/drakfont_uninstall.dia
+++ /dev/null
Binary files differ
diff --git a/docs/drakfont/drakfont.jpg b/docs/drakfont/drakfont.jpg
deleted file mode 100644
index 898dfe440..000000000
--- a/docs/drakfont/drakfont.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/drakfont/drakfont.tex b/docs/drakfont/drakfont.tex
deleted file mode 100644
index bbc936e5b..000000000
--- a/docs/drakfont/drakfont.tex
+++ /dev/null
@@ -1,152 +0,0 @@
-%\documentclass[pdftex]{article} \usepackage{hyperref} .
-%\documentclass[pdftex,onecolumn,11pt,oneside]{article}
-\documentclass[onecolumn,11pt,oneside]{article}%seminar}
-%\usepackage[pdftex]{hyperref}
-\usepackage{isolatin1}
-%\ifx\pdfoutput\undefined
-
-\usepackage[dvips]{graphicx}
-%\else
-%\usepackage[pdftex]{graphicx}
-%\usepackage[pdftex]{hyperref}
-%\usepackage{type1cm}
-%\fi
-%\pdfoutput=1
-\usepackage{color,graphicx,shortvrb,epsfig,verbatim,tabularx}
-\usepackage{url}
-\usepackage{hyperref}
-\urlstyle{sf}
-\usepackage{fancyheadings}
-\usepackage{program}
-\usepackage{ulem}
-\usepackage{amsfonts}
-\usepackage{xspace}
-\usepackage[english,francais]{babel}
-\pagestyle{fancy}
-\newcommand{\trtitle}{Drakfont\\ fonts importation for mandrake linux}
-\DeclareGraphicsRule{.ps}{eps}{.ps}{}
-\DeclareGraphicsExtensions{.ps}
-\renewcommand\star{{\ttfamily*}}
-\let\package\textsf
-\newlength{\gxlen}
-\settowidth{\gxlen}{\package{graphicx}: }
-\newcommand\gs{\makebox[\gxlen][l]{\package{graphics}:}}
-\newcommand\gx{\makebox[\gxlen][l]{\package{graphicx}:}}
-\MakeShortVerb{\|}
-\begin{document}
-\title{$Drakfont$ fonts importation for mandrake linux}
-
-\begin{figure}%[ht]
-\begin{center}
-%\caption{Exemple d'image}
-\mbox{\epsfig{file=mandrake.ps}}\\ %,height=1in,width=2in}}\\
-%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}}
-\end{center}
-\end{figure}
-%\begin{figure}
-%\begin{center}
-
-%\end{center}
-%\end{figure}
-\author{Dupont Sebastien \\ sdupont@mandrakesoft.com}
-\date{05/10/2001}
-\pagestyle{myheadings}
-\markright{\scriptsize \trtitle}
-\title{\bf \trtitle}
-\maketitle
-\section{drakfont Future Overview}
-
-\paragraph{Fonts import :\\}
-\begin{itemize}
-\item pfb ( Adobe Type 1 binary )
-\item pfa ( Adobe Type 1 ASCII )
-\item ttf ( True-Type )
-\item pcf.gz
-\item Speedo
-\item pfa ( Adobe Type 1 ASCII )
-\item ttf ( True-Type )
-\item and Bitmap (PCF, BDF, and SNF)
-\end{itemize}
-
-
-\paragraph{Features}
-\begin{itemize}
-\item Install fonts from any directory
-\item Get windows fonts on any vfat partitions
-\item UN-installation of any fonts (even if not installed through drakfont)
-\end{itemize}
-
-
-\paragraph{Support}
-\begin{itemize}
-\item Xfs
-\item ghostscript \& printer
-\item Staroffice \& printer
-\item abiword
-\item Koffice, Gnumeric, ... studying
-\item all fonts supported by printer
-\item ( aliases by RENDER in Xfree86 .... -> later )
-\end{itemize}
-
-
-\section{Window interface:}
-\begin{itemize}
-\item
-\item Fontselectiondialog widget
-\item Command buttons under Fontselectiondialog (like the actual frontend).
-\item Commands buttons:
-\item import from windows partition.
-\item import from all fat32 partitions and look for winnt/windows/font
-\item and import all (delete doublon) but don't import if already exist.
-\item import from directory
-\item look for if it exist before for each font and not delete the original.
-\item (replace all, no, none)
-\item expert options:
-\item ask the directory, and look for if it exist before
-\item if it exist ask: (replace all, no, none)
-\item uninstall with list per font type
-\item Expert additional switch
-\item option support: ghostscript, Staroffice, etc...
-\item check-button. (by default all check)
-\item Printer Application Fonts Support...
-\item check-button. (by default all check)
-\end{itemize}
-
-\section{Command line}
-\paragraph{Font Importation and monitoring application\\}
-\-\-windows\_import : import from all available windows partitions. \\
-\-\-strong : strong verification of font.\\
-\-\-install : accept any font file and any directory.\\
-\-\-uninstall : uninstall any font or any directory of font.\\
-\-\-replace : replace all font if already exist\\
-\-\-application : 0 none application.\\
- : 1 all application available supported.\\
- : name\_of\_application" like staroffice for only this one.\\
-
-\section{Graphics}
-
-to visualize the conceptual graphics please see:\\
-drakfont.jpg\\
-drakfont\_install\.jpg\\
-\& drakfont\_uninstall.jpg\\
-
-
-
-%\begin{figure}%[ht]
-%\begin{center}
-%\caption{Exemple d'image}
-%\mbox{\epsfig{file=drakfont_install.ps}}\\ %,height=1in,width=2in}}\\
-%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}}
-%\end{center}
-%\end{figure}
-
-
-%\begin{figure}%[ht]
-%\begin{center}
-%\caption{Exemple d'image}
-%\mbox{\epsfig{file=drakfont_uninstall.eps}}\\ %,height=1in,width=2in}}\\
-%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}}
-%\end{center}
-%\end{figure}
-
-\end{document}
diff --git a/docs/drakfont/drakfont_install.jpg b/docs/drakfont/drakfont_install.jpg
deleted file mode 100644
index 795a5a711..000000000
--- a/docs/drakfont/drakfont_install.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/drakfont/drakfont_uninstall.jpg b/docs/drakfont/drakfont_uninstall.jpg
deleted file mode 100644
index 711f28e77..000000000
--- a/docs/drakfont/drakfont_uninstall.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/drakfont/mandrake.ps b/docs/drakfont/mandrake.ps
deleted file mode 100644
index 1af9d5bb4..000000000
--- a/docs/drakfont/mandrake.ps
+++ /dev/null
@@ -1,534 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner
-%%Title: /home/seb/drakfont/mandrake.ps
-%%CreationDate: Fri Oct 5 18:28:29 2001
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 2
-%%Pages: 1
-%%BoundingBox: 14 14 424 84
-%%EndComments
-%%BeginProlog
-% Use own dictionary to avoid conflicts
-10 dict begin
-%%EndProlog
-%%Page: 1 1
-% Translate for offset
-14.173228 14.173228 translate
-% Translate to begin of first scanline
-0.000000 69.000000 translate
-409.000000 -69.000000 scale
-% Image geometry
-409 69 8
-% Transformation matrix
-[ 409 0 0 69 0 0 ]
-% Strings to hold RGB-samples per scanline
-/rstr 409 string def
-/gstr 409 string def
-/bstr 409 string def
-{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
-{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
-true 3
-%%BeginData: 29637 ASCII Bytes
-colorimage
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-bl7e@q"4E6s+13Ds*t~>
-bl7e@m,@els+13Ds*t~>
-bl7e@T5=@Ts+13Ds*t~>
-c2RqDnG2D<JcC<$U&TW~>
-c2RqDl/9_PJcC<$U&TW~>
-c2RqD]71%QJcC<$U&TW~>
-cMn+JnG;n/i;S<-JcDJEJ,~>
-cMn+JmbuTmh#;m)JcDJEJ,~>
-cMn+Jie^A<a8UYiJcDJEJ,~>
-cMn+DnbMk)f)($uJcDJEJ,~>
-cMn+DjkIhQchi:nJcDJEJ,~>
-cMn+DST5n_V>GiDJcDJEJ,~>
-ci47Jn+l_KeBdl?s+13Es*t~>
-ci47Jkhjh)WP\C\s+13Es*t~>
-ci47J^4K&h%!hSus+13Es*t~>
-d/OCNnbW%Rn_2+VJcC<$UAo`~>
-d/OCNn);p@^TP0>JcC<$UAo`~>
-d/OCNj+q1n%LcV6JcC<$UAo`~>
-d/OCHnG2eMo&%LUJcC<$UAo`~>
-d/OCHjkS+u^p135JcC<$UAo`~>
-d/OCHTl`:/%Lk8_JcC<$UAo`~>
-lMgqbp\sLY$2s;fp\"1NjN$P:s+13Es*t~>
-lMgqbp\sLY$2s,He&K8A[BAeGs+13Es*t~>
-lMgqbq>T^[$2r)%;B-/V%3+S`s+13Es*t~>
-li.(dk/mMerri>mqY9a_oE+4!k(3P`s.]OD~>
-li.(dk/mMersJbqin;Gk_SWgdk(3P`s.]OD~>
-li.(dmFhC'rsJbkMeO[R%M'!Pk(3P`s.]OD~>
-m/I4fjeV8=m/I1an+l\UoE4C(gAQU&JcDMFJ,~>
-m/I4fje_>>m/I4bjk\5#rk\cKUso9ns+13Fs*t~>
-m/I4flbMl_m/IIiWH^N?%Ls!Y%&s2Vs+13Fs*t~>
-mJd@ggl^4WrU'UfrU9RVp&4Lbm*a;WJcC<$U]5i~>
-mJd@gglg:XrU'UfrTiCk`r3aV];N^FJcC<$U]5i~>
-mJd@gjg<_0rU'UfrR6L%+8lZO%1J$fJcC<$U]5i~>
-mf*Iik)["5qX+:crq-'^p&+Famb#_TJcC<$U]5i~>
-mf*Iik)d(6qX+:drq#.'b/=1p"21eLoR[$ns.fUE~>
-mf*IilEnChqX+:drp>Y\/e\'l!Xrf8JcC<$U]5i~>
-n,F"!nYD2sp&>!hp%nOYp@\.TrV6BpqX41Qqt(!\hT52;s+13Fs*t~>
-n,F"!nYM8tp&>!hm-F!$l0Rm2rV6BqqW?VZ`;IIS^p(69JcC<$U]5i~>
-n,F"!o>7BVp&>!h[uQH0T!cSkrV6BqqQkK3(&JIB%70K7s+13Fs*t~>
-n,FI)^NR3SrVuomhY$U:q"X[\qY0^VpA+[ds82B`p\"CT!oq>fJcC<$U]5i~>
-n,FI)^j!BUrVuomg;hIdf%Jg6kNM-qn+?PWs82-AeAqF&!jo2uJcC<$U]5i~>
-n,FI)d@e5>rVuom_BM'9>A8)$G_hZm`nC%as80]m<Zq5K!Y$ODJcC<$U]5i~>
-nG`[jf8YC8q>UBuqVJd?m.L&NpAajeq#1!kp%eIZp%e4]kKW1@s+13Fs*t~>
-nG`[jf8YC8q>UC0qVJQ`]>_n8c-Xnhg"Y?>kiqElf#bi+_?.6OkCNYas.fUE~>
-nG`[jhm8^'q>UC0qVI;C%2gQM4%)eE@rZaAKVFlk?7QZc%Kd4N"m:I:JcDMFJ,~>
-nc&gmm]UN9m/I"a#6+8C]\r,HrUg-_rq??c!VZ3]oE4O8iVnE.JcDPGJ,~>
-nc&gmm]UQ:m/I"a(&mjRYd1mV_SX4/`lQ?JcdC7lcH*p!_?7KSh>W!*JcDPGJ,~>
-nc&gmnApp+m/I"a(&mjRCCL^_%M'-d*@NX&6:t6X5:%$?%Km:P%*&9ts+13Gs*t~>
-nc&dibD(8oq>C6srp\(Nj6cI(oE4^PjnOE,JcDPGJ,~>
-nc&dibD(;pq>C6srp\(:[(O6N_?7]o`5D>d"2VXrpjrHrs.o[F~>
-nc&dif<14fq>C6qrp\&r%J^M6%g3L](D78P%KT)pJcC<$V#Pr~>
-o)Apnm'1H"lMg\\#6!f&dH0iglLY2OnG*"XrsA\uq"XjgqtB^[JcC<$\c70~>
-o)ApnmBLT$lMg\\#6!f&\@0,fm(rqD`5^X+rqQL"rpo1Err;l[jSON.JcE:\J,~>
-o)Apnm`LrrlMg\\"T@T$+q<fI"VDOmC#f3frsA\WEU3W(qji66JcC<$\c70~>
-o)Amjb*?Map%eUlqr>9CjmVg,oEY'_p\"4Rr;QWo$2s&VmeZnNp>>Uqs+13\s*t~>
-o)Amjb*?Pbp%eUlqr>2i[_BTE_?e'"cIM%Anb`=`rsAYegtV](lHe5ZJcC<$\c70~>
-o)Amjf"$U`p%eUjqr=df%I4K1%hp3M>Ci]roD\[f$2s$mBDVSN(rc6#s+13\s*t~>
-o)Am`[;pHKrV6BrptE13kO@d/(%q:pq"X[Yp%\Lcs8M65p?qSEe(skOs+13\s*t~>
-o)Am`[W6TMrV6BrptE!V\A.@H(;n2:dFR%+k3DR:s8W)^b0fDEf>-5=JcC<$\c70~>
-o)Am`bFssSrV6BqptC`;%I4K?%hp-C8mQ7RKs0)+s8W)^Q8?5H>YX&NJcC<$\c70~>
-oD]!me>?o:lhCD`rq+[OhWjXqo`+Uap(-omq"aUUq=E"uo]5Yem/DS9JcE:\J,~>
-oD]!meYd,>lhCD`rq+[DZ+@a9_A'o,aNMlWf%T6KmIg(uccXqbaR&nWs+13\s*t~>
-oD]!mgr,DGlhCD_rq+ZT%1VS4'b:op,r7b[?>XPE\DZu+?7Vct]^5WKs+13\s*t~>
-oD]!f^6W?3nb2terp\+KipH=!o`+Uap($ilq"O+(guI)Go(DbUrdk*#s1JA^~>
-oD]!f^6`H5nb2terp\+:Zb4-;_@si+aNVuZf\>QHa2#=.eDfTZqu20HJcEC_J,~>
-oD]!fcFJk?nb2tcrp\*'%H\-7%h]a,2F:;PDg@Us1*L+oT;9Krrdk*#s1JA^~>
-oD]!]YCC#np\"OjrThAHk3qp%o_nFnp@?/4i8NJDeEQYKc-"5QrlP;YVY^&e!rCEmrQ58a`3ciI
-d/OCNp#k&U\;/o>h#@ZZp#k&V\rFr4iVs>cn`8KObf\)MdFe!gir92]puU2Tbl5cb^&\&$s*t~>
-oD]!]YCC#np\"OjrThA1\%]]>_A'o-aN2ZXdCHg.]=keag\&b7bKS30b6#MWqY1!kqUNslb6?&0
-`3ciId/OCNp#k&U\VT)@h#@ZZp#k&V]8k/7iVs>cn`8KObfe/NdFn'hir9DcpuU2Tbfe2P^V9T9
-s*t~>
-oD]!]aJt!3p\"OhrTh?P%H@p+%hp!3-mB]:J%7BArWNL]p"S9UgY;_]!n>*`p\t<kinaRe"PMAM
-b59Qc#laScjPJ7fjo4'8#laScjPS@lgAU"1%0#nbjk\\Fg=b?Co`!kM"oe>aj5&JhgAfS$qjmb;~>
-o`#-pfr/arg&(FA"oIDohWO@goFpf^hTE^[d+I+3\@B)hioYiBMk'a<!fM0fq#:d$hS6+`T:M*e
-C1Mkcdf0[Qg;:S9ZD;SVjSds8$N8Ym]Xb>FH>(\%jSoMbptsB7]<eK2rgs@hW2mGdrT4%`rTDG@
-ZDXGrT)saenX]]1~>
-o`#-pfr/asg&(FA"oIDmZ+.O/_@s_sYb@bpYJAE'\@B)hioYlDMk'a<!fM3gq#:d$hS?1aT:M*e
-C1Mnddf0[Qg;:V:ZD;SWjSds8$N8Ym]XkDGH>1b&jSoMbptsE9]<eK2rgs@hW3!MerT4%`rTDG@
-ZDXGrT)safnX]]1~>
-o`#-phSl(>g&(FA"T.;a%1V;,rs]MI#nAC@F#gb?\]3XkXJrM=rP&E>SaH4P%/o8;a1oC'[\K.H
-S+>#-$N9&:eC)RXUQ4F6hZ!r]j3uH'bep?>eGA8+#laY_hUg0!`PMPg"iA7"cKP5grs&Ggh:9`f
-_>_1NY+"mOs*t~>
-o`#-k`1LULi;W?J"o6r`jR)O$oH!MhhT2q%V6%_Zamms?io]goWKMCCDf9T7A7i^Wq>Uls_PM^#
-EG/W[H],6!df0[K[s3%5GACN#iVq^6$MV#aF)?#9>[lFajo6"lim#-6Ob7puCMe$3G'nq%P-t2M
-rseqc_lA`EF(f,p@pNR+qYpZso@s5Bs*t~>
-o`#-k`1U[Ni;W?J"o6r[[Cj?=_B$G(Yb-l2RA-dea2uK^io]goWfhOEDf9T7A7i^Wq>Uls_PM^#
-EG/W[H]5<"df0[K[s<.7GACN$iVq^6$MV&bFDc2;>[uLbjo6"lim#-6Ob7puCMe$3G'nq%PICAO
-rseqd_lA`EF(f,p@pNU,qYpZso@s5Bs*t~>
-o`#-kd(bp"i;W?J"8U`5%HJ$!%2'$U$Vu+1*4lc6i8Wnik-LYHT`1PdTU(S\rV?I%p=$pYT:h[3
-H]"0#n'_4CpW&ntT;8$8L>i-grsJMAUn"!NSr/*QqrRhkr9<%c`3ueET:MRGTqnTfZa\-TkPl"i
-kL[_[W1f]IQ'I8]k5,)[rq>LQW;hA~>
-o`#*d[?tH4iq!*Orq+U^kO]kem,#gfX.uc3c/-+Vg@4Y3s8V`JaII`jBOk^aA?5P&rseqYZA*4-
-An"tc][5[4df0XJgUa)+DIZpqkM?.FpYNZaKQL^.E9$r[rtYF__PW-/@pN2?>?b?@A7fLoF`b+j
-kl1kZ]qg0nA7#49!`N1[rVm*#m+]aaPkD!TJ,~>
-o`#*d[?tH5iq!*Qrq+UM_o(`U+2GLmT8\SmWkcK^ZHL,*n,E@eo\RZZIq35'An#;Pq>1+#rR\?0
-D.R<g>][R)iqLn$$2<2cTmU`f>^5GfrsJMW^Sup0@p<p4roX4qqq/c_LiHp1=B\p5>[_/TBQ/*:
-\,>Ii%J7B1J8/V$='/O*;cr&Xrs&Gggrugaor.n@~>
-o`#*daL[Uhiq!*Qrq+T=&eX=;rs]qU$49S'^m5IRb>Su4rr<#jhT2duQC+#+P`30KqYq$'hor9p
-R$j.jL:kmmpX9'JpY39ST:_@%Np#6u$MWDlWLorNKS\[fk5Q1nimu&PTTkChKS>2>Od;B(T;/.&
-r94.io[1OUS<f1eIXHKcG2iK##6"&QgW-\oW;hA~>
-o`#*_Y**4%ipm$Orp7u)p$;5no'G5SYcFP#`80S<da$mpg!]Zqs8DcYY`!(2BkCmdRIp@U%J7;r
-C2Rg"@9\fPp%n[9rsAYqkKfKE@U+lYh>[f[o]t&"L1=JFlK8*_qpN'DH"C;]<*!I??<^cDA7fIh
-AT[29lMhb#f;aXCARA><Dg6PQL$&F8rp%YE[[qAdm&9r7~>
-o`#*_Y**4&ipm$Orp7_N`p:Jb^q6hCN/3h#`80S%YKl1M]Wh22s8DcYY`!(3BkCmdRIp@U%J7;r
-C2Rg"@9eoRp%n[9rsAYqkKfNF@U+lYh>[f[o]t&#L1=JFlK8*_qpW-EH"C;]<**RB?X-rFA7fIh
-AT[29lMh1hf;aXCARA><DuP"jL?AO9rp%YE[[qAem&9r7~>
-o`#*__mY_]ipm$Orp619+6j@9%3>la$;[D7h<&&XcK!"r-M[W@rV>`pZBLK>R$E]4o_SRso[(%8
-R%0S,JXtfnqYnqC$2sJYcaTp<K:M;arsAYrld`SMP_,=gk5Q7phU/s3R#QQ;FaJO^I"dTHR$jJ2
-Rd9t<rsAY\`iu#$O*Z#%reLuJk5YJ\mb?C>^7Lk]W;hA~>
-o`#*ZUkW8cipcsMp"fB8mIV+`m,#gfX.uc7h=(70ftQD>j2T+,rVm5nY_6SBEG/onK^em=$iSSQ
-AoDX/BO>#Io$.1>roKu.@9o]!gA_B@WJ4hdV"!RI)#`C(R!*(K;HJLGZF-p8L1t./AnPUc]DUso
-)>M+?H=pbn?DG-N`Pp?ss8VuHXd"9O@X..9s*t~>
-o`#*ZV1rAeipcsMp"%[8mD9RQ]<IodLmP-[h=(70^o$&bj1r.lrVm5nZ%Q\DEG/onK^em=$iSSQ
-AoDX/BO>&Jo$.1>roKu.@:#c"gA_B@WeOqfV"!RI)#`C)R!*(K;HJLGZF-p8LM:70AnPUd]_q'p
-)>M+@H=pbn?DG-N`Pp?ss8VuHXd"9O@X74:s*t~>
-o`#*Z_lo/TipcsMorV=Eljj%)&ISpQ:SPe`n,)Q69AoU*Sm:^^rsJ57Xc8[=R[9,,nGE4nrS5>X
-Od;]1Ne"S/c2S%Jjhn-]K!+Xtrs%],YE=C=nE9fgrT2G=UmR0gG)iE)[BQToO-H$"R?WcQr9F;"
-ps6[OR?rbYV7X[b`ROGXs81Tm\#Gs[PNf%GJ,~>
-o`#*USpk'WipcsMo^2GHmdq7aj3"U,UTDDin,*+anBoYPs7bI*nbrIpl)/<.WHrAm@s759rsSJ2
-I:ACfH"^Ghc1oQ`#Q</JHsU*ip"TKOrR.Hg?!Y;?kPlCl^8$'h@ola#aP>qAk2+1GFD,9!@UY`"
-lMhao^RTFYA7Bc1lgXH7o_\[gps#U\B4YY(l)=W4~>
-o`#*UT710YipcsMo\e<Am_T^R[@rP8Q`A![n,*+anBoYPs7bI*nbrIpl)8B/WI&Gn@s@;:rsSJ2
-I:JIhH"^Ghc1oQ`#Q</JHsU-jp"TKOrR7Qi?!Y>@kPlCl^8$'h@ola$aP>qAk2+1HF_GB"@UYc#
-lMhao^moOZA7Bf2lgXH7o_\[gps#U\B4YY)l)=W4~>
-o`#*U^T!9KipcsMoS[$&m1'g>$OR5:U;YmVqu6WbdF%F_pYacqrVm5h`LVjeVOa*;PjJ;I$hVcD
-Ln(08RYu[Aps&gDrS#,eNe"q<g]%NWg;9eIJ&_3FrttFU_PirgJp*g.gudh_hT2LdS!f\/M6-I:
-ru(IQ]q_!^O-@uWnF?&@qu?]ke&%uMR$+!(W;hA~>
-o`#-TSpXpVgA^[C"T@]_p\""I$M!,kX.uc7h=(7?rr39#nF?DUrqQ0`rr3B*gRr(l_2W\Q@;"d$
-rs\kUW+'bVOa^kHB&<L2rs/AEVfl9Mg%sJ'#Pc0+F'E),qrn%trnXZ6D.[6aLXGVgrr<#sm`B`\
->$>!/P4JSO$NB_ai7ci8j6?C=rVn,AnE]E#]pj(TASZtFkNV-or9Wb8k/F0@AnGb*cfjZYk3)`H
-s*t~>
-o`#-TT6t$XgA^[C"T@N>dDbRk$Ga!9LmP-[h=(7?rr39#nF?DUrqQ0`rr3B*gS&.n_2`bR@;+j%
-rs\kUW+'eWP($tIBAWU3rs/AEVfl9Ng%sJ'#Pc0,F'E,-qrn%trnX]7D.[6bLXGVgrr<#sm`Bc]
->$>!/P4JSO$NB_ai7cl:j6?C=rVn,AnE]E#]ps.UASd(HkN_3pr9`h9k/F3AAnGb*cfjZZk3)`H
-s*t~>
-o`#-T^Sd0Lh#?mE"T?Pj8f@%,#n77L:SPe`n,*+`rs8Jjnb`@cq"=O`rsSh_^m'YkXJMAJMs($<%
-/o#$Nf(?RWL/KohYk_!#PlogUksTSqV2#Tps-RHLk+4Vkl2P"ilJBrR?NDkdI@&4s8W&caeauPL
-OslIo)8RqrqGmFjQ#7bn,!%^s!.O8nF5Vd]qLj]S#+d)n*KQAnaQ&6d_hlKR@9u)mdKW2mf'BhJ
-,~>
-p&>9rfUI1qAAA*6rr_uaq"=(I#jTO4W5RN\qu6*b%/\5;@X67aIVN;&b5VD?%K>h.I9iVgS:>$Q
-E97)srseu&j4W#8g[4q*f#-ePrVm?+nD;IBrVulhiRu`LrqQL&rp\gma3WGQSnqYIiVrfU$iTGD
-a6`g)o\S-WrVQU'rTr7if@K0ao\.C>rVlg-o=(-$>B&X%s8W)nimu]Zq>V-,le:"AlMgh`q8/\K
-BP(dkW9sT^rr`5OC0CL:32Q3Grq"sk`4`U`XfSb5[(FcZrr;`7_S!FWKl(F7COr.a[$dWS`50!q
-Y)I=3B52a`ZFI90PP;6[J,~>
-p&>9rfUI1qA\\37rri&Tfuh5$_?d`GLo&&Gn,*+Rrs\eJS76chQ@<RWB$1,Prsetr]7!t[aII`i
->B/d(r;R6*puL,ZfA#]jm+92@rr)j+rp\difDYaKo\nKRn,E+^%K>kSdE'\f^7T4HCZ59krsSel
-f>m7Wrq,'tir/cS!r_K>rmqA<rUegbg&:pM&+d8uBNoH9rr<#tpu9oVrV?I,rTi4kf'<87s7sR(
-H>$o$D5ck$r;Qltf5"Rg=?*/Js8MWGcG[H+YcY"3['dNop&>!cb/:m&VhJu"B5<*mZa?0pm)?fO
-]!%'3AnPk)S[,f5R[!QLs*t~>
-p&>9rgq9PJM9,Ydrri%ZC+^+e%L<LO$BrEan,*+Rrs\eS]T/*!ZDj@WMUDG&rsetsc_uAqb.Xg>
-KSegir;R6*q<I#!ioT_.nD`!err)j+rq#=.ir/oVp?CVroD\Ob%K>t_hUpZCcbH$,L#N%0rsSeq
-in3f#rq>O6lM^V[!r_WLro+.MrV#=)jSf)X&+dlSRtQUXrr<#tq<Hu!rV?I,rUAn.iU?dGs7t$U
-Vja$?QaH/Zr;QltfoULXFuZ\rs8M]Rh:U3%b/hWGc-=Vmp\t3eg"4[!`N>`"R@UCobg!f8m+Bn9
-dE/\dR@0SC^<FsK]X.@8s*t~>
-p&>9qe<bGiA\.^/rri;fq=jRMoEO?eX3pA4rpKdpp:Z]!N7jqXD.7%`qYpL'qp)$GD:$7nHsp9;
-li$i-rqG-bVh9;XWO9ORQuhZnrpJ^ob/:HB[J'1A`k&CNP0Nt&ruh:,e%:laFG6?XK4J52kPk5<
-g!RmUUOqY(gr[+(Ls#\qrsnq`b-[7VNMEen_5D=oqYpL+m]_pd>`%bGs8D-*^8cn'rVca4rqG*\
-UR%RPTs=LpoX0j'AnG[iJ'@WcrVlruke@"p3O[W8qqfH+UlpI\G'/(ZK85MVUXoD3Z^lo'H#IA.
-B52C3Jph<eeu=peJpMEMAnPdpG_(KqBRfHQs*t~>
-p&>9qeX1VkB"Rm1rri;ahU9C2_?RE4UXAN,rpKdpp:Z]!N7jqXD.7(aqYpL'qp)$GD:$7oHsp9;
-li$i-rqG-bVh9>YWO9RTQuq`orpJ^ob/:HB[J'1Aa1ALOPKj('ruh:,e@_)dFbQHYK4J53kPk5<
-g!RmVUP%_)grd1)M9Gksrsnqab-[7VNMEen_5D@qqYpL+m]i!e>`%bGs8D-*^T*"(rVca4rqG*\
-Um@[QU9XUqoX0j'AnG[iJ'@WcrVlruke@"p3O[W8qqfK,UlpI\G'/(ZK85MWUt5M4[%3#(H#IA.
-B52C3Jph<feuG!fJpMEMAnPdpG_(KqBRfHQs*t~>
-p&>9qft+#DNPkS`rri;GI7tRI%L*@LG1#aTrpKdpp<0q%SCt?PSs,,KqYpL'qq8lGL!\,[W02b$
-li$i-rqPR,`2olF`Qm#^\sr*crpo:3gXjTRanGAcg!Rs[\(^fXruh:0i6o0.Trl)DXHnR#kPk;D
-j58S@_Q2qsjkJ/#Yh8pRrsnqigWd+&Zbjr8e\n',qYpL+m_u]%Jskp(s8D<?eAeW;rVca,rqPO'
-_R[J$_9)TSoYn85rg<nYWS.(GrVlruke@"p3O[W8qrZY\_R?YIUnaccXKT%E_;Y@\aM+mZV4X3E
-R@BhGX/VG]f#G5%X/DV[R@0P9V5p_tQ^[?Fs*t~>
-p&>9qh3`IuAXiDbrr_rbq"=%H"QI&9o)A"U*:U4g@'&CoM/d$8Re?^\rp@4;=eXcaRs8=HV""B`
-,Q6oOY@q-TL6-A%LjW]Uk5P%GR[TP$I!M[1Y`jQ^I!fUSo_e_Fqq]5`?s\8GL2:U?@9ecXrRd?u
-QBI#DJ()9=P_4-kL%YKFp!UC%?<qlDE-@"k@q49irr3PoWJFtfV""E_i5)4IFCTpprr4)=jN*g$
-D1d%QHuQ7cnZ7LaAnG^mH'tnN`mNB$me,iCi[s?cpsm0RKlLX0=^#'8?=RSaG_1XmkFcNo?"%;V
-An>FX>?Y-1Gg1_G>$PKHralFG?X-c<=BBS.Y5a"~>
-p&>9qh3iP!AXrJcrri#Ufuh5#_?@3>b4>PuruCO6LL@4DZANX3A"3/ks8MDqFBYBr\XRhO?DR)i
-s!.L-bcb\bCPIpiI#*/[G38esTUVC9N-orM`j(_WH$k!QI.[@:1]-"IT3tuSP_O!hCLLJ,m/>S$
-PEqAeEe)WUY`sc`AqfpXrq4^MJR2W/QuR;)L1=cKqYpL+l)KPJ?)6uirSYPgMf`H\o`"k4rT)%i
-AT!0GEdVi/qsgbCDe<TpCjDGQ^W+[PkjJ-.rSfElo_?tPTnRJs?<LH:>[CoPD0UYebNGR5>[:cL
-AnGU`?<^T8=*`&@?s6fDAH$0H@p`JE>$+jJl)t&:~>
-p&>9qh7BGJO0/-Irri"VC+^+d%Km4Eb4>PuruCOJYD'@D^TaArN32dQs8MH3UO9'!ah4I3K!+VB
-s!.L1grc+;Js;grVm*+\O66H7^q@=jZ`'b5eB>>$V5L5[Sb2j[1]-:d^Q<o(S=,b7SW\Vqm/>nQ
-\%/rNTr-Gkb.+RLPbIdMrq>6rX,)+]TUDUZYEajsqYpL+l,KrjJZeMBrTDbLZ(mDOo`"k4rT`+M
-OGT3hTr=U#qshD(T:)+9SYj!@e(<I8mIKr7rSfj#o_@Cq_6'AqNJ3%>LlR^eSu&Kjg#oo6Mi<gc
-R@0G,NerOFIZr$VOGJgWQC+)-Q&gfYLP:29l)t&:~>
-p&>9ri0S\"A;0RGrri;fq=jRLoE4*fhYld?6gCXi@*J&VNH8W?MXg`Hqok^>C=;@PQZHJ=](Q+'
-rp%Lt?rMQ_`P77JBOP/&l2U+CMfW]JAS$."@r6'lA7f4[l2CX3qprKA=]_$-c+SaGB4,#@nb_+7
-M/R3CCN#8KEbJrj>'B93oZXOW<,AJK_jGIX@p<^+rVuosf;*h$?,H=6hQhEB?sHc`mJm4bi5(4Q
-EjE?WHZ!A@o('&0AS#IdBP_jEO-ucBZ*q3U`p!F%s81?YR<W=O<Duq-Am\kN&Rf6aDJsd;KO7ef
-@q'%^@p2q3<t'#lAm/8?A79%]AR/=6<rm7(Y5a"~>
-p&>9ri0\b#A;9XHrri;`hU0=0_?70AhYld?6gCXi@*J&VNcS`AMt-iIqok^>CXVIQQucS?](Q+'
-rp%Lt?rVZa`P77JBOP/&l2U+CN,rfKAS$."A8Z6nA7f4\l2CX3qprKA=]_$-c+SdHB4,&Anb_+7
-MK!BECN,AMEbJrj>'K?4oZaUX<,AJK_jPRZ@p<a,rVuosf;3n%?GcF7hm.NC?sHfbmJm4bi5(4R
-F0`HXHu<JBo(')2AS#IdBP_jEO-ucBZ*q3U`p!F%s81BZR<W=O<Dut/B4,%P&Rf6aDJsg<Kj\"j
-@q'%^@p2q3=:B/nB3SJCART.^AR/=6=93C*Y5a"~>
-p&>9ri4>bPOe;19rri;8HV,1C%Kd.DhYld?6gDU_K$Nf-Z_<_HU%/0_qq&W>K$ro&\tP+6_"Ia-
-rpACTOEHPj`P8(;RZ`8jl2U+TT9u1=Q^+/*LkgkKQ'm\hl2CX$qr-#2L3B3*c+Td@R?3$'nb_4I
-SX,h7S=?^MQBIJoJro?up"[`^H\&04_kiuoQ%k"NrVuosh8?4OJB%<]jijTgOG\IOmJm4bkLHeg
-KsJ@mVk0*@o('PkR$a;0R[p7U[(F2obKeJ^fC&Y<ruh3rdCZ6COFVLsH[U3kM34-nStDk)UOdT>
-N0K]tQ%s\aFps/NMgBPoMisHqQ]-:hFodB_Y5a"~>
-o`#-UP]^SJEpNAts7??ep$D;Pj2'a@s$ZkAU1IrnpXt[MAn6;Vs8MDpDHa4-l`?4a>@#qYs8MT-
-Uh!JR`T-LO]o6r=>bplho%(RBIqiCm<HOn>XaY%t?!u^ls"s]2]Tc]&S^Zrtj/n,S?<t/8rU&.L
-P(%.V@TRN?IUlARM<ju\Z$BA\]%ZT=bE7$Y?%_A?s!RZ_T6+:JgA'O+AS-3k;,aC]s8ColO^)V7
-i9Sg_H!=\@pX=Lu@:]@L6"akGDfpAVKo(nYS%ALrl+*7-B44b;GbVLOYFBWC@qB:fBnaC,WMYDh
-BP(^[H)@R?YKGP5WMueYFD>Du?YQ>8W<09Gn#l\@~>
-o`#-UP]^SJF6iJu"SCd-ai!M_!jnlbli0BPgnSFnhY5]cF(Ss2mJm1Q[r,BQl0GF5CKk,uqZ$Qc
-`2$pDIDt7:kIupq?sTSts74aUQ[`aY<`X@9ZE8UlAmJj*rr4hRhS#.Z=.Rh,o]**2D-gP[p&4:.
-^6="\A7AY\T7:BM:l=T7bcuFoA\-U`m)tQ:@U4WMrr4AB`h.?WA_Qq9XCZ!i>#A4rn,N@F^l_l9
-^>S>*T6XXLl1`YT@:<^GAjL'CC2\6@J;&iAR%1bbropt^G\:Ga;L,"B[BH'B@Uit^C2&C<YGnCS
-E+iim??rEIWNXIt^T"31P'(MOA7')Iri#t&b3uM5J,~>
-o`#-U[\T=SPO%l@"S@FZ.M;%X!Y#=mli0BPhnbV3hY5^3U6q+2mJm1Rc(B?gl0H9rSV_jLqZ$Qd
-f>Eo"N5aiIkJ4BrO+FJ's74aUW2c>LJ9QgEZE9[fR#H[Xrr4hRjO:SrG,*OQo]*EbSrJ99p&4:.
-^8S$$QAg6HTotC_ELH.gg<6=BICe/#m)uW0PD,:crr4DCdD)H4L"c=`a-)"2J9>q:n,N@Le[C3_
-^>S>*];CF;l1`YtO-,crrg?$?S=cRSWi`M5]"H>crp.qDV4!KrEJUEr[BH3^Ng,p!S!g%fYGnCg
-T:;74KnuV*WNXIt^T"31S>)L@QAU6hri#t&b3uM5J,~>
-o`#0XQ?d.RC=`CXrr`5dq=a^X#P.6Ah:prSnbMeYji6<Gs*X^eS76L"rSWl_B4,B:s81'6??Olp
-kbj/H>\i<ts8'mAH<=RmlhpeYbaWf_?,?77r:T0RP&"9(NPF*,fq*h.>@QXms8MN%Tk.;IdI[A;
-oXpN1>@#qYrqlBKViGOu<-5k$Z=$^Xbja>pN*KGaiVEKOiLka1>F"XUs"!`PRr)P[i7t\PD5jp_
-B:%6Erp[^p@9KJfqu,0MEE[;BrTCV-?<UZD@qGOL3bN,AF*`26p!9XhC1LLJLVhd-kiC=+Iq`J+
-BObeoj5S[aL2U[5?]*IpioKLtl/L^YZ\rm:A7'B*ro+"?mJ=!cJ,~>
-o`#0XQ?d.RC=`CXrri;^h9a+<_?[lg['-X=]"n-Y!k,,gli2A0bFN*_jo+,%G%Y2rl2UY*TO2lo
-punZ2AR'$0rr;i<YBj;Z_s@7#q95@Q?=(MBs8;QOY**R)=H1)Ijk68YAm8d*s8W)f^7f+?Fj]g[
-s7EsjEEcc&qYpBbj/@uR>uc!\d'@(]H-Gd3[u=QoWo<dQrSaH$@9f)crr4M@\XRGDI,NeeB5X`W
-EbLilp\sZtSmbg"j88f-YAm`bjo+ANE*c^S@:NmGAiaR<CNFfKX7af>JSJ_!<JSHFk31mW\pnF*
-AnY[i_W0Y-Tn[Jt@UG#Eio9%do',/nh6`,^An57idf/5-jR)fHs*t~>
-o`#0XZDF%TOkTg.rri;6GXNAF%fQn=$k3[@%K[(Cip6Vlqp`<?MWOfp[%s+OMs:9=fYE<!fD+RK
-YEt#uiVrlRfZL+DHc,1Is7t*VUlBoEpAb'`jhS?rLj56#fB(\kXI4lrj8]/Yo$Y@AI>H;Brr;W3
-\Y+e/g%t^Fp#EcnSVqcK^<j<AFc+E4iQnfeGcp$$rr(fjX-/%/mf*5;oZ=b;N0iJ`c'<p^[>9=)
-fD#:7e\@5mXQ03Vh8u@BLZSKt\W)?!NKKHlR/<:3R[p1NVo/2[a/b\qLj#!!g?.V[f".<;R$jD.
-P0)bDf<h]QR?NDqfAbfNmIKN$in_;RTp_4(MphUa!p&bFY5a"~>
-o`#0\SpbBcC8q('s8V]lq"=XY%.`iKfuLG"XLZ^>n+6GK"6[b[rp9Y=p:Z`"MX1<)Q?m4QA^gVB
-[r,BTm/>M0IUZQ1kl:YD[?G'&OQ-0;s7sX)F';l'qu6UAn$/*h>B%aLq>TigP@e$<jo>AXd]\:.
-=gIAms8V`'Rr2JHiVriV+7#tfA63'HjRh6#W5n/m\tE_>E7O^_s8LoOJ6uQaoD\bEn#qskCQ?fU
-NHDegi5i[anbr@/Y'aSseG&t.`0FV+L["j6hQqZ;=^"s4>$P?@@V#IM->.(*HI]WtFCnucBufQ:
-rr;umj0s>IAnPXcTDANWY`Ed9@UPDiq>U`q`g(a[A70WGW;hA~>
-o`#0\T7(KdC9%.(rr_oSfZF-0%)KWdXe(W3Q'8&Q^;9]`"1Y&Urp9Y=p:Z`"MX1<)Q[3=RB%-_C
-\8GNVm/>M1IUZT3kl:YD[?G'&OQ-0;s7sX)F';o(qu6UAn$/*h>B%aLq>TigP@e$=jo>AXe$"C/
-=gIAms8V`'Rr2JHiVriV+7#tfA63*IjRh6$W5n/m\tE_>E7O^_s8LoPJ6uQaoD\bEn$&$lCQHlV
-NHMkhi5i[anbr@0Y'aSteG&t.`0FV+M!=s7hQqZ<=^"s4>$P?@@V#IM->.(*He#`uFCnucC<,Z;
-rr;umj0sAJAnPXcT_\WXY`Ed9@UPDiq>U`q`g1g\A70ZHW;hA~>
-o`#0\[&KU_Q+HhcrrhtK@jhld%L<LP$OR1D$4IC>%Kd.J\,Pao0_W]"MONl2k-LqSP)Iuklcu,M
-[d<tJ_5WZQP3DrFkg$Z$I@K6ns8VoA^7pF4gACmL-1Aj`R"U19l1t>I_7,hcM<4d;qqK5oML)_s
-rr<#jah44$L#N%1ru^RG[$H5f\`ED<WN+#'n^"t>JVDYKs8W)W_Q&ZH[e'Lu1@N2lSX6>,e$G.J
-h;HAhf(&_9fZC(LMq%M#maeq,FI27lptiE>I=$HqL51YFO->otrg>(&RAS]_]q_!ZJq:u.qu6Wp
-puAo]R@'D.NjAK\n\MT+R?WN'nbN1jps-FGR?ieol)=W4~>
-o`#0bY^gP%AUF"BrtYM!q=aIQn`o#X]W8'.Uo1&mdH'cfr:C*SaOC%Qs!@0?Lg[%Js6HG3Cgq%n
-ouW_1FkQTeb+Eug>E%qKqSoF\>[52<rr35r]:3S@DrUcqru1.$M.9eIk5G>[n#qsd>`%bGs7Edj
-C0PN+q>UBun?A-h>^,B1ruh="Vh8A[No'X3o&/HpqV830@9]8err<#sd%GYh?IeiMs$GtLMJI3l
-WL\$Lh"gg9me6VZn[4^#D4p%Yf"HrE;.[o@s8McQa0:YNB4=qD<`r[6@:a%_B4Z"YTnR;p@9eiS
-rVZ[/q:UdLB4b[`MXpf;Y`Ed9@UPDiq>U`q`g(a[A70WGW;hA~>
-o`#0bY^pV&AUO(CrtYLoh9a*W^Ug\GQ&(ZkTr4WYVR=.Sr5&QGT?[9"s!@0?Lgd+Ks6HG3Cgq(o
-ouWb3G1l]fb+O&h>E/"LqT#L]>[52<rr35r]:3S@E8plrru1.%M.9eIk5G>[n$&$e>`%bGs7Egk
-C0PQ,q>UBun?A-h>^5H2ruh="W.SJ\O5Ba4o&/HpqV861@9f>frr<#sd%P_i?e+rNs$GtLMJI3l
-WL\$Lh"gg9me6VZn[=d$D4p%Yf"HrE;.[o@s8McQa0:\OB4G%F='8d7@:a%_B4Z"YTnR;p@9noT
-rVZ[/q:UdLB4b[aMt6o<Y`Ed9@UPDiq>U`q`g1g\A70ZHW;hA~>
-o`#0b]W7TkQC[U@rtG@EGXN>X%LijU$ORA5O/J%.$k<%C!t>X6qs=>/nA_\eY42JW[]>s`O3@4I
-]n_Htq>/RTVNHG#m/Qq2`2AK?`Uj*/#PH6PSV;mZrr2p9l,KrlJskd"s8VQ,\<_`7lMpnVbe9O"
-K\-&!rs%u3\=&&2kPkK(ro:quO+!JRqYp'Di:$O$aKUeVVX"0\s8CQbV2BfRq#::Ll,9itTWQ2I
-TTe1,qXEqHrVuE4\t5=nk4.H[Z&!FLb4>T3pZ';uR#$3<G'/"VK8PhYrg=.\T"De@SXGUlSE9_I
-rtG4]XJ2,NQB%[0s7*q4Tp_.$V"+9\#l)]UUm[O-Om/hEJ,~>
-o`#3jbCF>>ASnsUq#CBd'DV7gjOV8SX/2Yr_q3baZ*MsCnGMn\kK)$Fm/JBsWH)@^pAaWdLi?m?
-V;AUk=gIDnot?l=?X0]'s7*C\C0YK.qu6U"n?A-g>_D;?rs/PTUjlcWV"+Ha&F-<R@9]Mrs8M,[
-M.9eHkl1S]#4&4H@pFuZrr3`3dA)"m>f6.3s8DinrqXF(H<spup&=t,pq`M@>@ugls8W)RV1E2e
-Dfg)5C;'TDs!%ElW.SVlHC1@VA6;lY^#f.ks8Mocj4)&ZZE0a]K6:j;@fBsHA8HgPF(f/o@'0"s
-rtGCrV1reuA70`Ns7*=SEFrZfPO\JK#l)E)G@kAnGNl(+J,~>
-o`#3jbCOD?AT#$Vq#;*$jOhPe[Ao^TLm4C4_q3baZ)=V2^\kqN\=^n<m/JBsWH)@_pAaWdLi?m@
-V;AUk=gIDnot?l=?X9c(s7*F]C0YN/qu6U"n?A-g>_MA@rs/PTV12lYV"+Ha&F-?S@9fVts8M,\
-M.9eHkl1S]#4&7I@pFuZrr3`3dA2(n>f6.3s8DinrqXF(H<st!p&=t,pq`PA>A)mms8W)RVL`;f
-Dfg)5CVKcFs!%EmWIn_mHC:IYAQW#[^#f.ks8Mocj4)&ZZE0a]KQV!=@fBsHA8HjQF(f/o@BK+t
-rtGCrV1reuA70cOs7*=SEFrZfPO\JK#l)E*G@kAnGj21,J,~>
-o`#3jcDmA%R$u+pq#;'#L1;M>%1EUO$8Q4s_q3bg[V$!Xq[N];$_d@^s!?sKU4UDYs7!b+T9bhU
-iQdg:[d="dbIs^4J@+nIn]AA4LP4I[rr32l`OM7fQ0J;J#QEPsWfVe7nc&P"lGg)kJ?JDAro_;*
-P_,:drr2p%lbg&oK:M<-rtYLb_PW3<`Ua$.rVQQmq9ZpSNI].Drr3c/cG#s,KAc_.s8LonX-f*A
-U8+-@b5M8<0`BeGXI#0H]>1J/H?G(Xjno)Xrql6GeA]#)XJ;/DLPLnSR$jA-RA@$\R[K:l[IX4p
-'E77+Y+:uHN0N`0n\MT+R?WN'nbN1jps-FGR?ieol)=W4~>
-o`#6qhi2JbBP;n\rqcX2rTs@QiQJ^2WMHN)cJe6bqt/mh\(g-:rU^3Ub0]qNs!Ia#U1@`equ?<%
-MfWKKPI?KVHeJ5pn?A-r?!bbLs66G:A6jWHrr2p%l`,nQ?(CB_ru1aRT6O[J_=mp/rn!uq?!YVI
-s8C?>I:6K`nbrIlk,*c>?)7#irs/;5So@qLh#%!K#P"s\DHgE%r;Q^#o!Oiu>B]0.rs\eJTm:$G
-@q]FcB8?0Xs"O5]RWMk;>[1HHEJ1:2jQkXVf\"]ol1a`6kMtCKbe^K:DeN`p@V0q-C1_'eA@D7/
-rt=e+P]:;G?Ztc8nZ\'oAn#/3nbN1jpr8SCAn5:nl)=W4~>
-o`#6qhi;SdBP;n\rqcX2rT2eVZ_ES<PaA5XcJe6bqt/mhXKK+KrPAZITum)ss!Ia#UL[lgqu?<&
-N,rTLPdc]YI+e>qn?A-r?!khMs66J;A6s`Jrr2p%l`,nQ?(CB_ru1aRT6O[K_Y4$0rn+)s?!b\J
-s8C?>I:6NanbrIlk,3i??DR,jrs/;5So@qMh#%!K#P"s\DHgH&r;Q^#o!Oiu>Bf6/rs\eJU3U-H
-@qfLdB8?0Xs"O5]RWMk;?!UZLEJ1:2jQkXVg"Fosl1a`6kMtCKbe^K;DeN`p@V0q-C1_'eA[_@0
-rt=e,P]:;G?[(i9nZ\'oAn#/3nbN1jpr8VDAn5:ol)=W4~>
-o`#6qhl337R[Kr<rqcX1rOd/&%1ERN(Jp@-cJe6cqt/mhBabIK%Kd.JT_RpS-N;o=Q%@Zds7F@;
-TpVIXag?_[g%k[;`jhY!JBmohl,BilL6Ca!rr32g_m>PYW:0`c)Z%jrV2^#FpAb0lh8?4MJ'@Ze
-rRercObC(2rVm)a`3#/RY4;Mk#PZKWT883VqtpBun\qu/Lk"4Xrr32na1@^nNTU6?%/\PiV2p+[
-Ng,rtV=jcd0_il(UQ'_NI<pEsOK-@^n)i]kj5ASXp[RS4j5&80_69B$S!f\.OI;f4R@07s^A%L(
-'(<]HTp_1&OmE&;_6fo(P_c.*q>U`qcFKa=Q].'kW;hA~>
-o`#6sm&bA@AnZ4XqYL4/o^_[uY,e@pZGkP^oAlm+n,)qIb.c]qnc&._lHdfNmJeL0bFE$\j8T)R
-d>r?]DM3^N?+fV)s6HVBB3Sj$rVkNCIUccGm/I"iro']*?X'c,rr3o/\XRSB?/#2Us8'd/F'N>5
-r;ZQ,R<N(I[.aM!#Q<)DHsU*ip&=srn["Qp>^,?0qu6oeV28knEo[/urs%npP@RmUli-nnp:Zu8
->$@)HDJ!EsdJj+E(\4npDI@4VWi`_GcJS-cftXqsXe:!`qu6U*rr)WambP(/EFrcg@#Aq&AclRU
-U\FWb'(</mEFrZbHKtP#Y`Ed9@UPDiq>U`q`g(a[AR]oKW;hA~>
-o`#6sm&bDAAnZ7YqYL4/o\[]`MhmXjZGkP^oAlp-n,)qIb-/"Z^])(P\u!F@mJeL0bFN*]j8T)R
-d?&E^DM3aO?+fV)s6HYCB3Sm%rVkNDIUccHm/I"iro'`+?X0i-rr3o/\sm\C?J>;Vs8'd/F'N>5
-r;ZQ,R<N(J[.aM!#Q<)EHsU-jp&=srn[+Wq>^5E1qu6oeVMStoF6!9!rs%npP@RmUli-nnp:Zu8
->$@)HDJ!EtdJj+E(\4qqDI@7WWi`_GcJS-cftXqsXe:$aqu6U*rr)WambP+1EFrcg@#Aq&AclRV
-U\FWb'(</mEFrZbHKtP#Y`Ed9@UPDiq>U`q`g1g\AR]rLW;hA~>
-o`#6sm'rdWR@Bk\qYL4.oOf9T$48nBZGkP^oBO;snb`.Kb#AfZr=/o=%$LAPs!@Ql]oS!0rr;cB
-[%`t\XKIS0^@)"#lbg&sLk4C\rnbDhP_bsurr36&j27pYJ%5.Mru1OP]V((0gACpMqU30RLP"@[
-s7jjNUlgAEpAY'srRnubNe"q<rr35na1@[mNop?<rs.l(Z'pW1j8T&X#4BF=Q%>Fjrr3H$bIsO&
-H'jtfR?j2mrr)j5o#.u.N.\"-XgZ'khsgC!eBZ.V^S]QYrr3`4rV6$Qh7C%fR@&tgR[ok6R?iuB
-p\On&n&Mu4R?N>dlMpCj[%WnPLnsS:rs8DF\YPX[Ng&_+s*t~>
-oD]-ke:VIHBQ8U'qu$I:rTWITVkg?,e)^&okeDar]C5b!rThG=gZ\2"o^'uIp$Mc*p:Z`#M<b-@
-rS<QWAnZ$h=G#B*s8V5ZK4J5,jSo&"Q[*(NPOSSO#Q<&EH<ab,q>UC4n$&$i?#\g&s8V`&S8)8O
-jo5;PZ]K6:A%;=5rs/A=T64CFg%t^J#4&=M@pFuZqYpcaU5*JnGNf#*#3i+C@9ou)rr3GsYa/m*
-FiV=FB4bkDq#14/nZ\'nA9QD\jQZ+*qu6<(TS@c=F)SS`q>Ufm^R]IY@olp:Ir>6t!b[5Xqu7?/
-k-U(`Amef#m/QU[O)\c@@$C-Vrs8D=Q$-bOA9[::s*t~>
-oD]-ke:_OIBQA^*qu$I:rSk;MPaSMbe)^&okeMjt]C5b!rThG+Y.;<a_Rl\Wp$Mc*p:Z`#MX(6A
-rS<TXAnZ$h=G#B*s8V5[K4J5,jSo&"R!E1OPjn\P#Q<&FH<ae-q>UC4n$/*j?#em's8V`&S8)8P
-jo5;PZ]K6:A%;=5rs/A>T64CGg%t^J#4&=M@pFuZqYpcaUPESoGj,,+#3i+C@:$&*rr3GsZ'K!,
-G/qFHB4bnEq#14/nZ\'nA9QD\jQZ+*qu6<(TS@c=F)\Yaq>Ufm^R]IY@ols;J8Y?u!b[8Yqu7?/
-k-^.aAmef$m/QU[O)\c@@$C-Vrs8D>Q$-bOA9d@;s*t~>
-oD]-ke>&FuR\?e"qu$I3rNm"@+BkGPe)^&omF&)'_XIL(rThEe$k<1G!t>ZQp$Mc*p<0t'Rd0qQ
-rS=fSR@Bb/I$*7]s8V6#Xd+TsjSo&*\tt[NV==Ka#Q<;kVM]lSq>UC4n&Dl+LPb$is8V`6]pj_8
-jo5;P`3c8%M88ocrs/AH^S?[:g%t^J#4'78Q%PUnqYpca]W[fdP3DlE#3j.3P(C"1rr3Gs`jqIi
-M9!H.R@0DFq#14/n\DN(Oc\#NjQZ+*qu6<6^TXQ5Tps$rq>Ufmcb?0BP_4CfTUu.N!g]SOqu7?/
-kKU<'R?2ogm/QUl[%WnPLnsS:rs8DF\>5O[PEtI3s*t~>
-oD]3skbrH1ASZOGVsOE^ruh3s_Psrbh<an5ikpgsNPF3?rr<#qkeY$ekje<3d)>MBs!@0?M.*4L
-s8W)ZQ?m4V@TQdJnG`Idd\;/!>_MAAq9"eAAS-kirr35u`hIN\CuG9krs%_dLh'b>l2L\om]Vgb
->`7qJs73CMEFWXdp\t1)oYR8@?>SU"s8W)WVh8D`V"+<]#3hh8Cgq>Hrr36&goH!5?c2X;rsn@p
-N+6(Lk2;MDBOu/=rr2p%nZ@^h@Vk9*rri>h\rUh0Acl_$li-e]')U1eNc&E6<-H<EEFrfrAoc)n
-r;RH,bc6,*A6N-Ao)J6aO)\c@@$C-VrsAJ=OEG/JA9?`.WW.J~>
-oD]3skbrK2ASZOHW9jN_ruh3o[%t+Oh<an5il$q!Nka<@rr<#qkeXC'\\H"nVRQ-`s!@0?M.3:M
-s8W)ZQ[3=W@TQdJnG`Idd\D5">_VGBq9"hBAS6tkrr35u`hRT]D;bBlrs%_dLh'e@l2L\om]Vgb
->`A"Ks73CNEFW[fp\t1)oYR8@?>\[#s8W)WW.SMbV"+<]#3hk9CgqAIrr36&goQ'6?c2X;rsn@p
-N+6(Lk2;MDBOu2>rr2p%nZIdi@Vt?+rri>h\rUh0Acl_$li-e]')U4fNc&E6<HlKGEFrfrAol/o
-r;RH,c)Z;,A6N0Bo)J6aO)\c@@$C-VrsAJ=O`b8KA9Hf/WW.J~>
-oD]3skd-eER%:(W_XRR(ruh3V>_of0h<an5l.*2,SA3eNrr<#qkeTIl%1WjW$tf(ts!@0SZ%oLO
-s8W)ZZDO(YP_"%onG`IdftjYOKU:s'q9cUFR$496rr35udD;Q7LuA72rs%`,Ya'p*l2L\om`)`%
-Jt20,s73t0TTtVPp\t1)oZk7FMMU6js8W)Y`3#2SY4;Ag#3i_%SWf6#rr36&hoMjZK#m]crsnA4
-Z]p$0k2<83R[9K&rr2p%n\;?&PEP/,rri>ja0_K<R0/nXmf*+`')US3Z_!MAH&BY@TUD4:R%Dn-
-r;RH,fZ0t[Q\^!uo)J6r[%WnPLnsS:rsAJF[A0.XQ_!.8WW.J~>
-o)Bg*dtqgLAnlF@S]^I$s82'2fB2Z"kL6u'D0r;*jnJcQrsJYc_8"[ena+Z@na6>[lE,>?]Cl1'
--L%4TCLpdPK&6D)s7jL(H!t'Mn,N:<N,WB>GO5A0rpIXpE+4(Trr36&gSB=->`J.Mru1+#LLXkt
-nc/X]]7k-6BpJ>js8M,mP\afRkPkJdrR%Bf?<t/8qYqf)RXT$_DT;YTs8(!>H=1:<qu?]qiMM68
->cdMc]Qe%$C6\Mmrs/(sK5P7<\,H:*55jQB]74L*AnZ")S^HX!rqc!<cF9']AR88;ZerB<A7]Cg
-DMZI5s8W)mf!pl_ARAAEfD5I:Y`Ed9@UPDiq>Us#c&-IPB4u1McIg^bb5JLCJ,~>
-o)Bg*du%mMAnlFAT$$R%s82'2fB2Z"kL@&)DLAJ,jnJcQrsJYc_6'iM^UpANna6>[lE,>@]Cl1'
--L%7UCLpdPK&6D)s7jL(H!t'Nn,N:<NGrK?GjPJ1rpIXpE+4(Trr36&gSB=->`S4Nru1+#LLXkt
-nc/X]]7k-6C6nMls8M,mP\afRkPkJdrR%Eg?=(59qYqf)Rso-`DT;YTs8(!>H=1==qu?]qiMV<9
-?**Vd]Qn+%C6\Mmrs/(sK5P7<\,H:*55jQB]7=R+AnZ")T$lg#rqc!<cFB-^AR88;ZerB=A7]Cg
-DMZI5s8W)mf!pl_ARAAFfD5I:Y`Ed9@UPDiq>Us#c&6OQB4u1NcIgacbPeUDJ,~>
-o)Bg*e"E%mR%0kP^=i/Xs82'2fB2Z"mGQ<uP`W&jjnJcQrsJYc_*8>;%LihXna6>[lGocU_=dg-
--L%t?SX5:\Ol$!8s7jpTV36P3n,N:<Z_*YOSF$:Urp\=LT9#/urr36&hSQ:UJtDB/ru1+@YEb!S
-nc/X]`NGf"R'-)]s8M92\=J\DkPkJdrReucNe"q<qYqf)[],gaR*bg3s8(?dViZ_hqu?]qj2A$\
-J@+n:_5*KeR^)Yers/)/XIbfI`r5l955jcd_Q'&lR@9\C^#&/Trql3IgsER+R#ZK:\)4upQC+)0
-T<HoFs8W)niR#$+R#ZK?fD5I:_6fo(P_c.*q>Us#d^#L4R@BhYgZ%2BgAS2SJ,~>
-o)Ba/m(IUQ@qB=nJ![1Jce7C<f@J6]Vg;umQbhDFr;-F"qrY`0g$%bO`:<9q#6*J_F)'D)rr4>5
-W.f+u<a*6,rr<#i^n5aYBXIF3ro&]MAnPt[p&*jhVh8bsIHgb2-2YoZH='sZo)Jagd@G\sD6rp8
-s7k,rBP(q$_Ya,_]:+%ZAprqCrs/;6Soe1Bg%tRFEU03?BP2(>lM^"mYDdF1DqY-is8CB@HsL(&
-p\NU&D.[I&_>XE6oYc)fAncbIrVui^c'`OhJ7iA'B4u::SZ]T?_S<LQLiHp0:fES5o@f+9@:a(g
-H'PYSbKe,8P]gVF;H'1Mrr;MmO)\c@@$C-Vrsnq]JnS_-BPrBkWhXj:p9+FG~>
-o)Ba/m(IXR@qB=nJ![4Ld+[R>f[e?_W-W)oR).MGr;-F"qrY_sXgu'C\+/nd#6*J`F)0J*rr4>5
-W.f+u<a*6,rr<#i^n5aYBXIF3ro&`NAnQ"\p&*jiVh8bsId-k3-2YoZH='sZo)Jagd@PbtDR9$9
-s7k,sBP(q%_Ya,_]UF.[Aq'"Drs/;6Soe1Cg%tRFEU06@BP2(?lM^"mYDdF1E7t6js8CBAHsL+'
-p\NU&DJ!R'_YsN7oYl2hAnceKrVui^cC/akJS/J(B4u::T!,fC_nWURLiHp0:fES5o@f.:@:a(g
-H'Y_Tbg4;:P]gVF;H'1Mrr;MmO)\c@@$C-Vrsnq]K4nh.BPrBkWhXj:p9+FG~>
-o)Ba/m(f'QPaIr5Wk-3th;mk`iSiSA`MSQHT>B7Nr;-F"qrY^Z$k3XSAb#3g#6*T(U6+()rr4>5
-]<.ZgJ9Sfurr<#ic+g$<OM1;dro'oKR$jP^p\a=.`N>\rT'?7S-2Z3-VN6;8o)JagfY4>OR)&Cp
-s7k-ER[BS?dJNb#d_)KIQ(I7>rs/;D^8$O7g%tRFEU0s,R[KYMmeuV/ag.P'QJDK>s8CWfVi6/O
-p\NUASXGq?dJa+FoZ="uR%()6rVuicgq/okT9bb0R@BkN^<+gRf@8*^Yb78=GB9;0o@fq'P*_T.
-VRXe#gYLQ.\"oCPHul1Jrr;N)[%WnPLnsS:rsnq]W0s!?R\$Rn`knUap9+FG~>
-nc'R)iM^Kt?t<kbFFfLGWNrn2QuunCBp6-WlhUPTrs8Ma_8"[bf>[7Ks(;9#lH6&KFN!>@s8VZ#
-MJQNsK&6D(o^(GHP&OuPU>PtMl(Ds(AT*="XcddEAS,Ll[+3%=oXpK)>?o)?s8Vr8NH&QBIE]p?
-q;R?H@V9bCWMY2mBP(geDm\'3d-e,uA6Na,rqcY7o"B-RA8?UbXdaBWB4YXiRa]EmoY-W)=^g.b
-rp-Y+@qKV2^>dMmfnj<LAp9TQaMOii?&[14CgCFYAS>n&J;9&@Km[`H>uXU'PgK""m_s9V?".A\
-G(l6RSs"Y@@Tu]-MUV7us7*1@@piSIP4AAJ%fYUXB3\hR@qB=iA7:epY5a"~>
-nc'R)iM^Kt?t<kbFFfLGWj9"4R<E(FC6Q6XlhUPTrs8Ma_6'iJX0hBcs(;9#lH6)LFN!>@s8VZ$
-MelWtK&6D(o^(JIP&OuPU>PtMl(Ds(AT*@$Y**pHAS,Ll[+<.@oXpK)>?o)?s8Vr8NH&QBIEg!A
-q;RBJ@V9bDWMb8oBkCpfDm\*5d-e0!A6Nd-rqcY7o"B0SA8?UcY+0QZB4YXiS(#QpoY-W)=^p4c
-rp-\,@qKV2^>dMmfnsENAp9WRaMXrk?B!:5CgCFYAS>n&J;9&@Km[`H>uXX(Q-f+#m_s<W?".A\
-G(l6RSs"Y@@Tu]-MUV7us7*1@@piSIP4AAJ%fYUXBO"qS@qB=iA7:epY5a"~>
-nc'R)iNJ<#OHu<*UT:f<`lu]J];(@6JXa7"lhUPTrs8Ma_*8>;$r-6\s(;9'maoFRT$Qg's8VZ-
-Z(6brOl$!7p@74k\"B%Y\E<ejl*-V?R%LS"agRq4QC+&1a5PS)oZOe8LjmD=s8VrAZ_<bSVqKhH
-q;S9;PF8/P`l+mNQ'[l*S]B^>h<r7hQ\C.PrqcX&o#%)_QCY"hah=C>rg7/a\DQ#goZXk7Kn/"X
-rp.%bQ'n5Fd-9EIfqXaoRAILAf[[p/JXOolOc#3bR$sS@Wir\4Y,IqVMgf_kSC$j*m_tEKN0BX"
-Uoq8B^:()5P_j[*Q.,F+s7*h'Q&poVU[e0[%fYUjOc,9aQ'[r1Q&;L1Y5a"~>
-nc'L+p",mS?!CTA?t!MS@pr\J=&s:,]$fg9rUp0qqrY`/eBP_pnc)Gai3TGCAR/\cG-UrEpW.Sa
-:gh?5rqO73TQadJ>$Z,lPPXprG@4QW>$G08OFL_B=^#BOBs$TcB3S;>h#%-Oq9*kc=]o$FBP6f&
-^2mU`r`Tq;CS5cU=]np>C2'g1M.KgeFQ`K"55O#m@p3&?>$>'WQ=jB(=^c&ZNT?L@>>]7urr;`B
-JRDVb>\S1mVWGI1?<^]DBP:jZBq*B3fqN.d>?bE@rEq6b?!C?/;-%Y9dd[58qr>,4?<^T=?X[DR
-@UNJD<)HhTbjYN1s7)^m>$"^$O7E#F"nKol?WgM1=Thf*;NL@Ns*t~>
-nc'L+p",pU?!CTA?t!MS@pr\J=''C.]$fg9rUp0qqrY_rWM?N]nc)GaiO#VEAR/\dGI%,GpW7\c
-:gqE6rqO:5TQadJ>$Z,mPPXprG[OZX>$G08OFLbC=^#BOBs$TcB3S;?h#%-Oq9*nd=]o$FBP?l'
-^2mXar`Tq;CnPoW=]np>C2'g1MIfpfFm&T#55O#nA6N/@>$G-YQ=sH)=^c&[NoZXB>>];!rr;`B
-Jmhed>\S4oVrbR3?<^]DBP:m[C7EK4fqN1e>?bE@rEq6b?!C?/;HIk<dd[58qr>,5?X-c??X[DR
-@UNJD<)HhUbjYN1s7)an>$"^$OR`,G"nKol?WpS2=Thf*;NUFOs*t~>
-nc'L+p"-."K85AFOHG`kQ'.)ZH$+e2]$fg9rUp0qqrY^Z$k+u[nc*5"kKV#QQ].!!UW332pW]Ol
-GC.C"rqOsb^nm-KLl@n"ZMO4<QAC6NLk^D*R$!;]L51hRO1shcQA'R/h#%-Oq9YalL4tJJP)Sku
-^lsS.Lkp_3Jte9^L5(JEPE3H<Y*4EZMWag855O$,MhHkAL4OW0S;i;YL5_=YW8t@QKQVt/rr;`B
-S;W,XMjBou]&gYfKnbMJR@&t_J>(6Pfr9aYKo(eMrK&XlN/3%2F*3/;dd[58qr>2JJqSo;O-,Wj
-PE:]UHZF=pbjYN1s7*LXJ9uQ_TCM^V"nKp)Jpr4KJHUIKF.`!*s*t~>
-nGa:'o@UL#@Tc`5=&r:!<*O-jVSC^HpAOR^#5dQ!\[\s2nc&ag`,8sbrDsP4R.UFUgM'bkOQ-0;
-mYPO[qc>FQG45Cl\:.[a='g0Qa1$"i='KBoY1hojD.[F1jo5;[qr!`H='&mRNP4]TiO!b,<tf%s
-]Zd<l='&U?LT]@gI;<G.R-aYK+TCiPO^M6l>Ap1P`IV;r=(lrVd,:%)An[7ks8W&_]Qa?V)J"5b
-dI?,&I:$&S='K[-]%6?Io@LF+AQW&8r`9J.<)cdtAq$SmhXpdGrtP7f_j,4H='&F(=&r:!<F0sM
-cL(T0rrVc"K`65uJ$AM=rrr>daJ+0"rFQ.II^&CGs*t~>
-nG`^lo@UL#@p8k5$s$>+<Ej6lVSC^HpAOR^#5dQ!Vim_=nc&ag`,B'erE'V6R.UFUgM0knOQ-0;
-mYPR]qcGLSGOPLm\:.^c=C6BTa1$"j=BoTrYM/#lDJ*X5jo5;[qr!`I=BK*VNP4]TiO!e-=;,2!
-]Zd<m=BJgCLTfFhIV`Y2R-aYK+TCiPO^V?o>]?@R`IV>t=D</Yd,:(*B5*Ins8W&_]QjEX)J+;d
-dI?,&IUH8V=Boj/]%6?Io@LF+Am&5:r`9J.<)lk!B7HbohXpdGrtP7f_j,7J='&F(=&r:"<F:'P
-cL(T0rrVc"K`65uJ$AM=rrr>daJ+3$rFZ4JJ$ALHs*t~>
-nG`[ko@UL4J,Xa'H[9mXFEi=sW5$pJpAOR^#5dQ!57013nc&agc]s*,rH8`sWV$5fgQ-Q%S)X>F
-m\bqiqfXW:O73&0\rV,[G']"Ia1@.PG'JS&ZJ+?3LOO]6jo5;[qr"5uG'87gR(r"aiO4XCFq]7c
-]ZdR7G'8+]Pd9$#RY6-?V!RpW:&aV(S:#L'G_;d/`KY^mG(5INd,:gXIXdpSs8W&_^5[>[G(,FI
-eF;G+NdGqjG'J\/]%6?Io@LF7IsH<cH@(!bGBItMIZ12@hXpdGrtP7f_juO.G^4U^H[9jVFaAnF
-cL(T0rrVc+Q2ZR@Nk"ZTrrr>daJY#JrI+j!Nk"Y_s*t~>
-n,EUkpZ'?$Q[esZ#_\MH]Zo="q#9a^"oIH!ZG#VprrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL=
-b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWN<VTkOIBBXfAS8
-akZCObIG'sg%G.?)>idI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&K4e
-YeS]Op\t3lp>sQ-SrS-pGmK4fX16=.meZq]rs/Q"m+&kSOb<RW#)SnWa5?IdrVlroim%JA!mTa"
-p\tBnn(c("rO;sCb2W3!s*t~>
-n,EUkpZ'?$Q[esZ#_\MH]Zo="q#9a^"oIH!VmYm]rrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL=
-b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWN<VTkOIBBXfAS8
-akZCObIG'sg%G.?)>idI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&K4e
-YeS]Op\t3lp>sQ-Sr\3rGmSeROK5n6h<t.=rVm-%qWubIYE=M:GmAYPS[6Aoo)8Oe!r1d"rl"r`
-iqW9J"T.ZCb.dha"22k:poaXI~>
-n,EUkpZ'?$SW*N'#`tOY]Zo="q#9a^"oIH!@u'F@rrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL=
-b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWN<VTkOIBBXfAS8
-akZCObIG'sg%G.?)>idI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&KLm
-YeS]Op\t3lp>sQ-U6^Z7L^Ap$R&da>h<t.=rVm-%qWubIYF1IML^/d#TsMeso)8Oe!r1d"rl"r`
-iqW9J"T.ZCb.dha"22k:poaXI~>
-mJd^oo&\KIa2Q$<cIh1Do_\XSrri5`f&$)irrW/kkkj?Mk4/?Ks7kj<kOSTOs8)-DqViOVmJ?k^
-qsik0j66%1rqYpAj5oUtqYp?\lKRX*qu-O?rU]75j65q(qu6WpqX3J)j6?47rqGd?j5oUtqYp?[
-l07R,rV-=/rUf@7j6#e*rql3Ij5fIoq#:0]lfmd.r;Q^2rqc'EioB7kpAFphqsin.gY_/]p\k$i
-"o\)WgsX=C`<XK0fAPrcqu6Ek#6";aimuAprl#)_d+d^Qqu6Nn!r_obrp^'\q#0pd$i^"om-<j"
-lKn'9rN?0N~>
-mJd^oo&\KIa2Q$<cIh1Do_\XSrri5`f&$)irrW/kkkj?Mk4/?Ks7kj<kOSTOs8)-DqViOVmJ?k^
-qsik0j66%1rqYpAj5oUtqYp?\lKRX*qu-O?rU]75j65q(qu6WpqX3J)j6?47rqGd?j5oUtqYp?[
-l07R,rV-=/rUf@7j6#e*rql3Ij5fIoq#:0]lfmd.r;Q^2rqc'EioB7kpAFphqsin.gY_/]p\k$i
-"o\)WgsX=C`<XK0fAPrcqu6Ek#6";aimuAprl#)_d+d^Qqu6Nn!r_obrp^'\q#0pd$i^"om-<j"
-lKn'9rN?0N~>
-mJd^oo&\KIa2Q$<cIh1Do_\XSrri5`f&$)irrW/kkkj?Mk4/?Ks7kj<kOSTOs8)-DqViOVmJ?k^
-qsik0j66%1rqYpAj5oUtqYp?\lKRX*qu-O?rU]75j65q(qu6WpqX3J)j6?47rqGd?j5oUtqYp?[
-l07R,rV-=/rUf@7j6#e*rql3Ij5fIoq#:0]lfmd.r;Q^2rqc'EioB7kpAFphqsin.gY_/]p\k$i
-"o\)WgsX=C`<XK0fAPrcqu6Ek#6";aimuAprl#)_d+d^Qqu6Nn!r_obrp^'\q#0pd$i^"om-<j"
-lKn'9rN?0N~>
-li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~>
-li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~>
-li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-JcC<$JcFs6J,~>
-%%EndData
-showpage
-%%Trailer
-end
-%%EOF
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/interactive/ask_from b/docs/interactive/ask_from
deleted file mode 100755
index dad69247e..000000000
--- a/docs/interactive/ask_from
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/perl
-# Yves Duret <yduret at mandrakesoft.com>
-# license: GPL
-
-use lib qw(/usr/lib/libDrakX);
-use interactive;
-
-my $irq=1;
-my $login;
-my $login2="editable";
-my $check;
-my $range=57;
-
-my $in = 'interactive'->vnew(undef, 'default');
-
-$in->ask_from("window title - ask_from",
- "message\nexamples of utilisation of ask_from",
- [
- { label => "enter scalar", val => \$irq },
- { label => "combo (type=>combo optionnal)", val => \$login, list => ['Netherlands', 'France', 'Belgium', 'Italy', 'UK'], type => 'combo'},
- { label => "choose from list editable and sorted", val => \$login2, list => ['Netherlands', 'France', 'Belgium', 'Italy', 'UK'], not_edit => 0, sort => 1},
- { label => "check box", val => \$check, type => "bool", text => "text" },
- { label => "range", val => \$range, type => 'range', min => 0, max => 100 },
- ],
- complete => sub { print "complete\n";print "$irq\n$login\n$range\n"; },
-# focus_out => sub { print "focus_out\n"},
-# changed => sub { print "changed\n"; },
- ) or $in->exit(0);
-$in->exit(0);
diff --git a/docs/interactive/ask_from_list b/docs/interactive/ask_from_list
deleted file mode 100755
index 63c0ee996..000000000
--- a/docs/interactive/ask_from_list
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/perl
-# Yves Duret <yduret at mandrakesoft.com>
-# license: GPL
-
-use lib qw(/usr/lib/libDrakX);
-use common;
-use interactive;
-
-my %l = (
- 0 => "Welcome To Crackers",
- 1 => "Poor",
- 2 => "Low",
- 3 => "Medium",
- 4 => "High",
- 5 => "Paranoid",
- );
-
-my $in = 'interactive'->vnew(undef, 'default');
-
-my $level = $in->ask_from_list("window title - ask_from_list",
- "radio button\nexamples of utilisation of ask_from_list",
- [ values %l ], $l{2}
- ) or $in->exit(0);
-
-print "$level\n";
-$in->exit(0);
-
diff --git a/docs/interactive/ask_from_listf b/docs/interactive/ask_from_listf
deleted file mode 100755
index 077540b49..000000000
--- a/docs/interactive/ask_from_listf
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/perl
-# Yves Duret <yduret at mandrakesoft.com>
-# license: GPL
-
-use lib qw(/usr/lib/libDrakX);
-use interactive;
-use Data::Dumper;
-
-my $in = 'interactive'->vnew(undef, 'default');
-
-my @m=(
- { description => "dhcpcd",
- c => 1},
- { description => "dhcpxd",
- c => 3},
- { description => "dhcp-client",
- c => 4},
- );
-my $f = $in->ask_from_listf(_("ask_from_listf"),
- _("Which dhcp client do you want to use?\nDefault is dhcpcd"),
- sub { $_[0]{description} },
- \@m );
-
-print Data::Dumper->Dump([$f],['f']) . "\n";
-
-$in->exit(0);
-
diff --git a/docs/interactive/ask_from_treelist b/docs/interactive/ask_from_treelist
deleted file mode 100755
index ade7141d4..000000000
--- a/docs/interactive/ask_from_treelist
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/perl
-# Yves Duret <yduret at mandrakesoft.com>
-# license: GPL
-
-use lib qw(/usr/lib/libDrakX);
-use common;
-use interactive;
-
-my $in = 'interactive'->vnew(undef, 'default');
-my $foo = $in->ask_from_treelist("window title - ask_from_treelist",
- "message\nexamples of utilisation of ask_from_treelist",
- '|',
- ['Custom',
- 'Other|Unlisted',
- 'Matrox|Millennium II=>Matrox Millennium II',
- 'Matrox|Millennium G200=>Matrox Millennium G200',
- 'Matrox|Millennium G400=>Matrox Millennium G400',
- 'Matrox|Millennium G450=>Matrox Millennium G450',
- 'Matrox|Millennium G550=>Matrox Millennium G550',
- 'Sun|FFB 67MHz Creator=>Sun FFB 67MHz Creator',
- 'Sun|FFB 67MHz Creator 3D=>Sun FFB 67MHz Creator 3D',
- 'Sun|FFB 75MHz Creator 3D=>Sun FFB 75MHz Creator 3D',
- ],
- 'Custom'
- ) or $in->exit(0);
-print "$foo\n";
-$in->exit(0);
diff --git a/docs/interactive/wait_message b/docs/interactive/wait_message
deleted file mode 100755
index 0caec4471..000000000
--- a/docs/interactive/wait_message
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/perl
-# Yves Duret <yduret at mandrakesoft.com>
-# license: GPL
-
-use lib qw(/usr/lib/libDrakX);
-use interactive;
-
-my $in = 'interactive'->vnew(undef, 'default');
-my $wait = $in->wait_message('wainting title', _("Moving files to the new partition"));
-sleep(3);
-$wait->set(_("Removing"));
-sleep(3);
-$in->exit(0);
diff --git a/docs/mdk-9.2 b/docs/mdk-9.2
deleted file mode 100644
index 1d5a06494..000000000
--- a/docs/mdk-9.2
+++ /dev/null
@@ -1,129 +0,0 @@
--*- outline -*-
-
- todo list for mdk9.2
- (mainly gtk+ oriented for now)
-
-* erratas
-** put them in gi/perl-install/patch/mdk_9.1
-** move mdk9.1 ones from gi/perl-install/patch into gi/perl-install/patch/mdk_9.0
-
-
-* libDrakX
-** document internals through docbook like kernel-2.5.x does
-
-* mcc vs tools communication
-** faster tools embedding in mcc (gc idea)
- move gui into gui/<sg>.pm so that mcc can just do require on them
- instead of doing slow fork+perl startup (same idea as fast_cgi,
- perl_mod and the like)
-** told apps to ask user whether to save their changes or to discard them on cancel (#1437)
-** to let diskdrake fit better when embedded, we should write "formated - mounted" rather than "formated\nmounted"
-** "testing mode" option in options menu so that we pass --testing to our tools ?
-
-* ugtk2 & tools guies:
-** cleanups:
-*** $o->flush() should be sub { $_[0]->window->process_updates(1) }
- see logdrake::parse_file()'s progress bar as an example
-** saner/cleaner usage of gtk+-2.2 widgets:
-*** use MessageDialog for modal windows (cleaner)
- especially for wait/error messages so that one uses std gtk+ icons for info/error/warning and the like events
-*** use button boxes everywhere when we have several buttons for saner gui (as per gnome specs/recommendations)
-*** gtk::combo => gtk::optionMenu (as per gtk+-2 doc)
-*** use size::group to let things be smoother in some places (eg: clock.pl from mcc)
-
-* tools
-** all:
-*** provide menu entries for more gui tools (?): for now, only harddrake2 and logdrake have one
-*** explanations of std standalone.pm functions are broken due to common.pm overloading
-*** have a button or a menu to access help (was already part of mdk9.1 specs)
- only harddrake2, mcc and rpmdrake have one for now
- policy might be: "most users access tools via the mcc, so let handle help, bug reports and co only in mcc"
-*** rename and provide compatibility links:
-**** adduserdrake => drakeuseradd
-**** diskdrake => drakdisk
-**** harddrake => drakhw
-**** keyboarddrake => drakkeyboard
-**** localedrake => draklocale
-**** logdrake => draklog
-**** menudrake => drakmenu [fredc]
-**** mousedrake => drakmouse
-**** printerdrake => drakprinter
-**** userdrake => drakuser [deush]
-**** XFdrake => drakx11
-** drakboot:
-*** should prevent the user to insert a space in a kernel label (#2826)
-*** fix "Display theme under console" setting from current theme config file (#2662)
-** drakconnect
-*** does not show up zeroconf as a valid mode in "configuring lan" window in embedded mode
-** drakedm:
-*** restart dm service ?
-** harddrake:
-*** colorize the internal help
-*** add raw description (or join('|', vendor, descr)) for mass medias (see drakx bug #3???)
-*** use pure gtk+ instead of interactive for "fields description" or alter interactive so that it creates modal windows
-** logdrake:
-*** search field does not get focus when embedded
-*** we may disable the search button when one deselect all explanation files
-** mcc:
-*** make tool names be black or blue (like in rpmdrake & harddrake2 guies) (#2695)
-*** hide non executable programs instead of warning at runtime if program isn't executable
-*** make more program being options rather than depandancies (ie like rpmdrake and drakwizard)
-*** add scrollbars if root window is below 800x600 (#2961)
-*** add scrollbars for too big translated messages (but how to detect it)
-*** move drakedm from hardware to system section
-*** enhance mcc descriptions (#3265)
-** rpmdrake
-*** save mode (sort by group, mdk choice, ...)
-**** sa serait cool que tu sauve la position (aka choix mdk, tri/alpha, par
- groupe, par taille, ...) et que tu la restaure
-*** m-q accelerator to quit
-*** if package is unselectable, explain why
-*** si conflit, proposer de deselectionner le package en question +tot que de
- devoir se taper l'arborescence pour le deselectionner (a - que la
- recherche e perde pas la selection de package en cours)
-*** some windows are still non modal, like:
- o tout ce qui se rapporte aux dependances "des paquetages
- supplementaires sont necessaires", ... tu oublie de passer "{
- transient => $w->{rwindow} }"
- o toutes les fenetres grpmi. faudrait voir si on peut foutre le
- core de grpmi dans un package pour faire "use grpmi" et seter
- le nouveau $::main_window pour corriger ca.
-*** we need access to urpmi options like "no gpg signature check"
-*** bug 1
-1) selectionner des packages a installer
-
-2) rpmdrake dit que X doit etres vier
-
-3) rpmdrake le vire
-
-4) rpmdrake passe a l'update/isntall proprement dite
-
-5) rpmdrake failled
-
-rpmdrake re-tentera d'enlever le package X du 1 en cas de reessai
-alors qu'il n'est + la
-
-** scannerdrake/sane-find-scanner
-*** do not detect every usb devices as scanner
-** urpmi
-*** --repair-system: add missing dependancies for currently installed packages
-
-
-* packages
-** main package updates:
-*** rpm-4.2
-*** kernel-2.6 (if availlable and stabilized: not probable) ?
- at least, keep kernel-2.4.x
-** add new packages:
-*** kernel-mosix
-*** dvb related packages: vcr, vdr, ...
-** icewm/windowmaker/other wm
-*** export BROWSER like gnome/kde (look at /etc/gnome/gnomerc)
-
-* hardware support
-** kernel: update alsa, bttv, dvb & saa7134 drivers for better hardware support (the laters from http://bytesex.org)
-*** add "REGISTER ^dvb/adapter[0-9]+/[^/]+$ PERMISSIONS root.video 0660" to devfsd
-*** update oss audigy driver from pserver:anonymous@cvs.sourceforge.net:/cvsroot/emu10k1 cvs
-** add cx88 sound driver from http://bytesex.org/snapshot
-** isa detection/probing in ldetect ? (#118, #497) => need some old hw in order to test
- probably not
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/net_object_class.fig b/docs/net_object_class.fig
deleted file mode 100644
index 19f7f5318..000000000
--- a/docs/net_object_class.fig
+++ /dev/null
@@ -1,73 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 4050 4162 675 338 4050 4162 4725 4500
-1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 5700 3112 675 338 5700 3112 6375 3450
-1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 7275 4087 675 338 7275 4087 7950 4425
-1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 4800 1462 975 487 4800 1462 5775 1950
-1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 2700 3112 675 338 2700 3112 3375 3450
-1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 4875 5887 975 487 4875 5887 5850 6375
-1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 9450 5062 675 338 9450 5062 10125 5400
-1 1 0 1 0 7 50 0 -1 0.000 1 0.0000 4654 4038 3900 3225 4654 4038 754 813
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 4125 1875 3225 2850
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 4575 1950 4200 3750
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 5250 1950 5475 2775
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 3000 3450 3600 3900
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 5925 3450 6675 3900
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 2700 3450 4050 5550
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 4125 4500 4575 5400
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 5625 3450 5025 5400
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 5775 1575 9450 4725
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 7800 4275 9000 4800
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 4800 1950 4800 5400
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 9000 975 9450 4725
-2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
- 7500 75 10687 75 10687 975 7500 975 7500 75
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 7500 375 5400 1050
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 5550 1800 7200 3675
-4 0 0 50 0 0 12 0.0000 4 135 885 4350 1500 Netconnect\001
-4 0 0 50 0 0 12 0.0000 4 135 435 2475 3150 ISDN\001
-4 0 0 50 0 0 12 0.0000 4 135 720 3675 4200 MODEM\001
-4 0 0 50 0 0 12 0.0000 4 135 960 6825 4125 ETHERNET\001
-4 0 0 50 0 0 12 0.0000 4 135 480 5400 3150 ADSL\001
-4 0 0 50 0 0 12 0.0000 4 135 420 4650 5925 Tools\001
-4 0 0 50 0 0 12 0.0000 4 135 660 9150 5100 Network\001
-4 0 0 50 0 0 12 0.0000 4 135 1305 8400 375 Rest of the world\001
-4 0 0 50 0 0 12 0.0000 4 180 2595 7725 600 (draknet, printerdrake, tinyfirewall\001
-4 0 0 50 0 0 12 0.0000 4 180 2310 7725 825 ftp, http, net_monitor, drakgw)\001
-4 0 0 50 0 0 12 0.0000 4 195 2760 3525 6825 Global variables $in, $prefix, $install\001
-4 0 0 50 0 0 12 0.0000 4 180 2340 3525 7050 shared with the module globals\001
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/porting-ugtk b/docs/porting-ugtk
deleted file mode 100755
index a72faabb6..000000000
--- a/docs/porting-ugtk
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/perl -pi
-#
-# $Id$
-#
-# This is not an automatic gtk+-1.x to gtk+-2.x port tool,
-# just a tool that ease perl apps' gtk2 port.
-# you'll have to fix all remaining problems, beginning by spotted warnings
-# it'll save you basic conversion work
-#
-# if you used Gtk::Text, a little more work will be needed (look at logdrake gtk2 port)
-# if you used Gtk::CTree, Gtk::CList or worse, Gtk::Tree, you'll need quite a lot of exhausting work :-(
-#
-# usage: porting-ugtk <file>
-#
-# hint: always use strict
-
-# switch to gtk2 :
-s!Gtk:!Gtk2:!g;
-/(use|require) Gtk/ and print STDERR "Warning: if this (bad) app that did not use my_gtk, you'll have a hard time :-)\n if not, using both Gtk && my_gtk was misdesigned ...\n";
-s!(use|require) Gtk.*!!g; #
-s!my_gtk!ugtk2!g;
-
-# one should pass the right ":stuff" to "use ugtk2 qw();"
-/ugtk::/ and print STDERR "Warning: you'll have to passe eiter :ask, :create, :helpers or :wrappers to ugtk\n";
-s!ugtk::!!g;
-# if my_gtk wasn't used, this'll be spotted by the lack of "use ugtk2;" anyway
-s!(require|use) ugtk.*!!g;
-
-
-# deprecated :
-/::(CTree|CList|Text[^V])/ and print STDERR "Warning: CTree, CList and Text widgets are deprecated... Good luck :-(\n";
-/gtkcreate_(png|xpm)/ and print STDERR "Warning: new Gtk::Pixmap(gtkcreate_(png|xpm)) should be replaced by gtkcreate_img\n";
-/set_policy/ and print STDERR "Warning: ->set_policy() should be replaced by allow_shrink/allow_grow/set_resizable\n";
-
-# obsoletes methods||functions :
-s!set_usize!set_size_request!g;
-s!gtkset_set_border_width!gtkset_border_width!g;
-s!border_width!set_border_width!g;
-s!-(end|spread|extended|start|single)!'\1'!g;
-s!createScrolledWindow!create_scrolled_window!g;
-# quite a lot less usefull with gtk+2 but who knows... :
-s!set_position\(1\)!set_position('center')!g;
-s!gtkpng!gtkcreate_img!g;
-# hacky but usefull in ->set_pixmap() context; else that'll be spoted at run time :
-s!gtkcreate_png!gtkcreate_img!g;
-# usefull sometimes but not in most cases :
-#s!new GtkVBox!create_vbox!g;
-#s!new GtkHBox!create_hbox!g;
diff --git a/docs/spec-DrakX-8.0.html b/docs/spec-DrakX-8.0.html
deleted file mode 100644
index 3fd545447..000000000
--- a/docs/spec-DrakX-8.0.html
+++ /dev/null
@@ -1,405 +0,0 @@
-<html><head><title>DrakX Specification for Linux-Mandrake 8.0</title></head>
-<body bgcolor="#FFFFFF" link="#0066FF" vlink="#0066FF" alink="#FF0000">
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td bgcolor="#99AAFF"><h2 align="left">DrakX Specification for Linux-Mandrake 8.0</h2></td></tr>
-<tr><td valign="top">
-Current team of Install group is :
-<p>
-<table cellpadding="2" cellspacing="2" border="1" width="30%">
-<tbody>
-<tr valign="Top">
-<td valign="Top">gc
-
-</td>
-</tr>
-<tr valign="Top">
-<td valign="Top">damien
-
-</td>
-</tr>
-<tr valign="Top">
-<td valign="Top">fpons
-
-</td>
-</tr>
-<tr valign="Top">
-<td valign="Top">pixel
-
-</td>
-</tr>
-</tbody>
-</table>
-<p>
-
-<pre>
-
- <b>Boot process (stage1)</b>
-
- Installation begin by booting from CD-ROM or Diskette. From CD-ROM all
-installation method are available (CD, HD, NFS, FTP, HTTP) on options. From
-Diskette according to image selected, only some related method (network or cdrom
-or hd) are available and module managed due to size limitation to 1.44Mb.
- Options are always available by pressing on F1.
-
- <b>DrakX process (stage2)</b>
-
- DrakX installation organized in steps (execution sequence described below).
-Steps listed on left side and help available on bottom right side. most of the
-screen is available for various dialog for interacting with the user. Steps
-execution sequence is automated and described below.
-
-Mouse is probed and if none has been found or if the mouse has not moved, a
-specific mouse configuration is displayed at the begining.
-
-
-Before the graphical steps, there is a detection step. It detects various
-hardware, including modems (from tty0 to tty7), mouse (serial, usb, ps/2) and
-tablets.
-
- <b>Steps</b>
-
- <i>Choose Your language</i>: step always displayed. default choice is previous one or
-<font color="#000080"><i>English</i></font>. After choosing a language, a license splash screen translated in the
-chosen language is displayed with <font color="#000080"><i>Accept</i></font> and <font color="#000080"><i>Refuse</i></font> buttons. <font color="#000080"><i>Refuse</i></font> should
-stop installation. <font color="#000080"><i>Accept</i></font> validate language choice which are propagated to all
-DrakX visible widget. Advanced mode allow to select other language available to
-be installed. Advanced mode allow to select language which will be installed on
-system.
- If step is redone, the license is no more displayed.
-
- <font color="#000080"><i>Select Install Class</i></font>: step always displayed. default choice is previous one
-or <font color="#000080"><i>Recommended</i></font>. Only one other option available is <font color="#000080"><i>Customized</i></font>. Two buttons
-available are <font color="#000080"><i>Install</i></font> or <font color="#000080"><i>Upgrade</i></font>. Available steps (left side) are changed
-according to installation class selected, where the default is the one of
-<font color="#000080"><i>Recommended</i></font> with <font color="#000080"><i>Install</i></font>.
-
- <font color="#000080"><i>Hard Drive Detection</i></font>: step always displayed. In recommended mode,
-automatically done. In Customized mode, all modules that manage SCSI/IDE cards
-are loaded automatically and a question asking for other module to load is
-displayed.
- If clicked later or if to the question to load other module the
-answer is <font color="#000080"><i>Yes</i></font>, a list of module is displayed (or if the question to other
-module to load is. When a module is chosen, two options are available
-<font color="#000080"><i>Autoprobe</i></font> and <font color="#000080"><i>Specify options</i></font>. Autoprobe try to load the module without any
-other user options (default module parameter). Specify options allow user to
-give module parameters individually in a list for all known parameters. At this
-point <font color="#000080"><i>Ok</i></font> or <font color="#000080"><i>Cancel</i></font> are available, Cancel should stop the module installation
-and go to next step. If any error occurs during module installation, a question
-asking to try with other parameter is displayed, the same module is still used.
-
- <font color="#000080"><i>Setup filesystems</i></font>: step always displayed. display a list of available choice
-accoding to what has been probed. May contains <font color="#000080"><i>Use free space</i></font>, "Use existing
-partition<font color="#000080"><i>, </i></font>Use the window partition for loopback<font color="#000080"><i>, </i></font>Use the free space on the
-Windows partition<font color="#000080"><i>, </i></font>Remove Windows(TM)<font color="#000080"><i>|</i></font>Erase entire disk" (according to disk
-configuration =&gt; only one big fat for the first case only), "Custom disk
-partitioning".
- If <font color="#000080"><i>Use free space</i></font> mode, auto allocation in available on available disk.
- If <font color="#000080"><i>Use existing partition</i></font> mode, a list of partition named in Linux
-scheme are displayed with their approximate size in Mb and propose mount point
-to choose in list boxes for each partitions available on hard drive.
- If <font color="#000080"><i>Use the window partition for loopback</i></font> mode, DrakX use available size
-on the windows partition to create a root file and a swap file which will be
-used in loopback, this means this is a lnx4win installation.
- If <font color="#000080"><i>Use the free space on the Windows partition</i></font> mode, DrakX will resize
-the windows partition and allocate true linux filesystem (at least / and swap).
- If <font color="#000080"><i>Remove Windows(TM)</i></font>|<font color="#000080"><i>Erase entire disk</i></font> mode, DrakX clean the
-partition table before auto allocating partition.
- If <font color="#000080"><i>Custom disk partitioning</i></font> mode, diskdrake is launch. TO BE DEFINED to
-change make diskdrake use only advanced mode.
-Diskdrake show all partition of all non-removable disk graphically. All special
-partition are hidden, only user accessible partition are visible: this remove
-extended partition, whole disk partition on sparc platform. Clicking on a disk
-notebook tab show all his partitions. Clicking on a partition show all actions
-available for this partition (depend if customized or advanced mode) as well as
-information on this partition (depend if customized or advanced mode). Most
-diskdrake operation are done without writing on disk (exception are Resizing
-partitions) and everything is written once on the disk when exiting diskdrake,
-at any time if writing partition table is necessary, there are always a dialog
-box asking the user to confirm the write. If no operation are modifying
-partition table, no dialog is displayed on exit (for example if giving mount
-point to partition). General action are available too:
- <font color="#000080"><i>Clear All</i></font>: clear all partition of the given disk.
- <font color="#000080"><i>Auto allocate</i></font>: try to allocate partition in available disk (not the
-seen disk).
- <font color="#000080"><i>Undo</i></font>: undo last operation.
- <font color="#000080"><i>Done</i></font>: quit and save changes.
-Other operations are available in advanced mode:
- <font color="#000080"><i>Rescue partition table</i></font>: try to rescue a lost partition table,
-absolutely no garantee to succeed and may destroy what could be saveable by
-another tools.
- <font color="#000080"><i>Reload</i></font>: reload partition table from disk, erasing all changes in
-memory done by the user.
- <font color="#000080"><i>Wizard</i></font>: go to partition wizard, that the partition filesystems default
-behaviour on startup.
- <font color="#000080"><i>Restore from floppy</i></font>: restore a partition table from previously saved
-partition table from diskdrake.
- <font color="#000080"><i>Save to floppy</i></font>: save partition table to floppy.
- <font color="#000080"><i>Options</i></font>: global options available for filesystem configuration. This
-include <font color="#000080"><i>Removable media automouting supermount</i></font> check box disabled by default.
- Operation available on partition are:
- <font color="#000080"><i>Mount point</i></font>: change or define mount point for partition, only
-available for true filesystem partition.
- <font color="#000080"><i>Resize</i></font>: resize partition, if a specific algorithm to keep data is
-used no data may be lost, else all data are lost but nothing is written by
-diskdrake on the partition data in this last case (this means data can be
-restored by restoring original size and location).
- <font color="#000080"><i>Delete</i></font>: delete partition, if the same partition is created (same type,
-location, size) all data can be restored as diskdrake doesn't write on partition
-data.
- Operation available on partition table but in advanced mode are:
- <font color="#000080"><i>Type</i></font>: change type of partition, all data will be lost but diskdrake as
-above does not destroy them, and everyting can be restored.
- <font color="#000080"><i>Format</i></font>: format partition, at this point, all data ARE LOST.
- <font color="#000080"><i>Mount</i></font>: mount partition now, usefull for swap to increase memory
-capacity for machine low on resource that are not available to complete setup
-filesystem step correctly (problably if a resize partition is used on FAT fs).
-allow Mounting swap on customized mode too.
- A legend for partition type colors is available
-(Ext2,ReiserFS,Swap,FAT,Other,Empty). It has additionnal features to create a
-partition or change its type (only available in advanced mode).
-
- <font color="#000080"><i>Format partitions</i></font>: step always displayed. display list of partition to
-format with click boxes. Some are defined according to type of partitions and if
-the partition has been created or taken back.
-If a partition has already been formated, it is not proposed, or if it should
-not be proposed (alrady existing partition like /mnt/windows).
-On Advanced tag, an additional dialog is displayed to select partition to format
-(all available partition listed) and to format them with bad block checking.
-
- <font color="#000080"><i>Choose packages</i></font>: step always displayed. default selection done to be
-<font color="#000080"><i>correct</i></font> according to size available, Install or Upgrade, Hardware available.
-This selection is done according to <font color="#000080"><i>Mandrake first choice</i></font> of packages.
-On all mode, display groups and main desktop used (KDE or Gnome), an
-individual package selection check box is available to allow selecting package
-individually. In this case, a dialog displaying a tree with groups, (Mandrake
-first choice/alternatives) and packages is shown on the left part, a description
-window for each packages is shown on the right part.
-
- <font color="#000080"><i>Install system</i></font>: step always displayed. no interactive and display
-installation progression. include if available and on a CD basis a spash screen
-of advertising and other (pub!).
-
- <font color="#000080"><i>Hardware panel</i></font>: step always displayed. show current configuration for
-Mouse, Keyboard, TimeZone, Graphic/TV Card, Monitor.
-At each values chosen (list boxes displayed a
-synthesis description) the current dialog is removed from screen and specific
-configuration panels are displayed (like currently for mouse, keyboard ...).
-And end of these specific configuration panels, this one is remapped on screen
-to be accepted in general.
-
- <b>Sub steps of Hardware panel:</b>
-
- <font color="#000080"><i>Configure mouse</i></font>: displayed on request or if the mouse has not been
-moved (so unsafe detection), but have to be displayed earlier. A mouse tree
-selection for type is displayed with default case as what is probed or
-<font color="#000080"><i>serial/Generic 2 button Mouse</i></font> if none has been probed. <font color="#000080"><i>Cancel</i></font> disable mouse
-modification and <font color="#000080"><i>Ok</i></font> allow next mouse configuration dialog. Then comes a serial
-port dialog for serial mice (default mouse connected to COM1 if nothing found).
-Then a mouse screen control is chown (according to mouse capacity: 3 buttons
-with or without mouse, need 7 buttons checking ?). Here <font color="#000080"><i>Ok</i></font> validate to go to
-next step and <font color="#000080"><i>Cancel</i></font> to first mouse dialog displayed (mouse tree selection for
-type).
-
- <font color="#000080"><i>Configure keyboard</i></font>: displayed on request. default is set according to
-TimeZone definition (itself defaulting to language selection at the beginning).
-A list of keyboard is shown to the user and <font color="#000080"><i>Ok</i></font> validates change and return to
-<font color="#000080"><i>Hardware panel</i></font> dialog with enabled change. <font color="#000080"><i>Cancel</i></font> abort any modification and
-return to the same <font color="#000080"><i>Hardware panel</i></font> dialog.
-
- <font color="#000080"><i>Configure timezone</i></font>: displayed on request. default is set according to
-language selection. A timezone tree selection is shown with only the subtree
-corresponding to the current selection expanded (as other tree dialog). <font color="#000080"><i>Ok</i></font>
-validates change and return to <font color="#000080"><i>Hardware panel</i></font> dialog whereas <font color="#000080"><i>Cancel</i></font> avoid
-the change before returning to the same main dialog.
-
- <font color="#000080"><i>Graphic Card</i></font>: display graphic card probed. No change available.
-
- <font color="#000080"><i>TV Card</i></font>: display TV/Tuner card probed. No change available.
-
- <font color="#000080"><i>Monitor</i></font>: need execution of ddcxinfos at this point. Only Size, Max
-resolution and depth displayed. No change available.
-
-
- Miscellaneous step have been removed and dispatched to other steps. "Use
-hard drive optimisation<font color="#000080"><i> and </i></font>Enable num lock at startup<font color="#000080"><i> are removed. </i></font>Choose
-security level<font color="#000080"><i> is moved to security step. </i></font>Precise RAM size if needed" and
-<font color="#000080"><i>Clean /tmp at each boot</i></font> are moved to bootloader step.
-<font color="#000080"><i>Removable media automouting</i></font> is moved to diskdrake options.
-
- <font color="#000080"><i>Security</i></font>: step displayed only in customized mode. TO BE DEFINED. should
-display at least securty level to choose. level are <font color="#000080"><i>Low</i></font>, <font color="#000080"><i>Medium</i></font>, <font color="#000080"><i>High</i></font> and
-for advanced there are <font color="#000080"><i>Welcome To Crackers</i></font>, <font color="#000080"><i>Poor</i></font>, <font color="#000080"><i>Paranoid</i></font> too.
-
- <font color="#000080"><i>Configure networking</i></font>: step always displayed. dialog always displayed in
-both <font color="#000080"><i>Recommended</i></font> and <font color="#000080"><i>Customized</i></font> mode. A list of network configuration
-entries are shown with the following:
- <font color="#000080"><i>Configure a normal modem connection</i></font>
- <font color="#000080"><i>Configure an ISDN connection</i></font>
- "Configure a DSL (or ADSL) connection
- <font color="#000080"><i>Configure a cable connection</i></font>
- <font color="#000080"><i>Configure local network</i></font>|<font color="#000080"><i>Reconfigure local network</i></font>
- <font color="#000080"><i>Disable networking</i></font>|<font color="#000080"><i>Enable networking</i></font>
- <font color="#000080"><i>Done</i></font>
- By cliking on a specific item, another dialog is displayed to configure
-some specific part of the network.
- <font color="#000080"><i>Configure a normal modem connection</i></font>: display a question to probe for a
-modem if not already detected, then if none are found or probe has been refused
-a list of possible serial device are listed (in the form ttySx / COM(x+1) with
-the current mouse device removed if it is serial). After that a dialog including
-all parameters than can be used is shown. This includes <font color="#000080"><i>Connection Name</i></font>,
-<font color="#000080"><i>Phone number</i></font>, <font color="#000080"><i>Login ID</i></font>, <font color="#000080"><i>Password</i></font>, <font color="#000080"><i>Authentication</i></font>, <font color="#000080"><i>Domain name</i></font>, <font color="#000080"><i>DNS 1</i></font>
-and <font color="#000080"><i>DNS 2</i></font>. Authentication is a combo of <font color="#000080"><i>PAP</i></font>, <font color="#000080"><i>Termina-Based</i></font> and
-<font color="#000080"><i>Script-Based</i></font> (It seems necessary to get CHAP back on this one, no way of
-testing TO BE DEFINED). If no DNS are given, the connection is configured to try
-using provider DNS. <font color="#000080"><i>Ok</i></font> and <font color="#000080"><i>Cancel</i></font> button are available.
- <font color="#000080"><i>Configure an ISDN connection</i></font>:
-Try to detect some PCI card. If not detected, asks if it's a ISA/pcmcia or PCI
-card, and gives the list of the cards. Information are then asked:
-<font color="#000080"><i>Card IRQ</i></font> only if ISA/pcmcia
-<font color="#000080"><i>Card mem (DMA)</i></font> only if ISA/pcmcia
-<font color="#000080"><i>Card IO</i></font> only if ISA/pcmcia
-<font color="#000080"><i>Card IO_0</i></font> only if ISA/pcmcia with io0
-<font color="#000080"><i>Card IO_1</i></font> only if ISA/pcmcia with io1
-<font color="#000080"><i>Your personal phone number</i></font> phone
-<font color="#000080"><i>Provider name (ex provider.net)</i></font>
-<font color="#000080"><i>Provider phone number</i></font>
-<font color="#000080"><i>Provider dns 1</i></font>
-<font color="#000080"><i>Provider dns 2</i></font>
-<font color="#000080"><i>Dialing mode</i></font> auto or manual
-<font color="#000080"><i>Account Login (user name)</i></font>
-<font color="#000080"><i>Account Password</i></font> hided
-<font color="#000080"><i>Confirm Password</i></font> again
- <font color="#000080"><i>Configure a DLS (or ADSL) connection</i></font>:
-The user chooses between pptp, pppoe and dhcp. If dhcp, redirection to LAN.
-If there is more than one ethernet card, The user must choose the card to use
-(displayed with the module). After that, some informations are asked:
-<font color="#000080"><i>Provider name (ex provider.net)</i></font>
-<font color="#000080"><i>Provider dns 1</i></font>
-<font color="#000080"><i>Provider dns 2</i></font>
-<font color="#000080"><i>Account Login (user name)</i></font>
-<font color="#000080"><i>Account Password</i></font> hided
-<font color="#000080"><i>Confirm Password</i></font> again
- <font color="#000080"><i>Configure a cable connection</i></font>: redirection to LAN
- <font color="#000080"><i>Configure local network</i></font>: display what has been probed with a question
-about using another module and <font color="#000080"><i>Yes</i></font>, <font color="#000080"><i>No</i></font> and <font color="#000080"><i>See hardware info</i></font> buttons.
-<font color="#000080"><i>No</i></font> is the default. If <font color="#000080"><i>Yes</i></font> is clicked a list of modules is displayed with
-<font color="#000080"><i>Ok</i></font> or <font color="#000080"><i>Cancel</i></font> buttons available. <font color="#000080"><i>Cancel</i></font> should go back to previous
-question. If <font color="#000080"><i>See hardware info</i></font> is clicked a list of probed hardware is
-displayed. If <font color="#000080"><i>Yes</i></font> is clicked, for each ethernet interface, a dialog asking for
-IP address, Netmask and Automatic IP check box (DHCP/BOOTP) is displayed. Then
-if DHCP has been chosen, only a dialog asking for Host name and another for HTTP
-proxy and FTP proxy if any. If DHCP has not been chosen, an IP address has to be
-defined and a dialog including <font color="#000080"><i>Host name</i></font>, <font color="#000080"><i>DNS server</i></font>, <font color="#000080"><i>Gateway</i></font> and "Gateway
-device" is displayed. Then the same HTTP proxy and FTP proxy dialog as above. As
-network configuration may to have been reworked a bit it has TO BE DEFINED if
-this is kept like that or not.
- <font color="#000080"><i>Disable networking</i></font>|<font color="#000080"><i>Enable networking</i></font> is just a way to toggle
-networking on or off, may be to be accessible only for advanced mode.
- <font color="#000080"><i>Quit</i></font> exit the network step.
-
-<b>NETWORK ADVANCED DOCUMENTATION:</b>
-Here is a list of entry points available in post install without using the ugly
-install graphic toolkit:
-
-<a href=<font color="#000080"><i>http://www.mandrakesoft.com/~damien/html/draknet_advanced_doc.txt</i></font>>http://www.mandrakesoft.com/~damien/html/draknet_advanced_doc.txt</a>
-
- <font color="#000080"><i>Configure Printer</i></font>: step always displayed. In recommended mode, only
-activated if a local printer is detected, else no printer are configured by
-default. In customized mode or if the step has been clicked a list of printer
-already configured is displayed and the possibility to add or exit the
-configuration. It allow configuration of printers for both LPR and CUPS
-individually (available by advanced mode when adding a printer). Printer
-protocol managed are local/usb/samba/ncp/lpd for LPR and
-local/usb/serial/samba/lpd/cups_network for CUPS.
-
- <font color="#000080"><i>Set root password</i></font>: step always displayed for Install only. In
-recommended mode display only a <font color="#000080"><i>Password</i></font> entry and a <font color="#000080"><i>Password (again)</i></font> entry
-to select the root password. In advanced mode, a Use NIS (yellow pages) check
-boxes and Use MD5 check box are available. <font color="#000080"><i>Ok</i></font> validate root password and "No
-password<font color="#000080"><i> avoid setting a password. </i></font>No password<font color="#000080"><i> is only available in </i></font>Low"
-security level or less. The length of the minimal password depend upon security level.
-
-In corporate firewall :
- <font color="#000080"><i>Set admin password</i></font>: step always displayed for Install only. It only
- displays a <font color="#000080"><i>Password</i></font> entry and a <font color="#000080"><i>Password (again)</i></font> entry
-to select the admin password.
-The length of the minimal password depend upon security level. (double of the
- security level)
-
- <font color="#000080"><i>Add a user</i></font>: step always displayed for Install Only. In recommend mode
-display <font color="#000080"><i>Real name</i></font>, <font color="#000080"><i>User name</i></font>, <font color="#000080"><i>Password</i></font>, <font color="#000080"><i>Password (again)</i></font> and icon
-choices as graphical. For customized mode a shell combo is available to choose a
-specific shell for the user depending on the package installed. The real name is
-the user friendly name of the user whereas user name is its login id name. The
-box display user that have already been added below the title. <font color="#000080"><i>Accept user</i></font>
-button allow the creation of the user and <font color="#000080"><i>Done</i></font> finish this step. High or
-higher security level implies the creation of at least one user. Password length
-are subject to same restriction according to security level. In advanced mode,
-allow to choose the user in auto login mode.
-
- <font color="#000080"><i>Create a boot disk</i></font>: step always displayed. In recommended mode this
-step is automatically done by doing nothing. If clicked or customized mode, the
-user is prompted to allow building a boot disk (default is yes). In advanced
-mode allow selection of floppy drive.
-
- <font color="#000080"><i>Install boot loader</i></font>: step always displayed. In recommended mode this
-step is automatically done. In customized mode, a combo <font color="#000080"><i>Boot device</i></font> list the
-various boot device that can be used where the bootloader can be installed. The
-boot device can the Linux description of the whole disk available (ex: /dev/hda)
-or partition available in these disk or floppy drives. Other platform
-specificity are not listed here.
- LBA check box is displayed in advanced mode (enabled by default) to
-allow using LBA addressing if available (PC with LILO). bootloader combo to
-select a given bootloader to use, available choice are <font color="#000080"><i>Grub</i></font>, "LILO with text
-menu<font color="#000080"><i>, </i></font>LILO with graphical menu<font color="#000080"><i>. default chosen is </i></font>LILO
-with graphical menu<font color="#000080"><i>. </i></font>Delay before booting default image" entry
-field is available with default value current setting (upgrade) or 5 else.
-<font color="#000080"><i>Precise RAM size if needed (found xx MB)</i></font> entry is displayed too,
-<font color="#000080"><i>clean /tmp</i></font> check box is disabled by default too.
-Boot in graphical mode (init 5) is available here in advanced mode too
-(previously in X configuration). <font color="#000080"><i>Video mode</i></font> combo, <font color="#000080"><i>Password</i></font>, <font color="#000080"><i>Password (again)</i></font>,
-<font color="#000080"><i>Restrict command line options</i></font> check box is displayed.
-Video mode combo list text mode and video mode used for frame buffer, video mode
-used for frame buffer are available only if the install managed to boot with
-frame buffer activated. Password are restricted according to security level as
-other password. Password are mandatory according to security level TO BE DEFINED.
-
- <font color="#000080"><i>Configure X</i></font>: step always displayed. By default on recommended mode,
-everything is done automatically if possible up to test of graphic card, and if
-the user accept the settings no more question are asked to him. In customized
-mode a dialog is displayed to choose resolution, color depth and which version
-of XFree (with 3D optionally) is available for the current card where only a
-short description is displayed. <font color="#000080"><i>Ok</i></font> button allow to jump to test phase (for the
-first time only) if available. <font color="#000080"><i>Cancel</i></font> return to main XFree configuration
-window allowing to change Monitor, Graphic card, Server options or Resolution
-with X version to choose. <font color="#000080"><i>Show all</i></font> extend resolution list to more resolutions
-according to card (with onboard memory) only and no more monitor capabilities.
- The main dialog is a list of command to change some X configuration aspect
-according to advanced mode or not :
- <font color="#000080"><i>Change Monitor</i></font>: display a tree selection of monitors where default one
-is selected. <font color="#000080"><i>Ok</i></font> and <font color="#000080"><i>Cancel</i></font> buttons are available.
- <font color="#000080"><i>Change Graphic card</i></font>: display a tree selection of graphic card where
-default one is selected. <font color="#000080"><i>Ok</i></font> and <font color="#000080"><i>Cancel</i></font> buttons are available. If <font color="#000080"><i>Unlisted</i></font>
-is chosen, then a tree of server/driver is displayed containing available server
-for XF3 or driver for XF4. <font color="#000080"><i>Cancel</i></font> return to main window and <font color="#000080"><i>Ok</i></font> validates
-change.
- <font color="#000080"><i>Change Server options</i></font>: available only in advanced mode. display list
-of check boxes options for server currently used. <font color="#000080"><i>Ok</i></font> and <font color="#000080"><i>Cancel</i></font> available.
- <font color="#000080"><i>Change Resolution</i></font>: change resolution and depth including with X server
-version chosen (relative to Xdrakres too).
- <font color="#000080"><i>Show Information</i></font>: display an information dialog showing current
-configuration internals of X.
- <font color="#000080"><i>Test again</i></font>: restart test with current configuration of X.
- <font color="#000080"><i>Quit</i></font>: exit X configuration main window. Other question about autologin
-and window manager to use are asked on Add user step.
-
- <font color="#000080"><i>Exit install</i></font>: step displayed only in customized mode but always
-executed. Only a text is displayed with a <font color="#000080"><i>Ok</i></font> button. If clicked and some step
-have not been executed/completed correctly, a question dialog ask the user if he
-really want to quit now, default answer is <font color="#000080"><i>No</i></font>. Advanced switch let user access
-to do the previously <font color="#000080"><i>Auto install floppy</i></font> step in DrakX &lt; 8.0. This is just a
-question asking the user to generate an auto install floppy automatically.
-</pre>
-</body>
-</html>
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/isolinux-graphic.bmp b/isolinux-graphic.bmp
deleted file mode 100644
index 0f8402945..000000000
--- a/isolinux-graphic.bmp
+++ /dev/null
Binary files differ
diff --git a/kernel/.cvsignore b/kernel/.cvsignore
deleted file mode 100644
index 827e0ba13..000000000
--- a/kernel/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-modules.description
-all.modules
-all.kernels
diff --git a/kernel/Makefile b/kernel/Makefile
deleted file mode 100644
index a821d3939..000000000
--- a/kernel/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-all: all.modules
-
-all.modules: ../mdk-stage1/mar/mar update_kernel list_modules.pm
- `../tools/specific_arch ./update_kernel`
-
-../mdk-stage1/mar/mar:
- make -C `dirname $@` mar
-
-clean:
- rm -rf *~ modules.description all.modules all.modules64
-
-check:
- perl modules.pl check > /dev/null
diff --git a/kernel/check_mar.pl b/kernel/check_mar.pl
deleted file mode 100755
index 80c0cc86c..000000000
--- a/kernel/check_mar.pl
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-
-my $mar = '../mdk-stage1/mar/mar';
--x $mar or die "ERROR: Sorry, need $mar binary\n";
-
-my %sanity_check = (
- hd => [
- qw(sym53c8xx),
- if_(arch() !~ /ppc|x86_64/, 'advansys'),
- ],
- network => [
- qw(3c59x eepro100 tulip via-rhine ne2k-pci 8139too),
- if_(arch() !~ /ppc/, 'e100'),
- if_(arch() !~ /ppc|ia64/, 'tlan'),
- ],
-);
-
-my $main_version = chomp_(cat_("all.kernels/.main"));
-
-foreach (keys %sanity_check) {
- my $marfile = "all.modules/$main_version/${_}_modules.mar";
- -e $marfile or die "ERROR: missing $marfile\n";
-
- my @l = map { /(\S+)\.k?o/ } `$mar -l $marfile`;
- my @pbs = difference2($sanity_check{$_}, \@l);
-
- @pbs and die "ERROR: sanity check should prove that " . join(" ", @pbs) . " be part of $marfile\n";
-}
diff --git a/kernel/dependencies.pl b/kernel/dependencies.pl
deleted file mode 100644
index e3be14212..000000000
--- a/kernel/dependencies.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-use strict;
-
-use MDK::Common;
-use list_modules;
-
-my $version = shift @ARGV;
-my $depfile = shift @ARGV;
-load_dependencies($depfile);
-print STDERR "Loaded dependencies from $depfile\n";
-
-my @modules = uniq(map { dependencies_closure($_) } @ARGV);
-print join " ", map { $_ . ($version == 24 ? '.o' : '.ko') } @modules;
-print "\n";
diff --git a/kernel/list_modules.pm b/kernel/list_modules.pm
deleted file mode 100644
index 04cd31d6d..000000000
--- a/kernel/list_modules.pm
+++ /dev/null
@@ -1,209 +0,0 @@
-package list_modules;
-
-use MDK::Common;
-
-our @ISA = qw(Exporter);
-our @EXPORT = qw(load_dependencies dependencies_closure category2modules module2category sub_categories);
-
-# the categories have 2 purposes
-# - choosing modules to include on stage1's (cf update_kernel and mdk-stage1/pci-resource/update-pci-ids.pl)
-# - performing a load_category or probe_category (modules.pm and many files in perl-install)
-
-our %l = (
- ################################################################################
- network =>
- {
- main => [
- if_(arch() =~ /ppc/, qw(mace bmac gmac airport)),
- if_(arch() =~ /^sparc/, qw(sunbmac sunhme sunqe)),
- if_(arch() !~ /alpha|sparc/,
- qw(3c501 3c503 3c505 3c507 3c509 3c515 3c90x),
- qw(82596 abyss ac3200 acenic aironet4500_card at1700 atp com20020-pci),
- qw(cs89x0 de600 de620),
- qw(acx100_pci defxx orinoco_plx), # most unused
- qw(depca dgrs dmfe e100 e2100 eepro eepro100 eexpress epic100 eth16i),
- qw(ewrk3 hamachi hp hp-plus hp100 ibmtr),
- qw(lance natsemi ne ne2k-pci ni5010 ni52 ni65 nvnet olympic pcnet32 plip rcpci),
- qw(sb1000 sis900 smc-ultra smc9194 starfire tlan tmspci tulip via-rhine),
- qw(wd winbond-840),
- qw(fealnx 3c990 3c990fx bcm4400),
- qw(skfp tc35815 lanstreamer farsync sdladrv orinoco_pci prism2_plx),
-
- qw(iph5526), #- fibre channel
- ),
- qw(3c59x 8139too 8139cp sundance), #rtl8139
- ],
- gigabit => [
- qw(dl2k myri_sbus yellowfin ns83820 r8169 tg3 e1000 sk98lin),
- qw(bcm5820 bcm5700), #- encrypted
- ],
-
- raw => [
- qw(ppp_generic ppp_async),
- ],
- pcmcia => [
- qw(3c574_cs 3c589_cs airo airo_cs aironet4500_cs axnet_cs fmvj18x_cs),
- qw(ibmtr_cs orinoco_cs netwave_cs nmclan_cs pcnet_cs ray_cs smc91c92_cs wavelan_cs wvlan_cs),
- qw(xirc2ps_cs xircom_cb xircom_tulip_cb),
- ],
- usb => [
- qw(catc CDCEther kaweth pegasus rtl8150 usbnet usbvnet_rfmd),
- ],
- isdn => [
- qw(b1pci c4 hisax hisax_fcpcipnp hysdn t1pci tpam),
- ],
- },
-
- ################################################################################
- disk =>
- {
- scsi => [
- if_(arch() =~ /ppc/, qw(mesh mac53c94)),
- if_(arch() =~ /^sparc/, qw(qlogicpti)),
- if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- qw(3w-xxxx AM53C974 BusLogic NCR53c406a a100u2w advansys aha152x aha1542 aha1740),
- qw(atp870u dc395x_trm dtc g_NCR5380 in2000 initio pas16 pci2220i psi240i fdomain),
- qw(qla1280 qla2x00 qlogicfas qlogicfc),
- qw(seagate wd7000 sim710 sym53c416 t128 tmscsim u14-34f ultrastor),
- qw(eata eata_pio eata_dma mptscsih nsp32),
- ),
- '53c7,8xx',
- qw(aic7xxx aic7xxx_old aic79xx pci2000 qlogicisp sym53c8xx lpfcdd), # ncr53c8xx
- ],
- hardware_raid => [
- if_(arch() =~ /^sparc/, qw(pluto)),
- if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- qw(DAC960 dpt_i2o megaraid aacraid cciss cpqarray gdth i2o_block),
- qw(cpqfc qla2200 qla2300 ataraid hptraid silraid pdcraid pdc-ultra),
- qw(ips ppa imm),
- ),
- ],
- pcmcia => [ qw(aha152x_cs fdomain_cs nsp_cs qlogic_cs ide-cs) ], #ide_cs
- raw => [ qw(scsi_mod sd_mod) ],
- usb => [ qw(usb-storage) ],
- firewire => [ qw(sbp2) ],
- cdrom => [ qw(ide-cd cdrom sr_mod) ],
- },
-
- ################################################################################
-
- bus =>
- {
- usb => [ qw(usbcore usb-uhci usb-ohci ehci-hcd usbkbd keybdev input) ],
- firewire => [ qw(ohci1394 ieee1394) ],
- pcmcia => [
- if_(arch() !~ /^sparc/, qw(pcmcia_core tcic ds i82365 i82092 yenta_socket)), # cb_enabler
- ],
- #serial_cs
- #ftl_cs 3c575_cb apa1480_cb epic_cb serial_cb tulip_cb iflash2+_mtd iflash2_mtd
- #cb_enabler
- },
-
- fs =>
- {
- network => [ qw(af_packet nfs lockd sunrpc) ],
- cdrom => [ qw(isofs) ],
- loopback => [ qw(isofs loop) ],
- local => [
- if_(arch() =~ /^i.86|x86_64/, qw(vfat fat)),
- if_(arch() =~ /^ppc/, qw(hfs)),
- qw(reiserfs),
- ],
- various => [ qw(smbfs romfs jbd xfs) ],
-
- },
-
- ################################################################################
- multimedia =>
- {
- sound => [
- if_(arch() =~ /ppc/, qw(dmasound_pmac)),
- if_(arch() !~ /^sparc/,
- qw(ad1816 ad1848 ad1889 ali5455 awe_wave audigy cmpci cs46xx cs4232 cs4281 emu10k1 es1370 es1371 esssolo1 forte),
- qw(gus i810_audio ice1712 kahlua mad16 maestro maestro3 mpu401 msnd_pinnacle nvaudio opl3 opl3sa opl3sa2 nm256_audio),
- qw(pas2 pss rme96xx sb sgalaxy sam9407 sonicvibes sscape trident via82cxxx_audio wavefront ymfpci),
- qw(snd-ali5451 snd-als100 snd-als4000 snd-azt2320 snd-azt3328 snd-cmi8330 snd-cmipci),
- qw(snd-cs4231 snd-cs4232 snd-cs4236 snd-cs46xx snd-dt0197h snd-cs4281 snd-emu10k1),
- qw(snd-ad1816a snd-ad1848 snd-gusclassic snd-gusextreme snd-gusmax snd-interwave),
- qw(snd-mpu401 snd-opti93x snd-rme9652 snd-sb8 snd-sbawe),
- qw(snd-ens1370 snd-ens1371 snd-es18xx snd-es968 snd-es1938 snd-es1968 snd-es1688),
- qw(snd-fm801 snd-hdsp snd-ice1712 snd-ice1724 snd-intel8x0 snd-korg1212 snd-maestro3),
- qw(snd-nm256 snd-rme96 snd-rme32 snd-opl3sa2 snd-sb16 snd-sgalaxy snd-sonicvibes),
- qw(snd-trident audio snd-via82xx snd-vx222 snd-wavefront snd-ymfpci),
- ),
- ],
- tv => [ qw(bttv cpia_usb ibmcam mod_quickcam ov511 ov518_decomp ultracam usbvideo cyber2000fb saa7134) ],
- photo => [ qw(dc2xx mdc800) ],
- radio => [ qw(radio-maxiradio) ],
- scanner => [ qw(scanner microtek) ],
- joystick => [ qw(ns558 emu10k1-gp iforce) ],
- },
-
- various =>
- # just here for classification, unused categories (nor auto-detect, nor load_thiskind)
- {
- raid => [
- qw(linear raid0 raid1 raid5 lvm-mod md multipath xor),
- ],
- mouse => [
- qw(busmouse msbusmouse logibusmouse serial qpmouse atixlmouse),
- ],
- char => [
- if_(arch() =~ /ia64/, qw(efivars)),
- qw(amd768_rng applicom n_r3964 nvram pc110pad ppdev),
- qw(mxser moxa isicom wdt_pci epca synclink istallion sonypi i810-tco sx), #- what are these???
- ],
- other => [
- qw(agpgart defxx i810_rng i810fb ide-floppy ide-scsi ide-tape loop lp nbd sg st),
- qw(parport parport_pc parport_serial),
- qw(btaudio),
-
- #- these need checking
- qw(pcilynx sktr rrunner meye 3c559 buz paep),
- ],
- },
-);
-
-my %dependencies;
-
-sub load_dependencies {
- my ($file) = @_;
-
- %dependencies = map {
- my ($f, $deps) = split ':';
- $f => [ split ' ', $deps ];
- } cat_($file);
-}
-
-sub dependencies_closure {
- my @l = map { dependencies_closure($_) } @{$dependencies{$_[0]} || []};
- (@l, $_[0]);
-}
-
-sub category2modules {
- map {
- my ($t1, $t2s) = m|(.*)/(.*)|;
- map {
- my $l = $l{$t1}{$_} or die "bad category $t1/$_\n" . backtrace();
- @$l;
- } split('\|', $t2s);
- } split(' ', $_[0]);
-}
-
-sub module2category {
- my ($module) = @_;
- foreach my $t1 (keys %l) {
- my $h = $l{$t1};
- foreach my $t2 (keys %$h) {
- $module eq $_ and return "$t1/$t2" foreach @{$h->{$t2}};
- }
- }
- return;
-}
-
-sub sub_categories {
- my ($t1) = @_;
- keys %{$l{$t1}};
-}
-
-1;
diff --git a/kernel/modules.pl b/kernel/modules.pl
deleted file mode 100644
index 9d51813c8..000000000
--- a/kernel/modules.pl
+++ /dev/null
@@ -1,209 +0,0 @@
-use strict;
-
-
-BEGIN {
- #- for testing purpose
- (my $f = __FILE__) =~ s|/[^/]*$||;
- push @INC, $f;
-}
-
-use MDK::Common;
-use list_modules;
-
-#- seldom used modules
-#- we don't bother making a special floppy for those
-my %modules_only_for_all_img = (
-
- 'network/main' => [
- qw(olympic acenic),
- qw(aironet4500_card com20020-pci hamachi starfire winbond-840),
- qw(fealnx 3c990 3c990fx prism2_plx dgrs),
-
- # token ring
- qw(tmspci ibmtr abyss),
-
- qw(3c501 3c503 3c505 3c507 3c515), # unused, hopefully?
- qw(eepro 82596 de620 depca ewrk3 cs89x0),
-
- if_(arch() =~ /x86_64/, qw(orinoco_plx)), # don't support laptop for now
- if_(arch() =~ /x86_64/, qw(hp100 epic100)), # old (nico)
- if_(arch() =~ /alpha|ppc/, qw(sb1000)),
- qw(iph5526),
-
- qw(ac3200 at1700 atp ni5010 ni52 ni65), #- unused from Jeff
- ],
-
- 'bus/pcmcia' => [
- if_(arch() =~ /x86_64/, qw(pcmcia_core ds tcic yenta_socket)), # don't support laptop for now
- if_(arch() =~ /x86_64/, qw(i82092 i82365)), # doco says "older laptops"
- ],
-
- 'disk/scsi' => [
- # ISA cards:
- qw(NCR53c406a aha152x psi240i qlogicfas qlogicfc wd7000 sim710 t128 ultrastor), '53c7,8xx',
- qw(qla2x00 in2000 pas16 a100u2w seagate g_NCR5380),
- if_(arch() =~ /x86_64/, qw(53c7,8xx nsp32 initio advansys atp870u)), #- old
- qw(AM53C974), # deprecated by tmscsim
- qw(u14-34f), #- duplicate from ultrastor.o
- #- still used, keeping them: qw(aha1542 sym53c416),
- qw(lpfcdd), #- HUGE!!
-
- qw(dc395x_trm mptscsih BusLogic fdomain),
- qw(pci2220i eata eata_pio eata_dma),
- 'aic7xxx_old',
- 'dtc',
- ],
-
- 'disk/hardware_raid' => [
- if_(arch() =~ /x86_64/, qw(ataraid)), #- old
- qw(i2o_block qla2200 qla2300 cpqfc DAC960 gdth pdc-ultra),
- ],
-);
-
-#- modules that will only be available in stage2
-#- those modules are NOT in all.img, network.img...
-#- there should only be modules that can't be used on stage1
-#- completly unused modules should be removed directly from the kernel
-#- (and so be removed from stage2 too)
-my %modules_removed_from_stage1 = (
- 'network/main' => [
- 'plip'
- ],
-
- 'disk/hardware_raid' => [
- qw(imm ppa),
- qw(ataraid hptraid silraid pdcraid), # ad-hoc raid which is unsupported in stage1 anyway
- ],
-);
-
-my @modules_always_on_stage1 = qw(floppy);
-
-
-sub flatten_and_check {
- my ($h) = @_;
- map {
- my $category = $_;
- my @l = @{$h->{$category}};
- if (my @bad = difference2(\@l, [ category2modules($category) ])) {
- foreach (@bad) {
- if (my $cat = module2category($_)) {
- warn "ERROR in modules.pl: module $_ is in category $cat, not in $category\n";
- } else {
- warn "ERROR in modules.pl: unknown module $_\n";
- }
- }
- exit 1;
- }
- @l;
- } keys %$h;
-}
-
-my @modules_only_for_all_img = flatten_and_check(\%modules_only_for_all_img);
-my @modules_removed_from_stage1 = flatten_and_check(\%modules_removed_from_stage1);
-
-
-my %images = (
- network_gigabit
- => 'fs/network network/raw network/gigabit',
- network_usb
- => 'fs/network network/raw bus/usb network/usb',
- network_gigabit_usb
- => 'fs/network network/raw bus/usb network/gigabit|usb',
- network => 'fs/network network/raw network/main',
- hd => 'disk/raw fs/local|loopback disk/scsi|hardware_raid',
- hdcdrom_usb
- => 'disk/cdrom|raw fs/local|loopback|cdrom bus/usb disk/usb bus/firewire disk/firewire',
- pcmcia => 'fs/cdrom disk/cdrom|raw|pcmcia bus/pcmcia',
- cdrom => 'fs/cdrom disk/cdrom|raw|scsi',
- all => 'fs/cdrom disk/cdrom|raw bus/usb disk/usb|scsi fs/loopback|local bus/pcmcia disk/pcmcia|hardware_raid fs/network network/main|pcmcia|usb|raw|gigabit bus/firewire disk/firewire',
-);
-
-my $verbose = "@ARGV" =~ /-v/;
-images() if "@ARGV" =~ /images/;
-check() if "@ARGV" =~ /check/;
-pci_modules4stage1($1) if "@ARGV" =~ /pci_modules4stage1:(.*)/;
-
-sub images {
- while (my ($image, $l) = each %images) {
- my @modules = @modules_always_on_stage1;
- foreach (split(' ', $l)) {
- push @modules, category2modules($_);
- }
-
- @modules = difference2(\@modules, \@modules_removed_from_stage1);
-
- if ($image !~ /all/) {
- @modules = difference2(\@modules, \@modules_only_for_all_img);
- }
- printf qq(%s_modules_raw="%s"\n), $image, join ' ', @modules;
- }
-}
-
-sub pci_modules4stage1 {
- print "$_\n" foreach uniq(map { dependencies_closure($_) } difference2([ category2modules($_[0]) ], \@modules_removed_from_stage1));
-}
-
-sub check {
- my $error;
- my %listed;
- while (my ($t1, $l) = each %list_modules::l) {
- while (my ($t2, $l) = each %$l) {
- ref $l or die "bad $l in $t1/$t2";
- foreach (@$l) {
- $listed{$_} = 1;
- }
- }
- }
-
- my %module2category;
- my %deprecated_modules = %listed;
- my $not_listed = sub {
- my ($msg, $verbose, @l) = @_;
- my %not_listed;
- foreach (@l) {
- my ($mod) = m|([^/]*)\.o(\.gz)?$| or next;
- delete $deprecated_modules{$mod};
- next if $listed{$mod};
- s|.*?mdk(BOOT)?/||;
- s|kernel/||; s|drivers/||; s|3rdparty/||;
- $_ = dirname $_;
- $_ = dirname $_ if $mod eq basename($_);
- $module2category{$mod} = $_;
- push @{$not_listed{$_}}, $mod;
- }
- if ($verbose) {
- print "$msg $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
- }
- };
- $not_listed->('NOT LISTED', 1, `cd all.kernels/2.4* ; find -name "*.o" -o -name "*.o.gz"`);
- $not_listed->('not listed', $verbose, `rpm -qpl /RPMS/kernel-2.4*`);
- print "bad/old modules : ", join(" ", sort keys %deprecated_modules), "\n" if %deprecated_modules;
-
- {
- require '/usr/bin/merge2pcitable.pl';
- my $pcitable = read_pcitable("/usr/share/ldetect-lst/pcitable");
- my $usbtable = read_pcitable("/usr/share/ldetect-lst/usbtable");
-
- my @l1 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$pcitable;
- if (my @l = difference2(\@l1, [ keys %listed ])) {
- my %not_listed;
- push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
- if (my $l = delete $not_listed{''}) {
- print "bad/old pcitable modules : ", join(" ", @$l), "\n";
- }
- print STDERR "PCITABLE MODULES NOT LISTED $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
- #$error = 1;
- }
-
- my @l2 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$usbtable;
- if (my @l = difference2(\@l2, [ keys %listed ])) {
- my %not_listed;
- push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
- if ($verbose) {
- print "usbtable modules not listed $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
- }
- }
- }
-
- exit $error;
-}
diff --git a/kernel/strip_modules b/kernel/strip_modules
deleted file mode 100755
index 98e4f4496..000000000
--- a/kernel/strip_modules
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/bin/sh
-#
-# Given a list of objects, strip all static symbols except those
-# required by insmod.
-#
-# Copyright Keith Owens <kaos@ocs.com.au>. GPL.
-# Sat Feb 1 12:52:17 EST 1997
-#
-# Mainly intended for reducing the size of modules to save space
-# on emergency and install disks. Be aware that removing the
-# static symbols reduces the amount of diagnostic information
-# available for oops. Not recommended for normal module usage.
-#
-# This code requires the modules use MODULE_PARM and EXPORT_.
-# Do not strip modules that have not been converted to use
-# MODULE_PARM or are using the old method of exporting symbols.
-# In particular do not use on modules prior to 2.1.20 (approx).
-#
-# The objects are stripped in /tmp, only if the strip works is
-# the original overwritten. If the command line to strip the
-# symbols becomes too long, the strip is done in multiple passes.
-# Running strip_module twice on the same object is safe (and a
-# waste of time).
-#
-
-sizeofptr="/tmp/$$.sizeofptr"
-echo 'int main() { return sizeof(void *); }' | gcc -xc - -o $sizeofptr
-$sizeofptr
-export SIZEOF_POINTER=$?
-rm -f $sizeofptr
-
-cat > /tmp/$$.awk <<\EOF
-BEGIN {
- strip = "/usr/bin/objcopy";
- nm = "/usr/bin/nm";
- cp = "/bin/cp";
- mv = "/bin/mv";
- rm = "/bin/rm";
- tmp = "/tmp";
- command_size = 400; # arbitrary but safe
-
- getline < "/proc/self/stat";
- pid = $1;
- tmpcopy = tmp "/" pid ".object";
- nmout = tmp "/" pid ".nmout";
-
- for (i = 1; i < ARGC; ++i)
- strip_module(ARGV[i]);
-
- do_command(rm " -f " tmpcopy " " nmout);
-
- exit(0);
-}
-
-function strip_module(object,
- keep_symbol, to_strip, symbol, command, changed) {
- do_command(cp " -a " object " " tmpcopy);
- do_command(nm " " tmpcopy " > " nmout);
- # delete array_name sometimes breaks, internal error, play safe
- for (symbol in keep_symbol)
- delete keep_symbol[symbol];
- for (symbol in to_strip)
- delete to_strip[symbol];
- new_module_format = 0;
- ptrskip = 2 + 2 * ENVIRON["SIZEOF_POINTER"];
- while ((getline < nmout) > 0) {
- $0 = substr($0, ptrskip);
- # b static variable, uninitialised
- # d static variable, initialised
- # r static array, initialised
- # t static label/procedures
- if ($1 ~ /[bdrt]/)
- to_strip[$2] = "";
- else if ($2 ~ /R __ksymtab_/)
- keep_symbol[substr($2, 11)] = "";
- else if ($0 ~ /R __module_parm_/)
- keep_symbol[substr($2, 15)] = "";
- else if ($1 != "?")
- keep_symbol[$2] = "";
- if ($2 ~ /__module/)
- new_module_format = 1;
- }
- close(nmout);
- command = "";
- changed = 0;
- failure = 0;
- if (new_module_format) {
- for (symbol in to_strip) {
- if (!(symbol in keep_symbol)) {
- changed = 1;
- if (length(command) > command_size) {
- failure = failure || do_command(strip command " " tmpcopy);
- command = "";
- }
- command = command " --strip-symbol=" symbol;
- }
- }
- }
- if (command != "") {
- changed = 1;
- failure = failure || do_command(strip command " " tmpcopy);
- }
- if (changed && !failure)
- do_command(mv " " tmpcopy " " object);
-}
-
-function do_command(command) {
- if ((ret = system(command)) != 0) {
- giveup("command \"" command "\" failed " ret, ret);
- return 1;
- }
- return 0;
-}
-
-function giveup(message, ret) {
- print "strip_module: " message > "/dev/stderr";
-# exit(ret);
-}
-EOF
-
-awk -f /tmp/$$.awk "$@"
-ret=$?
-rm -f /tmp/$$.awk
-exit $ret
diff --git a/kernel/update_kernel b/kernel/update_kernel
deleted file mode 100755
index 6a5da3db4..000000000
--- a/kernel/update_kernel
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/bin/bash
-
-ALL_KERNELS="all.kernels"
-RPMS=/export/Mandrake/RPMS
-
-ARCH=`uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/'`
-
-
-# move stuff to this new "kernel" directory
-if [ ! -d all.kernels ]; then
- if [ -d ../all.kernels ]; then
- mv ../all.kernels .
- rm -rf ../all.modules
- else
- # make sure "all.kernels" directory exists
- mkdir all.kernels
- fi
-fi
-
-function create_marfile() {
- marfile=$1
- shift
- $GIBASEDIR/mdk-stage1/mar/mar -c $marfile $*
-}
-
-function kern_version() {
- if echo $1 | grep -q ^2.4; then
- version=24
- objects="*.o"
- else
- version=25
- objects="*.ko"
- fi
-}
-
-function create_modules() {
- kernel_path=$1
- kern=$2
- echo "Updating modules in '`pwd`' for kernel '$kern'"
- kern_version $kern
- find $kernel_path/lib/modules/ -name "$objects" -exec cp -f {} . \;
- if [ $version -eq 24 ]; then
- /sbin/depmod-24 -F $kernel_path/boot/System.map* -e *.o | perl -pe 's/\\\n//' \
- | perl -ne 's/\.o//g; s/[ \t]+/ /g; print if /: /' > modules.dep
- else
- cp $kernel_path/lib/modules/*/modules.dep .
- perl -ni -e 's|/\S+/([^/]+)\.k?o|$1|g; print if /: /' modules.dep
- fi
- perl -pi -e 's/((plip|ppa|imm): parport)/$1 parport_pc/' modules.dep
-
- /sbin/modinfo-$version -f '%{filename} %{description}\n' $objects | perl -lne 'print "$1\t$2" if /(.*?)\.k?o "(.*)"/' > modules.description
-}
-
-function create_modules_mar() {
- kern_version $kern
-
- if [ $version -eq 24 ]; then
- echo -n "stripping $kern: "
- $GIBASEDIR/kernel/strip_modules *.o 2>/dev/null
- echo "done"
- else
- echo "don't strip on 2.6 since it breaks modules"
- fi
-
- if [ -z "$MOVE" ]; then
- echo -n "packdrake $kern: "
- ls $objects | packdrake -b9s "modules.cz" 400000
- echo "done"
- mv modules.cz ../modules.cz-$kern
- fi
- for i in network network_gigabit_usb network_gigabit network_usb cdrom hd hdcdrom_usb pcmcia all; do
- eval "modules=\$${i}_modules_raw"
- modules_with_deps=`perl -I $GIBASEDIR/kernel $GIBASEDIR/kernel/dependencies.pl $version modules.dep $modules`
- if [ -n "$MOVE" ]; then modules_with_deps="change_loop.o gzloop.o isofs.o zlib_inflate.o supermount.o $modules_with_deps"; fi
- eval "create_marfile ${i}_modules.mar $modules_with_deps"
- done
- echo
-}
-
-[ -e $ALL_KERNELS/.main ] && main=$(cat $ALL_KERNELS/.main)
-
-if [ "$ARCH" == "ia64" ] || [ "$ARCH" == "ppc" ]; then
- rpm=$(rpm -qp --qf '%{name}' $RPMS/kernel-[0-9]*.rpm | perl -pe 's/kernel-((\.?[0-9]+){3})\.(.*)/$1-${3}/')
-else
- #- allow specifying a kernel file on commandline (./update_kernel /RPMS/kernel-2.4.22.10mdk-1-1mdk.i586.rpm 2.4.22-10mdk)
- if [ -n "$1" ]; then
- file=$1
- rpm=$2
- MOVE=1
- else
- file=$RPMS/kernel-BOOT-*.rpm
- rpm=$(rpm -qp --qf '%{name}' $file | perl -pe 's/kernel-BOOT-((\.?[0-9]+){3})\.(.*)/$1-${3}BOOT/')
- fi
-fi
-if [ -n "$rpm" -a ! -e $ALL_KERNELS/$rpm ]; then
- [ -n "$main" ] && rm -rf $ALL_KERNELS/$main
- cd $ALL_KERNELS
- rm -rf $rpm ; mkdir $rpm
- cd $rpm
- if [ "$ARCH" == "ia64" ] || [ "$ARCH" == "ppc" ]; then
- rpm2cpio $RPMS/kernel-[0-9]*.rpm | cpio -id
- else
- rpm2cpio $file | cpio -id
- fi
- find -type f -name "*.o.gz" -o -name "*.ko.gz" | xargs gunzip
- cd ../..
-
- for dir in /tftpboot /var/lib/tftpboot; do
- rm -f $dir/{vmlinuz,network.rdz}
- done
-fi
-
-[ -n "$main" -a -e $ALL_KERNELS/$main ] || {
- cd $ALL_KERNELS
- main=$(echo 2.* | sed 's/.* //')
- echo "Choosing $main"
- echo $main > .main
- cd ..
-}
-
-
-if [ "$ARCH" == "i386" ]; then
- for i in $ALL_KERNELS/*/boot/vmlinuz*; do
- #disable any existing resolution!!!
- /usr/sbin/rdev -v $i 65535 #788 #785
- done
-fi
-
-
-GIBASEDIR=`pwd`/..
-
-rm -rf all.modules ; mkdir all.modules
-for i in $ALL_KERNELS/*; do
- kern=`basename $i`
- (
- mkdir all.modules/$kern
- cd all.modules/$kern
-
- create_modules ../../$i $kern
- ) || exit 1
-done
-cp -f all.modules/$main/modules.description .
-
-l=`perl modules.pl images` || exit 1
-eval $l
-
-for i in $ALL_KERNELS/*; do
- kern=`basename $i`
- (
- cd all.modules/$kern
-
- if [ "$kern" = "$main" ]; then
- create_modules_mar ../../$i $kern
- else
- echo "$kern ($main)"
- create_modules_mar ../../$i $kern 2>/dev/null
- fi
- ) || exit 1
-done
-
-
-./check_mar.pl
diff --git a/make_boot_img b/make_boot_img
deleted file mode 100755
index 7edbc7e0f..000000000
--- a/make_boot_img
+++ /dev/null
@@ -1,723 +0,0 @@
-#!/usr/bin/perl
-
-@ARGV >= 2 or die "usage: $0 <image> all|cdrom|hd|hdcdrom_usb|network|network_gigabit_usb|network_gigabit|network_usb|blank|pcmcia|live|tftp|tftprd\n";
-
-use Config;
-use MDK::Common;
-Config->import;
-my ($arch) = $Config{archname} =~ /(.*?)-/;
-
-($img, $type) = @ARGV;
-
-# move stuff to new "kernel" directory
--d 'kernel' or die "directory kernel is missing\n";
-rename 'all.kernels', 'kernel/all.kernels';
-rename 'all.modules', 'kernel/all.modules';
-
-$default_append = "ramdisk_size=128000 root=/dev/ram3";
-# full acpi support for amd64, enough acpi support for x86 ht, no acpi for others
-$default_acpi = ($arch =~ /i.86/ ? "acpi=ht" : ($arch =~ /x86_64/ ? "acpi=off" : "acpi=off"));
-$default_vga = "vga=788";
-
-$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",
- blank => "stage1-full",
- live => "stage1-full",
- tftp => "stage1-full",
- tftprd => "stage1-full",
- pcmcia => "stage1-full",
- network => "stage1-network",
- network_gigabit => "stage1-network",
- network_usb => "stage1-network-usb",
- network_gigabit_usb => "stage1-network-usb",
- cdrom => "stage1-cdrom",
- hd => "stage1-disk",
- hdcdrom_usb => "stage1-medias-usb",
- 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 kernel/all.kernels/.main`);
-
-if ($img =~ /blank|pcmcia/) {
- @kernels = $main;
-} else {
- @kernels = map { m|kernel/all.kernels/(.*)| } glob('kernel/all.kernels/*');
- $img =~ /usb/ and @kernels = grep { $_ !~ /2\.2\.14/ } @kernels; #- 2.2.14 is too old, usb support was not working properly
-}
-
-foreach (@kernels) {
- if ($img =~ /rdz$/) {
- initrd($mnt, "$img-$_");
- } else {
- print STDERR "calling boot_img_$arch\n";
- $::{"boot_img_$arch"}->($mnt, "$img-$_", glob("kernel/all.kernels/$_/boot/vmlinu*"));
- rename("$img-$main", "$img");
- }
-}
-if ($arch =~ /x86_64/ && $img =~ /all/) {
- # isolinux is supposed to work on all those new hardware
- isolinux($main, @kernels);
-}
-if ($arch =~ /i.86/ && $img =~ /all/) {
- isolinux($main, @kernels);
-
- my ($img, $img_sav) = ("images/cdrom.img-$main", 'images/cdrom.img-sav');
- rename($img, $img_sav);
- $type = 'cdrom';
- $::{"boot_img_$arch"}->($mnt, $img, "kernel/all.kernels/$main/boot/vmlinu*", sub { $_[0] =~ s/\bautomatic=\S+\b//; "$_[0] changedisk" });
- rename($img, 'images/cdrom-changedisk.img');
- rename($img_sav, $img);
-}
-
-if (my ($tftpboot) = grep { -e $_ } qw(/tftpboot /var/lib/tftpboot)) {
- system("/bin/cp -f kernel/all.kernels/$main/boot/vmlinu* $tftpboot/vmlinuz 2>/dev/null");
- system("/bin/cp -f images/network.rdz-$main $tftpboot/network.rdz 2>/dev/null");
-}
-
-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=" . ($arch =~ /ia64/ ? ($type eq "all" ? 16386 : 16384) : ($type eq "all" ? 4000 : 2000));
- _ "$mke2fs $tmp";
- _ "$sudo mount -t ext2 $tmp $mnt -o loop";
-
- _ "$sudo tar xjC $mnt -f $tar";
- symlinkf "/tmp/stage2/lib64", "$mnt/lib64" if ($arch =~ /x86_64/);
- install_stripped("$instdir/init", "$mnt/sbin");
- install_stripped("$instdir/$install", "$mnt/sbin/stage1");
-
- if (member($type, qw(network network_gigabit_usb all blank))) {
- install_stripped("$instdir/ppp/pppd-bin", "$mnt/sbin/pppd");
- install_stripped("$instdir/rp-pppoe/pppoe-bin", "$mnt/sbin/pppoe");
- _ "$sudo mknod $mnt/dev/ppp c 108 0";
- _ "$sudo mknod $mnt/dev/ptyp0 c 2 0";
- _ "$sudo mknod $mnt/dev/ttyp0 c 3 0";
- }
-
- if (member($type, qw(pcmcia all network)) && $arch !~ /ppc|ia64|x86_64/) {
- _ "$sudo cp -a /etc/pcmcia $mnt/etc";
- _ "cp $mnt/etc/pcmcia/config /tmp/pcmcia_config_tmp";
- _ "tools/patch_pcmcia_config.pl /tmp/pcmcia_config_tmp kernel/all.modules/$main/modules.dep";
- _ "sudo mv /tmp/pcmcia_config_tmp $mnt/etc/pcmcia/config";
- }
- my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)";
- my $modz = "kernel/all.modules$I/$ext";
- if ($type !~ /blank/) {
- _ "$sudo cp -f $modz/${ltype}_modules.mar $mnt/modules/modules$I.mar" ;
- _ "$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 entries_append {
- my ($type) = @_;
-
- my $automatic = "";
- $automatic = "automatic=method:cdrom" if ($type eq "cdrom");
- $automatic = "automatic=method:disk" if ($type eq "hd");
-
- my @simple_entries = (
- linux => "$default_vga",
- vgalo => "vga=785",
- vgahi => "vga=791",
- vga16 => "vga16",
- text => "text",
- patch => "patch $default_vga",
- expert => "expert $default_vga",
- rescue => "rescue rw",
- );
- my @entries = (
- (map { $_->[0] => "$automatic $default_acpi $_->[1]" } group_by2(@simple_entries)),
- acpi => "$automatic $default_vga",
- if_(member($type, "cdrom", "all"), oem => "automatic=method:cdrom $default_vga $default_acpi rescue oem rw",),
- if_($type eq "all", all => "pcmcia $default_vga $default_acpi"),
- );
-
- map { [ $_->[0], "$default_append $_->[1]" ] }
- group_by2(@entries);
-}
-
-sub boot_img_i386 {
- my ($mnt, $img, $kernel, $args_callback) = @_;
-
- __ "$sudo umount $mnt 2>/dev/null";
-
- 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";
- } elsif ($type eq "blank") {
- _ "bunzip2 -c $instdir/init-data/msgboot-blank.img.bz2 > $img";
- } else {
- _ "bunzip2 -c $instdir/init-data/msgboot-graphicallogo.img.bz2 > $img";
- }
-
-
- _ "$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;
- my $short_type = substr($type, 0, 8);
- eval { _ "cp -f $rdz $mnt/$short_type.rdz" };
- if ($@) {
- unlink "$mnt/$short_type.rdz";
- my $avail = (split ' ', `df $mnt`)[-3];
- my $s = int((-s $rdz) / 1024);
-
- my ($ext) = $img =~ /\.img-(.*)/ or die "bad initrd name ($img)";
- my $dir = "kernel/all.modules/$ext";
- my $pcitable = cat_('/usr/share/ldetect-lst/pcitable');
- my @l = sort { $a <=> $b } map {
- my ($name) = /(\w+)\.k?o$/ or die "bad file in .mar";
- my $gz_size = chomp_(`gzip -c $dir/$_ | wc -c`);
- sprintf "%7d %6d %s\n", $gz_size, listlength($pcitable =~ /"$name"/g), $name;
- } split(' ', `mdk-stage1/mar/mar -l $dir/${type}_modules.mar`);
- output('.not-enough-room', "gz size - pcitable - name\n", @l);
-
- warn sprintf("not enough room for $rdz: need %dKB (available %dKB < needed %dKB)\n", $s - $avail, $avail, $s);
- die qq(check file ".not-enough-room" to see modules size and pcitable usage\n);
- }
-
- my $timeout = 72;
- output "$mnt/syslinux.cfg",
-"default linux
-prompt 1
-timeout $timeout
-display boot.msg
-F1 help.msg
-F2 advanced.msg
-F3 boot.msg
-" . join('', map {
- my $args = $args_callback ? $args_callback->($_->[1]) : $_->[1];
-"label $_->[0]
- kernel vmlinuz
- append initrd=$short_type.rdz $args
-" } entries_append($type));
-
- _ "sync";
- _ "df $mnt";
-}
-
-# alias to x86 variant, slightly bigger with images though
-sub boot_img_x86_64 { &boot_img_i386 }
-
-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 $default_append $type
-1:vmlinux.gz initrd=$type.rdz rw $default_append text $type
-");
- _ "sync";
- _ "df $mnt";
-}
-
-sub boot_img_ia64 {
- my ($mnt, $img, $kernel) = @_;
- my $rdz = $img; $rdz =~ s/\.img/.rdz/;
-
- __ "$sudo umount $mnt 2>/dev/null";
- _ "dd if=/dev/zero of=$img bs=1k count=16384";
- _ "mkdosfs $img";
- _ "$sudo mount -t vfat $img $mnt -o loop,umask=000";
- _ "$sudo cp -f $kernel $mnt/vmlinux";
- _ "cp -f $rdz $mnt/$type.rdz";
- _ "$sudo cp -f tools/ia64/elilo.efi $mnt";
- output("$mnt/elilo.conf", "
-prompt
-timeout=50
-
-image=vmlinux
- label=linux
- root=/dev/ram3
- initrd=$type.rdz
- append=\" ramdisk_size=120000\"
- read-only
-
-image=vmlinux
- label=rescue
- root=/dev/ram3
- initrd=$type.rdz
- append=\" rescue ramdisk_size=120000\"
-");
- _ "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=128000 root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=text
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 text root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=expert
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 expert root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=ks
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 ks root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=rescue
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 rescue rw root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=linux
- alias=install
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=text
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 text root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=expert
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 expert root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=ks
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 ks root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=rescue
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 rescue rw root=/dev/ram3\"
-");
-
- 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 Mandrake Linux 7.1
-
-Press <Enter> to install or upgrade a system 7mMandrake Linux7m
-");
-
- 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=128000 $ltype root=/dev/ram3\"
-");
- _ "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 (@kernels) = @_;
- #- hack to produce directly into /export the needed file for cdrom boot.
- my $dir = "/export";
- my $boot = "boot"; #- non-absolute pathname only!
- _ "rm -rf $dir/$boot"; mkdir "$dir/$boot", 0777;
- foreach (glob("kernel/all.kernels/*")) {
- my $ext = basename($_);
- if ($ext =~ /2.4/) {
- _ "cp $_/boot/vmlinux $dir/$boot/vmlinux";
- _ "cp images/all.rdz-$ext $dir/$boot/all.gz";
- }
- if ($ext =~ /2.2/) {
- _ "cp $_/boot/vmlinux $dir/$boot/vmlinux-2.2";
- _ "cp images/all.rdz-$ext $dir/$boot/all-2.2.gz";
- }
- }
- _ "cp -f /usr/lib/yaboot/yaboot $dir/$boot/yaboot";
-
- output("$dir/$boot/ofboot.b", "<CHRP-BOOT>
-<COMPATIBLE>
-MacRISC
-</COMPATIBLE>
-<DESCRIPTION>
-Mandrake Linux PPC bootloader
-</DESCRIPTION>
-<BOOT-SCRIPT>
-\" screen\" output
-dev screen
-\" \"(0000000000aa00aa0000aaaaaa0000aa00aaaa5500aaaaaa)\" drop 0 8 set-colors
-\" \"(5555555555ff55ff5555ffffff5555ff55ffffff55ffffff)\" drop 8 8 set-colors
-device-end
-3 to foreground-color
-0 to background-color
-\" \"(0C)\" fb8-write drop
-\" Booting Mandrake Linux PPC...\" fb8-write drop 100 ms
-boot cd:2,\\\\yaboot
-</BOOT-SCRIPT>
-<OS-BADGE-ICONS>
-1010
-000000000000F8FEACF6000000000000
-0000000000F5FFFFFEFEF50000000000
-00000000002BFAFEFAFCF70000000000
-0000000000F65D5857812B0000000000
-0000000000F5350B2F88560000000000
-0000000000F6335708F8FE0000000000
-00000000005600F600F5FD8100000000
-00000000F9F8000000F5FAFFF8000000
-000000008100F5F50000F6FEFE000000
-000000F8F700F500F50000FCFFF70000
-00000088F70000F50000F5FCFF2B0000
-0000002F582A00F5000008ADE02C0000
-00090B0A35A62B0000002D3B350A0000
-000A0A0B0B3BF60000505E0B0A0B0A00
-002E350B0B2F87FAFCF45F0B2E090000
-00000007335FF82BF72B575907000000
-000000000000ACFFFF81000000000000
-000000000081FFFFFFFF810000000000
-0000000000FBFFFFFFFFAC0000000000
-000000000081DFDFDFFFFB0000000000
-000000000081DD5F83FFFD0000000000
-000000000081DDDF5EACFF0000000000
-0000000000FDF981F981FFFF00000000
-00000000FFACF9F9F981FFFFAC000000
-00000000FFF98181F9F981FFFF000000
-000000ACACF981F981F9F9FFFFAC0000
-000000FFACF9F981F9F981FFFFFB0000
-00000083DFFBF981F9F95EFFFFFC0000
-005F5F5FDDFFFBF9F9F983DDDD5F0000
-005F5F5F5FDD81F9F9E7DF5F5F5F5F00
-0083DD5F5F83FFFFFFFFDF5F835F0000
-000000FBDDDFACFBACFBDFDFFB000000
-000000000000FFFFFFFF000000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFFFF00000000
-00000000FFFFFFFFFFFFFFFFFF000000
-00000000FFFFFFFFFFFFFFFFFF000000
-000000FFFFFFFFFFFFFFFFFFFFFF0000
-000000FFFFFFFFFFFFFFFFFFFFFF0000
-000000FFFFFFFFFFFFFFFFFFFFFF0000
-00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
-000000FFFFFFFFFFFFFFFFFFFF000000
-</OS-BADGE-ICONS>
-</CHRP-BOOT>
-");
-
- output("$dir/$boot/yaboot.conf", "
-init-message = \"\\nWelcome to Mandrake Linux PPC!\\nHit <TAB> for boot options.\\n\\n\"
-timeout = 150
-default = install-gui
-message=cd:,\\\\\\\\yaboot.msg
-
-image = cd:,\\\\\\\\vmlinux
- label = install-gui
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 34000
-
-image = cd:,\\\\\\\\vmlinux-2.2
- label = install-gui-2.2
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all-2.2.gz
- initrd-size = 34000
-
-image = cd:,\\\\\\\\vmlinux
- label = install-text
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 34000
- append = \" text video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux-2.2
- label = install-text-2.2
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all-2.2.gz
- initrd-size = 34000
- append = \" text video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-gui-old
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 34000
- append = \" gui-old video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux-2.2
- label = install-gui-old-2.2
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all-2.2.gz
- initrd-size = 34000
- append = \" gui-old video=ofonly\"
-
-image = enet:0,vmlinux
- label = install-net
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 34000
- append = \" video=ofonly\"
-
-image = enet:0,vmlinux-2.2
- label = install-net-2.2
- root = /dev/ram3
- initrd = enet:0,all-2.2.gz
- initrd-size = 34000
- append = \" video=ofonly\"
-
-image = enet:0,vmlinux
- label = install-net-text
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 34000
- append = \" text video=ofonly\"
-
-image = enet:0,vmlinux-2.2
- label = install-net-text-2.2
- root = /dev/ram3
- initrd = enet:0,all-2.2.gz
- initrd-size = 34000
- append = \" text video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = rescue
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 34000
- append = \" rescue video=ofonly\"
-
-image = enet:0,vmlinux
- label = rescue-net
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 34000
- append = \" rescue video=ofonly\"
-");
-
- output("$dir/$boot/yaboot.msg", "
-Thanks for choosing Mandrake Linux PPC. The following is a short
-explanation of the various options for booting the install CD.
-
-All options ending with \"2.2\" will use the 2.2.20-9mdkBOOT kernel.
-The default syntax with no suffix uses the 2.4.18-4mdkBOOT kernel.
-The default if you just hit enter is \"install-gui\".
-
-install-gui: uses XFree86 fbdev mode
-install-text: text based install
-install-gui-old: old Xpmac gui
-install-net: allows you to use a minimal boot CD,
- pulling the rest of the install from
- a network server
-install-net-text: text mode network install
-rescue: boots the rescue image
-rescue-net: boots the rescue image from a network server
-
-");
-
-}
-
-sub isolinux {
- my ($main, @kernels) = @_;
- @kernels = ($main, grep { $_ ne $main } @kernels);
- _ "rm -rf isolinux"; mkdir "isolinux", 0777;
- my $i = 0;
- foreach (@kernels) {
- mkdir "isolinux/alt$i", 0777;
- my ($kernel) = glob("kernel/all.kernels/$_/boot/vmlinu*");
- _ "cp $kernel isolinux/alt$i/vmlinuz";
- _ "cp images/all.rdz-$_ isolinux/alt$i/all.rdz";
- $i++;
- }
- if (-e "isolinux-graphic.bmp") {
- #- change here for newer picture isolinux-graphic.bmp and newer parameters.
- #- for old style pictures (9.1 and previous)
- # lilo-bmp2mdk mode:0x103 progress:425,173,16,7,64+21 clear:600,800,64+59 pos:0,0 <isolinux-graphic.bmp >isolinux/boot.msg
- #- for current 9.2 pictures.
- _ "lilo-bmp2mdk mode:0x103 progress:371,144,4,8,64+60 clear:600,800,64+127 pos:0,0 <isolinux-graphic.bmp >isolinux/boot.msg";
- }
- _ "cp /usr/lib/syslinux/isolinux.bin isolinux/isolinux.bin";
- output "isolinux/isolinux.cfg", "
-default linux
-prompt 1
-timeout 150
-" . (-e "isolinux/boot.msg" ? "display boot.msg" : "display help.msg") . "
-F1 help.msg
-F2 advanced.msg
-" . (-e "isolinux/boot.msg" && "F3 boot.msg") . "
-" . join('', map {
-"label $_->[0]
- kernel alt0/vmlinuz
- append initrd=alt0/all.rdz $_->[1] automatic=method:cdrom
-" } entries_append('all'))
- . join('', map_index {
-"label alt$::i
- kernel alt$::i/vmlinuz
- append initrd=alt$::i/all.rdz $default_append $default_acpi $default_vga
-" } @kernels);
-
- output "isolinux/help.msg", (-e "isolinux/boot.msg" && pack "C*", 0x0E, 0x80, 0x03, 0x00) .
-"
- 0aWelcome to 09Mandrake Linux0a install help07
-
-In most cases, the best way to get started is to simply press the 0e<Enter>07 key.
-If you experience problems with standard install, try one of the following
-install types (type the highlighted text and press 0e<Enter>07):
-
- o 0fvgalo07 for low resolution graphical installation.
- o 0ftext07 for text installation instead of the graphical one.
- o 0flinux07 for standard graphical installation at normal resolution.
- o 0fexpert07 for expert graphical installation at normal resolution.
-
-
-To use this CD to repair an already installed system type 0frescue07
-followed by 0e<Enter>07.
-
-You can also pass some 0f<specific kernel options>07 to the Linux kernel.
-For example, try 0flinux mem=128M07 if your system has 128Mb of RAM but the default
-kernel ($main) does not detect it correctly.
-0cNOTE07: You cannot pass options to modules (SCSI, ethernet card) or devices
-such as CD-ROM drives in this way. If you need to do so, use expert mode.
-
-" . (-e "isolinux/boot.msg" ?
- "0c[F1-Help] [F2-Advanced Help] [F3-Main]07" :
- "0c[F1-Help] [F2-Advanced Help]07") . "\n";
-
- output "isolinux/advanced.msg", (-e "isolinux/boot.msg" && pack "C*", 0x0E, 0x80, 0x03, 0x00) .
-"
-The following install types may be used instead of previously notified :
- o 0fvgahi07 for high resolution graphical installation.
- o 0fvga1607 for 640x480 in 16 colors graphical installation.
-
-The following options may be added on the command line :
- o 0freadonly=107 to disable editing disk partitions.
- o 0fdisplay=ackbar:007 to export display to 09ackbar07 machine screen 0 during
- installation.
- o 0fnoauto07 to disable automatic detection (generally used with 0fexpert07).
- o 0fsecurity=n07 to set security level to value 09n07.
- o 0fupdatemodules07 to use the special update floppy containing modules updates.
- o 0fpatch07 to use a patch from the floppy (file named 09patch.pl07).
- o 0fauto_install=floppy07 to enable auto_install using 09auto_inst.cfg07 file on the
- floppy.
-
-You can choose the following kernels :
-" . join('', map_index { " o 0falt$::i07 is kernel $_\n" } @kernels) . "
-" . (-e "isolinux/boot.msg" ?
- "0c[F1-Help] [F2-Advanced Help] [F3-Main]07" :
- "0c[F1-Help] [F2-Advanced Help]07") . "\n";
-}
diff --git a/mdk-stage1/.cvsignore b/mdk-stage1/.cvsignore
deleted file mode 100644
index 4594eb719..000000000
--- a/mdk-stage1/.cvsignore
+++ /dev/null
@@ -1,14 +0,0 @@
-init
-init-move
-stage1-full
-stage1-cdrom
-stage1-disk
-stage1-medias-usb
-stage1-network
-stage1-network-usb
-debug.log
-.depend
-*.rdz*
-mkinitrd_helper.tar.bz2
-hack_*
-rescue-gui
diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile
deleted file mode 100644
index d04c176e5..000000000
--- a/mdk-stage1/Makefile
+++ /dev/null
@@ -1,312 +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
- #
- # ppc
- # init with dietlibc
- # stage1 with glibc
- #
- # ia64
- # init with glibc
- # stage1 with glibc
- #
- # x86-64
- # init with minilibc
- # stage1 with dietlibc
- #
- #*****************************************************************************
-
-
-VERSION = 9.2
-
-top_dir = .
-
-include $(top_dir)/Makefile.common
-
-
-DEFS = -DVERSION=\"$(VERSION)\" -DSPAWN_SHELL $(ADDITIONAL_DEFS)
-
-COMPILE = $(CC) $(DEFS) $(CFLAGS)
-
-
- #- stage1 "loader"
-ifeq (i386, $(ARCH))
-INITSRC = minilibc.c init.c
-INIT_DEFS = -DINIT_HEADERS=\"minilibc.h\" -fno-builtin
-INIT_DEFS_ADD = -DBINARY=\"/sbin/stage1\"
-INIT_DEFS_ADD_MANDRAKE_MOVE = -DBINARY=\"/usr/bin/runstage2.pl\"
-else
-ifeq (x86_64, $(ARCH))
-INITSRC = minilibc.c init.c
-INIT_DEFS = -DINIT_HEADERS=\"minilibc.h\" -fno-builtin
-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
-endif
-
-INITOBJS = $(subst .c,.o,$(INITSRC))
-INITOBJS-MANDRAKE_MOVE = $(subst .c,-MOVE.o,$(INITSRC))
-
-
- #- frontends
-NEWT_FRONTEND_SRC = newt-frontend.c
-NEWT_FRONTEND_LIBS = newt/libnewt.a slang/libslang.a
-
-STDIO_FRONTEND_SRC = stdio-frontend.c
-STDIO_FRONTEND_LIBS =
-STDIO_FRONTEND_LIBS =
-
-
-FRONTEND_OBJS = $(subst .c,.o,$($(F)_FRONTEND_SRC))
-
-FRONTEND_LINK = $(FRONTEND_OBJS) $($(F)_FRONTEND_LIBS)
-
-INSMOD = insmod-modutils
-ifeq (i386, $(ARCH))
-INSMOD = insmod-busybox
-endif
-ifeq (x86_64, $(ARCH))
-INSMOD = insmod-busybox
-endif
-
-STAGE1_OWN_LIBS = $(INSMOD)/libinsmod.a mar/libmar.a bzlib/libbzlib.a
-
-
-ifeq (DIETLIBC, $(L))
-STAGE1_NETWORK_LIBS = $(top_dir)/dietlibc/bin-$(ARCH)/librpc.a
-endif
-
-ifeq (GLIBC, $(L))
-ifeq (x86_64, $(ARCH))
-STAGE1_NETWORK_LIBS = /usr/lib64/libresolv.a
-else
-STAGE1_NETWORK_LIBS = /usr/lib/libresolv.a
-endif
-endif
-
-ifdef MOVE
-MOVE_ADDSRC = lomount.c
-else
-MOVE_ADDSRC =
-endif
-
- #- stage1 itself
-STAGE1SRC = stage1.c log.c tools.c modules.c probing.c mount.c automatic.c frontend-common.c
-CDROMSRC = cdrom.c $(MOVE_ADDSRC)
-DISKSRC = disk.c lomount.c
-NETWORKSRC = network.c nfsmount.c dhcp.c url.c dns.c adsl.c $(MOVE_ADDSRC)
-
-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-MEDIAS-USB = $(subst .c,-MEDIAS-USB.o,$(STAGE1SRC) $(CDROMSRC) $(DISKSRC))
-
-MEDIAS-USB_DEFS = -DDISABLE_NETWORK
-
-
-STAGE1OBJS-NETWORK = $(subst .c,-NETWORK.o,$(STAGE1SRC) $(NETWORKSRC))
-STAGE1OBJS-NETWORK-USB = $(subst .c,-NETWORK-USB.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 (x86_64, $(ARCH))
-LDFLAGS_INIT = -static -nostdlib /usr/lib64/crt1.o
-INIT_LIBC = $(GLIBC_LIBC)
-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
-endif
-
-
-BINS = init stage1-full
-
-ifeq (i386, $(ARCH))
-BINS += stage1-cdrom stage1-disk stage1-network stage1-network-usb stage1-medias-usb
-endif
-ifeq (x86_64, $(ARCH))
-BINS += stage1-cdrom stage1-disk stage1-network stage1-network-usb stage1-medias-usb
-endif
-
-ifeq (i386, $(ARCH))
-DIRS = dietlibc
-endif
-ifeq (ppc, $(ARCH))
-DIRS = dietlibc
-endif
-ifeq (x86_64, $(ARCH))
-DIRS = dietlibc
-endif
-DIRS += mar pci-resource usb-resource bzlib $(INSMOD) slang newt ppp/pppd rp-pppoe/src
-ifeq (i386, $(ARCH))
-DIRS += pcmcia_
-endif
-
-
-ifeq (i386,$(ARCH))
-PCMCIA_LIB = pcmcia_/libpcmcia.a
-PCMCIA_DEFS = -DENABLE_PCMCIA
-endif
-
-USB_DEFS_GEN = -DENABLE_USB
-USB_DEFS = -DENABLE_USB -DDISABLE_PCIADAPTERS
-
-all: dirs $(BINS)
-
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || make -C $$n || exit 1 ;\
- done
-
-init: $(INITOBJS) $(INIT_LIBC)
- $(CC) $(LDFLAGS_INIT) -o $@ $^
- $(STRIPCMD) $@
-
-init-move: $(INITOBJS-MANDRAKE_MOVE) $(INIT_LIBC)
- $(CC) $(LDFLAGS_INIT) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-cdrom: $(STAGE1OBJS-CDROM) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-disk: $(STAGE1OBJS-DISK) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-medias-usb: $(STAGE1OBJS-MEDIAS-USB) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-network: $(STAGE1OBJS-NETWORK) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-network-usb: $(STAGE1OBJS-NETWORK-USB) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-stage1-full: $(STAGE1OBJS-FULL) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-
-$(INITOBJS): %.o: %.c
- $(COMPILE) $(INIT_DEFS) $(INIT_DEFS_ADD) -c $<
-
-$(INITOBJS-MANDRAKE_MOVE): %-MOVE.o: %.c
- $(COMPILE) $(INIT_DEFS) $(INIT_DEFS_ADD_MANDRAKE_MOVE) -c $< -o $@
-
-$(STAGE1OBJS-CDROM): %-CDROM.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(CDROM_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-DISK): %-DISK.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(DISK_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-MEDIAS-USB): %-MEDIAS-USB.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(MEDIAS-USB_DEFS) $(USB_DEFS_GEN) -c $< -o $@
-
-$(STAGE1OBJS-NETWORK): %-NETWORK.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(PCMCIA_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-NETWORK-USB): %-NETWORK-USB.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(USB_DEFS_GEN) -c $< -o $@
-
-$(STAGE1OBJS-FULL): %-FULL.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(USB_DEFS_GEN) $(PCMCIA_DEFS) -c $< -o $@
-
-.c.o:
- $(DIET) $(COMPILE) $(INCLUDES) -c $<
-
-
-clean:
- @for n in $(DIRS); do \
- (cd $$n; make clean) \
- done
- rm -f *.o .depend *.rdz *.img rescue-gui $(BINS)
-
-
-tar-mkinitrd_helper: clean
- rm -rf mkinitrd_helper-subdir
- mkdir mkinitrd_helper-subdir
- cd mkinitrd_helper-subdir ; cp -a ../dietlibc ../insmod-busybox ../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
-
-rescue-gui: rescue-gui.o frontend-common.o $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
-
-
-.depend:
- $(CPP) $(CFLAGS) -M $(ALLSRC) > .depend
-
-ifeq (.depend,$(wildcard .depend))
-include .depend
-endif
-
-
-*-CDROM.o: %-CDROM.o: %.o
-
-*-DISK.o: %-DISK.o: %.o
-
-*-MEDIAS-USB.o: %-MEDIAS-USB.o: %.o
-
-*-NETWORK.o: %-NETWORK.o: %.o
-
-*-NETWORK-USB.o: %-NETWORK-USB.o: %.o
-
-*-FULL.o: %-FULL.o: %.o
-
diff --git a/mdk-stage1/Makefile.common b/mdk-stage1/Makefile.common
deleted file mode 100644
index 04c070fc2..000000000
--- a/mdk-stage1/Makefile.common
+++ /dev/null
@@ -1,64 +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
-ifeq (ppc, $(ARCH))
-L = GLIBC
-endif
-ifeq (x86_64, $(ARCH))
-#L = GLIBC
-endif
-
-ifeq (DIETLIBC, $(L))
-DIET = $(top_dir)/dietlibc/bin-$(ARCH)/diet
-endif
-
-
- #- flags used by all stuff
-ifeq (ppc, $(ARCH))
-CFLAGS = -Os -pipe -Wall -fomit-frame-pointer -fno-strict-aliasing
-else
-CFLAGS = -Os -pipe -Wall -Werror -W -fomit-frame-pointer -fno-strict-aliasing
-endif
-
-DIETLIBC_INCLUDES = -I$(top_dir)/dietlibc/include -I. -I$(top_dir)/bzlib
-GLIBC_INCLUDES = -I. -I$(top_dir)/bzlib
-INCLUDES = $($(L)_INCLUDES)
-
-GLIBC_LDFLAGS_STAGE1 = -static
-DIETLIBC_LDFLAGS_STAGE1 = -nostdlib
-LDFLAGS_STAGE1 = $($(L)_LDFLAGS_STAGE1)
-
-GLIBC_LIBC =
-DIETLIBC_LIBC =
-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 72bef595f..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
-
-
-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 d542f2f35..000000000
--- a/mdk-stage1/adsl.c
+++ /dev/null
@@ -1,172 +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 <stdio.h>
-#include <resolv.h>
-#include <signal.h>
-
-#include "stage1.h"
-#include "log.h"
-#include "network.h"
-#include "modules.h"
-#include "tools.h"
-#include "frontend.h"
-#include "automatic.h"
-
-#include "adsl.h"
-
-
-static enum return_type adsl_connect(char * net_device, char * username, char * password)
-{
- char pppoe_call[500];
- char * pppd_launch[] = { "/sbin/pppd", "pty", pppoe_call, "noipdefault", "noauth", "default-asyncmap", "defaultroute",
- "hide-password", "nodetach", "usepeerdns", "local", "mtu", "1492", "mru", "1492", "noaccomp",
- "noccp", "nobsdcomp", "nodeflate", "nopcomp", "novj", "novjccomp", "user", username,
- "password", password, "lcp-echo-interval", "20", "lcp-echo-failure", "3", "lock", "persist", NULL };
- int fd;
- int retries = 10;
- char * tty_adsl = "/dev/tty6";
- enum return_type status = RETURN_ERROR;
- pid_t ppp_pid;
-
- snprintf(pppoe_call, sizeof(pppoe_call), "/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -I %s -T 80 -U -m 1412", net_device);
-
-
- fd = open(tty_adsl, O_RDWR);
- if (fd == -1) {
- log_message("cannot open tty -- 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 (!(ppp_pid = 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");
-
- printf("\t(exec of pppd)\n");
- execve(pppd_launch[0], pppd_launch, grab_env());
- log_message("execve of %s failed: %s", pppd_launch[0], strerror(errno));
- exit(-1);
- }
- close(fd);
- while (retries > 0 && kill(ppp_pid, 0) == 0) {
- FILE * f;
- if ((f = fopen("/var/run/pppd.tdb", "rb"))) {
- while (1) {
- char buf[500];
- if (!fgets(buf, sizeof(buf), f))
- break;
- if (strstr(buf, "IPLOCAL="))
- status = RETURN_OK;
- }
- fclose(f);
- if (status == RETURN_OK) {
- log_message("PPP: connected!");
- break;
- }
- }
- retries--;
- log_message("PPP: <sleep>");
- sleep(2);
- }
-
- if (status != RETURN_OK) {
- log_message("PPP: could not connect");
- kill(ppp_pid, SIGTERM);
- sleep(1);
- kill(ppp_pid, SIGKILL);
- sleep(1);
- }
- return status;
-}
-
-
-enum return_type perform_adsl(struct interface_info * intf)
-{
- struct in_addr addr;
- char * questions[] = { "Username", "Password", NULL };
- char * questions_auto[] = { "adsluser", "adslpass", NULL };
- static char ** answers = NULL;
- enum return_type results;
-
- 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;
- }
-
- results = ask_from_entries_auto("Please enter the username and password for your ADSL account.\n"
- "(Warning! only PPPoE protocol is supported)",
- questions, &answers, 40, questions_auto, NULL);
- if (results != RETURN_OK)
- return results;
-
- intf->boot_proto = BOOTPROTO_ADSL_PPPOE;
-
- wait_message("Waiting for ADSL connection to show up...");
- my_insmod("ppp_generic", ANY_DRIVER_TYPE, NULL);
- my_insmod("ppp_async", ANY_DRIVER_TYPE, NULL);
- my_insmod("ppp", ANY_DRIVER_TYPE, NULL);
- results = adsl_connect(intf->device, answers[0], answers[1]);
- remove_wait_message();
-
- if (results != RETURN_OK) {
- wait_message("Retrying the ADSL connection...");
- results = adsl_connect(intf->device, answers[0], answers[1]);
- remove_wait_message();
- } else {
- intf->user = strdup(answers[0]);
- intf->pass = strdup(answers[1]);
- }
-
- if (results != RETURN_OK) {
- stg1_error_message("I could not connect to the ADSL network.");
- return perform_adsl(intf);
- }
-
- sleep(1);
- res_init(); /* reinit the resolver, pppd modified /etc/resolv.conf */
-
- 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 114d4d2cb..000000000
--- a/mdk-stage1/automatic.c
+++ /dev/null
@@ -1,162 +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;
-
- struct param_elem short_aliases[] =
- { { "method", "met" }, { "network", "netw" }, { "interface", "int" }, { "gateway", "gat" },
- { "netmask", "netm" }, { "adsluser", "adslu" }, { "adslpass", "adslp" }, { "hostname", "hos" },
- { "domain", "dom" }, { "server", "ser" }, { "directory", "dir" }, { "user", "use" },
- { "pass", "pas" }, { "disk", "dis" }, { "partition", "par" }, { "proxy_host", "proxh" },
- { "proxy_port", "proxp" }, { NULL, NULL } };
- struct param_elem * ptr_alias = short_aliases;
- while (ptr_alias->name) {
- if (streq(auto_param, ptr_alias->name))
- break;
- ptr_alias++;
- }
-
- while (ptr->name) {
- if (streq(ptr->name, auto_param)
- || (ptr_alias->name && streq(ptr_alias->value, ptr->name)))
- 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 4b58c0ea8..000000000
--- a/mdk-stage1/automatic.h
+++ /dev/null
@@ -1,33 +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);
-char * get_auto_value(char * auto_param);
-
-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 8e4bba791..000000000
--- a/mdk-stage1/bzlib/Makefile
+++ /dev/null
@@ -1,42 +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
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(DIET) $(CC) $(CFLAGS) $(DEFS) $(INCS) $(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 b1fc85236..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 __attribute__ ((unused)), Int32 items, Int32 size )
-{
- void* v = malloc ( items * size );
- return v;
-}
-
-static
-void default_bzfree ( void* opaque __attribute__ ((unused)), 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 __attribute__ ((unused)))
-{
- /* 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.h b/mdk-stage1/bzlib/bzlib.h
deleted file mode 100644
index c9447a295..000000000
--- a/mdk-stage1/bzlib/bzlib.h
+++ /dev/null
@@ -1,319 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Public header file for the library. ---*/
-/*--- bzlib.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_H
-#define _BZLIB_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define BZ_RUN 0
-#define BZ_FLUSH 1
-#define BZ_FINISH 2
-
-#define BZ_OK 0
-#define BZ_RUN_OK 1
-#define BZ_FLUSH_OK 2
-#define BZ_FINISH_OK 3
-#define BZ_STREAM_END 4
-#define BZ_SEQUENCE_ERROR (-1)
-#define BZ_PARAM_ERROR (-2)
-#define BZ_MEM_ERROR (-3)
-#define BZ_DATA_ERROR (-4)
-#define BZ_DATA_ERROR_MAGIC (-5)
-#define BZ_IO_ERROR (-6)
-#define BZ_UNEXPECTED_EOF (-7)
-#define BZ_OUTBUFF_FULL (-8)
-#define BZ_CONFIG_ERROR (-9)
-
-typedef
- struct {
- char *next_in;
- unsigned int avail_in;
- unsigned int total_in_lo32;
- unsigned int total_in_hi32;
-
- char *next_out;
- unsigned int avail_out;
- unsigned int total_out_lo32;
- unsigned int total_out_hi32;
-
- void *state;
-
- void *(*bzalloc)(void *,int,int);
- void (*bzfree)(void *,void *);
- void *opaque;
- }
- bz_stream;
-
-
-#ifndef BZ_IMPORT
-#define BZ_EXPORT
-#endif
-
-#ifdef _WIN32
-# include <stdio.h>
-# include <windows.h>
-# ifdef small
- /* windows.h define small to char */
-# undef small
-# endif
-# ifdef BZ_EXPORT
-# define BZ_API(func) WINAPI func
-# define BZ_EXTERN extern
-# else
- /* import windows dll dynamically */
-# define BZ_API(func) (WINAPI * func)
-# define BZ_EXTERN
-# endif
-#else
-# define BZ_API(func) func
-# define BZ_EXTERN extern
-#endif
-
-
-/*-- Core (low-level) library functions --*/
-
-BZ_EXTERN int BZ_API(BZ2_bzCompressInit) (
- bz_stream* strm,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzCompress) (
- bz_stream* strm,
- int action
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) (
- bz_stream* strm
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) (
- bz_stream *strm,
- int verbosity,
- int small
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompress) (
- bz_stream* strm
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) (
- bz_stream *strm
- );
-
-
-
-/*-- High(er) level library functions --*/
-
-#ifndef BZ_NO_STDIO
-#define BZ_MAX_UNUSED 5000
-
-typedef void BZFILE;
-
-BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
- int* bzerror,
- FILE* f,
- int verbosity,
- int small,
- void* unused,
- int nUnused
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzReadClose) (
- int* bzerror,
- BZFILE* b
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) (
- int* bzerror,
- BZFILE* b,
- void** unused,
- int* nUnused
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzRead) (
- int* bzerror,
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
- int* bzerror,
- FILE* f,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWrite) (
- int* bzerror,
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWriteClose) (
- int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out
- );
-
-BZ_EXTERN 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
- );
-#endif
-
-
-/*-- Utility functions --*/
-
-BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) (
- char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) (
- char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity
- );
-
-
-/*--
- 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.
---*/
-
-BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
- void
- );
-
-#ifndef BZ_NO_STDIO
-BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
- const char *path,
- const char *mode
- );
-
-BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
- int fd,
- const char *mode
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzread) (
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzwrite) (
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzflush) (
- BZFILE* b
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzclose) (
- BZFILE* b
- );
-
-BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
- BZFILE *b,
- int *errnum
- );
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib.h ---*/
-/*-------------------------------------------------------------*/
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 7d14cdebb..000000000
--- a/mdk-stage1/cdrom.c
+++ /dev/null
@@ -1,219 +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);
-
-#ifdef MANDRAKE_MOVE
- return my_mount(device_fullname, IMAGE_LOCATION, "supermount", 0);
-#else
- return my_mount(device_fullname, IMAGE_LOCATION, "iso9660", 0);
-#endif
-}
-
-
-static int test_that_cd()
-{
-#ifdef MANDRAKE_MOVE
- return access(IMAGE_LOCATION "/live_tree.clp", R_OK);
-#else
- return access(IMAGE_LOCATION LIVE_LOCATION, R_OK);
-#endif
-}
-
-
-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!");
-
-#ifndef MANDRAKE_MOVE
- if (IS_SPECIAL_STAGE2 || ramdisk_possible())
- load_ramdisk(); /* we don't care about return code, we'll do it live if we failed */
-#endif
-
- 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);
-}
-
-int try_automatic(char ** medias, char ** medias_models)
-{
- static char * already_tried[50] = { NULL };
- char ** model = medias_models;
- char ** ptr = medias;
- int i = 0;
- while (ptr && *ptr) {
- char ** p;
- for (p = already_tried; p && *p; p++)
- if (streq(*p, *ptr))
- goto try_automatic_already_tried;
- *p = strdup(*ptr);
- *(p+1) = NULL;
-
- 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 i;
- }
- else
- umount(IMAGE_LOCATION);
- }
- remove_wait_message();
-
- try_automatic_already_tried:
- ptr++;
- model++;
- i++;
- }
- return -1;
-}
-
-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);
-
- if (IS_AUTOMATIC) {
- get_medias(CDROM, &medias, &medias_models, BUS_IDE);
- if ((i = try_automatic(medias, medias_models)) != -1)
- return do_with_device(medias[i], medias_models[i]);
-
- my_insmod("sr_mod", ANY_DRIVER_TYPE, NULL);
- get_medias(CDROM, &medias, &medias_models, BUS_SCSI);
- if ((i = try_automatic(medias, medias_models)) != -1)
- return do_with_device(medias[i], medias_models[i]);
-
- get_medias(CDROM, &medias, &medias_models, BUS_USB);
- if ((i = try_automatic(medias, medias_models)) != -1)
- return do_with_device(medias[i], medias_models[i]);
-
- unset_param(MODE_AUTOMATIC);
- } else
- my_insmod("sr_mod", ANY_DRIVER_TYPE, NULL);
-
-
- get_medias(CDROM, &medias, &medias_models, BUS_ANY);
- 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();
- }
-
- 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 665b4d541..000000000
--- a/mdk-stage1/config-stage1.h
+++ /dev/null
@@ -1,64 +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 68
-
-/* If we have more than that amount of memory (in Mbytes), we assume we can load the rescue as a ramdisk */
-#define MEM_LIMIT_RESCUE 40
-
-
-#define RAMDISK_COMPRESSION_RATIO 1.95
-
-#define LIVE_LOCATION "/Mandrake/mdkinst/"
-#define RAMDISK_LOCATION "/Mandrake/base/"
-#define STAGE2_LOCATION "/tmp/stage2"
-
-#ifdef MANDRAKE_MOVE
-#define MEM_LIMIT_MOVE 120
-#define DISTRIB_NAME "MandrakeMove"
-#define IMAGE_LOCATION "/sysroot/cdrom"
-#define IMAGE_LOCATION_REAL "/sysroot/image"
-#define SLASH_LOCATION "/sysroot"
-#define RAW_LOCATION_REL "/cdrom"
-#define LIVE_LOCATION_REL "/image"
-#define BOOT_LOCATION "/sysroot/image_boot"
-#define ALWAYS_LOCATION "/sysroot/image_always"
-#define TOTEM_LOCATION "/sysroot/image_totem"
-#else
-#define DISTRIB_NAME "Mandrake Linux"
-#define IMAGE_LOCATION "/tmp/image"
-#define IMAGE_LOCATION_REAL "/tmp/image"
-#endif
-
-
-/* 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 de91adae0..000000000
--- a/mdk-stage1/dhcp.c
+++ /dev/null
@@ -1,672 +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 <stdio.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 "automatic.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 DHCP_OPTION_CLIENT_IDENTIFIER 61
-
-#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;
-
- if (breq->bootfile && strlen(breq->bootfile) > 0 && IS_NETAUTO)
- stage2_kickstart = strdup(breq->bootfile);
-
- 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;
-
- }
-
- 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 unsigned long currticks(void)
-{
- struct timeval tv;
- unsigned long csecs;
- unsigned long 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 7
-
-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 < (signed)(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;
- }
-
- 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;
-}
-
-
-char * dhcp_hostname = NULL;
-char * dhcp_domain = NULL;
-
-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];
- char * client_id_str, * client_id_hwaddr;
-
- 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;
- }
-
- {
- enum return_type results;
- char * questions[] = { "Host name", "Domain name", NULL };
- char * questions_auto[] = { "hostname", "domain" };
- static char ** answers = NULL;
- char * boulet;
-
- client_id_str = client_id_hwaddr = NULL;
-
- results = ask_from_entries_auto("If the DHCP server needs to know you by 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)
- {
- dhcp_hostname = answers[0];
- if ((boulet = strchr(dhcp_hostname, '.')) != NULL)
- boulet[0] = '\0';
- dhcp_domain = answers[1];
-
- if (*dhcp_hostname && *dhcp_domain) {
- /* if we have both, then create client id from them */
- client_id_str = malloc(1 + strlen(dhcp_hostname) + 1 + strlen(dhcp_domain) + 1);
- client_id_str[0] = '\0';
- sprintf(client_id_str+1, "%s.%s", dhcp_hostname, dhcp_domain);
- }
- }
- }
-
- 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);
-
- /* add pieces needed to have DDNS/DHCP IP selection based on requested name */
- if (dhcp_hostname && *dhcp_hostname) { /* pick client id form based on absence or presence of domain name */
- if (*dhcp_domain) /* alternate style <hostname>.<domainname> */
- add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, strlen(client_id_str+1)+1, client_id_str);
- else { /* usual style (aka windows / dhcpcd) */
- /* but put MAC in form required for client identifier first */
- client_id_hwaddr = malloc(IFHWADDRLEN+2);
- client_id_hwaddr[0] = 1; /* set flag for ethernet */
- memcpy(client_id_hwaddr+1, gen_hwaddr, IFHWADDRLEN);
- add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, IFHWADDRLEN+1, client_id_hwaddr);
- }
- /* this is the one that the dhcp server really wants for DDNS updates */
- add_vendor_code(&breq, BOOTP_OPTION_HOSTNAME, strlen(dhcp_hostname), dhcp_hostname);
- log_message("DHCP: telling server to use name = %s", dhcp_hostname);
- }
-
- 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) {
- stg1_error_message("No DHCP reply received.");
- 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);
-
- /* if used the first time, then have to use it again */
- if (dhcp_hostname && *dhcp_hostname) { /* add pieces needed to have DDNS/DHCP IP selection based on requested name */
- if (dhcp_domain && *dhcp_domain) /* alternate style */
- add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, strlen(client_id_str+1)+1, client_id_str);
- else /* usual style (aka windows / dhcpcd) */
- add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, IFHWADDRLEN+1, client_id_hwaddr);
- /* this is the one that the dhcp server really wants for DDNS updates */
- add_vendor_code(&breq, BOOTP_OPTION_HOSTNAME, strlen(dhcp_hostname), dhcp_hostname);
- }
-
- 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 71d062e9c..000000000
--- a/mdk-stage1/dhcp.h
+++ /dev/null
@@ -1,36 +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);
-
-extern char * dhcp_hostname;
-
-#endif
diff --git a/mdk-stage1/dietlibc/.cvsignore b/mdk-stage1/dietlibc/.cvsignore
deleted file mode 100644
index f0be42e21..000000000
--- a/mdk-stage1/dietlibc/.cvsignore
+++ /dev/null
@@ -1,28 +0,0 @@
-t
-elftrunc
-mapfile
-t1
-load
-compile
-bin-alpha
-bin-arm
-bin-i386
-bin-mips
-bin-ppc
-bin-sparc
-bin-mipsel
-bin-parisc
-bin-s390
-bin-sparc64
-pic-alpha
-pic-arm
-pic-i386
-pic-mips
-pic-ppc
-pic-sparc
-pic-mipsel
-pic-parisc
-pic-s390
-pic-sparc64
-bin-ia64
-bin-x86_64
diff --git a/mdk-stage1/dietlibc/AUTHOR b/mdk-stage1/dietlibc/AUTHOR
deleted file mode 100644
index 3f6a44e6d..000000000
--- a/mdk-stage1/dietlibc/AUTHOR
+++ /dev/null
@@ -1,3 +0,0 @@
-Felix von Leitner <felix-dietlibc@fefe.de>
-
-Please see the file THANKS for additional authors and contributors.
diff --git a/mdk-stage1/dietlibc/Makefile b/mdk-stage1/dietlibc/Makefile
deleted file mode 100644
index 0fe32e61b..000000000
--- a/mdk-stage1/dietlibc/Makefile
+++ /dev/null
@@ -1,413 +0,0 @@
-INSTALL=install
-prefix?=/usr
-# Set the following to install to a different root
-#DESTDIR=/tmp/fefix
-# Use "make DEBUG=1" to compile a debug version.
-
-MYARCH:=$(shell uname -m | sed -e 's/i[4-9]86/i386/' -e 's/armv[3-6][lb]/arm/' -e 's/ppc64/ppc/')
-
-# This extra-ugly cruft is here so make will not run uname and sed each
-# time it looks at $(OBJDIR). This alone sped up running make when
-# nothing has to be done from 1 sec to 0.12 sec on a 900 MHz Athlon.
-# We don't use ARCH:=$(MYARCH) so we can detect unknown architectures.
-ifeq ($(MYARCH),i386)
-ARCH=i386
-else
-ifeq ($(MYARCH),mips)
-ARCH=mips
-else
-ifeq ($(MYARCH),alpha)
-ARCH=alpha
-else
-ifeq ($(MYARCH),ppc)
-ARCH=ppc
-else
-ifeq ($(MYARCH),arm)
-ARCH=arm
-else
-ifeq ($(MYARCH),sparc)
-ARCH=sparc
-else
-ifeq ($(MYARCH),sparc64)
-ARCH=sparc64
-else
-ifeq ($(MYARCH),s390)
-ARCH=s390
-else
-ifeq ($(MYARCH),mipsel)
-ARCH=mipsel
-else
-ifeq ($(MYARCH),parisc)
-ARCH=parisc
-else
-ifeq ($(MYARCH),parisc64)
-ARCH=parisc
-MYARCH=parisc
-else
-ifeq ($(MYARCH),x86_64)
-ARCH=x86_64
-else
-ifeq ($(MYARCH),ia64)
-ARCH=ia64
-else
-$(error unknown architecture, please fix Makefile)
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-
-# ARCH=$(MYARCH)
-
-LIBDIR=${prefix}/lib
-ifeq ($(ARCH),x86_64)
-LIBDIR=${prefix}/lib64
-endif
-BINDIR=${prefix}/bin
-MAN1DIR=${prefix}/share/man/man1
-INSTALLHOME=$(LIBDIR)/dietlibc
-
-OBJDIR=bin-$(ARCH)
-ILIBDIR=$(INSTALLHOME)/lib-$(ARCH)
-
-HOME=$(shell pwd)
-
-WHAT= $(OBJDIR) $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o \
- $(OBJDIR)/dietlibc.a $(OBJDIR)/liblatin1.a \
- $(OBJDIR)/libcompat.a $(OBJDIR)/libm.a \
- $(OBJDIR)/librpc.a $(OBJDIR)/libpthread.a \
- $(OBJDIR)/diet $(OBJDIR)/diet-i
-
-all: $(WHAT)
-
-profiling: $(OBJDIR)/libgmon.a $(OBJDIR)/pstart.o
-
-CFLAGS=-pipe -nostdinc
-CROSS=
-
-CC=gcc
-
-VPATH=lib:libstdio:libugly:libcruft:libcrypt:libshell:liblatin1:libcompat:libdl:librpc:libregex:libm:profiling
-
-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))
-LIBCOMPATOBJ=$(patsubst libcompat/%.c,$(OBJDIR)/%.o,$(wildcard libcompat/*.c)) $(OBJDIR)/syscall.o
-LIBMATH=$(patsubst libm/%.c,%.o,$(wildcard libm/*.c))
-
-LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(wildcard librpc/*.c))
-LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(wildcard libregex/*.c))
-
-LIBDLOBJ=$(patsubst libdl/%.c,$(OBJDIR)/%.o,$(wildcard libdl/*.c)) $(OBJDIR)/_dl_jump.o
-
-LIBPTHREAD_OBJS=$(patsubst libpthread/%.c,$(OBJDIR)/%.o,$(shell ./threadsafe.sh)) $(OBJDIR)/__testandset.o
-
-LIBGMON_OBJS=$(OBJDIR)/__mcount.o $(OBJDIR)/monitor.o $(OBJDIR)/profil.o
-
-include $(ARCH)/Makefile.add
-
-LIBMATHOBJ=$(patsubst %,$(OBJDIR)/%,$(LIBMATH))
-
-ifeq ($(CFLAGS),-pipe -nostdinc)
-CFLAGS+=-O -fomit-frame-pointer
-endif
-
-ifneq ($(DEBUG),)
-CFLAGS = -g
-COMMENT = :
-endif
-CFLAGS += -Wall -W -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wredundant-decls -Wno-unused
-
-PWD=$(shell pwd)
-
-.SUFFIXES:
-.SUFFIXES: .S .c
-
-# added real dynamic dietlibc.so
-PICODIR = pic-$(ARCH)
-
-$(OBJDIR) $(PICODIR):
- mkdir $@
-
-% :: %,v
-
-$(OBJDIR)/pstart.o: start.S
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -DPROFILING -c $< -o $@
-
-$(OBJDIR)/%.o: %.S $(ARCH)/syscalls.h
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/pthread_%.o: libpthread/pthread_%.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
- $(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@
-
-$(OBJDIR)/%.o: %.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
- $(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@
-
-DIETLIBC_OBJ = $(OBJDIR)/unified.o \
-$(SYSCALLOBJ) $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \
-$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ) \
-$(OBJDIR)/__longjmp.o $(OBJDIR)/setjmp.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)/libgmon.a: $(LIBGMON_OBJS)
- $(CROSS)ar cru $@ $^
-
-$(OBJDIR)/libpthread.a: $(LIBPTHREAD_OBJS) dietfeatures.h
- $(CROSS)ar cru $@ $(LIBPTHREAD_OBJS)
-
-$(OBJDIR)/libcompat.a: $(LIBCOMPATOBJ)
- $(CROSS)ar cru $@ $(LIBCOMPATOBJ)
-
-$(OBJDIR)/libm.a: $(LIBMATHOBJ)
- $(CROSS)ar cru $@ $(LIBMATHOBJ)
-
-$(OBJDIR)/libdietc.so: $(OBJDIR)/dietlibc.a
- $(CROSS)ld -whole-archive -shared -o $@ $^
-
-dyn: dyn_lib
-
-# added dynamic linker
-$(OBJDIR)/libdl.a: $(LIBDLOBJ)
- $(CROSS)ar cru $@ $(LIBDLOBJ)
-
-dyn_lib: $(PICODIR) $(PICODIR)/libc.so $(PICODIR)/dstart.o \
- $(PICODIR)/dyn_so_start.o $(PICODIR)/dyn_start.o $(PICODIR)/dyn_stop.o \
- $(PICODIR)/libpthread.so $(PICODIR)/libdl.so $(PICODIR)/libcompat.so \
- $(PICODIR)/diet-dyn $(PICODIR)/diet-dyn-i
-
-$(PICODIR)/%.o: %.S $(ARCH)/syscalls.h
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@
-
-$(PICODIR)/pthread_%.o: libpthread/pthread_%.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@
- $(COMMENT) $(CROSS)strip -x -R .comment -R .note $@
-
-$(PICODIR)/%.o: %.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@
- $(COMMENT) $(CROSS)strip -x -R .comment -R .note $@
-
-$(PICODIR)/dstart.o: start.S
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@
-
-$(PICODIR)/dyn_so_start.o: dyn_start.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -D__DYN_LIB_SHARED -c $< -o $@
- $(COMMENT) $(CROSS)strip -x -R .comment -R .note $@
-
-DYN_LIBC_PIC = $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \
-$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ)
-
-DYN_LIBC_OBJ = $(PICODIR)/dyn_syscalls.o $(PICODIR)/errlist.o \
- $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(DYN_LIBC_PIC))
-
-DYN_PTHREAD_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBPTHREAD_OBJS))
-
-DYN_LIBDL_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBDLOBJ))
-
-DYN_LIBCOMPAT_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBCOMPATOBJ))
-
-$(PICODIR)/libc.so: $(PICODIR) $(DYN_LIBC_OBJ)
- $(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBC_OBJ) -lgcc -Wl,-soname=libc.so
-
-$(PICODIR)/libpthread.so: $(DYN_PTHREAD_OBJS) dietfeatures.h
- $(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_PTHREAD_OBJS) -L$(PICODIR) -lc -Wl,-soname=libpthread.so
-
-$(PICODIR)/libdl.so: libdl/_dl_main.c dietfeatures.h
- $(CROSS)$(CC) -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -nostdlib -shared -o $@ $(CFLAGS) -I. -Iinclude libdl/_dl_main.c -Wl,-soname=libdl.so
-
-#$(PICODIR)/libdl.so: $(DYN_LIBDL_OBJS) dietfeatures.h
-# $(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBDL_OBJS) -L$(PICODIR) -ldietc -Wl,-soname=libdl.so
-
-$(PICODIR)/libcompat.so: $(DYN_LIBCOMPAT_OBJS) dietfeatures.h
- $(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBCOMPAT_OBJS) -L$(PICODIR) -lc -Wl,-soname=libcompat.so
-
-
-
-$(SYSCALLOBJ): syscalls.h
-
-VERSION=dietlibc-$(shell head -1 CHANGES|sed 's/://')
-CURNAME=$(notdir $(shell pwd))
-
-$(OBJDIR)/diet: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(HOME)\" -DVERSION=\"$(VERSION)\" -lgcc
- $(CROSS)strip -R .comment -R .note $@
-
-$(OBJDIR)/diet-i: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(INSTALLHOME)\" -DVERSION=\"$(VERSION)\" -DINSTALLVERSION -lgcc
- $(CROSS)strip -R .comment -R .note $@
-
-$(PICODIR)/diet-dyn: $(PICODIR)/start.o $(PICODIR)/dyn_start.o diet.c
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -fPIC -nostdlib -o $@ $^ -DDIETHOME=\"$(HOME)\" -D__DYN_LIB -DVERSION=\"$(VERSION)\" -L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o -Wl,-dynamic-linker=$(HOME)/$(PICODIR)/libdl.so
- $(CROSS)strip -R .command -R .note $@
-
-$(PICODIR)/diet-dyn-i: $(PICODIR)/start.o $(PICODIR)/dyn_start.o diet.c
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -fPIC -nostdlib -o $@ $^ -DDIETHOME=\"$(prefix)\" -D__DYN_LIB -DVERSION=\"$(VERSION)\" -L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o -Wl,-dynamic-linker=$(ILIBDIR)/libdl.so -DINSTALLVERSION
- $(CROSS)strip -R .command -R .note $@
-
-$(OBJDIR)/djb: $(OBJDIR)/compile $(OBJDIR)/load
-
-$(OBJDIR)/compile:
- echo 'exec' $(CC) '$(CFLAGS) -I$(PWD)/$(OBJDIR)/include -c $${1+"$$@"}' > $@
- chmod 755 $@
-
-$(OBJDIR)/load:
- echo 'main="$$1"; shift; exec' $(CC) '-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-* pic-*
- $(MAKE) -C libdl clean
-
-tar: clean rename
- cd ..; tar cvvf $(VERSION).tar.bz2 $(VERSION) --use=bzip2 --exclude CVS
-
-rename:
- if test $(CURNAME) != $(VERSION); then cd .. && mv $(CURNAME) $(VERSION); fi
-
-$(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)/dyn_start.o $(OBJDIR)/dietlibc.a -lgcc $(OBJDIR)/dyn_stop.o -Wl,-Map,mapfile
-
-t1:
- $(CROSS)$(CC) -g -o t1 t.c
-
-install: $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a $(OBJDIR)/librpc.a $(OBJDIR)/liblatin1.a $(OBJDIR)/libcompat.a $(OBJDIR)/diet-i
- $(INSTALL) -d $(DESTDIR)$(ILIBDIR) $(DESTDIR)$(MAN1DIR) $(DESTDIR)$(BINDIR)
- $(INSTALL) $(OBJDIR)/start.o $(DESTDIR)$(ILIBDIR)/start.o
- $(INSTALL) -m 644 $(OBJDIR)/libm.a $(OBJDIR)/libpthread.a $(OBJDIR)/librpc.a \
-$(OBJDIR)/liblatin1.a $(OBJDIR)/libcompat.a $(DESTDIR)$(ILIBDIR)
- $(INSTALL) -m 644 $(OBJDIR)/dietlibc.a $(DESTDIR)$(ILIBDIR)/libc.a
-ifeq ($(MYARCH),$(ARCH))
- $(INSTALL) $(OBJDIR)/diet-i $(DESTDIR)$(BINDIR)/diet
- -$(INSTALL) $(PICODIR)/diet-dyn-i $(DESTDIR)$(BINDIR)/diet-dyn
-endif
- -$(INSTALL) $(OBJDIR)/pstart.o $(OBJDIR)/libgmon.a $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o $(DESTDIR)$(ILIBDIR)
- -$(INSTALL) $(PICODIR)/libc.so $(DESTDIR)$(ILIBDIR)/libc.so
- -$(INSTALL) $(PICODIR)/libpthread.so $(DESTDIR)$(ILIBDIR)/libpthread.so
- -$(INSTALL) $(PICODIR)/libdl.so $(DESTDIR)$(ILIBDIR)/libdl.so
- -$(INSTALL) $(PICODIR)/libcompat.so $(DESTDIR)$(ILIBDIR)/libcompat.so
- -$(INSTALL) $(PICODIR)/dyn_start.o $(DESTDIR)$(ILIBDIR)/dyn_dstart.o
- -$(INSTALL) $(PICODIR)/dyn_stop.o $(DESTDIR)$(ILIBDIR)/dyn_dstop.o
- -$(INSTALL) $(PICODIR)/dstart.o $(PICODIR)/dyn_so_start.o $(DESTDIR)$(ILIBDIR)
- $(INSTALL) -m 644 diet.1 $(DESTDIR)$(MAN1DIR)/diet.1
- if test -f $(PICODIR)/libc.so -a ! -f $(DESTDIR)/etc/diet.ld.conf; then echo "$(ILIBDIR)" > $(DESTDIR)/etc/diet.ld.conf; fi
- for i in `find include -name \*.h`; do install -m 644 -D $$i $(DESTDIR)$(INSTALLHOME)/$$i; done
-
-.PHONY: sparc ppc mips arm alpha i386 parisc mipsel powerpc s390 sparc64
-.PHONY: x86_64 ia64
-
-arm sparc ppc alpha i386 mips parisc s390 sparc64 x86_64 ia64:
- $(MAKE) ARCH=$@ CROSS=$@-linux- all
-
-# Cross compile for little endian MIPS
-mipsel:
- $(MAKE) ARCH=$@ CROSS=mips-linux- all
-
-mips-gnu:
- $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all
-
-# Some people named their cross compiler toolchain powerpc-linux-gcc
-powerpc:
- $(MAKE) ARCH=ppc CROSS=powerpc-linux- all
-
-cross:
- $(MAKE) arm sparc ppc alpha i386 mips sparc64
-
-
-# these depend on dietfeatures.h for large file backward compatibility
-$(OBJDIR)/__fstat64.o $(OBJDIR)/__lstat64.o $(OBJDIR)/__stat64.o $(OBJDIR)/lseek64.o $(OBJDIR)/readdir64.o $(OBJDIR)/stat64.o $(OBJDIR)/lstat64.o $(OBJDIR)/fstat64.o $(OBJDIR)/truncate64.o $(OBJDIR)/__truncate64.o $(OBJDIR)/ftruncate64.o $(OBJDIR)/__ftruncate64.o $(PICODIR)/dyn_syscalls.o $(PICODIR)/__truncate64.o $(PICODIR)/__ftruncate64.o $(PICODIR)/__stat64.o $(PICODIR)/__lstat64.o $(PICODIR)/__fstat64.o: dietfeatures.h
-
-# these depend on dietfeatures.h for thread support
-$(OBJDIR)/alloc.o $(OBJDIR)/perror.o $(OBJDIR)/logging.o $(OBJDIR)/unified.o $(OBJDIR)/clone.o $(OBJDIR)/set_errno.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)/ttyname.o $(OBJDIR)/sysconf_cpus.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_TZFILE_PARSER
-$(OBJDIR)/localtime_r.o $(OBJDIR)/strftime.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_SMALL_STDIO_BUFS
-$(LIBSTDIOOBJ): dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_FULL_RESOLV_CONF
-$(OBJDIR)/dnscruft.o $(OBJDIR)/dnscruft2.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_THREAD_SAFE and errno
-$(LIBRPCOBJ) $(OBJDIR)/logging.o $(OBJDIR)/alloc.o $(OBJDIR)/cfsetospeed.o $(OBJDIR)/cfsetispeed.o \
-$(OBJDIR)/execl.o $(OBJDIR)/execlp.o $(OBJDIR)/execv.o $(OBJDIR)/execvp.o $(OBJDIR)/isatty.o \
-$(OBJDIR)/lockf.o $(OBJDIR)/perror.o $(OBJDIR)/remove.o $(OBJDIR)/set_errno.o $(OBJDIR)/sigemptyset.o \
-$(OBJDIR)/tcsetattr.o $(OBJDIR)/dnscruft2.o $(OBJDIR)/dnscruft.o $(OBJDIR)/entlib.o \
-$(OBJDIR)/gethostbyaddr.o $(OBJDIR)/gethostbyaddr_r.o $(OBJDIR)/gethostbyname.o \
-$(OBJDIR)/gethostbyname_r.o $(OBJDIR)/gethostbyname2.o $(OBJDIR)/gethostbyname2_r.o \
-$(OBJDIR)/inet_pton.o $(OBJDIR)/mkstemp.o $(OBJDIR)/mktemp.o $(OBJDIR)/tempnam.o \
-$(OBJDIR)/glob.o $(OBJDIR)/realpath.o $(OBJDIR)/fdglue.o $(OBJDIR)/fdglue2.o \
-$(OBJDIR)/getaddrinfo.o $(OBJDIR)/getnameinfo.o $(OBJDIR)/getprotoent.o \
-$(OBJDIR)/getservent.o $(OBJDIR)/iconv.o $(OBJDIR)/iconv_open.o \
-$(OBJDIR)/netent.o $(OBJDIR)/system.o $(OBJDIR)/stdin.o $(OBJDIR)/stdout.o \
-$(OBJDIR)/stderr.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_CRYPT_MD5
-$(OBJDIR)/crypt.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_FREAD_OPTIMIZATION
-$(OBJDIR)/fread.o $(OBJDIR)/fwrite.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_DYNAMIC
-$(OBJDIR)/start.o $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o: dietfeatures.h
-
-$(OBJDIR)/unified.o: dietuglyweaks.h
-
-$(OBJDIR)/adjtimex.o: include/sys/timex.h
-
-$(OBJDIR)/fgetc_unlocked.o $(OBJDIR)/fread.o $(OBJDIR)/ungetc.o: dietstdio.h
-
-# these depend on dietfeatures.h for WANT_LINKER_WARNINGS
-$(OBJDIR)/setlinebuf.o $(OBJDIR)/bzero.o $(OBJDIR)/setegid.o \
-$(OBJDIR)/seteuid.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_FULL_POSIX_COMPAT
-$(OBJDIR)/strncpy.o: dietfeatures.h
-$(OBJDIR)/strxfrm.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_INET_ADDR_DNS
-$(OBJDIR)/gethostbyname_r.o: dietfeatures.h
-
-
-# CFLAGS+=-W -Wshadow -Wid-clash-31 -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wwrite-strings
diff --git a/mdk-stage1/dietlibc/README b/mdk-stage1/dietlibc/README
deleted file mode 100644
index 2a1fa332c..000000000
--- a/mdk-stage1/dietlibc/README
+++ /dev/null
@@ -1,49 +0,0 @@
- The system library is a challenge to all those using the computer to
- write their own faster and better routines or to bow to the superior
- strength and skill of a true master.
- --http://www.inner.net/users/cmetz/program-like-a-klingon
-
-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.
-
-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.
-
-
-The license for the diet libc is the GNU General Public License, version
-2 (as included in the file COPYING).
diff --git a/mdk-stage1/dietlibc/alpha/Makefile.add b/mdk-stage1/dietlibc/alpha/Makefile.add
deleted file mode 100644
index 68b10b43c..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 __time.o __alarm.o)
diff --git a/mdk-stage1/dietlibc/alpha/__alarm.c b/mdk-stage1/dietlibc/alpha/__alarm.c
deleted file mode 100644
index 7ca35cb78..000000000
--- a/mdk-stage1/dietlibc/alpha/__alarm.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <sys/time.h>
-
-unsigned int alarm(unsigned int seconds) {
- struct itimerval old, new;
- unsigned int ret;
- new.it_interval.tv_usec=0;
- new.it_interval.tv_sec=0;
- new.it_value.tv_usec =0;
- new.it_value.tv_sec =(long)seconds;
- if (setitimer(ITIMER_REAL,&new,&old)==-1) return 0;
- return old.it_value.tv_sec+(old.it_value.tv_usec?1:0);
-}
diff --git a/mdk-stage1/dietlibc/alpha/__longjmp.S b/mdk-stage1/dietlibc/alpha/__longjmp.S
deleted file mode 100644
index 31e374d0f..000000000
--- a/mdk-stage1/dietlibc/alpha/__longjmp.S
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <setjmp.h>
-
-.text
-.align 2
-
-.global __longjmp
-.type __longjmp,@function
-__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 $sp, (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
-
- ret $31, ($26), 1
diff --git a/mdk-stage1/dietlibc/alpha/__testandset.S b/mdk-stage1/dietlibc/alpha/__testandset.S
deleted file mode 100644
index c5ef81241..000000000
--- a/mdk-stage1/dietlibc/alpha/__testandset.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.align 2
-.global __testandsets
-.type __testandsets,@function
-__testandset:
- ldq_l $0, 0($16) /* load lock */
- bne $0,1f /* ok there is a lock... */
- lda $0, 1($31) /* load a 1 to register 0 */
- stq_c $0, 0($16) /* write lock is locked :) */
- beq $0,__testandset /* oops someone changed MY lock */
-1: ret $31, ($26), 0x01 /* return */
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 28e61a8bc..000000000
--- a/mdk-stage1/dietlibc/alpha/clone.S
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "syscalls.h"
-#include <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/errlist.S b/mdk-stage1/dietlibc/alpha/errlist.S
deleted file mode 100644
index a5956ce05..000000000
--- a/mdk-stage1/dietlibc/alpha/errlist.S
+++ /dev/null
@@ -1,288 +0,0 @@
-#ifdef __DYN_LIB
-.section .data
-#else
-.section .rodata
-#endif
-
-.align 8
-.global sys_errlist
-.type sys_errlist,@object
-
-sys_errlist:
- .quad .LC000
- .quad .LC001
- .quad .LC002
- .quad .LC003
- .quad .LC004
- .quad .LC005
- .quad .LC006
- .quad .LC007
- .quad .LC008
- .quad .LC009
- .quad .LC010
- .quad .LC011
- .quad .LC012
- .quad .LC013
- .quad .LC014
- .quad .LC015
- .quad .LC016
- .quad .LC017
- .quad .LC018
- .quad .LC019
- .quad .LC020
- .quad .LC021
- .quad .LC022
- .quad .LC023
- .quad .LC024
- .quad .LC025
- .quad .LC026
- .quad .LC027
- .quad .LC028
- .quad .LC029
- .quad .LC030
- .quad .LC031
- .quad .LC032
- .quad .LC033
- .quad .LC034
- .quad .LC035
- .quad .LC036
- .quad .LC037
- .quad .LC038
- .quad .LC039
- .quad .LC040
- .quad .LC041
- .quad .LC042
- .quad .LC043
- .quad .LC044
- .quad .LC045
- .quad .LC046
- .quad .LC047
- .quad .LC048
- .quad .LC049
- .quad .LC050
- .quad .LC051
- .quad .LC052
- .quad .LC053
- .quad .LC054
- .quad .LC055
- .quad .LC056
- .quad .LC057
- .quad .LC058
- .quad .LC059
- .quad .LC060
- .quad .LC061
- .quad .LC062
- .quad .LC063
- .quad .LC064
- .quad .LC065
- .quad .LC066
- .quad .LC067
- .quad .LC068
- .quad .LC069
- .quad .LC070
- .quad .LC071
- .quad .LC072
- .quad .LC073
- .quad .LC074
- .quad .LC075
- .quad .LC076
- .quad .LC077
- .quad .LC078
- .quad .LC079
- .quad .LC080
- .quad .LC081
- .quad .LC082
- .quad .LC083
- .quad .LC084
- .quad .LC085
- .quad .LC086
- .quad .LC087
- .quad .LC088
- .quad .LC089
- .quad .LC090
- .quad .LC091
- .quad .LC092
- .quad .LC093
- .quad .LC094
- .quad .LC095
- .quad .LC096
- .quad .LC097
- .quad .LC098
- .quad .LC099
- .quad .LC100
- .quad .LC101
- .quad .LC102
- .quad .LC103
- .quad .LC104
- .quad .LC105
- .quad .LC106
- .quad .LC107
- .quad .LC108
- .quad .LC109
- .quad .LC110
- .quad .LC111
- .quad .LC112
- .quad .LC113
- .quad .LC114
- .quad .LC115
- .quad .LC116
- .quad .LC117
- .quad .LC118
- .quad .LC119
- .quad .LC120
- .quad .LC121
- .quad .LC122
- .quad .LC123
- .quad .LC124
- .quad .LC125
- .quad .LC126
- .quad .LC127
- .quad .LC128
- .quad .LC129
- .quad .LC130
- .quad 0
-.size sys_errlist,.-sys_errlist
-
-.align 4
-.global sys_nerr
-.type sys_nerr,@object
-sys_nerr:
- .long 130
-.size sys_nerr,4
-
-#ifdef __DYN_LIB
-.section .rodata
-#endif
-
-.LC000: .string "Success"
-.LC001: .string "Operation not permitted"
-.LC002: .string "No such file or directory"
-.LC003: .string "No such process"
-.LC004: .string "Interrupted system call"
-.LC005: .string "I/O error"
-.LC006: .string "No such device or address"
-.LC007: .string "Arg list too long"
-.LC008: .string "Exec format error"
-.LC009: .string "Bad file number"
-.LC010: .string "No child processes"
-.LC011: .string "Resource deadlock would occur"
-.LC012: .string "Out of memory"
-.LC013: .string "Permission denied"
-.LC014: .string "Bad address"
-.LC015: .string "Block device required"
-.LC016: .string "Device or resource busy"
-.LC017: .string "File exists"
-.LC018: .string "Cross-device link"
-.LC019: .string "No such device"
-.LC020: .string "Not a directory"
-.LC021: .string "Is a directory"
-.LC022: .string "Invalid argument"
-.LC023: .string "File table overflow"
-.LC024: .string "Too many open files"
-.LC025: .string "Not a typewriter"
-.LC026: .string "Text file busy"
-.LC027: .string "File too large"
-.LC028: .string "No space left on device"
-.LC029: .string "Illegal seek"
-.LC030: .string "Read-only file system"
-.LC031: .string "Too many links"
-.LC032: .string "Broken pipe"
-.LC033: .string "Math argument out of domain of func"
-.LC034: .string "Math result not representable"
-.LC035: .string "Try again"
-.LC036: .string "Operation now in progress"
-.LC037: .string "Operation already in progress"
-.LC038: .string "Socket operation on non-socket"
-.LC039: .string "Destination address required"
-.LC040: .string "Message too long"
-.LC041: .string "Protocol wrong type for socket"
-.LC042: .string "Protocol not available"
-.LC043: .string "Protocol not supported"
-.LC044: .string "Socket type not supported"
-.LC045: .string "Operation not supported on transport endpoint"
-.LC046: .string "Protocol family not supported"
-.LC047: .string "Address family not supported by protocol"
-.LC048: .string "Address already in use"
-.LC049: .string "Cannot assign requested address"
-.LC050: .string "Network is down"
-.LC051: .string "Network is unreachable"
-.LC052: .string "Network dropped connection because of reset"
-.LC053: .string "Software caused connection abort"
-.LC054: .string "Connection reset by peer"
-.LC055: .string "No buffer space available"
-.LC056: .string "Transport endpoint is already connected"
-.LC057: .string "Transport endpoint is not connected"
-.LC058: .string "Cannot send after transport endpoint shutdown"
-.LC059: .string "Too many references: cannot splice"
-.LC060: .string "Connection timed out"
-.LC061: .string "Connection refused"
-.LC062: .string "Too many symbolic links encountered"
-.LC063: .string "File name too long"
-.LC064: .string "Host is down"
-.LC065: .string "No route to host"
-.LC066: .string "Directory not empty"
-.LC067: .string "Error 67"
-.LC068: .string "Too many users"
-.LC069: .string "Quota exceeded"
-.LC070: .string "Stale NFS file handle"
-.LC071: .string "Object is remote"
-.LC072: .string "Error 72"
-.LC073: .string "Error 73"
-.LC074: .string "Error 74"
-.LC075: .string "Error 75"
-.LC076: .string "Error 76"
-.LC077: .string "No record locks available"
-.LC078: .string "Function not implemented"
-.LC079: .string "Error 79"
-.LC080: .string "No message of desired type"
-.LC081: .string "Identifier removed"
-.LC082: .string "Out of streams resources"
-.LC083: .string "Timer expired"
-.LC084: .string "Not a data message"
-.LC085: .string "Protocol error"
-.LC086: .string "No data available"
-.LC087: .string "Device not a stream"
-.LC088: .string "Channel number out of range"
-.LC089: .string "Level 2 not synchronized"
-.LC090: .string "Level 3 halted"
-.LC091: .string "Level 3 reset"
-.LC092: .string "Package not installed"
-.LC093: .string "Link number out of range"
-.LC094: .string "Protocol driver not attached"
-.LC095: .string "No CSI structure available"
-.LC096: .string "Level 2 halted"
-.LC097: .string "Invalid exchange"
-.LC098: .string "Invalid request descriptor"
-.LC099: .string "Exchange full"
-.LC100: .string "No anode"
-.LC101: .string "Invalid request code"
-.LC102: .string "Invalid slot"
-.LC103: .string "Error 103"
-.LC104: .string "Bad font file format"
-.LC105: .string "Machine is not on the network"
-.LC106: .string "Link has been severed"
-.LC107: .string "Advertise error"
-.LC108: .string "Srmount error"
-.LC109: .string "Communication error on send"
-.LC110: .string "Multihop attempted"
-.LC111: .string "RFS specific error"
-.LC112: .string "Value too large for defined data type"
-.LC113: .string "Name not unique on network"
-.LC114: .string "File descriptor in bad state"
-.LC115: .string "Remote address changed"
-.LC116: .string "Illegal byte sequence"
-.LC117: .string "Structure needs cleaning"
-.LC118: .string "Not a XENIX named type file"
-.LC119: .string "No XENIX semaphores available"
-.LC120: .string "Is a named type file"
-.LC121: .string "Remote I/O error"
-.LC122: .string "Can not access a needed shared library"
-.LC123: .string "Accessing a corrupted shared library"
-.LC124: .string ".lib section in a.out corrupted"
-.LC125: .string "Attempting to link in too many shared libraries"
-.LC126: .string "Cannot exec a shared library directly"
-.LC127: .string "Interrupted system call should be restarted"
-.LC128: .string "Streams pipe error"
-.LC129: .string "No medium found"
-.LC130: .string "Wrong medium type"
-
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/lseek64.S b/mdk-stage1/dietlibc/alpha/lseek64.S
deleted file mode 100644
index f051e734d..000000000
--- a/mdk-stage1/dietlibc/alpha/lseek64.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-.global lseek64
-lseek64:
- br lseek
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/n_sigprocmask.S b/mdk-stage1/dietlibc/alpha/n_sigprocmask.S
deleted file mode 100644
index 55f9fde28..000000000
--- a/mdk-stage1/dietlibc/alpha/n_sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(osf_sigprocmask,__old_sigprocmask,__n_sigprocmask)
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 04bfd3d94..000000000
--- a/mdk-stage1/dietlibc/alpha/setjmp.S
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <setjmp.h>
-
-.text
-.weak setjmp
-.type setjmp,@function
-setjmp:
-.weak __setjmp
-.type __setjmp,@function
-__setjmp:
- mov 0, $17
-.global __sigsetjmp
-.type __sigsetjmp,@function
-__sigsetjmp:
- 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 $sp, (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 $31, __sigjmp_save /* jmp __sigjmp_save */
-
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/sigaction.c b/mdk-stage1/dietlibc/alpha/sigaction.c
deleted file mode 100644
index f6c3ada7d..000000000
--- a/mdk-stage1/dietlibc/alpha/sigaction.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr, void* restorer);
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- return __rt_sigaction(signum, act, oldact, _NSIG/8, 0);
-}
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/socketpair.S b/mdk-stage1/dietlibc/alpha/socketpair.S
deleted file mode 100644
index 06956a7ce..000000000
--- a/mdk-stage1/dietlibc/alpha/socketpair.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socketpair,socketpair)
diff --git a/mdk-stage1/dietlibc/alpha/start.S b/mdk-stage1/dietlibc/alpha/start.S
deleted file mode 100644
index 850ce2420..000000000
--- a/mdk-stage1/dietlibc/alpha/start.S
+++ /dev/null
@@ -1,33 +0,0 @@
-.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 / a0 */
-
- lda $17, 8($sp) /* argv / a1 */
-
- addq $16, 1, $18 /* argp / a2 */
- s8addq $18, $17, $18 /* (8*(argc+1))+argv -> argp */
-
- stq $18, environ
-
-#ifdef WANT_DYNAMIC
-/* in v0 ($0) is the ld.so _fini pointer */
- mov $0, $19 /* mov v0(dynload) to a3 */
- jsr $26, dyn_start
-#else
- jsr $26, main
-#endif
- mov $0, $16
- jsr $26, exit /* YES, CALL! for threads and atexit ! (+4 byte) */
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/syscalls.h b/mdk-stage1/dietlibc/alpha/syscalls.h
deleted file mode 100644
index 5c654b4bf..000000000
--- a/mdk-stage1/dietlibc/alpha/syscalls.h
+++ /dev/null
@@ -1,371 +0,0 @@
-
-#define __NR_osf_syscall 0 /* not implemented */
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_osf_old_open 5 /* not implemented */
-#define __NR_close 6
-#define __NR_osf_wait4 7
-#define __NR_osf_old_creat 8 /* not implemented */
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_osf_execve 11 /* not implemented */
-#define __NR_chdir 12
-#define __NR_fchdir 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_chown 16
-#define __NR_brk 17
-#define __NR_osf_getfsstat 18 /* not implemented */
-#define __NR_lseek 19
-#define __NR_getxpid 20
-#define __NR_osf_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getxuid 24
-#define __NR_exec_with_loader 25 /* not implemented */
-#define __NR_ptrace 26
-#define __NR_osf_nrecvmsg 27 /* not implemented */
-#define __NR_osf_nsendmsg 28 /* not implemented */
-#define __NR_osf_nrecvfrom 29 /* not implemented */
-#define __NR_osf_naccept 30 /* not implemented */
-#define __NR_osf_ngetpeername 31 /* not implemented */
-#define __NR_osf_ngetsockname 32 /* not implemented */
-#define __NR_access 33
-#define __NR_osf_chflags 34 /* not implemented */
-#define __NR_osf_fchflags 35 /* not implemented */
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_osf_old_stat 38 /* not implemented */
-#define __NR_setpgid 39
-#define __NR_osf_old_lstat 40 /* not implemented */
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_osf_set_program_attributes 43
-#define __NR_osf_profil 44 /* not implemented */
-#define __NR_open 45
-#define __NR_osf_old_sigaction 46 /* not implemented */
-#define __NR_getxgid 47
-#define __NR_osf_sigprocmask 48
-#define __NR_osf_getlogin 49 /* not implemented */
-#define __NR_osf_setlogin 50 /* not implemented */
-#define __NR_acct 51
-#define __NR_sigpending 52
-
-#define __NR_ioctl 54
-#define __NR_osf_reboot 55 /* not implemented */
-#define __NR_osf_revoke 56 /* not implemented */
-#define __NR_symlink 57
-#define __NR_readlink 58
-#define __NR_execve 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_osf_old_fstat 62 /* not implemented */
-#define __NR_getpgrp 63
-#define __NR_getpagesize 64
-#define __NR_osf_mremap 65 /* not implemented */
-#define __NR_vfork 66
-#define __NR_stat 67
-#define __NR_lstat 68
-#define __NR_osf_sbrk 69 /* not implemented */
-#define __NR_osf_sstk 70 /* not implemented */
-#define __NR_mmap 71 /* OSF/1 mmap is superset of Linux */
-#define __NR_osf_old_vadvise 72 /* not implemented */
-#define __NR_munmap 73
-#define __NR_mprotect 74
-#define __NR_madvise 75
-#define __NR_vhangup 76
-#define __NR_osf_kmodcall 77 /* not implemented */
-#define __NR_osf_mincore 78 /* not implemented */
-#define __NR_getgroups 79
-#define __NR_setgroups 80
-#define __NR_osf_old_getpgrp 81 /* not implemented */
-#define __NR_setpgrp 82 /* BSD alias for setpgid */
-#define __NR_osf_setitimer 83
-#define __NR_osf_old_wait 84 /* not implemented */
-#define __NR_osf_table 85 /* not implemented */
-#define __NR_osf_getitimer 86
-#define __NR_gethostname 87
-#define __NR_sethostname 88
-#define __NR_getdtablesize 89
-#define __NR_dup2 90
-#define __NR_fstat 91
-#define __NR_fcntl 92
-#define __NR_osf_select 93
-#define __NR_poll 94
-#define __NR_fsync 95
-#define __NR_setpriority 96
-#define __NR_socket 97
-#define __NR_connect 98
-#define __NR_accept 99
-#define __NR_getpriority 100
-#define __NR_send 101
-#define __NR_recv 102
-#define __NR_sigreturn 103
-#define __NR_bind 104
-#define __NR_setsockopt 105
-#define __NR_listen 106
-#define __NR_osf_plock 107 /* not implemented */
-#define __NR_osf_old_sigvec 108 /* not implemented */
-#define __NR_osf_old_sigblock 109 /* not implemented */
-#define __NR_osf_old_sigsetmask 110 /* not implemented */
-#define __NR_sigsuspend 111
-#define __NR_osf_sigstack 112
-#define __NR_recvmsg 113
-#define __NR_sendmsg 114
-#define __NR_osf_old_vtrace 115 /* not implemented */
-#define __NR_osf_gettimeofday 116
-#define __NR_osf_getrusage 117
-#define __NR_getsockopt 118
-
-#define __NR_readv 120
-#define __NR_writev 121
-#define __NR_osf_settimeofday 122
-#define __NR_fchown 123
-#define __NR_fchmod 124
-#define __NR_recvfrom 125
-#define __NR_setreuid 126
-#define __NR_setregid 127
-#define __NR_rename 128
-#define __NR_truncate 129
-#define __NR_ftruncate 130
-#define __NR_flock 131
-#define __NR_setgid 132
-#define __NR_sendto 133
-#define __NR_shutdown 134
-#define __NR_socketpair 135
-#define __NR_mkdir 136
-#define __NR_rmdir 137
-#define __NR_osf_utimes 138
-#define __NR_osf_old_sigreturn 139 /* not implemented */
-#define __NR_osf_adjtime 140 /* not implemented */
-#define __NR_getpeername 141
-#define __NR_osf_gethostid 142 /* not implemented */
-#define __NR_osf_sethostid 143 /* not implemented */
-#define __NR_getrlimit 144
-#define __NR_setrlimit 145
-#define __NR_osf_old_killpg 146 /* not implemented */
-#define __NR_setsid 147
-#define __NR_quotactl 148
-#define __NR_osf_oldquota 149 /* not implemented */
-#define __NR_getsockname 150
-
-#define __NR_osf_pid_block 153 /* not implemented */
-#define __NR_osf_pid_unblock 154 /* not implemented */
-
-#define __NR_sigaction 156
-#define __NR_osf_sigwaitprim 157 /* not implemented */
-#define __NR_osf_nfssvc 158 /* not implemented */
-#define __NR_osf_getdirentries 159
-#define __NR_osf_statfs 160
-#define __NR_osf_fstatfs 161
-
-#define __NR_osf_asynch_daemon 163 /* not implemented */
-#define __NR_osf_getfh 164 /* not implemented */
-#define __NR_osf_getdomainname 165
-#define __NR_setdomainname 166
-
-#define __NR_osf_exportfs 169 /* not implemented */
-
-#define __NR_osf_alt_plock 181 /* not implemented */
-
-#define __NR_osf_getmnt 184 /* not implemented */
-
-#define __NR_osf_alt_sigpending 187 /* not implemented */
-#define __NR_osf_alt_setsid 188 /* not implemented */
-
-#define __NR_osf_swapon 199
-#define __NR_msgctl 200
-#define __NR_msgget 201
-#define __NR_msgrcv 202
-#define __NR_msgsnd 203
-#define __NR_semctl 204
-#define __NR_semget 205
-#define __NR_semop 206
-#define __NR_osf_utsname 207
-#define __NR_lchown 208
-#define __NR_osf_shmat 209
-#define __NR_shmctl 210
-#define __NR_shmdt 211
-#define __NR_shmget 212
-#define __NR_osf_mvalid 213 /* not implemented */
-#define __NR_osf_getaddressconf 214 /* not implemented */
-#define __NR_osf_msleep 215 /* not implemented */
-#define __NR_osf_mwakeup 216 /* not implemented */
-#define __NR_msync 217
-#define __NR_osf_signal 218 /* not implemented */
-#define __NR_osf_utc_gettime 219 /* not implemented */
-#define __NR_osf_utc_adjtime 220 /* not implemented */
-
-#define __NR_osf_security 222 /* not implemented */
-#define __NR_osf_kloadcall 223 /* not implemented */
-
-#define __NR_getpgid 233
-#define __NR_getsid 234
-#define __NR_sigaltstack 235
-#define __NR_osf_waitid 236 /* not implemented */
-#define __NR_osf_priocntlset 237 /* not implemented */
-#define __NR_osf_sigsendset 238 /* not implemented */
-#define __NR_osf_set_speculative 239 /* not implemented */
-#define __NR_osf_msfs_syscall 240 /* not implemented */
-#define __NR_osf_sysinfo 241
-#define __NR_osf_uadmin 242 /* not implemented */
-#define __NR_osf_fuser 243 /* not implemented */
-#define __NR_osf_proplist_syscall 244
-#define __NR_osf_ntp_adjtime 245 /* not implemented */
-#define __NR_osf_ntp_gettime 246 /* not implemented */
-#define __NR_osf_pathconf 247 /* not implemented */
-#define __NR_osf_fpathconf 248 /* not implemented */
-
-#define __NR_osf_uswitch 250 /* not implemented */
-#define __NR_osf_usleep_thread 251
-#define __NR_osf_audcntl 252 /* not implemented */
-#define __NR_osf_audgen 253 /* not implemented */
-#define __NR_sysfs 254
-#define __NR_osf_subsys_info 255 /* not implemented */
-#define __NR_osf_getsysinfo 256
-#define __NR_osf_setsysinfo 257
-#define __NR_osf_afs_syscall 258 /* not implemented */
-#define __NR_osf_swapctl 259 /* not implemented */
-#define __NR_osf_memcntl 260 /* not implemented */
-#define __NR_osf_fdatasync 261 /* not implemented */
-
-
-/*
- * Linux-specific system calls begin at 300
- */
-#define __NR_bdflush 300
-#define __NR_sethae 301
-#define __NR_mount 302
-#define __NR_old_adjtimex 303
-#define __NR_swapoff 304
-#define __NR_getdents 305
-#define __NR_create_module 306
-#define __NR_init_module 307
-#define __NR_delete_module 308
-#define __NR_get_kernel_syms 309
-#define __NR_syslog 310
-#define __NR_reboot 311
-#define __NR_clone 312
-#define __NR_uselib 313
-#define __NR_mlock 314
-#define __NR_munlock 315
-#define __NR_mlockall 316
-#define __NR_munlockall 317
-#define __NR_sysinfo 318
-#define __NR__sysctl 319
-/* 320 was sys_idle. */
-#define __NR_oldumount 321
-#define __NR_swapon 322
-#define __NR_times 323
-#define __NR_personality 324
-#define __NR_setfsuid 325
-#define __NR_setfsgid 326
-#define __NR_ustat 327
-#define __NR_statfs 328
-#define __NR_fstatfs 329
-#define __NR_sched_setparam 330
-#define __NR_sched_getparam 331
-#define __NR_sched_setscheduler 332
-#define __NR_sched_getscheduler 333
-#define __NR_sched_yield 334
-#define __NR_sched_get_priority_max 335
-#define __NR_sched_get_priority_min 336
-#define __NR_sched_rr_get_interval 337
-#define __NR_afs_syscall 338
-#define __NR_uname 339
-#define __NR_nanosleep 340
-#define __NR_mremap 341
-#define __NR_nfsservctl 342
-#define __NR_setresuid 343
-#define __NR_getresuid 344
-#define __NR_pciconfig_read 345
-#define __NR_pciconfig_write 346
-#define __NR_query_module 347
-#define __NR_prctl 348
-#define __NR_pread 349
-#define __NR_pwrite 350
-#define __NR_rt_sigreturn 351
-#define __NR_rt_sigaction 352
-#define __NR_rt_sigprocmask 353
-#define __NR_rt_sigpending 354
-#define __NR_rt_sigtimedwait 355
-#define __NR_rt_sigqueueinfo 356
-#define __NR_rt_sigsuspend 357
-#define __NR_select 358
-#define __NR_gettimeofday 359
-#define __NR_settimeofday 360
-#define __NR_getitimer 361
-#define __NR_setitimer 362
-#define __NR_utimes 363
-#define __NR_getrusage 364
-#define __NR_wait4 365
-#define __NR_adjtimex 366
-#define __NR_getcwd 367
-#define __NR_capget 368
-#define __NR_capset 369
-#define __NR_sendfile 370
-#define __NR_setresgid 371
-#define __NR_getresgid 372
-#define __NR_dipc 373
-#define __NR_pivot_root 374
-#define __NR_mincore 375
-#define __NR_pciconfig_iobase 376
-#define __NR_getdents64 377
-#define __NR_gettid 378
-#define __NR_readahead 379
-#define __NR_security 380 /* syscall for security modules */
-#define __NR_tkill 381
-#define __NR_setxattr 382
-#define __NR_lsetxattr 383
-#define __NR_fsetxattr 384
-#define __NR_getxattr 385
-#define __NR_lgetxattr 386
-#define __NR_fgetxattr 387
-#define __NR_listxattr 388
-#define __NR_llistxattr 389
-#define __NR_flistxattr 390
-#define __NR_removexattr 391
-#define __NR_lremovexattr 392
-#define __NR_fremovexattr 393
-#define __NR_futex 394
-#define __NR_sched_setaffinity 395
-#define __NR_sched_getaffinity 396
-#define __NR_tuxcall 397
-#define __NR_io_setup 398
-#define __NR_io_destroy 399
-#define __NR_io_getevents 400
-#define __NR_io_submit 401
-#define __NR_io_cancel 402
-#define __NR_alloc_hugepages 403
-#define __NR_free_hugepages 404
-#define __NR_exit_group 405
-#define __NR_lookup_dcookie 406
-#define __NR_sys_epoll_create 407
-#define __NR_sys_epoll_ctl 408
-#define __NR_sys_epoll_wait 409
-#define __NR_remap_file_pages 410
-#define __NR_set_tid_address 411
-
-#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
-
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 506bf7387..000000000
--- a/mdk-stage1/dietlibc/alpha/unified.S
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <dietfeatures.h>
-#include "syscalls.h"
-
-.weak exit
-exit:
-.global _exit
-_exit:
- lda $0, __NR_exit
-.global __unified_syscall
-__unified_syscall:
- callsys
- bne $19, .Lerror
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
-
- ret $31, ($26), 0x01
-
-.Lerror:
-.global error_unified_syscall
-error_unified_syscall:
-#ifdef WANT_THREAD_SAFE
- 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/binshstr.h b/mdk-stage1/dietlibc/binshstr.h
deleted file mode 100644
index f1bf789fe..000000000
--- a/mdk-stage1/dietlibc/binshstr.h
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extern const char __binsh [8];
-
-#define __sh (__binsh + 5 )
-
-/* end of binshstr.h */
diff --git a/mdk-stage1/dietlibc/diet.c b/mdk-stage1/dietlibc/diet.c
deleted file mode 100644
index c3a053ac8..000000000
--- a/mdk-stage1/dietlibc/diet.c
+++ /dev/null
@@ -1,367 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <write12.h>
-
-#include "dietfeatures.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"
-*/
-
-static void error(const char *message) {
- __write2(message);
- exit(1);
-}
-
-static const char* Os[] = {
- "i386","-Os","-mpreferred-stack-boundary=2",
- "-malign-functions=0","-malign-jumps=0",
- "-malign-loops=0","-fomit-frame-pointer",0,
- "x86_64","-Os","-fno-omit-frame-pointer",0,
- "sparc","-Os","-mcpu=supersparc",0,
- "sparc64","-Os","-m64",0,
- "alpha","-Os","-fomit-frame-pointer",0,
- "arm","-Os","-fomit-frame-pointer",0,
- "mips","-Os","-fomit-frame-pointer","-mno-abicalls","-G","8","-fno-pic",0,
- "ppc","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0,
- "s390","-Os","-fomit-frame-pointer",0,
- "sh","-Os","-fomit-frame-pointer",0,
- "ia64","-Os","-fno-omit-frame-pointer",0,
- "x86_64","-Os","-fstrict-aliasing","-momit-leaf-frame-pointer","-mfance-math-387",0,
- 0};
-
-int main(int argc,char *argv[]) {
- int _link=0;
- int compile=0;
- int preprocess=0;
- int verbose=0;
- int profile=0;
- char diethome[]=DIETHOME;
- char platform[1000];
-#ifdef __DYN_LIB
- int shared=0;
-#endif
- char* shortplatform=0;
-#ifdef WANT_SAFEGUARD
- char safeguard1[]="-include";
- char safeguard2[]=DIETHOME "/include/dietref.h";
-#endif
- const char *nostdlib="-nostdlib";
- const char *libgcc="-lgcc";
- char dashL[1000];
- char dashstatic[]="-static";
- int i;
- int mangleopts=0;
- char manglebuf[1024];
-
-#ifdef INSTALLVERSION
- strcpy(platform,DIETHOME "/lib-");
-#else
-#ifndef __DYN_LIB
- strcpy(platform,DIETHOME "/bin-");
-#else
- strcpy(platform,DIETHOME "/pic-");
-#endif
-#endif
- strcpy(dashL,"-L");
-
- if (argc<2) {
-usage:
- if (verbose) {
- __write2(
-#ifdef __DYN_LIB
- "dyn-"
-#endif
- "diet version " VERSION
-#ifndef INSTALLVERSION
- " (non-install version in source tree)"
-#endif
- "\n\n");
- }
- error("usage: diet [-v] [-Os] gcc command line\n"
- "e.g. diet -Os gcc -c t.c\n"
- "or diet sparc-linux-gcc -o foo foo.c bar.o\n");
- }
- if (!strcmp(argv[1],"-v")) {
- ++argv; --argc;
- verbose=1;
- }
- if (argv[1] && !strcmp(argv[1],"-Os")) {
- ++argv; --argc;
- mangleopts=1;
- }
- if (!argv[1]) goto usage;
- {
- char *tmp=strchr(argv[1],0)-2;
- char *tmp2,*tmp3;
- char *cc=argv[1];
- if (tmp<cc) goto donttouch;
- if ((tmp2=strstr(cc,"linux-"))) { /* cross compiling? */
- int len=strlen(platform);
- --tmp2;
- tmp3=strchr(cc,'-');
- if (tmp3<tmp2) tmp2=tmp3;
- if (tmp2-cc>90) error("platform name too long!\n");
- shortplatform=platform+len;
- memmove(shortplatform,argv[1],(size_t)(tmp2-cc));
- platform[tmp2-cc+len]=0;
- if (shortplatform[0]=='i' && shortplatform[2]=='8' && shortplatform[3]=='6') shortplatform[1]='3';
- } else {
-#ifdef __sparc__
-#ifdef __arch64__
- shortplatform="sparc64";
-#else
- shortplatform="sparc";
-#endif
-#endif
-#ifdef __powerpc__
- shortplatform="ppc";
-#endif
-#ifdef __i386__
- shortplatform="i386";
-#endif
-#ifdef __alpha__
- shortplatform="alpha";
-#endif
-#ifdef __arm__
- shortplatform="arm";
-#endif
-#ifdef __mips__
- shortplatform="mips";
-#endif
-#ifdef __s390__
- shortplatform="s390";
-#endif
-#ifdef __sh__
- shortplatform="sh";
-#endif
-#ifdef __hppa__
- shortplatform="parisc";
-#endif
-#ifdef __x86_64__
- shortplatform="x86_64";
-#endif
-#ifdef __ia64__
- shortplatform="ia64";
-#endif
- {
- char *tmp=platform+strlen(platform);
- strcpy(tmp,shortplatform);
- shortplatform=tmp;
- }
- }
- /* MIPS needs special handling. If argv contains -EL, change
- * platform name to mipsel */
- if (!strcmp(shortplatform,"mips")) {
- int i;
- for (i=1; i<argc; ++i)
- if (!strcmp(argv[i],"-EL"))
- strcpy(shortplatform,"mipsel");
- }
- strcat(dashL,platform);
- if (!strcmp(tmp,"cc")) {
- char **newargv;
- char **dest;
- char *a,*b,*c;
-#ifdef WANT_DYNAMIC
- char *d,*e,*f;
-#endif
-/* we need to add -I... if the command line contains -c, -S or -E */
- for (i=2; i<argc; ++i) {
- if (argv[i][0]=='-' && argv[i][1]=='M')
- goto pp;
- if (!strcmp(argv[i],"-pg"))
- profile=1;
- if (!strcmp(argv[i],"-c") || !strcmp(argv[i],"-S"))
- compile=1;
- if (!strcmp(argv[i],"-E"))
-pp:
- preprocess=compile=1;
- }
-/* we need to add -nostdlib if we are not compiling*/
- _link=!compile;
-#ifdef __DYN_LIB
- if (_link) {
- for (i=2; i<argc; ++i)
- if (!strcmp(argv[i],"-shared")) {
- shared=1;
- _link=0;
- }
- }
-#endif
-#if 0
- for (i=2; i<argc; ++i)
- if (!strcmp(argv[i],"-o"))
- if (!compile) _link=1;
-#endif
- newargv=alloca(sizeof(char*)*(argc+100));
- a=alloca(strlen(diethome)+20);
- b=alloca(strlen(platform)+20);
- c=alloca(strlen(platform)+20);
-
- strcpy(a,"-I"); strcat(a,diethome); strcat(a,"/include");
-#ifndef __DYN_LIB
- strcpy(b,platform);
- if (profile) strcat(b,"/pstart.o"); else strcat(b,"/start.o");
-#ifdef INSTALLVERSION
- strcpy(c,platform); strcat(c,"/libc.a");
-#else
- strcpy(c,platform); strcat(c,"/dietlibc.a");
-#endif
-#else
- strcpy(b,platform); strcat(b,"/dstart.o");
- strcpy(c,"-lc");
-#endif
-
-#ifdef WANT_DYNAMIC
- d=alloca(strlen(platform)+20);
- e=alloca(strlen(platform)+20);
-#ifdef __DYN_LIB
- strcpy(d,platform);
- strcpy(e,platform);
- if (shared)
- strcat(d,"/dyn_so_start.o");
-#ifdef INSTALLVERSION
- else
- strcat(d,"/dyn_dstart.o");
- strcat(e,"/dyn_dstop.o");
-#else
- else
- strcat(d,"/dyn_start.o");
- strcat(e,"/dyn_stop.o");
-#endif
-#else
- strcpy(d,platform); strcat(d,"/dyn_start.o");
- strcpy(e,platform); strcat(e,"/dyn_stop.o");
-#endif
-#endif
-
- dest=newargv;
- *dest++=argv[1];
-#ifndef __DYN_LIB
- if (_link) { *dest++=(char*)nostdlib; *dest++=dashstatic; *dest++=dashL; }
-#else
- /* avoid R_*_COPY relocations */
- *dest++="-fPIC";
- if (_link || shared) { *dest++=(char*)nostdlib; *dest++=dashL; }
-#endif
-#ifdef WANT_SAFEGUARD
- if (compile && !preprocess) {
- *dest++=safeguard1;
- *dest++=safeguard2;
- }
-#endif
- if (_link) { *dest++=b; }
-#ifdef WANT_DYNAMIC
- if (_link) { *dest++=d; }
-#endif
- for (i=2; i<argc; ++i) {
- if (mangleopts)
- if (argv[i][0]=='-' && (argv[i][1]=='O' || argv[i][1]=='f' || argv[i][1]=='m')) {
- if (strcmp(argv[i],"-fpic") && strcmp(argv[i],"-fno-pic"))
- continue;
- }
- *dest++=argv[i];
- }
-#ifndef __DYN_LIB
- if (compile || _link) *dest++=a;
-#else
- if (compile || _link || shared) *dest++=a;
-#endif
- *dest++="-D__dietlibc__";
- if (mangleopts) {
- const char **o=Os;
-
- {
- int fd;
- char* tmp=getenv("HOME");
- if (tmp) {
- if (strlen(tmp)+strlen(cc)<900) {
- strcpy(manglebuf,tmp);
- strcat(manglebuf,"/.diet/");
- strcat(manglebuf,cc);
- if ((fd=open(manglebuf,O_RDONLY))>=0) {
- int len=read(fd,manglebuf,1023);
- if (len>0) {
- int i;
- manglebuf[len]=0;
- *dest++=manglebuf;
- for (i=1; i<len; ++i) {
- if (manglebuf[i]==' ' || manglebuf[i]=='\n') {
- manglebuf[i]=0;
- if (i+1<len)
- *dest++=manglebuf+i+1;
- }
- }
- goto incorporated;
- }
- }
- }
- }
- }
- for (o=Os;*o;++o) {
- if (!strcmp(*o,shortplatform)) {
- ++o;
- while (*o) {
- *dest++=(char*)*o;
- ++o;
- }
- break;
- } else
- while (*o) ++o;
- }
- }
-incorporated:
- if (_link) {
- if (profile) *dest++="-lgmon";
- if (!strcmp(shortplatform,"sparc") || !strcmp(shortplatform,"sparc64")) {
- *dest++=(char*)libgcc; *dest++=c;
- } else {
- *dest++=c; *dest++=(char*)libgcc;
- }
- }
-#ifdef WANT_DYNAMIC
- if (_link) { *dest++=e; }
-#endif
-#ifdef __DYN_LIB
- if (shared){ *dest++=c; }
- f=alloca(strlen(platform)+100);
- if (_link) {
- strcpy(f,"-Wl,-dynamic-linker=");
- strcat(f,platform);
-// strcat(f,"/diet-linux.so");
- strcat(f,"/libdl.so");
- *dest++=f;
- }
-#endif
- *dest=0;
- if (verbose) {
- int i;
- for (i=0; newargv[i]; i++) {
- __write2(newargv[i]);
- __write2(" ");
- }
- __write2("\n");
- }
- 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 dbd7206a6..000000000
--- a/mdk-stage1/dietlibc/dietdirent.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/shm.h>
-
-struct __dirstream {
- int fd;
- char buf[PAGE_SIZE-(sizeof (int)*3)];
- unsigned int num;
- unsigned int cur;
-}; /* stream data from opendir() */
diff --git a/mdk-stage1/dietlibc/dietdns.h b/mdk-stage1/dietlibc/dietdns.h
deleted file mode 100644
index c4c1c5f72..000000000
--- a/mdk-stage1/dietlibc/dietdns.h
+++ /dev/null
@@ -1,4 +0,0 @@
-
-int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
diff --git a/mdk-stage1/dietlibc/dietfeatures.h b/mdk-stage1/dietlibc/dietfeatures.h
deleted file mode 100644
index a7b84d5b9..000000000
--- a/mdk-stage1/dietlibc/dietfeatures.h
+++ /dev/null
@@ -1,108 +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 WANT_LONGLONG_PRINTF */
-/* #define WANT_LONGLONG_SCANF */
-
-/* 128 or 2048 bytes buffer size? */
-/* #define WANT_SMALL_STDIO_BUFS */
-
-/* want fread to read() directly if size of data is larger than buffer?
- * This costs a few bytes but is worth it if the application is already
- * buffering. */
-#define WANT_FREAD_OPTIMIZATION
-
-/* this is only for meaningful for ttyname and sysconf_cpus so far */
-#define SLASH_PROC_OK
-
-/* use errno_location instead of errno */
-/* #define WANT_THREAD_SAFE */
-
-/* make the startcode, etc. dynamic aware ({con,de}structors) */
-/* #define WANT_DYNAMIC */
-
-/* do you want smaller or faster string routines? */
-/* #define WANT_FASTER_STRING_ROUTINES */
-
-/* define this to have strncpy zero-fill and not just zero-terminate the
- * string */
-/* #define WANT_FULL_POSIX_COMPAT */
-
-/* read the comment in lib/strncat.c for an explanation */
-/* #define WANT_NON_COMPLIANT_STRNCAT */
-
-/* #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.0 */
-/* #define WANT_LARGEFILE_BACKCOMPAT */
-
-/* do you want localtime(3) to read /etc/localtime?
- * Needed for daylight saving time etc. */
-/* #define WANT_TZFILE_PARSER */
-
-/* do you want the DNS routines to parse and use "domain" and "search"
- * lines from /etc/resolv.conf? Normally not used on boot floppies and
- * embedded environments. */
-#define WANT_FULL_RESOLV_CONF
-
-/* do you want IPv6 transport support in the DNS resolver? */
-/* #define WANT_IPV6_DNS */
-
-/* do you want gethostbyname and friends to consult /etc/hosts? */
-#define WANT_ETC_HOSTS
-
-/* do you want gethostbyname to understand dotted decimal IP numbers
- * directly and not try to resolve them? */
-#define WANT_INET_ADDR_DNS
-
-/* do you want math functions high precision rather than fast/small? */
-/* #define WANT_HIGH_PRECISION_MATH */
-
-/* do you want support for matherr? */
-/* #define WANT_MATHERR */
-
-/* do you want crypt(3) to use MD5 if the salt starts with "$1$"? */
-/* #define WANT_CRYPT_MD5 */
-
-/* do you want diet to include a safeguard dependency to make linking
- * against glibc fail? This may fail with older binutils. */
-#define WANT_SAFEGUARD
-
-/* dy you want that malloc(0) return a pointer to a "zero-length" object
- * that is realloc-able; means realloc(..,size) gives a NEW object (like a
- * call to malloc(size)).
- * WARNING: this violates C99 */
-/* #define WANT_MALLOC_ZERO */
-
-
-/* stop uncommenting here ;-) */
-#ifndef WANT_FASTER_STRING_ROUTINES
-#define WANT_SMALL_STRING_ROUTINES
-#endif
-
-#ifdef WANT_THREAD_SAFE
-#ifndef __ASSEMBLER__
-#define errno (*__errno_location())
-#define _REENTRANT
-#endif
-#endif
-
-#ifdef __DYN_LIB
-/* with shared libraries you MUST have a dynamic aware startcode */
-#ifndef WANT_DYNAMIC
-#define WANT_DYNAMIC
-#endif
-/* saveguard crashes with shared objects ... */
-#ifdef WANT_SAFEGUARD
-#undef WANT_SAFEGUARD
-#endif
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/dieticonv.h b/mdk-stage1/dietlibc/dieticonv.h
deleted file mode 100644
index 540ef2f6f..000000000
--- a/mdk-stage1/dietlibc/dieticonv.h
+++ /dev/null
@@ -1,12 +0,0 @@
-enum charset {
- INVALID=0,
- ISO_8859_1,
- UTF_8,
- UCS_2,
- UCS_4
-};
-
-#define ic_from(x) (((x) )&0xffff)
-#define ic_to(x) (((x)>>16)&0xffff)
-
-#include <iconv.h>
diff --git a/mdk-stage1/dietlibc/dietlibm.h b/mdk-stage1/dietlibc/dietlibm.h
deleted file mode 100644
index fe735e40d..000000000
--- a/mdk-stage1/dietlibc/dietlibm.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <sys/types.h>
-
-double __poly(double x, size_t n, const double* c);
-double exp2(double x);
-double log2(double x);
diff --git a/mdk-stage1/dietlibc/dietstdio.h b/mdk-stage1/dietlibc/dietstdio.h
deleted file mode 100644
index 2e0e93601..000000000
--- a/mdk-stage1/dietlibc/dietstdio.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* diet stdio */
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include "dietfeatures.h"
-#ifdef WANT_THREAD_SAFE
-#include <pthread.h>
-#endif
-#include <stdarg.h>
-
-#ifdef WANT_SMALL_STDIO_BUFS
-#define BUFSIZE 128
-#else
-#define BUFSIZE 2048
-#endif
-
-struct __stdio_file {
- int fd;
- int flags;
- unsigned int bs; /* read: bytes in buffer */
- unsigned int bm; /* position in buffer */
- unsigned int buflen; /* length of buf */
- char *buf;
- struct __stdio_file *next; /* for fflush */
- pid_t popen_kludge;
- unsigned char ungetbuf;
- char ungotten;
-#ifdef WANT_THREAD_SAFE
- pthread_mutex_t m;
-#endif
-};
-
-#define ERRORINDICATOR 1
-#define EOFINDICATOR 2
-#define BUFINPUT 4
-#define BUFLINEWISE 8
-#define NOBUF 16
-#define STATICBUF 32
-#define FDPIPE 64
-
-#define _IONBF 0
-#define _IOLBF 1
-#define _IOFBF 2
-
-#include <stdio.h>
-
-/* 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);
-extern int __buffered_outs(const char *s,size_t len);
-
-/* ..scanf */
-struct arg_scanf {
- void *data;
- int (*getch)(void*);
- int (*putch)(int,void*);
-};
-
-int __v_scanf(struct arg_scanf* fn, const unsigned char *format, va_list arg_ptr);
-
-struct arg_printf {
- void *data;
- int (*put)(void*,size_t,void*);
-};
-
-int __v_printf(struct arg_printf* fn, const unsigned char *format, va_list arg_ptr);
-
-extern FILE *__stdio_root;
-
-int __fflush_stdin(void);
-int __fflush_stdout(void);
-int __fflush_stderr(void);
-
-FILE* __stdio_init_file(int fd,int closeonerror);
-int __stdio_parse_mode(const char *mode);
-void __stdio_flushall(void);
diff --git a/mdk-stage1/dietlibc/dietuglyweaks.h b/mdk-stage1/dietlibc/dietuglyweaks.h
deleted file mode 100644
index 4b2aa231a..000000000
--- a/mdk-stage1/dietlibc/dietuglyweaks.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __DIET_UGLY_WEAKS__
-#define __DIET_UGLY_WEAKS__
-
-/* if you change something here ... KNOW what you're doing !
- * it'll effect ALL platforms ! */
-
-.weak __thread_doexit
-__thread_doexit:
-.weak __fflush_stdin
-__fflush_stdin:
-.weak __fflush_stdout
-__fflush_stdout:
-.weak __fflush_stderr
-__fflush_stderr:
-.weak flockfile
-flockfile:
-.weak funlockfile
-funlockfile:
-.weak __nop
-__nop:
-.global __you_tried_to_link_a_dietlibc_object_against_glibc
-__you_tried_to_link_a_dietlibc_object_against_glibc:
-
-#endif
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/dyn_start.c b/mdk-stage1/dietlibc/dyn_start.c
deleted file mode 100644
index 391797e12..000000000
--- a/mdk-stage1/dietlibc/dyn_start.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_DYNAMIC
-#include <stdlib.h>
-
-typedef void(*structor)(void);
-
-__attribute__((section(".ctors")))
-static structor __CTOR_LIST__[1]={((structor)-1)};
-
-__attribute__((section(".dtors")))
-static structor __DTOR_LIST__[1]={((structor)-1)};
-
-static void __do_global_dtors_aux(void)
-{
- structor *df=__CTOR_LIST__; /* ugly trick to prevent warning */
- for (df=((__DTOR_LIST__)+1);(*df) != (structor)0; df++) (*df)();
-}
-
-void _fini(void) __attribute__((section(".fini")));
-__attribute__((section(".fini"))) void _fini(void)
-{
- __do_global_dtors_aux();
-}
-
-#ifndef __DYN_LIB_SHARED
-/* pre main, post _start */
-int _dyn_start(int argc, char **argv, char **envp, structor dl_init);
-int _dyn_start(int argc, char **argv, char **envp, structor dl_init)
-{
- static __attribute__((section(".init"))) void _init(void);
- int main(int argc, char **argv, char **envp);
-
- if (dl_init) atexit(dl_init);
- _init();
- atexit(_fini);
- return main(argc, argv, envp);
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/dyn_stop.c b/mdk-stage1/dietlibc/dyn_stop.c
deleted file mode 100644
index 7213a8089..000000000
--- a/mdk-stage1/dietlibc/dyn_stop.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_DYNAMIC
-typedef void(*structor)(void);
-
-__attribute__((section(".ctors")))
-static structor __CTOR_END__[1]={((structor)0)};
-
-__attribute__((section(".dtors")))
-static structor __DTOR_END__[1]={((structor)0)};
-
-static void __do_global_ctors_aux(void)
-{
- structor *cf=__DTOR_END__; /* ugly trick to prevent warning */
- for(cf=((__CTOR_END__)-1); (*cf) != (structor)-1; cf--) (*cf)();
-}
-
-void _init() __attribute__((section(".init")));
-__attribute__((section(".init"))) void _init()
-{
- __do_global_ctors_aux();
-}
-#endif
diff --git a/mdk-stage1/dietlibc/findcflags.sh b/mdk-stage1/dietlibc/findcflags.sh
deleted file mode 100755
index 8b8b3d74a..000000000
--- a/mdk-stage1/dietlibc/findcflags.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-version=`${1:-gcc} -v 2>&1 |sed -n '/gcc version/ {s/gcc version //;p;}'`
-case $version in
- 2.9*) echo -march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2 ;;
- 3.0*) echo -march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2 ;;
- 3*) echo -Os -fomit-frame-pointer -falign-functions=0 -falign-jumps=0 -falign-loops=0 -mpreferred-stack-boundary=2;;
- *) echo -O2 -pipe -fomit-frame-pointer ;;
-esac
diff --git a/mdk-stage1/dietlibc/i386/Makefile.add b/mdk-stage1/dietlibc/i386/Makefile.add
deleted file mode 100644
index 83b18ae29..000000000
--- a/mdk-stage1/dietlibc/i386/Makefile.add
+++ /dev/null
@@ -1,8 +0,0 @@
-
-M:=$(shell ./findcflags.sh $(CC))
-LIBOBJ+=$(OBJDIR)/__ten.o $(OBJDIR)/md5asm.o $(OBJDIR)/mmap64.o
-LIBMATH+=acos.o asin.o atan.o atan2.o ceil.o cos.o exp.o exp10.o exp2.o expm1.o fabs.o floor.o hypot.o log.o log10.o log2.o sin.o sqrt.o tan.o copysign.o sincos.o __half.o ldexp.o pow.o ilogb.o cbrt.o log1p.o sqrtl.o fmod.o libm2.o
-#CFLAGS+=-march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2
-CFLAGS+=$(M)
-VPATH:=i386:syscalls.s:$(VPATH)
-LIBGMON_OBJS+=$(OBJDIR)/mcount.o
diff --git a/mdk-stage1/dietlibc/i386/PIC.h b/mdk-stage1/dietlibc/i386/PIC.h
deleted file mode 100644
index 45ddeb446..000000000
--- a/mdk-stage1/dietlibc/i386/PIC.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef __I386_PIC_H__
-#define __I386_PIC_H__
-#ifdef __DYN_LIB
-
-#if 1
-/* don't trash the athlon return stack */
-.text
-.Lgetpic:
- mov (%esp),%ebx
- ret
-
-.macro PIC_INIT
- call .Lgetpic
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
-.endm
-#else
-/* standard code for PIC init */
-.macro PIC_INIT
- call 0f
-0: popl %ebx
- addl $_GLOBAL_OFFSET_TABLE_+[.-0b], %ebx
-.endm
-#endif
-
-#define PIC_SAVE pushl %ebx
-#define PIC_RESTORE popl %ebx
-
-
-/* get memory variable (var) in register (reg) */
-.macro GET_VAR var reg
- movl \var@GOT(%ebx), \reg
- movl (\reg), \reg
-.endm
-
-/* put register (reg) into memory variable (var) TRASH register (tmp) */
-.macro PUT_VAR reg var tmp
- movl \var@GOT(%ebx), \tmp
- movl \reg, (\tmp)
-.endm
-
-/* get memory variable (var) in register (reg)
- * IF no more PIC-code is needed */
-.macro GET_1VAR var reg
- PIC_SAVE
- PIC_INIT
- GET_VAR \var, \reg
- PIC_RESTORE
-.endm
-
-/* put register (reg) into memory variable (var)
- * IF no more PIC-code is needed */
-.macro PUT_1VAR reg var
- PIC_SAVE
- PIC_INIT
- PUT_VAR \reg, \var, %ebx
- PIC_RESTORE
-.endm
-
-#else
-
-#define PIC_SAVE
-#define PIC_RESTORE
-#define PIC_INIT
-
-.macro GET_VAR var reg
- movl \var, \reg
-.endm
-
-.macro PUT_VAR reg var tmp
- movl \reg, \var
-.endm
-
-.macro GET_1VAR var reg
- GET_VAR \var, \reg
-.endm
-
-.macro PUT_1VAR reg var
- PUT_VAR \reg, \var, none
-.endm
-
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/i386/__half.S b/mdk-stage1/dietlibc/i386/__half.S
deleted file mode 100644
index 6355c93e4..000000000
--- a/mdk-stage1/dietlibc/i386/__half.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Definiert Konstante (float)0.5 unter dem Namen __half
-# Wird von etlichen Funktionen benutzt (sinh, cosh, atanh)
-#
-
-.global __half
-.data
-.type __half,@object
-.size __half,4
-__half: .long 0x3f000000
diff --git a/mdk-stage1/dietlibc/i386/__longjmp.S b/mdk-stage1/dietlibc/i386/__longjmp.S
deleted file mode 100644
index a09191f0b..000000000
--- a/mdk-stage1/dietlibc/i386/__longjmp.S
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <setjmp.h>
-
-.text
-.global __longjmp
-.type __longjmp,@function
-__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/__ten.S b/mdk-stage1/dietlibc/i386/__ten.S
deleted file mode 100644
index 47b9431f4..000000000
--- a/mdk-stage1/dietlibc/i386/__ten.S
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Definiert Konstante (float)10. unter dem Namen __ten
-#
-
-.global __ten
-.data
-.type __ten,@object
-.size __ten,4
-__ten: .long 0x41200000
diff --git a/mdk-stage1/dietlibc/i386/__testandset.S b/mdk-stage1/dietlibc/i386/__testandset.S
deleted file mode 100644
index 29b02d57a..000000000
--- a/mdk-stage1/dietlibc/i386/__testandset.S
+++ /dev/null
@@ -1,9 +0,0 @@
-.text
-.global __testandset
-.type __testandset,@function
-__testandset:
- xorl %eax, %eax
- movl 0x4(%esp),%edx
- incl %eax
- xchgl %eax,(%edx)
- ret
diff --git a/mdk-stage1/dietlibc/i386/accept.S b/mdk-stage1/dietlibc/i386/accept.S
deleted file mode 100644
index d8be36a54..000000000
--- a/mdk-stage1/dietlibc/i386/accept.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(accept,ACCEPT)
diff --git a/mdk-stage1/dietlibc/i386/acos.S b/mdk-stage1/dietlibc/i386/acos.S
deleted file mode 100644
index baabf9f04..000000000
--- a/mdk-stage1/dietlibc/i386/acos.S
+++ /dev/null
@@ -1,30 +0,0 @@
-
-.text
-
-.global acosf,acos,acosl # ,__acos
- .type acosf,@function
- .type acos,@function
- .type acosl,@function
-# .type __acos,@function
-acosf:
- flds 4(%esp)
- jmp __acos
-acosl:
- fldt 4(%esp)
- jmp __acos
-acos:
- fldl 4(%esp)
-__acos:
- fld %st
- fmul %st
- fld1
- fsubp
- fsqrt
- fxch %st(1)
- fpatan
- ret
-
-.ende:
-.size acos,.ende-acos
-.size acosf,.ende-acosf
-.size acosl,.ende-acosl
diff --git a/mdk-stage1/dietlibc/i386/acosh.S b/mdk-stage1/dietlibc/i386/acosh.S
deleted file mode 100644
index 0611c9d31..000000000
--- a/mdk-stage1/dietlibc/i386/acosh.S
+++ /dev/null
@@ -1,18 +0,0 @@
-.text
-.global acosh
-.type acosh,@function
-
-acosh:
- fldln2
- fldl 4(%esp)
- fld %st(0)
- fmul %st(0),%st(0)
- fld1
- fsubrp %st(0),%st(1)
- fsqrt
- faddp %st(0),%st(1)
- fyl2x
- ret
-
-.Lende:
- .size acosh,.Lende-acosh
diff --git a/mdk-stage1/dietlibc/i386/asin.S b/mdk-stage1/dietlibc/i386/asin.S
deleted file mode 100644
index 7b0c31407..000000000
--- a/mdk-stage1/dietlibc/i386/asin.S
+++ /dev/null
@@ -1,29 +0,0 @@
-
-.text
-
-.global asinf,asin,asinl # ,__asin
- .type asinf,@function
- .type asin,@function
- .type asinl,@function
-# .type __asin,@function
-asinf:
- flds 4(%esp)
- jmp __asin
-asinl:
- fldt 4(%esp)
- jmp __asin
-asin:
- fldl 4(%esp)
-__asin:
- fld %st
- fmul %st
- fld1
- fsubp
- fsqrt
- fpatan
- ret
-
-.ende:
-.size asin,.ende-asin
-.size asinf,.ende-asinf
-.size asinl,.ende-asinl
diff --git a/mdk-stage1/dietlibc/i386/asinh.S b/mdk-stage1/dietlibc/i386/asinh.S
deleted file mode 100644
index 8c3964392..000000000
--- a/mdk-stage1/dietlibc/i386/asinh.S
+++ /dev/null
@@ -1,18 +0,0 @@
-.text
-.global asinh
-.type asinh,@function
-
-asinh:
- fldln2
- fldl 4(%esp)
- fld %st(0)
- fmul %st(0),%st(0)
- fld1
- faddp %st(0),%st(1)
- fsqrt
- faddp %st(0),%st(1)
- fyl2x
- ret
-
-.Lende:
- .size asinh,.Lende-asinh
diff --git a/mdk-stage1/dietlibc/i386/atan.S b/mdk-stage1/dietlibc/i386/atan.S
deleted file mode 100644
index 76513f928..000000000
--- a/mdk-stage1/dietlibc/i386/atan.S
+++ /dev/null
@@ -1,27 +0,0 @@
-
-.text
-
-.global atanf,atan,atanl
- .type atanf,@function
- .type atan,@function
- .type atanl,@function
-atanf:
- flds 4(%esp)
- fld1
- fpatan
- ret
-atan:
- fldl 4(%esp)
- fld1
- fpatan
- ret
-atanl:
- fldt 4(%esp)
- fld1
- fpatan
- ret
-
-.ende:
-.size atan,.ende-atan
-.size atanf,.ende-atanf
-.size atanl,.ende-atanl
diff --git a/mdk-stage1/dietlibc/i386/atan2.S b/mdk-stage1/dietlibc/i386/atan2.S
deleted file mode 100644
index acf6e03ae..000000000
--- a/mdk-stage1/dietlibc/i386/atan2.S
+++ /dev/null
@@ -1,12 +0,0 @@
-
-.text
-.type atan2,@function
-.global atan2
-atan2:
- fldl 4(%esp)
- fldl 12(%esp)
- fpatan
- ret
-
-.ende:
-.size atan2,.ende-atan2
diff --git a/mdk-stage1/dietlibc/i386/atanh.S b/mdk-stage1/dietlibc/i386/atanh.S
deleted file mode 100644
index b75f0fa8e..000000000
--- a/mdk-stage1/dietlibc/i386/atanh.S
+++ /dev/null
@@ -1,19 +0,0 @@
-.text
-.global atanh
-.type atanh,@function
-
-atanh:
- fldln2
- fldl 4(%esp)
- fld1
- fld %st(1)
- fadd %st(1),%st(0)
- fxch %st(1)
- fsubp %st(0),%st(2)
- fdivp %st(0),%st(1)
- fyl2x
- fmuls __half
- ret
-
-.Lende:
- .size atanh,.Lende-atanh
diff --git a/mdk-stage1/dietlibc/i386/atol.S b/mdk-stage1/dietlibc/i386/atol.S
deleted file mode 100644
index 5bd7f2c24..000000000
--- a/mdk-stage1/dietlibc/i386/atol.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- Copyright (C) 2001, 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- atol.S
- i386 assembler implementation of atoi(3) & atol(3)
-*/
-
-.text
-.globl atoi
-.globl atol
-.type atoi,@function
-.type atol,@function
-
-atoi:
-atol:
- pushl %esi
- movl 0x8(%esp), %esi
- xorl %eax, %eax
- xorl %edx, %edx
- xorb %cl, %cl
-.LSpace:
- lodsb
- cmpb $0x21, %al
- jng .LSpace
- cmpb $'+', %al
- jz .Lfe5
- cmpb $'-', %al
- jnz .Lfe3
- inc %cl
- jmp .Lfe5
-.Lfe2:
- imul $0xa, %edx
- addl %eax, %edx
-.Lfe5:
- lodsb
-.Lfe3:
- cmpb $47, %al
- jng .Lout
- subb $('0'), %al
- cmpb $9, %al
- jng .Lfe2
-.Lout:
- movl %edx, %eax
- or %cl, %cl
- jz .Lreturn
- negl %eax
-.Lreturn:
- popl %esi
- ret
-.size atoi, . - atoi
-.size atol, . - atol
diff --git a/mdk-stage1/dietlibc/i386/atoll.S b/mdk-stage1/dietlibc/i386/atoll.S
deleted file mode 100644
index 093bf762a..000000000
--- a/mdk-stage1/dietlibc/i386/atoll.S
+++ /dev/null
@@ -1,64 +0,0 @@
-
-.text
-.type atoll,@function
-.global atoll
-
-atoll:
- movl 4(%esp),%ecx
- push %edi
-
- xorl %edi,%edi # sign = 0
-
- decl %ecx
-.Lspaces:
- incl %ecx # while ( isspace(*p) ) p++;
- movb (%ecx),%al
- cmpb $' ',%al
- je .Lspaces
- subb $9,%al
- cmpb $5,%al
- jc .Lspaces # c = *p - 9;
-
- cmpb $'+'-9,%al # if ( c == '+' - 9 ) p++;
- je .Lpos
- cmpb $'-'-9,%al # else if ( c == '-' - 9 ) sign = -sign, p++;
- jne .Lnosign
- decl %edi
-.Lpos: incl %ecx
-.Lnosign:
-
- push %ebx
- push %esi
- push %ebp
- movl $10,%ebp
-
- xorl %esi,%esi # Hi(value) = 0;
- xorl %eax,%eax # Lo(value) = 0;
-.Lcont: movzbl (%ecx),%ebx # while ( (unsigned) (*p - '0') < 10 )
- inc %ecx
- subl $'0',%ebx
- cmpl %ebp,%ebx
- jnc .Lfini
- imull %ebp,%esi # value *= 10,
- mull %ebp
- addl %edx,%esi
- addl %ebx,%eax # value += (*p - '0');
- adcl $0,%esi
- jmp .Lcont
-
-.Lfini: xchg %edx,%esi # return sign== 0 ? +value
- xorl %edi,%eax # sign==-1 ? -value
- xorl %edi,%edx
- subl %edi,%eax
- sbbl %edi,%edx
-
- pop %ebp
- pop %esi
- pop %ebx
- pop %edi
- ret
-
-.Lende:
-
-.size atoll,.Lende-atoll
-
diff --git a/mdk-stage1/dietlibc/i386/bind.S b/mdk-stage1/dietlibc/i386/bind.S
deleted file mode 100644
index caff9bb8b..000000000
--- a/mdk-stage1/dietlibc/i386/bind.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(bind,BIND)
diff --git a/mdk-stage1/dietlibc/i386/cbrt.S b/mdk-stage1/dietlibc/i386/cbrt.S
deleted file mode 100644
index 9d8aebd1e..000000000
--- a/mdk-stage1/dietlibc/i386/cbrt.S
+++ /dev/null
@@ -1,46 +0,0 @@
-.text
-
-tab: .byte 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4
- .byte 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9
- .byte 10,10,11,11,12,12,12,13,13,14,14,14,15,15,15,16
-
-_3: .long 0x40400000
-
-
-.global cbrt
-cbrt:
- fldl 4(%esp)
- movw 10(%esp),%ax
- movb %ah,%ch
- andw $0x7FFF,%ax
- jz zero /* cbrt(0) = 0 */
- pushl %ebx
- cwd
- movl $16*3,%ebx /* AX 3FE0 3FF0 4000 4010 */
- divw %bx /* AX 154 155 155 155 */
- /* DX 20 0 10 20 */
- shlw $5,%ax
- addb %ch,%ch
- rcrw %ax /* AX 1540 1550 1550 1550 */
- addw $0x3FF0-0x1550,%ax /* AX 3FE0 3FF0 3FF0 3FF0 */
- movw %dx,%bx
- addb tab(%ebx),%al
- adcb $0,%ah
- popl %ebx
- movw %ax,10(%esp)
- fldl 4(%esp) /* y x */
-
- movl $4,%ecx
-lop:
- fld %st(0) /* y y x */
- fmul %st(0),%st(0) /* y^2 y x */
- fdivr %st(2),%st(0) /* x/y^2 y x */
- fadd %st(1),%st(0) /* x/y^2+y y x */
- faddp /* x/y^2+2y x */
- fdivs _3 /* y' x */
- loop lop
-
- fstp %st(1) /* y' */
-zero:
- ret
-
diff --git a/mdk-stage1/dietlibc/i386/ceil.S b/mdk-stage1/dietlibc/i386/ceil.S
deleted file mode 100644
index e6a4e989c..000000000
--- a/mdk-stage1/dietlibc/i386/ceil.S
+++ /dev/null
@@ -1,44 +0,0 @@
-.text
-
-.global ceilf,ceil,ceill,__flcetr
- .type ceilf,@function
- .type ceil,@function
- .type ceill,@function
- .type __flcetr,@function
-
-ceilf:
- flds 4(%esp)
- movb $0x08,%ah
- jmp __flcetr
-
-ceill:
- fldt 4(%esp)
- movb $0x08,%ah
- jmp __flcetr
-
-ceil:
- fldl 4(%esp)
- movb $0x08,%ah
-
-# Wspolny kod dla funkcji floor, ceil i trunc
-# W ah maska bitow 11 i 10 rejestru sterowania koprocesora
-__flcetr:
- xorl %ecx,%ecx # wyzerowanie rejestru
- movb %ah,%ch # i utworzenie maski w cx
- pushl %eax # krotsze niz subl $4,%esp
- fstcw (%esp)
- movw (%esp),%ax
- andb $0x03,%ah # wyzerowanie bitow 11 i 10
- orl %ecx,%eax # ustawienie bitow z maski
- movw %ax,2(%esp)
- fldcw 2(%esp)
- frndint
- fldcw (%esp) # odtworzenie rejestru sterowania
- popl %eax # i polozenia stosu
- ret
-
-.Lende:
-.size ceil,.Lende-ceil
-.size ceill,.Lende-ceill
-.size ceilf,.Lende-ceilf
-.size flcetr,.Lende-__flcetr
diff --git a/mdk-stage1/dietlibc/i386/clone.S b/mdk-stage1/dietlibc/i386/clone.S
deleted file mode 100644
index ea43bc2e2..000000000
--- a/mdk-stage1/dietlibc/i386/clone.S
+++ /dev/null
@@ -1,60 +0,0 @@
-#include "syscalls.h"
-#include <errno.h>
-#include "PIC.h"
-
-.text
-.type clone,@function
-.weak clone
-clone:
-.type __clone,@function
-.global __clone
-__clone:
- mov $-EINVAL, %eax
-
- movl 4(%esp), %ecx /* have non null thread_funcion */
- jecxz .Lclone_error
-
- movl 8(%esp), %ecx /* have non null child_stack pointer */
- jecxz .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
- jne .Lreturn
-.Lstart_thread:
- xorl %ebp,%ebp
- call *%ebx
- pushl %eax
- call _exit
-
-.Lclone_error:
- negl %eax
- pushl %eax
-#ifdef PIC
- pushl %ebx
- PIC_INIT
- call __errno_location@PLT
- popl %ebx
-#else
- call __errno_location
-#endif
- popl %ecx
- movl %ecx, (%eax)
- orl $-1, %eax
-.Lreturn:
- ret
diff --git a/mdk-stage1/dietlibc/i386/connect.S b/mdk-stage1/dietlibc/i386/connect.S
deleted file mode 100644
index a295a8814..000000000
--- a/mdk-stage1/dietlibc/i386/connect.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(connect,CONNECT)
diff --git a/mdk-stage1/dietlibc/i386/copysign.S b/mdk-stage1/dietlibc/i386/copysign.S
deleted file mode 100644
index 3a495efee..000000000
--- a/mdk-stage1/dietlibc/i386/copysign.S
+++ /dev/null
@@ -1,18 +0,0 @@
-
-.text
-.type copysign,@function
-.global copysign
-
-# double copysign ( double value, double sign );
-
-copysign:
- movb 12+7(%esp),%al
- movb 4+7(%esp),%ah
- andw $0x7F80,%ax
- orb %ah,%al
- movb 4+7(%esp),%al
- fldl 4(%esp)
- ret
-
-.ende:
-.size copysign,.ende-copysign
diff --git a/mdk-stage1/dietlibc/i386/cos.S b/mdk-stage1/dietlibc/i386/cos.S
deleted file mode 100644
index f95c81ca7..000000000
--- a/mdk-stage1/dietlibc/i386/cos.S
+++ /dev/null
@@ -1,35 +0,0 @@
-.text
-
-.global cosf,cos,cosl
-.type cosf,@function
-.type cos,@function
-.type cosl,@function
-
-cosf:
- flds 4(%esp)
- jmp 1f
-cos:
- fldl 4(%esp)
-1:
- fcos
- fnstsw %ax
- testb $0x04, %ah
- je 3f
- fldpi
- fadd %st
- fxch %st(1)
-2: fprem1
- fnstsw %ax
- testb $0x04, %ah
- jne 2b
- fstp %st(1)
- fcos
-3: ret
-cosl:
- fldt 4(%esp)
- jmp 1b
-
-.Lende:
-.size cos,.Lende-cos
-.size cosl,.Lende-cosl
-.size cosf,.Lende-cosf
diff --git a/mdk-stage1/dietlibc/i386/cosh.S b/mdk-stage1/dietlibc/i386/cosh.S
deleted file mode 100644
index f6a33704d..000000000
--- a/mdk-stage1/dietlibc/i386/cosh.S
+++ /dev/null
@@ -1,29 +0,0 @@
-
-.text
-.type cosh,@function
-.global cosh
-
-cosh: # note: exp(x) = 2^(x*log2(e))
- fldl2e
- fmull 4(%esp) # x*log2(e)
- fld %st(0) # x*log2(e) x*log2(e)
- frndint # int(x*log2(e)) x*log2(e)
- fxch # x*log2(e) int(x*log2(e))
- fsub %st(1),%st(0) # frac(x*log2(e)) int(x*log2(e))
- f2xm1 # 2^(fract(x*log2(e)))-1 int(x*log2(e))
- fld1 # 1 2^(fract(x*log2(e)))-1 int(x*log2(e))
- faddp %st(0),%st(1) # 2^(fract(x*log2(e))) int(x*log2(e))
- fscale # 2^(x*log2(e)) int(x*log2(e))
- fstp %st(1) # 2^(x*log2(e))
-
-# now we have y = exp(x), but cosh(x) = (y + 1/y) * 0.5
-
- fld1
- fdiv %st(1),%st(0)
- faddp
- fmuls __half
- ret
-
-.Lende:
-
-.size cosh,.ende-cosh
diff --git a/mdk-stage1/dietlibc/i386/dyn_syscalls.S b/mdk-stage1/dietlibc/i386/dyn_syscalls.S
deleted file mode 100644
index c4fd2fff5..000000000
--- a/mdk-stage1/dietlibc/i386/dyn_syscalls.S
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * dynamic unified-syscalls
- * Olaf Dreesen
- */
-
-#include "../syscalls.s/environ.S"
-#include "../syscalls.s/errno.S"
-
-#include <dietfeatures.h>
-#include "syscalls.h"
-#include "PIC.h"
-
-/* ok now include all syscalls.s (*.S) and sysdep *.S */
-
-#include "mmap.S"
-
-/* here on i386 I had split them some pre- some post-unified-syscall,
- * because the jumps pre-u.s.c. have only a 1 byte displacement. the first
- * post-u.s.c. have also 1 byte dsplacement the rest a 4 byte.
- * this pre/post split saves about 250 byte of code ....
- *
- * Please put additional syscalls AFTER the post-u.s.c.
- * or try to not break the savings :) */
-
-#include "select.S"
-
-#include "../syscalls.s/fork.S"
-#include "../syscalls.s/read.S"
-#include "../syscalls.s/write.S"
-#include "../syscalls.s/open.S"
-#include "../syscalls.s/close.S"
-#include "../syscalls.s/waitpid.S"
-
-#include "../syscalls.s/getgid.S"
-#include "../syscalls.s/getpgid.S"
-#include "../syscalls.s/getpid.S"
-#include "../syscalls.s/getppid.S"
-#include "../syscalls.s/getuid.S"
-#include "../syscalls.s/kill.S"
-#include "../syscalls.s/ioctl.S"
-#include "../syscalls.s/_llseek.S"
-#include "../syscalls.s/lseek.S"
-#include "../syscalls.s/lstat.S"
-#include "../syscalls.s/lstat64.S"
-#include "../syscalls.s/mkdir.S"
-#include "../syscalls.s/mprotect.S"
-#include "../syscalls.s/nanosleep.S"
-#include "../syscalls.s/pipe.S"
-#include "../syscalls.s/poll.S"
-#include "../syscalls.s/readv.S"
-#include "../syscalls.s/stat.S"
-#include "../syscalls.s/stat64.S"
-#include "../syscalls.s/truncate.S"
-#include "../syscalls.s/umask.S"
-#include "../syscalls.s/wait4.S"
-#include "../syscalls.s/writev.S"
-#include "../syscalls.s/__getpagesize.S"
-
-/* OK this is basicaly unified.S */
-.text
-.type __unified_syscall_256,@function
-__unified_syscall_256:
- movzwl %ax, %eax
- jmp .L23
-.L22:
-.size __unified_syscall_256,.L22-__unified_syscall_256
-.type exit,@function
-.weak exit
-exit:
-.type _exit,@function
-.global _exit
-_exit:
-__exit:
- mov $__NR_exit, %al
-__unified_syscall:
- movzbl %al, %eax
-.L23:
- 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
- neg %eax
-
- /* PIC-code Ohhhhh My. */
- push %eax
- PIC_INIT
- call __errno_location@PLT
- popl %ebx
- movl %ebx,(%eax)
- orl $-1,%eax
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
-#include "dietuglyweaks.h"
- ret
-
-#include "../syscalls.s/__pread.S"
-#include "../syscalls.s/__pwrite.S"
-#include "../syscalls.s/__reboot.S"
-#include "../syscalls.s/access.S"
-#include "../syscalls.s/adjtimex.S"
-#include "../syscalls.s/brk.S"
-#include "../syscalls.s/chdir.S"
-#include "../syscalls.s/chmod.S"
-#include "../syscalls.s/chown.S"
-#include "../syscalls.s/chroot.S"
-#include "../syscalls.s/dup.S"
-#include "../syscalls.s/dup2.S"
-#include "../syscalls.s/execve.S"
-#include "../syscalls.s/fchdir.S"
-#include "../syscalls.s/fchmod.S"
-#include "../syscalls.s/fchown.S"
-#include "../syscalls.s/fcntl.S"
-#include "../syscalls.s/flock.S"
-#include "../syscalls.s/fstat.S"
-#include "../syscalls.s/fstat64.S"
-#include "../syscalls.s/fstatfs.S"
-#include "../syscalls.s/fsync.S"
-#include "../syscalls.s/fdatasync.S"
-#include "../syscalls.s/ftruncate.S"
-#include "../syscalls.s/getcwd.S"
-#include "../syscalls.s/getdents.S"
-#include "../syscalls.s/getdents64.S"
-#include "../syscalls.s/getegid.S"
-#include "../syscalls.s/geteuid.S"
-#include "../syscalls.s/getgroups.S"
-#include "../syscalls.s/getitimer.S"
-#include "../syscalls.s/getpriority.S"
-#include "../syscalls.s/getresgid.S"
-#include "../syscalls.s/getresuid.S"
-#include "../syscalls.s/getrlimit.S"
-#include "../syscalls.s/getrusage.S"
-#include "../syscalls.s/getsid.S"
-#include "../syscalls.s/gettimeofday.S"
-#include "../syscalls.s/ioperm.S"
-#include "../syscalls.s/iopl.S"
-#include "../syscalls.s/ipc.S"
-#include "../syscalls.s/lchown.S"
-#include "../syscalls.s/link.S"
-#include "../syscalls.s/mknod.S"
-#include "../syscalls.s/mlock.S"
-#include "../syscalls.s/mlockall.S"
-#include "../syscalls.s/mount.S"
-#include "../syscalls.s/mremap.S"
-#include "../syscalls.s/munlockall.S"
-#include "../syscalls.s/munmap.S"
-#include "../syscalls.s/n_sigaction.S"
-#include "../syscalls.s/n_sigpending.S"
-#include "../syscalls.s/n_sigprocmask.S"
-#include "../syscalls.s/n_sigsuspend.S"
-#include "../syscalls.s/nice.S"
-#include "../syscalls.s/pause.S"
-#include "../syscalls.s/personality.S"
-#include "../syscalls.s/query_module.S"
-#include "../syscalls.s/init_module.S"
-#include "../syscalls.s/delete_module.S"
-#include "../syscalls.s/create_module.S"
-#include "../syscalls.s/readlink.S"
-#include "../syscalls.s/rename.S"
-#include "../syscalls.s/rmdir.S"
-#include "../syscalls.s/rt_sigaction.S"
-#include "../syscalls.s/rt_sigpending.S"
-#include "../syscalls.s/rt_sigprocmask.S"
-#include "../syscalls.s/rt_sigqueueinfo.S"
-#include "../syscalls.s/rt_sigsuspend.S"
-#include "../syscalls.s/rt_sigtimedwait.S"
-#include "../syscalls.s/sched_get_priority_max.S"
-#include "../syscalls.s/sched_get_priority_min.S"
-#include "../syscalls.s/sched_getparam.S"
-#include "../syscalls.s/sched_getscheduler.S"
-#include "../syscalls.s/sched_rr_get_interval.S"
-#include "../syscalls.s/sched_setparam.S"
-#include "../syscalls.s/sched_setscheduler.S"
-#include "../syscalls.s/sched_yield.S"
-#include "../syscalls.s/sendfile.S"
-#include "../syscalls.s/setdomainname.S"
-#include "../syscalls.s/setfsgid.S"
-#include "../syscalls.s/setfsuid.S"
-#include "../syscalls.s/setgid.S"
-#include "../syscalls.s/setgroups.S"
-#include "../syscalls.s/sethostname.S"
-#include "../syscalls.s/setitimer.S"
-#include "../syscalls.s/setpgid.S"
-#include "../syscalls.s/setpriority.S"
-#include "../syscalls.s/setregid.S"
-#include "../syscalls.s/setresgid.S"
-#include "../syscalls.s/setresuid.S"
-#include "../syscalls.s/setreuid.S"
-#include "../syscalls.s/setrlimit.S"
-#include "../syscalls.s/setsid.S"
-#include "../syscalls.s/setuid.S"
-#include "../syscalls.s/sigaltstack.S"
-#include "../syscalls.s/statfs.S"
-#include "../syscalls.s/stime.S"
-#include "../syscalls.s/swapoff.S"
-#include "../syscalls.s/swapon.S"
-#include "../syscalls.s/symlink.S"
-#include "../syscalls.s/sync.S"
-#include "../syscalls.s/sysctl.S"
-#include "../syscalls.s/sysinfo.S"
-#include "../syscalls.s/syslog.S"
-#include "../syscalls.s/time.S"
-#include "../syscalls.s/times.S"
-#include "../syscalls.s/umount.S"
-#include "../syscalls.s/umount2.S"
-#include "../syscalls.s/uname.S"
-#include "../syscalls.s/unlink.S"
-#include "../syscalls.s/utime.S"
-#include "../syscalls.s/vhangup.S"
-
-#include "../syscalls.s/chown32.S"
-#include "../syscalls.s/fchown32.S"
-#include "../syscalls.s/getegid32.S"
-#include "../syscalls.s/geteuid32.S"
-#include "../syscalls.s/getgid32.S"
-#include "../syscalls.s/getgroups32.S"
-#include "../syscalls.s/getresgid32.S"
-#include "../syscalls.s/getuid32.S"
-#include "../syscalls.s/lchown32.S"
-#include "../syscalls.s/setfsgid32.S"
-#include "../syscalls.s/setfsuid32.S"
-#include "../syscalls.s/setgid32.S"
-#include "../syscalls.s/setregid32.S"
-#include "../syscalls.s/setresgid32.S"
-#include "../syscalls.s/setreuid32.S"
-#include "../syscalls.s/setuid32.S"
-#include "../syscalls.s/alarm.S"
-#include "../syscalls.s/ptrace.S"
-#include "../syscalls.s/truncate64.S"
-#include "../syscalls.s/ftruncate64.S"
-#include "../syscalls.s/epoll_create.S"
-#include "../syscalls.s/epoll_ctl.S"
-#include "../syscalls.s/epoll_wait.S"
-
-#undef __PIC__
-#undef __socketcall
-/* oh what a kludge! */
-#define socketcall .Lsocketcall
-#include "../i386/send.S"
-#include "../i386/recv.S"
-#include "../i386/socket.S"
-#include "../i386/accept.S"
-#include "../i386/shutdown.S"
-#include "../i386/socketpair.S"
-#include "../i386/setsockopt.S"
-#include "../i386/sendto.S"
-#include "../i386/sendmsg.S"
-#include "../i386/recvmsg.S"
-#include "../i386/recvfrom.S"
-#include "../i386/listen.S"
-#include "../i386/getsockopt.S"
-#include "../i386/getsockname.S"
-#include "../i386/getpeername.S"
-#include "../i386/connect.S"
-#include "../i386/bind.S"
-#undef socketcall
-.Lsocketcall:
-#include "../i386/socketcall.S"
-#define __PIC__
-#undef __socketcall
-
-
-/* so now this was the last u.s.c. */
-
-/* other asm-files ... */
-#define PIC
-
-#define _exit __exit
-#include "clone.S"
-#undef _exit
-
-#include "__longjmp.S"
-#include "setjmp.S"
diff --git a/mdk-stage1/dietlibc/i386/exp.S b/mdk-stage1/dietlibc/i386/exp.S
deleted file mode 100644
index 6c82128e4..000000000
--- a/mdk-stage1/dietlibc/i386/exp.S
+++ /dev/null
@@ -1,35 +0,0 @@
-.text
-
-.global expf,exp,expl,__finexp
- .type expf,@function
- .type exp,@function
- .type expl,@function
- .type __finexp,@function
-expf:
- fldl2e
- fmuls 4(%esp)
- jmp __finexp
-expl:
- fldl2e
- fldt 4(%esp)
- fmulp
- jmp __finexp
-exp:
- fldl2e
- fmull 4(%esp)
-__finexp:
- fst %st(1)
- frndint
- fst %st(2)
- fsubrp
- f2xm1
- fld1
- faddp
- fscale
- ret
-
-.Lende:
-.size exp,.Lende-exp
-.size expl,.Lende-expl
-.size expf,.Lende-expf
-.size __finexp,.Lende-__finexp
diff --git a/mdk-stage1/dietlibc/i386/exp10.S b/mdk-stage1/dietlibc/i386/exp10.S
deleted file mode 100644
index 6223e5f85..000000000
--- a/mdk-stage1/dietlibc/i386/exp10.S
+++ /dev/null
@@ -1,27 +0,0 @@
-
-.text
-.type exp10,@function
-.global exp10
-.type pow10,@function
-.global pow10
-
-
-pow10:
-exp10: # note: 10^(x) = 2^(x*log2(10))
- fldl2t
- fmull 4(%esp) # x*log2(10)
- fld %st(0) # x*log2(10) x*log2(10)
- frndint # int(x*log2(10)) x*log2(10)
- fxch # x*log2(10) int(x*log2(10))
- fsub %st(1),%st(0) # frac(x*log2(10)) int(x*log2(10))
- f2xm1 # 2^(fract(x*log2(10)))-1 int(x*log2(10))
- fld1 # 1 2^(fract(x*log2(10)))-1 int(x*log2(10))
- faddp %st(0),%st(1) # 2^(fract(x*log2(10))) int(x*log2(10))
- fscale # 2^(x*log2(10)) int(x*log2(10))
- fstp %st(1) # 2^(x*log2(10))
- ret
-
-.ende:
-
-.size exp10,.ende-exp10
-.size pow10,.ende-pow10
diff --git a/mdk-stage1/dietlibc/i386/exp2.S b/mdk-stage1/dietlibc/i386/exp2.S
deleted file mode 100644
index d5389a22e..000000000
--- a/mdk-stage1/dietlibc/i386/exp2.S
+++ /dev/null
@@ -1,18 +0,0 @@
-.text
-.type exp2,@function
-.global exp2
-exp2: # note: exp2(x) = 2^x
- fldl 4(%esp) # x
- fld %st(0) # x x
- frndint # int(x) x
- fxch # x int(x)
- fsub %st(1),%st(0) # frac(x) int(x)
- f2xm1 # 2^(fract(x))-1 int(x)
- fld1 # 1 2^(fract(x))-1 int(x)
- faddp %st(0),%st(1) # 2^(fract(x)) int(x)
- fscale # 2^x int(x)
- fstp %st(1) # 2^x
- ret
-
-.ende:
-.size exp2,.ende-exp2
diff --git a/mdk-stage1/dietlibc/i386/expm1.S b/mdk-stage1/dietlibc/i386/expm1.S
deleted file mode 100644
index 677f4723f..000000000
--- a/mdk-stage1/dietlibc/i386/expm1.S
+++ /dev/null
@@ -1,23 +0,0 @@
-.text
-.type expm1,@function
-.global expm1
-expm1: # note: exp(x) = 2^(x*log2(e))
- fldl2e
- fmull 4(%esp) # x*log2(e)
- fld %st(0) # x*log2(e) x*log2(e)
- frndint # int(x*log2(e)) x*log2(e)
- fxch # x*log2(e) int(x*log2(e))
- fsub %st(1),%st(0) # frac(x*log2(e)) int(x*log2(e))
- f2xm1 # 2^(fract(x*log2(e)))-1 int(x*log2(e))
- fscale # 2^(x*log2(e))-2^int(x*log2(e)) int(x*log2(e))
- fxch # int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fld1 # 1 int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fscale # 2^int(x*log2(e)) int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fstp %st(1) # 2^int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fld1 # 1 2^int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fsubrp %st(1) # 2^int(x*log2(e))-1 2^(x*log2(e))-2^int(x*log2(e))
- faddp %st(1)
- ret
-
-.ende:
-.size expm1,.ende-expm1
diff --git a/mdk-stage1/dietlibc/i386/fabs.S b/mdk-stage1/dietlibc/i386/fabs.S
deleted file mode 100644
index d9c1c2212..000000000
--- a/mdk-stage1/dietlibc/i386/fabs.S
+++ /dev/null
@@ -1,11 +0,0 @@
-
-.text
-.type fabs,@function
-.global fabs
-fabs:
- fldl 4(%esp)
- fabs
- ret
-
-.ende:
-.size fabs,.ende-fabs
diff --git a/mdk-stage1/dietlibc/i386/floor.S b/mdk-stage1/dietlibc/i386/floor.S
deleted file mode 100644
index af26d0c94..000000000
--- a/mdk-stage1/dietlibc/i386/floor.S
+++ /dev/null
@@ -1,26 +0,0 @@
-.text
-
-.global floorf,floor,floorl
- .type floorf,@function
- .type floor,@function
- .type floorf,@function
-
-floorf:
- flds 4(%esp)
- movb $0x04,%ah
- jmp __flcetr
-
-floor:
- fldl 4(%esp)
- movb $0x04,%ah
- jmp __flcetr
-
-floorl:
- fldt 4(%esp)
- movb $0x04,%ah
- jmp __flcetr
-
-.Lende:
-.size floor,.Lende-floor
-.size floorl,.Lende-floorl
-.size floorf,.Lende-floorf
diff --git a/mdk-stage1/dietlibc/i386/fmod.S b/mdk-stage1/dietlibc/i386/fmod.S
deleted file mode 100644
index 5bf4c06ab..000000000
--- a/mdk-stage1/dietlibc/i386/fmod.S
+++ /dev/null
@@ -1,37 +0,0 @@
-.text
-.type fmod,@function
-.type fmodf,@function
-.type fmodl,@function
-.type __fmod2pi,@function
-.global fmod, fmodl, fmodf, __fmod2pi
-
-__fmod2pi:
- fldpi
- fadd %st(0)
- fxch
- jmp .Lfmod
-
-fmodf:
- flds 8(%esp) # y
- flds 4(%esp) # x
- jmp .Lfmod
-fmod:
- fldl 12(%esp)
- fldl 4(%esp)
-.Lfmod:
- fprem
- fstsw %ax
- sahf
- jp .Lfmod
- ret
-
-fmodl:
- fldt 16(%esp)
- fldt 4(%esp)
- jmp .Lfmod
-
-
-.ende:
-.size fmod,.ende-fmod
-.size fmodl,.ende-fmodl
-.size fmodf,.ende-fmodf
diff --git a/mdk-stage1/dietlibc/i386/getenv.S b/mdk-stage1/dietlibc/i386/getenv.S
deleted file mode 100644
index dafbf37ee..000000000
--- a/mdk-stage1/dietlibc/i386/getenv.S
+++ /dev/null
@@ -1,48 +0,0 @@
-#include "PIC.h"
-
-.text
-.global getenv
-.type getenv,@function
-getenv:
- pushl %esi
- pushl %edi
- movl 0xc(%esp), %edi
- cld
- movl %edi, %edx
- xorl %eax, %eax
- leal -1(%eax), %ecx
- repnz scasb
- not %ecx
- dec %ecx
- pushl %ecx
- movl (%edx), %ecx
-
- GET_1VAR environ, %esi # non-PIC: movl environ, %esi
- jmp .Lloop
-
-.Lprepare:
- movl (%edx), %ecx
- movl %eax, %esi
-.Lloop:
- lodsl
- or %eax, %eax
- jz .Lout
- cmpb %cl, (%eax)
- jnz .Lloop
-
- movl %edx, %edi
- xchg %esi, %eax
- movl (%esp), %ecx
- repz cmpsb
- jne .Lprepare
- or %ecx, %ecx
- jnz .Lprepare
- cmpb $'=', (%esi)
- jne .Lprepare
- leal 0x1(%esi), %eax
-.Lout:
- popl %ecx
- popl %edi
- popl %esi
- ret
-.size getenv, . - getenv
diff --git a/mdk-stage1/dietlibc/i386/getpeername.S b/mdk-stage1/dietlibc/i386/getpeername.S
deleted file mode 100644
index 833322941..000000000
--- a/mdk-stage1/dietlibc/i386/getpeername.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(getpeername,GETPEERNAME)
diff --git a/mdk-stage1/dietlibc/i386/getsockname.S b/mdk-stage1/dietlibc/i386/getsockname.S
deleted file mode 100644
index f0618481c..000000000
--- a/mdk-stage1/dietlibc/i386/getsockname.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(getsockname,GETSOCKNAME)
diff --git a/mdk-stage1/dietlibc/i386/getsockopt.S b/mdk-stage1/dietlibc/i386/getsockopt.S
deleted file mode 100644
index 23d7c2470..000000000
--- a/mdk-stage1/dietlibc/i386/getsockopt.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(getsockopt,GETSOCKOPT)
diff --git a/mdk-stage1/dietlibc/i386/htonl.S b/mdk-stage1/dietlibc/i386/htonl.S
deleted file mode 100644
index f3732d16a..000000000
--- a/mdk-stage1/dietlibc/i386/htonl.S
+++ /dev/null
@@ -1,13 +0,0 @@
-.text
-.global htonl
-.type htonl,@function
-.global ntohl
-.type ntohl,@function
-
-htonl:
-ntohl:
- movl 4(%esp),%eax
- xchgb %al,%ah
- rorl $16,%eax
- xchgb %al,%ah
- ret
diff --git a/mdk-stage1/dietlibc/i386/htons.S b/mdk-stage1/dietlibc/i386/htons.S
deleted file mode 100644
index 367d6d03c..000000000
--- a/mdk-stage1/dietlibc/i386/htons.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.global htons
-.type htons,@function
-.global ntohs
-.type ntohs,@function
-
-htons:
-ntohs:
- movzwl 4(%esp),%eax
- xchgb %al,%ah
- ret
diff --git a/mdk-stage1/dietlibc/i386/hypot.S b/mdk-stage1/dietlibc/i386/hypot.S
deleted file mode 100644
index 730b2c5c9..000000000
--- a/mdk-stage1/dietlibc/i386/hypot.S
+++ /dev/null
@@ -1,15 +0,0 @@
-
-.text
-.type hypot,@function
-.global hypot
-hypot:
- fldl 4(%esp)
- fmul %st(0),%st(0)
- fldl 12(%esp)
- fmul %st(0),%st(0)
- faddp
- fsqrt
- ret
-
-.ende:
-.size hypot,.ende-hypot
diff --git a/mdk-stage1/dietlibc/i386/ilogb.S b/mdk-stage1/dietlibc/i386/ilogb.S
deleted file mode 100644
index 3bebd88ba..000000000
--- a/mdk-stage1/dietlibc/i386/ilogb.S
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# int ilogb ( double x );
-#
-# returns (int) log2 (fabs(x)) for x!=0
-# returns MIN_INT for x==0
-#
-
-.text
-.global ilogb
-.type ilogb,@function
-
-ilogb:
- movl 8(%esp),%eax
- addl %eax,%eax
- jz .Lzero
- shrl $21,%eax
- subl $1023,%eax
- ret
-
-.Lzero:
- stc
- rcrl %eax
- ret
diff --git a/mdk-stage1/dietlibc/i386/ipow.S b/mdk-stage1/dietlibc/i386/ipow.S
deleted file mode 100644
index cca6a0ce1..000000000
--- a/mdk-stage1/dietlibc/i386/ipow.S
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# This is not standard, but often you only need such this function
-# which is much shorter than the generic pow() function.
-#
-# double ipow ( double mant, int expo );
-#
-
-.text
-.global ipow
-.type ipow,@function
-
-ipow: fld1
- movl 12(%esp),%ecx
- fldl 4(%esp)
- and %ecx,%ecx
- jns .Lstart
- negl %ecx
- fdivr %st(1),%st(0)
- jmp .Lstart
-
-.Lnext: fmul %st(0),%st(0)
-.Lstart:shrl %ecx
- jnc .Lnomul
- fmul %st(0),%st(1)
-.Lnomul:jnz .Lnext
- fcomp
- ret
diff --git a/mdk-stage1/dietlibc/i386/isleap.S b/mdk-stage1/dietlibc/i386/isleap.S
deleted file mode 100644
index 28d1ee0ce..000000000
--- a/mdk-stage1/dietlibc/i386/isleap.S
+++ /dev/null
@@ -1,28 +0,0 @@
-.text
-.globl __isleap
-.type __isleap,@function
-
-__isleap:
- movl 4(%esp),%eax
- testb $3,%al
- jne .Lretzero
-#if 1
- movb $100,%cl /* this works only for 0 a.D. ... 25599 a.C. */
- divb %cl
- andb %ah,%ah
-#else
- cltd /* This works for 2147483648 b.C. ... 2147483647 a.C. */
- movl $100,%ecx
- divl %ecx
- andl %edx,%edx
-#endif
- jne .Lretone
- testb $3,%al
- jne .Lretzero
-.Lretone: xorl %eax,%eax
- incl %eax
- ret
-
-.Lretzero:xorl %eax,%eax
- ret
-
diff --git a/mdk-stage1/dietlibc/i386/ldexp.S b/mdk-stage1/dietlibc/i386/ldexp.S
deleted file mode 100644
index 51d9bae89..000000000
--- a/mdk-stage1/dietlibc/i386/ldexp.S
+++ /dev/null
@@ -1,28 +0,0 @@
-.text
-.global ldexpf,ldexp,ldexpl
- .type ldexpf,@function
- .type ldexp,@function
- .type ldexpl,@function
-
-ldexpf:
- fildl 8(%esp)
- flds 4(%esp)
- fscale
- ret
-
-ldexp:
- fildl 12(%esp)
- fldl 4(%esp)
- fscale
- ret
-
-ldexpl:
- fildl 16(%esp)
- fldt 4(%esp)
- fscale
- ret
-
-.ende:
-.size ldexpl,.ende-ldexpl
-.size ldexp,ldexpl-ldexp
-.size ldexpf,ldexp-ldexpf
diff --git a/mdk-stage1/dietlibc/i386/libm2.S b/mdk-stage1/dietlibc/i386/libm2.S
deleted file mode 100644
index 91c4437cd..000000000
--- a/mdk-stage1/dietlibc/i386/libm2.S
+++ /dev/null
@@ -1,643 +0,0 @@
-.text
-#d.half:
-# .long 0x3f000000 # 1/2
-#d.log1p:
-# .long 0x3ed413cc # < sqrt(2)-1-2^(-25)
-
-.global fabsf,fabs,fabsl
- .type fabsf,@function
- .type fabs,@function
- .type fabsl,@function
-fabsf:
- flds 4(%esp)
- fabs
- ret
-fabs:
- fldl 4(%esp)
- fabs
- ret
-fabsl:
- fldt 4(%esp)
- fabs
- ret
-
-.global sincosf,sincos,sincosl
-.type sincosf,@function
-.type sincos,@function
-.type sincosl,@function
-# void sincos ( double x, double* sinx, double* cosx );
-
-sincosf:
- flds 4(%esp)
- call __fmod2pi
- movl 12(%esp),%eax
- movl 8(%esp),%ecx
- fsincos
- fstps (%eax)
- fstps (%ecx)
- ret
-sincos:
- fldl 4(%esp)
- call __fmod2pi
- movl 16(%esp),%eax
- movl 12(%esp),%ecx
- fsincos
- fstpl (%eax)
- fstpl (%ecx)
- ret
-sincosl:
- fldt 4(%esp)
- call __fmod2pi
- movl 20(%esp),%eax
- movl 16(%esp),%ecx
- fsincos
- fstpt (%eax)
- fstpt (%ecx)
- ret
-
-.global tanf,tan,tanl
-.type tanf,@function
-.type tan,@function
-.type tanl,@function
-tanf:
- flds 4(%esp)
- jmp __tan
-tan:
- fldl 4(%esp)
-__tan:
- call __fmod2pi
- fsincos
- fdivrp
- ret
-tanl:
- fldt 4(%esp)
- jmp __tan
-
-.global atan2f,atan2,atan2l
- .type atan2f,@function
- .type atan2,@function
- .type atan2l,@function
-atan2f:
- flds 4(%esp)
- flds 8(%esp)
- fpatan
- ret
-atan2l:
- fldt 4(%esp)
- fldt 16(%esp)
- fpatan
- ret
-atan2:
- fldl 4(%esp)
- fldl 12(%esp)
- fpatan
- ret
-
-.global cbrtf,cbrt,cbrtl
- .type cbrtf,@function
- .type cbrt,@function
- .type cbrtl,@function
-cbrtf:
- flds 4(%esp)
- jmp __cbrt
-cbrtl:
- fldt 4(%esp)
- jmp __cbrt
-cbrt:
- fldl 4(%esp)
-# fldt 1/3
-__cbrt:
- pushl $0x00003ffd # yes, this method of loading 1/3
- pushl $0xaaaaaaaa # is shorter than keeping the data
- pushl $0xaaaaaaab # separate
- fldt (%esp)
- addl $12,%esp
- fxch # st(0)=x, st(1)=1/3
- ftst
- fstsw %ax
- sahf
- jz 1f
- jnc finpow
- fchs
- call finpow
- fchs
-1: ret
-
-# x^y; st(0)=x, st(1)=y (x > 0)
-finpow:
- fyl2x
- jmp __finexp
-
-.global exp2f,exp2,exp2l
- .type exp2f,@function
- .type exp2,@function
- .type exp2l,@function
-exp2f:
- flds 4(%esp)
- jmp __finexp
-exp2:
- fldl 4(%esp)
- jmp __finexp
-exp2l:
- fldt 4(%esp)
- jmp __finexp
-
-.global exp10f,exp10,exp10l #,pow10f,pow10,pow10l
- .type exp10f,@function
- .type exp10,@function
- .type exp10l,@function
-# .type pow10f,@function
-# .type pow10,@function
-# .type pow10l,@function
-exp10f:
-#pow10f:
- fldl2t
- fmuls 4(%esp)
- jmp __finexp
-exp10:
-#pow10:
- fldl2t
- fmull 4(%esp)
- jmp __finexp
-exp10l:
-#pow10l:
- fldl2t
- fldt 4(%esp)
- fmulp
- jmp __finexp
-
-# exp(x)-1
-.global expm1f,expm1,expm1l
- .type expm1f,@function
- .type expm1,@function
- .type expm1l,@function
-expm1f:
- fldl2e
- fmuls 4(%esp)
- jmp finem1
-expm1l:
- fldl2e
- fldt 4(%esp)
- fmulp
- jmp finem1
-expm1:
- fldl2e
- fmull 4(%esp)
-# -1 <= st <= 1 ?
-finem1:
- fst %st(1) # st(1)=st(0)
- fabs
- fld1
- fcompp
- fstsw %ax
- sahf
-# |x| >= 1
- jc 1f
- f2xm1
- ret
-1: call __finexp
- fld1
- fsubrp
- ret
-
-# sinh(x)=(exp(x)-exp(-x))/2
-# cosh(x)=(exp(x)+exp(-x))/2
-# tanh(x)=sinh(x)/cosh(x)
-.global sinhf,sinh,sinhl
- .type sinhf,@function
- .type sinh,@function
- .type sinhl,@function
-sinhf:
- fldl2e
- fmuls 4(%esp)
- jmp finsinh
-sinh:
- fldl2e
- fmull 4(%esp)
-finsinh:
- call __finexp
- fld1
- fdiv %st(1),%st(0) # st(0)=1/exp(x), st(1)=exp(x)
- fsubrp %st(0),%st(1)
- pushl $0x3f000000 # 1/2
- flds (%esp)
- popl %eax
- fmulp
- ret
-
-sinhl:
- fldl2e
- fldt 4(%esp)
- fmulp
- jmp finsinh
-
-.global coshf,cosh,coshl
- .type coshf,@function
- .type cosh,@function
- .type coshl,@function
-coshf:
- fldl2e
- fmuls 4(%esp)
- jmp fincosh
-cosh:
- fldl2e
- fmull 4(%esp)
-fincosh:
- call __finexp
- fld1
- fdiv %st(1),%st(0) # st(0)=1/exp(x), st(1)=exp(x)
- faddp %st,%st(1)
- pushl $0x3f000000 # 1/2
- flds (%esp)
- popl %eax
- fmulp
- ret
-
-coshl:
- fldl2e
- fldt 4(%esp)
- fmulp
- jmp fincosh
-
-.global tanhf,tanh,tanhl
- .type tanhf,@function
- .type tanh,@function
- .type tanhl,@function
-tanhf:
- fldl2e
- fmuls 4(%esp)
- call __finexp
- jmp fintanh
-tanh:
- fldl2e
- fmull 4(%esp)
- call __finexp
-fintanh:
- fld1
- fdiv %st(1),%st # st(0)=1/exp(x), st(1)=exp(x)
- fst %st(2) # st(2)=1/exp(x)
- fadd %st(1),%st(0)
- fstp %st(3) # st(2)=exp(x)+exp(-x), st(1)=exp(-x), st(0)=exp(x)
- fsubp # st(1)=exp(x)+exp(-x), st(0)=exp(x)-exp(-x)
- fdivp
- ret
-
-tanhl:
- fldl2e
- fldt 4(%esp)
- fmulp
- call __finexp
- jmp fintanh
-
-.global hypotf,hypot,hypotl # ,__hypot
- .type hypotf,@function
- .type hypot,@function
- .type hypotl,@function
-# .type __hypot,@function
-hypotf:
- flds 8(%esp)
- flds 4(%esp)
- jmp __hypot
-hypotl:
- fldt 16(%esp)
- fldt 4(%esp)
- jmp __hypot
-hypot:
- fldl 12(%esp)
- fldl 4(%esp)
-__hypot:
- fmul %st(0),%st(0)
- fxch
- fmul %st(0),%st(0)
- faddp
- fsqrt
- ret
-
-.global log1pf,log1p,log1pl
- .type log1pf,@function
- .type log1p,@function
- .type log1pl,@function
-log1pf:
- flds 4(%esp)
- jmp __log1p
-log1pl:
- fldt 4(%esp)
- jmp __log1p
-log1p:
- fldl 4(%esp)
-__log1p:
-# Sprawdzenie zakresu parametru
- fst %st(1)
- pushl $0x3ed413cc # sqrt(2)-1-2^(-25)
- fabs
- flds (%esp)
- popl %eax
- fcompp # porownanie
- fstsw %ax
- fldln2
- fxch
- sahf
-# |x| >= sqrt(2)-1
- jc 1f
- fyl2xp1
- ret
-1: fld1 # x = x + 1
- faddp
- fyl2x
- ret
-
-.global log10f,log10,log10l
- .type log10f,@function
- .type log10,@function
- .type log10l,@function
-log10f:
- fldlg2
- flds 4(%esp)
- fyl2x
- ret
-log10l:
- fldlg2
- fldt 4(%esp)
- fyl2x
- ret
-log10:
- fldlg2
- fldl 4(%esp)
- fyl2x
- ret
-
-.global log2f,log2,log2l
- .type log2f,@function
- .type log2,@function
- .type log2l,@function
-log2f:
- fld1
- flds 4(%esp)
- fyl2x
- ret
-log2l:
- fld1
- fldt 4(%esp)
- fyl2x
- ret
-log2:
- fld1
- fldl 4(%esp)
- fyl2x
- ret
-
-.global fmaf,fma,fmal
- .type fmaf,@function
- .type fma,@function
- .type fmal,@function
-fmaf:
- flds 4(%esp)
- fmuls 8(%esp)
- fadds 12(%esp)
- ret
-fma:
- fldl 4(%esp)
- fmull 12(%esp)
- faddl 20(%esp)
- ret
-fmal:
- fldt 4(%esp)
- fldt 16(%esp)
- fmulp %st,%st(1)
- fldt 28(%esp)
- faddp %st,%st(1)
- ret
-
-.global asinhf,asinh,asinhl
- .type asinhf,@function
- .type asinh,@function
- .type asinhl,@function
-asinhf:
- flds 4(%esp)
- jmp __asinh
-asinh:
- fldl 4(%esp)
-__asinh:
- fld %st(0)
- fmul %st(0),%st(0)
- fld1
- faddp %st(0),%st(1)
-finasch:
- fsqrt
- faddp %st(0),%st(1)
- fldln2
- fxch
- fyl2x
- ret
-asinhl:
- fldt 4(%esp)
- jmp __asinh
-
-.global acoshf,acosh,acoshl
- .type acoshf,@function
- .type acosh,@function
- .type acoshl,@function
-acoshf:
- flds 4(%esp)
- jmp __acosh
-acosh:
- fldl 4(%esp)
-__acosh:
- fld %st(0)
- fmul %st(0),%st(0)
- fld1
- fsubrp %st(0),%st(1) # st1=st1-st0; pop
- jmp finasch
-acoshl:
- fldt 4(%esp)
- jmp __acosh
-
-.global atanhf,atanh,atanhl
- .type atanhf,@function
- .type atanh,@function
- .type atanhl,@function
-atanhf:
- flds 4(%esp)
- jmp __atanh
-atanh:
- fldl 4(%esp)
-__atanh:
- fst %st(1)
- fld1 # st0=1, st1=x, st2=x
- fadd %st(0),%st(2) # st0=1, st1=x, st2=x+1
- fsubp %st(0),%st(1) # st0=1-x, st1=x+1
- fdivrp %st(0),%st(1)
- fsqrt
- fldln2
- fxch
- fyl2x
- ret
-atanhl:
- fldt 4(%esp)
- jmp __atanh
-
-.global dremf,drem,dreml
- .type dremf,@function
- .type drem,@function
- .type dreml,@function
-dremf:
- flds 8(%esp) # y
- flds 4(%esp) # x
- jmp __drem
-drem:
- fldl 12(%esp)
- fldl 4(%esp)
-__drem:
- fprem1
- fstsw %ax
- sahf
- jp __drem
- ret
-
-dreml:
- fldt 16(%esp)
- fldt 4(%esp)
- jmp __drem
-
-# |ret| = |x|, sign(ret) = sign(y)
-.global copysignf,copysign,copysignl
- .type copysignf,@function
- .type copysign,@function
- .type copysignl,@function
-copysignf:
- flds 4(%esp) # x
- flds 8(%esp) # y
- jmp __copysign
-copysign:
- fldl 4(%esp)
- fldl 12(%esp)
-__copysign:
- fmul %st(1),%st # st = x*y
- ftst
- fstsw %ax
- fincstp
- sahf
- jnc 1f
- fchs
-1: ret
-
-copysignl:
- fldt 4(%esp)
- fldt 16(%esp)
- jmp __copysign
-
-.global fdimf,fdim,fdiml
- .type fdimf,@function
- .type fdim,@function
- .type fdiml,@function
-fdimf:
- flds 4(%esp)
- fsubl 12(%esp)
- jmp __fdim
-fdim:
- fldl 4(%esp)
- fsubl 12(%esp)
-__fdim:
- fstsw %ax
- sahf
- jnc 1f
- fldz
-1: ret
-fdiml:
- fldt 4(%esp)
- fldt 16(%esp)
- fsubp
- jmp __fdim
-
-
-.global truncf,trunc,truncl
- .type truncf,@function
- .type trunc,@function
- .type truncl,@function
-
-truncf:
- flds 4(%esp)
- movb $0x0c,%ah
- jmp __flcetr
-
-trunc:
- fldl 4(%esp)
- movb $0x0c,%ah
- jmp __flcetr
-
-truncl:
- fldt 4(%esp)
- movb $0x0c,%ah
- jmp __flcetr
-
-.global frexpf,frexp,frexpl
- .type frexpf,@function
- .type frexp,@function
- .type frexpl,@function
-
-frexpf:
- flds 4(%esp)
- movl 8(%esp),%eax
- jmp __frexp
-
-frexp:
- fldl 4(%esp)
- movl 12(%esp),%eax
-__frexp:
- fxtract
- fxch
- fistpl (%eax)
- pushl $0x3f000000 # 1/2
- fmuls (%esp)
- incl (%eax)
- popl %eax
- ret
-
-frexpl:
- fldt 4(%esp)
- movl 16(%esp),%eax
- jmp __frexp
-
-.global logbf,logb,logbl
- .type logbf,@function
- .type logb,@function
- .type logbl,@function
-
-#logbf: flds 4(%esp)
-# fxtract
-# fxch
-# ret
-
-#logb: fldl 4(%esp)
-# fxtract
-# fxch
-# ret
-
-#logbl: fldt 4(%esp)
-# fxtract
-# fxch
-# ret
-
-.global ilogbf,ilogb,ilogbl
- .type ilogbf,@function
- .type ilogb,@function
- .type ilogbl,@function
-
-logbf:
-ilogbf: flds 4(%esp)
- jmp __ilogb
-
-logb:
-ilogb: fldl 4(%esp)
-__ilogb:
- fxtract
- pushl %eax
- fxch
- fistl (%esp)
- popl %eax
- ret
-
-logbl:
-ilogbl: fldt 4(%esp)
- jmp __ilogb
-
diff --git a/mdk-stage1/dietlibc/i386/listen.S b/mdk-stage1/dietlibc/i386/listen.S
deleted file mode 100644
index a0879be37..000000000
--- a/mdk-stage1/dietlibc/i386/listen.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(listen,LISTEN)
diff --git a/mdk-stage1/dietlibc/i386/log.S b/mdk-stage1/dietlibc/i386/log.S
deleted file mode 100644
index 0d42c9297..000000000
--- a/mdk-stage1/dietlibc/i386/log.S
+++ /dev/null
@@ -1,26 +0,0 @@
-.text
-
-.global logf,log,logl
- .type logf,@function
- .type log,@function
- .type logl,@function
-logf:
- fldln2
- flds 4(%esp)
- fyl2x
- ret
-logl:
- fldln2
- fldt 4(%esp)
- fyl2x
- ret
-log:
- fldln2
- fldl 4(%esp)
- fyl2x
- ret
-
-.Lende:
-.size log,.Lende-log
-.size logl,.Lende-logl
-.size logf,.Lende-logf
diff --git a/mdk-stage1/dietlibc/i386/log10.S b/mdk-stage1/dietlibc/i386/log10.S
deleted file mode 100644
index dcd08cc3f..000000000
--- a/mdk-stage1/dietlibc/i386/log10.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.type log10,@function
-.global log10
-log10:
- fldlg2
- fldl 4(%esp)
- fyl2x
- ret
-
-.ende:
-.size log10,.ende-log10
diff --git a/mdk-stage1/dietlibc/i386/log1p.S b/mdk-stage1/dietlibc/i386/log1p.S
deleted file mode 100644
index 4dd2d58b4..000000000
--- a/mdk-stage1/dietlibc/i386/log1p.S
+++ /dev/null
@@ -1,12 +0,0 @@
-.text
-.type log1p,@function
-.global log1p
-log1p:
- fldln2
- fldl 4(%esp)
- fyl2xp1
- ret
-
-.ende:
-.size log1p,.ende-log1p
-
diff --git a/mdk-stage1/dietlibc/i386/log2.S b/mdk-stage1/dietlibc/i386/log2.S
deleted file mode 100644
index 80e99a8c9..000000000
--- a/mdk-stage1/dietlibc/i386/log2.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.type log2,@function
-.global log2
-log2:
- fld1
- fldl 4(%esp)
- fyl2x
- ret
-
-.ende:
-.size log2,.ende-log2
diff --git a/mdk-stage1/dietlibc/i386/ltostr.S b/mdk-stage1/dietlibc/i386/ltostr.S
deleted file mode 100644
index ddf85a4f6..000000000
--- a/mdk-stage1/dietlibc/i386/ltostr.S
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- __ltostr.S -- convert an integer into a string
-
- %eax = dividend
- %ebx = divisor
- %ecx = size of output-buffer
- %edi = output-buffer
- %ebp = if uppercase is set, then %ebp is 'A'-10 else %ebp is 'a'-10
-
-*/
-
-.text
-.globl __ltostr
-__ltostr:
- pushl %esi
- pushl %edi # destination
- pushl %ebp
- pushl %ebx
- movl %esp, %eax
- movl 0x14(%eax), %edi
- movl 0x18(%eax), %ecx # size
- movl 0x20(%eax), %ebx # divisor
- movl 0x1c(%eax), %eax # dividend
- decl %ecx
- movl %ecx, %esi
- movl $('A'-0xa), %ebp
- xorl %edx, %edx # must be 0 -- used by idiv
- cmpl $0x0, 36(%esp) # check for uppercase
- jnz .Lnext
- addl $0x20, %ebp # set lowercase
-.Lnext:
- idiv %ebx, %eax
- cmpb $0x9, %dl
- jg .Lnext2
- addb $'0', %dl
- jmp .Lstos
-.Lnext2:
- addl %ebp, %edx
-.Lstos:
- movb %dl, (%edi, %ecx)
- xorl %edx, %edx
- decl %ecx
- jz .Lout
- orl %eax, %eax
- jnz .Lnext
-.Lout:
- cld
- movl %esi, %ebx
- leal 1(%edi, %ecx), %esi
- subl %ebx, %ecx
- negl %ecx
- movl %ecx, %eax
- repnz movsb
- movb $0x0, (%edi)
- popl %ebx
- popl %ebp
- popl %edi
- popl %esi
- ret
-.size __ltostr, . - __ltostr
diff --git a/mdk-stage1/dietlibc/i386/mcount.S b/mdk-stage1/dietlibc/i386/mcount.S
deleted file mode 100644
index 11feed5e0..000000000
--- a/mdk-stage1/dietlibc/i386/mcount.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- Copyright (C) 2001, 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- mcount.S
- i386 assembler implementation of mcount
-*/
-
-/* .section ".profile" */
-.text
-.globl mcount
-.type mcount,@function
-mcount:
-/*
- save all generic registers which
- might be used by __mcount, but aren't
- automatically saved
- */
- pushl %eax
- pushl %ecx
- pushl %edx
-
-/* push the instruction pointer of the calling function */
- pushl 0xc(%esp)
-
-/* push the instruction pointer of the
- function that called the calling function */
- pushl 0x4(%ebp)
-
- call __mcount
-
-/* clean up stack */
- addl $0x8, %esp
-
-/* restore the previously saved registers */
- popl %edx
- popl %ecx
- popl %eax
- ret
-
-.size mcount,.-mcount
diff --git a/mdk-stage1/dietlibc/i386/md5asm.S b/mdk-stage1/dietlibc/i386/md5asm.S
deleted file mode 100644
index a99a92934..000000000
--- a/mdk-stage1/dietlibc/i386/md5asm.S
+++ /dev/null
@@ -1,300 +0,0 @@
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
-
-
-// #define F(x, y, z) (x & y) + (~x & z) = x&y + (z - z&x) = z + y&x - z&x
-//#define F(x, y, z) movl x,%ebx; movl x,%eax; notl %ebx; andl y,%eax; andl z,%ebx; addl %ebx,%eax
-#define F(x, y, z) movl y,%eax; movl z,%ebx; andl x,%eax; andl x,%ebx; addl z,%eax; subl %ebx,%eax
-
-// #define G(x, y, z) (x & z) + (y & ~z) = x&z + (y - y&z) = y + x&z - y&z
-#define G(x, y, z) movl z,%ebx; movl z,%eax; notl %ebx; andl x,%eax; andl y,%ebx; addl %ebx,%eax
-//#define G(x, y, z) movl x,%eax; movl y,%ebx; andl z,%eax; andl z,%ebx; addl y,%eax; subl %ebx,%eax
-//#define G(x, y, z) movl z,%eax; movl z,%ebx; andl x,%eax; andl y,%ebx; addl y,%eax; subl %ebx,%eax
-
-// #define H(x, y, z) x ^ y ^ z
-#define H(x, y, z) movl z,%eax; xorl y,%eax; xorl x,%eax
-
-// #define I(x, y, z) y ^ (x | ~z)
-#define I(x, y, z) movl z,%eax; notl %eax; orl x,%eax; xorl y,%eax
-
-
-// #define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-#define ROTATE_LEFT(x, n) roll $n,x
-
-// #define FF(a, b, c, d, x, s, ac) { (a) += F (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-// #define GG(a, b, c, d, x, s, ac) { (a) += G (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-// #define HH(a, b, c, d, x, s, ac) { (a) += H (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-// #define II(a, b, c, d, x, s, ac) { (a) += I (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-
-#define FF(a, b, c, d, x, s, ac) addl x, a; addl $ac,a; F (b, c, d); addl %eax,a; roll $s,a; addl b,a
-#define GG(a, b, c, d, x, s, ac) addl x, a; addl $ac,a; G (b, c, d); addl %eax,a; roll $s,a; addl b,a
-#define HH(a, b, c, d, x, s, ac) addl x, a; addl $ac,a; H (b, c, d); addl %eax,a; roll $s,a; addl b,a
-#define II(a, b, c, d, x, s, ac) addl x, a; addl $ac,a; I (b, c, d); addl %eax,a; roll $s,a; addl b,a
-
-
-// // x is ecx
-// word a = state [0]; // a is edx
-// word b = state [1]; // b is esi
-// word c = state [2]; // c is edi
-// word d = state [3]; // d is ebp
-
-#define X(n) 4*(n)(%ecx)
-#define X0 (%ecx)
-#define a %edx
-#define b %esi
-#define c %edi
-#define d %ebp
-
-
-
-/* MD5 basic transformation: Transforms state based on data block */
-
-// void __MD5Transform ( word state[4], const word* x, size_t repeat )
-
-.text
-.type __MD5Transform, @function
-.align 32
-.global __MD5Transform
-
- .align 32
-.Lrepeat:
-
- /* Round 1 */
- FF (a, b, c, d, X0 , S11, 0xd76aa478); /* 1 */
- FF (d, a, b, c, X( 1), S12, 0xe8c7b756); /* 2 */
- FF (c, d, a, b, X( 2), S13, 0x242070db); /* 3 */
- FF (b, c, d, a, X( 3), S14, 0xc1bdceee); /* 4 */
- FF (a, b, c, d, X( 4), S11, 0xf57c0faf); /* 5 */
- FF (d, a, b, c, X( 5), S12, 0x4787c62a); /* 6 */
- FF (c, d, a, b, X( 6), S13, 0xa8304613); /* 7 */
- FF (b, c, d, a, X( 7), S14, 0xfd469501); /* 8 */
- FF (a, b, c, d, X( 8), S11, 0x698098d8); /* 9 */
- FF (d, a, b, c, X( 9), S12, 0x8b44f7af); /* 10 */
- FF (c, d, a, b, X(10), S13, 0xffff5bb1); /* 11 */
- FF (b, c, d, a, X(11), S14, 0x895cd7be); /* 12 */
- FF (a, b, c, d, X(12), S11, 0x6b901122); /* 13 */
- FF (d, a, b, c, X(13), S12, 0xfd987193); /* 14 */
- FF (c, d, a, b, X(14), S13, 0xa679438e); /* 15 */
- FF (b, c, d, a, X(15), S14, 0x49b40821); /* 16 */
-
- /* Round 2 */
- GG (a, b, c, d, X( 1), S21, 0xf61e2562); /* 17 */
- GG (d, a, b, c, X( 6), S22, 0xc040b340); /* 18 */
- GG (c, d, a, b, X(11), S23, 0x265e5a51); /* 19 */
- GG (b, c, d, a, X0 , S24, 0xe9b6c7aa); /* 20 */
- GG (a, b, c, d, X( 5), S21, 0xd62f105d); /* 21 */
- GG (d, a, b, c, X(10), S22, 0x02441453); /* 22 */
- GG (c, d, a, b, X(15), S23, 0xd8a1e681); /* 23 */
- GG (b, c, d, a, X( 4), S24, 0xe7d3fbc8); /* 24 */
- GG (a, b, c, d, X( 9), S21, 0x21e1cde6); /* 25 */
- GG (d, a, b, c, X(14), S22, 0xc33707d6); /* 26 */
- GG (c, d, a, b, X( 3), S23, 0xf4d50d87); /* 27 */
- GG (b, c, d, a, X( 8), S24, 0x455a14ed); /* 28 */
- GG (a, b, c, d, X(13), S21, 0xa9e3e905); /* 29 */
- GG (d, a, b, c, X( 2), S22, 0xfcefa3f8); /* 30 */
- GG (c, d, a, b, X( 7), S23, 0x676f02d9); /* 31 */
- GG (b, c, d, a, X(12), S24, 0x8d2a4c8a); /* 32 */
-
- /* Round 3 */
- HH (a, b, c, d, X( 5), S31, 0xfffa3942); /* 33 */
- HH (d, a, b, c, X( 8), S32, 0x8771f681); /* 34 */
- HH (c, d, a, b, X(11), S33, 0x6d9d6122); /* 35 */
- HH (b, c, d, a, X(14), S34, 0xfde5380c); /* 36 */
- HH (a, b, c, d, X( 1), S31, 0xa4beea44); /* 37 */
- HH (d, a, b, c, X( 4), S32, 0x4bdecfa9); /* 38 */
- HH (c, d, a, b, X( 7), S33, 0xf6bb4b60); /* 39 */
- HH (b, c, d, a, X(10), S34, 0xbebfbc70); /* 40 */
- HH (a, b, c, d, X(13), S31, 0x289b7ec6); /* 41 */
- HH (d, a, b, c, X0 , S32, 0xeaa127fa); /* 42 */
- HH (c, d, a, b, X( 3), S33, 0xd4ef3085); /* 43 */
- HH (b, c, d, a, X( 6), S34, 0x04881d05); /* 44 */
- HH (a, b, c, d, X( 9), S31, 0xd9d4d039); /* 45 */
- HH (d, a, b, c, X(12), S32, 0xe6db99e5); /* 46 */
- HH (c, d, a, b, X(15), S33, 0x1fa27cf8); /* 47 */
- HH (b, c, d, a, X( 2), S34, 0xc4ac5665); /* 48 */
-
- /* Round 4 */
- II (a, b, c, d, X0 , S41, 0xf4292244); /* 49 */
- II (d, a, b, c, X( 7), S42, 0x432aff97); /* 50 */
- II (c, d, a, b, X(14), S43, 0xab9423a7); /* 51 */
- II (b, c, d, a, X( 5), S44, 0xfc93a039); /* 52 */
- II (a, b, c, d, X(12), S41, 0x655b59c3); /* 53 */
- II (d, a, b, c, X( 3), S42, 0x8f0ccc92); /* 54 */
- II (c, d, a, b, X(10), S43, 0xffeff47d); /* 55 */
- II (b, c, d, a, X( 1), S44, 0x85845dd1); /* 56 */
- II (a, b, c, d, X( 8), S41, 0x6fa87e4f); /* 57 */
- II (d, a, b, c, X(15), S42, 0xfe2ce6e0); /* 58 */
- II (c, d, a, b, X( 6), S43, 0xa3014314); /* 59 */
- II (b, c, d, a, X(13), S44, 0x4e0811a1); /* 60 */
- II (a, b, c, d, X( 4), S41, 0xf7537e82); /* 61 */
- II (d, a, b, c, X(11), S42, 0xbd3af235); /* 62 */
- II (c, d, a, b, X( 2), S43, 0x2ad7d2bb); /* 63 */
- II (b, c, d, a, X( 9), S44, 0xeb86d391); /* 64 */
-
-// state [0] += a;
-// state [1] += b;
-// state [2] += c;
-// state [3] += d;
-
- addl $64,%ecx
-
- movl 4+32(%esp),%eax // state
- addl (%eax),a
- addl 4(%eax),b
- addl 8(%eax),c
- addl 12(%eax),d
- movl a, (%eax)
- movl b, 4(%eax)
- movl c, 8(%eax)
- movl d,12(%eax)
-
-.Lstart:
- decl 12+32(%esp)
- jns .Lrepeat
-
- popal
- ret
-
-__MD5Transform:
-__MD5TransformLocal:
- pushal
- movl 8+32(%esp),%ecx // x
- movl 4+32(%esp),%eax // state
- movl (%eax),a
- movl 4(%eax),b
- movl 8(%eax),c
- movl 12(%eax),d
- jmp .Lstart
-
-.Lende:
-.size __MD5Transform, .Lende-__MD5Transform
-
-.type MD5Init,@function
-.global MD5Init
-
-MD5Init:
- movl 4(%esp), %ecx
- xorl %eax,%eax
- movl $0x67452301, (%ecx)
- movl $0xefcdab89, 4(%ecx)
- movl $0x98badcfe, 8(%ecx)
- movl $0x10325476, 12(%ecx)
- movl %eax, 16(%ecx)
- movl %eax, 20(%ecx)
- ret
-
-
-.global MD5Update
-.type MD5Update,@function
-
-
-// void MD5Update ( MD5_CTX* context, const byte* input, size_t inputBytes )
-
-#define CONTEXT 4+32(%esp)
-#define INPUT 8+32(%esp)
-#define INPUTBYTES 12+32(%esp)
-
-#define COUNT 16(%ebx)
-#define BUFFER 24(%ebx)
-
-
-MD5Update:
- pushal
- cld
- movl CONTEXT, %ebx
-
-// ByteIndex = (context->count[0] >> 3) & 0x3F;
-
- movl COUNT, %ebp
- shrl $3, %ebp
- andl $63,%ebp // ebp = ByteIndex
-
-// if ( (context->count[0] += inputBytes << 3 ) < (inputBytes << 3) )
-// context->count[1]++;
-// context->count[1] += inputBytes >> (32-3);
-
- movl $8, %eax
- mull INPUTBYTES
- addl %eax, 0+COUNT
- adcl %edx, 4+COUNT
-
-// partLen = 64 - ByteIndex;
-
- movl $64, %eax
- subl %ebp, %eax // eax = partLen
-
-// i = 0;
-// if ( partLen <= inputBytes ) {
-
- xorl %ecx,%ecx // ecx = i
- cmpl INPUTBYTES, %eax
- ja .Lende2
-
-// memcpy ( context->buffer + ByteIndex, input, partLen );
-
- leal 24(%ebx,%ebp,1), %edi
- movl INPUT, %esi
- movl %eax, %ecx
- rep movsb
-
-// MD5Transform ( context->state, context->buffer, 1 );
-
- pushl $1
- leal BUFFER, %ecx
- pushl %ecx
- push %ebx
- call __MD5TransformLocal
-
-// len = (inputBytes - partLen) / 64;
-
- movl 12+INPUTBYTES, %ecx
- subl %eax, %ecx
- shrl $6, %ecx
-
-// MD5Transform ( context->state, input+partLen, len );
-
- pushl %ecx
- pushl %esi
- pushl %ebx
- call __MD5TransformLocal
- addl $24,%esp
-
-// i = partLen + 64 * len;
-// ByteIndex = 0;
-
- shll $6, %ecx
- addl %eax, %ecx
- xorl %ebp, %ebp
-
-.Lende2:
-
-// }
-// memcpy ( context->buffer + ByteIndex, input + i, inputBytes - i );
-
- movl INPUT, %esi
- addl %ecx, %esi
-
- negl %ecx
- addl INPUTBYTES, %ecx
-
- leal 24(%ebx,%ebp,1), %edi
- rep movsb
-
- popal
- ret
-
-
diff --git a/mdk-stage1/dietlibc/i386/memccpy.S b/mdk-stage1/dietlibc/i386/memccpy.S
deleted file mode 100644
index 0b7dce49e..000000000
--- a/mdk-stage1/dietlibc/i386/memccpy.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- memccpy.S
- i386 assembler implementation of memccpy(3)
-*/
-
-.text
-.global memccpy
-.type memccpy,@function
-memccpy:
- pushl %esi
- pushl %edi
-
- movl %esp, %ecx
- movl 0x0c(%ecx), %edi
- movl 0x10(%ecx), %esi
- movb 0x14(%ecx), %dl
- movl 0x18(%ecx), %ecx
- cld
-.Lloop:
- lodsb
- stosb
- cmp %al, %dl
- jz .Lout
- decl %ecx
- jnz .Lloop
- xorl %edi, %edi
-.Lout:
- movl %edi, %eax
- popl %edi
- popl %esi
- ret
-.Lende:
-.size memccpy,.Lende-memccpy
diff --git a/mdk-stage1/dietlibc/i386/memchr.S b/mdk-stage1/dietlibc/i386/memchr.S
deleted file mode 100644
index 7d04f990b..000000000
--- a/mdk-stage1/dietlibc/i386/memchr.S
+++ /dev/null
@@ -1,24 +0,0 @@
-.text
-.align 0
-.global memchr
-.type memchr,@function
-memchr:
- pushl %edi
- movl 8(%esp),%edi
- movl 12(%esp),%eax
- movl 16(%esp),%ecx
- cld
- jecxz .Lnotfound
-
- repne scasb
-
- je .Lfound
-.Lnotfound:
- xorl %edi, %edi
- incl %edi
-.Lfound:
- movl %edi, %eax
- decl %eax
-
- popl %edi
- ret
diff --git a/mdk-stage1/dietlibc/i386/memcmp.S b/mdk-stage1/dietlibc/i386/memcmp.S
deleted file mode 100644
index aa6d55f23..000000000
--- a/mdk-stage1/dietlibc/i386/memcmp.S
+++ /dev/null
@@ -1,26 +0,0 @@
-.text
-.align 0
-.global memcmp
-.type memcmp,@function
-memcmp:
- xorl %eax,%eax
- orl 12(%esp),%eax
- jz .Lempty
- pushl %esi
- pushl %edi
- movl 12(%esp),%esi
- movl 16(%esp),%edi
- movl %eax,%ecx
-
- rep cmpsb
-
- decl %esi
- decl %edi
- lodsb
- subb (%edi), %al
- movsx %al, %eax
-
- popl %edi
- popl %esi
-.Lempty:
- ret
diff --git a/mdk-stage1/dietlibc/i386/memcpy.S b/mdk-stage1/dietlibc/i386/memcpy.S
deleted file mode 100644
index cbe74459f..000000000
--- a/mdk-stage1/dietlibc/i386/memcpy.S
+++ /dev/null
@@ -1,16 +0,0 @@
-.text
-.align 0
-.global memcpy
-.type memcpy,@function
-memcpy:
- pushl %esi
- pushl %edi
- movl 12(%esp),%edi
- movl 16(%esp),%esi
- movl 20(%esp),%ecx
- movl %edi, %eax
- cld
- rep movsb
- popl %edi
- popl %esi
- ret
diff --git a/mdk-stage1/dietlibc/i386/memset.S b/mdk-stage1/dietlibc/i386/memset.S
deleted file mode 100644
index 472390b84..000000000
--- a/mdk-stage1/dietlibc/i386/memset.S
+++ /dev/null
@@ -1,15 +0,0 @@
-.text
-.align 0
-.global memset
-.type memset,@function
-memset:
- pushl %edi
- movl 8(%esp),%edi
- movl 12(%esp),%eax
- movl 16(%esp),%ecx
- cld
- pushl %edi
- rep stosb
- popl %eax
- popl %edi
- ret
diff --git a/mdk-stage1/dietlibc/i386/mmap.S b/mdk-stage1/dietlibc/i386/mmap.S
deleted file mode 100644
index c824aa037..000000000
--- a/mdk-stage1/dietlibc/i386/mmap.S
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "syscalls.h"
-
-.text
-.global mmap
-.type mmap,@function
-mmap:
- mov $__NR_mmap,%al
- lea 0x4(%esp,1),%edx
- push %edx
- call __unified_syscall
- pop %ecx
- ret
-.Lende3:
-.size mmap,.Lende3-mmap
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/mmap64.S b/mdk-stage1/dietlibc/i386/mmap64.S
deleted file mode 100644
index 421325260..000000000
--- a/mdk-stage1/dietlibc/i386/mmap64.S
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <dietfeatures.h>
-#include <syscalls.h>
-#include <errno.h>
-
-#ifdef __DYN_LIB
-#ifndef WANT_THREAD_SAFE
-#define WANT_THREAD_SAFE
-#endif
-#endif
-
-.text
-.global mmap64
-.type mmap64,@function
-mmap64:
-/* man is this ugly! */
- push %ebp
- push %edi
- push %esi
- push %ebx
- movl %esp, %edi
- movl 0x28(%edi), %eax
- movl 0x2c(%edi), %edx
- testl $0xfff, %eax /* offset in pages */
- jnz .Leinval
- shrdl $12, %edx, %eax
- shrl $12, %edx
- jnz .Leinval
- movl %eax, %ebp
- movl 0x14(%edi),%ebx
- movl 0x18(%edi),%ecx
- movl 0x1c(%edi),%edx
- movl 0x20(%edi),%esi
- movl 0x24(%edi),%edi
- movl $__NR_mmap2,%eax
- int $0x80
- cmp $-124,%eax
- jbe .Lnoerror
- neg %eax
-.Lerror:
-#ifdef WANT_THREAD_SAFE
- movl %eax,%ebx
-#ifdef __DYN_LIB
- call __errno_location@PLT
-#else
- call __errno_location
-#endif
- movl %ebx,(%eax)
- orl $-1,%eax
-#else
- mov %eax,errno
- sbb %eax,%eax # eax = eax - eax - CY = -1
-#endif
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
- pop %ebp
- ret
-.Leinval:
- movl $EINVAL,%eax
- jmp .Lerror
-.Lende2:
-.size mmap64,.Lende2-mmap64
diff --git a/mdk-stage1/dietlibc/i386/poly.S b/mdk-stage1/dietlibc/i386/poly.S
deleted file mode 100644
index d8be7d7f5..000000000
--- a/mdk-stage1/dietlibc/i386/poly.S
+++ /dev/null
@@ -1,24 +0,0 @@
-
-.text
-.global __poly
-.type __poly,@function
-
-
-#
-# double __poly ( double x, int n, const double* c );
-#
-
-__poly:
- movl 16(%esp),%eax
- movl 12(%esp),%ecx
- leal (%eax,%ecx,8),%eax
- fldl 4(%esp)
- fldz
-.Lloop:
- fmul %st(1),%st(0)
- faddl (%eax)
- addl $-8,%eax
- decl %ecx
- jns .Lloop
- fstp %st(1)
- ret
diff --git a/mdk-stage1/dietlibc/i386/pow.S b/mdk-stage1/dietlibc/i386/pow.S
deleted file mode 100644
index 46562a299..000000000
--- a/mdk-stage1/dietlibc/i386/pow.S
+++ /dev/null
@@ -1,67 +0,0 @@
-.text
-.global pow
-.type pow,@function
-
-# pow(x,y)
-.global powf,pow,powl
- .type powf,@function
- .type pow,@function
- .type powl,@function
-powf:
- flds 4(%esp) # x
- flds 8(%esp) # y
- jmp .L__pow
-powl:
- fldt 4(%esp)
- fldt 16(%esp)
- jmp .L__pow
-pow:
- fldl 4(%esp)
- fldl 12(%esp)
-# x^y; st(0)=y, st(1)=x
-.L__pow:
- ftst # y = 0 ?
- fstsw %ax
- fld1 # st(0)=1, st(1)=y, st(2)=x
- sahf
- jz 1f # return 1
- fcomp %st(1) # y = 1 ?
- fstsw %ax
- fxch # st(0)=x, st(1)=y
- sahf
- jz 1f # return x
- ftst # x = 0 ?
- fstsw %ax
- sahf
- jz 1f
- jnc .Lfinpow # x > 0
- fxch # st(0)=y, st(1)=x
- fld %st(0) # st(0)=y, st(1)=y, st(2)=x
- frndint # st(0)=int(y)
- fcomp %st(1) # y = int(y)?
- fstsw %ax
- fxch
- sahf
- jnz .Lfinpow # fyl2x -> st(0) = NaN
-# y even or odd ?
- fld1
- fadd %st(0) # st(0) = 2
- fdivr %st(2),%st(0) # st(0)=st(2)/2
- frndint
- fadd %st(0),%st(0)
- fcomp %st(2) # st(0) = x, st(1) = y
- fstsw %ax
- fchs # st(0) = -x
- sahf
- jz .Lfinpow # y even
- call .Lfinpow # y odd
- fchs
-1: ret
-.Lfinpow:
- fyl2x
- jmp __finexp
-
-.Lende:
-.size pow,.Lende-pow
-.size powf,.Lende-powf
-.size powl,.Lende-powl
diff --git a/mdk-stage1/dietlibc/i386/recv.S b/mdk-stage1/dietlibc/i386/recv.S
deleted file mode 100644
index 215343ccc..000000000
--- a/mdk-stage1/dietlibc/i386/recv.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(recv,RECV)
diff --git a/mdk-stage1/dietlibc/i386/recvfrom.S b/mdk-stage1/dietlibc/i386/recvfrom.S
deleted file mode 100644
index a9dde840d..000000000
--- a/mdk-stage1/dietlibc/i386/recvfrom.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(recvfrom,RECVFROM)
diff --git a/mdk-stage1/dietlibc/i386/recvmsg.S b/mdk-stage1/dietlibc/i386/recvmsg.S
deleted file mode 100644
index cb26e2f08..000000000
--- a/mdk-stage1/dietlibc/i386/recvmsg.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(recvmsg,RECVMSG)
diff --git a/mdk-stage1/dietlibc/i386/rint.S b/mdk-stage1/dietlibc/i386/rint.S
deleted file mode 100644
index f56ab1f93..000000000
--- a/mdk-stage1/dietlibc/i386/rint.S
+++ /dev/null
@@ -1,23 +0,0 @@
-.text
-
-.global rintf,rint,rintl
- .type rintf,@function
- .type rint,@function
- .type rintl,@function
-rintf:
- flds 4(%esp)
- frndint
- ret
-rint:
- fldl 4(%esp)
- frndint
- ret
-rintl:
- fldt 4(%esp)
- frndint
- ret
-
-.Lende:
-.size rint,.Lende-rint
-.size rintl,.Lende-rintl
-.size rintf,.Lende-rintf
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/send.S b/mdk-stage1/dietlibc/i386/send.S
deleted file mode 100644
index f2dd7e3d5..000000000
--- a/mdk-stage1/dietlibc/i386/send.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(send,SEND)
diff --git a/mdk-stage1/dietlibc/i386/sendmsg.S b/mdk-stage1/dietlibc/i386/sendmsg.S
deleted file mode 100644
index 484d62e50..000000000
--- a/mdk-stage1/dietlibc/i386/sendmsg.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(sendmsg,SENDMSG)
diff --git a/mdk-stage1/dietlibc/i386/sendto.S b/mdk-stage1/dietlibc/i386/sendto.S
deleted file mode 100644
index 04270f0f0..000000000
--- a/mdk-stage1/dietlibc/i386/sendto.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(sendto,SENDTO)
diff --git a/mdk-stage1/dietlibc/i386/setjmp.S b/mdk-stage1/dietlibc/i386/setjmp.S
deleted file mode 100644
index 09b266c61..000000000
--- a/mdk-stage1/dietlibc/i386/setjmp.S
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <setjmp.h>
-
-.text
-.weak setjmp
-.type setjmp,@function
-setjmp:
-.globl __setjmp
-.type __setjmp,@function
-__setjmp:
- popl %eax
- popl %ecx
- pushl $0
- pushl %ecx
- pushl %eax
-
-.globl __sigsetjmp
-.type __sigsetjmp,@function
-__sigsetjmp:
- movl 4(%esp), %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), %edx /* Save SP as it will be after we return. */
- movl 0(%esp), %ecx /* Save PC we are returning to now. */
- movl %edx, (JB_SP*4)(%eax)
- movl %ecx, (JB_PC*4)(%eax)
-
- /* Make a tail call to __sigjmp_save; it takes the same args. */
-#ifdef PIC
- call 1f
- addl $_GLOBAL_OFFSET_TABLE_, %ecx
- jmp *__sigjmp_save@GOT(%ecx)
-1: movl (%esp), %ecx
- ret
-#else
- jmp __sigjmp_save
-#endif
-.size __sigsetjmp,.-__sigsetjmp;
diff --git a/mdk-stage1/dietlibc/i386/setsockopt.S b/mdk-stage1/dietlibc/i386/setsockopt.S
deleted file mode 100644
index 6a81aec82..000000000
--- a/mdk-stage1/dietlibc/i386/setsockopt.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(setsockopt,SETSOCKOPT)
diff --git a/mdk-stage1/dietlibc/i386/shutdown.S b/mdk-stage1/dietlibc/i386/shutdown.S
deleted file mode 100644
index f9dc707e8..000000000
--- a/mdk-stage1/dietlibc/i386/shutdown.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(shutdown,SHUTDOWN)
diff --git a/mdk-stage1/dietlibc/i386/sin.S b/mdk-stage1/dietlibc/i386/sin.S
deleted file mode 100644
index 404bf5eed..000000000
--- a/mdk-stage1/dietlibc/i386/sin.S
+++ /dev/null
@@ -1,34 +0,0 @@
-
-.text
-
-.global sinf,sin,sinl
-.type sinf,@function
-.type sin,@function
-.type sinl,@function
-sinf:
- flds 4(%esp)
- jmp 1f
-sin:
- fldl 4(%esp)
-1: fsin
- fnstsw %ax
- testb $0x04, %ah
- je 3f
- fldpi
- fadd %st
- fxch %st(1)
-2: fprem1
- fnstsw %ax
- testb $0x04, %ah
- jne 2b
- fstp %st(1)
- fsin
-3: ret
-sinl:
- fldt 4(%esp)
- jmp 1b
-
-.ende:
-.size sin,.ende-sin
-.size sinf,.ende-sinf
-.size sinl,.ende-sinl
diff --git a/mdk-stage1/dietlibc/i386/sincos.S b/mdk-stage1/dietlibc/i386/sincos.S
deleted file mode 100644
index 7395075f3..000000000
--- a/mdk-stage1/dietlibc/i386/sincos.S
+++ /dev/null
@@ -1,18 +0,0 @@
-
-.text
-.type sincos,@function
-.global sincos
-
-# void sincos ( double x, double* sinx, double* cosx );
-
-sincos:
- fldl 4(%esp)
- fsincos
- movl 16(%esp),%eax
- movl 12(%esp),%ecx
- fstpl (%eax)
- fstpl (%ecx)
- ret
-
-.ende:
-.size sincos,.ende-sincos
diff --git a/mdk-stage1/dietlibc/i386/sinh.S b/mdk-stage1/dietlibc/i386/sinh.S
deleted file mode 100644
index 98f7ee752..000000000
--- a/mdk-stage1/dietlibc/i386/sinh.S
+++ /dev/null
@@ -1,29 +0,0 @@
-
-.text
-.type sinh,@function
-.global sinh
-
-sinh: # note: exp(x) = 2^(x*log2(e))
- fldl2e
- fmull 4(%esp) # x*log2(e)
- fld %st(0) # x*log2(e) x*log2(e)
- frndint # int(x*log2(e)) x*log2(e)
- fxch # x*log2(e) int(x*log2(e))
- fsub %st(1),%st(0) # frac(x*log2(e)) int(x*log2(e))
- f2xm1 # 2^(fract(x*log2(e)))-1 int(x*log2(e))
- fld1 # 1 2^(fract(x*log2(e)))-1 int(x*log2(e))
- faddp %st(0),%st(1) # 2^(fract(x*log2(e))) int(x*log2(e))
- fscale # 2^(x*log2(e)) int(x*log2(e))
- fstp %st(1) # 2^(x*log2(e))
-
-# now we have y = exp(x), but sinh(x) = (y - 1/y) * 0.5
-
- fld1
- fdiv %st(1),%st(0)
- fsubrp
- fmuls __half
- ret
-
-.Lende:
-
-.size sinh,.ende-sinh
diff --git a/mdk-stage1/dietlibc/i386/sleep.S b/mdk-stage1/dietlibc/i386/sleep.S
deleted file mode 100644
index 356552dc2..000000000
--- a/mdk-stage1/dietlibc/i386/sleep.S
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "PIC.h"
-
-.text
-.global sleep
-.type sleep,@function
-
-sleep:
- movl 4(%esp),%eax # Argument holen
- PIC_SAVE # non-PIC: empty line
- PIC_INIT # non-PIC: empty line
- pushl $0 # 0 ns
- pushl %eax # 'x' s warten
- movl %esp,%eax
- pushl %eax # zweimal ein Zeiger auf das Stackobjekt
- pushl %eax # ptr ptr sec nsec return arg
-#ifdef __DYN_LIB
- call nanosleep@PLT
-#else
- call nanosleep
-#endif
- movl 20(%esp),%eax # 'x' holen
- subl 8(%esp),%eax # schon abgelaufende Zeit subtrahieren
- addl $16,%esp
- PIC_RESTORE # non-PIC: empty line
- ret
diff --git a/mdk-stage1/dietlibc/i386/socket.S b/mdk-stage1/dietlibc/i386/socket.S
deleted file mode 100644
index bc8cbe536..000000000
--- a/mdk-stage1/dietlibc/i386/socket.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(socket,SOCKET)
diff --git a/mdk-stage1/dietlibc/i386/socketcall.S b/mdk-stage1/dietlibc/i386/socketcall.S
deleted file mode 100644
index 4e8019ec2..000000000
--- a/mdk-stage1/dietlibc/i386/socketcall.S
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <syscalls.h>
-
-.text
-.global socketcall
-.type socketcall,@function
-socketcall:
- leal 4(%esp), %ecx
- pushl %ecx
- movzbl %al,%eax
- pushl %eax
- movb $__NR_socketcall,%al
- call __unified_syscall
- popl %ecx
- popl %ecx
- retl
-.Lende:
-.size socketcall,.Lende-socketcall
diff --git a/mdk-stage1/dietlibc/i386/socketpair.S b/mdk-stage1/dietlibc/i386/socketpair.S
deleted file mode 100644
index a5de65f25..000000000
--- a/mdk-stage1/dietlibc/i386/socketpair.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(socketpair,SOCKETPAIR)
diff --git a/mdk-stage1/dietlibc/i386/sqrt.S b/mdk-stage1/dietlibc/i386/sqrt.S
deleted file mode 100644
index 5e4527612..000000000
--- a/mdk-stage1/dietlibc/i386/sqrt.S
+++ /dev/null
@@ -1,23 +0,0 @@
-.text
-
-.global sqrtf,sqrt,sqrtl
- .type sqrtf,@function
- .type sqrt,@function
- .type sqrtl,@function
-sqrtf:
- flds 4(%esp)
- fsqrt
- ret
-sqrt:
- fldl 4(%esp)
- fsqrt
- ret
-sqrtl:
- fldt 4(%esp)
- fsqrt
- ret
-
-.ende:
-.size sqrt,.ende-sqrt
-.size sqrtf,.ende-sqrtf
-.size sqrtl,.ende-sqrtl
diff --git a/mdk-stage1/dietlibc/i386/sqrtl.S b/mdk-stage1/dietlibc/i386/sqrtl.S
deleted file mode 100644
index c1a931fd8..000000000
--- a/mdk-stage1/dietlibc/i386/sqrtl.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.type sqrtl,@function
-.global sqrtl
-sqrtl:
- fldt 4(%esp)
- fsqrt
- ret
-
-.ende:
-.size sqrtl,.ende-sqrtl
-
diff --git a/mdk-stage1/dietlibc/i386/start.S b/mdk-stage1/dietlibc/i386/start.S
deleted file mode 100644
index 1a825fc2a..000000000
--- a/mdk-stage1/dietlibc/i386/start.S
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "dietfeatures.h"
-#include "PIC.h"
-
-.text
-.global _start
-_start:
-#if 1
- popl %ecx /* %ecx = argc */
- movl %esp,%esi /* %esi = argv */
- pushl %ecx
-#else
- movl (%esp),%ecx /* %ecx = argc */
- leal 4(%esp),%esi /* %esi = argv */
-#endif
- leal 4(%esi,%ecx,4),%eax /* %eax = envp = (4*ecx)+%esi+4 */
-
-#ifdef WANT_DYNAMIC
-/* in %edx we have the ld.so dynamic _fini ( register this if non null ) */
- push %edx
-#endif
-
- pushl %eax
- pushl %esi
- pushl %ecx
- PIC_INIT /* non-PIC: this is an empty line */
- PUT_VAR %eax, environ, %ecx /* non-PIC: movl %eax,environ */
-
-#ifdef PROFILING
- pushl $_etext
- pushl $.text
- call monitor
- addl $0x8, %esp
-#endif
-
-#ifdef WANT_DYNAMIC
- call _dyn_start
-#else
- call main
-#endif
-
-#ifdef PROFILING
- pushl %eax
- call _stop_monitor
- popl %eax
-#endif
- pushl %eax
- call exit
- hlt /* die now ! will ya ... */
-.Lstart:
- .size _start,.Lstart-_start
-
diff --git a/mdk-stage1/dietlibc/i386/stpcpy.S b/mdk-stage1/dietlibc/i386/stpcpy.S
deleted file mode 100644
index 1cb74b2ea..000000000
--- a/mdk-stage1/dietlibc/i386/stpcpy.S
+++ /dev/null
@@ -1,22 +0,0 @@
-.text
-.global stpcpy
-.type stpcpy,@function
-stpcpy:
- pushl %edi
- pushl %esi
- movl 0xc(%esp), %edi
- movl 0x10(%esp), %esi
-
-.Lcopy:
- lodsb
- stosb
- testb %al, %al
- jnz .Lcopy
-
- movl %edi, %eax
- decl %eax
- popl %esi
- popl %edi
- ret
-.Lende:
-.size stpcpy,.Lende-stpcpy
diff --git a/mdk-stage1/dietlibc/i386/strcasecmp.S b/mdk-stage1/dietlibc/i386/strcasecmp.S
deleted file mode 100644
index a836680db..000000000
--- a/mdk-stage1/dietlibc/i386/strcasecmp.S
+++ /dev/null
@@ -1,31 +0,0 @@
-.text
-.globl strcasecmp
-
-strcasecmp:
- pushl %esi
- movl 0x8(%esp), %esi
- movl 0xc(%esp), %edx
- xorl %eax, %eax
- xorl %ecx, %ecx
- cld
-.Lloop:
- lodsb
- movb (%edx), %cl
- incl %edx
- or %al, %al
- jz .Lfinifirst
- cmp $'A', %al
- jnge .Lcmp
- cmp $'z', %al
- jg .Lcmp
- or $0x20, %al
- or $0x20, %cl
-.Lcmp:
- subl %ecx, %eax
- jz .Lloop
-.Lret:
- popl %esi
- ret
-.Lfinifirst:
- subl %ecx, %eax
- jmp .Lret
diff --git a/mdk-stage1/dietlibc/i386/strcat.S b/mdk-stage1/dietlibc/i386/strcat.S
deleted file mode 100644
index e7d74ef13..000000000
--- a/mdk-stage1/dietlibc/i386/strcat.S
+++ /dev/null
@@ -1,29 +0,0 @@
-.text
-.align 0
-.global strcat
-.type strcat,@function
-strcat:
- pushl %edi
- pushl %esi
-
- movl 12(%esp), %edi
- movl 16(%esp), %esi
-
- pushl %edi
-
- xorl %eax, %eax
- xorl %ecx, %ecx
- decl %ecx
- repne scasb
- decl %edi
-
-.Lloop:
- lodsb
- stosb
- testb %al, %al
- jnz .Lloop
-
- popl %eax
- popl %esi
- popl %edi
- ret
diff --git a/mdk-stage1/dietlibc/i386/strchr.S b/mdk-stage1/dietlibc/i386/strchr.S
deleted file mode 100644
index 4515d9835..000000000
--- a/mdk-stage1/dietlibc/i386/strchr.S
+++ /dev/null
@@ -1,22 +0,0 @@
-
-.text
-.type strchr,@function
-.global strchr
-.weak index
-.type index,@function
-
-index:
-strchr:
- movl 4(%esp),%ecx
- movb 8(%esp),%dl
-.Lloop:
- movb (%ecx),%al
- cmpb %al,%dl
- jz .Lfound
- incl %ecx
- testb %al,%al
- jnz .Lloop
- xorl %ecx,%ecx
-.Lfound:
- movl %ecx,%eax
- ret
diff --git a/mdk-stage1/dietlibc/i386/strcmp.S b/mdk-stage1/dietlibc/i386/strcmp.S
deleted file mode 100644
index e01064ffb..000000000
--- a/mdk-stage1/dietlibc/i386/strcmp.S
+++ /dev/null
@@ -1,31 +0,0 @@
-.text
-.global strcmp
-.type strcmp,@function
-.weak strcoll
-.type strcoll,@function
-
-#ifdef HIGH_PERFORMANCE
-.align 16
-#endif
-
-.Ldiff:
- movzbl (%edx), %ecx
- subl %ecx, %eax # (unsigned char)*p - (unsigned char)*q, so wie die Original libc
- ret # und ohne berlaufprobleme:
- # (int) ((signed char)c - (signed char)d) != (int)(signed char) ((unsigned char)c - (unsigned char)d)
- # c = '', d = 'e': left expression: -129, right expression: 127
-
-strcoll:
-strcmp:
- movl 4(%esp), %ecx
- movl 8(%esp), %edx
- xorl %eax, %eax
-.Lloop: # Schleifenanfang liegt genau auf Modulanfang + 0x10, damit alignbar
- movb (%ecx), %al
- cmpb (%edx), %al
- jnz .Ldiff
- incl %edx
- incl %ecx
- testb %al, %al
- jnz .Lloop
- ret
diff --git a/mdk-stage1/dietlibc/i386/strcpy.S b/mdk-stage1/dietlibc/i386/strcpy.S
deleted file mode 100644
index a597436bc..000000000
--- a/mdk-stage1/dietlibc/i386/strcpy.S
+++ /dev/null
@@ -1,24 +0,0 @@
-
-.text
-.align 0
-.global strcpy
-.type strcpy,@function
-strcpy:
- pushl %esi
- pushl %edi
-
- movl 12(%esp), %edx
- movl 16(%esp), %esi
- movl %edx, %edi
- cld
-
-.Lloop:
- lodsb
- stosb
- orb %al, %al
- jnz .Lloop
-
- popl %edi
- popl %esi
- movl %edx,%eax
- ret
diff --git a/mdk-stage1/dietlibc/i386/strlen.S b/mdk-stage1/dietlibc/i386/strlen.S
deleted file mode 100644
index 66f8ee553..000000000
--- a/mdk-stage1/dietlibc/i386/strlen.S
+++ /dev/null
@@ -1,18 +0,0 @@
-
-.text
-.type strlen,@function
-.global strlen
-
-strlen:
- movl 4(%esp),%ecx
- xorl %eax,%eax
- jecxz .Lnull
- decl %eax
-.Llbl: incl %eax
- cmpb $0,(%ecx, %eax)
- jne .Llbl
-.Lnull: ret
-
-.Lende:
-
-.size strlen,.Lende-strlen
diff --git a/mdk-stage1/dietlibc/i386/strncmp.S b/mdk-stage1/dietlibc/i386/strncmp.S
deleted file mode 100644
index bf07b07d0..000000000
--- a/mdk-stage1/dietlibc/i386/strncmp.S
+++ /dev/null
@@ -1,28 +0,0 @@
-.text
-.align 0
-.global strncmp
-.type strncmp,@function
-strncmp:
- push %ebx
- movl %esp,%ebx
- movl 12(%ebx),%edx
- movl 16(%ebx),%ecx
- movl 8(%ebx),%ebx
-.Lloop:
- jecxz .Ldone
- decl %ecx
- movb (%ebx),%al
- incl %edx
- incl %ebx
- movb %al,%ah
- subb -1(%edx),%al
- jnz .Lnotequal
- testb %ah,%ah
- jnz .Lloop
-
-.Ldone:
- xorl %eax,%eax
-.Lnotequal:
- movsx %al, %eax
- popl %ebx
- ret
diff --git a/mdk-stage1/dietlibc/i386/strncpy.S b/mdk-stage1/dietlibc/i386/strncpy.S
deleted file mode 100644
index 837b43c41..000000000
--- a/mdk-stage1/dietlibc/i386/strncpy.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- strncpy.S
- i386 assembler implementation of strncpy(3)
-*/
-
-#include "dietfeatures.h"
-
-.text
-.globl strncpy
-.type strncpy,@function
-
-strncpy:
- pushl %esi
- pushl %edi
- movl %esp, %ecx
- movl 0x0c(%ecx), %edi
- movl 0x10(%ecx), %esi
- movl 0x14(%ecx), %ecx
-
- movl %edi, %edx
-
-.Lloop:
- dec %ecx
- js .Lout
- lodsb
- stosb
- or %al, %al
- jnz .Lloop
-#ifdef WANT_FULL_POSIX_COMPAT
- repnz stosb
-#endif
-.Lout:
- movl %edx, %eax
- popl %edi
- popl %esi
- ret
diff --git a/mdk-stage1/dietlibc/i386/strrchr.S b/mdk-stage1/dietlibc/i386/strrchr.S
deleted file mode 100644
index 9fd6e8b32..000000000
--- a/mdk-stage1/dietlibc/i386/strrchr.S
+++ /dev/null
@@ -1,19 +0,0 @@
-.text
-.globl strrchr
-.type strrchr,@function
-
-strrchr:
- movl 0x4(%esp), %edx
- movb 0x8(%esp), %cl
- xorl %eax, %eax
- decl %edx
-.Lloop:
- incl %edx
- cmpb $0x0,(%edx)
- jz .Lret
- cmpb %cl, (%edx)
- jnz .Lloop
- movl %edx, %eax
- jmp .Lloop
-.Lret:
- ret
diff --git a/mdk-stage1/dietlibc/i386/syscalls.h b/mdk-stage1/dietlibc/i386/syscalls.h
deleted file mode 100644
index 3cbf7b605..000000000
--- a/mdk-stage1/dietlibc/i386/syscalls.h
+++ /dev/null
@@ -1,303 +0,0 @@
-
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_waitpid 7
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_break 17
-#define __NR_oldstat 18
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_oldfstat 28
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_stty 31
-#define __NR_gtty 32
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_ftime 35
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_prof 44
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_signal 48
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_lock 53
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_mpx 56
-#define __NR_setpgid 57
-#define __NR_ulimit 58
-#define __NR_oldolduname 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_sgetmask 68
-#define __NR_ssetmask 69
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrlimit 76 /* Back compatible 2Gig limited rlimit */
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_oldlstat 84
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_profil 98
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_ioperm 101
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_olduname 109
-#define __NR_iopl 110
-#define __NR_vhangup 111
-#define __NR_idle 112
-#define __NR_vm86old 113
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_modify_ldt 123
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_create_module 127
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_get_kernel_syms 130
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_vm86 166
-#define __NR_query_module 167
-#define __NR_poll 168
-#define __NR_nfsservctl 169
-#define __NR_setresgid 170
-#define __NR_getresgid 171
-#define __NR_prctl 172
-#define __NR_rt_sigreturn 173
-#define __NR_rt_sigaction 174
-#define __NR_rt_sigprocmask 175
-#define __NR_rt_sigpending 176
-#define __NR_rt_sigtimedwait 177
-#define __NR_rt_sigqueueinfo 178
-#define __NR_rt_sigsuspend 179
-#define __NR_pread 180
-#define __NR_pwrite 181
-#define __NR_chown 182
-#define __NR_getcwd 183
-#define __NR_capget 184
-#define __NR_capset 185
-#define __NR_sigaltstack 186
-#define __NR_sendfile 187
-#define __NR_getpmsg 188 /* some people actually want streams */
-#define __NR_putpmsg 189 /* some people actually want streams */
-#define __NR_vfork 190
-#define __NR_ugetrlimit 191 /* SuS compliant getrlimit */
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_lchown32 198
-#define __NR_getuid32 199
-#define __NR_getgid32 200
-#define __NR_geteuid32 201
-#define __NR_getegid32 202
-#define __NR_setreuid32 203
-#define __NR_setregid32 204
-#define __NR_getgroups32 205
-#define __NR_setgroups32 206
-#define __NR_fchown32 207
-#define __NR_setresuid32 208
-#define __NR_getresuid32 209
-#define __NR_setresgid32 210
-#define __NR_getresgid32 211
-#define __NR_chown32 212
-#define __NR_setuid32 213
-#define __NR_setgid32 214
-#define __NR_setfsuid32 215
-#define __NR_setfsgid32 216
-#define __NR_pivot_root 217
-#define __NR_mincore 218
-#define __NR_madvise 219
-#define __NR_madvise1 219 /* delete when C lib stub is removed */
-#define __NR_getdents64 220
-#define __NR_fcntl64 221
-#define __NR_security 223 /* syscall for security modules */
-#define __NR_gettid 224
-#define __NR_readahead 225
-#define __NR_setxattr 226
-#define __NR_lsetxattr 227
-#define __NR_fsetxattr 228
-#define __NR_getxattr 229
-#define __NR_lgetxattr 230
-#define __NR_fgetxattr 231
-#define __NR_listxattr 232
-#define __NR_llistxattr 233
-#define __NR_flistxattr 234
-#define __NR_removexattr 235
-#define __NR_lremovexattr 236
-#define __NR_fremovexattr 237
-#define __NR_tkill 238
-#define __NR_sendfile64 239
-#define __NR_futex 240
-#define __NR_sched_setaffinity 241
-#define __NR_sched_getaffinity 242
-#define __NR_set_thread_area 243
-#define __NR_get_thread_area 244
-#define __NR_io_setup 245
-#define __NR_io_destroy 246
-#define __NR_io_getevents 247
-#define __NR_io_submit 248
-#define __NR_io_cancel 249
-#define __NR_alloc_hugepages 250
-#define __NR_free_hugepages 251
-#define __NR_exit_group 252
-#define __NR_lookup_dcookie 253
-#define __NR_sys_epoll_create 254
-#define __NR_sys_epoll_ctl 255
-#define __NR_sys_epoll_wait 256
-#define __NR_remap_file_pages 257
-#define __NR_set_tid_address 258
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.type wsym,@function; \
-.weak wsym; \
-wsym: ; \
-.type sym,@function; \
-.global sym; \
-sym: \
- movb $__NR_##name,%al; \
- jmp __unified_syscall; \
-.Lend##sym: ; \
-.size sym,.Lend##sym-sym
-
-#define syscall(name,sym) \
-.text; \
-.type sym,@function; \
-.global sym; \
-sym: \
-.ifle __NR_##name-255; \
- movb $__NR_##name,%al; \
- jmp __unified_syscall; \
-.else; \
- movw $__NR_##name,%ax; \
- jmp __unified_syscall_256; \
-.endif; \
-.Lend##sym: ; \
-.size sym,.Lend##sym-sym
-
-#ifndef __PIC__
-#define __socketcall(name,NAME) \
-.text; \
-.type name,@function; \
-.weak name; \
-name: ; \
-.global __libc_##name; \
-__libc_##name: ; \
- movb $SYS_##NAME,%al; \
- jmp socketcall; \
-.Lend##name:; \
-.size name,.Lend##name-name
-#else
-#define __socketcall(name,NAME)
-#endif
diff --git a/mdk-stage1/dietlibc/i386/tan.S b/mdk-stage1/dietlibc/i386/tan.S
deleted file mode 100644
index 4904c2d59..000000000
--- a/mdk-stage1/dietlibc/i386/tan.S
+++ /dev/null
@@ -1,12 +0,0 @@
-
-.text
-.type tan,@function
-.global tan
-tan:
- fldl 4(%esp)
- fsincos
- fdivrp
- ret
-
-.Lende:
-.size tan,.Lende-tan
diff --git a/mdk-stage1/dietlibc/i386/tanh.S b/mdk-stage1/dietlibc/i386/tanh.S
deleted file mode 100644
index 61d3f3376..000000000
--- a/mdk-stage1/dietlibc/i386/tanh.S
+++ /dev/null
@@ -1,32 +0,0 @@
-
-.text
-.type tanh,@function
-.global tanh
-
-tanh: # note: exp(x) = 2^(x*log2(e))
- fldl2e
- fmull 4(%esp) # x*log2(e)
- fld %st(0) # x*log2(e) x*log2(e)
- frndint # int(x*log2(e)) x*log2(e)
- fxch # x*log2(e) int(x*log2(e))
- fsub %st(1),%st(0) # frac(x*log2(e)) int(x*log2(e))
- f2xm1 # 2^(fract(x*log2(e)))-1 int(x*log2(e))
- fld1 # 1 2^(fract(x*log2(e)))-1 int(x*log2(e))
- faddp %st(0),%st(1) # 2^(fract(x*log2(e))) int(x*log2(e))
- fscale # 2^(x*log2(e)) int(x*log2(e))
- fstp %st(1) # 2^(x*log2(e))
-
-# now we have y = exp(x), but tanh(x) = (y - 1/y) / (y + 1/y)
-
- fld1
- fdiv %st(1),%st(0) # 1/y y
- fld %st(0) # 1/y 1/y y
- fadd %st(2) # y+1/y 1/y y
- fxch %st(2) # y 1/y y+1/y
- fsubp # y-1/y y+1/y
- fdivp # (y-1/y)/(y+1/y)
- ret
-
-.Lende:
-
-.size tanh,.ende-tanh
diff --git a/mdk-stage1/dietlibc/i386/unified.S b/mdk-stage1/dietlibc/i386/unified.S
deleted file mode 100644
index 989bf37b5..000000000
--- a/mdk-stage1/dietlibc/i386/unified.S
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#include <dietfeatures.h>
-
-.text
-.global __unified_syscall_256
-.type __unified_syscall_256,@function
-__unified_syscall_256:
- movzwl %ax,%eax
- jmp .L1
-.L2:
-.size __unified_syscall_256,.L2-__unified_syscall_256
-.weak exit
-exit:
-.global _exit
-.type _exit,@function
-_exit:
- movb $1,%al
-.global __unified_syscall
-.type __unified_syscall,@function
-__unified_syscall:
-.size _exit,__unified_syscall-_exit
- movzbl %al, %eax
-.L1:
- push %edi
- push %esi
- push %ebx
- movl %esp,%edi
- /* we use movl instead of pop because otherwise a signal would
- destroy the stack frame and crash the program, although it
- would save a few bytes. */
- 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
- neg %eax
-#ifdef WANT_THREAD_SAFE
- movl %eax,%ebx
- call __errno_location
- movl %ebx,(%eax)
- orl $-1,%eax
-#else
- mov %eax,errno
- sbb %eax,%eax # eax = eax - eax - CY = -1
-#endif
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
-
- ret
-.L3:
-.size __unified_syscall,.L3-__unified_syscall
diff --git a/mdk-stage1/dietlibc/i386/usleep.S b/mdk-stage1/dietlibc/i386/usleep.S
deleted file mode 100644
index 7c0cc6ce7..000000000
--- a/mdk-stage1/dietlibc/i386/usleep.S
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "PIC.h"
-
-.text
-.global usleep
-.type usleep,@function
-
-usleep:
- movl 4(%esp),%eax
- PIC_SAVE # non-PIC: empty line
- PIC_INIT # non-PIC: empty line
- xorl %edx,%edx
- movl $1000000,%ecx
- divl %ecx
- imull $1000,%edx
- pushl %edx
- pushl %eax
- movl %esp,%eax
- pushl %eax
- pushl %eax
-#ifdef __DYN_LIB
- call nanosleep@PLT
-#else
- call nanosleep
-#endif
- addl $16,%esp
- PIC_RESTORE # non-PIC: empty line
- ret
-
-.Lende:
-.size usleep,.Lende-usleep
-
diff --git a/mdk-stage1/dietlibc/i386/vfork.S b/mdk-stage1/dietlibc/i386/vfork.S
deleted file mode 100644
index c07c5f6af..000000000
--- a/mdk-stage1/dietlibc/i386/vfork.S
+++ /dev/null
@@ -1,9 +0,0 @@
-.text
-.globl vfork
-vfork:
- popl %edx
- xorl %eax,%eax
- movb $190, %al
- int $0x80
- jmpl *%edx
-.size vfork, . - vfork
diff --git a/mdk-stage1/dietlibc/i386/write12.S b/mdk-stage1/dietlibc/i386/write12.S
deleted file mode 100644
index a40f63a86..000000000
--- a/mdk-stage1/dietlibc/i386/write12.S
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "PIC.h"
-
-.text
-
-.global __write1
-.type __write1,@function
-
-.global __write2
-.type __write2,@function
-
- # regparm=1, daher Stringadresse in %eax
-__write2:
- clc # CY = 0
- .byte 0xB2 # zusammen mit nchstem Byte: mov dl,0xF9
-__write1:
- stc # CY = 1
- sbbl %ecx,%ecx # __write2: ecx=0, __write1: ecx=-1
- incl %ecx
- incl %ecx # __write2: ecx=2, __write1: ecx=1
- xorl %edx,%edx
- decl %edx
-.Lnext: incl %edx
- cmpb %ch,(%edx,%eax) # ch=0, da bei beiden Filedescriptoren Bits 15:8 0 sind
- jnz .Lnext # Stringlnge in edx, ohne eax zerstrt zu haben
- PIC_SAVE # non-PIC: empty line
- PIC_INIT # non-PIC: empty line
- pushl %edx
- pushl %eax
- pushl %ecx
-#ifdef __DYN_LIB
- call write@PLT
-#else
- call write # alles ruf uf dn Stack und ab damit
-#endif
- addl $12,%esp # und das leidvolle Putzen
- PIC_RESTORE # non-PIC: empty line
- ret
diff --git a/mdk-stage1/dietlibc/ia64/Makefile.add b/mdk-stage1/dietlibc/ia64/Makefile.add
deleted file mode 100644
index f660930af..000000000
--- a/mdk-stage1/dietlibc/ia64/Makefile.add
+++ /dev/null
@@ -1,2 +0,0 @@
-VPATH:=ia64:syscalls.s:$(VPATH)
-LIBOBJ+=$(OBJDIR)/__time.o $(OBJDIR)/__waitpid.o $(OBJDIR)/__nice.o $(OBJDIR)/__alarm.o
diff --git a/mdk-stage1/dietlibc/ia64/README b/mdk-stage1/dietlibc/ia64/README
deleted file mode 100644
index 684364d93..000000000
--- a/mdk-stage1/dietlibc/ia64/README
+++ /dev/null
@@ -1,4 +0,0 @@
-A Port for IA64.
-
-Does not yet support: clone, FPU and profiling. And includes
-some subtle bugs which will hopefully be fixed later.
diff --git a/mdk-stage1/dietlibc/ia64/__alarm.c b/mdk-stage1/dietlibc/ia64/__alarm.c
deleted file mode 100644
index e2c499f2c..000000000
--- a/mdk-stage1/dietlibc/ia64/__alarm.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "alpha/__alarm.c"
diff --git a/mdk-stage1/dietlibc/ia64/__longjmp.S b/mdk-stage1/dietlibc/ia64/__longjmp.S
deleted file mode 100644
index 698bda528..000000000
--- a/mdk-stage1/dietlibc/ia64/__longjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* No longjmp yet */
diff --git a/mdk-stage1/dietlibc/ia64/__nice.c b/mdk-stage1/dietlibc/ia64/__nice.c
deleted file mode 100644
index 012ea2628..000000000
--- a/mdk-stage1/dietlibc/ia64/__nice.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/resource.h>
-
-int nice(int x) {
- if (setpriority(PRIO_PROCESS,0,x)) return -1;
- return getpriority(PRIO_PROCESS,0);
-}
diff --git a/mdk-stage1/dietlibc/ia64/__testandset.S b/mdk-stage1/dietlibc/ia64/__testandset.S
deleted file mode 100644
index d462e3c58..000000000
--- a/mdk-stage1/dietlibc/ia64/__testandset.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.globl __testandset
-.proc __testandset
-__testandset:
- mov ar.ccv = r0
- mov r29 = 1
- ld8 r3 = [r32]
- cmpxchg8.acq r8 = [r32], r29, ar.ccv /* cmpxchg is atomic */
- br.ret.sptk.clr b0
-.endp __testandset
-.size __testandset, . - __testandset
diff --git a/mdk-stage1/dietlibc/ia64/__time.c b/mdk-stage1/dietlibc/ia64/__time.c
deleted file mode 100644
index 7547acb1d..000000000
--- a/mdk-stage1/dietlibc/ia64/__time.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <time.h>
-#include <sys/time.h>
-
-time_t time(time_t*t) {
- struct timeval tv;
- time_t ret;
- if (gettimeofday(&tv,0)) {
- ret=(time_t)-1;
- } else {
- ret=(time_t)tv.tv_sec;
- }
- if (t) *t=ret;
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/ia64/__waitpid.c b/mdk-stage1/dietlibc/ia64/__waitpid.c
deleted file mode 100644
index 8c228f375..000000000
--- a/mdk-stage1/dietlibc/ia64/__waitpid.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <sys/types.h>
-
-pid_t waitpid(int pid, int * wait_stat, int flags) {
- return wait4(pid, wait_stat, flags, 0);
-}
diff --git a/mdk-stage1/dietlibc/ia64/accept.S b/mdk-stage1/dietlibc/ia64/accept.S
deleted file mode 100644
index 7bdc38c7e..000000000
--- a/mdk-stage1/dietlibc/ia64/accept.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(accept, accept);
diff --git a/mdk-stage1/dietlibc/ia64/bind.S b/mdk-stage1/dietlibc/ia64/bind.S
deleted file mode 100644
index 05849d470..000000000
--- a/mdk-stage1/dietlibc/ia64/bind.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(bind, bind);
diff --git a/mdk-stage1/dietlibc/ia64/clone.S b/mdk-stage1/dietlibc/ia64/clone.S
deleted file mode 100644
index ba768141c..000000000
--- a/mdk-stage1/dietlibc/ia64/clone.S
+++ /dev/null
@@ -1,41 +0,0 @@
-/* This is untested code which probably wont work out of the box! */
-
-#include "syscalls.h"
-#include <errno.h>
-
-.text
-.globl __clone
-.proc __clone
-.weak __clone2
-__clone2:
-__clone:
- mov r8 = EINVAL
- cmp.eq p6,p0=0,r32
-(p6) br.cond.spnt.few __error_unified_syscall
- cmp.eq p6,p0=0,r33
-(p6) br.cond.spnt.few __error_unified_syscall
- flushrs
-
- mov.m r17 = ar.rsc
- mov r14 = r32
- mov r18 = r33
- mov r16 = r36;;
- mov r15 = __NR_clone2
- break 0x100000
- cmp.eq p6,p0=-1,r10
-(p6) br.cond.spnt.few __error_unified_syscall
- cmp.eq p6,p7=0,r8
-(p6) ld8 r34=[r14],8
-(p6) mov.m ar.bspstore=r18
-(p6) mov r32 = r16
- mov.m ar.rsc = r17
-(p7) br.ret.sptk b0
- ld8 r1 = [r14]
- mov b6 = r34
- br.call.dptk.few b0=b6
- mov r32 = r8
- br.call.dptk.few b0=__error_unified_syscall
- br.ret.sptk.few b0
-.endp __clone
-.endp __clone2
-.size __clone, . - __clone
diff --git a/mdk-stage1/dietlibc/ia64/connect.S b/mdk-stage1/dietlibc/ia64/connect.S
deleted file mode 100644
index 5fbd151ae..000000000
--- a/mdk-stage1/dietlibc/ia64/connect.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(connect, connect);
diff --git a/mdk-stage1/dietlibc/ia64/fork.S b/mdk-stage1/dietlibc/ia64/fork.S
deleted file mode 100644
index 3b253a80b..000000000
--- a/mdk-stage1/dietlibc/ia64/fork.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "syscalls.h"
-
-.text
-.globl fork
-fork:
- mov r15 = __NR_clone
- mov r32 = 17
- br __unified_syscall
diff --git a/mdk-stage1/dietlibc/ia64/getpeername.S b/mdk-stage1/dietlibc/ia64/getpeername.S
deleted file mode 100644
index fdaa1038a..000000000
--- a/mdk-stage1/dietlibc/ia64/getpeername.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpeername, getpeername);
diff --git a/mdk-stage1/dietlibc/ia64/getsockname.S b/mdk-stage1/dietlibc/ia64/getsockname.S
deleted file mode 100644
index 1ea0bc000..000000000
--- a/mdk-stage1/dietlibc/ia64/getsockname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockname, getsockname);
diff --git a/mdk-stage1/dietlibc/ia64/getsockopt.S b/mdk-stage1/dietlibc/ia64/getsockopt.S
deleted file mode 100644
index 465c4e08e..000000000
--- a/mdk-stage1/dietlibc/ia64/getsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockopt, getsockopt);
diff --git a/mdk-stage1/dietlibc/ia64/listen.S b/mdk-stage1/dietlibc/ia64/listen.S
deleted file mode 100644
index 66a3fe376..000000000
--- a/mdk-stage1/dietlibc/ia64/listen.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(listen, listen);
diff --git a/mdk-stage1/dietlibc/ia64/mmap.S b/mdk-stage1/dietlibc/ia64/mmap.S
deleted file mode 100644
index cca4bbdbb..000000000
--- a/mdk-stage1/dietlibc/ia64/mmap.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall (mmap, mmap)
diff --git a/mdk-stage1/dietlibc/ia64/msgctl.S b/mdk-stage1/dietlibc/ia64/msgctl.S
deleted file mode 100644
index d7caed2cc..000000000
--- a/mdk-stage1/dietlibc/ia64/msgctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgctl,msgctl)
diff --git a/mdk-stage1/dietlibc/ia64/msgget.S b/mdk-stage1/dietlibc/ia64/msgget.S
deleted file mode 100644
index 518d67ac4..000000000
--- a/mdk-stage1/dietlibc/ia64/msgget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgget,msgget)
diff --git a/mdk-stage1/dietlibc/ia64/msgrcv.S b/mdk-stage1/dietlibc/ia64/msgrcv.S
deleted file mode 100644
index ab62e6c30..000000000
--- a/mdk-stage1/dietlibc/ia64/msgrcv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgrcv,msgrcv)
diff --git a/mdk-stage1/dietlibc/ia64/msgsnd.S b/mdk-stage1/dietlibc/ia64/msgsnd.S
deleted file mode 100644
index 890a996a2..000000000
--- a/mdk-stage1/dietlibc/ia64/msgsnd.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgsnd,msgsnd)
diff --git a/mdk-stage1/dietlibc/ia64/pipe.S b/mdk-stage1/dietlibc/ia64/pipe.S
deleted file mode 100644
index c3bf4570b..000000000
--- a/mdk-stage1/dietlibc/ia64/pipe.S
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "syscalls.h"
-
-.text
-.globl pipe
-.proc pipe
-
-pipe:
- st8 [r12] = r32
- mov r15 = __NR_pipe
- break.i 0x100000
- ld8 r2 = [r12]
- cmp.eq p7,p6=-1,r10
-(p6) st4 [r2] = r8,4
- mov r8 = r0
-(p7) br.cond.spnt.few __error_unified_syscall
-(p6) st4 [r2] = r9
-(p6) br.ret.sptk.few b0
-
-.endp pipe
-.size pipe, . - pipe
diff --git a/mdk-stage1/dietlibc/ia64/recv.S b/mdk-stage1/dietlibc/ia64/recv.S
deleted file mode 100644
index 1f1640390..000000000
--- a/mdk-stage1/dietlibc/ia64/recv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recv, recv);
diff --git a/mdk-stage1/dietlibc/ia64/recvfrom.S b/mdk-stage1/dietlibc/ia64/recvfrom.S
deleted file mode 100644
index d3c2e602f..000000000
--- a/mdk-stage1/dietlibc/ia64/recvfrom.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvfrom, recvfrom);
diff --git a/mdk-stage1/dietlibc/ia64/recvmsg.S b/mdk-stage1/dietlibc/ia64/recvmsg.S
deleted file mode 100644
index cfbbafdc1..000000000
--- a/mdk-stage1/dietlibc/ia64/recvmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvmsg, recvmsg);
diff --git a/mdk-stage1/dietlibc/ia64/semctl.S b/mdk-stage1/dietlibc/ia64/semctl.S
deleted file mode 100644
index e215ed955..000000000
--- a/mdk-stage1/dietlibc/ia64/semctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semctl,semctl)
diff --git a/mdk-stage1/dietlibc/ia64/semget.S b/mdk-stage1/dietlibc/ia64/semget.S
deleted file mode 100644
index 67f488546..000000000
--- a/mdk-stage1/dietlibc/ia64/semget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semget,semget)
diff --git a/mdk-stage1/dietlibc/ia64/semop.S b/mdk-stage1/dietlibc/ia64/semop.S
deleted file mode 100644
index 81b6fc606..000000000
--- a/mdk-stage1/dietlibc/ia64/semop.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semop,semop)
diff --git a/mdk-stage1/dietlibc/ia64/send.S b/mdk-stage1/dietlibc/ia64/send.S
deleted file mode 100644
index 38f47f398..000000000
--- a/mdk-stage1/dietlibc/ia64/send.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(send, send);
diff --git a/mdk-stage1/dietlibc/ia64/sendmsg.S b/mdk-stage1/dietlibc/ia64/sendmsg.S
deleted file mode 100644
index c2bc80f72..000000000
--- a/mdk-stage1/dietlibc/ia64/sendmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendmsg, sendmsg);
diff --git a/mdk-stage1/dietlibc/ia64/sendto.S b/mdk-stage1/dietlibc/ia64/sendto.S
deleted file mode 100644
index 1579a3b45..000000000
--- a/mdk-stage1/dietlibc/ia64/sendto.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendto, sendto);
diff --git a/mdk-stage1/dietlibc/ia64/setjmp.S b/mdk-stage1/dietlibc/ia64/setjmp.S
deleted file mode 100644
index f0f5bc431..000000000
--- a/mdk-stage1/dietlibc/ia64/setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* No, I am not going to save 128 registers */
diff --git a/mdk-stage1/dietlibc/ia64/setsockopt.S b/mdk-stage1/dietlibc/ia64/setsockopt.S
deleted file mode 100644
index 45fcfbb6c..000000000
--- a/mdk-stage1/dietlibc/ia64/setsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setsockopt, setsockopt);
diff --git a/mdk-stage1/dietlibc/ia64/shmat.S b/mdk-stage1/dietlibc/ia64/shmat.S
deleted file mode 100644
index 51248173d..000000000
--- a/mdk-stage1/dietlibc/ia64/shmat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmat,shmat)
diff --git a/mdk-stage1/dietlibc/ia64/shmctl.S b/mdk-stage1/dietlibc/ia64/shmctl.S
deleted file mode 100644
index d56caace4..000000000
--- a/mdk-stage1/dietlibc/ia64/shmctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmctl,shmctl)
diff --git a/mdk-stage1/dietlibc/ia64/shmdt.S b/mdk-stage1/dietlibc/ia64/shmdt.S
deleted file mode 100644
index d9812a799..000000000
--- a/mdk-stage1/dietlibc/ia64/shmdt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmdt,shmdt)
diff --git a/mdk-stage1/dietlibc/ia64/shmget.S b/mdk-stage1/dietlibc/ia64/shmget.S
deleted file mode 100644
index 82914223f..000000000
--- a/mdk-stage1/dietlibc/ia64/shmget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmget,shmget)
diff --git a/mdk-stage1/dietlibc/ia64/shutdown.S b/mdk-stage1/dietlibc/ia64/shutdown.S
deleted file mode 100644
index 024e99e18..000000000
--- a/mdk-stage1/dietlibc/ia64/shutdown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shutdown, shutdown);
diff --git a/mdk-stage1/dietlibc/ia64/socket.S b/mdk-stage1/dietlibc/ia64/socket.S
deleted file mode 100644
index cc453881f..000000000
--- a/mdk-stage1/dietlibc/ia64/socket.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socket, socket);
diff --git a/mdk-stage1/dietlibc/ia64/socketpair.S b/mdk-stage1/dietlibc/ia64/socketpair.S
deleted file mode 100644
index d92eaa4d8..000000000
--- a/mdk-stage1/dietlibc/ia64/socketpair.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socketpair, socketpair);
diff --git a/mdk-stage1/dietlibc/ia64/start.S b/mdk-stage1/dietlibc/ia64/start.S
deleted file mode 100644
index dbacb25f6..000000000
--- a/mdk-stage1/dietlibc/ia64/start.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- This file is part of the IA64-Port of the dietlibc
-
- start.S
- Implemenation of the _start startup function
-*/
-
-.psr abi64
-.psr lsb
-.lsb
-
-.text
-.globl _start
-.proc _start
-
-_start:
- alloc r2 = ar.pfs,0,0,7,0
- adds out1 = 16, sp /* base arguments */
- movl gp = @gprel(0f) /* base offset */
- ;;
-0:
- ld8 out0 = [out1], 8 /* load argc and set argv */
- mov r9 = ip
- ;;
- shladd out2=out0,3,out1 /* envp = argv+8*argc */
- sub gp = r9, gp /* subtract program counter */
- ;;
- addl r15 = @ltoff(environ#), gp /* offset to environ */
- adds out2 = 8, out2 /* envp += 8 */
- ;;
- ld8 r14 = [r15]
- ;;
- st8 [r14] = out2 /* store envp in environ */
- br.call.sptk.few rp = main /* call main */
- ;;
- mov r32 = r8 /* store return code */
- br _exit /* branch to _exit */
-.endp _start
-.size _start, . - _start
diff --git a/mdk-stage1/dietlibc/ia64/syscalls.h b/mdk-stage1/dietlibc/ia64/syscalls.h
deleted file mode 100644
index 65eda0ed2..000000000
--- a/mdk-stage1/dietlibc/ia64/syscalls.h
+++ /dev/null
@@ -1,242 +0,0 @@
-#ifndef __DLIBC_SYSCALL_H_
-#define __DLIBC_SYSCALL_H_
-
-#define __NR_ni_syscall 1024
-#define __NR_exit 1025
-#define __NR_read 1026
-#define __NR_write 1027
-#define __NR_open 1028
-#define __NR_close 1029
-#define __NR_creat 1030
-#define __NR_link 1031
-#define __NR_unlink 1032
-#define __NR_execve 1033
-#define __NR_chdir 1034
-#define __NR_fchdir 1035
-#define __NR_utimes 1036
-#define __NR_mknod 1037
-#define __NR_chmod 1038
-#define __NR_chown 1039
-#define __NR_lseek 1040
-#define __NR_getpid 1041
-#define __NR_getppid 1042
-#define __NR_mount 1043
-#define __NR_umount 1044
-#define __NR_setuid 1045
-#define __NR_getuid 1046
-#define __NR_geteuid 1047
-#define __NR_ptrace 1048
-#define __NR_access 1049
-#define __NR_sync 1050
-#define __NR_fsync 1051
-#define __NR_fdatasync 1052
-#define __NR_kill 1053
-#define __NR_rename 1054
-#define __NR_mkdir 1055
-#define __NR_rmdir 1056
-#define __NR_dup 1057
-#define __NR_pipe 1058
-#define __NR_times 1059
-#define __NR_brk 1060
-#define __NR_setgid 1061
-#define __NR_getgid 1062
-#define __NR_getegid 1063
-#define __NR_acct 1064
-#define __NR_ioctl 1065
-#define __NR_fcntl 1066
-#define __NR_umask 1067
-#define __NR_chroot 1068
-#define __NR_ustat 1069
-#define __NR_dup2 1070
-#define __NR_setreuid 1071
-#define __NR_setregid 1072
-#define __NR_getresuid 1073
-#define __NR_setresuid 1074
-#define __NR_getresgid 1075
-#define __NR_setresgid 1076
-#define __NR_getgroups 1077
-#define __NR_setgroups 1078
-#define __NR_getpgid 1079
-#define __NR_setpgid 1080
-#define __NR_setsid 1081
-#define __NR_getsid 1082
-#define __NR_sethostname 1083
-#define __NR_setrlimit 1084
-#define __NR_getrlimit 1085
-#define __NR_getrusage 1086
-#define __NR_gettimeofday 1087
-#define __NR_settimeofday 1088
-#define __NR_select 1089
-#define __NR_poll 1090
-#define __NR_symlink 1091
-#define __NR_readlink 1092
-#define __NR_uselib 1093
-#define __NR_swapon 1094
-#define __NR_swapoff 1095
-#define __NR_reboot 1096
-#define __NR_truncate 1097
-#define __NR_ftruncate 1098
-#define __NR_fchmod 1099
-#define __NR_fchown 1100
-#define __NR_getpriority 1101
-#define __NR_setpriority 1102
-#define __NR_statfs 1103
-#define __NR_fstatfs 1104
-#define __NR_gettid 1105
-#define __NR_semget 1106
-#define __NR_semop 1107
-#define __NR_semctl 1108
-#define __NR_msgget 1109
-#define __NR_msgsnd 1110
-#define __NR_msgrcv 1111
-#define __NR_msgctl 1112
-#define __NR_shmget 1113
-#define __NR_shmat 1114
-#define __NR_shmdt 1115
-#define __NR_shmctl 1116
-#define __NR_syslog 1117
-#define __NR_setitimer 1118
-#define __NR_getitimer 1119
-#define __NR_old_stat 1120
-#define __NR_old_lstat 1121
-#define __NR_old_fstat 1122
-#define __NR_vhangup 1123
-#define __NR_lchown 1124
-#define __NR_vm86 1125
-#define __NR_wait4 1126
-#define __NR_sysinfo 1127
-#define __NR_clone 1128
-#define __NR_setdomainname 1129
-#define __NR_uname 1130
-#define __NR_adjtimex 1131
-#define __NR_create_module 1132
-#define __NR_init_module 1133
-#define __NR_delete_module 1134
-#define __NR_get_kernel_syms 1135
-#define __NR_query_module 1136
-#define __NR_quotactl 1137
-#define __NR_bdflush 1138
-#define __NR_sysfs 1139
-#define __NR_personality 1140
-#define __NR_afs_syscall 1141
-#define __NR_setfsuid 1142
-#define __NR_setfsgid 1143
-#define __NR_getdents 1144
-#define __NR_flock 1145
-#define __NR_readv 1146
-#define __NR_writev 1147
-#define __NR_pread 1148
-#define __NR_pwrite 1149
-#define __NR__sysctl 1150
-#define __NR_mmap 1151
-#define __NR_munmap 1152
-#define __NR_mlock 1153
-#define __NR_mlockall 1154
-#define __NR_mprotect 1155
-#define __NR_mremap 1156
-#define __NR_msync 1157
-#define __NR_munlock 1158
-#define __NR_munlockall 1159
-#define __NR_sched_getparam 1160
-#define __NR_sched_setparam 1161
-#define __NR_sched_getscheduler 1162
-#define __NR_sched_setscheduler 1163
-#define __NR_sched_yield 1164
-#define __NR_sched_get_priority_max 1165
-#define __NR_sched_get_priority_min 1166
-#define __NR_sched_rr_get_interval 1167
-#define __NR_nanosleep 1168
-#define __NR_nfsservctl 1169
-#define __NR_prctl 1170
-#define __NR_mmap2 1172
-#define __NR_pciconfig_read 1173
-#define __NR_pciconfig_write 1174
-#define __NR_perfmonctl 1175
-#define __NR_sigaltstack 1176
-#define __NR_rt_sigaction 1177
-#define __NR_rt_sigpending 1178
-#define __NR_rt_sigprocmask 1179
-#define __NR_rt_sigqueueinfo 1180
-#define __NR_rt_sigreturn 1181
-#define __NR_rt_sigsuspend 1182
-#define __NR_rt_sigtimedwait 1183
-#define __NR_getcwd 1184
-#define __NR_capget 1185
-#define __NR_capset 1186
-#define __NR_sendfile 1187
-#define __NR_getpmsg 1188
-#define __NR_putpmsg 1189
-#define __NR_socket 1190
-#define __NR_bind 1191
-#define __NR_connect 1192
-#define __NR_listen 1193
-#define __NR_accept 1194
-#define __NR_getsockname 1195
-#define __NR_getpeername 1196
-#define __NR_socketpair 1197
-#define __NR_send 1198
-#define __NR_sendto 1199
-#define __NR_recv 1200
-#define __NR_recvfrom 1201
-#define __NR_shutdown 1202
-#define __NR_setsockopt 1203
-#define __NR_getsockopt 1204
-#define __NR_sendmsg 1205
-#define __NR_recvmsg 1206
-#define __NR_pivot_root 1207
-#define __NR_mincore 1208
-#define __NR_madvise 1209
-#define __NR_stat 1210
-#define __NR_lstat 1211
-#define __NR_fstat 1212
-#define __NR_clone2 1213
-#define __NR_getdents64 1214
-#define __NR_getunwind 1215
-#define __NR_readahead 1216
-#define __NR_setxattr 1217
-#define __NR_lsetxattr 1218
-#define __NR_fsetxattr 1219
-#define __NR_getxattr 1220
-#define __NR_lgetxattr 1221
-#define __NR_fgetxattr 1222
-#define __NR_listxattr 1223
-#define __NR_llistxattr 1224
-#define __NR_flistxattr 1225
-#define __NR_removexattr 1226
-#define __NR_lremovexattr 1227
-#define __NR_fremovexattr 1228
-#define __NR_tkill 1229
-#define __NR_futex 1230
-#define __NR_sched_setaffinity 1231
-#define __NR_sched_getaffinity 1232
-#define __NR_security 1233
-#define __NR_alloc_hugepages 1234
-#define __NR_free_hugepages 1235
-#define __NR_exit_group 1236
-#define __NR_lookup_dcookie 1237
-#define __NR_io_setup 1238
-#define __NR_io_destroy 1239
-#define __NR_io_getevents 1240
-#define __NR_io_submit 1241
-#define __NR_io_cancel 1242
-#define __NR_epoll_create 1243
-#define __NR_epoll_ctl 1244
-#define __NR_epoll_wait 1245
-
-#define syscall(name, sym) \
-.text; \
-.globl sym; \
-sym: \
- mov r15 = __NR_##name; \
- br __unified_syscall;
-
-#define syscall_weak(name, sym, wsym) \
-.text; \
-.weak wsym; \
-wsym: \
-.globl sym; \
-sym: \
- mov r15 = __NR_##name; \
- br __unified_syscall;
-
-#endif
diff --git a/mdk-stage1/dietlibc/ia64/unified.S b/mdk-stage1/dietlibc/ia64/unified.S
deleted file mode 100644
index 998fba75e..000000000
--- a/mdk-stage1/dietlibc/ia64/unified.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- This file is part of the ia64-Port of dietlibc
-
- unified.S
- General system-call interface
-*/
-
-.lsb
-
-.text
-
-.globl __unified_syscall
-.proc __unified_syscall
-.globl __error_unified_syscall
-.proc __error_unified_syscall
-.globl _exit
-.proc _exit
-
-_exit:
- mov r15 = 1025
-.endp _exit
-.size _exit, . - _exit
-
-__unified_syscall:
- break.i 0x100000
- movl r2=errno
- cmp.eq p6,p0=-1,r10
- ;;
-__error_unified_syscall:
-(p6) st4 [r2]=r8
-(p6) mov r8=-1
-
-#include "dietuglyweaks.h"
-
- br.ret.sptk.few rp
-
-.endp __unified_syscall
-.endp __error_unified_syscall
-.size __unified_syscall, __error_unified_syscall - __unified_syscall
-.size __error_unified_syscall, . - __error_unified_syscall
diff --git a/mdk-stage1/dietlibc/ia64/utime.S b/mdk-stage1/dietlibc/ia64/utime.S
deleted file mode 100644
index a9a8aada6..000000000
--- a/mdk-stage1/dietlibc/ia64/utime.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(utimes,utime)
diff --git a/mdk-stage1/dietlibc/ia64/vfork.S b/mdk-stage1/dietlibc/ia64/vfork.S
deleted file mode 100644
index e59f04364..000000000
--- a/mdk-stage1/dietlibc/ia64/vfork.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "syscalls.h"
-
-.text
-.globl vfork
-vfork:
- mov r15 = __NR_clone
- mov r32 = 16657
- br __unified_syscall
diff --git a/mdk-stage1/dietlibc/include/alloca.h b/mdk-stage1/dietlibc/include/alloca.h
deleted file mode 100644
index 41f92354f..000000000
--- a/mdk-stage1/dietlibc/include/alloca.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _ALLOCA_H
-#define _ALLOCA_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#ifdef __GNUC__
-#define alloca(x) __builtin_alloca(x)
-#else
-void *alloca(size_t size) __THROW;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/arpa/inet.h b/mdk-stage1/dietlibc/include/arpa/inet.h
deleted file mode 100644
index bb278d399..000000000
--- a/mdk-stage1/dietlibc/include/arpa/inet.h
+++ /dev/null
@@ -1,20 +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;
-char *inet_ntoa_r(struct in_addr in,char* buf) __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 9327006b0..000000000
--- a/mdk-stage1/dietlibc/include/arpa/nameser.h
+++ /dev/null
@@ -1,253 +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;
-
-/*
- * Currently defined opcodes.
- */
-typedef enum __ns_opcode {
- ns_o_query = 0, /* Standard query. */
- ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */
- ns_o_status = 2, /* Name server status query (unsupported). */
- /* Opcode 3 is undefined/reserved. */
- ns_o_notify = 4, /* Zone change notification. */
- ns_o_update = 5, /* Zone update message. */
- ns_o_max = 6
-} ns_opcode;
-
-/*
- * Currently defined response codes.
- */
-typedef enum __ns_rcode {
- ns_r_noerror = 0, /* No error occurred. */
- ns_r_formerr = 1, /* Format error. */
- ns_r_servfail = 2, /* Server failure. */
- ns_r_nxdomain = 3, /* Name error. */
- ns_r_notimpl = 4, /* Unimplemented. */
- ns_r_refused = 5, /* Operation refused. */
- /* these are for BIND_UPDATE */
- ns_r_yxdomain = 6, /* Name exists */
- ns_r_yxrrset = 7, /* RRset exists */
- ns_r_nxrrset = 8, /* RRset does not exist */
- ns_r_notauth = 9, /* Not authoritative for zone */
- ns_r_notzone = 10, /* Zone of record different from zone section */
- ns_r_max = 11,
- /* The following are TSIG extended errors */
- ns_r_badsig = 16,
- ns_r_badkey = 17,
- ns_r_badtime = 18
-} ns_rcode;
-
-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/asm/alpha-sigcontext.h b/mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h
deleted file mode 100644
index 13faab0b5..000000000
--- a/mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h
+++ /dev/null
@@ -1,29 +0,0 @@
-struct sigcontext {
- /*
- * What should we have here? I'd probably better use the same
- * stack layout as OSF/1, just in case we ever want to try
- * running their binaries..
- *
- * This is the basic layout, but I don't know if we'll ever
- * actually fill in all the values..
- */
- long sc_onstack;
- long sc_mask;
- long sc_pc;
- long sc_ps;
- long sc_regs[32];
- long sc_ownedfp;
- long sc_fpregs[32];
- unsigned long sc_fpcr;
- unsigned long sc_fp_control;
- unsigned long sc_reserved1, sc_reserved2;
- unsigned long sc_ssize;
- char * sc_sbase;
- unsigned long sc_traparg_a0;
- unsigned long sc_traparg_a1;
- unsigned long sc_traparg_a2;
- unsigned long sc_fp_trap_pc;
- unsigned long sc_fp_trigger_sum;
- unsigned long sc_fp_trigger_inst;
-};
-
diff --git a/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h b/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h
deleted file mode 100644
index 26fa04e64..000000000
--- a/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#define PC(ctx) (ctx.arm_pc)
-
-/*
- * Signal context structure - contains all info to do with the state
- * before the signal handler was invoked. Note: only add new entries
- * to the end of the structure.
- */
-struct sigcontext {
- unsigned long trap_no;
- unsigned long error_code;
- unsigned long oldmask;
- unsigned long arm_r0;
- unsigned long arm_r1;
- unsigned long arm_r2;
- unsigned long arm_r3;
- unsigned long arm_r4;
- unsigned long arm_r5;
- unsigned long arm_r6;
- unsigned long arm_r7;
- unsigned long arm_r8;
- unsigned long arm_r9;
- unsigned long arm_r10;
- unsigned long arm_fp;
- unsigned long arm_ip;
- unsigned long arm_sp;
- unsigned long arm_lr;
- unsigned long arm_pc;
- unsigned long arm_cpsr;
- unsigned long fault_address;
-};
-
diff --git a/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h b/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h
deleted file mode 100644
index e830b9b97..000000000
--- a/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h
+++ /dev/null
@@ -1,66 +0,0 @@
-
-struct _fpreg {
- unsigned short significand[4];
- unsigned short exponent;
-};
-
-struct _fpxreg {
- unsigned short significand[4];
- unsigned short exponent;
- unsigned short padding[3];
-};
-
-struct _xmmreg {
- unsigned long element[4];
-};
-
-struct _fpstate {
- /* Regular FPU environment */
- unsigned long cw;
- unsigned long sw;
- unsigned long tag;
- unsigned long ipoff;
- unsigned long cssel;
- unsigned long dataoff;
- unsigned long datasel;
- struct _fpreg _st[8];
- unsigned short status;
- unsigned short magic; /* 0xffff = regular FPU data only */
-
- /* FXSR FPU environment */
- unsigned long _fxsr_env[6]; /* FXSR FPU env is ignored */
- unsigned long mxcsr;
- unsigned long reserved;
- struct _fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */
- struct _xmmreg _xmm[8];
- unsigned long padding[56];
-};
-
-#define X86_FXSR_MAGIC 0x0000
-#define PC(ctx) (ctx.eip)
-
-struct sigcontext {
- unsigned short gs, __gsh;
- unsigned short fs, __fsh;
- unsigned short es, __esh;
- unsigned short ds, __dsh;
- unsigned long edi;
- unsigned long esi;
- unsigned long ebp;
- unsigned long esp;
- unsigned long ebx;
- unsigned long edx;
- unsigned long ecx;
- unsigned long eax;
- unsigned long trapno;
- unsigned long err;
- unsigned long eip;
- unsigned short cs, __csh;
- unsigned long eflags;
- unsigned long esp_at_signal;
- unsigned short ss, __ssh;
- struct _fpstate * fpstate;
- unsigned long oldmask;
- unsigned long cr2;
-};
-
diff --git a/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h b/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h
deleted file mode 100644
index ebab3c8f4..000000000
--- a/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <sys/ptrace.h>
-
-#define PC(ctx) (ctx.sc_ip)
-
-struct sigcontext {
- unsigned long sc_flags;
- unsigned long sc_nat;
- stack_t sc_stack;
- unsigned long sc_ip;
- unsigned long sc_cfm;
- unsigned long sc_um;
- unsigned long sc_ar_rsc;
- unsigned long sc_ar_bsp;
- unsigned long sc_ar_rnat;
- unsigned long sc_ar_ccv;
- unsigned long sc_ar_unat;
- unsigned long sc_ar_fpsr;
- unsigned long sc_ar_pfs;
- unsigned long sc_ar_lc;
- unsigned long sc_pr;
- unsigned long sc_br[8];
- unsigned long sc_gr[32];
- struct ia64_fpreg sc_fr[128];
- sigset_t sc_mask;
-};
diff --git a/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h b/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h
deleted file mode 100644
index 1210abf31..000000000
--- a/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h
+++ /dev/null
@@ -1,23 +0,0 @@
-
-/*
- * Keep this struct definition in sync with the sigcontext fragment
- * in arch/mips/tools/offset.c
- */
-struct sigcontext {
- unsigned int sc_regmask; /* Unused */
- unsigned int sc_status;
- unsigned long long sc_pc;
- unsigned long long sc_regs[32];
- unsigned long long sc_fpregs[32]; /* Unused */
- unsigned int sc_ownedfp;
- unsigned int sc_fpc_csr; /* Unused */
- unsigned int sc_fpc_eir; /* Unused */
- unsigned int sc_ssflags; /* Unused */
- unsigned long long sc_mdhi;
- unsigned long long sc_mdlo;
-
- unsigned int sc_cause; /* Unused */
- unsigned int sc_badvaddr; /* Unused */
-
- unsigned long sc_sigset[4]; /* kernel's sigset_t */
-};
diff --git a/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h
deleted file mode 100644
index 9428dd3e5..000000000
--- a/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#define PARISC_SC_FLAG_ONSTACK 1<<0
-#define PARISC_SC_FLAG_IN_SYSCALL 1<<1
-
-/* We will add more stuff here as it becomes necessary, until we know
- it works. */
-struct sigcontext {
- unsigned long sc_flags;
-
- unsigned long sc_gr[32]; /* PSW in sc_gr[0] */
- unsigned long long sc_fr[32]; /* FIXME, do we need other state info? */
- unsigned long sc_iasq[2];
- unsigned long sc_iaoq[2];
- unsigned long sc_sar; /* cr11 */
-};
-
diff --git a/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h
deleted file mode 100644
index 1d9704f3a..000000000
--- a/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h
+++ /dev/null
@@ -1,76 +0,0 @@
-
-struct pt_regs {
- unsigned long gpr[32];
- unsigned long nip;
- unsigned long msr;
- unsigned long orig_gpr3; /* Used for restarting system calls */
- unsigned long ctr;
- unsigned long link;
- unsigned long xer;
- unsigned long ccr;
- unsigned long mq; /* 601 only (not used at present) */
- /* Used on APUS to hold IPL value. */
- unsigned long trap; /* Reason for being here */
- unsigned long dar; /* Fault registers */
- unsigned long dsisr;
- unsigned long result; /* Result of a system call */
-};
-
-/*
- * Offsets used by 'ptrace' system call interface.
- * These can't be changed without breaking binary compatibility
- * with MkLinux, etc.
- */
-#define PT_R0 0
-#define PT_R1 1
-#define PT_R2 2
-#define PT_R3 3
-#define PT_R4 4
-#define PT_R5 5
-#define PT_R6 6
-#define PT_R7 7
-#define PT_R8 8
-#define PT_R9 9
-#define PT_R10 10
-#define PT_R11 11
-#define PT_R12 12
-#define PT_R13 13
-#define PT_R14 14
-#define PT_R15 15
-#define PT_R16 16
-#define PT_R17 17
-#define PT_R18 18
-#define PT_R19 19
-#define PT_R20 20
-#define PT_R21 21
-#define PT_R22 22
-#define PT_R23 23
-#define PT_R24 24
-#define PT_R25 25
-#define PT_R26 26
-#define PT_R27 27
-#define PT_R28 28
-#define PT_R29 29
-#define PT_R30 30
-#define PT_R31 31
-
-#define PT_NIP 32
-#define PT_MSR 33
-#define PT_CTR 35
-#define PT_LNK 36
-#define PT_XER 37
-#define PT_CCR 38
-#define PT_MQ 39
-
-#define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */
-#define PT_FPR31 (PT_FPR0 + 2*31)
-#define PT_FPSCR (PT_FPR0 + 2*32 + 1)
-
-#define sigcontext_struct sigcontext
-struct sigcontext {
- unsigned long _unused[4];
- int signal;
- unsigned long handler;
- unsigned long oldmask;
- struct pt_regs *regs;
-};
diff --git a/mdk-stage1/dietlibc/include/asm/sigcontext.h b/mdk-stage1/dietlibc/include/asm/sigcontext.h
deleted file mode 100644
index c4a720cc0..000000000
--- a/mdk-stage1/dietlibc/include/asm/sigcontext.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _ASM_SIGCONTEXT_H
-#define _ASM_SIGCONTEXT_H
-
-#if defined(__i386__) || defined(__x86_64__)
-#include <asm/i386-sigcontext.h>
-#endif
-
-#ifdef __sparc__
-#include <asm/sparc-sigcontext.h>
-#endif
-
-#ifdef __mips__
-#include <asm/mips-sigcontext.h>
-#endif
-
-#ifdef __powerpc__
-#include <asm/ppc-sigcontext.h>
-#endif
-
-#ifdef __alpha__
-#include <asm/alpha-sigcontext.h>
-#endif
-
-#ifdef __arm__
-#include <asm/arm-sigcontext.h>
-#endif
-
-#ifdef __hppa__
-#include <asm/parisc-sigcontext.h>
-#endif
-
-#ifdef __ia64__
-#include <asm/ia64-sigcontext.h>
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h
deleted file mode 100644
index 98e4e09ce..000000000
--- a/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#define __SUNOS_MAXWIN 31
-
-/* This is what SunOS does, so shall I. */
-struct sigcontext {
- int sigc_onstack; /* state to restore */
- int sigc_mask; /* sigmask to restore */
- int sigc_sp; /* stack pointer */
- int sigc_pc; /* program counter */
- int sigc_npc; /* next program counter */
- int sigc_psr; /* for condition codes etc */
- int sigc_g1; /* User uses these two registers */
- int sigc_o0; /* within the trampoline code. */
-
- /* Now comes information regarding the users window set
- * at the time of the signal.
- */
- int sigc_oswins; /* outstanding windows */
-
- /* stack ptrs for each regwin buf */
- char *sigc_spbuf[__SUNOS_MAXWIN];
-
- /* Windows to restore after signal */
- struct {
- unsigned long locals[8];
- unsigned long ins[8];
- } sigc_wbuf[__SUNOS_MAXWIN];
-};
-
-typedef struct {
- struct {
- unsigned long psr;
- unsigned long pc;
- unsigned long npc;
- unsigned long y;
- unsigned long u_regs[16]; /* globals and ins */
- } si_regs;
- int si_mask;
-} __siginfo_t;
-
-typedef struct {
- unsigned long si_float_regs [32];
- unsigned long si_fsr;
- unsigned long si_fpqdepth;
- struct {
- unsigned long *insn_addr;
- unsigned long insn;
- } si_fpqueue [16];
-} __siginfo_fpu_t;
-
diff --git a/mdk-stage1/dietlibc/include/asm/statfs.h b/mdk-stage1/dietlibc/include/asm/statfs.h
deleted file mode 100644
index 53b3b5e4d..000000000
--- a/mdk-stage1/dietlibc/include/asm/statfs.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/vfs.h>
diff --git a/mdk-stage1/dietlibc/include/asm/types.h b/mdk-stage1/dietlibc/include/asm/types.h
deleted file mode 100644
index aafa80f16..000000000
--- a/mdk-stage1/dietlibc/include/asm/types.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _ASM_TYPES_H
-#define _ASM_TYPES_H
-
-#include <sys/types.h>
-
-#ifdef __alpha__
-typedef unsigned int umode_t;
-#else
-typedef unsigned short umode_t;
-#endif
-
-typedef uint8_t __u8;
-typedef uint16_t __u16;
-typedef uint32_t __u32;
-#ifndef __STRICT_ANSI__
-typedef uint64_t __u64;
-#endif
-
-typedef int8_t __s8;
-typedef int16_t __s16;
-typedef int32_t __s32;
-#ifndef __STRICT_ANSI__
-typedef int64_t __s64;
-#endif
-
-#if defined(__alpha__)
-typedef unsigned long __kernel_size_t;
-#else
-typedef unsigned int __kernel_size_t;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/assert.h b/mdk-stage1/dietlibc/include/assert.h
deleted file mode 100644
index a8ce3ce87..000000000
--- a/mdk-stage1/dietlibc/include/assert.h
+++ /dev/null
@@ -1,38 +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
-# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
-# define __ASSERT_FUNCTION __func__
-# else
-# define __ASSERT_FUNCTION ((const char *) 0)
-# endif
-#endif
-
-#undef assert
-#ifdef NDEBUG
-#define assert(expr)
-#else
-#ifdef expect
-# define assert(expr) \
- ((void) (expect((long)(expr),0) ? 0 : \
- (__assert_fail (#expr, \
- __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
-#else
-# define assert(expr) \
- ((void) ((expr) ? 0 : \
- (__assert_fail (#expr, \
- __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
-#endif
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/cpio.h b/mdk-stage1/dietlibc/include/cpio.h
deleted file mode 100644
index a18c2fbb6..000000000
--- a/mdk-stage1/dietlibc/include/cpio.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _CPIO_H_
-#define _CPIO_H_
-
-#define C_IRUSR 0000400
-#define C_IWUSR 0000200
-#define C_IXUSR 0000100
-#define C_IRGRP 0000040
-#define C_IWGRP 0000020
-#define C_IXGRP 0000010
-#define C_IROTH 0000004
-#define C_IWOTH 0000002
-#define C_IXOTH 0000001
-#define C_ISUID 0004000
-#define C_ISGID 0002000
-#define C_ISVTX 0001000
-#define C_ISDIR 0040000
-#define C_ISFIFO 0010000
-#define C_ISREG 0100000
-#define C_ISBLK 0060000
-#define C_ISCHR 0020000
-#define C_ISCTG 0110000
-#define C_ISLNK 0120000
-#define C_ISSOCK 0140000
-
-#define MAGIC "070707"
-
-#endif /* _CPIO_H_ */
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 e2413d42b..000000000
--- a/mdk-stage1/dietlibc/include/daemon.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _DAEMON_H
-#define _DAEMON_H
-
-#include <unistd.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/dietref.h b/mdk-stage1/dietlibc/include/dietref.h
deleted file mode 100644
index 99d446300..000000000
--- a/mdk-stage1/dietlibc/include/dietref.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* diet includes this file to create linker dependencies on the diet
- * libc, so trying to link an object file compiled with diet against
- * glibc will fail. */
-
-#ifndef NODIETREF
-#include <endian.h>
-#ifdef __ASSEMBLER__
-.section .note
-#if (__WORDSIZE == 64)
-.quad __you_tried_to_link_a_dietlibc_object_against_glibc
-#else
-.long __you_tried_to_link_a_dietlibc_object_against_glibc
-#endif
-.previous
-#else
-#if (__WORDSIZE == 64)
-__asm__ (".section .note\n\t.quad __you_tried_to_link_a_dietlibc_object_against_glibc\n\t.previous");
-#else
-__asm__ (".section .note\n\t.long __you_tried_to_link_a_dietlibc_object_against_glibc\n\t.previous");
-#endif
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/include/dirent.h b/mdk-stage1/dietlibc/include/dirent.h
deleted file mode 100644
index ad8b3a41a..000000000
--- a/mdk-stage1/dietlibc/include/dirent.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _DIRENT_H
-#define _DIRENT_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <limits.h>
-
-struct dirent {
- long d_ino;
- off_t d_off;
- unsigned short d_reclen;
- char d_name[256]; /* We must not include limits.h! */
-};
-
-#ifndef __STRICT_ANSI__
-struct dirent64 {
- uint64_t d_ino;
- int64_t d_off;
- unsigned short d_reclen;
- unsigned char d_type;
- char d_name[256];
-};
-#endif
-
-#define d_fileno d_ino /* Backwards compatibility. */
-
-#undef _DIRENT_HAVE_D_NAMLEN
-#define _DIRENT_HAVE_D_RECLEN
-#define _DIRENT_HAVE_D_OFF
-
-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;
-
-int scandir(const char *dir, struct dirent ***namelist,
- int (*selection)(const struct dirent *),
- int (*compar)(const struct dirent **, const struct dirent **)) __THROW;
-int scandir64(const char *dir, struct dirent64 ***namelist,
- int (*selection)(const struct dirent64 *),
- int (*compar)(const struct dirent64 **, const struct dirent64 **)) __THROW;
-
-int alphasort(const struct dirent **a, const struct dirent **b) __THROW __attribute__((const));
-int alphasort64(const struct dirent64 **a, const struct dirent64 **b) __THROW __attribute__((const));
-
-#define MAXNAMLEN NAME_MAX
-
-#ifdef _BSD_SOURCE
-extern int dirfd(DIR *dirp) __THROW;
-#endif
-
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define dirent dirent64
-#define readdir readdir64
-#define scandir scandir64
-#define alphasort alphasort64
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/dlfcn.h b/mdk-stage1/dietlibc/include/dlfcn.h
deleted file mode 100644
index 0ddcafdba..000000000
--- a/mdk-stage1/dietlibc/include/dlfcn.h
+++ /dev/null
@@ -1,18 +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
-
-#define RTLD_DEFAULT ((void*)1)
-#define RTLD_NEXT ((void*)2)
-
-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 7b198bad3..000000000
--- a/mdk-stage1/dietlibc/include/elf.h
+++ /dev/null
@@ -1,780 +0,0 @@
-#ifndef _ELF_H
-#define _ELF_H
-
-#include <inttypes.h>
-
-/* 32-bit ELF base types. */
-typedef uint32_t Elf32_Addr;
-typedef uint16_t Elf32_Half;
-typedef uint32_t Elf32_Off;
-typedef int32_t Elf32_Sword;
-typedef uint32_t Elf32_Word;
-
-/* 64-bit ELF base types. */
-typedef uint64_t Elf64_Addr;
-typedef uint16_t Elf64_Half;
-typedef int16_t Elf64_SHalf;
-typedef uint64_t Elf64_Off;
-typedef int32_t Elf64_Sword;
-typedef uint32_t Elf64_Word;
-typedef uint64_t Elf64_Xword;
-typedef int64_t Elf64_Sxword;
-
-/* These constants are for the segment types stored in the image headers */
-#define PT_NULL 0
-#define PT_LOAD 1
-#define PT_DYNAMIC 2
-#define PT_INTERP 3
-#define PT_NOTE 4
-#define PT_SHLIB 5
-#define PT_PHDR 6
-#define PT_LOPROC 0x70000000
-#define PT_HIPROC 0x7fffffff
-#define PT_MIPS_REGINFO 0x70000000
-
-/* Flags in the e_flags field of the header */
-#define EF_MIPS_NOREORDER 0x00000001
-#define EF_MIPS_PIC 0x00000002
-#define EF_MIPS_CPIC 0x00000004
-#define EF_MIPS_ARCH 0xf0000000
-
-/* These constants define the different elf file types */
-#define ET_NONE 0
-#define ET_REL 1
-#define ET_EXEC 2
-#define ET_DYN 3
-#define ET_CORE 4
-#define ET_LOPROC 0xff00
-#define ET_HIPROC 0xffff
-
-/* These constants define the various ELF target machines */
-#define EM_NONE 0
-#define EM_M32 1
-#define EM_SPARC 2
-#define EM_386 3
-#define EM_68K 4
-#define EM_88K 5
-#define EM_486 6 /* Perhaps disused */
-#define EM_860 7
-
-#define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */
-#define EM_MIPS_RS4_BE 10 /* MIPS R4000 big-endian */
-
-#define EM_PARISC 15 /* HPPA */
-#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */
-#define EM_PPC 20 /* PowerPC */
-#define EM_S390 22 /* IBM S/390 */
-
-#define EM_ARM 40 /* ARM */
-#define EM_SH 42 /* SuperH */
-#define EM_SPARCV9 43 /* SPARC v9 64-bit */
-#define EM_IA_64 50 /* HP/Intel IA-64 */
-#define EM_X86_64 62 /* AMD x86-64 */
-#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */
-
-/*
- * This is an interim value that we will use until the committee comes
- * up with a final number.
- */
-#define EM_ALPHA 0x9026
-
-/*
- * This is the old interim value for S/390 architecture
- */
-#define EM_S390_OLD 0xA390
-
-/* This is the info that is needed to parse the dynamic section of the file */
-#define DT_NULL 0
-#define DT_NEEDED 1
-#define DT_PLTRELSZ 2
-#define DT_PLTGOT 3
-#define DT_HASH 4
-#define DT_STRTAB 5
-#define DT_SYMTAB 6
-#define DT_RELA 7
-#define DT_RELASZ 8
-#define DT_RELAENT 9
-#define DT_STRSZ 10
-#define DT_SYMENT 11
-#define DT_INIT 12
-#define DT_FINI 13
-#define DT_SONAME 14
-#define DT_RPATH 15
-#define DT_SYMBOLIC 16
-#define DT_REL 17
-#define DT_RELSZ 18
-#define DT_RELENT 19
-#define DT_PLTREL 20
-#define DT_DEBUG 21
-#define DT_TEXTREL 22
-#define DT_JMPREL 23
-#define DT_NUM 24
-#define DT_LOPROC 0x70000000
-#define DT_HIPROC 0x7fffffff
-#define DT_MIPS_RLD_VERSION 0x70000001
-#define DT_MIPS_TIME_STAMP 0x70000002
-#define DT_MIPS_ICHECKSUM 0x70000003
-#define DT_MIPS_IVERSION 0x70000004
-#define DT_MIPS_FLAGS 0x70000005
- #define RHF_NONE 0
- #define RHF_HARDWAY 1
- #define RHF_NOTPOT 2
-#define DT_MIPS_BASE_ADDRESS 0x70000006
-#define DT_MIPS_CONFLICT 0x70000008
-#define DT_MIPS_LIBLIST 0x70000009
-#define DT_MIPS_LOCAL_GOTNO 0x7000000a
-#define DT_MIPS_CONFLICTNO 0x7000000b
-#define DT_MIPS_LIBLISTNO 0x70000010
-#define DT_MIPS_SYMTABNO 0x70000011
-#define DT_MIPS_UNREFEXTNO 0x70000012
-#define DT_MIPS_GOTSYM 0x70000013
-#define DT_MIPS_HIPAGENO 0x70000014
-#define DT_MIPS_RLD_MAP 0x70000016
-
-/* This info is needed when parsing the symbol table */
-#define STB_LOCAL 0
-#define STB_GLOBAL 1
-#define STB_WEAK 2
-
-#define STT_NOTYPE 0
-#define STT_OBJECT 1
-#define STT_FUNC 2
-#define STT_SECTION 3
-#define STT_FILE 4
-
-#define ELF32_ST_BIND(x) ((x) >> 4)
-#define ELF32_ST_TYPE(x) (((unsigned int) x) & 0xf)
-
-#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
-#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
-
-/* Symbolic values for the entries in the auxiliary table
- put on the initial stack */
-#define AT_NULL 0 /* end of vector */
-#define AT_IGNORE 1 /* entry should be ignored */
-#define AT_EXECFD 2 /* file descriptor of program */
-#define AT_PHDR 3 /* program headers for program */
-#define AT_PHENT 4 /* size of program header entry */
-#define AT_PHNUM 5 /* number of program headers */
-#define AT_PAGESZ 6 /* system page size */
-#define AT_BASE 7 /* base address of interpreter */
-#define AT_FLAGS 8 /* flags */
-#define AT_ENTRY 9 /* entry point of program */
-#define AT_NOTELF 10 /* program is not ELF */
-#define AT_UID 11 /* real uid */
-#define AT_EUID 12 /* effective uid */
-#define AT_GID 13 /* real gid */
-#define AT_EGID 14 /* effective gid */
-#define AT_PLATFORM 15 /* string identifying CPU for optimizations */
-#define AT_HWCAP 16 /* arch dependent hints at CPU capabilities */
-#define AT_CLKTCK 17 /* frequency at which times() increments */
-
-typedef struct dynamic{
- Elf32_Sword d_tag;
- union{
- Elf32_Sword d_val;
- Elf32_Addr d_ptr;
- } d_un;
-} Elf32_Dyn;
-
-typedef struct {
- Elf64_Sxword d_tag; /* entry tag value */
- union {
- Elf64_Xword d_val;
- Elf64_Addr d_ptr;
- } d_un;
-} Elf64_Dyn;
-
-/* The following are used with relocations */
-#define ELF32_R_SYM(x) ((x) >> 8)
-#define ELF32_R_TYPE(x) ((x) & 0xff)
-
-#define ELF64_R_SYM(x) ((x) >> 32)
-#define ELF64_R_TYPE(x) ((x) & 0xffffffff)
-
-#define R_386_NONE 0
-#define R_386_32 1
-#define R_386_PC32 2
-#define R_386_GOT32 3
-#define R_386_PLT32 4
-#define R_386_COPY 5
-#define R_386_GLOB_DAT 6
-#define R_386_JMP_SLOT 7
-#define R_386_RELATIVE 8
-#define R_386_GOTOFF 9
-#define R_386_GOTPC 10
-#define R_386_NUM 11
-
-#define R_MIPS_NONE 0
-#define R_MIPS_16 1
-#define R_MIPS_32 2
-#define R_MIPS_REL32 3
-#define R_MIPS_26 4
-#define R_MIPS_HI16 5
-#define R_MIPS_LO16 6
-#define R_MIPS_GPREL16 7
-#define R_MIPS_LITERAL 8
-#define R_MIPS_GOT16 9
-#define R_MIPS_PC16 10
-#define R_MIPS_CALL16 11
-#define R_MIPS_GPREL32 12
-/* The remaining relocs are defined on Irix, although they are not
- in the MIPS ELF ABI. */
-#define R_MIPS_UNUSED1 13
-#define R_MIPS_UNUSED2 14
-#define R_MIPS_UNUSED3 15
-#define R_MIPS_SHIFT5 16
-#define R_MIPS_SHIFT6 17
-#define R_MIPS_64 18
-#define R_MIPS_GOT_DISP 19
-#define R_MIPS_GOT_PAGE 20
-#define R_MIPS_GOT_OFST 21
-/*
- * The following two relocation types are specified in the MIPS ABI
- * conformance guide version 1.2 but not yet in the psABI.
- */
-#define R_MIPS_GOTHI16 22
-#define R_MIPS_GOTLO16 23
-#define R_MIPS_SUB 24
-#define R_MIPS_INSERT_A 25
-#define R_MIPS_INSERT_B 26
-#define R_MIPS_DELETE 27
-#define R_MIPS_HIGHER 28
-#define R_MIPS_HIGHEST 29
-/*
- * The following two relocation types are specified in the MIPS ABI
- * conformance guide version 1.2 but not yet in the psABI.
- */
-#define R_MIPS_CALLHI16 30
-#define R_MIPS_CALLLO16 31
-/*
- * This range is reserved for vendor specific relocations.
- */
-#define R_MIPS_LOVENDOR 100
-#define R_MIPS_HIVENDOR 127
-
-
-/*
- * Sparc ELF relocation types
- */
-#define R_SPARC_NONE 0
-#define R_SPARC_8 1
-#define R_SPARC_16 2
-#define R_SPARC_32 3
-#define R_SPARC_DISP8 4
-#define R_SPARC_DISP16 5
-#define R_SPARC_DISP32 6
-#define R_SPARC_WDISP30 7
-#define R_SPARC_WDISP22 8
-#define R_SPARC_HI22 9
-#define R_SPARC_22 10
-#define R_SPARC_13 11
-#define R_SPARC_LO10 12
-#define R_SPARC_GOT10 13
-#define R_SPARC_GOT13 14
-#define R_SPARC_GOT22 15
-#define R_SPARC_PC10 16
-#define R_SPARC_PC22 17
-#define R_SPARC_WPLT30 18
-#define R_SPARC_COPY 19
-#define R_SPARC_GLOB_DAT 20
-#define R_SPARC_JMP_SLOT 21
-#define R_SPARC_RELATIVE 22
-#define R_SPARC_UA32 23
-#define R_SPARC_PLT32 24
-#define R_SPARC_HIPLT22 25
-#define R_SPARC_LOPLT10 26
-#define R_SPARC_PCPLT32 27
-#define R_SPARC_PCPLT22 28
-#define R_SPARC_PCPLT10 29
-#define R_SPARC_10 30
-#define R_SPARC_11 31
-#define R_SPARC_WDISP16 40
-#define R_SPARC_WDISP19 41
-#define R_SPARC_7 43
-#define R_SPARC_5 44
-#define R_SPARC_6 45
-
-/* Bits present in AT_HWCAP, primarily for Sparc32. */
-
-#define HWCAP_SPARC_FLUSH 1 /* CPU supports flush instruction. */
-#define HWCAP_SPARC_STBAR 2
-#define HWCAP_SPARC_SWAP 4
-#define HWCAP_SPARC_MULDIV 8
-#define HWCAP_SPARC_V9 16
-#define HWCAP_SPARC_ULTRA3 32
-
-/*
- * 68k ELF relocation types
- */
-#define R_68K_NONE 0
-#define R_68K_32 1
-#define R_68K_16 2
-#define R_68K_8 3
-#define R_68K_PC32 4
-#define R_68K_PC16 5
-#define R_68K_PC8 6
-#define R_68K_GOT32 7
-#define R_68K_GOT16 8
-#define R_68K_GOT8 9
-#define R_68K_GOT32O 10
-#define R_68K_GOT16O 11
-#define R_68K_GOT8O 12
-#define R_68K_PLT32 13
-#define R_68K_PLT16 14
-#define R_68K_PLT8 15
-#define R_68K_PLT32O 16
-#define R_68K_PLT16O 17
-#define R_68K_PLT8O 18
-#define R_68K_COPY 19
-#define R_68K_GLOB_DAT 20
-#define R_68K_JMP_SLOT 21
-#define R_68K_RELATIVE 22
-
-/*
- * Alpha ELF relocation types
- */
-#define R_ALPHA_NONE 0 /* No reloc */
-#define R_ALPHA_REFLONG 1 /* Direct 32 bit */
-#define R_ALPHA_REFQUAD 2 /* Direct 64 bit */
-#define R_ALPHA_GPREL32 3 /* GP relative 32 bit */
-#define R_ALPHA_LITERAL 4 /* GP relative 16 bit w/optimization */
-#define R_ALPHA_LITUSE 5 /* Optimization hint for LITERAL */
-#define R_ALPHA_GPDISP 6 /* Add displacement to GP */
-#define R_ALPHA_BRADDR 7 /* PC+4 relative 23 bit shifted */
-#define R_ALPHA_HINT 8 /* PC+4 relative 16 bit shifted */
-#define R_ALPHA_SREL16 9 /* PC relative 16 bit */
-#define R_ALPHA_SREL32 10 /* PC relative 32 bit */
-#define R_ALPHA_SREL64 11 /* PC relative 64 bit */
-#define R_ALPHA_OP_PUSH 12 /* OP stack push */
-#define R_ALPHA_OP_STORE 13 /* OP stack pop and store */
-#define R_ALPHA_OP_PSUB 14 /* OP stack subtract */
-#define R_ALPHA_OP_PRSHIFT 15 /* OP stack right shift */
-#define R_ALPHA_GPVALUE 16
-#define R_ALPHA_GPRELHIGH 17
-#define R_ALPHA_GPRELLOW 18
-#define R_ALPHA_IMMED_GP_16 19
-#define R_ALPHA_IMMED_GP_HI32 20
-#define R_ALPHA_IMMED_SCN_HI32 21
-#define R_ALPHA_IMMED_BR_HI32 22
-#define R_ALPHA_IMMED_LO32 23
-#define R_ALPHA_COPY 24 /* Copy symbol at runtime */
-#define R_ALPHA_GLOB_DAT 25 /* Create GOT entry */
-#define R_ALPHA_JMP_SLOT 26 /* Create PLT entry */
-#define R_ALPHA_RELATIVE 27 /* Adjust by program base */
-
-/* Legal values for e_flags field of Elf64_Ehdr. */
-
-#define EF_ALPHA_32BIT 1 /* All addresses are below 2GB */
-
-/*
- * PowerPC
- */
-
-/* Values for Elf32/64_Ehdr.e_flags. */
-#define EF_PPC_EMB 0x80000000 /* PowerPC embedded flag */
-
-/* Cygnus local bits below */
-#define EF_PPC_RELOCATABLE 0x00010000 /* PowerPC -mrelocatable flag*/
-#define EF_PPC_RELOCATABLE_LIB 0x00008000 /* PowerPC -mrelocatable-lib flag */
-
-/* PowerPC relocations defined by the ABIs */
-#define R_PPC_NONE 0
-#define R_PPC_ADDR32 1 /* 32bit absolute address */
-#define R_PPC_ADDR24 2 /* 26bit address, 2 bits ignored. */
-#define R_PPC_ADDR16 3 /* 16bit absolute address */
-#define R_PPC_ADDR16_LO 4 /* lower 16bit of absolute address */
-#define R_PPC_ADDR16_HI 5 /* high 16bit of absolute address */
-#define R_PPC_ADDR16_HA 6 /* adjusted high 16bit */
-#define R_PPC_ADDR14 7 /* 16bit address, 2 bits ignored */
-#define R_PPC_ADDR14_BRTAKEN 8
-#define R_PPC_ADDR14_BRNTAKEN 9
-#define R_PPC_REL24 10 /* PC relative 26 bit */
-#define R_PPC_REL14 11 /* PC relative 16 bit */
-#define R_PPC_REL14_BRTAKEN 12
-#define R_PPC_REL14_BRNTAKEN 13
-#define R_PPC_GOT16 14
-#define R_PPC_GOT16_LO 15
-#define R_PPC_GOT16_HI 16
-#define R_PPC_GOT16_HA 17
-#define R_PPC_PLTREL24 18
-#define R_PPC_COPY 19
-#define R_PPC_GLOB_DAT 20
-#define R_PPC_JMP_SLOT 21
-#define R_PPC_RELATIVE 22
-#define R_PPC_LOCAL24PC 23
-#define R_PPC_UADDR32 24
-#define R_PPC_UADDR16 25
-#define R_PPC_REL32 26
-#define R_PPC_PLT32 27
-#define R_PPC_PLTREL32 28
-#define R_PPC_PLT16_LO 29
-#define R_PPC_PLT16_HI 30
-#define R_PPC_PLT16_HA 31
-#define R_PPC_SDAREL16 32
-#define R_PPC_SECTOFF 33
-#define R_PPC_SECTOFF_LO 34
-#define R_PPC_SECTOFF_HI 35
-#define R_PPC_SECTOFF_HA 36
-/* Keep this the last entry. */
-#define R_PPC_NUM 37
-
-/* The remaining relocs are from the Embedded ELF ABI, and are not
- in the SVR4 ELF ABI. */
-#define R_PPC_EMB_NADDR32 101
-#define R_PPC_EMB_NADDR16 102
-#define R_PPC_EMB_NADDR16_LO 103
-#define R_PPC_EMB_NADDR16_HI 104
-#define R_PPC_EMB_NADDR16_HA 105
-#define R_PPC_EMB_SDAI16 106
-#define R_PPC_EMB_SDA2I16 107
-#define R_PPC_EMB_SDA2REL 108
-#define R_PPC_EMB_SDA21 109 /* 16 bit offset in SDA */
-#define R_PPC_EMB_MRKREF 110
-#define R_PPC_EMB_RELSEC16 111
-#define R_PPC_EMB_RELST_LO 112
-#define R_PPC_EMB_RELST_HI 113
-#define R_PPC_EMB_RELST_HA 114
-#define R_PPC_EMB_BIT_FLD 115
-#define R_PPC_EMB_RELSDA 116 /* 16 bit relative offset in SDA */
-
-/* Diab tool relocations. */
-#define R_PPC_DIAB_SDA21_LO 180 /* like EMB_SDA21, but lower 16 bit */
-#define R_PPC_DIAB_SDA21_HI 181 /* like EMB_SDA21, but high 16 bit */
-#define R_PPC_DIAB_SDA21_HA 182 /* like EMB_SDA21, adjusted high 16 */
-#define R_PPC_DIAB_RELSDA_LO 183 /* like EMB_RELSDA, but lower 16 bit */
-#define R_PPC_DIAB_RELSDA_HI 184 /* like EMB_RELSDA, but high 16 bit */
-#define R_PPC_DIAB_RELSDA_HA 185 /* like EMB_RELSDA, adjusted high 16 */
-
-/* This is a phony reloc to handle any old fashioned TOC16 references
- that may still be in object files. */
-#define R_PPC_TOC16 255
-
-/*
- * ARM ELF relocation types
- */
-#define R_ARM_NONE 0 /* No reloc */
-#define R_ARM_PC24 1 /* PC relative 26 bit branch */
-#define R_ARM_ABS32 2 /* Direct 32 bit */
-#define R_ARM_REL32 3 /* PC relative 32 bit */
-#define R_ARM_PC13 4
-#define R_ARM_ABS16 5 /* Direct 16 bit */
-#define R_ARM_ABS12 6 /* Direct 12 bit */
-#define R_ARM_THM_ABS5 7
-#define R_ARM_ABS8 8 /* Direct 8 bit */
-#define R_ARM_SBREL32 9
-#define R_ARM_THM_PC22 10
-#define R_ARM_THM_PC8 11
-#define R_ARM_AMP_VCALL9 12
-#define R_ARM_SWI24 13
-#define R_ARM_THM_SWI8 14
-#define R_ARM_XPC25 15
-#define R_ARM_THM_XPC22 16
-#define R_ARM_COPY 20 /* Copy symbol at runtime */
-#define R_ARM_GLOB_DAT 21 /* Create GOT entry */
-#define R_ARM_JUMP_SLOT 22 /* Create PLT entry */
-#define R_ARM_RELATIVE 23 /* Adjust by program base */
-#define R_ARM_GOTOFF 24 /* 32 bit offset to GOT */
-#define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
-#define R_ARM_GOT32 26 /* 32 bit GOT entry */
-#define R_ARM_PLT32 27 /* 32 bit PLT address */
-#define R_ARM_GNU_VTENTRY 100
-#define R_ARM_GNU_VTINHERIT 101
-#define R_ARM_THM_PC11 102 /* thumb unconditional branch */
-#define R_ARM_THM_PC9 103 /* thumb conditional branch */
-#define R_ARM_RXPC25 249
-#define R_ARM_RSBREL32 250
-#define R_ARM_THM_RPC22 251
-#define R_ARM_RREL32 252
-#define R_ARM_RABS22 253
-#define R_ARM_RPC24 254
-#define R_ARM_RBASE 255
-/* Keep this the last entry. */
-#define R_ARM_NUM 256
-
-/* Processor specific flags for the ELF header e_flags field. */
-#define EF_ARM_RELEXEC 0x01
-#define EF_ARM_HASENTRY 0x02
-#define EF_ARM_INTERWORK 0x04
-#define EF_ARM_APCS_26 0x08
-#define EF_ARM_APCS_FLOAT 0x10
-#define EF_ARM_PIC 0x20
-#define EF_ALIGN8 0x40 /* 8-bit structure alignment is in use */
-#define EF_NEW_ABI 0x80
-#define EF_OLD_ABI 0x100
-
-/* Additional symbol types for Thumb */
-#define STT_ARM_TFUNC 0xd
-
-/* AMD x86-64 relocations. */
-#define R_X86_64_NONE 0 /* No reloc */
-#define R_X86_64_64 1 /* Direct 64 bit */
-#define R_X86_64_PC32 2 /* PC relative 32 bit signed */
-#define R_X86_64_GOT32 3 /* 32 bit GOT entry */
-#define R_X86_64_PLT32 4 /* 32 bit PLT address */
-#define R_X86_64_COPY 5 /* Copy symbol at runtime */
-#define R_X86_64_GLOB_DAT 6 /* Create GOT entry */
-#define R_X86_64_JUMP_SLOT 7 /* Create PLT entry */
-#define R_X86_64_RELATIVE 8 /* Adjust by program base */
-#define R_X86_64_GOTPCREL 9 /* 32 bit signed PC relative
- offset to GOT */
-#define R_X86_64_32 10 /* Direct 32 bit zero extended */
-#define R_X86_64_32S 11 /* Direct 32 bit sign extended */
-#define R_X86_64_16 12 /* Direct 16 bit zero extended */
-#define R_X86_64_PC16 13 /* 16 bit sign extended pc relative */
-#define R_X86_64_8 14 /* Direct 8 bit sign extended */
-#define R_X86_64_PC8 15 /* 8 bit sign extended pc relative */
-#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
-#define R_X86_64_DTPOFF64 17 /* Offset in module's TLS block */
-#define R_X86_64_TPOFF64 18 /* Offset in initial TLS block */
-#define R_X86_64_TLSGD 19 /* 32 bit signed PC relative offset
- to two GOT entries for GD symbol */
-#define R_X86_64_TLSLD 20 /* 32 bit signed PC relative offset
- to two GOT entries for LD symbol */
-#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
-#define R_X86_64_GOTTPOFF 22 /* 32 bit signed PC relative offset
- to GOT entry for IE symbol */
-#define R_X86_64_TPOFF32 23 /* Offset in initial TLS block */
-
-#define R_X86_64_NUM 24
-
-typedef struct elf32_rel {
- Elf32_Addr r_offset;
- Elf32_Word r_info;
-} Elf32_Rel;
-
-typedef struct elf64_rel {
- Elf64_Addr r_offset; /* Location at which to apply the action */
- Elf64_Xword r_info; /* index and type of relocation */
-} Elf64_Rel;
-
-typedef struct elf32_rela{
- Elf32_Addr r_offset;
- Elf32_Word r_info;
- Elf32_Sword r_addend;
-} Elf32_Rela;
-
-typedef struct elf64_rela {
- Elf64_Addr r_offset; /* Location at which to apply the action */
- Elf64_Xword r_info; /* index and type of relocation */
- Elf64_Sxword r_addend; /* Constant addend used to compute value */
-} Elf64_Rela;
-
-typedef struct elf32_sym{
- Elf32_Word st_name;
- Elf32_Addr st_value;
- Elf32_Word st_size;
- unsigned char st_info;
- unsigned char st_other;
- Elf32_Half st_shndx;
-} Elf32_Sym;
-
-typedef struct elf64_sym {
- Elf64_Word st_name; /* Symbol name, index in string tbl */
- unsigned char st_info; /* Type and binding attributes */
- unsigned char st_other; /* No defined meaning, 0 */
- Elf64_Half st_shndx; /* Associated section index */
- Elf64_Addr st_value; /* Value of the symbol */
- Elf64_Xword st_size; /* Associated symbol size */
-} Elf64_Sym;
-
-
-#define EI_NIDENT 16
-
-typedef struct elf32_hdr{
- unsigned char e_ident[EI_NIDENT];
- Elf32_Half e_type;
- Elf32_Half e_machine;
- Elf32_Word e_version;
- Elf32_Addr e_entry; /* Entry point */
- Elf32_Off e_phoff;
- Elf32_Off e_shoff;
- Elf32_Word e_flags;
- Elf32_Half e_ehsize;
- Elf32_Half e_phentsize;
- Elf32_Half e_phnum;
- Elf32_Half e_shentsize;
- Elf32_Half e_shnum;
- Elf32_Half e_shstrndx;
-} Elf32_Ehdr;
-
-typedef struct elf64_hdr {
- unsigned char e_ident[16]; /* ELF "magic number" */
- Elf64_Half e_type;
- Elf64_Half e_machine;
- Elf64_Word e_version;
- Elf64_Addr e_entry; /* Entry point virtual address */
- Elf64_Off e_phoff; /* Program header table file offset */
- Elf64_Off e_shoff; /* Section header table file offset */
- Elf64_Word e_flags;
- Elf64_Half e_ehsize;
- Elf64_Half e_phentsize;
- Elf64_Half e_phnum;
- Elf64_Half e_shentsize;
- Elf64_Half e_shnum;
- Elf64_Half e_shstrndx;
-} Elf64_Ehdr;
-
-/* These constants define the permissions on sections in the program
- header, p_flags. */
-#define PF_R 0x4
-#define PF_W 0x2
-#define PF_X 0x1
-
-typedef struct elf32_phdr{
- Elf32_Word p_type;
- Elf32_Off p_offset;
- Elf32_Addr p_vaddr;
- Elf32_Addr p_paddr;
- Elf32_Word p_filesz;
- Elf32_Word p_memsz;
- Elf32_Word p_flags;
- Elf32_Word p_align;
-} Elf32_Phdr;
-
-typedef struct elf64_phdr {
- Elf64_Word p_type;
- Elf64_Word p_flags;
- Elf64_Off p_offset; /* Segment file offset */
- Elf64_Addr p_vaddr; /* Segment virtual address */
- Elf64_Addr p_paddr; /* Segment physical address */
- Elf64_Xword p_filesz; /* Segment size in file */
- Elf64_Xword p_memsz; /* Segment size in memory */
- Elf64_Xword p_align; /* Segment alignment, file & memory */
-} Elf64_Phdr;
-
-/* sh_type */
-#define SHT_NULL 0
-#define SHT_PROGBITS 1
-#define SHT_SYMTAB 2
-#define SHT_STRTAB 3
-#define SHT_RELA 4
-#define SHT_HASH 5
-#define SHT_DYNAMIC 6
-#define SHT_NOTE 7
-#define SHT_NOBITS 8
-#define SHT_REL 9
-#define SHT_SHLIB 10
-#define SHT_DYNSYM 11
-#define SHT_NUM 12
-#define SHT_LOPROC 0x70000000
-#define SHT_HIPROC 0x7fffffff
-#define SHT_LOUSER 0x80000000
-#define SHT_HIUSER 0xffffffff
-#define SHT_MIPS_LIST 0x70000000
-#define SHT_MIPS_CONFLICT 0x70000002
-#define SHT_MIPS_GPTAB 0x70000003
-#define SHT_MIPS_UCODE 0x70000004
-
-/* sh_flags */
-#define SHF_WRITE 0x1
-#define SHF_ALLOC 0x2
-#define SHF_EXECINSTR 0x4
-#define SHF_MASKPROC 0xf0000000
-#define SHF_MIPS_GPREL 0x10000000
-#define SHF_ALPHA_GPREL 0x10000000
-
-/* special section indexes */
-#define SHN_UNDEF 0
-#define SHN_LORESERVE 0xff00
-#define SHN_LOPROC 0xff00
-#define SHN_HIPROC 0xff1f
-#define SHN_ABS 0xfff1
-#define SHN_COMMON 0xfff2
-#define SHN_HIRESERVE 0xffff
-#define SHN_MIPS_ACCOMON 0xff00
-
-typedef struct {
- Elf32_Word sh_name;
- Elf32_Word sh_type;
- Elf32_Word sh_flags;
- Elf32_Addr sh_addr;
- Elf32_Off sh_offset;
- Elf32_Word sh_size;
- Elf32_Word sh_link;
- Elf32_Word sh_info;
- Elf32_Word sh_addralign;
- Elf32_Word sh_entsize;
-} Elf32_Shdr;
-
-typedef struct elf64_shdr {
- Elf64_Word sh_name; /* Section name, index in string tbl */
- Elf64_Word sh_type; /* Type of section */
- Elf64_Xword sh_flags; /* Miscellaneous section attributes */
- Elf64_Addr sh_addr; /* Section virtual addr at execution */
- Elf64_Off sh_offset; /* Section file offset */
- Elf64_Xword sh_size; /* Size of section in bytes */
- Elf64_Word sh_link; /* Index of another section */
- Elf64_Word sh_info; /* Additional section information */
- Elf64_Xword sh_addralign; /* Section alignment */
- Elf64_Xword sh_entsize; /* Entry size if section holds table */
-} Elf64_Shdr;
-
-#define EI_MAG0 0 /* e_ident[] indexes */
-#define EI_MAG1 1
-#define EI_MAG2 2
-#define EI_MAG3 3
-#define EI_CLASS 4
-#define EI_DATA 5
-#define EI_VERSION 6
-#define EI_PAD 7
-
-#define ELFMAG0 0x7f /* EI_MAG */
-#define ELFMAG1 'E'
-#define ELFMAG2 'L'
-#define ELFMAG3 'F'
-#define ELFMAG "\177ELF"
-#define SELFMAG 4
-
-#define ELFCLASSNONE 0 /* EI_CLASS */
-#define ELFCLASS32 1
-#define ELFCLASS64 2
-#define ELFCLASSNUM 3
-
-#define ELFDATANONE 0 /* e_ident[EI_DATA] */
-#define ELFDATA2LSB 1
-#define ELFDATA2MSB 2
-
-#define EV_NONE 0 /* e_version, EI_VERSION */
-#define EV_CURRENT 1
-#define EV_NUM 2
-
-/* Notes used in ET_CORE */
-#define NT_PRSTATUS 1
-#define NT_PRFPREG 2
-#define NT_PRPSINFO 3
-#define NT_TASKSTRUCT 4
-#define NT_PRFPXREG 20
-
-/* Note header in a PT_NOTE section */
-typedef struct elf32_note {
- Elf32_Word n_namesz; /* Name size */
- Elf32_Word n_descsz; /* Content size */
- Elf32_Word n_type; /* Content type */
-} Elf32_Nhdr;
-
-/* Note header in a PT_NOTE section */
-typedef struct elf64_note {
- Elf64_Word n_namesz; /* Name size */
- Elf64_Word n_descsz; /* Content size */
- Elf64_Word n_type; /* Content type */
-} Elf64_Nhdr;
-
-#if ELF_CLASS == ELFCLASS32
-
-extern Elf32_Dyn _DYNAMIC [];
-#define elfhdr elf32_hdr
-#define elf_phdr elf32_phdr
-#define elf_note elf32_note
-
-#else
-
-extern Elf64_Dyn _DYNAMIC [];
-#define elfhdr elf64_hdr
-#define elf_phdr elf64_phdr
-#define elf_note elf64_note
-
-#endif
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/endian.h b/mdk-stage1/dietlibc/include/endian.h
deleted file mode 100644
index 93b1f2948..000000000
--- a/mdk-stage1/dietlibc/include/endian.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef _ENDIAN_H
-#define _ENDIAN_H
-
-#define __LITTLE_ENDIAN 1234
-#define __BIG_ENDIAN 4321
-
-#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__)
-#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 __hppa__
-/* I hope this is correct...? */
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-
-#ifdef __mips__
-#ifdef __MIPSEB__
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#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
-
-#if defined(__alpha__) || defined(__mips64) || defined(__sparc_v9__) || defined(__x86_64__) || defined(__ia64__)
-#define __WORDSIZE 64
-#endif
-
-#if defined(__sparc__) && (__arch64__)
-#define __WORDSIZE 64
-#endif
-
-#ifndef __WORDSIZE
-#define __WORDSIZE 32
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/errno.h b/mdk-stage1/dietlibc/include/errno.h
deleted file mode 100644
index 12aa394da..000000000
--- a/mdk-stage1/dietlibc/include/errno.h
+++ /dev/null
@@ -1,546 +0,0 @@
-#ifndef _ERRNO_H
-#define _ERRNO_H
-
-#if defined(__alpha__)
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EDEADLK 11 /* Resource deadlock would occur */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-#define EAGAIN 35 /* Try again */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define EINPROGRESS 36 /* Operation now in progress */
-#define EALREADY 37 /* Operation already in progress */
-#define ENOTSOCK 38 /* Socket operation on non-socket */
-#define EDESTADDRREQ 39 /* Destination address required */
-#define EMSGSIZE 40 /* Message too long */
-#define EPROTOTYPE 41 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 42 /* Protocol not available */
-#define EPROTONOSUPPORT 43 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 44 /* Socket type not supported */
-#define EOPNOTSUPP 45 /* Operation not supported on transport endpoint */
-#define ENOTSUP EOPNOTSUPP/* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 46 /* Protocol family not supported */
-#define EAFNOSUPPORT 47 /* Address family not supported by protocol */
-#define EADDRINUSE 48 /* Address already in use */
-#define EADDRNOTAVAIL 49 /* Cannot assign requested address */
-#define ENETDOWN 50 /* Network is down */
-#define ENETUNREACH 51 /* Network is unreachable */
-#define ENETRESET 52 /* Network dropped connection because of reset */
-#define ECONNABORTED 53 /* Software caused connection abort */
-#define ECONNRESET 54 /* Connection reset by peer */
-#define ENOBUFS 55 /* No buffer space available */
-#define EISCONN 56 /* Transport endpoint is already connected */
-#define ENOTCONN 57 /* Transport endpoint is not connected */
-#define ESHUTDOWN 58 /* Cannot send after transport endpoint shutdown */
-#define ETOOMANYREFS 59 /* Too many references: cannot splice */
-#define ETIMEDOUT 60 /* Connection timed out */
-#define ECONNREFUSED 61 /* Connection refused */
-#define ELOOP 62 /* Too many symbolic links encountered */
-#define ENAMETOOLONG 63 /* File name too long */
-#define EHOSTDOWN 64 /* Host is down */
-#define EHOSTUNREACH 65 /* No route to host */
-#define ENOTEMPTY 66 /* Directory not empty */
-#define EUSERS 68 /* Too many users */
-#define EDQUOT 69 /* Quota exceeded */
-#define ESTALE 70 /* Stale NFS file handle */
-#define EREMOTE 71 /* Object is remote */
-#define ENOLCK 77 /* No record locks available */
-#define ENOSYS 78 /* Function not implemented */
-#define ENOMSG 80 /* No message of desired type */
-#define EIDRM 81 /* Identifier removed */
-#define ENOSR 82 /* Out of streams resources */
-#define ETIME 83 /* Timer expired */
-#define EBADMSG 84 /* Not a data message */
-#define EPROTO 85 /* Protocol error */
-#define ENODATA 86 /* No data available */
-#define ENOSTR 87 /* Device not a stream */
-#define ENOPKG 92 /* Package not installed */
-#define EILSEQ 116 /* Illegal byte sequence */
-/* The following are just random noise.. */
-#define ECHRNG 88 /* Channel number out of range */
-#define EL2NSYNC 89 /* Level 2 not synchronized */
-#define EL3HLT 90 /* Level 3 halted */
-#define EL3RST 91 /* Level 3 reset */
-#define ELNRNG 93 /* Link number out of range */
-#define EUNATCH 94 /* Protocol driver not attached */
-#define ENOCSI 95 /* No CSI structure available */
-#define EL2HLT 96 /* Level 2 halted */
-#define EBADE 97 /* Invalid exchange */
-#define EBADR 98 /* Invalid request descriptor */
-#define EXFULL 99 /* Exchange full */
-#define ENOANO 100 /* No anode */
-#define EBADRQC 101 /* Invalid request code */
-#define EBADSLT 102 /* Invalid slot */
-#define EDEADLOCK EDEADLK
-#define EBFONT 104 /* Bad font file format */
-#define ENONET 105 /* Machine is not on the network */
-#define ENOLINK 106 /* Link has been severed */
-#define EADV 107 /* Advertise error */
-#define ESRMNT 108 /* Srmount error */
-#define ECOMM 109 /* Communication error on send */
-#define EMULTIHOP 110 /* Multihop attempted */
-#define EDOTDOT 111 /* RFS specific error */
-#define EOVERFLOW 112 /* Value too large for defined data type */
-#define ENOTUNIQ 113 /* Name not unique on network */
-#define EBADFD 114 /* File descriptor in bad state */
-#define EREMCHG 115 /* Remote address changed */
-#define EUCLEAN 117 /* Structure needs cleaning */
-#define ENOTNAM 118 /* Not a XENIX named type file */
-#define ENAVAIL 119 /* No XENIX semaphores available */
-#define EISNAM 120 /* Is a named type file */
-#define EREMOTEIO 121 /* Remote I/O error */
-#define ELIBACC 122 /* Can not access a needed shared library */
-#define ELIBBAD 123 /* Accessing a corrupted shared library */
-#define ELIBSCN 124 /* .lib section in a.out corrupted */
-#define ELIBMAX 125 /* Attempting to link in too many shared libraries */
-#define ELIBEXEC 126 /* Cannot exec a shared library directly */
-#define ERESTART 127 /* Interrupted system call should be restarted */
-#define ESTRPIPE 128 /* Streams pipe error */
-#define ENOMEDIUM 129 /* No medium found */
-#define EMEDIUMTYPE 130 /* Wrong medium type */
-
-#elif defined(__mips__)
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Try again */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-#define ENOMSG 35 /* No message of desired type */
-#define EIDRM 36 /* Identifier removed */
-#define ECHRNG 37 /* Channel number out of range */
-#define EL2NSYNC 38 /* Level 2 not synchronized */
-#define EL3HLT 39 /* Level 3 halted */
-#define EL3RST 40 /* Level 3 reset */
-#define ELNRNG 41 /* Link number out of range */
-#define EUNATCH 42 /* Protocol driver not attached */
-#define ENOCSI 43 /* No CSI structure available */
-#define EL2HLT 44 /* Level 2 halted */
-#define EDEADLK 45 /* Resource deadlock would occur */
-#define ENOLCK 46 /* No record locks available */
-#define EBADE 50 /* Invalid exchange */
-#define EBADR 51 /* Invalid request descriptor */
-#define EXFULL 52 /* Exchange full */
-#define ENOANO 53 /* No anode */
-#define EBADRQC 54 /* Invalid request code */
-#define EBADSLT 55 /* Invalid slot */
-#define EDEADLOCK 56 /* File locking deadlock error */
-#define EBFONT 59 /* Bad font file format */
-#define ENOSTR 60 /* Device not a stream */
-#define ENODATA 61 /* No data available */
-#define ETIME 62 /* Timer expired */
-#define ENOSR 63 /* Out of streams resources */
-#define ENONET 64 /* Machine is not on the network */
-#define ENOPKG 65 /* Package not installed */
-#define EREMOTE 66 /* Object is remote */
-#define ENOLINK 67 /* Link has been severed */
-#define EADV 68 /* Advertise error */
-#define ESRMNT 69 /* Srmount error */
-#define ECOMM 70 /* Communication error on send */
-#define EPROTO 71 /* Protocol error */
-#define EDOTDOT 73 /* RFS specific error */
-#define EMULTIHOP 74 /* Multihop attempted */
-#define EBADMSG 77 /* Not a data message */
-#define ENAMETOOLONG 78 /* File name too long */
-#define EOVERFLOW 79 /* Value too large for defined data type */
-#define ENOTUNIQ 80 /* Name not unique on network */
-#define EBADFD 81 /* File descriptor in bad state */
-#define EREMCHG 82 /* Remote address changed */
-#define ELIBACC 83 /* Can not access a needed shared library */
-#define ELIBBAD 84 /* Accessing a corrupted shared library */
-#define ELIBSCN 85 /* .lib section in a.out corrupted */
-#define ELIBMAX 86 /* Attempting to link in too many shared libraries */
-#define ELIBEXEC 87 /* Cannot exec a shared library directly */
-#define EILSEQ 88 /* Illegal byte sequence */
-#define ENOSYS 89 /* Function not implemented */
-#define ELOOP 90 /* Too many symbolic links encountered */
-#define ERESTART 91 /* Interrupted system call should be restarted */
-#define ESTRPIPE 92 /* Streams pipe error */
-#define ENOTEMPTY 93 /* Directory not empty */
-#define EUSERS 94 /* Too many users */
-#define ENOTSOCK 95 /* Socket operation on non-socket */
-#define EDESTADDRREQ 96 /* Destination address required */
-#define EMSGSIZE 97 /* Message too long */
-#define EPROTOTYPE 98 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 99 /* Protocol not available */
-#define EPROTONOSUPPORT 120 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 121 /* Socket type not supported */
-#define EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
-#define ENOTSUP EOPNOTSUPP/* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 123 /* Protocol family not supported */
-#define EAFNOSUPPORT 124 /* Address family not supported by protocol */
-#define EADDRINUSE 125 /* Address already in use */
-#define EADDRNOTAVAIL 126 /* Cannot assign requested address */
-#define ENETDOWN 127 /* Network is down */
-#define ENETUNREACH 128 /* Network is unreachable */
-#define ENETRESET 129 /* Network dropped connection because of reset */
-#define ECONNABORTED 130 /* Software caused connection abort */
-#define ECONNRESET 131 /* Connection reset by peer */
-#define ENOBUFS 132 /* No buffer space available */
-#define EISCONN 133 /* Transport endpoint is already connected */
-#define ENOTCONN 134 /* Transport endpoint is not connected */
-#define EUCLEAN 135 /* Structure needs cleaning */
-#define ENOTNAM 137 /* Not a XENIX named type file */
-#define ENAVAIL 138 /* No XENIX semaphores available */
-#define EISNAM 139 /* Is a named type file */
-#define EREMOTEIO 140 /* Remote I/O error */
-#define EINIT 141 /* Reserved */
-#define EREMDEV 142 /* Error 142 */
-#define ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
-#define ETOOMANYREFS 144 /* Too many references: cannot splice */
-#define ETIMEDOUT 145 /* Connection timed out */
-#define ECONNREFUSED 146 /* Connection refused */
-#define EHOSTDOWN 147 /* Host is down */
-#define EHOSTUNREACH 148 /* No route to host */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define EALREADY 149 /* Operation already in progress */
-#define EINPROGRESS 150 /* Operation now in progress */
-#define ESTALE 151 /* Stale NFS file handle */
-#define ECANCELED 158 /* AIO operation canceled */
-#define ENOMEDIUM 159 /* No medium found */
-#define EMEDIUMTYPE 160 /* Wrong medium type */
-#define EDQUOT 1133 /* Quota exceeded */
-
-#elif defined(__sparc__)
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Try again */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define EINPROGRESS 36 /* Operation now in progress */
-#define EALREADY 37 /* Operation already in progress */
-#define ENOTSOCK 38 /* Socket operation on non-socket */
-#define EDESTADDRREQ 39 /* Destination address required */
-#define EMSGSIZE 40 /* Message too long */
-#define EPROTOTYPE 41 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 42 /* Protocol not available */
-#define EPROTONOSUPPORT 43 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 44 /* Socket type not supported */
-#define EOPNOTSUPP 45 /* Op not supported on transport endpoint */
-#define ENOTSUP EOPNOTSUPP/* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 46 /* Protocol family not supported */
-#define EAFNOSUPPORT 47 /* Address family not supported by protocol */
-#define EADDRINUSE 48 /* Address already in use */
-#define EADDRNOTAVAIL 49 /* Cannot assign requested address */
-#define ENETDOWN 50 /* Network is down */
-#define ENETUNREACH 51 /* Network is unreachable */
-#define ENETRESET 52 /* Net dropped connection because of reset */
-#define ECONNABORTED 53 /* Software caused connection abort */
-#define ECONNRESET 54 /* Connection reset by peer */
-#define ENOBUFS 55 /* No buffer space available */
-#define EISCONN 56 /* Transport endpoint is already connected */
-#define ENOTCONN 57 /* Transport endpoint is not connected */
-#define ESHUTDOWN 58 /* No send after transport endpoint shutdown */
-#define ETOOMANYREFS 59 /* Too many references: cannot splice */
-#define ETIMEDOUT 60 /* Connection timed out */
-#define ECONNREFUSED 61 /* Connection refused */
-#define ELOOP 62 /* Too many symbolic links encountered */
-#define ENAMETOOLONG 63 /* File name too long */
-#define EHOSTDOWN 64 /* Host is down */
-#define EHOSTUNREACH 65 /* No route to host */
-#define ENOTEMPTY 66 /* Directory not empty */
-#define EPROCLIM 67 /* SUNOS: Too many processes */
-#define EUSERS 68 /* Too many users */
-#define EDQUOT 69 /* Quota exceeded */
-#define ESTALE 70 /* Stale NFS file handle */
-#define EREMOTE 71 /* Object is remote */
-#define ENOSTR 72 /* Device not a stream */
-#define ETIME 73 /* Timer expired */
-#define ENOSR 74 /* Out of streams resources */
-#define ENOMSG 75 /* No message of desired type */
-#define EBADMSG 76 /* Not a data message */
-#define EIDRM 77 /* Identifier removed */
-#define EDEADLK 78 /* Resource deadlock would occur */
-#define ENOLCK 79 /* No record locks available */
-#define ENONET 80 /* Machine is not on the network */
-#define ERREMOTE 81 /* SunOS: Too many lvls of remote in path */
-#define ENOLINK 82 /* Link has been severed */
-#define EADV 83 /* Advertise error */
-#define ESRMNT 84 /* Srmount error */
-#define ECOMM 85 /* Communication error on send */
-#define EPROTO 86 /* Protocol error */
-#define EMULTIHOP 87 /* Multihop attempted */
-#define EDOTDOT 88 /* RFS specific error */
-#define EREMCHG 89 /* Remote address changed */
-#define ENOSYS 90 /* Function not implemented */
-#define ESTRPIPE 91 /* Streams pipe error */
-#define EOVERFLOW 92 /* Value too large for defined data type */
-#define EBADFD 93 /* File descriptor in bad state */
-#define ECHRNG 94 /* Channel number out of range */
-#define EL2NSYNC 95 /* Level 2 not synchronized */
-#define EL3HLT 96 /* Level 3 halted */
-#define EL3RST 97 /* Level 3 reset */
-#define ELNRNG 98 /* Link number out of range */
-#define EUNATCH 99 /* Protocol driver not attached */
-#define ENOCSI 100 /* No CSI structure available */
-#define EL2HLT 101 /* Level 2 halted */
-#define EBADE 102 /* Invalid exchange */
-#define EBADR 103 /* Invalid request descriptor */
-#define EXFULL 104 /* Exchange full */
-#define ENOANO 105 /* No anode */
-#define EBADRQC 106 /* Invalid request code */
-#define EBADSLT 107 /* Invalid slot */
-#define EDEADLOCK 108 /* File locking deadlock error */
-#define EBFONT 109 /* Bad font file format */
-#define ELIBEXEC 110 /* Cannot exec a shared library directly */
-#define ENODATA 111 /* No data available */
-#define ELIBBAD 112 /* Accessing a corrupted shared library */
-#define ENOPKG 113 /* Package not installed */
-#define ELIBACC 114 /* Can not access a needed shared library */
-#define ENOTUNIQ 115 /* Name not unique on network */
-#define ERESTART 116 /* Interrupted syscall should be restarted */
-#define EUCLEAN 117 /* Structure needs cleaning */
-#define ENOTNAM 118 /* Not a XENIX named type file */
-#define ENAVAIL 119 /* No XENIX semaphores available */
-#define EISNAM 120 /* Is a named type file */
-#define EREMOTEIO 121 /* Remote I/O error */
-#define EILSEQ 122 /* Illegal byte sequence */
-#define ELIBMAX 123 /* Atmpt to link in too many shared libs */
-#define ELIBSCN 124 /* .lib section in a.out corrupted */
-#define ENOMEDIUM 125 /* No medium found */
-#define EMEDIUMTYPE 126 /* Wrong medium type */
-
-#else
-
-/* i386, arm, ppc, x86_64, ia64 */
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Try again */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-#define EDEADLK 35 /* Resource deadlock would occur */
-#define ENAMETOOLONG 36 /* File name too long */
-#define ENOLCK 37 /* No record locks available */
-#define ENOSYS 38 /* Function not implemented */
-#define ENOTEMPTY 39 /* Directory not empty */
-#define ELOOP 40 /* Too many symbolic links encountered */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define ENOMSG 42 /* No message of desired type */
-#define EIDRM 43 /* Identifier removed */
-#define ECHRNG 44 /* Channel number out of range */
-#define EL2NSYNC 45 /* Level 2 not synchronized */
-#define EL3HLT 46 /* Level 3 halted */
-#define EL3RST 47 /* Level 3 reset */
-#define ELNRNG 48 /* Link number out of range */
-#define EUNATCH 49 /* Protocol driver not attached */
-#define ENOCSI 50 /* No CSI structure available */
-#define EL2HLT 51 /* Level 2 halted */
-#define EBADE 52 /* Invalid exchange */
-#define EBADR 53 /* Invalid request descriptor */
-#define EXFULL 54 /* Exchange full */
-#define ENOANO 55 /* No anode */
-#define EBADRQC 56 /* Invalid request code */
-#define EBADSLT 57 /* Invalid slot */
-#define EDEADLOCK EDEADLK
-#define EBFONT 59 /* Bad font file format */
-#define ENOSTR 60 /* Device not a stream */
-#define ENODATA 61 /* No data available */
-#define ETIME 62 /* Timer expired */
-#define ENOSR 63 /* Out of streams resources */
-#define ENONET 64 /* Machine is not on the network */
-#define ENOPKG 65 /* Package not installed */
-#define EREMOTE 66 /* Object is remote */
-#define ENOLINK 67 /* Link has been severed */
-#define EADV 68 /* Advertise error */
-#define ESRMNT 69 /* Srmount error */
-#define ECOMM 70 /* Communication error on send */
-#define EPROTO 71 /* Protocol error */
-#define EMULTIHOP 72 /* Multihop attempted */
-#define EDOTDOT 73 /* RFS specific error */
-#define EBADMSG 74 /* Not a data message */
-#define EOVERFLOW 75 /* Value too large for defined data type */
-#define ENOTUNIQ 76 /* Name not unique on network */
-#define EBADFD 77 /* File descriptor in bad state */
-#define EREMCHG 78 /* Remote address changed */
-#define ELIBACC 79 /* Can not access a needed shared library */
-#define ELIBBAD 80 /* Accessing a corrupted shared library */
-#define ELIBSCN 81 /* .lib section in a.out corrupted */
-#define ELIBMAX 82 /* Attempting to link in too many shared libraries */
-#define ELIBEXEC 83 /* Cannot exec a shared library directly */
-#define EILSEQ 84 /* Illegal byte sequence */
-#define ERESTART 85 /* Interrupted system call should be restarted */
-#define ESTRPIPE 86 /* Streams pipe error */
-#define EUSERS 87 /* Too many users */
-#define ENOTSOCK 88 /* Socket operation on non-socket */
-#define EDESTADDRREQ 89 /* Destination address required */
-#define EMSGSIZE 90 /* Message too long */
-#define EPROTOTYPE 91 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 92 /* Protocol not available */
-#define EPROTONOSUPPORT 93 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 94 /* Socket type not supported */
-#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
-#define ENOTSUP EOPNOTSUPP/* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 96 /* Protocol family not supported */
-#define EAFNOSUPPORT 97 /* Address family not supported by protocol */
-#define EADDRINUSE 98 /* Address already in use */
-#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
-#define ENETDOWN 100 /* Network is down */
-#define ENETUNREACH 101 /* Network is unreachable */
-#define ENETRESET 102 /* Network dropped connection because of reset */
-#define ECONNABORTED 103 /* Software caused connection abort */
-#define ECONNRESET 104 /* Connection reset by peer */
-#define ENOBUFS 105 /* No buffer space available */
-#define EISCONN 106 /* Transport endpoint is already connected */
-#define ENOTCONN 107 /* Transport endpoint is not connected */
-#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
-#define ETOOMANYREFS 109 /* Too many references: cannot splice */
-#define ETIMEDOUT 110 /* Connection timed out */
-#define ECONNREFUSED 111 /* Connection refused */
-#define EHOSTDOWN 112 /* Host is down */
-#define EHOSTUNREACH 113 /* No route to host */
-#define EALREADY 114 /* Operation already in progress */
-#define EINPROGRESS 115 /* Operation now in progress */
-#define ESTALE 116 /* Stale NFS file handle */
-#define EUCLEAN 117 /* Structure needs cleaning */
-#define ENOTNAM 118 /* Not a XENIX named type file */
-#define ENAVAIL 119 /* No XENIX semaphores available */
-#define EISNAM 120 /* Is a named type file */
-#define EREMOTEIO 121 /* Remote I/O error */
-#define EDQUOT 122 /* Quota exceeded */
-#define ENOMEDIUM 123 /* No medium found */
-#define EMEDIUMTYPE 124 /* Wrong medium type */
-#endif
-
-#define __SYS_NERR ((EMEDIUMTYPE) + 1)
-
-#ifndef __ASSEMBLER__
-
-#ifndef _REENTRANT
-extern int errno;
-#else
-#define errno (*__errno_location())
-#endif
-
-extern int *__errno_location(void);
-
-#define __set_errno(x) errno=(x)
-
-#ifdef _BSD_SOURCE
-extern const char *const sys_errlist[];
-extern int sys_nerr;
-#endif
-
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/fcntl.h b/mdk-stage1/dietlibc/include/fcntl.h
deleted file mode 100644
index 33f58d82a..000000000
--- a/mdk-stage1/dietlibc/include/fcntl.h
+++ /dev/null
@@ -1,564 +0,0 @@
-#ifndef _FCNTL_H
-#define _FCNTL_H
-
-#include <sys/cdefs.h>
-
-#include <sys/types.h>
-#include <unistd.h>
-
-#define F_LINUX_SPECIFIC_BASE 1024
-
-#if defined(__i386__) || defined(__s390__) || defined(__x86_64__) || defined(__ia64__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-#define O_CREAT 0100 /* not fcntl */
-#define O_EXCL 0200 /* not fcntl */
-#define O_NOCTTY 0400 /* not fcntl */
-#define O_TRUNC 01000 /* not fcntl */
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_NDELAY O_NONBLOCK
-#define O_SYNC 010000
-#define FASYNC 020000 /* fcntl, for BSD compatibility */
-#define O_DIRECT 040000 /* direct disk access hint - currently ignored */
-#define O_LARGEFILE 0100000
-#define O_DIRECTORY 0200000 /* must be a directory */
-#define O_NOFOLLOW 0400000 /* don't follow links */
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 5
-#define F_SETLK 6
-#define F_SETLKW 7
-#define F_SETOWN 8 /* for sockets. */
-#define F_GETOWN 9 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-struct flock64 {
- short l_type;
- short l_whence;
- loff_t l_start;
- loff_t l_len;
- pid_t l_pid;
-};
-
-#elif defined(__alpha__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-#define O_CREAT 01000 /* not fcntl */
-#define O_TRUNC 02000 /* not fcntl */
-#define O_EXCL 04000 /* not fcntl */
-#define O_NOCTTY 010000 /* not fcntl */
-
-#define O_NONBLOCK 00004
-#define O_APPEND 00010
-#define O_NDELAY O_NONBLOCK
-#define O_SYNC 040000
-#define FASYNC 020000 /* fcntl, for BSD compatibility */
-#define O_DIRECT 040000 /* direct disk access - should check with OSF/1 */
-#define O_DIRECTORY 0100000 /* must be a directory */
-#define O_NOFOLLOW 0200000 /* don't follow links */
-#define O_LARGEFILE 0400000 /* will be set by the kernel on every open */
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 7
-#define F_SETLK 8
-#define F_SETLKW 9
-
-#define F_SETOWN 5 /* for sockets. */
-#define F_GETOWN 6 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 1
-#define F_WRLCK 2
-#define F_UNLCK 8
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 16 /* or 3 */
-#define F_SHLCK 32 /* or 4 */
-
-#define F_INPROGRESS 64
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-#elif defined(__mips__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0x0003
-#define O_RDONLY 0x0000
-#define O_WRONLY 0x0001
-#define O_RDWR 0x0002
-#define O_APPEND 0x0008
-#define O_SYNC 0x0010
-#define O_NONBLOCK 0x0080
-#define O_CREAT 0x0100 /* not fcntl */
-#define O_TRUNC 0x0200 /* not fcntl */
-#define O_EXCL 0x0400 /* not fcntl */
-#define O_NOCTTY 0x0800 /* not fcntl */
-#define FASYNC 0x1000 /* fcntl, for BSD compatibility */
-#define O_LARGEFILE 0x2000 /* allow large file opens - currently ignored */
-#define O_DIRECT 0x8000 /* direct disk access hint - currently ignored */
-#define O_DIRECTORY 0x10000 /* must be a directory */
-#define O_NOFOLLOW 0x20000 /* don't follow links */
-
-#define O_NDELAY O_NONBLOCK
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 14
-#define F_SETLK 6
-#define F_SETLKW 7
-
-#define F_SETOWN 24 /* for sockets. */
-#define F_GETOWN 23 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent XXXXXXXXXXXXXXXXXX
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-typedef struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- long l_sysid; /* XXXXXXXXXXXXXXXXXXXXXXXXX */
- pid_t l_pid;
- long pad[4]; /* ZZZZZZZZZZZZZZZZZZZZZZZZZZ */
-} flock_t;
-
-#elif defined(__sparc__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_RDONLY 0x0000
-#define O_WRONLY 0x0001
-#define O_RDWR 0x0002
-#define O_ACCMODE 0x0003
-#define O_APPEND 0x0008
-#define FASYNC 0x0040 /* fcntl, for BSD compatibility */
-#define O_CREAT 0x0200 /* not fcntl */
-#define O_TRUNC 0x0400 /* not fcntl */
-#define O_EXCL 0x0800 /* not fcntl */
-#define O_SYNC 0x2000
-#define O_NONBLOCK 0x4000
-#define O_NDELAY (0x0004 | O_NONBLOCK)
-#define O_NOCTTY 0x8000 /* not fcntl */
-#define O_DIRECTORY 0x10000 /* must be a directory */
-#define O_NOFOLLOW 0x20000 /* don't follow links */
-#define O_LARGEFILE 0x40000
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETOWN 5 /* for sockets. */
-#define F_SETOWN 6 /* for sockets. */
-#define F_GETLK 7
-#define F_SETLK 8
-#define F_SETLKW 9
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 1
-#define F_WRLCK 2
-#define F_UNLCK 3
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
- short __unused;
-};
-
-#ifdef __arch64__
-#define flock64 flock
-#else
-struct flock64 {
- short l_type;
- short l_whence;
- loff_t l_start;
- loff_t l_len;
- pid_t l_pid;
- short __unused;
-};
-#endif
-
-#elif defined(__powerpc__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-#define O_CREAT 0100 /* not fcntl */
-#define O_EXCL 0200 /* not fcntl */
-#define O_NOCTTY 0400 /* not fcntl */
-#define O_TRUNC 01000 /* not fcntl */
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_NDELAY O_NONBLOCK
-#define O_SYNC 010000
-#define FASYNC 020000 /* fcntl, for BSD compatibility */
-#define O_DIRECTORY 040000 /* must be a directory */
-#define O_NOFOLLOW 0100000 /* don't follow links */
-#define O_LARGEFILE 0200000
-#define O_DIRECT 0400000 /* direct disk access hint - currently ignored */
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 5
-#define F_SETLK 6
-#define F_SETLKW 7
-
-#define F_SETOWN 8 /* for sockets. */
-#define F_GETOWN 9 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-struct flock64 {
- short l_type;
- short l_whence;
- loff_t l_start;
- loff_t l_len;
- pid_t l_pid;
-};
-
-#elif defined (__arm__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-#define O_CREAT 0100 /* not fcntl */
-#define O_EXCL 0200 /* not fcntl */
-#define O_NOCTTY 0400 /* not fcntl */
-#define O_TRUNC 01000 /* not fcntl */
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_NDELAY O_NONBLOCK
-#define O_SYNC 010000
-#define FASYNC 020000 /* fcntl, for BSD compatibility */
-#define O_DIRECTORY 040000 /* must be a directory */
-#define O_NOFOLLOW 0100000 /* don't follow links */
-#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
-#define O_LARGEFILE 0400000
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 5
-#define F_SETLK 6
-#define F_SETLKW 7
-
-#define F_SETOWN 8 /* for sockets. */
-#define F_GETOWN 9 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-struct flock64 {
- short l_type;
- short l_whence;
- loff_t l_start;
- loff_t l_len;
- pid_t l_pid;
-};
-
-#elif defined(__hppa__)
-
-/* Copied from bits/fcntl.h */
-
-#define O_RDONLY 00000000
-#define O_WRONLY 00000001
-#define O_RDWR 00000002
-#define O_ACCMODE 00000003
-#define O_APPEND 00000010
-#define O_BLKSEEK 00000100 /* HPUX only */
-#define O_CREAT 00000400 /* not fcntl */
-#define O_TRUNC 00001000 /* not fcntl */
-#define O_EXCL 00002000 /* not fcntl */
-#define O_ASYNC 00020000
-#define O_SYNC 00100000
-#define O_NONBLOCK 00200004 /* HPUX has separate NDELAY & NONBLOCK */
-#define O_NDELAY O_NONBLOCK
-#define O_NOCTTY 00400000 /* not fcntl */
-#define O_DIRECTORY 00010000
-
-#define F_DUPFD 0 /* Duplicate file descriptor. */
-#define F_GETFD 1 /* Get file descriptor flags. */
-#define F_SETFD 2 /* Set file descriptor flags. */
-#define F_GETFL 3 /* Get file status flags. */
-#define F_SETFL 4 /* Set file status flags. */
-#define F_GETLK 5 /* Get record locking info. */
-#define F_SETLK 6 /* Set record locking info (non-blocking). */
-#define F_SETLKW 7 /* Set record locking info (blocking). */
-
-#define F_GETLK64 8 /* Get record locking info. */
-#define F_SETLK64 9 /* Set record locking info (non-blocking). */
-#define F_SETLKW64 10 /* Set record locking info (blocking). */
-
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-#define F_RDLCK 1 /* Read lock. */
-#define F_WRLCK 2 /* Write lock. */
-#define F_UNLCK 3 /* Remove lock. */
-
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-struct flock
-{
- short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
- short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
- off_t l_start; /* Offset where the lock begins. */
- off_t l_len; /* Size of the locked area; zero means until EOF. */
- pid_t l_pid; /* Process holding the lock. */
-};
-
-struct flock64
-{
- short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
- short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
- off64_t l_start; /* Offset where the lock begins. */
- off64_t l_len; /* Size of the locked area; zero means until EOF. */
- pid_t l_pid; /* Process holding the lock. */
-};
-
-#endif
-
-extern int fcntl (int __fd, int __cmd, ...) __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. */
-
-#if !defined(O_ASYNC) && defined(FASYNC)
-#define O_ASYNC FASYNC
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/features.h b/mdk-stage1/dietlibc/include/features.h
deleted file mode 100644
index d2b92d15c..000000000
--- a/mdk-stage1/dietlibc/include/features.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _FEATURES_H
-#define _FEATURES_H
-
-#ifndef __dietlibc__
-#error "not using the diet wrapper?!"
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/float.h b/mdk-stage1/dietlibc/include/float.h
deleted file mode 100644
index 9c9c85a3a..000000000
--- a/mdk-stage1/dietlibc/include/float.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _FLOAT_H
-#define _FLOAT_H
-
-/* blatantly copied from gcc headers for sparc */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-16
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1021)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.2250738585072014e-308
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1024
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.7976931348623157e+308
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 308
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 53
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 15
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 2.2204460492503131e-16L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-1021)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 2.2250738585072014e-308L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 1024
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.7976931348623157e+308L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 308
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/fnmatch.h b/mdk-stage1/dietlibc/include/fnmatch.h
deleted file mode 100644
index 146e700bd..000000000
--- a/mdk-stage1/dietlibc/include/fnmatch.h
+++ /dev/null
@@ -1,17 +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
-
-#define FNM_NOMATCH 1
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/ftw.h b/mdk-stage1/dietlibc/include/ftw.h
deleted file mode 100644
index e0450518e..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 db1592c52..000000000
--- a/mdk-stage1/dietlibc/include/getopt.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __GETOPT_H__
-#define __GETOPT_H__
-
-#include <unistd.h>
-
-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 bc8f779c9..000000000
--- a/mdk-stage1/dietlibc/include/glob.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _GLOB_H
-#define _GLOB_H
-
-#include <sys/cdefs.h>
-#include <sys/types.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 08b153137..000000000
--- a/mdk-stage1/dietlibc/include/grp.h
+++ /dev/null
@@ -1,35 +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;
-
-int getgrent_r(struct group *res, char *buf, size_t buflen,
- struct group **res_sig) __THROW;
-int getgrnam_r(const char* name,
- struct group *res, char *buf, size_t buflen,
- struct group **res_sig) __THROW;
-int getgrgid_r(uid_t uid,
- struct group *res, char *buf, size_t buflen,
- struct group **res_sig) __THROW;
-
-extern int setgroups(size_t n, const gid_t *groups) __THROW;
-extern int setgroups32(size_t n, const gid32_t *groups) __THROW;
-extern int initgroups(const char *user, gid_t group) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/iconv.h b/mdk-stage1/dietlibc/include/iconv.h
deleted file mode 100644
index 1205994ca..000000000
--- a/mdk-stage1/dietlibc/include/iconv.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _ICONV_H
-#define _ICONV_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/* Identifier for conversion method from one codeset to another. */
-typedef unsigned int iconv_t;
-
-/* Allocate descriptor for code conversion from codeset FROMCODE to
- codeset TOCODE. */
-extern iconv_t iconv_open (const char *tocode, const char *fromcode) __THROW;
-
-/* Convert at most *INBYTESLEFT bytes from *INBUF according to the
- code conversion algorithm specified by CD and place up to
- *OUTBYTESLEFT bytes in buffer at *OUTBUF. */
-extern size_t iconv (iconv_t cd, const char** inbuf,
- size_t* inbytesleft,
- char** outbuf,
- size_t* outbytesleft) __THROW;
-
-/* Free resources allocated for descriptor CD for code conversion. */
-extern int iconv_close (iconv_t cd) __THROW;
-
-#endif /* iconv.h */
diff --git a/mdk-stage1/dietlibc/include/inttypes.h b/mdk-stage1/dietlibc/include/inttypes.h
deleted file mode 100644
index 32637f5f7..000000000
--- a/mdk-stage1/dietlibc/include/inttypes.h
+++ /dev/null
@@ -1,247 +0,0 @@
-#ifndef _INTTYPES_H
-#define _INTTYPES_H
-
-#include <sys/cdefs.h>
-#include <endian.h>
-
-# if __WORDSIZE == 64
-# define __PRI64_PREFIX "l"
-# define __PRIPTR_PREFIX "l"
-# else
-# define __PRI64_PREFIX "ll"
-# define __PRIPTR_PREFIX
-# endif
-
-/* Macros for printing format specifiers. */
-
-/* Decimal notation. */
-# define PRId8 "d"
-# define PRId16 "d"
-# define PRId32 "d"
-# define PRId64 __PRI64_PREFIX "d"
-
-# define PRIdLEAST8 "d"
-# define PRIdLEAST16 "d"
-# define PRIdLEAST32 "d"
-# define PRIdLEAST64 __PRI64_PREFIX "d"
-
-# define PRIdFAST8 "d"
-# define PRIdFAST16 "d"
-# define PRIdFAST32 "d"
-# define PRIdFAST64 __PRI64_PREFIX "d"
-
-
-# define PRIi8 "i"
-# define PRIi16 "i"
-# define PRIi32 "i"
-# define PRIi64 __PRI64_PREFIX "i"
-
-# define PRIiLEAST8 "i"
-# define PRIiLEAST16 "i"
-# define PRIiLEAST32 "i"
-# define PRIiLEAST64 __PRI64_PREFIX "i"
-
-# define PRIiFAST8 "i"
-# define PRIiFAST16 "i"
-# define PRIiFAST32 "i"
-# define PRIiFAST64 __PRI64_PREFIX "i"
-
-/* Octal notation. */
-# define PRIo8 "o"
-# define PRIo16 "o"
-# define PRIo32 "o"
-# define PRIo64 __PRI64_PREFIX "o"
-
-# define PRIoLEAST8 "o"
-# define PRIoLEAST16 "o"
-# define PRIoLEAST32 "o"
-# define PRIoLEAST64 __PRI64_PREFIX "o"
-
-# define PRIoFAST8 "o"
-# define PRIoFAST16 "o"
-# define PRIoFAST32 "o"
-# define PRIoFAST64 __PRI64_PREFIX "o"
-
-/* Unsigned integers. */
-# define PRIu8 "u"
-# define PRIu16 "u"
-# define PRIu32 "u"
-# define PRIu64 __PRI64_PREFIX "u"
-
-# define PRIuLEAST8 "u"
-# define PRIuLEAST16 "u"
-# define PRIuLEAST32 "u"
-# define PRIuLEAST64 __PRI64_PREFIX "u"
-
-# define PRIuFAST8 "u"
-# define PRIuFAST16 "u"
-# define PRIuFAST32 "u"
-# define PRIuFAST64 __PRI64_PREFIX "u"
-
-/* lowercase hexadecimal notation. */
-# define PRIx8 "x"
-# define PRIx16 "x"
-# define PRIx32 "x"
-# define PRIx64 __PRI64_PREFIX "x"
-
-# define PRIxLEAST8 "x"
-# define PRIxLEAST16 "x"
-# define PRIxLEAST32 "x"
-# define PRIxLEAST64 __PRI64_PREFIX "x"
-
-# define PRIxFAST8 "x"
-# define PRIxFAST16 "x"
-# define PRIxFAST32 "x"
-# define PRIxFAST64 __PRI64_PREFIX "x"
-
-/* UPPERCASE hexadecimal notation. */
-# define PRIX8 "X"
-# define PRIX16 "X"
-# define PRIX32 "X"
-# define PRIX64 __PRI64_PREFIX "X"
-
-# define PRIXLEAST8 "X"
-# define PRIXLEAST16 "X"
-# define PRIXLEAST32 "X"
-# define PRIXLEAST64 __PRI64_PREFIX "X"
-
-# define PRIXFAST8 "X"
-# define PRIXFAST16 "X"
-# define PRIXFAST32 "X"
-# define PRIXFAST64 __PRI64_PREFIX "X"
-
-
-/* Macros for printing `intmax_t' and `uintmax_t'. */
-# define PRIdMAX __PRI64_PREFIX "d"
-# define PRIiMAX __PRI64_PREFIX "i"
-# define PRIoMAX __PRI64_PREFIX "o"
-# define PRIuMAX __PRI64_PREFIX "u"
-# define PRIxMAX __PRI64_PREFIX "x"
-# define PRIXMAX __PRI64_PREFIX "X"
-
-
-/* Macros for printing `intptr_t' and `uintptr_t'. */
-# define PRIdPTR __PRIPTR_PREFIX "d"
-# define PRIiPTR __PRIPTR_PREFIX "i"
-# define PRIoPTR __PRIPTR_PREFIX "o"
-# define PRIuPTR __PRIPTR_PREFIX "u"
-# define PRIxPTR __PRIPTR_PREFIX "x"
-# define PRIXPTR __PRIPTR_PREFIX "X"
-
-
-/* Macros for scanning format specifiers. */
-
-/* Signed decimal notation. */
-# define SCNd8 "hhd"
-# define SCNd16 "hd"
-# define SCNd32 "d"
-# define SCNd64 __PRI64_PREFIX "d"
-
-# define SCNdLEAST8 "hhd"
-# define SCNdLEAST16 "hd"
-# define SCNdLEAST32 "d"
-# define SCNdLEAST64 __PRI64_PREFIX "d"
-
-# define SCNdFAST8 "hhd"
-# define SCNdFAST16 __PRIPTR_PREFIX "d"
-# define SCNdFAST32 __PRIPTR_PREFIX "d"
-# define SCNdFAST64 __PRI64_PREFIX "d"
-
-/* Signed decimal notation. */
-# define SCNi8 "hhi"
-# define SCNi16 "hi"
-# define SCNi32 "i"
-# define SCNi64 __PRI64_PREFIX "i"
-
-# define SCNiLEAST8 "hhi"
-# define SCNiLEAST16 "hi"
-# define SCNiLEAST32 "i"
-# define SCNiLEAST64 __PRI64_PREFIX "i"
-
-# define SCNiFAST8 "hhi"
-# define SCNiFAST16 __PRIPTR_PREFIX "i"
-# define SCNiFAST32 __PRIPTR_PREFIX "i"
-# define SCNiFAST64 __PRI64_PREFIX "i"
-
-/* Unsigned decimal notation. */
-# define SCNu8 "hhu"
-# define SCNu16 "hu"
-# define SCNu32 "u"
-# define SCNu64 __PRI64_PREFIX "u"
-
-# define SCNuLEAST8 "hhu"
-# define SCNuLEAST16 "hu"
-# define SCNuLEAST32 "u"
-# define SCNuLEAST64 __PRI64_PREFIX "u"
-
-# define SCNuFAST8 "hhu"
-# define SCNuFAST16 __PRIPTR_PREFIX "u"
-# define SCNuFAST32 __PRIPTR_PREFIX "u"
-# define SCNuFAST64 __PRI64_PREFIX "u"
-
-/* Octal notation. */
-# define SCNo8 "hho"
-# define SCNo16 "ho"
-# define SCNo32 "o"
-# define SCNo64 __PRI64_PREFIX "o"
-
-# define SCNoLEAST8 "hho"
-# define SCNoLEAST16 "ho"
-# define SCNoLEAST32 "o"
-# define SCNoLEAST64 __PRI64_PREFIX "o"
-
-# define SCNoFAST8 "hho"
-# define SCNoFAST16 __PRIPTR_PREFIX "o"
-# define SCNoFAST32 __PRIPTR_PREFIX "o"
-# define SCNoFAST64 __PRI64_PREFIX "o"
-
-/* Hexadecimal notation. */
-# define SCNx8 "hhx"
-# define SCNx16 "hx"
-# define SCNx32 "x"
-# define SCNx64 __PRI64_PREFIX "x"
-
-# define SCNxLEAST8 "hhx"
-# define SCNxLEAST16 "hx"
-# define SCNxLEAST32 "x"
-# define SCNxLEAST64 __PRI64_PREFIX "x"
-
-# define SCNxFAST8 "hhx"
-# define SCNxFAST16 __PRIPTR_PREFIX "x"
-# define SCNxFAST32 __PRIPTR_PREFIX "x"
-# define SCNxFAST64 __PRI64_PREFIX "x"
-
-
-/* Macros for scanning `intmax_t' and `uintmax_t'. */
-# define SCNdMAX __PRI64_PREFIX "d"
-# define SCNiMAX __PRI64_PREFIX "i"
-# define SCNoMAX __PRI64_PREFIX "o"
-# define SCNuMAX __PRI64_PREFIX "u"
-# define SCNxMAX __PRI64_PREFIX "x"
-
-/* Macros for scanning `intptr_t' and `uintptr_t'. */
-# define SCNdPTR __PRIPTR_PREFIX "d"
-# define SCNiPTR __PRIPTR_PREFIX "i"
-# define SCNoPTR __PRIPTR_PREFIX "o"
-# define SCNuPTR __PRIPTR_PREFIX "u"
-# define SCNxPTR __PRIPTR_PREFIX "x"
-
-typedef signed char int8_t;
-typedef signed short int16_t;
-typedef signed int int32_t;
-
-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned int uint32_t;
-
-typedef signed long int intptr_t;
-typedef unsigned long int uintptr_t;
-
-#ifndef __STRICT_ANSI__
-__extension__ typedef signed long long int64_t;
-__extension__ typedef unsigned long long uint64_t;
-__extension__ typedef signed long long int intmax_t;
-__extension__ typedef unsigned long long int uintmax_t;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/libgen.h b/mdk-stage1/dietlibc/include/libgen.h
deleted file mode 100644
index ab13b0a30..000000000
--- a/mdk-stage1/dietlibc/include/libgen.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _LIBGEN_H
-#define _LIBGEN_H
-
-#include <sys/cdefs.h>
-
-char *dirname(char *path) __THROW;
-char *basename(char *path) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/libintl.h b/mdk-stage1/dietlibc/include/libintl.h
deleted file mode 100644
index 20873f55f..000000000
--- a/mdk-stage1/dietlibc/include/libintl.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _LIBINTL_H
-#define _LIBINTL_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <locale.h>
-
-#define gettext(msgid) dgettext(0,msgid)
-#define dgettext(domainname,msgid) dcgettext(domainname,msgid,LC_MESSAGES)
-
-#define ngettext(msgid1,msgid2,n) dngettext(0,msgid1,msgid2,n)
-#define dngettext(dn,msgid1,msgid2,n) dngettext(dn,msgid1,msgid2,n,LC_MESSAGES)
-
-char* dcgettext(const char *domainname, const char *msgid, int category) __THROW;
-char* dcngettext(const char *domainname,
- const char *msgid1, const char *msgid2,
- unsigned long int n, int __category) __THROW;
-
-char* textdomain(const char *domainname) __THROW;
-char* bindtextdomain(const char *domainname, const char *dirname) __THROW;
-char* bind_textdomain_codeset(const char *domainname, const char *codeset) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/limits.h b/mdk-stage1/dietlibc/include/limits.h
deleted file mode 100644
index b5577a0bf..000000000
--- a/mdk-stage1/dietlibc/include/limits.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef _LIMITS_H
-#define _LIMITS_H
-
-#include <endian.h>
-
-#define CHAR_BIT 8
-
-#define SCHAR_MIN (-128)
-#define SCHAR_MAX 0x7f
-#define UCHAR_MAX 0xff
-
-#ifdef __CHAR_UNSIGNED__
-#undef CHAR_MIN
-#define CHAR_MIN 0
-#undef CHAR_MAX
-#define CHAR_MAX UCHAR_MAX
-#else
-#undef CHAR_MIN
-#define CHAR_MIN SCHAR_MIN
-#undef CHAR_MAX
-#define CHAR_MAX SCHAR_MAX
-#endif
-
-#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 SSIZE_MIN LONG_MIN
-#define SSIZE_MAX LONG_MAX
-
-#define PASS_MAX 256
-
-#define NR_OPEN 1024
-
-#define NGROUPS_MAX 32 /* supplemental group IDs are available */
-#define ARG_MAX 131072 /* # bytes of args + environ for exec() */
-#define CHILD_MAX 999 /* no limit :-) */
-#define OPEN_MAX 256 /* # open files a process may have */
-#define LINK_MAX 127 /* # links a file may have */
-#define MAX_CANON 255 /* size of the canonical input queue */
-#define MAX_INPUT 255 /* size of the type-ahead buffer */
-#define NAME_MAX 255 /* # chars in a file name */
-#define PATH_MAX 4095 /* # chars in a path name */
-#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */
-
-#define RTSIG_MAX 32
-
-#define LINE_MAX 2048
-
-/* mutt demanded these */
-#define _POSIX_PATH_MAX PATH_MAX
-#define MB_LEN_MAX 16
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/linux/eventpoll.h b/mdk-stage1/dietlibc/include/linux/eventpoll.h
deleted file mode 100644
index 19990ac2a..000000000
--- a/mdk-stage1/dietlibc/include/linux/eventpoll.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _LINUX_EVENTPOLL_H
-#define _LINUX_EVENTPOLL_H
-
-#include <sys/ioctl.h>
-#include <sys/poll.h>
-#include <sys/shm.h>
-
-#define POLLFD_X_PAGE (PAGE_SIZE / sizeof(struct pollfd))
-#define EP_FDS_PAGES(n) (((n) + POLLFD_X_PAGE - 1) / POLLFD_X_PAGE)
-#define EP_MAP_SIZE(n) (EP_FDS_PAGES(n) * PAGE_SIZE * 2)
-
-struct evpoll {
- int ep_timeout;
- unsigned long ep_resoff;
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/linux/if_ether.h b/mdk-stage1/dietlibc/include/linux/if_ether.h
deleted file mode 100644
index dbeb3728e..000000000
--- a/mdk-stage1/dietlibc/include/linux/if_ether.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the Ethernet IEEE 802.3 interface.
- *
- * Version: @(#)if_ether.h 1.0.1a 02/08/94
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Donald Becker, <becker@super.org>
- * Alan Cox, <alan@redhat.com>
- * Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk>
- *
- * 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.
- */
-
-#ifndef _LINUX_IF_ETHER_H
-#define _LINUX_IF_ETHER_H
-
-/*
- * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
- * and FCS/CRC (frame check sequence).
- */
-
-#define ETH_ALEN 6 /* Octets in one ethernet addr */
-#define ETH_HLEN 14 /* Total octets in header. */
-#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
-#define ETH_DATA_LEN 1500 /* Max. octets in payload */
-#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
-
-/*
- * These are the defined Ethernet Protocol ID's.
- */
-
-#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
-#define ETH_P_PUP 0x0200 /* Xerox PUP packet */
-#define ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */
-#define ETH_P_IP 0x0800 /* Internet Protocol packet */
-#define ETH_P_X25 0x0805 /* CCITT X.25 */
-#define ETH_P_ARP 0x0806 /* Address Resolution packet */
-#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
-#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
-#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
-#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
-#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
-#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
-#define ETH_P_LAT 0x6004 /* DEC LAT */
-#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
-#define ETH_P_CUST 0x6006 /* DEC Customer use */
-#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
-#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
-#define ETH_P_ATALK 0x809B /* Appletalk DDP */
-#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
-#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
-#define ETH_P_IPX 0x8137 /* IPX over DIX */
-#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
-#define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
-#define ETH_P_PPP_SES 0x8864 /* PPPoE session messages */
-#define ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */
-#define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport
- * over Ethernet
- */
-
-/*
- * Non DIX types. Won't clash for 1500 types.
- */
-
-#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
-#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
-#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
-#define ETH_P_802_2 0x0004 /* 802.2 frames */
-#define ETH_P_SNAP 0x0005 /* Internal only */
-#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
-#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
-#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
-#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
-#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
-#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
-#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
-#define ETH_P_CONTROL 0x0016 /* Card specific control frames */
-#define ETH_P_IRDA 0x0017 /* Linux-IrDA */
-#define ETH_P_ECONET 0x0018 /* Acorn Econet */
-#define ETH_P_HDLC 0x0019 /* HDLC frames */
-
-/*
- * This is an Ethernet frame header.
- */
-
-struct ethhdr
-{
- unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
- unsigned char h_source[ETH_ALEN]; /* source ether addr */
- unsigned short h_proto; /* packet type ID field */
-};
-
-#endif /* _LINUX_IF_ETHER_H */
diff --git a/mdk-stage1/dietlibc/include/linux/loop.h b/mdk-stage1/dietlibc/include/linux/loop.h
deleted file mode 100644
index 1366f1877..000000000
--- a/mdk-stage1/dietlibc/include/linux/loop.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _LINUX_LOOP_H
-#define _LINUX_LOOP_H
-
-/* stolen form kernel */
-
-#define LO_NAME_SIZE 64
-#define LO_KEY_SIZE 32
-
-/* Loop flags */
-#define LO_FLAGS_DO_BMAP 1
-#define LO_FLAGS_READ_ONLY 2
-#define LO_FLAGS_BH_REMAP 4
-
-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];
-};
-
-/* Loop filter types */
-#define LO_CRYPT_NONE 0
-#define LO_CRYPT_XOR 1
-#define LO_CRYPT_DES 2
-#define LO_CRYPT_FISH2 3 /* Brand new Twofish encryption */
-#define LO_CRYPT_BLOW 4
-#define LO_CRYPT_CAST128 5
-#define LO_CRYPT_IDEA 6
-#define LO_CRYPT_DUMMY 9
-#define LO_CRYPT_SKIPJACK 10
-#define MAX_LO_CRYPT 20
-
-/* IOCTL commands --- we will commandeer 0x4C ('L') */
-#define LOOP_SET_FD 0x4C00
-#define LOOP_CLR_FD 0x4C01
-#define LOOP_SET_STATUS 0x4C02
-#define LOOP_GET_STATUS 0x4C03
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/linux/nfs.h b/mdk-stage1/dietlibc/include/linux/nfs.h
deleted file mode 100644
index 9be6db37e..000000000
--- a/mdk-stage1/dietlibc/include/linux/nfs.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * NFS protocol definitions
- *
- * This file contains constants mostly for Version 2 of the protocol,
- * but also has a couple of NFSv3 bits in (notably the error codes).
- */
-#ifndef _LINUX_NFS_H
-#define _LINUX_NFS_H
-
-#define NFS_PROGRAM 100003
-#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
-
-#define NFS_MNT_PROGRAM 100005
-#define NFS_MNT_PORT 627
-
-/*
- * NFS stats. The good thing with these values is that NFSv3 errors are
- * a superset of NFSv2 errors (with the exception of NFSERR_WFLUSH which
- * no-one uses anyway), so we can happily mix code as long as we make sure
- * no NFSv3 errors are returned to NFSv2 clients.
- * Error codes that have a `--' in the v2 column are not part of the
- * standard, but seem to be widely used nevertheless.
- */
- enum nfs_stat {
- NFS_OK = 0, /* v2 v3 */
- NFSERR_PERM = 1, /* v2 v3 */
- NFSERR_NOENT = 2, /* v2 v3 */
- NFSERR_IO = 5, /* v2 v3 */
- NFSERR_NXIO = 6, /* v2 v3 */
- NFSERR_EAGAIN = 11, /* v2 v3 */
- NFSERR_ACCES = 13, /* v2 v3 */
- NFSERR_EXIST = 17, /* v2 v3 */
- NFSERR_XDEV = 18, /* v3 */
- NFSERR_NODEV = 19, /* v2 v3 */
- NFSERR_NOTDIR = 20, /* v2 v3 */
- NFSERR_ISDIR = 21, /* v2 v3 */
- NFSERR_INVAL = 22, /* v2 v3 that Sun forgot */
- NFSERR_FBIG = 27, /* v2 v3 */
- NFSERR_NOSPC = 28, /* v2 v3 */
- NFSERR_ROFS = 30, /* v2 v3 */
- NFSERR_MLINK = 31, /* v3 */
- NFSERR_OPNOTSUPP = 45, /* v2 v3 */
- NFSERR_NAMETOOLONG = 63, /* v2 v3 */
- NFSERR_NOTEMPTY = 66, /* v2 v3 */
- NFSERR_DQUOT = 69, /* v2 v3 */
- NFSERR_STALE = 70, /* v2 v3 */
- NFSERR_REMOTE = 71, /* v2 v3 */
- NFSERR_WFLUSH = 99, /* v2 */
- NFSERR_BADHANDLE = 10001, /* v3 */
- NFSERR_NOT_SYNC = 10002, /* v3 */
- NFSERR_BAD_COOKIE = 10003, /* v3 */
- NFSERR_NOTSUPP = 10004, /* v3 */
- NFSERR_TOOSMALL = 10005, /* v3 */
- NFSERR_SERVERFAULT = 10006, /* v3 */
- NFSERR_BADTYPE = 10007, /* v3 */
- NFSERR_JUKEBOX = 10008 /* v3 */
- };
-
-/* NFSv2 file types - beware, these are not the same in NFSv3 */
-
-enum nfs_ftype {
- NFNON = 0,
- NFREG = 1,
- NFDIR = 2,
- NFBLK = 3,
- NFCHR = 4,
- NFLNK = 5,
- NFSOCK = 6,
- NFBAD = 7,
- NFFIFO = 8
-};
-
-#endif /* _LINUX_NFS_H */
diff --git a/mdk-stage1/dietlibc/include/linux/posix_types.h b/mdk-stage1/dietlibc/include/linux/posix_types.h
deleted file mode 100644
index 0d494a1f6..000000000
--- a/mdk-stage1/dietlibc/include/linux/posix_types.h
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef _LINUX_POSIX_TYPES_H
-#define _LINUX_POSIX_TYPES_H
-
-/*
- * This allows for 1024 file descriptors: if NR_OPEN is ever grown
- * beyond that you'll have to change this too. But 1024 fd's seem to be
- * enough even for such "real" unices like OSF/1, so hopefully this is
- * one limit that doesn't have to be changed [again].
- *
- * Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
- * <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
- * place for them. Solved by having dummy defines in <sys/time.h>.
- */
-
-/*
- * Those macros may have been defined in <gnu/types.h>. But we always
- * use the ones here.
- */
-#undef __NFDBITS
-#define __NFDBITS (8 * sizeof(unsigned long))
-
-#undef __FD_SETSIZE
-#define __FD_SETSIZE 1024
-
-#undef __FDSET_LONGS
-#define __FDSET_LONGS (__FD_SETSIZE/__NFDBITS)
-
-#undef __FDELT
-#define __FDELT(d) ((d) / __NFDBITS)
-
-#undef __FDMASK
-#define __FDMASK(d) (1UL << ((d) % __NFDBITS))
-
-typedef struct {
- unsigned long fds_bits [__FDSET_LONGS];
-} __kernel_fd_set;
-
-#ifndef __KERNEL_STRICT_NAMES
-typedef __kernel_fd_set fd_set;
-#endif
-
-#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
-
-#undef __FD_SET
-static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
-{
- unsigned long _tmp = fd / __NFDBITS;
- unsigned long _rem = fd % __NFDBITS;
- fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
-}
-
-#undef __FD_CLR
-static __inline__ void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
-{
- unsigned long _tmp = fd / __NFDBITS;
- unsigned long _rem = fd % __NFDBITS;
- fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem);
-}
-
-#undef __FD_ISSET
-static __inline__ int __FD_ISSET(unsigned long fd, __const__ __kernel_fd_set *p)
-{
- unsigned long _tmp = fd / __NFDBITS;
- unsigned long _rem = fd % __NFDBITS;
- return (p->fds_bits[_tmp] & (1UL<<_rem)) != 0;
-}
-
-/*
- * This will unroll the loop for the normal constant cases (8 or 32 longs,
- * for 256 and 1024-bit fd_sets respectively)
- */
-#undef __FD_ZERO
-static __inline__ void __FD_ZERO(__kernel_fd_set *p)
-{
- unsigned long *tmp = p->fds_bits;
- int i;
-
- if (__builtin_constant_p(__FDSET_LONGS)) {
- switch (__FDSET_LONGS) {
- case 32:
- tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
- tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
- tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
- tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
- tmp[16] = 0; tmp[17] = 0; tmp[18] = 0; tmp[19] = 0;
- tmp[20] = 0; tmp[21] = 0; tmp[22] = 0; tmp[23] = 0;
- tmp[24] = 0; tmp[25] = 0; tmp[26] = 0; tmp[27] = 0;
- tmp[28] = 0; tmp[29] = 0; tmp[30] = 0; tmp[31] = 0;
- return;
- case 16:
- tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
- tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
- tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
- tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
- return;
- case 8:
- tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
- tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
- return;
- case 4:
- tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
- return;
- }
- }
- i = __FDSET_LONGS;
- while (i) {
- i--;
- *tmp = 0;
- tmp++;
- }
-}
-
-#endif /* defined(__KERNEL__) */
-
-#endif /* _LINUX_POSIX_TYPES_H */
diff --git a/mdk-stage1/dietlibc/include/linux/types.h b/mdk-stage1/dietlibc/include/linux/types.h
deleted file mode 100644
index 1cd33bd41..000000000
--- a/mdk-stage1/dietlibc/include/linux/types.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _LINUX_TYPES_H
-#define _LINUX_TYPES_H
-
-#include <asm/types.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/locale.h b/mdk-stage1/dietlibc/include/locale.h
deleted file mode 100644
index 5cd002019..000000000
--- a/mdk-stage1/dietlibc/include/locale.h
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef _LOCALE_H
-#define _LOCALE_H
-
-#include <sys/cdefs.h>
-
-enum {
- LC_CTYPE = 0,
- LC_NUMERIC = 1,
- LC_TIME = 2,
- LC_COLLATE = 3,
- LC_MONETARY = 4,
- LC_MESSAGES = 5,
- LC_ALL = 6,
- LC_PAPER = 7,
- LC_NAME = 8,
- LC_ADDRESS = 9,
- LC_TELEPHONE = 10,
- LC_MEASUREMENT = 11,
- LC_IDENTIFICATION = 12
-};
-
-/* Structure giving information about numeric and monetary notation. */
-struct lconv {
- /* Numeric (non-monetary) information. */
- char *decimal_point;
- char *thousands_sep;
- /* Each element is the number of digits in each group;
- elements with higher indices are farther left.
- An element with value CHAR_MAX means that no further grouping is done.
- An element with value 0 means that the previous element is used
- for all groups farther left. */
- char *grouping;
-
- /* Monetary information. */
-
- /* First three chars are a currency symbol from ISO 4217.
- Fourth char is the separator. Fifth char is '\0'. */
- char *int_curr_symbol;
- char *currency_symbol; /* Local currency symbol. */
- char *mon_decimal_point; /* Decimal point character. */
- char *mon_thousands_sep; /* Thousands separator. */
- char *mon_grouping; /* Like `grouping' element (above). */
- char *positive_sign; /* Sign for positive values. */
- char *negative_sign; /* Sign for negative values. */
- char int_frac_digits; /* Int'l fractional digits. */
- char frac_digits; /* Local fractional digits. */
- /* 1 if currency_symbol precedes a positive value, 0 if succeeds. */
- char p_cs_precedes;
- /* 1 iff a space separates currency_symbol from a positive value. */
- char p_sep_by_space;
- /* 1 if currency_symbol precedes a negative value, 0 if succeeds. */
- char n_cs_precedes;
- /* 1 iff a space separates currency_symbol from a negative value. */
- char n_sep_by_space;
- /* Positive and negative sign positions:
- 0 Parentheses surround the quantity and currency_symbol.
- 1 The sign string precedes the quantity and currency_symbol.
- 2 The sign string follows the quantity and currency_symbol.
- 3 The sign string immediately precedes the currency_symbol.
- 4 The sign string immediately follows the currency_symbol. */
- char p_sign_posn;
- char n_sign_posn;
- /* 1 if int_curr_symbol precedes a positive value, 0 if succeeds. */
- char int_p_cs_precedes;
- /* 1 iff a space separates int_curr_symbol from a positive value. */
- char int_p_sep_by_space;
- /* 1 if int_curr_symbol precedes a negative value, 0 if succeeds. */
- char int_n_cs_precedes;
- /* 1 iff a space separates int_curr_symbol from a negative value. */
- char int_n_sep_by_space;
- /* Positive and negative sign positions:
- 0 Parentheses surround the quantity and int_curr_symbol.
- 1 The sign string precedes the quantity and int_curr_symbol.
- 2 The sign string follows the quantity and int_curr_symbol.
- 3 The sign string immediately precedes the int_curr_symbol.
- 4 The sign string immediately follows the int_curr_symbol. */
- char int_p_sign_posn;
- char int_n_sign_posn;
-};
-
-char *setlocale (int category, const char *locale) __THROW;
-struct lconv *localeconv (void) __THROW;
-
-#endif
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 2cb545237..000000000
--- a/mdk-stage1/dietlibc/include/math.h
+++ /dev/null
@@ -1,96 +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 exp10(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__));
-
-double floor(double x) __attribute__((__const__));
-double ceil(double x) __attribute__((__const__));
-
-double expm1(double x) __THROW __attribute__((__const__));
-double hypot(double x, double y) __THROW __attribute__((__const__));
-double atan2(double x, double y) __THROW __attribute__((__const__));
-
-double copysign(double value, double sign) __attribute__((__const__));
-
-# define HUGE_VAL \
- (__extension__ \
- ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
- { __l: 0x000000007ff00000ULL }).__d)
-
-#ifdef _GNU_SOURCE
-void sincos(double x, double* sinx, double* cosx);
-double ipow (double mant, int expo);
-#endif
-
-int isnan(double d) __attribute__((__const__));
-int isinf(double d) __attribute__((__const__));
-int finite(double d) __attribute__((__const__));
-
-double j0(double x);
-double j1(double x);
-double jn(int n, double x);
-double y0(double x);
-double y1(double x);
-double yn(int n, double x);
-double erf(double x);
-double erfc(double x);
-double lgamma(double x);
-
-double rint(double x);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/md5.h b/mdk-stage1/dietlibc/include/md5.h
deleted file mode 100644
index 7cbc0e8f3..000000000
--- a/mdk-stage1/dietlibc/include/md5.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. 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_H
-#define _MD5_H
-
-#include <sys/types.h>
-
-/*
- Define the MD5 context structure.
- Please DO NOT change the order or contents of the structure as
- various assembler files depend on it !!
-*/
-typedef struct
-{
- uint32_t state[4]; /* state (ABCD) */
- uint32_t count[2]; /* number of bits, modulo 2^64 (least sig word first) */
- uint8_t buffer[64]; /* input buffer for incomplete buffer data */
-}
-MD5_CTX;
-
-void MD5Init (MD5_CTX* ctx);
-void MD5Update (MD5_CTX* ctx, const uint8_t* buf, size_t len);
-void MD5Final (uint8_t digest[16], MD5_CTX* ctx);
-
-char* md5crypt (const char* pw, const char* salt);
-
-#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/ethernet.h b/mdk-stage1/dietlibc/include/net/ethernet.h
deleted file mode 100644
index 900ffd536..000000000
--- a/mdk-stage1/dietlibc/include/net/ethernet.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright (C) 1997, 1999, 2001 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* Based on the FreeBSD version of this file. Curiously, that file
- lacks a copyright in the header. */
-
-#ifndef __NET_ETHERNET_H
-#define __NET_ETHERNET_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/if_ether.h> /* IEEE 802.3 Ethernet constants */
-
-__BEGIN_DECLS
-
-/* This is a name for the 48 bit ethernet address available on many
- systems. */
-struct ether_addr
-{
- uint8_t ether_addr_octet[ETH_ALEN];
-} __attribute__ ((__packed__));
-
-/* 10Mb/s ethernet header */
-struct ether_header
-{
- uint8_t ether_dhost[ETH_ALEN]; /* destination eth addr */
- uint8_t ether_shost[ETH_ALEN]; /* source ether addr */
- uint16_t ether_type; /* packet type ID field */
-} __attribute__ ((__packed__));
-
-/* Ethernet protocol ID's */
-#define ETHERTYPE_PUP 0x0200 /* Xerox PUP */
-#define ETHERTYPE_IP 0x0800 /* IP */
-#define ETHERTYPE_ARP 0x0806 /* Address resolution */
-#define ETHERTYPE_REVARP 0x8035 /* Reverse ARP */
-
-#define ETHER_ADDR_LEN ETH_ALEN /* size of ethernet addr */
-#define ETHER_TYPE_LEN 2 /* bytes in type field */
-#define ETHER_CRC_LEN 4 /* bytes in CRC field */
-#define ETHER_HDR_LEN ETH_HLEN /* total octets in header */
-#define ETHER_MIN_LEN (ETH_ZLEN + ETHER_CRC_LEN) /* min packet length */
-#define ETHER_MAX_LEN (ETH_FRAME_LEN + ETHER_CRC_LEN) /* max packet length */
-
-/* make sure ethenet length is valid */
-#define ETHER_IS_VALID_LEN(foo) \
- ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
-
-/*
- * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
- * (type-ETHERTYPE_TRAIL)*512 bytes of data followed
- * by an ETHER type (as given above) and then the (variable-length) header.
- */
-#define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */
-#define ETHERTYPE_NTRAILER 16
-
-#define ETHERMTU ETH_DATA_LEN
-#define ETHERMIN (ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN)
-
-__END_DECLS
-
-#endif /* net/ethernet.h */
diff --git a/mdk-stage1/dietlibc/include/net/if.h b/mdk-stage1/dietlibc/include/net/if.h
deleted file mode 100644
index ac4737db3..000000000
--- a/mdk-stage1/dietlibc/include/net/if.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _NET_IF_H
-#define _NET_IF_H
-
-#include <sys/cdefs.h>
-#include <sys/socket.h>
-
-/* Standard interface flags. */
-#define IFF_UP 0x1 /* interface is up */
-#define IFF_BROADCAST 0x2 /* broadcast address valid */
-#define IFF_DEBUG 0x4 /* turn on debugging */
-#define IFF_LOOPBACK 0x8 /* is a loopback net */
-#define IFF_POINTOPOINT 0x10 /* interface is has p-p link */
-#define IFF_NOTRAILERS 0x20 /* avoid use of trailers */
-#define IFF_RUNNING 0x40 /* resources allocated */
-#define IFF_NOARP 0x80 /* no ARP protocol */
-#define IFF_PROMISC 0x100 /* receive all packets */
-#define IFF_ALLMULTI 0x200 /* receive all multicast packets*/
-
-#define IFF_MASTER 0x400 /* master of a load balancer */
-#define IFF_SLAVE 0x800 /* slave of a load balancer */
-
-#define IFF_MULTICAST 0x1000 /* Supports multicast */
-
-#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_MASTER|IFF_SLAVE|IFF_RUNNING)
-
-#define IFF_PORTSEL 0x2000 /* can set media type */
-#define IFF_AUTOMEDIA 0x4000 /* auto media select active */
-#define IFF_DYNAMIC 0x8000 /* dialup device with changing addresses*/
-
-struct ifmap {
- unsigned long mem_start;
- unsigned long mem_end;
- unsigned short base_addr;
- unsigned char irq;
- unsigned char dma;
- unsigned char port;
- /* 3 bytes spare */
-};
-
-struct ifreq {
-#define IFHWADDRLEN 6
-#define IFNAMSIZ 16
- union
- {
- char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- } ifr_ifrn;
- union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_dstaddr;
- struct sockaddr ifru_broadaddr;
- struct sockaddr ifru_netmask;
- struct sockaddr ifru_hwaddr;
- short ifru_flags;
- int ifru_ivalue;
- int ifru_mtu;
- struct ifmap ifru_map;
- char ifru_slave[IFNAMSIZ]; /* Just fits the size */
- char ifru_newname[IFNAMSIZ];
- char* ifru_data;
- } ifr_ifru;
-};
-
-#define ifr_name ifr_ifrn.ifrn_name /* interface name */
-#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
-#define ifr_addr ifr_ifru.ifru_addr /* address */
-#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */
-#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
-#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */
-#define ifr_flags ifr_ifru.ifru_flags /* flags */
-#define ifr_metric ifr_ifru.ifru_ivalue /* metric */
-#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
-#define ifr_map ifr_ifru.ifru_map /* device map */
-#define ifr_slave ifr_ifru.ifru_slave /* slave device */
-#define ifr_data ifr_ifru.ifru_data /* for use by interface */
-#define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */
-#define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */
-#define ifr_qlen ifr_ifru.ifru_ivalue /* Queue length */
-#define ifr_newname ifr_ifru.ifru_newname /* New name */
-
-struct ifconf {
- int ifc_len; /* size of buffer */
- union {
- char * ifcu_buf;
- struct ifreq *ifcu_req;
- } ifc_ifcu;
-};
-
-#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
-#define ifc_req ifc_ifcu.ifcu_req /* array of structures */
-
-unsigned int if_nametoindex (const char *ifname) __THROW;
-char *if_indextoname (unsigned int ifindex, char *ifname) __THROW;
-
-struct if_nameindex {
- unsigned int if_index;
- char *if_name;
-};
-
-struct if_nameindex* if_nameindex(void) __THROW;
-void if_freenameindex(struct if_nameindex* ptr) __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 b1054066a..000000000
--- a/mdk-stage1/dietlibc/include/net/if_arp.h
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef _NET_IF_ARP_H
-#define _NET_IF_ARP_H
-
-#include <sys/socket.h>
-
-#define MAX_ADDR_LEN 7
-
-/* ARP protocol HARDWARE identifiers. */
-#define ARPHRD_NETROM 0 /* from KA9Q: NET/ROM pseudo */
-#define ARPHRD_ETHER 1 /* Ethernet 10Mbps */
-#define ARPHRD_EETHER 2 /* Experimental Ethernet */
-#define ARPHRD_AX25 3 /* AX.25 Level 2 */
-#define ARPHRD_PRONET 4 /* PROnet token ring */
-#define ARPHRD_CHAOS 5 /* Chaosnet */
-#define ARPHRD_IEEE802 6 /* IEEE 802.2 Ethernet/TR/TB */
-#define ARPHRD_ARCNET 7 /* ARCnet */
-#define ARPHRD_APPLETLK 8 /* APPLEtalk */
-#define ARPHRD_DLCI 15 /* Frame Relay DLCI */
-#define ARPHRD_ATM 19 /* ATM */
-#define ARPHRD_METRICOM 23 /* Metricom STRIP (new IANA id) */
-
-/* Dummy types for non ARP hardware */
-#define ARPHRD_SLIP 256
-#define ARPHRD_CSLIP 257
-#define ARPHRD_SLIP6 258
-#define ARPHRD_CSLIP6 259
-#define ARPHRD_RSRVD 260 /* Notional KISS type */
-#define ARPHRD_ADAPT 264
-#define ARPHRD_ROSE 270
-#define ARPHRD_X25 271 /* CCITT X.25 */
-#define ARPHRD_HWX25 272 /* Boards with X.25 in firmware */
-#define ARPHRD_PPP 512
-#define ARPHRD_CISCO 513 /* Cisco HDLC */
-#define ARPHRD_HDLC ARPHRD_CISCO
-#define ARPHRD_LAPB 516 /* LAPB */
-#define ARPHRD_DDCMP 517 /* Digital's DDCMP protocol */
-#define ARPHRD_RAWHDLC 518 /* Raw HDLC */
-
-#define ARPHRD_TUNNEL 768 /* IPIP tunnel */
-#define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel */
-#define ARPHRD_FRAD 770 /* Frame Relay Access Device */
-#define ARPHRD_SKIP 771 /* SKIP vif */
-#define ARPHRD_LOOPBACK 772 /* Loopback device */
-#define ARPHRD_LOCALTLK 773 /* Localtalk device */
-#define ARPHRD_FDDI 774 /* Fiber Distributed Data Interface */
-#define ARPHRD_BIF 775 /* AP1000 BIF */
-#define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4 */
-#define ARPHRD_IPDDP 777 /* IP over DDP tunneller */
-#define ARPHRD_IPGRE 778 /* GRE over IP */
-#define ARPHRD_PIMREG 779 /* PIMSM register interface */
-#define ARPHRD_HIPPI 780 /* High Performance Parallel Interface */
-#define ARPHRD_ASH 781 /* Nexus 64Mbps Ash */
-#define ARPHRD_ECONET 782 /* Acorn Econet */
-#define ARPHRD_IRDA 783 /* Linux-IrDA */
-/* ARP works differently on different FC media .. so */
-#define ARPHRD_FCPP 784 /* Point to point fibrechannel */
-#define ARPHRD_FCAL 785 /* Fibrechannel arbitrated loop */
-#define ARPHRD_FCPL 786 /* Fibrechannel public loop */
-#define ARPHRD_FCFABRIC 787 /* Fibrechannel fabric */
- /* 787->799 reserved for fibrechannel media types */
-#define ARPHRD_IEEE802_TR 800 /* Magic type ident for TR */
-#define ARPHRD_IEEE80211 801 /* IEEE 802.11 */
-
-#define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */
-
-/* ARP protocol opcodes. */
-#define ARPOP_REQUEST 1 /* ARP request */
-#define ARPOP_REPLY 2 /* ARP reply */
-#define ARPOP_RREQUEST 3 /* RARP request */
-#define ARPOP_RREPLY 4 /* RARP reply */
-#define ARPOP_InREQUEST 8 /* InARP request */
-#define ARPOP_InREPLY 9 /* InARP reply */
-#define ARPOP_NAK 10 /* (ATM)ARP NAK */
-
-
-/* ARP ioctl request. */
-struct arpreq {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
- char arp_dev[16];
-};
-
-struct arpreq_old {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
-};
-
-/* ARP Flag values. */
-#define ATF_COM 0x02 /* completed entry (ha valid) */
-#define ATF_PERM 0x04 /* permanent entry */
-#define ATF_PUBL 0x08 /* publish entry */
-#define ATF_USETRAILERS 0x10 /* has requested trailers */
-#define ATF_NETMASK 0x20 /* want to use a netmask (only
- for proxy entries) */
-#define ATF_DONTPUB 0x40 /* don't answer this addresses */
-
-/*
- * This structure defines an ethernet arp header.
- */
-
-struct arphdr
-{
- unsigned short ar_hrd; /* format of hardware address */
- unsigned short ar_pro; /* format of protocol address */
- unsigned char ar_hln; /* length of hardware address */
- unsigned char ar_pln; /* length of protocol address */
- unsigned short ar_op; /* ARP opcode (command) */
-};
-#endif
diff --git a/mdk-stage1/dietlibc/include/net/if_ether.h b/mdk-stage1/dietlibc/include/net/if_ether.h
deleted file mode 100644
index 7451a6dc6..000000000
--- a/mdk-stage1/dietlibc/include/net/if_ether.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _NET_IF_ETHER_H
-#define _NET_IF_ETHER_H
-
-/* taken from <linux/if_ether.h> */
-
-#define ETH_ALEN 6 /* Octets in one ethernet addr */
-#define ETH_HLEN 14 /* Total octets in header. */
-#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
-#define ETH_DATA_LEN 1500 /* Max. octets in payload */
-#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
-
-/*
- * These are the defined Ethernet Protocol ID's.
- */
-
-#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
-#define ETH_P_PUP 0x0200 /* Xerox PUP packet */
-#define ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */
-#define ETH_P_IP 0x0800 /* Internet Protocol packet */
-#define ETH_P_X25 0x0805 /* CCITT X.25 */
-#define ETH_P_ARP 0x0806 /* Address Resolution packet */
-#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
-#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
-#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
-#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
-#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
-#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
-#define ETH_P_LAT 0x6004 /* DEC LAT */
-#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
-#define ETH_P_CUST 0x6006 /* DEC Customer use */
-#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
-#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
-#define ETH_P_ATALK 0x809B /* Appletalk DDP */
-#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
-#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
-#define ETH_P_IPX 0x8137 /* IPX over DIX */
-#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
-#define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
-#define ETH_P_PPP_SES 0x8864 /* PPPoE session messages */
-#define ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */
-#define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport over Ethernet */
-
-/*
- * Non DIX types. Won't clash for 1500 types.
- */
-
-#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
-#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
-#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
-#define ETH_P_802_2 0x0004 /* 802.2 frames */
-#define ETH_P_SNAP 0x0005 /* Internal only */
-#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
-#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
-#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
-#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
-#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
-#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
-#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
-#define ETH_P_CONTROL 0x0016 /* Card specific control frames */
-#define ETH_P_IRDA 0x0017 /* Linux-IrDA */
-#define ETH_P_ECONET 0x0018 /* Acorn Econet */
-
-/*
- * This is an Ethernet frame header.
- */
-
-struct ethhdr {
- unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
- unsigned char h_source[ETH_ALEN]; /* source ether addr */
- unsigned short h_proto; /* packet type ID field */
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/net/route.h b/mdk-stage1/dietlibc/include/net/route.h
deleted file mode 100644
index 383bb8370..000000000
--- a/mdk-stage1/dietlibc/include/net/route.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _NET_ROUTE_H
-#define _NET_ROUTE_H
-
-#include <inttypes.h>
-#include <netinet/in.h>
-
-/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
-struct rtentry {
- unsigned long rt_pad1;
- struct sockaddr rt_dst; /* target address */
- struct sockaddr rt_gateway; /* gateway addr (RTF_GATEWAY) */
- struct sockaddr rt_genmask; /* target network mask (IP) */
- unsigned short rt_flags;
- short rt_pad2;
- unsigned long rt_pad3;
- void *rt_pad4;
- short rt_metric; /* +1 for binary compatibility! */
- char *rt_dev; /* forcing the device at add */
- unsigned long rt_mtu; /* per route MTU/Window */
-#ifndef __KERNEL__
-#define rt_mss rt_mtu /* Compatibility :-( */
-#endif
- unsigned long rt_window; /* Window clamping */
- unsigned short rt_irtt; /* Initial RTT */
-};
-
-#define RTF_UP 0x0001 /* route usable */
-#define RTF_GATEWAY 0x0002 /* destination is a gateway */
-#define RTF_HOST 0x0004 /* host entry (net otherwise) */
-#define RTF_REINSTATE 0x0008 /* reinstate route after tmout */
-#define RTF_DYNAMIC 0x0010 /* created dyn. (by redirect) */
-#define RTF_MODIFIED 0x0020 /* modified dyn. (by redirect) */
-#define RTF_MTU 0x0040 /* specific MTU for this route */
-#define RTF_MSS RTF_MTU /* Compatibility :-( */
-#define RTF_WINDOW 0x0080 /* per route window clamping */
-#define RTF_IRTT 0x0100 /* Initial round trip time */
-#define RTF_REJECT 0x0200 /* Reject route */
-
-struct in6_rtmsg {
- struct in6_addr rtmsg_dst;
- struct in6_addr rtmsg_src;
- struct in6_addr rtmsg_gateway;
- uint32_t rtmsg_type;
- uint16_t rtmsg_dst_len;
- uint16_t rtmsg_src_len;
- uint32_t rtmsg_metric;
- unsigned long int rtmsg_info;
- uint32_t rtmsg_flags;
- int rtmsg_ifindex;
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netdb.h b/mdk-stage1/dietlibc/include/netdb.h
deleted file mode 100644
index be64f659f..000000000
--- a/mdk-stage1/dietlibc/include/netdb.h
+++ /dev/null
@@ -1,124 +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 void setservent(int stayopen) __THROW;
-
-extern int getservent_r(struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) __THROW;
-extern int getservbyname_r(const char* name,const char* proto,
- struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) __THROW;
-extern int getservbyport_r(int port,const char* proto,
- struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) __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 *gethostent_r (char* buf,int len) __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
-#define NO_DATA 5
-
-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;
-
-int gethostbyname2_r(const char* name, int AF, 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;
-
-int getprotoent_r(struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) __THROW;
-int getprotobyname_r(const char* name,
- struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) __THROW;
-int getprotobynumber_r(int proto,
- struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) __THROW;
-
-
-void sethostent(int stayopen) __THROW;
-
-/* dummy */
-extern int h_errno;
-
-struct netent {
- char *n_name; /* official network name */
- char **n_aliases; /* alias list */
- int n_addrtype; /* net address type */
- unsigned long int n_net; /* network number */
-};
-
-struct netent *getnetbyaddr(unsigned long net, int type) __THROW;
-void endnetent(void) __THROW;
-void setnetent(int stayopen) __THROW;
-struct netent *getnetbyname(const char *name) __THROW;
-struct netent *getnetent(void) __THROW;
-
-extern const char *hstrerror (int err_num) __THROW;
-void herror(const char *s) __THROW;
-
-#define NI_MAXHOST 1025
-#define NI_MAXSERV 32
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/in.h b/mdk-stage1/dietlibc/include/netinet/in.h
deleted file mode 100644
index 9f98cc050..000000000
--- a/mdk-stage1/dietlibc/include/netinet/in.h
+++ /dev/null
@@ -1,404 +0,0 @@
-#ifndef _NETINET_IN_H
-#define _NETINET_IN_H
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <endian.h>
-
-/* Standard well-defined IP protocols. */
-enum {
- IPPROTO_IP = 0, /* Dummy protocol for TCP */
-#define IPPROTO_IP IPPROTO_IP
- IPPROTO_ICMP = 1, /* Internet Control Message Protocol */
-#define IPPROTO_ICMP IPPROTO_ICMP
- IPPROTO_IGMP = 2, /* Internet Group Management Protocol */
-#define IPPROTO_IGMP IPPROTO_IGMP
- IPPROTO_IPIP = 4, /* IPIP tunnels (older KA9Q tunnels use 94) */
-#define IPPROTO_IPIP IPPROTO_IPIP
- IPPROTO_TCP = 6, /* Transmission Control Protocol */
-#define IPPROTO_TCP IPPROTO_TCP
- IPPROTO_EGP = 8, /* Exterior Gateway Protocol */
-#define IPPROTO_EGP IPPROTO_EGP
- IPPROTO_PUP = 12, /* PUP protocol */
-#define IPPROTO_PUP IPPROTO_PUP
- IPPROTO_UDP = 17, /* User Datagram Protocol */
-#define IPPROTO_UDP IPPROTO_UDP
- IPPROTO_IDP = 22, /* XNS IDP protocol */
-#define IPPROTO_IDP IPPROTO_IDP
- IPPROTO_RSVP = 46, /* RSVP protocol */
-#define IPPROTO_RSVP IPPROTO_RSVP
- IPPROTO_GRE = 47, /* Cisco GRE tunnels (rfc 1701,1702) */
-#define IPPROTO_GRE IPPROTO_GRE
- IPPROTO_IPV6 = 41, /* IPv6-in-IPv4 tunnelling */
-#define IPPROTO_IPV6 IPPROTO_IPV6
- IPPROTO_PIM = 103, /* Protocol Independent Multicast */
-#define IPPROTO_PIM IPPROTO_PIM
- IPPROTO_ESP = 50, /* Encapsulation Security Payload protocol */
-#define IPPROTO_ESP IPPROTO_ESP
- IPPROTO_AH = 51, /* Authentication Header protocol */
-#define IPPROTO_AH IPPROTO_AH
- IPPROTO_COMP = 108, /* Compression Header protocol */
-#define IPPROTO_COMP IPPROTO_COMP
- IPPROTO_RAW = 255, /* Raw IP packets */
-#define IPPROTO_RAW IPPROTO_RAW
- IPPROTO_MAX
-};
-
-#define IP_TOS 1
-#define IP_TTL 2
-#define IP_HDRINCL 3
-#define IP_OPTIONS 4
-#define IP_ROUTER_ALERT 5
-#define IP_RECVOPTS 6
-#define IP_RETOPTS 7
-#define IP_PKTINFO 8
-#define IP_PKTOPTIONS 9
-#define IP_MTU_DISCOVER 10
-#define IP_RECVERR 11
-#define IP_RECVTTL 12
-#define IP_RECVTOS 13
-#define IP_MTU 14
-#define IP_FREEBIND 15
-
-/* BSD compatibility */
-#define IP_RECVRETOPTS IP_RETOPTS
-
-/* IP_MTU_DISCOVER values */
-#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
-#define IP_PMTUDISC_WANT 1 /* Use per route hints */
-#define IP_PMTUDISC_DO 2 /* Always DF */
-
-#define IP_MULTICAST_IF 32
-#define IP_MULTICAST_TTL 33
-#define IP_MULTICAST_LOOP 34
-#define IP_ADD_MEMBERSHIP 35
-#define IP_DROP_MEMBERSHIP 36
-
-/* These need to appear somewhere around here */
-#define IP_DEFAULT_MULTICAST_TTL 1
-#define IP_DEFAULT_MULTICAST_LOOP 1
-
-#define IN6ADDR_ANY_INIT {{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }}}
-#define IN6ADDR_LOOPBACK_INIT {{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }}}
-extern const struct in6_addr in6addr_any;
-extern const struct in6_addr in6addr_loopback;
-
-typedef uint16_t in_port_t;
-typedef uint32_t in_addr_t;
-
-struct in_addr {
- in_addr_t s_addr;
-};
-
-struct ip_mreq {
- struct in_addr imr_multiaddr; /* IP multicast address of group */
- struct in_addr imr_interface; /* local IP address of interface */
-};
-
-struct ip_mreqn {
- struct in_addr imr_multiaddr; /* IP multicast address of group */
- struct in_addr imr_address; /* local IP address of interface */
- int imr_ifindex; /* Interface index */
-};
-
-struct in_pktinfo {
- int ipi_ifindex;
- struct in_addr ipi_spec_dst;
- struct in_addr ipi_addr;
-};
-
-/* Structure describing an Internet (IP) socket address. */
-#define __SOCK_SIZE__ 16 /* sizeof(struct sockaddr) */
-struct sockaddr_in {
- sa_family_t sin_family; /* Address family */
- in_port_t sin_port; /* Port number */
- struct in_addr sin_addr; /* Internet address */
- /* Pad to size of `struct sockaddr'. */
- unsigned char sin_zero[__SOCK_SIZE__ - sizeof(short int) -
- sizeof(unsigned short int) - sizeof(struct in_addr)];
-};
-
-
-/*
- * Definitions of the bits in an Internet address integer.
- * On subnets, host and network parts are found according
- * to the subnet mask, not these masks.
- */
-#define IN_CLASSA(a) ((((long int) (a)) & 0x80000000) == 0)
-#define IN_CLASSA_NET 0xff000000
-#define IN_CLASSA_NSHIFT 24
-#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET)
-#define IN_CLASSA_MAX 128
-
-#define IN_CLASSB(a) ((((long int) (a)) & 0xc0000000) == 0x80000000)
-#define IN_CLASSB_NET 0xffff0000
-#define IN_CLASSB_NSHIFT 16
-#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET)
-#define IN_CLASSB_MAX 65536
-
-#define IN_CLASSC(a) ((((long int) (a)) & 0xe0000000) == 0xc0000000)
-#define IN_CLASSC_NET 0xffffff00
-#define IN_CLASSC_NSHIFT 8
-#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
-
-#define IN_CLASSD(a) ((((long int) (a)) & 0xf0000000) == 0xe0000000)
-#define IN_MULTICAST(a) IN_CLASSD(a)
-#define IN_MULTICAST_NET 0xF0000000
-
-#define IN_EXPERIMENTAL(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)
-#define IN_BADCLASS(a) IN_EXPERIMENTAL((a))
-
-/* Address to accept any incoming messages. */
-#define INADDR_ANY ((unsigned long int) 0x00000000)
-
-/* Address to send to all hosts. */
-#define INADDR_BROADCAST ((unsigned long int) 0xffffffff)
-
-/* Address indicating an error return. */
-#define INADDR_NONE ((unsigned long int) 0xffffffff)
-
-/* Network number for local host loopback. */
-#define IN_LOOPBACKNET 127
-
-/* Address to loopback in software to local host. */
-#define INADDR_LOOPBACK 0x7f000001 /* 127.0.0.1 */
-#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000)
-
-/* Defines for Multicast INADDR */
-#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
-#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
-#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
-#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
-
-struct in6_addr {
- union {
- uint8_t u6_addr8[16];
- uint16_t u6_addr16[8];
- uint32_t u6_addr32[4];
- } in6_u;
-#define s6_addr in6_u.u6_addr8
-#define s6_addr16 in6_u.u6_addr16
-#define s6_addr32 in6_u.u6_addr32
-};
-
-struct sockaddr_in6 {
- unsigned short int sin6_family; /* AF_INET6 */
- uint16_t sin6_port; /* Transport layer port # */
- uint32_t sin6_flowinfo; /* IPv6 flow information */
- struct in6_addr sin6_addr; /* IPv6 address */
- uint32_t sin6_scope_id; /* scope id (new in RFC2553) */
-};
-
-struct sockaddr_in_pad {
- sa_family_t sin_family; /* Address family */
- in_port_t sin_port; /* Port number */
- struct in_addr sin_addr; /* Internet address */
- /* Pad to size of `struct sockaddr_in6'. */
- unsigned char sin_zero[sizeof(struct sockaddr_in6) - sizeof(short int) -
- sizeof(unsigned short int) - sizeof(struct in_addr)];
-};
-
-struct ipv6_mreq {
- /* IPv6 multicast address of group */
- struct in6_addr ipv6mr_multiaddr;
- /* local IPv6 address of interface */
- int ipv6mr_interface;
-};
-
-struct in6_flowlabel_req {
- struct in6_addr flr_dst;
- uint32_t flr_label;
- uint8_t flr_action;
- uint8_t flr_share;
- uint16_t flr_flags;
- uint16_t flr_expires;
- uint16_t flr_linger;
- uint32_t __flr_pad;
- /* Options in format of IPV6_PKTOPTIONS */
-};
-
-#define IPV6_FL_A_GET 0
-#define IPV6_FL_A_PUT 1
-#define IPV6_FL_A_RENEW 2
-
-#define IPV6_FL_F_CREATE 1
-#define IPV6_FL_F_EXCL 2
-
-#define IPV6_FL_S_NONE 0
-#define IPV6_FL_S_EXCL 1
-#define IPV6_FL_S_PROCESS 2
-#define IPV6_FL_S_USER 3
-#define IPV6_FL_S_ANY 255
-
-#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
-#define IPV6_FLOWINFO_PRIORITY 0x0ff00000
-
-/*
- * IPV6 extension headers
- */
-#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */
-#define IPPROTO_ROUTING 43 /* IPv6 routing header */
-#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
-#define IPPROTO_ICMPV6 58 /* ICMPv6 */
-#define IPPROTO_NONE 59 /* IPv6 no next header */
-#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
-
-/* IPv6 TLV options. */
-#define IPV6_TLV_PAD0 0
-#define IPV6_TLV_PADN 1
-#define IPV6_TLV_ROUTERALERT 5
-#define IPV6_TLV_JUMBO 194
-
-/* IPV6 socket options. */
-#define IPV6_ADDRFORM 1
-#define IPV6_PKTINFO 2
-#define IPV6_HOPOPTS 3
-#define IPV6_DSTOPTS 4
-#define IPV6_RTHDR 5
-#define IPV6_PKTOPTIONS 6
-#define IPV6_CHECKSUM 7
-#define IPV6_HOPLIMIT 8
-#define IPV6_NEXTHOP 9
-#define IPV6_AUTHHDR 10
-#define IPV6_FLOWINFO 11
-
-#define IPV6_UNICAST_HOPS 16
-#define IPV6_MULTICAST_IF 17
-#define IPV6_MULTICAST_HOPS 18
-#define IPV6_MULTICAST_LOOP 19
-#define IPV6_ADD_MEMBERSHIP 20
-#define IPV6_DROP_MEMBERSHIP 21
-#define IPV6_ROUTER_ALERT 22
-#define IPV6_MTU_DISCOVER 23
-#define IPV6_MTU 24
-#define IPV6_RECVERR 25
-
-/* IPV6_MTU_DISCOVER values */
-#define IPV6_PMTUDISC_DONT 0
-#define IPV6_PMTUDISC_WANT 1
-#define IPV6_PMTUDISC_DO 2
-
-/* Flowlabel */
-#define IPV6_FLOWLABEL_MGR 32
-#define IPV6_FLOWINFO_SEND 33
-
-#define IPV6_MIN_MTU 1280
-
-struct in6_pktinfo {
- struct in6_addr ipi6_addr;
- int ipi6_ifindex;
-};
-
-struct in6_ifreq {
- struct in6_addr ifr6_addr;
- uint32_t ifr6_prefixlen;
- int ifr6_ifindex;
-};
-
-#define IPV6_SRCRT_STRICT 0x01 /* this hop must be a neighbor */
-#define IPV6_SRCRT_TYPE_0 0 /* IPv6 type 0 Routing Header */
-
-/* routing header */
-struct ipv6_rt_hdr {
- uint8_t nexthdr;
- uint8_t hdrlen;
- uint8_t type;
- uint8_t segments_left;
- /* type specific data, variable length field */
-};
-
-struct ipv6_opt_hdr {
- uint8_t nexthdr;
- uint8_t hdrlen;
- /* TLV encoded option data follows. */
-};
-
-#define ipv6_destopt_hdr ipv6_opt_hdr
-#define ipv6_hopopt_hdr ipv6_opt_hdr
-
-/* routing header type 0 (used in cmsghdr struct) */
-
-#ifndef __STRICT_ANSI__
-struct rt0_hdr {
- struct ipv6_rt_hdr rt_hdr;
- uint32_t bitmap; /* strict/loose bit map */
- struct in6_addr addr[0];
-#define rt0_type rt_hdr.type;
-};
-#endif
-
-struct ipv6hdr {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- unsigned int flow_lbl:20,
- priority:8,
- version:4;
-#else
- unsigned int version:4,
- priority:8,
- flow_lbl:20;
-#endif
-
- uint16_t payload_len;
- uint8_t nexthdr;
- uint8_t hop_limit;
-
- struct in6_addr saddr;
- struct in6_addr daddr;
-};
-/* fnord */
-
-#define IPPORT_RESERVED 1024
-#define INET6_ADDRSTRLEN 46
-
-#undef htonl
-#undef htons
-#undef ntohl
-#undef ntohs
-uint32_t htonl(uint32_t hostlong);
-uint16_t htons(uint16_t hostshort);
-uint32_t ntohl(uint32_t netlong);
-uint16_t ntohs(uint16_t netshort);
-
-#define IN6_IS_ADDR_UNSPECIFIED(a) \
- (((__const uint32_t *) (a))[0] == 0 \
- && ((__const uint32_t *) (a))[1] == 0 \
- && ((__const uint32_t *) (a))[2] == 0 \
- && ((__const uint32_t *) (a))[3] == 0)
-
-#define IN6_IS_ADDR_LOOPBACK(a) \
- (((__const uint32_t *) (a))[0] == 0 \
- && ((__const uint32_t *) (a))[1] == 0 \
- && ((__const uint32_t *) (a))[2] == 0 \
- && ((__const uint32_t *) (a))[3] == htonl (1))
-
-#define IN6_IS_ADDR_MULTICAST(a) (((__const uint8_t *) (a))[0] == 0xff)
-
-#define IN6_IS_ADDR_LINKLOCAL(a) \
- ((((__const uint32_t *) (a))[0] & htonl (0xffc00000)) \
- == htonl (0xfe800000))
-
-#define IN6_IS_ADDR_SITELOCAL(a) \
- ((((__const uint32_t *) (a))[0] & htonl (0xffc00000)) \
- == htonl (0xfec00000))
-
-#define IN6_IS_ADDR_V4MAPPED(a) \
- ((((__const uint32_t *) (a))[0] == 0) \
- && (((__const uint32_t *) (a))[1] == 0) \
- && (((__const uint32_t *) (a))[2] == htonl (0xffff)))
-
-#define IN6_IS_ADDR_V4COMPAT(a) \
- ((((__const uint32_t *) (a))[0] == 0) \
- && (((__const uint32_t *) (a))[1] == 0) \
- && (((__const uint32_t *) (a))[2] == 0) \
- && (ntohl (((__const uint32_t *) (a))[3]) > 1))
-
-#define IN6_ARE_ADDR_EQUAL(a,b) \
- ((((__const uint32_t *) (a))[0] == ((__const uint32_t *) (b))[0]) \
- && (((__const uint32_t *) (a))[1] == ((__const uint32_t *) (b))[1]) \
- && (((__const uint32_t *) (a))[2] == ((__const uint32_t *) (b))[2]) \
- && (((__const uint32_t *) (a))[3] == ((__const uint32_t *) (b))[3]))
-
-/* old legacy bullshit */
-int bindresvport(int sd, struct sockaddr_in* sin);
-
-#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 4ebf21706..000000000
--- a/mdk-stage1/dietlibc/include/netinet/ip.h
+++ /dev/null
@@ -1,121 +0,0 @@
-#ifndef _NETINET_IP_H
-#define _NETINET_IP_H
-
-#include <inttypes.h>
-#include <endian.h>
-#include <netinet/in.h>
-
-#define IPVERSION 4 /* IP version number */
-#define IP_MAXPACKET 65535 /* maximum packet size */
-
-#define IPTOS_TOS_MASK 0x1E
-#define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK)
-#define IPTOS_LOWDELAY 0x10
-#define IPTOS_THROUGHPUT 0x08
-#define IPTOS_RELIABILITY 0x04
-#define IPTOS_MINCOST 0x02
-#define IPTOS_LOWCOST IPTOS_MINCOST
-
-#define IPTOS_PREC_MASK 0xE0
-#define IPTOS_PREC(tos) ((tos)&IPTOS_PREC_MASK)
-#define IPTOS_PREC_NETCONTROL 0xe0
-#define IPTOS_PREC_INTERNETCONTROL 0xc0
-#define IPTOS_PREC_CRITIC_ECP 0xa0
-#define IPTOS_PREC_FLASHOVERRIDE 0x80
-#define IPTOS_PREC_FLASH 0x60
-#define IPTOS_PREC_IMMEDIATE 0x40
-#define IPTOS_PREC_PRIORITY 0x20
-#define IPTOS_PREC_ROUTINE 0x00
-
-
-/* IP options */
-#define IPOPT_COPY 0x80
-#define IPOPT_CLASS_MASK 0x60
-#define IPOPT_NUMBER_MASK 0x1f
-
-#define IPOPT_COPIED(o) ((o)&IPOPT_COPY)
-#define IPOPT_CLASS(o) ((o)&IPOPT_CLASS_MASK)
-#define IPOPT_NUMBER(o) ((o)&IPOPT_NUMBER_MASK)
-
-#define IPOPT_CONTROL 0x00
-#define IPOPT_RESERVED1 0x20
-#define IPOPT_MEASUREMENT 0x40
-#define IPOPT_RESERVED2 0x60
-
-#define IPOPT_END (0 |IPOPT_CONTROL)
-#define IPOPT_NOOP (1 |IPOPT_CONTROL)
-#define IPOPT_SEC (2 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_LSRR (3 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_TIMESTAMP (4 |IPOPT_MEASUREMENT)
-#define IPOPT_RR (7 |IPOPT_CONTROL)
-#define IPOPT_SID (8 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_SSRR (9 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_RA (20|IPOPT_CONTROL|IPOPT_COPY)
-
-#define IPVERSION 4
-#define MAXTTL 255
-#define IPDEFTTL 64
-
-/* struct timestamp, struct route and MAX_ROUTES are removed.
-
- REASONS: it is clear that nobody used them because:
- - MAX_ROUTES value was wrong.
- - "struct route" was wrong.
- - "struct timestamp" had fatally misaligned bitfields and was completely unusable.
- */
-
-#define IPOPT_OPTVAL 0
-#define IPOPT_OLEN 1
-#define IPOPT_OFFSET 2
-#define IPOPT_MINOFF 4
-#define MAX_IPOPTLEN 40
-#define IPOPT_NOP IPOPT_NOOP
-#define IPOPT_EOL IPOPT_END
-#define IPOPT_TS IPOPT_TIMESTAMP
-
-#define IPOPT_TS_TSONLY 0 /* timestamps only */
-#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */
-#define IPOPT_TS_PRESPEC 3 /* specified modules only */
-
-struct iphdr { /* size 20/0x14 */
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- unsigned int ihl:4, version:4; /* offset 0; version=ip version (4) */
-#else
- unsigned int version:4, ihl:4; /* offset 0; ihl=ip header length, measured in words (5) */
-#endif
- unsigned char tos; /* offset 1 */
- unsigned short tot_len; /* offset 2; total bytes in packet in network byte order */
- unsigned short id; /* offset 4 */
- unsigned short frag_off; /* offset 6 */
- unsigned char ttl; /* offset 8 */
- unsigned char protocol; /* offset 9; 1=ICMP, 6=TCP, 17=UDP (see netinet/in.h) */
- unsigned short check; /* offset 10/0xa */
- unsigned int saddr; /* offset 12/0xc */
- unsigned int daddr; /* offset 16/0x10 */
- /*The options start here. */
-};
-
-struct ip {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- unsigned int ip_hl:4; /* header length */
- unsigned int ip_v:4; /* version */
-#endif
-#if __BYTE_ORDER == __BIG_ENDIAN
- unsigned int ip_v:4; /* version */
- unsigned int ip_hl:4; /* header length */
-#endif
- unsigned char ip_tos; /* type of service */
- unsigned short ip_len; /* total length */
- unsigned short ip_id; /* identification */
- unsigned short ip_off; /* fragment offset field */
-#define IP_RF 0x8000 /* reserved fragment flag */
-#define IP_DF 0x4000 /* dont fragment flag */
-#define IP_MF 0x2000 /* more fragments flag */
-#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
- unsigned char ip_ttl; /* time to live */
- unsigned char ip_p; /* protocol */
- unsigned short ip_sum; /* checksum */
- struct in_addr ip_src, ip_dst; /* source and dest address */
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/ip_icmp.h b/mdk-stage1/dietlibc/include/netinet/ip_icmp.h
deleted file mode 100644
index cf8e016f7..000000000
--- a/mdk-stage1/dietlibc/include/netinet/ip_icmp.h
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef NETINET_IP_ICMP_H
-#define NETINET_IP_ICMP_H
-
-#include <sys/cdefs.h>
-#include <inttypes.h>
-#include <netinet/ip.h>
-
-struct icmphdr {
- uint8_t type; /* message type */
- uint8_t code; /* type sub-code */
- uint16_t checksum;
- union {
- struct {
- uint16_t id;
- uint16_t sequence;
- } echo; /* echo datagram */
- uint32_t gateway; /* gateway address */
- struct {
- uint16_t __unused;
- uint16_t mtu;
- } frag; /* path mtu discovery */
- } un;
-};
-
-#define ICMP_ECHOREPLY 0 /* Echo Reply */
-#define ICMP_DEST_UNREACH 3 /* Destination Unreachable */
-#define ICMP_SOURCE_QUENCH 4 /* Source Quench */
-#define ICMP_REDIRECT 5 /* Redirect (change route) */
-#define ICMP_ECHO 8 /* Echo Request */
-#define ICMP_TIME_EXCEEDED 11 /* Time Exceeded */
-#define ICMP_PARAMETERPROB 12 /* Parameter Problem */
-#define ICMP_TIMESTAMP 13 /* Timestamp Request */
-#define ICMP_TIMESTAMPREPLY 14 /* Timestamp Reply */
-#define ICMP_INFO_REQUEST 15 /* Information Request */
-#define ICMP_INFO_REPLY 16 /* Information Reply */
-#define ICMP_ADDRESS 17 /* Address Mask Request */
-#define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */
-#define NR_ICMP_TYPES 18
-
-
-/* Codes for UNREACH. */
-#define ICMP_NET_UNREACH 0 /* Network Unreachable */
-#define ICMP_HOST_UNREACH 1 /* Host Unreachable */
-#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */
-#define ICMP_PORT_UNREACH 3 /* Port Unreachable */
-#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */
-#define ICMP_SR_FAILED 5 /* Source Route failed */
-#define ICMP_NET_UNKNOWN 6
-#define ICMP_HOST_UNKNOWN 7
-#define ICMP_HOST_ISOLATED 8
-#define ICMP_NET_ANO 9
-#define ICMP_HOST_ANO 10
-#define ICMP_NET_UNR_TOS 11
-#define ICMP_HOST_UNR_TOS 12
-#define ICMP_PKT_FILTERED 13 /* Packet filtered */
-#define ICMP_PREC_VIOLATION 14 /* Precedence violation */
-#define ICMP_PREC_CUTOFF 15 /* Precedence cut off */
-#define NR_ICMP_UNREACH 15 /* instead of hardcoding immediate value */
-
-/* Codes for REDIRECT. */
-#define ICMP_REDIR_NET 0 /* Redirect Net */
-#define ICMP_REDIR_HOST 1 /* Redirect Host */
-#define ICMP_REDIR_NETTOS 2 /* Redirect Net for TOS */
-#define ICMP_REDIR_HOSTTOS 3 /* Redirect Host for TOS */
-
-/* Codes for TIME_EXCEEDED. */
-#define ICMP_EXC_TTL 0 /* TTL count exceeded */
-#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */
-
-/*
- * Lower bounds on packet lengths for various types.
- * For the error advice packets must first insure that the
- * packet is large enough to contain the returned ip header.
- * Only then can we do the check to see if 64 bits of packet
- * data have been returned, since we need to check the returned
- * ip header length.
- */
-#define ICMP_MINLEN 8 /* abs minimum */
-#define ICMP_TSLEN (8 + 3 * sizeof (n_time)) /* timestamp */
-#define ICMP_MASKLEN 12 /* address mask */
-#define ICMP_ADVLENMIN (8 + sizeof (struct ip) + 8) /* min */
-#ifndef _IP_VHL
-#define ICMP_ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8)
- /* N.B.: must separately check that ip_hl >= 5 */
-#else
-#define ICMP_ADVLEN(p) (8 + (IP_VHL_HL((p)->icmp_ip.ip_vhl) << 2) + 8)
- /* N.B.: must separately check that header length >= 5 */
-#endif
-
-/* Definition of type and code fields. */
-/* defined above: ICMP_ECHOREPLY, ICMP_REDIRECT, ICMP_ECHO */
-#define ICMP_UNREACH 3 /* dest unreachable, codes: */
-#define ICMP_SOURCEQUENCH 4 /* packet lost, slow down */
-#define ICMP_ROUTERADVERT 9 /* router advertisement */
-#define ICMP_ROUTERSOLICIT 10 /* router solicitation */
-#define ICMP_TIMXCEED 11 /* time exceeded, code: */
-#define ICMP_PARAMPROB 12 /* ip header bad */
-#define ICMP_TSTAMP 13 /* timestamp request */
-#define ICMP_TSTAMPREPLY 14 /* timestamp reply */
-#define ICMP_IREQ 15 /* information request */
-#define ICMP_IREQREPLY 16 /* information reply */
-#define ICMP_MASKREQ 17 /* address mask request */
-#define ICMP_MASKREPLY 18 /* address mask reply */
-
-#define ICMP_MAXTYPE 18
-
-/* UNREACH codes */
-#define ICMP_UNREACH_NET 0 /* bad net */
-#define ICMP_UNREACH_HOST 1 /* bad host */
-#define ICMP_UNREACH_PROTOCOL 2 /* bad protocol */
-#define ICMP_UNREACH_PORT 3 /* bad port */
-#define ICMP_UNREACH_NEEDFRAG 4 /* IP_DF caused drop */
-#define ICMP_UNREACH_SRCFAIL 5 /* src route failed */
-#define ICMP_UNREACH_NET_UNKNOWN 6 /* unknown net */
-#define ICMP_UNREACH_HOST_UNKNOWN 7 /* unknown host */
-#define ICMP_UNREACH_ISOLATED 8 /* src host isolated */
-#define ICMP_UNREACH_NET_PROHIB 9 /* net denied */
-#define ICMP_UNREACH_HOST_PROHIB 10 /* host denied */
-#define ICMP_UNREACH_TOSNET 11 /* bad tos for net */
-#define ICMP_UNREACH_TOSHOST 12 /* bad tos for host */
-#define ICMP_UNREACH_FILTER_PROHIB 13 /* admin prohib */
-#define ICMP_UNREACH_HOST_PRECEDENCE 14 /* host prec vio. */
-#define ICMP_UNREACH_PRECEDENCE_CUTOFF 15 /* prec cutoff */
-
-/* REDIRECT codes */
-#define ICMP_REDIRECT_NET 0 /* for network */
-#define ICMP_REDIRECT_HOST 1 /* for host */
-#define ICMP_REDIRECT_TOSNET 2 /* for tos and net */
-#define ICMP_REDIRECT_TOSHOST 3 /* for tos and host */
-
-/* TIMEXCEED codes */
-#define ICMP_TIMXCEED_INTRANS 0 /* ttl==0 in transit */
-#define ICMP_TIMXCEED_REASS 1 /* ttl==0 in reass */
-
-/* PARAMPROB code */
-#define ICMP_PARAMPROB_OPTABSENT 1 /* req. opt. absent */
-
-#define ICMP_INFOTYPE(type) \
- ((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \
- (type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT || \
- (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \
- (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \
- (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/tcp.h b/mdk-stage1/dietlibc/include/netinet/tcp.h
deleted file mode 100644
index e47f24dff..000000000
--- a/mdk-stage1/dietlibc/include/netinet/tcp.h
+++ /dev/null
@@ -1,164 +0,0 @@
-#ifndef _NETINET_TCP_H
-#define _NETINET_TCP_H
-
-#include <inttypes.h>
-#include <endian.h>
-
-struct tcphdr { /* size 20/0x14 40/0x28 with IP header */
- uint16_t source; /* offset 0 20/0x14 */
- uint16_t dest; /* offset 2 22/0x16 */
- uint32_t seq; /* offset 4 24/0x18 */
- uint32_t ack_seq; /* offset 8 28/0x1c */
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- uint16_t res1:4, doff:4, fin:1, syn:1, rst:1, psh:1, ack:1, urg:1, ece:1, cwr:1;
-#else
- uint16_t doff:4, res1:4, cwr:1, ece:1, urg:1, ack:1, psh:1, rst:1, syn:1, fin:1;
-#endif
- /* offset 12/0xc 32/0x20 */
- uint16_t window; /* offset 14/0xe 34/0x22 */
- uint16_t check; /* offset 16/0x10 36/0x24 */
- uint16_t urg_ptr; /* offset 18/0x12 38/0x26 */
-};
-
-
-enum {
- TCP_ESTABLISHED = 1,
- TCP_SYN_SENT,
- TCP_SYN_RECV,
- TCP_FIN_WAIT1,
- TCP_FIN_WAIT2,
- TCP_TIME_WAIT,
- TCP_CLOSE,
- TCP_CLOSE_WAIT,
- TCP_LAST_ACK,
- TCP_LISTEN,
- TCP_CLOSING, /* now a valid state */
-
- TCP_MAX_STATES /* Leave at the end! */
-};
-
-#define TCP_STATE_MASK 0xF
-#define TCP_ACTION_FIN (1 << 7)
-
-enum {
- TCPF_ESTABLISHED = (1 << 1),
- TCPF_SYN_SENT = (1 << 2),
- TCPF_SYN_RECV = (1 << 3),
- TCPF_FIN_WAIT1 = (1 << 4),
- TCPF_FIN_WAIT2 = (1 << 5),
- TCPF_TIME_WAIT = (1 << 6),
- TCPF_CLOSE = (1 << 7),
- TCPF_CLOSE_WAIT = (1 << 8),
- TCPF_LAST_ACK = (1 << 9),
- TCPF_LISTEN = (1 << 10),
- TCPF_CLOSING = (1 << 11)
-};
-
-/*
- * The union cast uses a gcc extension to avoid aliasing problems
- * (union is compatible to any of its members)
- * This means this part of the code is -fstrict-aliasing safe now.
- */
-union tcp_word_hdr {
- struct tcphdr hdr;
- uint32_t words[5];
-};
-
-#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
-
-enum {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- TCP_FLAG_CWR = 0x00008000,
- TCP_FLAG_ECE = 0x00004000,
- TCP_FLAG_URG = 0x00002000,
- TCP_FLAG_ACK = 0x00001000,
- TCP_FLAG_PSH = 0x00000800,
- TCP_FLAG_RST = 0x00000400,
- TCP_FLAG_SYN = 0x00000200,
- TCP_FLAG_FIN = 0x00000100,
- TCP_RESERVED_BITS = 0x0000C00F,
- TCP_DATA_OFFSET = 0x000000F0
-#else
- TCP_FLAG_CWR = 0x00800000,
- TCP_FLAG_ECE = 0x00400000,
- TCP_FLAG_URG = 0x00200000,
- TCP_FLAG_ACK = 0x00100000,
- TCP_FLAG_PSH = 0x00080000,
- TCP_FLAG_RST = 0x00040000,
- TCP_FLAG_SYN = 0x00020000,
- TCP_FLAG_FIN = 0x00010000,
- TCP_RESERVED_BITS = 0x0FC00000,
- TCP_DATA_OFFSET = 0xF0000000
-#endif
-};
-
-/* TCP socket options */
-#define TCP_NODELAY 1 /* Turn off Nagle's algorithm. */
-#define TCP_MAXSEG 2 /* Limit MSS */
-#define TCP_CORK 3 /* Never send partially complete segments */
-#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
-#define TCP_KEEPINTVL 5 /* Interval between keepalives */
-#define TCP_KEEPCNT 6 /* Number of keepalives before death */
-#define TCP_SYNCNT 7 /* Number of SYN retransmits */
-#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */
-#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */
-#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */
-#define TCP_INFO 11 /* Information about this connection. */
-#define TCP_QUICKACK 12 /* Block/reenable quick acks */
-
-#define TCPI_OPT_TIMESTAMPS 1
-#define TCPI_OPT_SACK 2
-#define TCPI_OPT_WSCALE 4
-#define TCPI_OPT_ECN 8
-
-enum tcp_ca_state {
- TCP_CA_Open = 0,
-#define TCPF_CA_Open (1<<TCP_CA_Open)
- TCP_CA_Disorder = 1,
-#define TCPF_CA_Disorder (1<<TCP_CA_Disorder)
- TCP_CA_CWR = 2,
-#define TCPF_CA_CWR (1<<TCP_CA_CWR)
- TCP_CA_Recovery = 3,
-#define TCPF_CA_Recovery (1<<TCP_CA_Recovery)
- TCP_CA_Loss = 4
-#define TCPF_CA_Loss (1<<TCP_CA_Loss)
-};
-
-struct tcp_info {
- uint8_t tcpi_state;
- uint8_t tcpi_ca_state;
- uint8_t tcpi_retransmits;
- uint8_t tcpi_probes;
- uint8_t tcpi_backoff;
- uint8_t tcpi_options;
- uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-
- uint32_t tcpi_rto;
- uint32_t tcpi_ato;
- uint32_t tcpi_snd_mss;
- uint32_t tcpi_rcv_mss;
-
- uint32_t tcpi_unacked;
- uint32_t tcpi_sacked;
- uint32_t tcpi_lost;
- uint32_t tcpi_retrans;
- uint32_t tcpi_fackets;
-
- /* Times. */
- uint32_t tcpi_last_data_sent;
- uint32_t tcpi_last_ack_sent; /* Not remembered, sorry. */
- uint32_t tcpi_last_data_recv;
- uint32_t tcpi_last_ack_recv;
-
- /* Metrics. */
- uint32_t tcpi_pmtu;
- uint32_t tcpi_rcv_ssthresh;
- uint32_t tcpi_rtt;
- uint32_t tcpi_rttvar;
- uint32_t tcpi_snd_ssthresh;
- uint32_t tcpi_snd_cwnd;
- uint32_t tcpi_advmss;
- uint32_t tcpi_reordering;
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/udp.h b/mdk-stage1/dietlibc/include/netinet/udp.h
deleted file mode 100644
index 3c5e9524e..000000000
--- a/mdk-stage1/dietlibc/include/netinet/udp.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _NETINET_UDP_H
-#define _NETINET_UDP_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct udphdr { /* size 8 28/0x1c with IP header */
- uint16_t source; /* offset 0 20/0x14 */
- uint16_t dest; /* offset 2 22/0x16 */
- uint16_t len; /* offset 4 24/0x18 */
- uint16_t check; /* offset 6 26/0x1a */
-};
-
-#define SOL_UDP 17 /* sockopt level for UDP */
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netpacket/packet.h b/mdk-stage1/dietlibc/include/netpacket/packet.h
deleted file mode 100644
index b265094c6..000000000
--- a/mdk-stage1/dietlibc/include/netpacket/packet.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef __NETPACKET_PACKET_H
-#define __NETPACKET_PACKET_H
-
-struct sockaddr_ll {
- unsigned short int sll_family;
- unsigned short int sll_protocol;
- int sll_ifindex;
- unsigned short int sll_hatype;
- unsigned char sll_pkttype;
- unsigned char sll_halen;
- unsigned char sll_addr[8];
-};
-
-#define PACKET_HOST 0 /* To us. */
-#define PACKET_BROADCAST 1 /* To all. */
-#define PACKET_MULTICAST 2 /* To group. */
-#define PACKET_OTHERHOST 3 /* To someone else. */
-#define PACKET_OUTGOING 4 /* Originated by us. */
-#define PACKET_LOOPBACK 5
-#define PACKET_FASTROUTE 6
-
-/* Packet socket options. */
-
-#define PACKET_ADD_MEMBERSHIP 1
-#define PACKET_DROP_MEMBERSHIP 2
-#define PACKET_RECV_OUTPUT 3
-#define PACKET_RX_RING 5
-#define PACKET_STATISTICS 6
-
-struct packet_mreq {
- int mr_ifindex;
- unsigned short int mr_type;
- unsigned short int mr_alen;
- unsigned char mr_address[8];
-};
-
-#define PACKET_MR_MULTICAST 0
-#define PACKET_MR_PROMISC 1
-#define PACKET_MR_ALLMULTI 2
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/paths.h b/mdk-stage1/dietlibc/include/paths.h
deleted file mode 100644
index 9073d267a..000000000
--- a/mdk-stage1/dietlibc/include/paths.h
+++ /dev/null
@@ -1,23 +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"
-
-#define _PATH_SHELLS "/etc/shells"
-
-#define _PATH_VARRUN "/var/run/"
-
-/* puke */
-#define _PATH_MAILDIR "/var/mail"
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pthread.h b/mdk-stage1/dietlibc/include/pthread.h
deleted file mode 100644
index e243c0281..000000000
--- a/mdk-stage1/dietlibc/include/pthread.h
+++ /dev/null
@@ -1,244 +0,0 @@
-#ifndef _PTHREAD_H
-#define _PTHREAD_H 1
-
-#include <sched.h>
-#include <signal.h>
-#include <setjmp.h>
-
-#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 int pthread_t;
-
-/* Fast locks */
-#ifdef __parisc__
-#define PTHREAD_SPIN_LOCKED 0
-#define PTHREAD_SPIN_UNLOCKED 1
-#else
-#define PTHREAD_SPIN_LOCKED 1
-#define PTHREAD_SPIN_UNLOCKED 0
-#endif
-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 \
-{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_FAST_NP, 0}
-
-#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
-{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0}
-
-#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
-{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0}
-
-typedef struct {
- int __mutexkind;
-} pthread_mutexattr_t;
-
-int pthread_mutexattr_init(pthread_mutexattr_t *attr);
-int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);
-
-int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind);
-int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind);
-
-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 \
-{{PTHREAD_SPIN_UNLOCKED},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);
-
-int pthread_setschedparam(pthread_t target_thread, int policy,
- const struct sched_param *param);
-int pthread_getschedparam(pthread_t target_thread, int *policy,
- struct sched_param *param);
-
-/* ONCE */
-typedef int pthread_once_t;
-#define PTHREAD_ONCE_INIT PTHREAD_SPIN_UNLOCKED
-
-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 *__threadarg,
- 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);
-
-int pthread_sigmask(int how, const sigset_t*newset, sigset_t *oldset);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pty.h b/mdk-stage1/dietlibc/include/pty.h
deleted file mode 100644
index fa53d9934..000000000
--- a/mdk-stage1/dietlibc/include/pty.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _PTY_H
-#define _PTY_H
-
-#include <sys/cdefs.h>
-#include <termios.h>
-
-/* Create pseudo tty master slave pair with NAME and set terminal
- * attributes according to TERMP and WINP and return handles for both
- * ends in AMASTER and ASLAVE. */
-extern int openpty (int *__amaster, int *__aslave, char *__name, struct
- termios *__termp, struct winsize *__winp) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pwd.h b/mdk-stage1/dietlibc/include/pwd.h
deleted file mode 100644
index 8901a2d7f..000000000
--- a/mdk-stage1/dietlibc/include/pwd.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _PWD_H
-#define _PWD_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <stdio.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;
-extern int putpwent(const struct passwd *p, FILE *stream) __THROW;
-
-int getpwent_r(struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) __THROW;
-int getpwnam_r(const char* name,
- struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) __THROW;
-int getpwuid_r(uid_t uid,
- struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/regex.h b/mdk-stage1/dietlibc/include/regex.h
deleted file mode 100644
index abc9ab57b..000000000
--- a/mdk-stage1/dietlibc/include/regex.h
+++ /dev/null
@@ -1,71 +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;
-#define re_nsub r.pieces
-
-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 */
-};
-
-char * re_comp(char * regex);
-int re_exec(char * string);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/resolv.h b/mdk-stage1/dietlibc/include/resolv.h
deleted file mode 100644
index dae226582..000000000
--- a/mdk-stage1/dietlibc/include/resolv.h
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifndef _RESOLV_H
-#define _RESOLV_H
-
-#include <sys/param.h>
-#include <sys/types.h>
-#include <stdio.h>
-#include <netinet/in.h>
-
-#ifndef _PATH_RESCONF
-#define _PATH_RESCONF "/etc/resolv.conf"
-#endif
-
-/*
- * Global defines and variables for resolver stub.
- */
-#define MAXNS 8 /* max # name servers we'll track */
-#define MAXDFLSRCH 3 /* # default domain levels to try */
-#define MAXDNSRCH 6 /* max # domains in search path */
-#define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */
-
-#define RES_TIMEOUT 5 /* min. seconds between retries */
-#define MAXRESOLVSORT 10 /* number of net to sort on */
-#define RES_MAXNDOTS 15 /* should reflect bit field size */
-
-struct res_state {
- int retrans; /* retransmission time interval */
- int retry; /* number of times to retransmit */
- unsigned long options; /* option flags - see below. */
- int nscount; /* number of name servers */
- struct sockaddr_in_pad
- nsaddr_list[MAXNS]; /* address of name server */
-#define nsaddr nsaddr_list[0] /* for backward compatibility */
- unsigned short id; /* current message id */
- char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */
- char defdname[256]; /* default domain (deprecated) */
- unsigned long pfcode; /* RES_PRF_ flags - see below. */
- unsigned ndots:4; /* threshold for initial abs. query */
- unsigned nsort:4; /* number of elements in sort_list[] */
- char unused[3];
- struct {
- struct in_addr addr;
- uint32_t mask;
- } sort_list[MAXRESOLVSORT];
- char pad[72]; /* on an i386 this means 512b total */
-};
-
-/*
- * Resolver options (keep these in synch with res_debug.c, please)
- */
-#define RES_INIT 0x00000001 /* address initialized */
-#define RES_DEBUG 0x00000002 /* print debug messages */
-#define RES_AAONLY 0x00000004 /* authoritative answers only (!IMPL)*/
-#define RES_USEVC 0x00000008 /* use virtual circuit */
-#define RES_PRIMARY 0x00000010 /* query primary server only (!IMPL) */
-#define RES_IGNTC 0x00000020 /* ignore trucation errors */
-#define RES_RECURSE 0x00000040 /* recursion desired */
-#define RES_DEFNAMES 0x00000080 /* use default domain name */
-#define RES_STAYOPEN 0x00000100 /* Keep TCP socket open */
-#define RES_DNSRCH 0x00000200 /* search up local domain tree */
-#define RES_INSECURE1 0x00000400 /* type 1 security disabled */
-#define RES_INSECURE2 0x00000800 /* type 2 security disabled */
-#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */
-#define RES_USE_INET6 0x00002000 /* use/map IPv6 in gethostbyname() */
-
-#define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)
-
-/*
- * Resolver "pfcode" values. Used by dig.
- */
-#define RES_PRF_STATS 0x00000001
-/* 0x00000002 */
-#define RES_PRF_CLASS 0x00000004
-#define RES_PRF_CMD 0x00000008
-#define RES_PRF_QUES 0x00000010
-#define RES_PRF_ANS 0x00000020
-#define RES_PRF_AUTH 0x00000040
-#define RES_PRF_ADD 0x00000080
-#define RES_PRF_HEAD1 0x00000100
-#define RES_PRF_HEAD2 0x00000200
-#define RES_PRF_TTLID 0x00000400
-#define RES_PRF_HEADX 0x00000800
-#define RES_PRF_QUERY 0x00001000
-#define RES_PRF_REPLY 0x00002000
-#define RES_PRF_INIT 0x00004000
-/* 0x00008000 */
-
-struct res_sym {
- int number; /* Identifying number, like T_MX */
- char * name; /* Its symbolic name, like "MX" */
- char * humanname; /* Its fun name, like "mail exchanger" */
-};
-
-extern struct res_state _res;
-extern const struct res_sym __p_class_syms[];
-extern const struct res_sym __p_type_syms[];
-
-int res_init(void) __THROW;
-
-int res_query(const char *dname, int class, int type,
- unsigned char *answer, int anslen) __THROW;
-
-int res_search(const char *dname, int class, int type,
- unsigned char *answer, int anslen) __THROW;
-
-int res_querydomain(const char *name, const char *domain,
- int class, int type, unsigned char *answer,
- int anslen) __THROW;
-
-int res_mkquery(int op, const char *dname, int class,
- int type, char *data, int datalen, const unsigned char* newrr,
- char *buf, int buflen) __THROW;
-
-int res_send(const char *msg, int msglen, char *answer,
- int anslen) __THROW;
-
-int dn_comp(unsigned char *msg, unsigned char *comp_dn,
- int length, unsigned char **dnptrs, unsigned char *exp_dn,
- unsigned char **lastdnptr) __THROW;
-
-int dn_expand(unsigned char *msg, unsigned char *eomorig,
- unsigned char *comp_dn, unsigned char *exp_dn,
- int length) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/rpc/auth.h b/mdk-stage1/dietlibc/include/rpc/auth.h
deleted file mode 100644
index 6e0ae0675..000000000
--- a/mdk-stage1/dietlibc/include/rpc/auth.h
+++ /dev/null
@@ -1,214 +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 <sys/socket.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 {
- uint32_t high;
- uint32_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 */
- char* oa_base; /* address of more auth stuff */
- unsigned 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;
- char* 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, unsigned int __window,
- struct sockaddr *__syncaddr, des_block *__ckey)
- __THROW;
-extern AUTH *authdes_pk_create (const char *, netobj *, unsigned 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 8accd3779..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 9dd8142f1..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
- {
- unsigned long aup_time;
- char *aup_machname;
- uid_t aup_uid;
- gid_t aup_gid;
- unsigned 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 9b100556c..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 {
- unsigned long low; /* lowest verion supported */
- unsigned 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 *, unsigned long, xdrproc_t, char*, xdrproc_t,
- char*, 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, char*);
- /* frees results */
- void (*cl_destroy) (CLIENT *); /* destroy this structure */
- bool_t (*cl_control) (CLIENT *, int, char *);
- /* the ioctl() of rpc */
- } *cl_ops;
- char* 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;
- * unsigned long proc;
- * xdrproc_t xargs;
- * char* argsp;
- * xdrproc_t xres;
- * char* 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;
- * char* 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;
- * unsigned 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 ((unsigned long)1)
-#define RPCTEST_VERSION ((unsigned long)1)
-#define RPCTEST_NULL_PROC ((unsigned long)2)
-#define RPCTEST_NULL_BATCH_PROC ((unsigned long)3)
-
-/*
- * By convention, procedure 0 takes null arguments and returns them
- */
-
-#define NULLPROC ((unsigned 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)
- * unsigned long prog;
- * unsigned long vers;
- */
-extern CLIENT *clntraw_create (const unsigned long __prog, const unsigned long __vers)
- __THROW;
-
-
-/*
- * Generic client creation routine. Supported protocols are "udp", "tcp" and
- * "unix"
- * CLIENT *
- * clnt_create(host, prog, vers, prot)
- * char *host; -- hostname
- * unsigned long prog; -- program number
- * u_ong vers; -- version number
- * char *prot; -- protocol
- */
-extern CLIENT *clnt_create (const char *__host, const unsigned long __prog,
- const unsigned long __vers, const char *__prot)
- __THROW;
-
-
-/*
- * TCP based rpc
- * CLIENT *
- * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
- * struct sockaddr_in *raddr;
- * unsigned long prog;
- * unsigned long version;
- * register int *sockp;
- * unsigned int sendsz;
- * unsigned int recvsz;
- */
-extern CLIENT *clnttcp_create (struct sockaddr_in *__raddr, unsigned long __prog,
- unsigned long __version, int *__sockp, unsigned int __sendsz,
- unsigned int __recvsz) __THROW;
-
-/*
- * UDP based rpc.
- * CLIENT *
- * clntudp_create(raddr, program, version, wait, sockp)
- * struct sockaddr_in *raddr;
- * unsigned long program;
- * unsigned 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;
- * unsigned long program;
- * unsigned long version;
- * struct timeval wait_resend;
- * int *sockp;
- * unsigned int sendsz;
- * unsigned int recvsz;
- */
-extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, unsigned long __program,
- unsigned long __version, struct timeval __wait_resend,
- int *__sockp) __THROW;
-extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr,
- unsigned long __program, unsigned long __version,
- struct timeval __wait_resend, int *__sockp,
- unsigned int __sendsz, unsigned int __recvsz) __THROW;
-
-
-
-
-/*
- * AF_UNIX based rpc
- * CLIENT *
- * clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz)
- * struct sockaddr_un *raddr;
- * unsigned long prog;
- * unsigned long version;
- * register int *sockp;
- * unsigned int sendsz;
- * unsigned int recvsz;
- */
-extern CLIENT *clntunix_create (struct sockaddr_un *__raddr, unsigned long __program,
- unsigned long __version, int *__sockp,
- unsigned int __sendsz, unsigned int __recvsz) __THROW;
-
-
-extern int callrpc (const char *__host, const unsigned long __prognum,
- const unsigned long __versnum, const unsigned 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, unsigned long __prognum,
- unsigned long __versnum, unsigned 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 c398b82f8..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 {
- unsigned int uid;
- unsigned int gid;
- struct {
- unsigned int gids_len;
- unsigned 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 ((unsigned long)100029)
-#define KEY_VERS ((unsigned long)1)
-
-#ifdef __cplusplus
-#define KEY_SET ((unsigned long)1)
-extern "C" keystatus * key_set_1(opaque *, CLIENT *);
-extern "C" keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((unsigned long)2)
-extern "C" cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((unsigned long)3)
-extern "C" cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((unsigned 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 ((unsigned 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 ((unsigned long)1)
-extern keystatus * key_set_1(opaque *, CLIENT *);
-extern keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((unsigned long)2)
-extern cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((unsigned long)3)
-extern cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((unsigned long)4)
-extern des_block * key_gen_1(void *, CLIENT *);
-extern des_block * key_gen_1_svc(void *, struct svc_req *);
-#define KEY_GETCRED ((unsigned 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 ((unsigned long)1)
-extern keystatus * key_set_1();
-extern keystatus * key_set_1_svc();
-#define KEY_ENCRYPT ((unsigned long)2)
-extern cryptkeyres * key_encrypt_1();
-extern cryptkeyres * key_encrypt_1_svc();
-#define KEY_DECRYPT ((unsigned long)3)
-extern cryptkeyres * key_decrypt_1();
-extern cryptkeyres * key_decrypt_1_svc();
-#define KEY_GEN ((unsigned long)4)
-extern des_block * key_gen_1();
-extern des_block * key_gen_1_svc();
-#define KEY_GETCRED ((unsigned long)5)
-extern getcredres * key_getcred_1();
-extern getcredres * key_getcred_1_svc();
-#endif /* Old Style C */
-#define KEY_VERS2 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned 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 ((unsigned long)6)
-extern cryptkeyres * key_encrypt_pk_2();
-extern cryptkeyres * key_encrypt_pk_2_svc();
-#define KEY_DECRYPT_PK ((unsigned long)7)
-extern cryptkeyres * key_decrypt_pk_2();
-extern cryptkeyres * key_decrypt_pk_2_svc();
-#define KEY_NET_PUT ((unsigned long)8)
-extern keystatus * key_net_put_2();
-extern keystatus * key_net_put_2_svc();
-#define KEY_NET_GET ((unsigned long)9)
-extern key_netstres * key_net_get_2();
-extern key_netstres * key_net_get_2_svc();
-#define KEY_GET_CONV ((unsigned 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 a991d3a95..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 c63922772..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) (char* 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;
- * char* 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 unsigned long __program, const unsigned long __vers,
- int __protocol, unsigned short __port) __THROW;
-extern bool_t pmap_unset (const unsigned long __program, const unsigned long __vers)
- __THROW;
-extern struct pmaplist *pmap_getmaps (struct sockaddr_in *__address) __THROW;
-extern enum clnt_stat pmap_rmtcall (struct sockaddr_in *__addr,
- const unsigned long __prog,
- const unsigned long __vers,
- const unsigned long __proc,
- xdrproc_t __xdrargs,
- char* __argsp, xdrproc_t __xdrres,
- char* __resp, struct timeval __tout,
- unsigned long *__port_ptr) __THROW;
-extern enum clnt_stat clnt_broadcast (const unsigned long __prog,
- const unsigned long __vers,
- const unsigned long __proc, xdrproc_t __xargs,
- char* __argsp, xdrproc_t __xresults,
- char* __resultsp,
- resultproc_t __eachresult) __THROW;
-extern unsigned short pmap_getport (struct sockaddr_in *__address,
- const unsigned long __program,
- const unsigned long __version, unsigned 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 da06d34c1..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 ((unsigned short)111)
-#define PMAPPROG ((unsigned long)100000)
-#define PMAPVERS ((unsigned long)2)
-#define PMAPVERS_PROTO ((unsigned long)2)
-#define PMAPVERS_ORIG ((unsigned long)1)
-#define PMAPPROC_NULL ((unsigned long)0)
-#define PMAPPROC_SET ((unsigned long)1)
-#define PMAPPROC_UNSET ((unsigned long)2)
-#define PMAPPROC_GETPORT ((unsigned long)3)
-#define PMAPPROC_DUMP ((unsigned long)4)
-#define PMAPPROC_CALLIT ((unsigned 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 3b975d0fb..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 {
- unsigned long prog, vers, proc, arglen;
- char* args_ptr;
- xdrproc_t xdr_args;
-};
-
-extern bool_t xdr_rmtcall_args (XDR *__xdrs, struct rmtcallargs *__crp)
- __THROW;
-
-struct rmtcallres {
- unsigned long *port_ptr;
- unsigned long resultslen;
- char* 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 a966d2e23..000000000
--- a/mdk-stage1/dietlibc/include/rpc/rpc.h
+++ /dev/null
@@ -1,70 +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 */
-
-#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 d597608ab..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 ((unsigned long) 2)
-#define RPC_SERVICE_PORT ((unsigned 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 {
- unsigned long low;
- unsigned long high;
- } AR_versions;
- struct {
- char* 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 {
- unsigned long low;
- unsigned 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 {
- unsigned long cb_rpcvers; /* must be equal to two */
- unsigned long cb_prog;
- unsigned long cb_vers;
- unsigned long cb_proc;
- struct opaque_auth cb_cred;
- struct opaque_auth cb_verf; /* protocol specific - provided by client */
-};
-
-/*
- * The rpc message
- */
-struct rpc_msg {
- unsigned 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 ec598ba79..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;
- unsigned 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,
- char* 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,
- char* 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 */
- char* xp_p1; /* private */
- char* 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;
- * char* 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 */
- char* 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,
- char* __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, unsigned int __sendsz, unsigned int __recvsz)
- __THROW;
-
-/*
- * Tcp based rpc.
- */
-extern SVCXPRT *svctcp_create (int __sock, unsigned int __sendsize, unsigned int __recvsize)
- __THROW;
-
-
-/*
- * Unix based rpc.
- */
-extern SVCXPRT *svcunix_create (int __sock, unsigned int __sendsize, unsigned 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 d4be65e38..000000000
--- a/mdk-stage1/dietlibc/include/rpc/types.h
+++ /dev/null
@@ -1,84 +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
-
-#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
-
-# ifndef __dietlibc_u_char_defined
-typedef char* caddr_t;
-typedef uint32_t u_long;
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-# define __dietlibc_u_char_defined
-#endif
-
-#include <sys/time.h>
-#include <sys/param.h>
-
-#include <netinet/in.h>
-
-#ifndef INADDR_LOOPBACK
-#define INADDR_LOOPBACK 0x7F000001UL
-#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 590392070..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, char* __addr, unsigned int __len);
- /* get some bytes from " */
- bool_t (*x_putbytes) (XDR *__xdrs, const char *__addr, unsigned int __len);
- /* put some bytes to " */
- unsigned int (*x_getpostn) (const XDR *__xdrs);
- /* returns bytes off from beginning */
- bool_t (*x_setpostn) (XDR *__xdrs, unsigned 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;
- char* x_public; /* users' data */
- char* x_private; /* pointer to private data */
- char* 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 *, char* *);
- */
-typedef bool_t (*xdrproc_t) (XDR *, void *,...);
-
-
-/*
- * Operations defined on a XDR handle
- *
- * XDR *xdrs;
- * int32_t *int32p;
- * long *longp;
- * char* addr;
- * unsigned int len;
- * unsigned 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((unsigned long)*__extension__((uint32_t*)(buf))++))
-#define IXDR_PUT_LONG(buf, v) \
- (*__extension__((uint32_t*)(buf))++ = (long)htonl((unsigned long)(v)))
-#define IXDR_GET_U_LONG(buf) ((unsigned 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) ((unsigned 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, unsigned short *__usp) __THROW;
-extern bool_t xdr_int (XDR *__xdrs, int *__ip) __THROW;
-extern bool_t xdr_u_int (XDR *__xdrs, unsigned int *__up) __THROW;
-extern bool_t xdr_long (XDR *__xdrs, long *__lp) __THROW;
-extern bool_t xdr_u_long (XDR *__xdrs, unsigned long *__ulp) __THROW;
-extern bool_t xdr_hyper (XDR *__xdrs, int64_t *__llp) __THROW;
-extern bool_t xdr_u_hyper (XDR *__xdrs, uint64_t *__ullp) __THROW;
-extern bool_t xdr_longlong_t (XDR *__xdrs, int64_t *__llp) __THROW;
-extern bool_t xdr_u_longlong_t (XDR *__xdrs, uint64_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, char* *__addrp, unsigned int *__sizep,
- unsigned int __maxsize, unsigned int __elsize, xdrproc_t __elproc)
- __THROW;
-extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, unsigned int *__sizep,
- unsigned int __maxsize) __THROW;
-extern bool_t xdr_opaque (XDR *__xdrs, char* __cp, unsigned int __cnt) __THROW;
-extern bool_t xdr_string (XDR *__xdrs, char **__cpp, unsigned 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, unsigned char *__cp) __THROW;
-extern bool_t xdr_vector (XDR *__xdrs, char *__basep, unsigned int __nelem,
- unsigned 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, char* *__xpp, unsigned int __size,
- xdrproc_t __proc) __THROW;
-extern bool_t xdr_pointer (XDR *__xdrs, char **__objpp,
- unsigned int __obj_size, xdrproc_t __xdr_obj) __THROW;
-extern bool_t xdr_wrapstring (XDR *__xdrs, char **__cpp) __THROW;
-extern unsigned 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
-{
- unsigned 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 char* __addr,
- unsigned 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, unsigned int __sendsize,
- unsigned int __recvsize, char* __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 b6442c73b..000000000
--- a/mdk-stage1/dietlibc/include/sched.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef _SCHED_H
-#define _SCHED_H 1
-
-#include <time.h>
-
-#include <sys/types.h>
-
-/*
- * 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_THREAD)
-
-int clone(void*(*fn)(void*),void*stack,int flags,void*arg);
-
-/*
- * 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 b591936ac..000000000
--- a/mdk-stage1/dietlibc/include/setjmp.h
+++ /dev/null
@@ -1,231 +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 __x86_64__
-#ifndef __ASSEMBLER__
-typedef long __jmp_buf[8];
-#endif
-# define JB_RBX 0
-# define JB_RBP 1
-# define JB_R12 2
-# define JB_R13 3
-# define JB_R14 4
-# define JB_R15 5
-# define JB_RSP 6
-# define JB_PC 7
-# define JB_SIZE 64
-#endif
-
-#ifdef __s390__
-#ifndef __ASSEMBLER__
-typedef struct {
- long int gregs[10];
- long fpregs[4];
-} __jmp_buf[1];
-#endif
-#define __JB_GPR6 0
-#define __JB_GPR7 1
-#define __JB_GPR8 2
-#define __JB_GPR9 3
-#define __JB_GPR10 4
-#define __JB_GPR11 5
-#define __JB_GPR12 6
-#define __JB_GPR13 7
-#define __JB_GPR14 8
-#define __JB_GPR15 9
-
-#define _JMPBUF_UNWINDS(jmpbuf, address) ((int) (address) < (jmpbuf)->gregs[__JB_GPR15])
-#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__
-#ifdef __arch64__
-
-#define MC_TSTATE 0
-#define MC_PC 1
-#define MC_NPC 2
-#define MC_Y 3
-#define MC_G1 4
-#define MC_G2 5
-#define MC_G3 6
-#define MC_G4 7
-#define MC_G5 8
-#define MC_G6 9
-#define MC_G7 10
-#define MC_O0 11
-#define MC_O1 12
-#define MC_O2 13
-#define MC_O3 14
-#define MC_O4 15
-#define MC_O5 16
-#define MC_O6 17
-#define MC_O7 18
-#define MC_NGREG 19
-
-#define FLAG_SAVEMASK 512
-#ifndef __ASSEMBLER__
-#include <signal.h>
-
-/* this equal to ucontext from "include/asm-sparc64/uctx.h" */
-typedef struct __sparc64_jmp_buf {
- struct __sparc64_jmp_buf *uc_link;
- unsigned long uc_flags;
- sigset_t uc_sigmask;
- struct {
- unsigned long mc_gregs[MC_NGREG];
- unsigned long mc_fp;
- unsigned long mc_i7;
- struct {
- union {
- unsigned int sregs[32];
- unsigned long dregs[32];
- long double qregs[16];
- } mcfpu_fregs;
- unsigned long mcfpu_fsr;
- unsigned long mcfpu_fprs;
- unsigned long mcfpu_gsr;
- struct {
- unsigned long *mcfq_addr;
- unsigned int mcfq_insn;
- } *mcfpu_fq;
- unsigned char mcfpu_qcnt;
- unsigned char mcfpu_qentsz;
- unsigned char mcfpu_enab;
- } mc_fpregs;
- } uc_mcontext;
-} __jmp_buf[1];
-
-#endif
-
-#else
-
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[3];
-#endif
-
-#endif
-#endif
-
-#ifdef __arm__
-#define __JMP_BUF_SP 8
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[24];
-#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
-
-#ifdef __hppa__
-#ifndef __ASSEMBLER__
-typedef double __jmp_buf[21];
-#endif
-#endif
-
-#ifdef __ia64__
-#ifndef __ASSEMBLER__
-typedef long __jmp_buf[70] __attribute__ ((aligned(16)));
-#endif
-#endif
-
-#ifndef __ASSEMBLER__
-#include <signal.h>
-
-/* typedef int sig_atomic_t; */
-#define __sig_atomic_t sig_atomic_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__));
-
-#ifdef _BSD_SOURCE
-#define setjmp(env) __sigsetjmp(env,1)
-#else
-#define setjmp(env) __sigsetjmp(env,0)
-#endif
-#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 1c84de9e6..000000000
--- a/mdk-stage1/dietlibc/include/shadow.h
+++ /dev/null
@@ -1,30 +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;
-
-int getspent_r(struct spwd *res, char *buf, size_t buflen,
- struct spwd **res_sig) __THROW;
-int getspnam_r(const char* name,
- struct spwd *res, char *buf, size_t buflen,
- struct spwd **res_sig) __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 fdc0518cf..000000000
--- a/mdk-stage1/dietlibc/include/signal.h
+++ /dev/null
@@ -1,500 +0,0 @@
-#ifndef _SIGNAL_H
-#define _SIGNAL_H
-
-#include <sys/cdefs.h>
-
-#define __WANT_POSIX1B_SIGNALS__
-
-#include <sys/types.h>
-#include <sys/time.h>
-
-#define NSIG 32
-
-#ifdef __mips__
-#define _NSIG 128
-#else
-#define _NSIG 64
-#endif
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT 6
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGSEGV 11
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGUNUSED 31
-#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(__arm__) \
- || defined(__s390__) || defined(__ia64__)
-#define SIGBUS 7
-#define SIGUSR1 10
-#define SIGUSR2 12
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPWR 30
-#define SIGSYS 31
-#elif defined(__alpha__) || defined(__sparc__)
-#define SIGEMT 7
-#define SIGBUS 10
-#define SIGSYS 12
-#define SIGURG 16
-#define SIGSTOP 17
-#define SIGTSTP 18
-#define SIGCONT 19
-#define SIGCHLD 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGIO 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGPWR 29
-#define SIGUSR1 30
-#define SIGUSR2 31
-#if defined(__alpha__)
-#define SIGINFO SIGPWR
-#endif
-#elif defined(__mips__)
-#define SIGEMT 7
-#define SIGBUS 10
-#define SIGSYS 12
-#define SIGUSR1 16
-#define SIGUSR2 17
-#define SIGCHLD 18
-#define SIGPWR 19
-#define SIGWINCH 20
-#define SIGURG 21
-#define SIGIO 22
-#define SIGSTOP 23
-#define SIGTSTP 24
-#define SIGCONT 25
-#define SIGTTIN 26
-#define SIGTTOU 27
-#define SIGVTALRM 28
-#define SIGPROF 29
-#define SIGXCPU 30
-#define SIGXFSZ 31
-#elif defined(__hppa__)
-#define SIGEMT 7
-#define SIGBUS 10
-#define SIGSYS 12
-#define SIGUSR1 16
-#define SIGUSR2 17
-#define SIGCHLD 18
-#define SIGPWR 19
-#define SIGVTALRM 20
-#define SIGPROF 21
-#define SIGIO 22
-#define SIGWINCH 23
-#define SIGSTOP 24
-#define SIGTSTP 25
-#define SIGCONT 26
-#define SIGTTIN 27
-#define SIGTTOU 28
-#define SIGURG 29
-#define SIGLOST 30
-#define SIGUNUSED 31
-#define SIGRESERVE SIGUNUSE
-#define SIGXCPU 33
-#define SIGXFSZ 34
-#define SIGSTKFLT 36
-
-#else
-#error signal layout not yet known
-#endif
-
-#define SIGCLD SIGCHLD
-#define SIGLOST SIGPWR
-#define SIGPOLL SIGIO
-
-/* These should not be considered constants from userland. */
-#ifdef __hppa__
-#define SIGRTMIN 37
-#else
-#define SIGRTMIN 32
-#endif
-#define SIGRTMAX (_NSIG-1)
-
-/* SA_FLAGS values: */
-#if defined(__alpha__)
-#define SA_ONSTACK 0x00000001
-#define SA_RESTART 0x00000002
-#define SA_NOCLDSTOP 0x00000004
-#define SA_NODEFER 0x00000008
-#define SA_RESETHAND 0x00000010
-#define SA_NOCLDWAIT 0x00000020 /* not supported yet */
-#define SA_SIGINFO 0x00000040
-#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */
-#elif defined(__hppa__)
-#define SA_ONSTACK 0x00000001
-#define SA_RESETHAND 0x00000004
-#define SA_NOCLDSTOP 0x00000008
-#define SA_SIGINFO 0x00000010
-#define SA_NODEFER 0x00000020
-#define SA_RESTART 0x00000040
-#define SA_NOCLDWAIT 0x00000080 /* not supported yet */
-#define _SA_SIGGFAULT 0x00000100 /* HPUX */
-#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */
-#define SA_RESTORER 0x04000000 /* obsolete -- ignored */
-#elif defined (__sparc__)
-#define SV_SSTACK 1 /* This signal handler should use sig-stack */
-#define SV_INTR 2 /* Sig return should not restart system call */
-#define SV_RESET 4 /* Set handler to SIG_DFL upon taken signal */
-#define SV_IGNCHILD 8 /* Do not send SIGCHLD */
-
-#define SA_NOCLDSTOP SV_IGNCHILD
-#define SA_STACK SV_SSTACK
-#define SA_ONSTACK SV_SSTACK
-#define SA_RESTART SV_INTR
-#define SA_RESETHAND SV_RESET
-#define SA_INTERRUPT 0x10
-#define SA_NODEFER 0x20
-#define SA_SHIRQ 0x40
-#define SA_NOCLDWAIT 0x100 /* not supported yet */
-#define SA_SIGINFO 0x200
-#else
-#if defined (__mips__)
-#define SA_NOCLDSTOP 0x00000001
-#define SA_SIGINFO 0x00000008
-#define SA_NOCLDWAIT 0x00010000 /* Not supported yet */
-#else
-#define SA_NOCLDSTOP 0x00000001
-#define SA_NOCLDWAIT 0x00000002 /* not supported yet */
-#define SA_SIGINFO 0x00000004
-#endif
-#if defined(__arm__)
-#define SA_THIRTYTWO 0x02000000
-#endif
-#define SA_RESTORER 0x04000000
-#define SA_ONSTACK 0x08000000
-#define SA_RESTART 0x10000000
-#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */
-#define SA_NODEFER 0x40000000
-#define SA_RESETHAND 0x80000000
-#endif
-
-/* ugh, historic Linux legacy, for gpm :-( */
-#define SA_NOMASK SA_NODEFER
-#define SA_ONESHOT SA_RESETHAND
-
-/* sigaltstack controls */
-#define SS_ONSTACK 1
-#define SS_DISABLE 2
-
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-
-#if defined(__alpha__) || defined(__mips__)
-#define SIG_BLOCK 1 /* for blocking signals */
-#define SIG_UNBLOCK 2 /* for unblocking signals */
-#define SIG_SETMASK 3 /* for setting the signal mask */
-#else
-#define SIG_BLOCK 0 /* for blocking signals */
-#define SIG_UNBLOCK 1 /* for unblocking signals */
-#define SIG_SETMASK 2 /* for setting the signal mask */
-#endif
-
-typedef int sig_atomic_t;
-
-typedef void (*sighandler_t)(int);
-
-#ifdef _BSD_SOURCE
-typedef sighandler_t sig_t;
-#endif
-
-#define SIG_DFL ((sighandler_t)0) /* default signal handling */
-#define SIG_IGN ((sighandler_t)1) /* ignore signal */
-#define SIG_ERR ((sighandler_t)-1) /* error return from signal */
-
-typedef union sigval {
- int sival_int;
- void *sival_ptr;
-} sigval_t;
-
-#define SI_MAX_SIZE 128
-#define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 3)
-
-typedef struct siginfo {
- int si_signo;
- int si_errno;
- int si_code;
- union {
- int _pad[SI_PAD_SIZE];
- /* kill() */
- struct {
- pid_t _pid; /* sender's pid */
- uid_t _uid; /* sender's uid */
- } _kill;
- /* POSIX.1b timers */
- struct {
- unsigned int _timer1;
- unsigned int _timer2;
- } _timer;
- /* POSIX.1b signals */
- struct {
- pid_t _pid; /* sender's pid */
- uid_t _uid; /* sender's uid */
- sigval_t _sigval;
- } _rt;
- /* SIGCHLD */
- struct {
- pid_t _pid; /* which child */
- uid_t _uid; /* sender's uid */
- int _status; /* exit code */
- clock_t _utime;
- clock_t _stime;
- } _sigchld;
- /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
- struct {
- void *_addr; /* faulting insn/memory ref. */
- } _sigfault;
- /* SIGPOLL */
- struct {
- int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
- int _fd;
- } _sigpoll;
- } _sifields;
-} siginfo_t;
-
-/*
- * How these fields are to be accessed.
- */
-#define si_pid _sifields._kill._pid
-#define si_uid _sifields._kill._uid
-#define si_status _sifields._sigchld._status
-#define si_utime _sifields._sigchld._utime
-#define si_stime _sifields._sigchld._stime
-#define si_value _sifields._rt._sigval
-#define si_int _sifields._rt._sigval.sival_int
-#define si_ptr _sifields._rt._sigval.sival_ptr
-#define si_addr _sifields._sigfault._addr
-#define si_band _sifields._sigpoll._band
-#define si_fd _sifields._sigpoll._fd
-
-/* Values for `si_code'. Positive values are reserved for kernel-generated
- signals. */
-enum {
- SI_ASYNCNL = -6, /* Sent by asynch name lookup completion. */
-# define SI_ASYNCNL SI_ASYNCNL
- SI_SIGIO, /* Sent by queued SIGIO. */
-# define SI_SIGIO SI_SIGIO
- SI_ASYNCIO, /* Sent by AIO completion. */
-# define SI_ASYNCIO SI_ASYNCIO
- SI_MESGQ, /* Sent by real time mesq state change. */
-# define SI_MESGQ SI_MESGQ
- SI_TIMER, /* Sent by timer expiration. */
-# define SI_TIMER SI_TIMER
- SI_QUEUE, /* Sent by sigqueue. */
-# define SI_QUEUE SI_QUEUE
- SI_USER, /* Sent by kill, sigsend, raise. */
-# define SI_USER SI_USER
- SI_KERNEL = 0x80 /* Send by kernel. */
-#define SI_KERNEL SI_KERNEL
-};
-
-
-/* `si_code' values for SIGILL signal. */
-enum {
- ILL_ILLOPC = 1, /* Illegal opcode. */
-# define ILL_ILLOPC ILL_ILLOPC
- ILL_ILLOPN, /* Illegal operand. */
-# define ILL_ILLOPN ILL_ILLOPN
- ILL_ILLADR, /* Illegal addressing mode. */
-# define ILL_ILLADR ILL_ILLADR
- ILL_ILLTRP, /* Illegal trap. */
-# define ILL_ILLTRP ILL_ILLTRP
- ILL_PRVOPC, /* Privileged opcode. */
-# define ILL_PRVOPC ILL_PRVOPC
- ILL_PRVREG, /* Privileged register. */
-# define ILL_PRVREG ILL_PRVREG
- ILL_COPROC, /* Coprocessor error. */
-# define ILL_COPROC ILL_COPROC
- ILL_BADSTK /* Internal stack error. */
-# define ILL_BADSTK ILL_BADSTK
-};
-
-/* `si_code' values for SIGFPE signal. */
-enum {
- FPE_INTDIV = 1, /* Integer divide by zero. */
-# define FPE_INTDIV FPE_INTDIV
- FPE_INTOVF, /* Integer overflow. */
-# define FPE_INTOVF FPE_INTOVF
- FPE_FLTDIV, /* Floating point divide by zero. */
-# define FPE_FLTDIV FPE_FLTDIV
- FPE_FLTOVF, /* Floating point overflow. */
-# define FPE_FLTOVF FPE_FLTOVF
- FPE_FLTUND, /* Floating point underflow. */
-# define FPE_FLTUND FPE_FLTUND
- FPE_FLTRES, /* Floating point inexact result. */
-# define FPE_FLTRES FPE_FLTRES
- FPE_FLTINV, /* Floating point invalid operation. */
-# define FPE_FLTINV FPE_FLTINV
- FPE_FLTSUB /* Subscript out of range. */
-# define FPE_FLTSUB FPE_FLTSUB
-};
-
-/* `si_code' values for SIGSEGV signal. */
-enum {
- SEGV_MAPERR = 1, /* Address not mapped to object. */
-# define SEGV_MAPERR SEGV_MAPERR
- SEGV_ACCERR /* Invalid permissions for mapped object. */
-# define SEGV_ACCERR SEGV_ACCERR
-};
-
-/* `si_code' values for SIGBUS signal. */
-enum {
- BUS_ADRALN = 1, /* Invalid address alignment. */
-# define BUS_ADRALN BUS_ADRALN
- BUS_ADRERR, /* Non-existant physical address. */
-# define BUS_ADRERR BUS_ADRERR
- BUS_OBJERR /* Object specific hardware error. */
-# define BUS_OBJERR BUS_OBJERR
-};
-
-/* `si_code' values for SIGTRAP signal. */
-enum {
- TRAP_BRKPT = 1, /* Process breakpoint. */
-# define TRAP_BRKPT TRAP_BRKPT
- TRAP_TRACE /* Process trace trap. */
-# define TRAP_TRACE TRAP_TRACE
-};
-
-/* `si_code' values for SIGCHLD signal. */
-enum {
- CLD_EXITED = 1, /* Child has exited. */
-# define CLD_EXITED CLD_EXITED
- CLD_KILLED, /* Child was killed. */
-# define CLD_KILLED CLD_KILLED
- CLD_DUMPED, /* Child terminated abnormally. */
-# define CLD_DUMPED CLD_DUMPED
- CLD_TRAPPED, /* Traced child has trapped. */
-# define CLD_TRAPPED CLD_TRAPPED
- CLD_STOPPED, /* Child has stopped. */
-# define CLD_STOPPED CLD_STOPPED
- CLD_CONTINUED /* Stopped child has continued. */
-# define CLD_CONTINUED CLD_CONTINUED
-};
-
-/* `si_code' values for SIGPOLL signal. */
-enum {
- POLL_IN = 1, /* Data input available. */
-# define POLL_IN POLL_IN
- POLL_OUT, /* Output buffers available. */
-# define POLL_OUT POLL_OUT
- POLL_MSG, /* Input message available. */
-# define POLL_MSG POLL_MSG
- POLL_ERR, /* I/O error. */
-# define POLL_ERR POLL_ERR
- POLL_PRI, /* High priority input available. */
-# define POLL_PRI POLL_PRI
- POLL_HUP /* Device disconnected. */
-# define POLL_HUP POLL_HUP
-};
-
-#define _NSIG_WORDS ((_NSIG/sizeof(long))>>3)
-
-typedef struct {
- unsigned long sig[_NSIG_WORDS];
-} sigset_t;
-
-struct sigaction {
-#if defined(__alpha__)
- union {
- sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, siginfo_t*, void*);
- } _u;
- sigset_t sa_mask;
- unsigned long sa_flags;
-#elif defined(__ia64__) || defined(__hppa__)
- union {
- sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, siginfo_t*, void*);
- } _u;
- unsigned long sa_flags;
- sigset_t sa_mask;
-#elif defined(__mips__)
- unsigned long sa_flags;
- union {
- sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, siginfo_t*, void*);
- } _u;
- sigset_t sa_mask;
- void (*sa_restorer)(void);
- int sa_resv[1];
-#else /* arm, i386, ppc, s390, sparc, saprc64, x86_64 */
- union {
- sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, siginfo_t*, void*);
- } _u;
- unsigned long sa_flags;
- void (*sa_restorer)(void);
- sigset_t sa_mask;
-#endif
-};
-
-#define sa_handler _u._sa_handler
-#define sa_sigaction _u._sa_sigaction
-
-typedef struct sigaltstack {
-#if defined(__mips__)
- void *ss_sp;
- size_t ss_size;
- int ss_flags;
-#else
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
-#endif
-} stack_t;
-
-int sigaltstack(const struct sigaltstack *newstack, struct sigaltstack *oldstack) __THROW;
-
-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 sigismember(const sigset_t *set, int signo) __THROW;
-int sigsuspend(const sigset_t *mask) __THROW;
-int sigpending(sigset_t *set) __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 kill(pid_t pid, int sig) __THROW;
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) __THROW;
-
-int sigtimedwait(const sigset_t *mask, siginfo_t *info, const struct timespec *ts) __THROW;
-int sigqueueinfo(int pid, int sig, siginfo_t *info) __THROW;
-int siginterrupt(int sig, int flag) __THROW;
-
-int killpg(int pgrp, int sig) __THROW;
-
-/* 0 is OK ! kernel puts in MAX_THREAD_TIMEOUT :) */
-#define sigwaitinfo(m, i) sigtimedwait((m),(i),0)
-
-extern const char *const sys_siglist[];
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdarg-cruft.h b/mdk-stage1/dietlibc/include/stdarg-cruft.h
deleted file mode 100644
index fbd9e0ca4..000000000
--- a/mdk-stage1/dietlibc/include/stdarg-cruft.h
+++ /dev/null
@@ -1,299 +0,0 @@
-#if defined(__sparc__) || defined(__alpha__) || defined(__mips__)
-enum {
- __no_type_class = -1,
- __void_type_class,
- __integer_type_class,
- __char_type_class,
- __enumeral_type_class,
- __boolean_type_class,
- __pointer_type_class,
- __reference_type_class,
- __offset_type_class,
- __real_type_class,
- __complex_type_class,
- __function_type_class,
- __method_type_class,
- __record_type_class,
- __union_type_class,
- __array_type_class,
- __string_type_class,
- __set_type_class,
- __file_type_class,
- __lang_type_class
-};
-#endif
-
-#if defined(__sparc__)
-
-typedef char* va_list;
-#define va_end(ap) ap=0
-
-#define va_start(AP, LASTARG) \
- (__builtin_next_arg (LASTARG), AP = (char *) __builtin_saveregs ())
-
-#define __va_rounded_size(TYPE) \
- (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
-
-/* We don't declare the union member `d' to have type TYPE
- because that would lose in C++ if TYPE has a constructor. */
-/* We cast to void * and then to TYPE * because this avoids
- a warning about increasing the alignment requirement.
- The casts to char * avoid warnings about invalid pointer arithmetic. */
-#define va_arg(pvar,TYPE) \
-__extension__ \
-(*({((__builtin_classify_type (*(TYPE*) 0) >= __record_type_class \
- || (__builtin_classify_type (*(TYPE*) 0) == __real_type_class \
- && sizeof (TYPE) == 16)) \
- ? ((pvar) = (char *)(pvar) + __va_rounded_size (TYPE *), \
- *(TYPE **) (void *) ((char *)(pvar) - __va_rounded_size (TYPE *))) \
- : __va_rounded_size (TYPE) == 8 \
- ? ({ union {char __d[sizeof (TYPE)]; int __i[2];} __u; \
- __u.__i[0] = ((int *) (void *) (pvar))[0]; \
- __u.__i[1] = ((int *) (void *) (pvar))[1]; \
- (pvar) = (char *)(pvar) + 8; \
- (TYPE *) (void *) __u.__d; }) \
- : ((pvar) = (char *)(pvar) + __va_rounded_size (TYPE), \
- ((TYPE *) (void *) ((char *)(pvar) - __va_rounded_size (TYPE)))));}))
-
-
-#elif defined(__mips__)
-
-typedef char * va_list;
-
-#ifdef __mips64
-#define __va_rounded_size(__TYPE) \
- (((sizeof (__TYPE) + 8 - 1) / 8) * 8)
-#else
-#define __va_rounded_size(__TYPE) \
- (((sizeof (__TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
-#endif
-#ifdef __mips64
-#define __va_reg_size 8
-#else
-#define __va_reg_size 4
-#endif
-
-#define va_start(__AP, __LASTARG) \
- (__AP = (va_list) __builtin_next_arg (__LASTARG))
-
-#ifdef __mips64
-#ifdef __MIPSEB__
-#define va_arg(__AP, __type) \
- ((__type *) (void *) (__AP = (char *) \
- ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \
- + __va_rounded_size (__type))))[-1]
-#else
-#define va_arg(__AP, __type) \
- ((__AP = (char *) ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \
- + __va_rounded_size (__type))), \
- *(__type *) (void *) (__AP - __va_rounded_size (__type)))
-#endif
-
-#else /* not __mips64 */
-
-#ifdef __MIPSEB__
-/* For big-endian machines. */
-#define va_arg(__AP, __type) \
- ((__AP = (char *) ((__alignof__ (__type) > 4 \
- ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
- : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
- + __va_rounded_size (__type))), \
- *(__type *) (void *) (__AP - __va_rounded_size (__type)))
-#else
-/* For little-endian machines. */
-#define va_arg(__AP, __type) \
- ((__type *) (void *) (__AP = (char *) ((__alignof__(__type) > 4 \
- ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
- : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
- + __va_rounded_size(__type))))[-1]
-#endif
-#endif
-
-#elif defined(__powerpc__)
-
-typedef struct __va_list_tag {
- unsigned char gpr; /* index into the array of 8 GPRs stored in the
- register save area gpr=0 corresponds to r3,
- gpr=1 to r4, etc. */
- unsigned char fpr; /* index into the array of 8 FPRs stored in the
- register save area fpr=0 corresponds to f1,
- fpr=1 to f2, etc. */
- char *overflow_arg_area; /* location on stack that holds the next
- overflow argument */
- char *reg_save_area; /* where r3:r10 and f1:f8, if saved are stored */
-} va_list[1];
-
-#define __va_overflow(AP) (AP)->overflow_arg_area
-#ifdef __OPTIMIZE__
-extern void __va_arg_type_violation(void) __attribute__((__noreturn__));
-#else
-#define __va_arg_type_violation()
-#endif
-
-typedef struct {
- long __gp_save[8]; /* save area for GP registers */
- double __fp_save[8]; /* save area for FP registers */
-} __va_regsave_t;
-
-/* Macros to access the register save area */
-/* We cast to void * and then to TYPE * because this avoids
- a warning about increasing the alignment requirement. */
-#define __VA_FP_REGSAVE(AP,OFS,TYPE) \
- ((TYPE *) (void *) (&(((__va_regsave_t *) \
- (AP)->reg_save_area)->__fp_save[OFS])))
-
-#define __VA_GP_REGSAVE(AP,OFS,TYPE) \
- ((TYPE *) (void *) (&(((__va_regsave_t *) \
- (AP)->reg_save_area)->__gp_save[OFS])))
-
-#define __va_start_common(AP, FAKE) \
- __builtin_memcpy ((AP), __builtin_saveregs (), sizeof(va_list))
-
-#define va_start(AP,LASTARG) \
- (__builtin_next_arg (LASTARG), __va_start_common (AP, 0))
-
-#ifdef _SOFT_FLOAT
-#define __va_float_p(TYPE) 0
-#else
-#define __va_float_p(TYPE) (__builtin_classify_type(*(TYPE *)0) == 8)
-#endif
-
-#define __va_aggregate_p(TYPE) (__builtin_classify_type(*(TYPE *)0) >= 12)
-#define __va_size(TYPE) ((sizeof(TYPE) + sizeof (long) - 1) / sizeof (long))
-
-#define va_arg(AP,TYPE) \
-__extension__ (*({ \
- register TYPE *__ptr; \
- \
- if (__va_float_p (TYPE) && sizeof (TYPE) < 16) \
- { \
- unsigned char __fpr = (AP)->fpr; \
- if (__fpr < 8) \
- { \
- __ptr = __VA_FP_REGSAVE (AP, __fpr, TYPE); \
- (AP)->fpr = __fpr + 1; \
- } \
- else if (sizeof (TYPE) == 8) \
- { \
- unsigned long __addr = (unsigned long) (__va_overflow (AP)); \
- __ptr = (TYPE *)((__addr + 7) & -8); \
- __va_overflow (AP) = (char *)(__ptr + 1); \
- } \
- else \
- { \
- /* float is promoted to double. */ \
- __va_arg_type_violation (); \
- } \
- } \
- \
- /* Aggregates and long doubles are passed by reference. */ \
- else if (__va_aggregate_p (TYPE) || __va_float_p (TYPE)) \
- { \
- unsigned char __gpr = (AP)->gpr; \
- if (__gpr < 8) \
- { \
- __ptr = * __VA_GP_REGSAVE (AP, __gpr, TYPE *); \
- (AP)->gpr = __gpr + 1; \
- } \
- else \
- { \
- TYPE **__pptr = (TYPE **) (__va_overflow (AP)); \
- __ptr = * __pptr; \
- __va_overflow (AP) = (char *) (__pptr + 1); \
- } \
- } \
- \
- /* Only integrals remaining. */ \
- else \
- { \
- /* longlong is aligned. */ \
- if (sizeof (TYPE) == 8) \
- { \
- unsigned char __gpr = (AP)->gpr; \
- if (__gpr < 7) \
- { \
- __gpr += __gpr & 1; \
- __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE); \
- (AP)->gpr = __gpr + 2; \
- } \
- else \
- { \
- unsigned long __addr = (unsigned long) (__va_overflow (AP)); \
- __ptr = (TYPE *)((__addr + 7) & -8); \
- (AP)->gpr = 8; \
- __va_overflow (AP) = (char *)(__ptr + 1); \
- } \
- } \
- else if (sizeof (TYPE) == 4) \
- { \
- unsigned char __gpr = (AP)->gpr; \
- if (__gpr < 8) \
- { \
- __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE); \
- (AP)->gpr = __gpr + 1; \
- } \
- else \
- { \
- __ptr = (TYPE *) __va_overflow (AP); \
- __va_overflow (AP) = (char *)(__ptr + 1); \
- } \
- } \
- else \
- { \
- /* Everything else was promoted to int. */ \
- __va_arg_type_violation (); \
- } \
- } \
- __ptr; \
-}))
-
-#define va_end(AP) ((void)0)
-
-/* Copy va_list into another variable of this type. */
-#define __va_copy(dest, src) *(dest) = *(src)
-
-#elif defined(__alpha__)
-
-typedef struct {
- char *__base; /* Pointer to first integer register. */
- int __offset; /* Byte offset of args so far. */
-} va_list;
-
-#define va_start(pvar, firstarg) \
- (__builtin_next_arg (firstarg), \
- (pvar) = *(va_list *) __builtin_saveregs ())
-#define va_end(__va) ((void) 0)
-
-#define __va_tsize(__type) \
- (((sizeof (__type) + __extension__ sizeof (long long) - 1) \
- / __extension__ sizeof (long long)) * __extension__ sizeof (long long))
-
-#define va_arg(__va, __type) \
-(*(((__va).__offset += __va_tsize (__type)), \
- (__type *)(void *)((__va).__base + (__va).__offset \
- - (((__builtin_classify_type (* (__type *) 0) \
- == __real_type_class) && (__va).__offset <= (6 * 8)) \
- ? (6 * 8) + 8 : __va_tsize (__type)))))
-
-#else /* !__sparc__ && !__powerpc__ && !__mips__ && !__alpha__*/
-
-typedef char* va_list;
-
-/* this only works when everything is passed on the stack (i.e. x86) */
-#if __WORDSIZE == 64
-#define va_start(ap,argn) ap=((char*)&argn)+8
-#else
-#define va_start(ap,argn) ap=((char*)&argn)+4
-#endif
-#define va_arg(ap,type) (ap+=sizeof(type), *(type*)((void*)ap-sizeof(type)))
-
-#endif
-
-#ifndef __va_copy
-#define __va_copy(x,y) x=y
-#endif
-
-#ifndef va_end
-#define va_end(ap) ((void)0)
-#endif
-
diff --git a/mdk-stage1/dietlibc/include/stdarg.h b/mdk-stage1/dietlibc/include/stdarg.h
deleted file mode 100644
index 3a21bdb56..000000000
--- a/mdk-stage1/dietlibc/include/stdarg.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _STDARG_H
-#define _STDARG_H
-
-#include <endian.h>
-
-#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96))
-
-typedef __builtin_va_list va_list;
-#define va_start(v,l) __builtin_stdarg_start((v),l)
-#define va_end __builtin_va_end
-#define va_arg __builtin_va_arg
-#define __va_copy(d,s) __builtin_va_copy((d),(s))
-
-#endif
-
-#ifndef va_end
-#include <stdarg-cruft.h>
-#endif
-
-#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L
-#define va_copy(d,s) __va_copy(d,s)
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stddef.h b/mdk-stage1/dietlibc/include/stddef.h
deleted file mode 100644
index cdf54ec1e..000000000
--- a/mdk-stage1/dietlibc/include/stddef.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _STDDEF_H
-#define _STDDEF_H
-
-/* ugh. This is normally provided by gcc. */
-
-#ifdef __GNUC__
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
-typedef __SIZE_TYPE__ size_t;
-typedef __WCHAR_TYPE__ wchar_t;
-#else
-typedef signed long ptrdiff_t;
-typedef unsigned long size_t;
-typedef int wchar_t;
-#endif
-
-#ifndef NULL
-#define NULL (void*)0
-#endif
-
-#undef offsetof
-#define offsetof(type,member) ((size_t) &((type*)0)->member)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdint.h b/mdk-stage1/dietlibc/include/stdint.h
deleted file mode 100644
index bbc7ddf0c..000000000
--- a/mdk-stage1/dietlibc/include/stdint.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _STDINT_H
-#define _STDINT_H
-
-#include <inttypes.h>
-
-typedef int8_t int_least8_t;
-typedef int16_t int_least16_t;
-typedef int32_t int_least32_t;
-typedef uint8_t uint_least8_t;
-typedef uint16_t uint_least16_t;
-typedef uint32_t uint_least32_t;
-
-#ifndef __STRICT_ANSI__
-typedef int64_t int_least64_t;
-typedef uint64_t uint_least64_t;
-#endif
-
-typedef signed char int_fast8_t;
-typedef signed long int int_fast16_t;
-typedef signed long int int_fast32_t;
-typedef signed long long int int_fast64_t;
-
-typedef unsigned char uint_fast8_t;
-typedef unsigned long int uint_fast16_t;
-typedef unsigned long int uint_fast32_t;
-typedef unsigned long long int uint_fast64_t;
-
-#include <endian.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdio.h b/mdk-stage1/dietlibc/include/stdio.h
deleted file mode 100644
index 04783c3b8..000000000
--- a/mdk-stage1/dietlibc/include/stdio.h
+++ /dev/null
@@ -1,147 +0,0 @@
-#ifndef _STDIO_H
-#define _STDIO_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/stat.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 __attribute__((format(printf,1,2)));
-int fprintf(FILE *stream, const char *format, ...) __THROW __attribute__((format(printf,2,3)));
-int sprintf(char *str, const char *format, ...) __THROW __attribute__((format(printf,2,3)));
-int snprintf(char *str, size_t size, const char *format, ...) __THROW __attribute__((format(printf,3,4)));
-int asprintf(char **ptr, const char* format, ...) __THROW __attribute_malloc__ __attribute__((format(printf,2,3)));
-
-int scanf(const char *format, ...) __THROW __attribute__((format(scanf,1,2)));
-int fscanf(FILE *stream, const char *format, ...) __THROW __attribute__((format(scanf,2,3)));
-int sscanf(const char *str, const char *format, ...) __THROW __attribute__((format(scanf,2,3)));
-
-#include <stdarg.h>
-
-int vprintf(const char *format, va_list ap) __THROW __attribute__((format(printf,1,0)));
-int vfprintf(FILE *stream, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0)));
-int vsprintf(char *str, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0)));
-int vsnprintf(char *str, size_t size, const char *format, va_list ap) __THROW __attribute__((format(printf,3,0)));
-
-int fdprintf(int fd, const char *format, ...) __THROW __attribute__((format(printf,2,3)));
-int vfdprintf(int fd, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0)));
-
-int vscanf(const char *format, va_list ap) __THROW __attribute__((format(scanf,1,0)));
-int vsscanf(const char *str, const char *format, va_list ap) __THROW __attribute__((format(scanf,2,0)));
-int vfscanf(FILE *stream, const char *format, va_list ap) __THROW __attribute__((format(scanf,2,0)));
-
-int fgetc(FILE *stream) __THROW;
-int fgetc_unlocked(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 fputc_unlocked(int c, FILE *stream) __THROW;
-int fputs(const char *s, FILE *stream) __THROW;
-
-int putchar(int c) __THROW;
-
-#define putc(c,stream) fputc(c,stream)
-#define putchar(c) fputc(c,stdout)
-
-#define getchar() fgetc(stdin)
-#define getc(stream) fgetc(stream)
-#define getc_unlocked(stream) fgetc_unlocked(stream)
-
-int puts(const char *s) __THROW;
-
-int fseek(FILE *stream, long offset, int whence) __THROW;
-long ftell(FILE *stream) __THROW;
-int fseeko(FILE *stream, off_t offset, int whence) __THROW;
-off_t ftello(FILE *stream) __THROW;
-
-#ifndef __NO_STAT64
-int fseeko64(FILE *stream, loff_t offset, int whence) __THROW;
-loff_t ftello64(FILE *stream) __THROW;
-
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define off_t loff_t
-#define fseeko(foo,bar,baz) fseeko64(foo,bar,baz)
-#define ftello(foo) ftello64(foo)
-#endif
-
-#endif
-
-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;
-
-int feof (FILE *stream) __THROW;
-int ferror(FILE *stream) __THROW;
-int fileno(FILE *stream) __THROW;
-void clearerr(FILE *stream) __THROW;
-
-int remove(const char *pathname) __THROW;
-
-void perror(const char *s) __THROW;
-
-extern FILE *stdin, *stdout, *stderr;
-
-#define EOF (-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;
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-#endif
-
-#define L_tmpnam 128
-#define P_tmpdir "/tmp"
-char* tmpnam(char *s) __THROW; /* DO NOT USE!!! Use mkstemp instead! */
-char* tempnam(char* dir,char* _template); /* dito */
-FILE* tmpfile(void) __THROW;
-
-#define FILENAME_MAX 4095
-#define FOPEN_MAX 16
-
-#ifdef _POSIX_SOURCE
-#define L_ctermid 9
-#define L_cuserid 9
-#endif
-
-void flockfile(FILE* f) __THROW;
-void funlockfile(FILE* f) __THROW;
-
-#ifdef _GNU_SOURCE
-ssize_t getline(char **lineptr, size_t *n, FILE *stream);
-ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
-#define getline(lineptr,n,stream) getdelim(lineptr,n,'\n',stream)
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdlib.h b/mdk-stage1/dietlibc/include/stdlib.h
deleted file mode 100644
index 5824a6ffa..000000000
--- a/mdk-stage1/dietlibc/include/stdlib.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef _STDLIB_H
-#define _STDLIB_H
-
-#ifndef __ASSEMBLER__
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <alloca.h>
-
-void *calloc(size_t nmemb, size_t size) __attribute_malloc__ __THROW;
-void *malloc(size_t size) __attribute_malloc__ __THROW;
-void free(void *ptr) __THROW;
-void *realloc(void *ptr, size_t size) __attribute_malloc__ __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 system (const char * string) __THROW;
-int atexit(void (*function)(void)) __THROW;
-
-float strtof(const char *nptr, char **endptr) __THROW;
-double strtod(const char *nptr, char **endptr) __THROW;
-long double strtold(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;
-
-extern int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase) __THROW;
-extern int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2) __THROW;
-
-#ifndef __STRICT_ANSI__
-__extension__ long long int strtoll(const char *nptr, char **endptr, int base) __THROW;
-__extension__ unsigned long long int strtoull(const char *nptr, char **endptr, int base) __THROW;
-__extension__ int __lltostr(char *s, unsigned int size, unsigned long long i, unsigned int base, int 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;
-
-extern int rand(void) __THROW;
-extern int rand_r(unsigned int *seed) __THROW;
-extern void srand(unsigned int seed) __THROW;
-#ifdef _BSD_SOURCE
-extern int random(void) __THROW;
-extern void srandom(unsigned int seed) __THROW;
-#endif
-
-typedef unsigned short randbuf[3];
-double drand48(void) __THROW;
-long lrand48(void) __THROW;
-long mrand48(void) __THROW;
-void srand48(long seed) __THROW;
-unsigned short *seed48(randbuf buf) __THROW;
-void lcong48(unsigned short param[7]) __THROW;
-long jrand48(randbuf buf) __THROW;
-long nrand48(randbuf buf) __THROW;
-double erand48(randbuf buf) __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;
-
-/* 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));
-
-char *realpath(const char *path, char *resolved_path) __THROW;
-
-int mkstemp(char *_template);
-char* mkdtemp(char *_template);
-
-char* mktemp(char *_template);
-
-int abs(int i) __THROW __attribute__((const));
-long int labs(long int i) __THROW __attribute__((const));
-__extension__ long long int llabs(long long int i) __THROW __attribute__((const));
-
-#ifdef _XOPEN_SOURCE
-int grantpt (int fd) __THROW;
-int unlockpt (int fd) __THROW;
-char *ptsname (int fd) __THROW;
-#endif
-
-#endif
-
-#define EXIT_FAILURE 1
-#define EXIT_SUCCESS 0
-
-#define RAND_MAX ((1<<31) -2)
-
-#define MB_CUR_MAX 1
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/string.h b/mdk-stage1/dietlibc/include/string.h
deleted file mode 100644
index 1c3df8621..000000000
--- a/mdk-stage1/dietlibc/include/string.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _STRING_H
-#define _STRING_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-char *strcpy(char *dest, const char *src) __THROW;
-
-void *memccpy(void *dest, const void *src, int c, 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__;
-
-void* memset(void *s, int c, size_t n) __THROW;
-int memcmp(const void *s1, const void *s2, size_t n) __THROW __pure__;
-void* memcpy(void *dest, const void *src, size_t n) __THROW;
-
-char *strncpy(char *dest, const char *src, size_t n) __THROW;
-int strncmp(const char *s1, const char *s2, size_t n) __THROW __pure__;
-char *strncat(char *dest, const char *src, size_t n) __THROW;
-
-int strcmp(const char *s1, const char *s2) __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) __attribute_malloc__ __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;
-
-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* memchr(const void *s, int c, size_t n) __THROW __pure__;
-#ifdef _GNU_SOURCE
-void* memrchr(const void *s, int c, size_t n) __THROW __pure__;
-#endif
-
-/* I would like to make this const, but Paul Jarc points out it has to
- * be char* :-( */
-char *strerror(int errnum) __THROW;
-/* work around b0rken GNU crapware like tar 1.13.19 */
-#define strerror strerror
-
-#ifdef _GNU_SOURCE
-const char *strsignal(int signum) __THROW;
-void *memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen) __THROW;
-
-char *strndup(const char *s,size_t n) __attribute_malloc__ __THROW;
-#endif
-
-char *strtok(char *s, const char *delim) __THROW;
-char *strtok_r(char *s, const char *delim, char **ptrptr) __THROW;
-
-size_t strlcpy(char *dst, const char *src, size_t size) __THROW;
-size_t strlcat(char *dst, const char *src, size_t size) __THROW;
-
-int strcoll(const char *s1, const char *s2) __THROW;
-size_t strxfrm(char *dest, const char *src, size_t n) __THROW;
-
-#ifdef _BSD_SOURCE
-#include <strings.h>
-#endif
-
-char *stpcpy(char *dest, const char *src);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/strings.h b/mdk-stage1/dietlibc/include/strings.h
deleted file mode 100644
index fd2616465..000000000
--- a/mdk-stage1/dietlibc/include/strings.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _STRINGS_H
-#define _STRINGS_H
-
-#include <stddef.h>
-#include <sys/cdefs.h>
-
-int strcasecmp(const char *s1, const char *s2) __THROW __pure__;
-int strncasecmp(const char *s1, const char *s2, size_t n) __THROW __pure__;
-int ffs(int i) __THROW __attribute__((__const__));
-
-int bcmp(const void *, const void *, size_t) __THROW __pure__;
-void bcopy(const void *, void *, size_t) __THROW;
-void bzero(void *, size_t) __THROW;
-char *index(const char *, int) __THROW __pure__;
-char *rindex(const char *, int) __THROW __pure__;
-
-#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)
-#define index(a,b) strchr(a,b)
-#define rindex(a,b) strrchr(a,b)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h b/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h
deleted file mode 100644
index f1bde3bbb..000000000
--- a/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h
+++ /dev/null
@@ -1,168 +0,0 @@
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 13
-#define _IOC_DIRBITS 3
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
- * And this turns out useful to catch old ioctl numbers in header
- * files for us.
- */
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-#define _IOC(dir,type,nr,size) \
- ((unsigned int) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT)))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode them.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#define FIOCLEX _IO('f', 1)
-#define FIONCLEX _IO('f', 2)
-#define FIOASYNC _IOW('f', 125, int)
-#define FIONBIO _IOW('f', 126, int)
-#define FIONREAD _IOR('f', 127, int)
-#define TIOCINQ FIONREAD
-#define FIOQSIZE _IOR('f', 128, loff_t)
-
-#define TIOCGETP _IOR('t', 8, struct sgttyb)
-#define TIOCSETP _IOW('t', 9, struct sgttyb)
-#define TIOCSETN _IOW('t', 10, struct sgttyb) /* TIOCSETP wo flush */
-
-#define TIOCSETC _IOW('t', 17, struct tchars)
-#define TIOCGETC _IOR('t', 18, struct tchars)
-#define TCGETS _IOR('t', 19, struct termios)
-#define TCSETS _IOW('t', 20, struct termios)
-#define TCSETSW _IOW('t', 21, struct termios)
-#define TCSETSF _IOW('t', 22, struct termios)
-
-#define TCGETA _IOR('t', 23, struct termio)
-#define TCSETA _IOW('t', 24, struct termio)
-#define TCSETAW _IOW('t', 25, struct termio)
-#define TCSETAF _IOW('t', 28, struct termio)
-
-#define TCSBRK _IO('t', 29)
-#define TCXONC _IO('t', 30)
-#define TCFLSH _IO('t', 31)
-
-#define TIOCSWINSZ _IOW('t', 103, struct winsize)
-#define TIOCGWINSZ _IOR('t', 104, struct winsize)
-#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
-#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */
-#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */
-
-#define TIOCGLTC _IOR('t', 116, struct ltchars)
-#define TIOCSLTC _IOW('t', 117, struct ltchars)
-#define TIOCSPGRP _IOW('t', 118, int)
-#define TIOCGPGRP _IOR('t', 119, int)
-
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-
-#define TIOCSTI 0x5412
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-# define TIOCM_LE 0x001
-# define TIOCM_DTR 0x002
-# define TIOCM_RTS 0x004
-# define TIOCM_ST 0x008
-# define TIOCM_SR 0x010
-# define TIOCM_CTS 0x020
-# define TIOCM_CAR 0x040
-# define TIOCM_RNG 0x080
-# define TIOCM_DSR 0x100
-# define TIOCM_CD TIOCM_CAR
-# define TIOCM_RI TIOCM_RNG
-# define TIOCM_OUT1 0x2000
-# define TIOCM_OUT2 0x4000
-# define TIOCM_LOOP 0x8000
-
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-# define TIOCPKT_DATA 0
-# define TIOCPKT_FLUSHREAD 1
-# define TIOCPKT_FLUSHWRITE 2
-# define TIOCPKT_STOP 4
-# define TIOCPKT_START 8
-# define TIOCPKT_NOSTOP 16
-# define TIOCPKT_DOSTOP 32
-
-
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
- /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
-#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
-
-/* Socket-level I/O control calls. */
-
-#define FIOGETOWN _IOR('f', 123, int)
-#define FIOSETOWN _IOW('f', 124, int)
-
-#define SIOCATMARK _IOR('s', 7, int)
-#define SIOCSPGRP _IOW('s', 8, pid_t)
-#define SIOCGPGRP _IOR('s', 9, pid_t)
-
-#define SIOCGSTAMP 0x8906 /* Get stamp - linux-specific */
diff --git a/mdk-stage1/dietlibc/include/sys/arm-ioctl.h b/mdk-stage1/dietlibc/include/sys/arm-ioctl.h
deleted file mode 100644
index ab8b844a5..000000000
--- a/mdk-stage1/dietlibc/include/sys/arm-ioctl.h
+++ /dev/null
@@ -1,149 +0,0 @@
-
-/* ioctl command encoding: 32 bits total, command in lower 16 bits,
- * size of the parameter structure in the lower 14 bits of the
- * upper 16 bits.
- * Encoding the size of the parameter structure in the ioctl request
- * is useful for catching programs compiled with old versions
- * and to avoid overwriting user space outside the user buffer area.
- * The highest 2 bits are reserved for indicating the ``access mode''.
- * NOTE: This limits the max parameter size to 16kB -1 !
- */
-
-/*
- * The following is for compatibility across the various Linux
- * platforms. The i386 ioctl numbering scheme doesn't really enforce
- * a type field. De facto, however, the top 8 bits of the lower 16
- * bits are indeed used as a type field, so we might just as well make
- * this explicit here. Please be sure to use the decoding macros
- * below from now on.
- */
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 14
-#define _IOC_DIRBITS 2
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits.
- */
-#define _IOC_NONE 0U
-#define _IOC_WRITE 1U
-#define _IOC_READ 2U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define FIOQSIZE 0x545E
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp */
diff --git a/mdk-stage1/dietlibc/include/sys/cdefs.h b/mdk-stage1/dietlibc/include/sys/cdefs.h
deleted file mode 100644
index 4ccb0ed2f..000000000
--- a/mdk-stage1/dietlibc/include/sys/cdefs.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _SYS_CDEFS_H
-#define _SYS_CDEFS_H
-
-/* Suppress kernel-name space pollution unless user expressedly asks
- for it. */
-#ifndef _LOOSE_KERNEL_NAMES
-# define __KERNEL_STRICT_NAMES
-#endif
-
-#ifndef __cplusplus
-#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)
-#define __extension__
-#endif
-
-#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96))
-#define __pure__ __attribute__ ((__pure__))
-#else
-#define __pure__
-#endif
-
-#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
-#define __restrict__
-#endif
-
-#ifndef __STRICT_ANSI__
-#if __GNUC__ < 3
-#define __builtin_expect(foo,bar) (foo)
-#define expect(foo,bar) (foo)
-#else
-#define expect(foo,bar) __builtin_expect(foo,bar)
-#define __attribute_malloc__ __attribute__((malloc))
-#endif
-#endif
-
-#ifndef __attribute_malloc__
-#define __attribute_malloc__
-#endif
-
-#define __P(x) x
-
-#define __ptr_t void*
-
-#ifdef __STRICT_ANSI__
-#define inline
-#endif
-
-#ifndef __i386__
-#define regparm(x)
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/epoll.h b/mdk-stage1/dietlibc/include/sys/epoll.h
deleted file mode 100644
index d65d5465f..000000000
--- a/mdk-stage1/dietlibc/include/sys/epoll.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _SYS_EPOLL_H
-#define _SYS_EPOLL_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/poll.h>
-
-/* Valid opcodes ( "op" parameter ) to issue to epoll_ctl() */
-#define EPOLL_CTL_ADD 1 /* Add a file decriptor to the interface */
-#define EPOLL_CTL_DEL 2 /* Remove a file decriptor from the interface */
-#define EPOLL_CTL_MOD 3 /* Change file decriptor epoll_event structure */
-
-enum EPOLL_EVENTS {
- EPOLLIN = 0x001,
-#define EPOLLIN EPOLLIN
- EPOLLPRI = 0x002,
-#define EPOLLPRI EPOLLPRI
- EPOLLOUT = 0x004,
-#define EPOLLOUT EPOLLOUT
-
-#ifdef __USE_XOPEN
- EPOLLRDNORM = 0x040,
-#define EPOLLRDNORM EPOLLRDNORM
- EPOLLRDBAND = 0x080,
-#define EPOLLRDBAND EPOLLRDBAND
- EPOLLWRNORM = 0x100,
-#define EPOLLWRNORM EPOLLWRNORM
- EPOLLWRBAND = 0x200,
-#define EPOLLWRBAND EPOLLWRBAND
-#endif /* #ifdef __USE_XOPEN */
-
-#ifdef __USE_GNU
- EPOLLMSG = 0x400,
-#define EPOLLMSG EPOLLMSG
-#endif /* #ifdef __USE_GNU */
-
- EPOLLERR = 0x008,
-#define EPOLLERR EPOLLERR
- EPOLLHUP = 0x010
-#define EPOLLHUP EPOLLHUP
-};
-
-typedef union epoll_data {
- void *ptr;
- int fd;
- uint32_t u32;
- uint64_t u64;
-} epoll_data_t;
-
-struct epoll_event {
- uint32_t events;
- epoll_data_t data;
-};
-
-int epoll_create(int size) __THROW;
-int epoll_ctl(int epfd, int op, int fd, struct epoll_event* event) __THROW;
-int epoll_wait(int epfd, struct epoll_event *events, int maxevents,
- int timeout) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/file.h b/mdk-stage1/dietlibc/include/sys/file.h
deleted file mode 100644
index cf2c74305..000000000
--- a/mdk-stage1/dietlibc/include/sys/file.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _SYS_FILE_H
-#define _SYS_FILE_H
-
-#include <sys/cdefs.h>
-#include <fcntl.h>
-
-extern int fcntl(int fd, int cmd, ...) __THROW;
-extern int flock(int fd, int operation) __THROW;
-
-#endif /* _SYS_FILE_H */
diff --git a/mdk-stage1/dietlibc/include/sys/fsuid.h b/mdk-stage1/dietlibc/include/sys/fsuid.h
deleted file mode 100644
index 538070451..000000000
--- a/mdk-stage1/dietlibc/include/sys/fsuid.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __FSUID_H
-#define __FSUID_H 1
-
-#include <sys/types.h>
-
-/* Linux only: */
-int setfsuid(uid_t uid);
-int setfsgid(gid_t gid);
-int setfsuid32(uid32_t fsuid) __THROW;
-int setfsgid32(gid32_t fsgid) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/gmon.h b/mdk-stage1/dietlibc/include/sys/gmon.h
deleted file mode 100644
index 50aae3028..000000000
--- a/mdk-stage1/dietlibc/include/sys/gmon.h
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef __DLC_GMON_H_
-#define __DLC_GMON_H_
-
-# define HISTCOUNTER unsigned short
-# define HISTFRACTION 2
-# define HASHFRACTION 2
-# define ARCDENSITY 2
-# define MINARCS 50
-# define MAXARCS (( 1 << (8 * sizeof(HISTCOUNTER))) - 2)
-
-# define ROUNDDOWN(x,y) (((x)/(y))*y)
-# define ROUNDUP(x,y) ((((x)+(y)-1)/(y))*y)
-
-# define PROF_SECTION __attribute__ ((section (".profile")))
-
-struct tostruct {
- unsigned long selfpc;
- signed long count;
- unsigned short link;
- unsigned short pad;
-};
-
-struct rawarc {
- unsigned long raw_frompc;
- unsigned long raw_selfpc;
- signed long raw_count;
-};
-
-struct monparam {
- unsigned short *kcount;
- unsigned long kcountsize;
- struct rawarc *arcs;
- unsigned long arcnum;
- unsigned long lowpc;
- unsigned long highpc;
- unsigned long textsize;
-};
-
-struct gmonparam {
- long state;
- unsigned short *kcount;
- unsigned long kcountsize;
- unsigned short *froms;
- unsigned long fromsize;
- struct tostruct *tos;
- unsigned long tossize;
- long tolimit;
- unsigned long lowpc;
- unsigned long highpc;
- unsigned long textsize;
- unsigned long hashfraction;
- unsigned long log_hashfraction;
-};
-
-struct gmon_hdr {
- char cookie[4];
- long version;
- char spare[12];
-};
-
-struct gmon_hist_hdr {
- long low_pc;
- long high_pc;
- long hist_size;
- long prof_rate;
- char dimen[15];
- char dimen_abbrev;
-};
-
-struct gmon_cg_arc_record {
- long from_pc;
- long self_pc;
- long count;
-};
-
-struct __bb {
- long zero_word;
- char *filename;
- long *counts;
- long ncounts;
- struct __bb *next;
- unsigned long *addresses;
-};
-
-typedef enum {
- GMON_TAG_TIME_HIST, GMON_TAG_CG_ARC, GMON_TAG_BB_COUNT
-} GMON_Record_Tag;
-
-enum { GMON_PROF_ON, GMON_PROF_BUSY, GMON_PROF_ERROR, GMON_PROF_OFF };
-enum { GPROF_STATE, GPROF_COUNT, GPROF_FROMS, GPROF_TOS, GPROF_GMONPARAM };
-
-extern struct gmonparam gmparam;
-extern struct __bb * __bb_head;
-
-extern void __monstartup(unsigned long, unsigned long);
-extern void monstartup(unsigned long, unsigned long);
-extern void _mcleanup(void);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/gmon_out.h b/mdk-stage1/dietlibc/include/sys/gmon_out.h
deleted file mode 100644
index 31566b999..000000000
--- a/mdk-stage1/dietlibc/include/sys/gmon_out.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/gmon.h>
diff --git a/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h b/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h
deleted file mode 100644
index 62b6f1cf9..000000000
--- a/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef __ARCH_PARISC_IOCTLS_H__
-#define __ARCH_PARISC_IOCTLS_H__
-
-#ifndef _ASM_PARISC_IOCTL_H
-#define _ASM_PARISC_IOCTL_H
-
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 14
-#define _IOC_DIRBITS 2
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits.
- */
-#define _IOC_NONE 0U
-#define _IOC_WRITE 2U
-#define _IOC_READ 1U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#endif /* _ASM_PARISC_IOCTL_H */
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS _IOR('T', 16, struct termios) /* TCGETATTR */
-#define TCSETS _IOW('T', 17, struct termios) /* TCSETATTR */
-#define TCSETSW _IOW('T', 18, struct termios) /* TCSETATTRD */
-#define TCSETSF _IOW('T', 19, struct termios) /* TCSETATTRF */
-#define TCGETA _IOR('T', 1, struct termio)
-#define TCSETA _IOW('T', 2, struct termio)
-#define TCSETAW _IOW('T', 3, struct termio)
-#define TCSETAF _IOW('T', 4, struct termio)
-#define TCSBRK _IO('T', 5)
-#define TCXONC _IO('T', 6)
-#define TCFLSH _IO('T', 7)
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP _IOR('T', 30, int)
-#define TIOCSPGRP _IOW('T', 29, int)
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID _IOR('T', 20, int) /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
-#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
-#define FIOQSIZE 0x5460 /* Get exact space used by quota */
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-#endif /* _ASM_PARISC_IOCTLS_H */
diff --git a/mdk-stage1/dietlibc/include/sys/i386-ioctl.h b/mdk-stage1/dietlibc/include/sys/i386-ioctl.h
deleted file mode 100644
index c9aa270d6..000000000
--- a/mdk-stage1/dietlibc/include/sys/i386-ioctl.h
+++ /dev/null
@@ -1,141 +0,0 @@
-
-/*
- * The following is for compatibility across the various Linux
- * platforms. The i386 ioctl numbering scheme doesn't really enforce
- * a type field. De facto, however, the top 8 bits of the lower 16
- * bits are indeed used as a type field, so we might just as well make
- * this explicit here. Please be sure to use the decoding macros
- * below from now on.
- */
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 14
-#define _IOC_DIRBITS 2
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits.
- */
-#define _IOC_NONE 0U
-#define _IOC_WRITE 1U
-#define _IOC_READ 2U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
-#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
-#define FIOQSIZE 0x5460
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp */
diff --git a/mdk-stage1/dietlibc/include/sys/io.h b/mdk-stage1/dietlibc/include/sys/io.h
deleted file mode 100644
index 5edf33a57..000000000
--- a/mdk-stage1/dietlibc/include/sys/io.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _SYS_IO_H
-#define _SYS_IO_H
-
-#include <sys/cdefs.h>
-
-extern int ioperm(unsigned long from, unsigned long num, int turn_on) __THROW;
-extern int iopl(int level) __THROW;
-
-#ifndef __STRICT_ANSI__
-/* anyone have a cleaner solution for this mess? */
-#ifdef __i386__
-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 inw (unsigned short int port) {
- unsigned short _v;
- __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
- return _v;
-}
-
-static inline unsigned int inl (unsigned short int port) {
- unsigned int _v;
- __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port));
- return _v;
-}
-
-static inline void outb (unsigned char value, unsigned short int port) {
- __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
-}
-
-static inline void outw (unsigned short value, unsigned short int port) {
- __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
-}
-
-static inline void outl (unsigned int value, unsigned short int port) {
- __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (port));
-}
-#endif
-#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 a7890f038..000000000
--- a/mdk-stage1/dietlibc/include/sys/ioctl.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _IOCTL_H
-#define _IOCTL_H
-
-#include <sys/cdefs.h>
-
-#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__)
-#include <sys/i386-ioctl.h>
-#elif defined(__alpha__)
-#include <sys/alpha-ioctl.h>
-#elif defined(__arm__)
-#include <sys/arm-ioctl.h>
-#elif defined(__sparc__)
-#include <sys/sparc-ioctl.h>
-#elif defined(__mips__)
-#include <sys/mips-ioctl.h>
-#elif defined(__powerpc__)
-#include <sys/ppc-ioctl.h>
-#elif defined(__s390__)
-#include <sys/s390-ioctl.h>
-#elif defined(__hppa__)
-#include <sys/hppa-ioctl.h>
-#endif
-
-/* used for /dev/epoll */
-#define EP_ALLOC _IOR('P', 1, int)
-#define EP_POLL _IOWR('P', 2, struct evpoll)
-#define EP_FREE _IO('P', 3)
-#define EP_ISPOLLED _IOWR('P', 4, struct pollfd)
-
-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 481d97b62..000000000
--- a/mdk-stage1/dietlibc/include/sys/ipc.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef _SYS_IPC_H
-#define _SYS_IPC_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#define SEMOP 1
-#define SEMGET 2
-#define SEMCTL 3
-#define MSGSND 11
-#define MSGRCV 12
-#define MSGGET 13
-#define MSGCTL 14
-#define SHMAT 21
-#define SHMDT 22
-#define SHMGET 23
-#define SHMCTL 24
-
-#define IPC_PRIVATE ((key_t) 0)
-
-#define IPC_CREAT 00001000 /* create if key is nonexistent */
-#define IPC_EXCL 00002000 /* fail if key exists */
-#define IPC_NOWAIT 00004000 /* return error on wait */
-
-#define IPC_RMID 0 /* remove resource */
-#define IPC_SET 1 /* set ipc_perm options */
-#define IPC_STAT 2 /* get ipc_perm options */
-#define IPC_INFO 3 /* see ipcs */
-
-/*
- * Version flags for semctl, msgctl, and shmctl commands
- * These are passed as bitflags or-ed with the actual command
- */
-#define IPC_OLD 0 /* Old version (no 32-bit UID support on many
- architectures) */
-#define IPC_64 0x0100 /* New version (support 32-bit UIDs, bigger
- message sizes, etc. */
-
-struct ipc_perm {
- key_t key;
- uid_t uid;
- gid_t gid;
- uid_t cuid;
- gid_t cgid;
- mode_t mode;
- unsigned short seq;
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/kd.h b/mdk-stage1/dietlibc/include/sys/kd.h
deleted file mode 100644
index 98b337ede..000000000
--- a/mdk-stage1/dietlibc/include/sys/kd.h
+++ /dev/null
@@ -1,183 +0,0 @@
-#ifndef _SYS_KD_H
-#define _SYS_KD_H
-
-/* 0x4B is 'K', to avoid collision with termios and vt */
-
-#define GIO_FONT 0x4B60 /* gets font in expanded form */
-#define PIO_FONT 0x4B61 /* use font in expanded form */
-
-#define GIO_FONTX 0x4B6B /* get font using struct consolefontdesc */
-#define PIO_FONTX 0x4B6C /* set font using struct consolefontdesc */
-
-struct consolefontdesc {
- unsigned short charcount; /* characters in font (256 or 512) */
- unsigned short charheight; /* scan lines per character (1-32) */
- char *chardata; /* font data in expanded form */
-};
-
-#define PIO_FONTRESET 0x4B6D /* reset to default font */
-
-#define GIO_CMAP 0x4B70 /* gets colour palette on VGA+ */
-#define PIO_CMAP 0x4B71 /* sets colour palette on VGA+ */
-
-#define KIOCSOUND 0x4B2F /* start sound generation (0 for off) */
-#define KDMKTONE 0x4B30 /* generate tone */
-
-#define KDGETLED 0x4B31 /* return current led state */
-#define KDSETLED 0x4B32 /* set led state [lights, not flags] */
-#define LED_SCR 0x01 /* scroll lock led */
-#define LED_CAP 0x04 /* caps lock led */
-#define LED_NUM 0x02 /* num lock led */
-
-#define KDGKBTYPE 0x4B33 /* get keyboard type */
-#define KB_84 0x01
-#define KB_101 0x02 /* this is what we always answer */
-#define KB_OTHER 0x03
-
-#define KDADDIO 0x4B34 /* add i/o port as valid */
-#define KDDELIO 0x4B35 /* del i/o port as valid */
-#define KDENABIO 0x4B36 /* enable i/o to video board */
-#define KDDISABIO 0x4B37 /* disable i/o to video board */
-
-#define KDSETMODE 0x4B3A /* set text/graphics mode */
-#define KD_TEXT 0x00
-#define KD_GRAPHICS 0x01
-#define KD_TEXT0 0x02 /* obsolete */
-#define KD_TEXT1 0x03 /* obsolete */
-#define KDGETMODE 0x4B3B /* get current mode */
-
-#define KDMAPDISP 0x4B3C /* map display into address space */
-#define KDUNMAPDISP 0x4B3D /* unmap display from address space */
-
-typedef char scrnmap_t;
-
-#define E_TABSZ 256
-#define GIO_SCRNMAP 0x4B40 /* get screen mapping from kernel */
-#define PIO_SCRNMAP 0x4B41 /* put screen mapping table in kernel */
-#define GIO_UNISCRNMAP 0x4B69 /* get full Unicode screen mapping */
-#define PIO_UNISCRNMAP 0x4B6A /* set full Unicode screen mapping */
-
-#define GIO_UNIMAP 0x4B66 /* get unicode-to-font mapping from kernel */
-
-struct unipair {
- unsigned short unicode;
- unsigned short fontpos;
-};
-
-struct unimapdesc {
- unsigned short entry_ct;
- struct unipair *entries;
-};
-
-#define PIO_UNIMAP 0x4B67 /* put unicode-to-font mapping in kernel */
-#define PIO_UNIMAPCLR 0x4B68 /* clear table, possibly advise hash algorithm */
-
-struct unimapinit {
- unsigned short advised_hashsize; /* 0 if no opinion */
- unsigned short advised_hashstep; /* 0 if no opinion */
- unsigned short advised_hashlevel; /* 0 if no opinion */
-};
-
-#define UNI_DIRECT_BASE 0xF000 /* start of Direct Font Region */
-#define UNI_DIRECT_MASK 0x01FF /* Direct Font Region bitmask */
-
-#define K_RAW 0x00
-#define K_XLATE 0x01
-#define K_MEDIUMRAW 0x02
-#define K_UNICODE 0x03
-#define KDGKBMODE 0x4B44 /* gets current keyboard mode */
-#define KDSKBMODE 0x4B45 /* sets current keyboard mode */
-
-#define K_METABIT 0x03
-#define K_ESCPREFIX 0x04
-#define KDGKBMETA 0x4B62 /* gets meta key handling mode */
-#define KDSKBMETA 0x4B63 /* sets meta key handling mode */
-
-#define K_SCROLLLOCK 0x01
-#define K_CAPSLOCK 0x02
-#define K_NUMLOCK 0x04
-#define KDGKBLED 0x4B64 /* get led flags (not lights) */
-#define KDSKBLED 0x4B65 /* set led flags (not lights) */
-
-struct kbentry {
- unsigned char kb_table;
- unsigned char kb_index;
- unsigned short kb_value;
-};
-
-#define K_NORMTAB 0x00
-#define K_SHIFTTAB 0x01
-#define K_ALTTAB 0x02
-#define K_ALTSHIFTTAB 0x03
-
-#define KDGKBENT 0x4B46 /* gets one entry in translation table */
-#define KDSKBENT 0x4B47 /* sets one entry in translation table */
-
-struct kbsentry {
- unsigned char kb_func;
- unsigned char kb_string[512];
-};
-
-#define KDGKBSENT 0x4B48 /* gets one function key string entry */
-#define KDSKBSENT 0x4B49 /* sets one function key string entry */
-
-struct kbdiacr {
- unsigned char diacr, base, result;
-};
-
-struct kbdiacrs {
- unsigned int kb_cnt; /* number of entries in following array */
- struct kbdiacr kbdiacr[256]; /* MAX_DIACR from keyboard.h */
-};
-
-#define KDGKBDIACR 0x4B4A /* read kernel accent table */
-#define KDSKBDIACR 0x4B4B /* write kernel accent table */
-
-struct kbkeycode {
- unsigned int scancode, keycode;
-};
-
-#define KDGETKEYCODE 0x4B4C /* read kernel keycode table entry */
-#define KDSETKEYCODE 0x4B4D /* write kernel keycode table entry */
-
-#define KDSIGACCEPT 0x4B4E /* accept kbd generated signals */
-
-struct hwclk_time {
- unsigned int sec; /* 0..59 */
- unsigned int min; /* 0..59 */
- unsigned int hour; /* 0..23 */
- unsigned int day; /* 1..31 */
- unsigned int mon; /* 0..11 */
- unsigned int year; /* 70... */
- int wday; /* 0..6, 0 is Sunday, -1 means unknown/don't set */
-};
-
-#define KDGHWCLK 0x4B50 /* get hardware clock */
-#define KDSHWCLK 0x4B51 /* set hardware clock */
-
-struct kbd_repeat {
- int delay; /* in msec; <= 0: don't change */
- int rate; /* in msec; <= 0: don't change */
-};
-
-#define KDKBDREP 0x4B52 /* set keyboard delay/repeat rate;
- * actually used values are returned */
-
-#define KDFONTOP 0x4B72 /* font operations */
-
-struct console_font_op {
- unsigned int op; /* operation code KD_FONT_OP_* */
- unsigned int flags; /* KD_FONT_FLAG_* */
- unsigned int width, height; /* font size */
- unsigned int charcount;
- unsigned char *data; /* font data with height fixed to 32 */
-};
-
-#define KD_FONT_OP_SET 0 /* Set font */
-#define KD_FONT_OP_GET 1 /* Get font */
-#define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default, data points to name / NULL */
-#define KD_FONT_OP_COPY 3 /* Copy from another console */
-
-#define KD_FONT_FLAG_DONT_RECALC 1 /* Don't recalculate hw charcell size [compat] */
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/klog.h b/mdk-stage1/dietlibc/include/sys/klog.h
deleted file mode 100644
index abacfef9c..000000000
--- a/mdk-stage1/dietlibc/include/sys/klog.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_KLOG_H
-#define _SYS_KLOG_H
-
-#include <sys/cdefs.h>
-
-extern int klogctl (int __type, char *__bufp, int __len) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mips-ioctl.h b/mdk-stage1/dietlibc/include/sys/mips-ioctl.h
deleted file mode 100644
index 889ac83ae..000000000
--- a/mdk-stage1/dietlibc/include/sys/mips-ioctl.h
+++ /dev/null
@@ -1,177 +0,0 @@
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 13
-#define _IOC_DIRBITS 3
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * We to additionally limit parameters to a maximum 255 bytes.
- */
-#define _IOC_SLMASK 0xff
-
-/*
- * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
- * And this turns out useful to catch old ioctl numbers in header
- * files for us.
- */
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-/*
- * The following are included for compatibility
- */
-#define _IOC_VOID 0x20000000
-#define _IOC_OUT 0x40000000
-#define _IOC_IN 0x80000000
-#define _IOC_INOUT (IOC_IN|IOC_OUT)
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- (((size) & _IOC_SLMASK) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode them.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#if defined(__USE_MISC) || defined (__KERNEL__)
-#define tIOC ('t' << 8)
-#endif
-
-#define TCGETA 0x5401
-#define TCSETA 0x5402
-#define TCSETAW 0x5403
-#define TCSETAF 0x5404
-
-#define TCSBRK 0x5405
-#define TCXONC 0x5406
-#define TCFLSH 0x5407
-
-#define TCGETS 0x540d
-#define TCSETS 0x540e
-#define TCSETSW 0x540f
-#define TCSETSF 0x5410
-
-#define TIOCEXCL 0x740d /* set exclusive use of tty */
-#define TIOCNXCL 0x740e /* reset exclusive use of tty */
-#define TIOCOUTQ 0x7472 /* output queue size */
-#define TIOCSTI 0x5472 /* simulate terminal input */
-#define TIOCMGET 0x741d /* get all modem bits */
-#define TIOCMBIS 0x741b /* bis modem bits */
-#define TIOCMBIC 0x741c /* bic modem bits */
-#define TIOCMSET 0x741a /* set all modem bits */
-#define TIOCPKT 0x5470 /* pty: set/clear packet mode */
-#define TIOCPKT_DATA 0x00 /* data packet */
-#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */
-#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */
-#define TIOCPKT_STOP 0x04 /* stop output */
-#define TIOCPKT_START 0x08 /* start output */
-#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */
-#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */
-#if 0
-#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */
-#endif
-#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */
-#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */
-#define TIOCNOTTY 0x5471 /* void tty association */
-#define TIOCSETD (tIOC | 1)
-#define TIOCGETD (tIOC | 0)
-
-#define FIOCLEX 0x6601
-#define FIONCLEX 0x6602 /* these numbers need to be adjusted. */
-#define FIOASYNC 0x667d
-#define FIONBIO 0x667e
-#define FIOQSIZE 0x667f
-
-#if defined(__USE_MISC) || defined (__KERNEL__)
-#define TIOCGLTC (tIOC | 116) /* get special local chars */
-#define TIOCSLTC (tIOC | 117) /* set special local chars */
-#endif
-#define TIOCSPGRP _IOW('t', 118, int) /* set pgrp of tty */
-#define TIOCGPGRP _IOR('t', 119, int) /* get pgrp of tty */
-#define TIOCCONS _IOW('t', 120, int) /* become virtual console */
-
-#define FIONREAD 0x467f
-#define TIOCINQ FIONREAD
-
-#if defined(__USE_MISC) || defined (__KERNEL__)
-#define TIOCGETP (tIOC | 8)
-#define TIOCSETP (tIOC | 9)
-#define TIOCSETN (tIOC | 10) /* TIOCSETP wo flush */
-#endif
-
-#if 0
-#define TIOCSETA _IOW('t', 20, struct termios) /* set termios struct */
-#define TIOCSETAW _IOW('t', 21, struct termios) /* drain output, set */
-#define TIOCSETAF _IOW('t', 22, struct termios) /* drn out, fls in, set */
-#define TIOCGETD _IOR('t', 26, int) /* get line discipline */
-#define TIOCSETD _IOW('t', 27, int) /* set line discipline */
- /* 127-124 compat */
-#endif
-
-/* I hope the range from 0x5480 on is free ... */
-#define TIOCSCTTY 0x5480 /* become controlling tty */
-#define TIOCGSOFTCAR 0x5481
-#define TIOCSSOFTCAR 0x5482
-#define TIOCLINUX 0x5483
-#define TIOCGSERIAL 0x5484
-#define TIOCSSERIAL 0x5485
-
-#define TCSBRKP 0x5486 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5487 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x7416 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define TIOCSERCONFIG 0x5488
-#define TIOCSERGWILD 0x5489
-#define TIOCSERSWILD 0x548a
-#define TIOCGLCKTRMIOS 0x548b
-#define TIOCSLCKTRMIOS 0x548c
-#define TIOCSERGSTRUCT 0x548d /* For debugging only */
-#define TIOCSERGETLSR 0x548e /* Get line status register */
-#define TIOCSERGETMULTI 0x548f /* Get multiport config */
-#define TIOCSERSETMULTI 0x5490 /* Set multiport config */
-#define TIOCMIWAIT 0x5491 /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x5492 /* read serial port inline interrupt counts */
-#define TIOCGHAYESESP 0x5493 /* Get Hayes ESP configuration */
-#define TIOCSHAYESESP 0x5494 /* Set Hayes ESP configuration */
-
-/* Socket-level I/O control calls. */
-#define FIOGETOWN _IOR('f', 123, int)
-#define FIOSETOWN _IOW('f', 124, int)
-
-#define SIOCATMARK _IOR('s', 7, int)
-#define SIOCSPGRP _IOW('s', 8, pid_t)
-#define SIOCGPGRP _IOR('s', 9, pid_t)
-
-#define SIOCGSTAMP 0x8906 /* Get stamp - linux-specific */
diff --git a/mdk-stage1/dietlibc/include/sys/mman.h b/mdk-stage1/dietlibc/include/sys/mman.h
deleted file mode 100644
index 298773a92..000000000
--- a/mdk-stage1/dietlibc/include/sys/mman.h
+++ /dev/null
@@ -1,184 +0,0 @@
-#ifndef _SYS_MMAN_H
-#define _SYS_MMAN_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#define MREMAP_MAYMOVE 1UL
-#define MREMAP_FIXED 2UL
-
-#define PROT_READ 0x1 /* page can be read */
-#define PROT_WRITE 0x2 /* page can be written */
-#define PROT_EXEC 0x4 /* page can be executed */
-#define PROT_NONE 0x0 /* page can not be accessed */
-
-#define MAP_SHARED 0x01 /* Share changes */
-#define MAP_PRIVATE 0x02 /* Changes are private */
-
-#ifdef __mips__
-#define MAP_FIXED 0x010 /* Interpret addr exactly */
-#define MAP_NORESERVE 0x0400 /* don't check for reservations */
-#define MAP_ANONYMOUS 0x0800 /* don't use a file */
-#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
-#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
-#define MAP_LOCKED 0x8000 /* pages are locked */
-#define MS_ASYNC 0x0001 /* sync memory asynchronously */
-#define MS_INVALIDATE 0x0002 /* invalidate mappings & caches */
-#define MS_SYNC 0x0004 /* synchronous memory sync */
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-#define MADV_NORMAL 0x0 /* default page-in behavior */
-#define MADV_RANDOM 0x1 /* page-in minimum required */
-#define MADV_SEQUENTIAL 0x2 /* read-ahead aggressively */
-#define MADV_WILLNEED 0x3 /* pre-fault pages */
-#define MADV_DONTNEED 0x4 /* discard these pages */
-#else
-
-#ifdef __alpha__
-#define MAP_FIXED 0x100 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x10 /* don't use a file */
-#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
-#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
-#define MAP_LOCKED 0x8000 /* lock the mapping */
-#define MAP_NORESERVE 0x10000 /* don't check for reservations */
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_SYNC 2 /* synchronous memory sync */
-#define MS_INVALIDATE 4 /* invalidate the caches */
-#define MCL_CURRENT 8192 /* lock all currently mapped pages */
-#define MCL_FUTURE 16384 /* lock all additions to address space */
-#define MADV_NORMAL 0 /* no further special treatment */
-#define MADV_RANDOM 1 /* expect random page references */
-#define MADV_SEQUENTIAL 2 /* expect sequential page references */
-#define MADV_WILLNEED 3 /* will need these pages */
-#define MADV_SPACEAVAIL 5 /* ensure resources are available */
-#define MADV_DONTNEED 6 /* dont need these pages */
-#else
-#define MAP_FIXED 0x10 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x20 /* don't use a file */
-#endif
-
-#if defined(__i386__) || defined(__s390__) || defined(__x86_64__)
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-#define MADV_NORMAL 0x0 /* default page-in behavior */
-#define MADV_RANDOM 0x1 /* page-in minimum required */
-#define MADV_SEQUENTIAL 0x2 /* read-ahead aggressively */
-#define MADV_WILLNEED 0x3 /* pre-fault pages */
-#define MADV_DONTNEED 0x4 /* discard these pages */
-#elif defined(__sparc__) || defined (__powerpc__)
-#define MAP_RENAME MAP_ANONYMOUS /* In SunOS terminology */
-#define MAP_NORESERVE 0x40 /* don't reserve swap pages */
-#define MAP_INHERIT 0x80 /* SunOS doesn't do this, but... */
-#define MAP_LOCKED 0x100 /* lock the mapping */
-#define _MAP_NEW 0x80000000 /* Binary compatibility is fun... */
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-#define MCL_CURRENT 0x2000 /* lock all currently mapped pages */
-#define MCL_FUTURE 0x4000 /* lock all additions to address space */
-#define MADV_NORMAL 0x0 /* default page-in behavior */
-#define MADV_RANDOM 0x1 /* page-in minimum required */
-#define MADV_SEQUENTIAL 0x2 /* read-ahead aggressively */
-#define MADV_WILLNEED 0x3 /* pre-fault pages */
-#define MADV_DONTNEED 0x4 /* discard these pages */
-#define MADV_FREE 0x5 /* (Solaris) contents can be freed */
-#elif defined (__arm__)
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-#define MADV_NORMAL 0x0 /* default page-in behavior */
-#define MADV_RANDOM 0x1 /* page-in minimum required */
-#define MADV_SEQUENTIAL 0x2 /* read-ahead aggressively */
-#define MADV_WILLNEED 0x3 /* pre-fault pages */
-#define MADV_DONTNEED 0x4 /* discard these pages */
-
-#elif defined(__hppa__)
-#define MAP_TYPE 0x03 /* Mask for type of mapping */
-#define MAP_FIXED 0x04 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x10 /* don't use a file */
-
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MAP_GROWSDOWN 0x8000 /* stack-like segment */
-
-#define MS_SYNC 1 /* synchronous memory sync */
-#define MS_ASYNC 2 /* sync memory asynchronously */
-#define MS_INVALIDATE 4 /* invalidate the caches */
-
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2
-
-#elif defined(__ia64__)
-
-#define MAP_TYPE 0x0f /* Mask for type of mapping */
-#define MAP_FIXED 0x10 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x20 /* don't use a file */
-
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_GROWSUP 0x0200 /* register stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MAP_WRITECOMBINED 0x10000 /* write-combine the area */
-#define MAP_NONCACHED 0x20000 /* don't cache the memory */
-
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-
-#endif
-
-#endif
-
-/* compatibility flags */
-#define MAP_ANON MAP_ANONYMOUS
-#define MAP_FILE 0
-
-#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,
- unsigned long __may_move) __THROW;
-extern int mincore (void *__start, size_t __len, unsigned char *__vec);
-
-extern void *mmap64 (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, off64_t __offset) __THROW;
-
-int mlockall(int flags) __THROW;
-int mlock(const void *addr, size_t len) __THROW;
-int munlock(const void *addr, size_t len) __THROW;
-int munlockall(void) __THROW;
-
-int madvise(void *start, size_t length, int advice) __THROW;
-
-#define _POSIX_MAPPED_FILES
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mount.h b/mdk-stage1/dietlibc/include/sys/mount.h
deleted file mode 100644
index a5170fda9..000000000
--- a/mdk-stage1/dietlibc/include/sys/mount.h
+++ /dev/null
@@ -1,80 +0,0 @@
-#ifndef _SYS_MOUNT_H
-#define _SYS_MOUNT_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#define _LINUX_CONFIG_H
-
-#define BLOCK_SIZE 1024
-#define BLOCK_SIZE_BITS 10
-
-
-/* These are the fs-independent mount-flags: up to 16 flags are
- supported */
-enum
-{
- MS_RDONLY = 1, /* Mount read-only. */
-#define MS_RDONLY MS_RDONLY
- MS_NOSUID = 2, /* Ignore suid and sgid bits. */
-#define MS_NOSUID MS_NOSUID
- MS_NODEV = 4, /* Disallow access to device special files. */
-#define MS_NODEV MS_NODEV
- MS_NOEXEC = 8, /* Disallow program execution. */
-#define MS_NOEXEC MS_NOEXEC
- MS_SYNCHRONOUS = 16, /* Writes are synced at once. */
-#define MS_SYNCHRONOUS MS_SYNCHRONOUS
- MS_REMOUNT = 32, /* Alter flags of a mounted FS. */
-#define MS_REMOUNT MS_REMOUNT
- MS_MANDLOCK = 64, /* Allow mandatory locks on an FS. */
-#define MS_MANDLOCK MS_MANDLOCK
- S_WRITE = 128, /* Write on file/directory/symlink. */
-#define S_WRITE S_WRITE
- S_APPEND = 256, /* Append-only file. */
-#define S_APPEND S_APPEND
- S_IMMUTABLE = 512, /* Immutable file. */
-#define S_IMMUTABLE S_IMMUTABLE
- MS_NOATIME = 1024, /* Do not update access times. */
-#define MS_NOATIME MS_NOATIME
- MS_NODIRATIME = 2048, /* Do not update directory access times. */
-#define MS_NODIRATIME MS_NODIRATIME
- MS_BIND = 4096, /* Bind directory at different place. */
-#define MS_BIND MS_BIND
-};
-
-/* Flags that can be altered by MS_REMOUNT */
-#define MS_RMT_MASK (MS_RDONLY | MS_MANDLOCK)
-
-
-/* Magic mount flag number. Has to be or-ed to the flag values. */
-
-#define MS_MGC_VAL 0xc0ed0000 /* Magic flag number to indicate "new" flags */
-#define MS_MGC_MSK 0xffff0000 /* Magic flag number mask */
-
-
-/* The read-only stuff doesn't really belong here, but any other place
- is probably as bad and I don't want to create yet another include
- file. */
-
-#define BLKROSET _IO(0x12, 93) /* Set device read-only (0 = read-write). */
-#define BLKROGET _IO(0x12, 94) /* Get read-only status (0 = read_write). */
-#define BLKRRPART _IO(0x12, 95) /* Re-read partition table. */
-#define BLKGETSIZE _IO(0x12, 96) /* Return device size. */
-#define BLKFLSBUF _IO(0x12, 97) /* Flush buffer cache. */
-#define BLKRASET _IO(0x12, 98) /* Set read ahead for block device. */
-#define BLKRAGET _IO(0x12, 99) /* Get current read ahead setting. */
-
-
-/* Possible value for FLAGS parameter of `umount2'. */
-enum
-{
- MNT_FORCE = 1 /* Force unmounting. */
-#define MNT_FORCE MNT_FORCE
-};
-
-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 umount2(const char *specialfile, 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 564fd9472..000000000
--- a/mdk-stage1/dietlibc/include/sys/msg.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _SYS_MSG_H
-#define _SYS_MSG_H
-
-#include <sys/ipc.h>
-
-/* ipcs ctl commands */
-#define MSG_STAT 11
-#define MSG_INFO 12
-
-/* msgrcv options */
-#define MSG_NOERROR 010000 /* no error if message is too big */
-#define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/
-
-struct msqid_ds {
- struct ipc_perm msg_perm;
- struct msg *msg_first; /* first message on queue,unused */
- struct msg *msg_last; /* last message in queue,unused */
- time_t msg_stime; /* last msgsnd time */
- time_t msg_rtime; /* last msgrcv time */
- time_t msg_ctime; /* last change time */
- unsigned long msg_lcbytes; /* Reuse junk fields for 32 bit */
- unsigned long msg_lqbytes; /* ditto */
- unsigned short msg_cbytes; /* current number of bytes on queue */
- unsigned short msg_qnum; /* number of messages in queue */
- unsigned short msg_qbytes; /* max number of bytes on queue */
- pid_t msg_lspid; /* pid of last msgsnd */
- pid_t msg_lrpid; /* last receive pid */
-};
-
-/* message buffer for msgsnd and msgrcv calls */
-struct msgbuf {
- long mtype; /* type of message */
- char mtext[1]; /* message text */
-};
-
-/* buffer for msgctl calls IPC_INFO, MSG_INFO */
-struct msginfo {
- int msgpool;
- int msgmap;
- int msgmax;
- int msgmnb;
- int msgmni;
- int msgssz;
- int msgtql;
- unsigned short msgseg;
-};
-
-#define MSGMNI 16 /* <= IPCMNI */ /* max # of msg queue identifiers */
-#define MSGMAX 8192 /* <= INT_MAX */ /* max size of message (bytes) */
-#define MSGMNB 16384 /* <= INT_MAX */ /* default max size of a message queue */
-
-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 08c735dcc..000000000
--- a/mdk-stage1/dietlibc/include/sys/mtio.h
+++ /dev/null
@@ -1,340 +0,0 @@
-#ifndef _SYS_MTIO_H
-#define _SYS_MTIO_H
-
-#include <sys/ioctl.h>
-
-/* structure for MTIOCTOP - mag tape op command */
-struct mtop {
- short int mt_op; /* operations defined below */
- int mt_count; /* how many of them */
-};
-
-/* Magnetic Tape operations [Not all operations supported by all drivers]: */
-#define MTRESET 0 /* +reset drive in case of problems */
-#define MTFSF 1 /* forward space over FileMark,
- * position at first record of next file
- */
-#define MTBSF 2 /* backward space FileMark (position before FM) */
-#define MTFSR 3 /* forward space record */
-#define MTBSR 4 /* backward space record */
-#define MTWEOF 5 /* write an end-of-file record (mark) */
-#define MTREW 6 /* rewind */
-#define MTOFFL 7 /* rewind and put the drive offline (eject?) */
-#define MTNOP 8 /* no op, set status only (read with MTIOCGET) */
-#define MTRETEN 9 /* retension tape */
-#define MTBSFM 10 /* +backward space FileMark, position at FM */
-#define MTFSFM 11 /* +forward space FileMark, position at FM */
-#define MTEOM 12 /* goto end of recorded media (for appending files).
- * MTEOM positions after the last FM, ready for
- * appending another file.
- */
-#define MTERASE 13 /* erase tape -- be careful! */
-
-#define MTRAS1 14 /* run self test 1 (nondestructive) */
-#define MTRAS2 15 /* run self test 2 (destructive) */
-#define MTRAS3 16 /* reserved for self test 3 */
-
-#define MTSETBLK 20 /* set block length (SCSI) */
-#define MTSETDENSITY 21 /* set tape density (SCSI) */
-#define MTSEEK 22 /* seek to block (Tandberg, etc.) */
-#define MTTELL 23 /* tell block (Tandberg, etc.) */
-#define MTSETDRVBUFFER 24 /* set the drive buffering according to SCSI-2 */
- /* ordinary buffered operation with code 1 */
-#define MTFSS 25 /* space forward over setmarks */
-#define MTBSS 26 /* space backward over setmarks */
-#define MTWSM 27 /* write setmarks */
-
-#define MTLOCK 28 /* lock the drive door */
-#define MTUNLOCK 29 /* unlock the drive door */
-#define MTLOAD 30 /* execute the SCSI load command */
-#define MTUNLOAD 31 /* execute the SCSI unload command */
-#define MTCOMPRESSION 32/* control compression with SCSI mode page 15 */
-#define MTSETPART 33 /* Change the active tape partition */
-#define MTMKPART 34 /* Format the tape with one or two partitions */
-
-/* structure for MTIOCGET - mag tape get status command */
-
-typedef int daddr_t;
-
-struct mtget {
- long int mt_type; /* type of magtape device */
- long int mt_resid; /* residual count: (not sure)
- * number of bytes ignored, or
- * number of files not skipped, or
- * number of records not skipped.
- */
- /* the following registers are device dependent */
- long int mt_dsreg; /* status register */
- long int mt_gstat; /* generic (device independent) status */
- long int mt_erreg; /* error register */
- /* The next two fields are not always used */
- daddr_t mt_fileno; /* number of current file on tape */
- daddr_t mt_blkno; /* current block number */
-};
-
-/*
- * Constants for mt_type. Not all of these are supported,
- * and these are not all of the ones that are supported.
- */
-#define MT_ISUNKNOWN 0x01
-#define MT_ISQIC02 0x02 /* Generic QIC-02 tape streamer */
-#define MT_ISWT5150 0x03 /* Wangtek 5150EQ, QIC-150, QIC-02 */
-#define MT_ISARCHIVE_5945L2 0x04 /* Archive 5945L-2, QIC-24, QIC-02? */
-#define MT_ISCMSJ500 0x05 /* CMS Jumbo 500 (QIC-02?) */
-#define MT_ISTDC3610 0x06 /* Tandberg 6310, QIC-24 */
-#define MT_ISARCHIVE_VP60I 0x07 /* Archive VP60i, QIC-02 */
-#define MT_ISARCHIVE_2150L 0x08 /* Archive Viper 2150L */
-#define MT_ISARCHIVE_2060L 0x09 /* Archive Viper 2060L */
-#define MT_ISARCHIVESC499 0x0A /* Archive SC-499 QIC-36 controller */
-#define MT_ISQIC02_ALL_FEATURES 0x0F /* Generic QIC-02 with all features */
-#define MT_ISWT5099EEN24 0x11 /* Wangtek 5099-een24, 60MB, QIC-24 */
-#define MT_ISTEAC_MT2ST 0x12 /* Teac MT-2ST 155mb drive, Teac DC-1 card (Wangtek type) */
-#define MT_ISEVEREX_FT40A 0x32 /* Everex FT40A (QIC-40) */
-#define MT_ISDDS1 0x51 /* DDS device without partitions */
-#define MT_ISDDS2 0x52 /* DDS device with partitions */
-#define MT_ISONSTREAM_SC 0x61 /* OnStream SCSI tape drives (SC-x0)
- and SCSI emulated (DI, DP, USB) */
-#define MT_ISSCSI1 0x71 /* Generic ANSI SCSI-1 tape unit */
-#define MT_ISSCSI2 0x72 /* Generic ANSI SCSI-2 tape unit */
-
-/* QIC-40/80/3010/3020 ftape supported drives.
- * 20bit vendor ID + 0x800000 (see ftape-vendors.h)
- */
-#define MT_ISFTAPE_UNKNOWN 0x800000 /* obsolete */
-#define MT_ISFTAPE_FLAG 0x800000
-
-struct mt_tape_info {
- long int t_type; /* device type id (mt_type) */
- char* t_name; /* descriptive name */
-};
-
-#define MT_TAPE_INFO { \
- {MT_ISUNKNOWN, "Unknown type of tape device"}, \
- {MT_ISQIC02, "Generic QIC-02 tape streamer"}, \
- {MT_ISWT5150, "Wangtek 5150, QIC-150"}, \
- {MT_ISARCHIVE_5945L2, "Archive 5945L-2"}, \
- {MT_ISCMSJ500, "CMS Jumbo 500"}, \
- {MT_ISTDC3610, "Tandberg TDC 3610, QIC-24"}, \
- {MT_ISARCHIVE_VP60I, "Archive VP60i, QIC-02"}, \
- {MT_ISARCHIVE_2150L, "Archive Viper 2150L"}, \
- {MT_ISARCHIVE_2060L, "Archive Viper 2060L"}, \
- {MT_ISARCHIVESC499, "Archive SC-499 QIC-36 controller"}, \
- {MT_ISQIC02_ALL_FEATURES, "Generic QIC-02 tape, all features"}, \
- {MT_ISWT5099EEN24, "Wangtek 5099-een24, 60MB"}, \
- {MT_ISTEAC_MT2ST, "Teac MT-2ST 155mb data cassette drive"}, \
- {MT_ISEVEREX_FT40A, "Everex FT40A, QIC-40"}, \
- {MT_ISONSTREAM_SC, "OnStream SC-, DI-, DP-, or USB tape drive"}, \
- {MT_ISSCSI1, "Generic SCSI-1 tape"}, \
- {MT_ISSCSI2, "Generic SCSI-2 tape"}, \
- {0, NULL} \
-}
-
-
-/* structure for MTIOCPOS - mag tape get position command */
-
-struct mtpos {
- long int mt_blkno; /* current block number */
-};
-
-
-/* structure for MTIOCGETCONFIG/MTIOCSETCONFIG primarily intended
- * as an interim solution for QIC-02 until DDI is fully implemented.
- */
-struct mtconfiginfo {
- long int mt_type; /* drive type */
- long int ifc_type; /* interface card type */
- unsigned short int irqnr; /* IRQ number to use */
- unsigned short int dmanr; /* DMA channel to use */
- unsigned short int port; /* IO port base address */
-
- unsigned long int debug; /* debugging flags */
-
- unsigned int have_dens:1;
- unsigned int have_bsf:1;
- unsigned int have_fsr:1;
- unsigned int have_bsr:1;
- unsigned int have_eod:1;
- unsigned int have_seek:1;
- unsigned int have_tell:1;
- unsigned int have_ras1:1;
- unsigned int have_ras2:1;
- unsigned int have_ras3:1;
- unsigned int have_qfa:1;
-
- unsigned int pad1:5;
- char reserved[10];
-};
-
-/* structure for MTIOCVOLINFO, query information about the volume
- * currently positioned at (zftape)
- */
-struct mtvolinfo {
- unsigned int mt_volno; /* vol-number */
- unsigned int mt_blksz; /* blocksize used when recording */
- unsigned int mt_rawsize; /* raw tape space consumed, in kb */
- unsigned int mt_size; /* volume size after decompression, in kb */
- unsigned int mt_cmpr:1; /* this volume has been compressed */
-};
-
-/* raw access to a floppy drive, read and write an arbitrary segment.
- * For ftape/zftape to support formatting etc.
- */
-#define MT_FT_RD_SINGLE 0
-#define MT_FT_RD_AHEAD 1
-#define MT_FT_WR_ASYNC 0 /* start tape only when all buffers are full */
-#define MT_FT_WR_MULTI 1 /* start tape, continue until buffers are empty */
-#define MT_FT_WR_SINGLE 2 /* write a single segment and stop afterwards */
-#define MT_FT_WR_DELETE 3 /* write deleted data marks, one segment at time */
-
-struct mtftseg {
- unsigned int mt_segno; /* the segment to read or write */
- unsigned int mt_mode; /* modes for read/write (sync/async etc.) */
- int mt_result; /* result of r/w request, not of the ioctl */
- void *mt_data; /* User space buffer: must be 29kb */
-};
-
-/* get tape capacity (ftape/zftape)
- */
-struct mttapesize {
- unsigned long mt_capacity; /* entire, uncompressed capacity of a cartridge */
- unsigned long mt_used; /* what has been used so far, raw uncompressed amount */
-};
-
-/* possible values of the ftfmt_op field
- */
-#define FTFMT_SET_PARMS 1 /* set software parms */
-#define FTFMT_GET_PARMS 2 /* get software parms */
-#define FTFMT_FORMAT_TRACK 3 /* start formatting a tape track */
-#define FTFMT_STATUS 4 /* monitor formatting a tape track */
-#define FTFMT_VERIFY 5 /* verify the given segment */
-
-struct ftfmtparms {
- unsigned char ft_qicstd; /* QIC-40/QIC-80/QIC-3010/QIC-3020 */
- unsigned char ft_fmtcode; /* Refer to the QIC specs */
- unsigned char ft_fhm; /* floppy head max */
- unsigned char ft_ftm; /* floppy track max */
- unsigned short ft_spt; /* segments per track */
- unsigned short ft_tpc; /* tracks per cartridge */
-};
-
-struct ftfmttrack {
- unsigned int ft_track; /* track to format */
- unsigned char ft_gap3; /* size of gap3, for FORMAT_TRK */
-};
-
-struct ftfmtstatus {
- unsigned int ft_segment; /* segment currently being formatted */
-};
-
-struct ftfmtverify {
- unsigned int ft_segment; /* segment to verify */
- unsigned long ft_bsm; /* bsm as result of VERIFY cmd */
-};
-
-struct mtftformat {
- unsigned int fmt_op; /* operation to perform */
- union fmt_arg {
- struct ftfmtparms fmt_parms; /* format parameters */
- struct ftfmttrack fmt_track; /* ctrl while formatting */
- struct ftfmtstatus fmt_status;
- struct ftfmtverify fmt_verify; /* for verifying */
- } fmt_arg;
-};
-
-/* mag tape io control commands */
-#define MTIOCTOP _IOW('m', 1, struct mtop) /* do a mag tape op */
-#define MTIOCGET _IOR('m', 2, struct mtget) /* get tape status */
-#define MTIOCPOS _IOR('m', 3, struct mtpos) /* get tape position */
-
-/* The next two are used by the QIC-02 driver for runtime reconfiguration.
- * See tpqic02.h for struct mtconfiginfo.
- */
-#define MTIOCGETCONFIG _IOR('m', 4, struct mtconfiginfo) /* get tape config */
-#define MTIOCSETCONFIG _IOW('m', 5, struct mtconfiginfo) /* set tape config */
-
-/* the next six are used by the floppy ftape drivers and its frontends
- * sorry, but MTIOCTOP commands are write only.
- */
-#define MTIOCRDFTSEG _IOWR('m', 6, struct mtftseg) /* read a segment */
-#define MTIOCWRFTSEG _IOWR('m', 7, struct mtftseg) /* write a segment */
-#define MTIOCVOLINFO _IOR('m', 8, struct mtvolinfo) /* info about volume */
-#define MTIOCGETSIZE _IOR('m', 9, struct mttapesize)/* get cartridge size*/
-#define MTIOCFTFORMAT _IOWR('m', 10, struct mtftformat) /* format ftape */
-#define MTIOCFTCMD _IOWR('m', 11, struct mtftcmd) /* send QIC-117 cmd */
-
-/* Generic Mag Tape (device independent) status macros for examining
- * mt_gstat -- HP-UX compatible.
- * There is room for more generic status bits here, but I don't
- * know which of them are reserved. At least three or so should
- * be added to make this really useful.
- */
-#define GMT_EOF(x) ((x) & 0x80000000)
-#define GMT_BOT(x) ((x) & 0x40000000)
-#define GMT_EOT(x) ((x) & 0x20000000)
-#define GMT_SM(x) ((x) & 0x10000000) /* DDS setmark */
-#define GMT_EOD(x) ((x) & 0x08000000) /* DDS EOD */
-#define GMT_WR_PROT(x) ((x) & 0x04000000)
-/* #define GMT_ ? ((x) & 0x02000000) */
-#define GMT_ONLINE(x) ((x) & 0x01000000)
-#define GMT_D_6250(x) ((x) & 0x00800000)
-#define GMT_D_1600(x) ((x) & 0x00400000)
-#define GMT_D_800(x) ((x) & 0x00200000)
-/* #define GMT_ ? ((x) & 0x00100000) */
-/* #define GMT_ ? ((x) & 0x00080000) */
-#define GMT_DR_OPEN(x) ((x) & 0x00040000) /* door open (no tape) */
-/* #define GMT_ ? ((x) & 0x00020000) */
-#define GMT_IM_REP_EN(x) ((x) & 0x00010000) /* immediate report mode */
-/* 16 generic status bits unused */
-
-
-/* SCSI-tape specific definitions */
-/* Bitfield shifts in the status */
-#define MT_ST_BLKSIZE_SHIFT 0
-#define MT_ST_BLKSIZE_MASK 0xffffff
-#define MT_ST_DENSITY_SHIFT 24
-#define MT_ST_DENSITY_MASK 0xff000000
-
-#define MT_ST_SOFTERR_SHIFT 0
-#define MT_ST_SOFTERR_MASK 0xffff
-
-/* Bitfields for the MTSETDRVBUFFER ioctl */
-#define MT_ST_OPTIONS 0xf0000000
-#define MT_ST_BOOLEANS 0x10000000
-#define MT_ST_SETBOOLEANS 0x30000000
-#define MT_ST_CLEARBOOLEANS 0x40000000
-#define MT_ST_WRITE_THRESHOLD 0x20000000
-#define MT_ST_DEF_BLKSIZE 0x50000000
-#define MT_ST_DEF_OPTIONS 0x60000000
-#define MT_ST_TIMEOUTS 0x70000000
-#define MT_ST_SET_TIMEOUT (MT_ST_TIMEOUTS | 0x000000)
-#define MT_ST_SET_LONG_TIMEOUT (MT_ST_TIMEOUTS | 0x100000)
-
-#define MT_ST_BUFFER_WRITES 0x1
-#define MT_ST_ASYNC_WRITES 0x2
-#define MT_ST_READ_AHEAD 0x4
-#define MT_ST_DEBUGGING 0x8
-#define MT_ST_TWO_FM 0x10
-#define MT_ST_FAST_MTEOM 0x20
-#define MT_ST_AUTO_LOCK 0x40
-#define MT_ST_DEF_WRITES 0x80
-#define MT_ST_CAN_BSR 0x100
-#define MT_ST_NO_BLKLIMS 0x200
-#define MT_ST_CAN_PARTITIONS 0x400
-#define MT_ST_SCSI2LOGICAL 0x800
-#define MT_ST_SYSV 0x1000
-
-/* The mode parameters to be controlled. Parameter chosen with bits 20-28 */
-#define MT_ST_CLEAR_DEFAULT 0xfffff
-#define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000)
-#define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000)
-#define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000)
-
-/* The offset for the arguments for the special HP changer load command. */
-#define MT_ST_HPLOADER_OFFSET 10000
-
-/* Specify default tape device. */
-#ifndef DEFTAPE
-#define DEFTAPE "/dev/tape/0"
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/param.h b/mdk-stage1/dietlibc/include/sys/param.h
deleted file mode 100644
index 0744dccdb..000000000
--- a/mdk-stage1/dietlibc/include/sys/param.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _SYS_PARAM_H
-#define _SYS_PARAM_H
-
-#include <limits.h>
-
-#define MAXPATHLEN PATH_MAX
-#define MAXHOSTNAMELEN 64
-#define NGROUPS 32
-#define NOGROUP (-1)
-
-#undef MIN
-#undef MAX
-#define MIN(a,b) (((a)<(b))?(a):(b))
-#define MAX(a,b) (((a)>(b))?(a):(b))
-
-#ifdef __alpha__
-#define HZ 1024
-#else
-#define HZ 100
-#endif
-
-#ifndef howmany
-# define howmany(x, y) (((x)+((y)-1))/(y))
-#endif
-#define roundup(x, y) ((((x)+((y)-1))/(y))*(y))
-#define powerof2(x) ((((x)-1)&(x))==0)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/poll.h b/mdk-stage1/dietlibc/include/sys/poll.h
deleted file mode 100644
index fe36df79d..000000000
--- a/mdk-stage1/dietlibc/include/sys/poll.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _SYS_POLL_H
-#define _SYS_POLL_H
-
-#include <sys/cdefs.h>
-
-enum {
- POLLIN = 0x0001,
-#define POLLIN POLLIN
- POLLPRI = 0x0002,
-#define POLLPRI POLLPRI
- POLLOUT = 0x0004,
-#define POLLOUT POLLOUT
- POLLERR = 0x0008,
-#define POLLERR POLLERR
- POLLHUP = 0x0010,
-#define POLLHUP POLLHUP
- POLLNVAL = 0x0020,
-#define POLLNVAL POLLNVAL
- POLLRDNORM = 0x0040,
-#define POLLRDNORM POLLRDNORM
- POLLRDBAND = 0x0080,
-#define POLLRDBAND POLLRDBAND
- POLLWRBAND = 0x0200,
-#define POLLWRBAND POLLWRBAND
- POLLMSG = 0x0400,
-#define POLLMSG POLLMSG
-/* POLLREMOVE is for /dev/epoll (/dev/misc/eventpoll),
- * a new event notification mechanism for 2.6 */
- POLLREMOVE = 0x1000,
-#define POLLREMOVE POLLREMOVE
-};
-
-#if defined(__sparc__) || defined (__mips__)
-#define POLLWRNORM POLLOUT
-#else
-#define POLLWRNORM 0x0100
-#endif
-
-struct pollfd {
- int fd;
- short events;
- short revents;
-};
-
-extern int poll(struct pollfd *ufds, unsigned int nfds, int timeout) __THROW;
-
-#endif /* _SYS_POLL_H */
diff --git a/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h b/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h
deleted file mode 100644
index c3de6d254..000000000
--- a/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h
+++ /dev/null
@@ -1,164 +0,0 @@
-
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 13
-#define _IOC_DIRBITS 3
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
- * And this turns out useful to catch old ioctl numbers in header
- * files for us.
- */
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode them.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* various drivers, such as the pcmcia stuff, need these... */
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#define FIOCLEX _IO('f', 1)
-#define FIONCLEX _IO('f', 2)
-#define FIOASYNC _IOW('f', 125, int)
-#define FIONBIO _IOW('f', 126, int)
-#define FIONREAD _IOR('f', 127, int)
-#define TIOCINQ FIONREAD
-#define FIOQSIZE _IOR('f', 128, loff_t)
-
-#define TIOCGETP _IOR('t', 8, struct sgttyb)
-#define TIOCSETP _IOW('t', 9, struct sgttyb)
-#define TIOCSETN _IOW('t', 10, struct sgttyb) /* TIOCSETP wo flush */
-
-#define TIOCSETC _IOW('t', 17, struct tchars)
-#define TIOCGETC _IOR('t', 18, struct tchars)
-#define TCGETS _IOR('t', 19, struct termios)
-#define TCSETS _IOW('t', 20, struct termios)
-#define TCSETSW _IOW('t', 21, struct termios)
-#define TCSETSF _IOW('t', 22, struct termios)
-
-#define TCGETA _IOR('t', 23, struct termio)
-#define TCSETA _IOW('t', 24, struct termio)
-#define TCSETAW _IOW('t', 25, struct termio)
-#define TCSETAF _IOW('t', 28, struct termio)
-
-#define TCSBRK _IO('t', 29)
-#define TCXONC _IO('t', 30)
-#define TCFLSH _IO('t', 31)
-
-#define TIOCSWINSZ _IOW('t', 103, struct winsize)
-#define TIOCGWINSZ _IOR('t', 104, struct winsize)
-#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
-#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */
-#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */
-
-#define TIOCGLTC _IOR('t', 116, struct ltchars)
-#define TIOCSLTC _IOW('t', 117, struct ltchars)
-#define TIOCSPGRP _IOW('t', 118, int)
-#define TIOCGPGRP _IOR('t', 119, int)
-
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-
-#define TIOCSTI 0x5412
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-# define TIOCM_LE 0x001
-# define TIOCM_DTR 0x002
-# define TIOCM_RTS 0x004
-# define TIOCM_ST 0x008
-# define TIOCM_SR 0x010
-# define TIOCM_CTS 0x020
-# define TIOCM_CAR 0x040
-# define TIOCM_RNG 0x080
-# define TIOCM_DSR 0x100
-# define TIOCM_CD TIOCM_CAR
-# define TIOCM_RI TIOCM_RNG
-
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-# define TIOCPKT_DATA 0
-# define TIOCPKT_FLUSHREAD 1
-# define TIOCPKT_FLUSHWRITE 2
-# define TIOCPKT_STOP 4
-# define TIOCPKT_START 8
-# define TIOCPKT_NOSTOP 16
-# define TIOCPKT_DOSTOP 32
-
-
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
- /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-
-#if 0 /* These are defined this way on Alpha - maybe later. */
-/* Socket-level I/O control calls. */
-
-#define FIOGETOWN _IOR('f', 123, int)
-#define FIOSETOWN _IOW('f', 124, int)
-
-#define SIOCATMARK _IOR('s', 7, int)
-#define SIOCSPGRP _IOW('s', 8, pid_t)
-#define SIOCGPGRP _IOR('s', 9, pid_t)
-
-#define SIOCGSTAMP 0x8906 /* Get stamp - linux-specific */
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/prctl.h b/mdk-stage1/dietlibc/include/sys/prctl.h
deleted file mode 100644
index 26749cbd4..000000000
--- a/mdk-stage1/dietlibc/include/sys/prctl.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_PRCTL_H
-#define _SYS_PRCTL_H
-
-#include <sys/cdefs.h>
-
-int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned long arg4, unsigned long arg5) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/ptrace.h b/mdk-stage1/dietlibc/include/sys/ptrace.h
deleted file mode 100644
index b09d3ac3a..000000000
--- a/mdk-stage1/dietlibc/include/sys/ptrace.h
+++ /dev/null
@@ -1,846 +0,0 @@
-#ifndef _SYS_PTRACE_H
-#define _SYS_PTRACE_H
-
-#include <sys/cdefs.h>
-
-#define PTRACE_TRACEME 0
-#define PTRACE_PEEKTEXT 1
-#define PTRACE_PEEKDATA 2
-#define PTRACE_PEEKUSR 3
-#define PTRACE_PEEKUSER PTRACE_PEEKUSR
-#define PTRACE_POKETEXT 4
-#define PTRACE_POKEDATA 5
-#define PTRACE_POKEUSR 6
-#define PTRACE_POKEUSER PTRACE_POKEUSR
-#define PTRACE_CONT 7
-#define PTRACE_KILL 8
-#define PTRACE_SINGLESTEP 9
-
-#define PTRACE_ATTACH 0x10
-#define PTRACE_DETACH 0x11
-
-#define PTRACE_SYSCALL 24
-
-#define PT_TRACE_ME PTRACE_TRACEME
-#define PT_READ_I PTRACE_PEEKTEXT
-#define PT_READ_D PTRACE_PEEKDATA
-#define PT_READ_U PTRACE_READ_U
-#define PT_WRITE_I PTRACE_POKETEXT
-#define PT_WRITE_D PTRACE_POKEDATA
-#define PT_WRITE_U PTRACE_POKEUSER
-#define PT_CONTINUE PTRACE_CONT
-#define PT_KILL PTRACE_KILL
-#define PT_STEP PTRACE_SINGLESTEP
-#define PT_GETREGS PTRACE_GETREGS
-#define PT_SETREGS PTRACE_SETREGS
-#define PT_GETFPREGS PTRACE_GETFPREGS
-#define PT_SETFPREGS PTRACE_SETFPREGS
-#define PT_ATTACH PTRACE_ATTACH
-#define PT_DETACH PTRACE_DETACH
-
-#if defined(__i386__)
-#define EBX 0
-#define ECX 1
-#define EDX 2
-#define ESI 3
-#define EDI 4
-#define EBP 5
-#define EAX 6
-#define DS 7
-#define ES 8
-#define FS 9
-#define GS 10
-#define ORIG_EAX 11
-#define EIP 12
-#define CS 13
-#define EFL 14
-#define UESP 15
-#define SS 16
-#define FRAME_SIZE 17
-
-/* this struct defines the way the registers are stored on the
- stack during a system call. */
-
-struct pt_regs {
- long ebx;
- long ecx;
- long edx;
- long esi;
- long edi;
- long ebp;
- long eax;
- int xds;
- int xes;
- long orig_eax;
- long eip;
- int xcs;
- long eflags;
- long esp;
- int xss;
-};
-
-/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
-#define PTRACE_GETREGS 12
-#define PTRACE_SETREGS 13
-#define PTRACE_GETFPREGS 14
-#define PTRACE_SETFPREGS 15
-#define PTRACE_GETFPXREGS 18
-#define PTRACE_SETFPXREGS 19
-
-#define PTRACE_SETOPTIONS 21
-
-/* options set using PTRACE_SETOPTIONS */
-#define PTRACE_O_TRACESYSGOOD 0x00000001
-
-#elif defined(__s390__)
-
-#define PT_PSWMASK 0x00
-#define PT_PSWADDR 0x04
-#define PT_GPR0 0x08
-#define PT_GPR1 0x0C
-#define PT_GPR2 0x10
-#define PT_GPR3 0x14
-#define PT_GPR4 0x18
-#define PT_GPR5 0x1C
-#define PT_GPR6 0x20
-#define PT_GPR7 0x24
-#define PT_GPR8 0x28
-#define PT_GPR9 0x2C
-#define PT_GPR10 0x30
-#define PT_GPR11 0x34
-#define PT_GPR12 0x38
-#define PT_GPR13 0x3C
-#define PT_GPR14 0x40
-#define PT_GPR15 0x44
-#define PT_ACR0 0x48
-#define PT_ACR1 0x4C
-#define PT_ACR2 0x50
-#define PT_ACR3 0x54
-#define PT_ACR4 0x58
-#define PT_ACR5 0x5C
-#define PT_ACR6 0x60
-#define PT_ACR7 0x64
-#define PT_ACR8 0x68
-#define PT_ACR9 0x6C
-#define PT_ACR10 0x70
-#define PT_ACR11 0x74
-#define PT_ACR12 0x78
-#define PT_ACR13 0x7C
-#define PT_ACR14 0x80
-#define PT_ACR15 0x84
-#define PT_ORIGGPR2 0x88
-#define PT_FPC 0x90
-#define PT_FPR0_HI 0x98
-#define PT_FPR0_LO 0x9C
-#define PT_FPR1_HI 0xA0
-#define PT_FPR1_LO 0xA4
-#define PT_FPR2_HI 0xA8
-#define PT_FPR2_LO 0xAC
-#define PT_FPR3_HI 0xB0
-#define PT_FPR3_LO 0xB4
-#define PT_FPR4_HI 0xB8
-#define PT_FPR4_LO 0xBC
-#define PT_FPR5_HI 0xC0
-#define PT_FPR5_LO 0xC4
-#define PT_FPR6_HI 0xC8
-#define PT_FPR6_LO 0xCC
-#define PT_FPR7_HI 0xD0
-#define PT_FPR7_LO 0xD4
-#define PT_FPR8_HI 0xD8
-#define PT_FPR8_LO 0XDC
-#define PT_FPR9_HI 0xE0
-#define PT_FPR9_LO 0xE4
-#define PT_FPR10_HI 0xE8
-#define PT_FPR10_LO 0xEC
-#define PT_FPR11_HI 0xF0
-#define PT_FPR11_LO 0xF4
-#define PT_FPR12_HI 0xF8
-#define PT_FPR12_LO 0xFC
-#define PT_FPR13_HI 0x100
-#define PT_FPR13_LO 0x104
-#define PT_FPR14_HI 0x108
-#define PT_FPR14_LO 0x10C
-#define PT_FPR15_HI 0x110
-#define PT_FPR15_LO 0x114
-#define PT_CR_9 0x118
-#define PT_CR_10 0x11C
-#define PT_CR_11 0x120
-#define PT_IEEE_IP 0x13C
-#define PT_LASTOFF PT_IEEE_IP
-#define PT_ENDREGS 0x140-1
-
-#define NUM_GPRS 16
-#define NUM_FPRS 16
-#define NUM_CRS 16
-#define NUM_ACRS 16
-#define GPR_SIZE 4
-#define FPR_SIZE 8
-#define FPC_SIZE 4
-#define FPC_PAD_SIZE 4 /* gcc insists on aligning the fpregs */
-#define CR_SIZE 4
-#define ACR_SIZE 4
-
-#define STACK_FRAME_OVERHEAD 96 /* size of minimum stack frame */
-
-#include <inttypes.h>
-
-/* this typedef defines how a Program Status Word looks like */
-typedef struct {
- uint32_t mask;
- uint32_t addr;
-} psw_t __attribute__ ((aligned(8)));
-
-typedef union
-{
- float f;
- double d;
- uint64_t ui;
- struct
- {
- uint32_t hi;
- uint32_t lo;
- } fp;
-} freg_t;
-
-typedef struct
-{
- uint32_t fpc;
- freg_t fprs[NUM_FPRS];
-} s390_fp_regs;
-
-#define FPC_EXCEPTION_MASK 0xF8000000
-#define FPC_FLAGS_MASK 0x00F80000
-#define FPC_DXC_MASK 0x0000FF00
-#define FPC_RM_MASK 0x00000003
-#define FPC_VALID_MASK 0xF8F8FF03
-
-typedef struct
-{
- psw_t psw;
- uint32_t gprs[NUM_GPRS];
- uint32_t acrs[NUM_ACRS];
- uint32_t orig_gpr2;
-} s390_regs;
-
-struct pt_regs
-{
- psw_t psw;
- uint32_t gprs[NUM_GPRS];
- uint32_t acrs[NUM_ACRS];
- uint32_t orig_gpr2;
- uint32_t trap;
- uint32_t old_ilc;
-};
-
-typedef struct
-{
- uint32_t cr[3];
-} per_cr_words __attribute__((packed));
-
-#define PER_EM_MASK 0xE8000000
-
-typedef uint32_t addr_t;
-
-typedef struct
-{
- unsigned em_branching : 1;
- unsigned em_instruction_fetch : 1;
- /*
- * Switching on storage alteration automatically fixes
- * the storage alteration event bit in the users std.
- */
- unsigned em_storage_alteration : 1;
- unsigned em_gpr_alt_unused : 1;
- unsigned em_store_real_address : 1;
- unsigned : 3;
- unsigned branch_addr_ctl : 1;
- unsigned : 1;
- unsigned storage_alt_space_ctl : 1;
- unsigned : 21;
- addr_t starting_addr;
- addr_t ending_addr;
-} per_cr_bits __attribute__((packed));
-
-typedef struct
-{
- uint16_t perc_atmid; /* 0x096 */
- uint32_t address; /* 0x098 */
- uint8_t access_id; /* 0x0a1 */
-} per_lowcore_words __attribute__((packed));
-
-typedef struct
-{
- unsigned perc_branching : 1; /* 0x096 */
- unsigned perc_instruction_fetch : 1;
- unsigned perc_storage_alteration : 1;
- unsigned perc_gpr_alt_unused : 1;
- unsigned perc_store_real_address : 1;
- unsigned : 4;
- unsigned atmid_validity_bit : 1;
- unsigned atmid_psw_bit_32 : 1;
- unsigned atmid_psw_bit_5 : 1;
- unsigned atmid_psw_bit_16 : 1;
- unsigned atmid_psw_bit_17 : 1;
- unsigned si : 2;
- addr_t address; /* 0x098 */
- unsigned : 4; /* 0x0a1 */
- unsigned access_id : 4;
-} per_lowcore_bits __attribute__((packed));
-
-typedef struct
-{
- union {
- per_cr_words words;
- per_cr_bits bits;
- } control_regs __attribute__((packed));
- /*
- * Use these flags instead of setting em_instruction_fetch
- * directly they are used so that single stepping can be
- * switched on & off while not affecting other tracing
- */
- unsigned single_step : 1;
- unsigned instruction_fetch : 1;
- unsigned : 30;
- /*
- * These addresses are copied into cr10 & cr11 if single
- * stepping is switched off
- */
- uint32_t starting_addr;
- uint32_t ending_addr;
- union {
- per_lowcore_words words;
- per_lowcore_bits bits;
- } lowcore;
-} per_struct __attribute__((packed));
-
-typedef struct
-{
- uint32_t len;
- addr_t kernel_addr;
- addr_t process_addr;
-} ptrace_area;
-
-/*
- * S/390 specific non posix ptrace requests. I chose unusual values so
- * they are unlikely to clash with future ptrace definitions.
- */
-#define PTRACE_PEEKUSR_AREA 0x5000
-#define PTRACE_POKEUSR_AREA 0x5001
-#define PTRACE_PEEKTEXT_AREA 0x5002
-#define PTRACE_PEEKDATA_AREA 0x5003
-#define PTRACE_POKETEXT_AREA 0x5004
-#define PTRACE_POKEDATA_AREA 0x5005
-/*
- * PT_PROT definition is loosely based on hppa bsd definition in
- * gdb/hppab-nat.c
- */
-#define PTRACE_PROT 21
-
-typedef enum
-{
- ptprot_set_access_watchpoint,
- ptprot_set_write_watchpoint,
- ptprot_disable_watchpoint
-} ptprot_flags;
-
-typedef struct
-{
- addr_t lowaddr;
- addr_t hiaddr;
- ptprot_flags prot;
-} ptprot_area;
-
-/* Sequence of bytes for breakpoint illegal instruction. */
-#define S390_BREAKPOINT {0x0,0x1}
-#define S390_BREAKPOINT_U16 ((uint16_t)0x0001)
-#define S390_SYSCALL_OPCODE ((uint16_t)0x0a00)
-#define S390_SYSCALL_SIZE 2
-
-/*
- * The user_regs_struct defines the way the user registers are
- * store on the stack for signal handling.
- */
-struct user_regs_struct
-{
- psw_t psw;
- uint32_t gprs[NUM_GPRS];
- uint32_t acrs[NUM_ACRS];
- uint32_t orig_gpr2;
- s390_fp_regs fp_regs;
- /*
- * These per registers are in here so that gdb can modify them
- * itself as there is no "official" ptrace interface for hardware
- * watchpoints. This is the way intel does it.
- */
- per_struct per_info;
- addr_t ieee_instruction_pointer;
- /* Used to give failing instruction back to user for ieee exceptions */
-};
-
-#elif defined(__arm__)
-
-/* this assumes armv */
-#define USR26_MODE 0x00
-#define FIQ26_MODE 0x01
-#define IRQ26_MODE 0x02
-#define SVC26_MODE 0x03
-#define USR_MODE 0x10
-#define FIQ_MODE 0x11
-#define IRQ_MODE 0x12
-#define SVC_MODE 0x13
-#define ABT_MODE 0x17
-#define UND_MODE 0x1b
-#define SYSTEM_MODE 0x1f
-#define MODE_MASK 0x1f
-#define T_BIT 0x20
-#define F_BIT 0x40
-#define I_BIT 0x80
-#define CC_V_BIT (1 << 28)
-#define CC_C_BIT (1 << 29)
-#define CC_Z_BIT (1 << 30)
-#define CC_N_BIT (1 << 31)
-#define PCMASK 0
-
-struct pt_regs {
- long uregs[18];
-};
-
-#define ARM_cpsr uregs[16]
-#define ARM_pc uregs[15]
-#define ARM_lr uregs[14]
-#define ARM_sp uregs[13]
-#define ARM_ip uregs[12]
-#define ARM_fp uregs[11]
-#define ARM_r10 uregs[10]
-#define ARM_r9 uregs[9]
-#define ARM_r8 uregs[8]
-#define ARM_r7 uregs[7]
-#define ARM_r6 uregs[6]
-#define ARM_r5 uregs[5]
-#define ARM_r4 uregs[4]
-#define ARM_r3 uregs[3]
-#define ARM_r2 uregs[2]
-#define ARM_r1 uregs[1]
-#define ARM_r0 uregs[0]
-#define ARM_ORIG_r0 uregs[17]
-
-#elif defined(__alpha__)
-
-struct pt_regs {
- unsigned long r0;
- unsigned long r1;
- unsigned long r2;
- unsigned long r3;
- unsigned long r4;
- unsigned long r5;
- unsigned long r6;
- unsigned long r7;
- unsigned long r8;
- unsigned long r19;
- unsigned long r20;
- unsigned long r21;
- unsigned long r22;
- unsigned long r23;
- unsigned long r24;
- unsigned long r25;
- unsigned long r26;
- unsigned long r27;
- unsigned long r28;
- unsigned long hae;
-/* JRP - These are the values provided to a0-a2 by PALcode */
- unsigned long trap_a0;
- unsigned long trap_a1;
- unsigned long trap_a2;
-/* These are saved by PAL-code: */
- unsigned long ps;
- unsigned long pc;
- unsigned long gp;
- unsigned long r16;
- unsigned long r17;
- unsigned long r18;
-};
-
-struct switch_stack {
- unsigned long r9;
- unsigned long r10;
- unsigned long r11;
- unsigned long r12;
- unsigned long r13;
- unsigned long r14;
- unsigned long r15;
- unsigned long r26;
- unsigned long fp[32]; /* fp[31] is fpcr */
-};
-
-#elif defined(__mips__)
-
-/* 0 - 31 are integer registers, 32 - 63 are fp registers. */
-#define FPR_BASE 32
-#define PC 64
-#define CAUSE 65
-#define BADVADDR 66
-#define MMHI 67
-#define MMLO 68
-#define FPC_CSR 69
-#define FPC_EIR 70
-
-struct pt_regs {
- /* Pad bytes for argument save space on the stack. */
- unsigned long pad0[6];
- /* Saved main processor registers. */
- unsigned long regs[32];
- /* Other saved registers. */
- unsigned long lo;
- unsigned long hi;
- /* saved cp0 registers */
- unsigned long cp0_epc;
- unsigned long cp0_badvaddr;
- unsigned long cp0_status;
- unsigned long cp0_cause;
-};
-
-#elif defined(__sparc__)
-
-struct pt_regs {
- unsigned long psr;
- unsigned long pc;
- unsigned long npc;
- unsigned long y;
- unsigned long u_regs[16]; /* globals and ins */
-};
-
-#define UREG_G0 0
-#define UREG_G1 1
-#define UREG_G2 2
-#define UREG_G3 3
-#define UREG_G4 4
-#define UREG_G5 5
-#define UREG_G6 6
-#define UREG_G7 7
-#define UREG_I0 8
-#define UREG_I1 9
-#define UREG_I2 10
-#define UREG_I3 11
-#define UREG_I4 12
-#define UREG_I5 13
-#define UREG_I6 14
-#define UREG_I7 15
-#define UREG_WIM UREG_G0
-#define UREG_FADDR UREG_G0
-#define UREG_FP UREG_I6
-#define UREG_RETPC UREG_I7
-
-/* A register window */
-struct reg_window {
- unsigned long locals[8];
- unsigned long ins[8];
-};
-
-/* A Sparc stack frame */
-struct sparc_stackf {
- unsigned long locals[8];
- unsigned long ins[6];
- struct sparc_stackf *fp;
- unsigned long callers_pc;
- char *structptr;
- unsigned long xargs[6];
- unsigned long xxargs[1];
-};
-
-#define TRACEREG_SZ sizeof(struct pt_regs)
-#define STACKFRAME_SZ sizeof(struct sparc_stackf)
-#define REGWIN_SZ sizeof(struct reg_window)
-
-/* These are for pt_regs. */
-#define PT_PSR 0x0
-#define PT_PC 0x4
-#define PT_NPC 0x8
-#define PT_Y 0xc
-#define PT_G0 0x10
-#define PT_WIM PT_G0
-#define PT_G1 0x14
-#define PT_G2 0x18
-#define PT_G3 0x1c
-#define PT_G4 0x20
-#define PT_G5 0x24
-#define PT_G6 0x28
-#define PT_G7 0x2c
-#define PT_I0 0x30
-#define PT_I1 0x34
-#define PT_I2 0x38
-#define PT_I3 0x3c
-#define PT_I4 0x40
-#define PT_I5 0x44
-#define PT_I6 0x48
-#define PT_FP PT_I6
-#define PT_I7 0x4c
-
-/* Reg_window offsets */
-#define RW_L0 0x00
-#define RW_L1 0x04
-#define RW_L2 0x08
-#define RW_L3 0x0c
-#define RW_L4 0x10
-#define RW_L5 0x14
-#define RW_L6 0x18
-#define RW_L7 0x1c
-#define RW_I0 0x20
-#define RW_I1 0x24
-#define RW_I2 0x28
-#define RW_I3 0x2c
-#define RW_I4 0x30
-#define RW_I5 0x34
-#define RW_I6 0x38
-#define RW_I7 0x3c
-
-/* Stack_frame offsets */
-#define SF_L0 0x00
-#define SF_L1 0x04
-#define SF_L2 0x08
-#define SF_L3 0x0c
-#define SF_L4 0x10
-#define SF_L5 0x14
-#define SF_L6 0x18
-#define SF_L7 0x1c
-#define SF_I0 0x20
-#define SF_I1 0x24
-#define SF_I2 0x28
-#define SF_I3 0x2c
-#define SF_I4 0x30
-#define SF_I5 0x34
-#define SF_FP 0x38
-#define SF_PC 0x3c
-#define SF_RETP 0x40
-#define SF_XARG0 0x44
-#define SF_XARG1 0x48
-#define SF_XARG2 0x4c
-#define SF_XARG3 0x50
-#define SF_XARG4 0x54
-#define SF_XARG5 0x58
-#define SF_XXARG 0x5c
-
-/* Stuff for the ptrace system call */
-#define PTRACE_SUNATTACH 10
-#define PTRACE_SUNDETACH 11
-#define PTRACE_GETREGS 12
-#define PTRACE_SETREGS 13
-#define PTRACE_GETFPREGS 14
-#define PTRACE_SETFPREGS 15
-#define PTRACE_READDATA 16
-#define PTRACE_WRITEDATA 17
-#define PTRACE_READTEXT 18
-#define PTRACE_WRITETEXT 19
-#define PTRACE_GETFPAREGS 20
-#define PTRACE_SETFPAREGS 21
-
-#define PTRACE_GETUCODE 29 /* stupid bsd-ism */
-
-#elif defined(__powerpc__)
-
-struct pt_regs {
- unsigned long gpr[32];
- unsigned long nip;
- unsigned long msr;
- unsigned long orig_gpr3; /* Used for restarting system calls */
- unsigned long ctr;
- unsigned long link;
- unsigned long xer;
- unsigned long ccr;
- unsigned long mq; /* 601 only (not used at present) */
- /* Used on APUS to hold IPL value. */
- unsigned long trap; /* Reason for being here */
- unsigned long dar; /* Fault registers */
- unsigned long dsisr;
- unsigned long result; /* Result of a system call */
-};
-
-/*
- * Offsets used by 'ptrace' system call interface.
- * These can't be changed without breaking binary compatibility
- * with MkLinux, etc.
- */
-#define PT_R0 0
-#define PT_R1 1
-#define PT_R2 2
-#define PT_R3 3
-#define PT_R4 4
-#define PT_R5 5
-#define PT_R6 6
-#define PT_R7 7
-#define PT_R8 8
-#define PT_R9 9
-#define PT_R10 10
-#define PT_R11 11
-#define PT_R12 12
-#define PT_R13 13
-#define PT_R14 14
-#define PT_R15 15
-#define PT_R16 16
-#define PT_R17 17
-#define PT_R18 18
-#define PT_R19 19
-#define PT_R20 20
-#define PT_R21 21
-#define PT_R22 22
-#define PT_R23 23
-#define PT_R24 24
-#define PT_R25 25
-#define PT_R26 26
-#define PT_R27 27
-#define PT_R28 28
-#define PT_R29 29
-#define PT_R30 30
-#define PT_R31 31
-
-#define PT_NIP 32
-#define PT_MSR 33
-#define PT_CTR 35
-#define PT_LNK 36
-#define PT_XER 37
-#define PT_CCR 38
-#define PT_MQ 39
-
-#define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */
-#define PT_FPR31 (PT_FPR0 + 2*31)
-#define PT_FPSCR (PT_FPR0 + 2*32 + 1)
-
-#elif defined(__hppa__)
-
-#include <inttypes.h>
-
-struct pt_regs {
- unsigned long gr[32]; /* PSW is in gr[0] */
- uint64_t fr[32];
- unsigned long sr[ 8];
- unsigned long iasq[2];
- unsigned long iaoq[2];
- unsigned long cr27;
- unsigned long pad0; /* available for other uses */
- unsigned long orig_r28;
- unsigned long ksp;
- unsigned long kpc;
- unsigned long sar; /* CR11 */
- unsigned long iir; /* CR19 */
- unsigned long isr; /* CR20 */
- unsigned long ior; /* CR21 */
- unsigned long ipsw; /* CR22 */
-};
-
-#define PTRACE_SINGLEBLOCK 12 /* resume execution until next branch */
-#define PTRACE_GETSIGINFO 13 /* get child's siginfo structure */
-#define PTRACE_SETSIGINFO 14 /* set child's siginfo structure */
-
-#elif defined(__ia64__)
-
-struct ia64_fpreg {
- union {
- unsigned long bits[2];
- } u;
-} __attribute__ ((aligned (16)));
-
-struct pt_regs {
- unsigned long cr_ipsr; /* interrupted task's psr */
- unsigned long cr_iip; /* interrupted task's instruction pointer */
- unsigned long cr_ifs; /* interrupted task's function state */
- unsigned long ar_unat; /* interrupted task's NaT register (preserved) */
- unsigned long ar_pfs; /* prev function state */
- unsigned long ar_rsc; /* RSE configuration */
- unsigned long ar_rnat; /* RSE NaT */
- unsigned long ar_bspstore; /* RSE bspstore */
- unsigned long pr; /* 64 predicate registers (1 bit each) */
- unsigned long b6; /* scratch */
- unsigned long loadrs; /* size of dirty partition << 16 */
- unsigned long r1; /* the gp pointer */
- unsigned long r2; /* scratch */
- unsigned long r3; /* scratch */
- unsigned long r12; /* interrupted task's memory stack pointer */
- unsigned long r13; /* thread pointer */
- unsigned long r14; /* scratch */
- unsigned long r15; /* scratch */
- unsigned long r8; /* scratch (return value register 0) */
- unsigned long r9; /* scratch (return value register 1) */
- unsigned long r10; /* scratch (return value register 2) */
- unsigned long r11; /* scratch (return value register 3) */
- unsigned long r16; /* scratch */
- unsigned long r17; /* scratch */
- unsigned long r18; /* scratch */
- unsigned long r19; /* scratch */
- unsigned long r20; /* scratch */
- unsigned long r21; /* scratch */
- unsigned long r22; /* scratch */
- unsigned long r23; /* scratch */
- unsigned long r24; /* scratch */
- unsigned long r25; /* scratch */
- unsigned long r26; /* scratch */
- unsigned long r27; /* scratch */
- unsigned long r28; /* scratch */
- unsigned long r29; /* scratch */
- unsigned long r30; /* scratch */
- unsigned long r31; /* scratch */
- unsigned long ar_ccv; /* compare/exchange value (scratch) */
- unsigned long ar_fpsr; /* floating point status (preserved) */
- unsigned long b0; /* return pointer (bp) */
- unsigned long b7; /* scratch */
- struct ia64_fpreg f6; /* scratch */
- struct ia64_fpreg f7; /* scratch */
- struct ia64_fpreg f8; /* scratch */
- struct ia64_fpreg f9; /* scratch */
-};
-
-struct switch_stack {
- unsigned long caller_unat; /* user NaT collection register (preserved) */
- unsigned long ar_fpsr; /* floating-point status register */
-
- struct ia64_fpreg f2; /* preserved */
- struct ia64_fpreg f3; /* preserved */
- struct ia64_fpreg f4; /* preserved */
- struct ia64_fpreg f5; /* preserved */
-
- struct ia64_fpreg f10; /* scratch, but untouched by kernel */
- struct ia64_fpreg f11; /* scratch, but untouched by kernel */
- struct ia64_fpreg f12; /* scratch, but untouched by kernel */
- struct ia64_fpreg f13; /* scratch, but untouched by kernel */
- struct ia64_fpreg f14; /* scratch, but untouched by kernel */
- struct ia64_fpreg f15; /* scratch, but untouched by kernel */
- struct ia64_fpreg f16; /* preserved */
- struct ia64_fpreg f17; /* preserved */
- struct ia64_fpreg f18; /* preserved */
- struct ia64_fpreg f19; /* preserved */
- struct ia64_fpreg f20; /* preserved */
- struct ia64_fpreg f21; /* preserved */
- struct ia64_fpreg f22; /* preserved */
- struct ia64_fpreg f23; /* preserved */
- struct ia64_fpreg f24; /* preserved */
- struct ia64_fpreg f25; /* preserved */
- struct ia64_fpreg f26; /* preserved */
- struct ia64_fpreg f27; /* preserved */
- struct ia64_fpreg f28; /* preserved */
- struct ia64_fpreg f29; /* preserved */
- struct ia64_fpreg f30; /* preserved */
- struct ia64_fpreg f31; /* preserved */
-
- unsigned long r4; /* preserved */
- unsigned long r5; /* preserved */
- unsigned long r6; /* preserved */
- unsigned long r7; /* preserved */
-
- unsigned long b0; /* so we can force a direct return in copy_thread */
- unsigned long b1;
- unsigned long b2;
- unsigned long b3;
- unsigned long b4;
- unsigned long b5;
-
- unsigned long ar_pfs; /* previous function state */
- unsigned long ar_lc; /* loop counter (preserved) */
- unsigned long ar_unat; /* NaT bits for r4-r7 */
- unsigned long ar_rnat; /* RSE NaT collection register */
- unsigned long ar_bspstore; /* RSE dirty base (preserved) */
- unsigned long pr; /* 64 predicate registers (1 bit each) */
-};
-
-#endif
-
-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 b17a556e5..000000000
--- a/mdk-stage1/dietlibc/include/sys/reboot.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _SYS_REBOOT_H
-#define _SYS_REBOOT_H
-
-#define LINUX_REBOOT_MAGIC1 0xfee1dead
-#define LINUX_REBOOT_MAGIC2 672274793
-#define LINUX_REBOOT_MAGIC2A 85072278
-#define LINUX_REBOOT_MAGIC2B 369367448
-
-#define LINUX_REBOOT_CMD_RESTART 0x01234567
-#define LINUX_REBOOT_CMD_HALT 0xCDEF0123
-#define LINUX_REBOOT_CMD_CAD_ON 0x89ABCDEF
-#define LINUX_REBOOT_CMD_CAD_OFF 0x00000000
-#define LINUX_REBOOT_CMD_POWER_OFF 0x4321FEDC
-#define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4
-
-/* Reboot or halt the system. */
-int reboot (int flag);
-
-/* the glibc people changed their macro names :-/ */
-#define RB_AUTOBOOT 0x01234567
-#define RB_HALT_SYSTEM 0xcdef0123
-#define RB_ENABLE_CAD 0x89abcdef
-#define RB_DISABLE_CAD 0
-#define RB_POWER_OFF 0x4321fedc
-
-#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 df31b82ab..000000000
--- a/mdk-stage1/dietlibc/include/sys/resource.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _SYS_RESOURCE_H
-#define _SYS_RESOURCE_H
-
-#include <time.h>
-#include <sys/cdefs.h>
-
-#define RUSAGE_SELF 0
-#define RUSAGE_CHILDREN (-1)
-#define RUSAGE_BOTH (-2) /* sys_wait4() uses this */
-
-struct rusage {
- struct timeval ru_utime; /* user time used */
- struct timeval ru_stime; /* system time used */
- long ru_maxrss; /* maximum resident set size */
- long ru_ixrss; /* integral shared memory size */
- long ru_idrss; /* integral unshared data size */
- long ru_isrss; /* integral unshared stack size */
- long ru_minflt; /* page reclaims */
- long ru_majflt; /* page faults */
- long ru_nswap; /* swaps */
- long ru_inblock; /* block input operations */
- long ru_oublock; /* block output operations */
- long ru_msgsnd; /* messages sent */
- long ru_msgrcv; /* messages received */
- long ru_nsignals; /* signals received */
- long ru_nvcsw; /* voluntary context switches */
- long ru_nivcsw; /* involuntary " */
-};
-
-struct rlimit {
- unsigned long rlim_cur;
- unsigned long rlim_max;
-};
-
-#define PRIO_MIN (-20)
-#define PRIO_MAX 20
-
-#define PRIO_PROCESS 0
-#define PRIO_PGRP 1
-#define PRIO_USER 2
-
-#define RLIMIT_CPU 0 /* CPU time in ms */
-#define RLIMIT_FSIZE 1 /* Maximum filesize */
-#define RLIMIT_DATA 2 /* max data size */
-#define RLIMIT_STACK 3 /* max stack size */
-#define RLIMIT_CORE 4 /* max core file size */
-#define RLIMIT_RSS 5 /* max resident set size */
-#define RLIMIT_NPROC 6 /* max number of processes */
-#define RLIMIT_NOFILE 7 /* max number of open files */
-#define RLIMIT_MEMLOCK 8 /* max locked-in-memory address space */
-#define RLIMIT_AS 9 /* address space limit */
-#define RLIMIT_LOCKS 10 /* maximum file locks held */
-
-#define RLIM_NLIMITS 11
-
-#define RLIM_INFINITY ((long)(~0UL>>1))
-
-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/s390-ioctl.h b/mdk-stage1/dietlibc/include/sys/s390-ioctl.h
deleted file mode 100644
index 4682a0fda..000000000
--- a/mdk-stage1/dietlibc/include/sys/s390-ioctl.h
+++ /dev/null
@@ -1,141 +0,0 @@
-
-/* ioctl command encoding: 32 bits total, command in lower 16 bits,
- * size of the parameter structure in the lower 14 bits of the
- * upper 16 bits.
- * Encoding the size of the parameter structure in the ioctl request
- * is useful for catching programs compiled with old versions
- * and to avoid overwriting user space outside the user buffer area.
- * The highest 2 bits are reserved for indicating the ``access mode''.
- * NOTE: This limits the max parameter size to 16kB -1 !
- */
-
-/*
- * The following is for compatibility across the various Linux
- * platforms. The i386 ioctl numbering scheme doesn't really enforce
- * a type field. De facto, however, the top 8 bits of the lower 16
- * bits are indeed used as a type field, so we might just as well make
- * this explicit here. Please be sure to use the decoding macros
- * below from now on.
- */
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 14
-#define _IOC_DIRBITS 2
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits.
- */
-#define _IOC_NONE 0U
-#define _IOC_WRITE 1U
-#define _IOC_READ 2U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define FIOQSIZE 0x545E
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
diff --git a/mdk-stage1/dietlibc/include/sys/select.h b/mdk-stage1/dietlibc/include/sys/select.h
deleted file mode 100644
index ce67b8bee..000000000
--- a/mdk-stage1/dietlibc/include/sys/select.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _SYS_SELECT_H
-#define _SYS_SELECT_H
-
-typedef long int fd_mask;
-
-#define NFDBITS (8 * sizeof(unsigned long))
-#define FD_SETSIZE 1024
-#define __FDSET_LONGS (FD_SETSIZE/NFDBITS)
-#define __FDELT(d) ((d) / NFDBITS)
-#define __FDMASK(d) (1UL << ((d) % NFDBITS))
-
-typedef struct {
- unsigned long fds_bits [__FDSET_LONGS];
-} fd_set;
-
-#define FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
-#define FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
-#define FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0)
-#define FD_ZERO(set) \
- ((void) memset ((void*) (set), 0, sizeof (fd_set)))
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sem.h b/mdk-stage1/dietlibc/include/sys/sem.h
deleted file mode 100644
index ad16b5f53..000000000
--- a/mdk-stage1/dietlibc/include/sys/sem.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef _SYS_SEM_H
-#define _SYS_SEM_H
-
-#include <sys/ipc.h>
-
-/* semop flags */
-#define SEM_UNDO 0x1000 /* undo the operation on exit */
-
-/* semctl Command Definitions. */
-#define GETPID 11 /* get sempid */
-#define GETVAL 12 /* get semval */
-#define GETALL 13 /* get all semval's */
-#define GETNCNT 14 /* get semncnt */
-#define GETZCNT 15 /* get semzcnt */
-#define SETVAL 16 /* set semval */
-#define SETALL 17 /* set all semval's */
-
-/* ipcs ctl cmds */
-#define SEM_STAT 18
-#define SEM_INFO 19
-
-struct semid_ds {
- struct ipc_perm sem_perm; /* permissions .. see ipc.h */
- time_t sem_otime; /* last semop time */
- time_t sem_ctime; /* last change time */
- struct sem *sem_base; /* ptr to first semaphore in array */
- struct sem_queue *sem_pending; /* pending operations to be processed */
- struct sem_queue **sem_pending_last; /* last pending operation */
- struct sem_undo *undo; /* undo requests on this array */
- unsigned short sem_nsems; /* no. of semaphores in array */
-};
-
-/* semop system calls takes an array of these. */
-struct sembuf {
- unsigned short sem_num; /* semaphore index in array */
- short sem_op; /* semaphore operation */
- short sem_flg; /* operation flags */
-};
-
-/* please complain to the glibc goons for the following misbehaviour */
-#if 0
-/* arg for semctl system calls. */
-union semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
- unsigned short *array; /* array for GETALL & SETALL */
- struct seminfo *__buf; /* buffer for IPC_INFO */
- void *__pad;
-};
-#endif
-#define _SEM_SEMUN_UNDEFINED
-
-struct seminfo {
- int semmap;
- int semmni;
- int semmns;
- int semmnu;
- int semmsl;
- int semopm;
- int semume;
- int semusz;
- int semvmx;
- int semaem;
-};
-
-#define SEMMNI 128 /* <= IPCMNI max # of semaphore identifiers */
-#define SEMMSL 250 /* <= 8 000 max num of semaphores per id */
-#define SEMMNS (SEMMNI*SEMMSL) /* <= INT_MAX max # of semaphores in system */
-#define SEMOPM 32 /* <= 1 000 max num of ops per semop call */
-#define SEMVMX 32767 /* <= 32767 semaphore maximum value */
-
-extern int semget( key_t key, int nsems, int semflg) __THROW;
-
-/* The prototype really is:
- * extern int semctl(int semid, int semnum, int cmd, union semun arg) __THROW;
- * glibc bug compatibility forces us to write it like this: */
-extern int semctl(int semid, int semnum, int cmd, ...) __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 ce6630676..000000000
--- a/mdk-stage1/dietlibc/include/sys/sendfile.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _SYS_SENDFILE_H
-#define _SYS_SENDFILE_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-extern ssize_t sendfile (int out_fd, int in_fd, off_t* offset,
- size_t count) __THROW;
-
-extern ssize_t sendfile64 (int out_fd, int in_fd, loff_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 879a8786e..000000000
--- a/mdk-stage1/dietlibc/include/sys/shm.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _SYS_SHM_H
-#define _SYS_SHM_H
-
-#include <sys/ipc.h>
-
-#define SHMMAX 0x2000000 /* max shared seg size (bytes) */
-#define SHMMIN 1 /* min shared seg size (bytes) */
-#define SHMMNI 4096 /* max num of segs system wide */
-#define SHMALL (SHMMAX/PAGE_SIZE*(SHMMNI/16)) /* max shm system wide (pages) */
-#define SHMSEG SHMMNI /* max shared segs per process */
-
-struct shmid_ds {
- struct ipc_perm shm_perm; /* operation perms */
- int shm_segsz; /* size of segment (bytes) */
- time_t shm_atime; /* last attach time */
- time_t shm_dtime; /* last detach time */
- time_t shm_ctime; /* last change time */
- pid_t shm_cpid; /* pid of creator */
- pid_t shm_lpid; /* pid of last operator */
- unsigned short shm_nattch; /* no. of current attaches */
- unsigned short shm_unused; /* compatibility */
- void *shm_unused2; /* ditto - used by DIPC */
- void *shm_unused3; /* unused */
-};
-
-/* permission flag for shmget */
-#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
-#define SHM_W 0200 /* or S_IWUGO from <linux/stat.h> */
-
-/* mode for attach */
-#define SHM_RDONLY 010000 /* read-only access */
-#define SHM_RND 020000 /* round attach address to SHMLBA boundary */
-#define SHM_REMAP 040000 /* take-over region on attach */
-
-/* super user shmctl commands */
-#define SHM_LOCK 11
-#define SHM_UNLOCK 12
-
-/* ipcs ctl commands */
-#define SHM_STAT 13
-#define SHM_INFO 14
-
-/* Obsolete, used only for backwards compatibility */
-struct shminfo {
- int shmmax;
- int shmmin;
- int shmmni;
- int shmseg;
- int shmall;
-};
-
-struct shm_info {
- int used_ids;
- unsigned long shm_tot; /* total allocated shm */
- unsigned long shm_rss; /* total resident shm */
- unsigned long shm_swp; /* total swapped shm */
- unsigned long swap_attempts;
- unsigned long swap_successes;
-};
-
-#if defined(__i386__) || defined(__mips__) || defined(__arm__) || defined(__powerpc__) || defined(__s390__) || defined(__hppa__) || defined(__x86_64__) || defined(__ia64__)
-#define PAGE_SIZE 4096UL
-#define PAGE_SHIFT 12
-#elif defined(__alpha__) || defined(__sparc__)
-/* sun4* has 4k except sun4 architecture, sparc64 has 8k */
-#define PAGE_SIZE 8192UL
-#define PAGE_SHIFT 13
-#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 a1130c4f6..000000000
--- a/mdk-stage1/dietlibc/include/sys/socket.h
+++ /dev/null
@@ -1,526 +0,0 @@
-#ifndef _SYS_SOCKET_H
-#define _SYS_SOCKET_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/* For setsockoptions(2) */
-#if defined(__alpha__) || defined(__mips__)
-#define SOL_SOCKET 0xffff
-
-#define SO_DEBUG 0x0001
-#define SO_REUSEADDR 0x0004
-#define SO_TYPE 0x1008
-#define SO_ERROR 0x1007
-#define SO_DONTROUTE 0x0010
-#define SO_BROADCAST 0x0020
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_KEEPALIVE 0x0008
-#define SO_OOBINLINE 0x0100
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 0x0080
-#define SO_BSDCOMPAT 14
-/* To add :#define SO_REUSEPORT 15 */
-#define SO_PASSCRED 17
-#define SO_PEERCRED 18
-#define SO_RCVLOWAT 0x1004
-#define SO_SNDLOWAT 0x1003
-#define SO_RCVTIMEO 0x1006
-#define SO_SNDTIMEO 0x1005
-#define SO_ACCEPTCONN 0x1009
-
-#define SO_STYLE SO_TYPE /* Synonym */
-
-#elif defined(__hppa__)
-#define SOL_SOCKET 0xffff
-
-#define SO_DEBUG 0x0001
-#define SO_REUSEADDR 0x0004
-#define SO_KEEPALIVE 0x0008
-#define SO_DONTROUTE 0x0010
-#define SO_BROADCAST 0x0020
-#define SO_LINGER 0x0080
-#define SO_OOBINLINE 0x0100
-/* To add :#define SO_REUSEPORT 0x0200 */
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_SNDLOWAT 0x1003
-#define SO_RCVLOWAT 0x1004
-#define SO_SNDTIMEO 0x1005
-#define SO_RCVTIMEO 0x1006
-#define SO_ERROR 0x1007
-#define SO_TYPE 0x1008
-#define SO_PEERNAME 0x2000
-
-#define SO_NO_CHECK 0x400b
-#define SO_PRIORITY 0x400c
-#define SO_BSDCOMPAT 0x400e
-#define SO_PASSCRED 0x4010
-#define SO_PEERCRED 0x4011
-#define SO_TIMESTAMP 0x4012
-#define SCM_TIMESTAMP SO_TIMESTAMP
-
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 0x4016
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 0x4017
-#define SO_SECURITY_ENCRYPTION_NETWORK 0x4018
-
-#define SO_BINDTODEVICE 0x4019
-
-/* Socket filtering */
-#define SO_ATTACH_FILTER 0x401a
-#define SO_DETACH_FILTER 0x401b
-
-#define SO_ACCEPTCONN 0x401c
-
-#elif defined(__sparc__)
-#define SOL_SOCKET 0xffff
-
-#define SO_DEBUG 0x0001
-#define SO_PASSCRED 0x0002
-#define SO_REUSEADDR 0x0004
-#define SO_KEEPALIVE 0x0008
-#define SO_DONTROUTE 0x0010
-#define SO_BROADCAST 0x0020
-#define SO_PEERCRED 0x0040
-#define SO_LINGER 0x0080
-#define SO_OOBINLINE 0x0100
-/* To add :#define SO_REUSEPORT 0x0200 */
-#define SO_BSDCOMPAT 0x0400
-#define SO_RCVLOWAT 0x0800
-#define SO_SNDLOWAT 0x1000
-#define SO_RCVTIMEO 0x2000
-#define SO_SNDTIMEO 0x4000
-#define SO_ACCEPTCONN 0x8000
-
-#define SO_DONTLINGER (~SO_LINGER) /* Older SunOS compat. hack */
-
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_ERROR 0x1007
-#define SO_TYPE 0x1008
-
-#define SO_ATTACH_FILTER 0x001a
-#define SO_DETACH_FILTER 0x001b
-
-#define SO_PEERNAME 0x001c
-#define SO_TIMESTAMP 0x001d
-#define SCM_TIMESTAMP SO_TIMESTAMP
-
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 0x5001
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 0x5002
-#define SO_SECURITY_ENCRYPTION_NETWORK 0x5004
-
-#else
-
-#define SOL_SOCKET 1
-
-#define SO_DEBUG 1
-#define SO_REUSEADDR 2
-#define SO_TYPE 3
-#define SO_ERROR 4
-#define SO_DONTROUTE 5
-#define SO_BROADCAST 6
-#define SO_SNDBUF 7
-#define SO_RCVBUF 8
-#define SO_KEEPALIVE 9
-#define SO_OOBINLINE 10
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 13
-#define SO_BSDCOMPAT 14
-/* To add :#define SO_REUSEPORT 15 */
-#define SO_PASSCRED 16
-#define SO_PEERCRED 17
-#define SO_RCVLOWAT 18
-#define SO_SNDLOWAT 19
-#define SO_RCVTIMEO 20
-#define SO_SNDTIMEO 21
-#define SO_ACCEPTCONN 30
-
-#endif
-
-#if !defined(__hppa__) && !defined(__sparc__)
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 22
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
-#define SO_SECURITY_ENCRYPTION_NETWORK 24
-
-#define SO_BINDTODEVICE 25
-
-/* Socket filtering */
-#define SO_ATTACH_FILTER 26
-#define SO_DETACH_FILTER 27
-
-#define SO_PEERNAME 28
-#define SO_TIMESTAMP 29
-#define SCM_TIMESTAMP SO_TIMESTAMP
-#endif
-
-/* Socket types. */
-#ifdef __mips__
-#define SOCK_DGRAM 1 /* datagram (conn.less) socket */
-#define SOCK_STREAM 2 /* stream (connection) socket */
-#else
-#define SOCK_STREAM 1 /* stream (connection) socket */
-#define SOCK_DGRAM 2 /* datagram (conn.less) socket */
-#endif
-#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 */
- /* getting packets at the dev */
- /* level. For writing rarp and */
- /* other similar things on the */
- /* user level. */
-
-struct sockaddr {
- sa_family_t sa_family;
- char sa_data[14];
-};
-
-struct linger {
- int l_onoff;
- int l_linger;
-};
-
-struct iovec {
- void* iov_base; /* BSD uses caddr_t (1003.1g requires void *) */
- size_t iov_len; /* Must be size_t (1003.1g) */
-};
-
-struct msghdr {
- void* msg_name; /* Socket name */
- int msg_namelen; /* Length of name */
- struct iovec* msg_iov; /* Data blocks */
- size_t msg_iovlen; /* Number of blocks */
- void* msg_control; /* Per protocol magic (eg BSD file descriptor passing) */
- size_t msg_controllen; /* Length of cmsg list */
- unsigned msg_flags;
-};
-
-struct cmsghdr {
- size_t cmsg_len; /* data byte count, including hdr */
- int cmsg_level; /* originating protocol */
- int cmsg_type; /* protocol-specific type */
-};
-
-#define UIO_FASTIOV 8
-#define UIO_MAXIOV 1024
-
-/* "Socket"-level control message types: */
-
-#define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */
-#define SCM_CREDENTIALS 0x02 /* rw: struct ucred */
-#define SCM_CONNECT 0x03 /* rw: struct scm_connect */
-
-struct ucred {
- unsigned int pid;
- unsigned int uid;
- unsigned int gid;
-};
-
-/* Supported address families. */
-#define AF_UNSPEC 0
-#define AF_UNIX 1 /* Unix domain sockets */
-#define AF_LOCAL 1 /* POSIX name for AF_UNIX */
-#define AF_INET 2 /* Internet IP Protocol */
-#define AF_AX25 3 /* Amateur Radio AX.25 */
-#define AF_IPX 4 /* Novell IPX */
-#define AF_APPLETALK 5 /* AppleTalk DDP */
-#define AF_NETROM 6 /* Amateur Radio NET/ROM */
-#define AF_BRIDGE 7 /* Multiprotocol bridge */
-#define AF_ATMPVC 8 /* ATM PVCs */
-#define AF_X25 9 /* Reserved for X.25 project */
-#define AF_INET6 10 /* IP version 6 */
-#define AF_ROSE 11 /* Amateur Radio X.25 PLP */
-#define AF_DECnet 12 /* Reserved for DECnet project */
-#define AF_NETBEUI 13 /* Reserved for 802.2LLC project*/
-#define AF_SECURITY 14 /* Security callback pseudo AF */
-#define AF_KEY 15 /* PF_KEY key management API */
-#define AF_NETLINK 16
-#define AF_ROUTE AF_NETLINK /* Alias to emulate 4.4BSD */
-#define AF_PACKET 17 /* Packet family */
-#define AF_ASH 18 /* Ash */
-#define AF_ECONET 19 /* Acorn Econet */
-#define AF_ATMSVC 20 /* ATM SVCs */
-#define AF_SNA 22 /* Linux SNA Project (nutters!) */
-#define AF_IRDA 23 /* IRDA sockets */
-#define AF_PPPOX 24 /* PPPoX sockets */
-#define AF_WANPIPE 25 /* Wanpipe API Sockets */
-#define AF_MAX 32 /* For now.. */
-
-/* Protocol families, same as address families. */
-#define PF_UNSPEC AF_UNSPEC
-#define PF_UNIX AF_UNIX
-#define PF_LOCAL AF_LOCAL
-#define PF_INET AF_INET
-#define PF_AX25 AF_AX25
-#define PF_IPX AF_IPX
-#define PF_APPLETALK AF_APPLETALK
-#define PF_NETROM AF_NETROM
-#define PF_BRIDGE AF_BRIDGE
-#define PF_ATMPVC AF_ATMPVC
-#define PF_X25 AF_X25
-#define PF_INET6 AF_INET6
-#define PF_ROSE AF_ROSE
-#define PF_DECnet AF_DECnet
-#define PF_NETBEUI AF_NETBEUI
-#define PF_SECURITY AF_SECURITY
-#define PF_KEY AF_KEY
-#define PF_NETLINK AF_NETLINK
-#define PF_ROUTE AF_ROUTE
-#define PF_PACKET AF_PACKET
-#define PF_ASH AF_ASH
-#define PF_ECONET AF_ECONET
-#define PF_ATMSVC AF_ATMSVC
-#define PF_SNA AF_SNA
-#define PF_IRDA AF_IRDA
-#define PF_PPPOX AF_PPPOX
-#define PF_WANPIPE AF_WANPIPE
-#define PF_MAX AF_MAX
-
-/* Maximum queue length specifiable by listen. */
-#define SOMAXCONN 128
-
-/* Flags we can use with send/ and recv.
- Added those for 1003.1g not all are supported yet */
-#define MSG_OOB 1
-#define MSG_PEEK 2
-#define MSG_DONTROUTE 4
-#define MSG_TRYHARD 4 /* Synonym for MSG_DONTROUTE for DECnet */
-#define MSG_CTRUNC 8
-#define MSG_PROBE 0x10 /* Do not send. Only probe path f.e. for MTU */
-#define MSG_TRUNC 0x20
-#define MSG_DONTWAIT 0x40 /* Nonblocking io */
-#define MSG_EOR 0x80 /* End of record */
-#define MSG_WAITALL 0x100 /* Wait for a full request */
-#define MSG_FIN 0x200
-#define MSG_EOF MSG_FIN
-#define MSG_SYN 0x400
-#define MSG_CONFIRM 0x800 /* Confirm path validity */
-#define MSG_RST 0x1000
-#define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */
-#define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */
-#define MSG_MORE 0x8000 /* Sender will send more */
-
-/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
-#define SOL_IP 0
-/* #define SOL_ICMP 1 No-no-no! Due to Linux :-) we cannot use SOL_ICMP=1 */
-#define SOL_TCP 6
-#define SOL_UDP 17
-#define SOL_IPV6 41
-#define SOL_ICMPV6 58
-#define SOL_RAW 255
-#define SOL_IPX 256
-#define SOL_AX25 257
-#define SOL_ATALK 258
-#define SOL_NETROM 259
-#define SOL_ROSE 260
-#define SOL_DECNET 261
-#define SOL_X25 262
-#define SOL_PACKET 263
-#define SOL_ATM 264 /* ATM layer (cell level) */
-#define SOL_AAL 265 /* ATM Adaption Layer (packet level) */
-#define SOL_IRDA 266
-
-/* IPX options */
-#define IPX_TYPE 1
-
-#define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) )
-#define __CMSG_NXTHDR(ctl, len, cmsg) __cmsg_nxthdr((ctl),(len),(cmsg))
-#define CMSG_NXTHDR(mhdr, cmsg) cmsg_nxthdr((mhdr), (cmsg))
-
-static inline struct cmsghdr* __cmsg_nxthdr(void *__ctl, size_t __size, struct cmsghdr *__cmsg)
-{
- struct cmsghdr * __ptr;
- __ptr = (struct cmsghdr*)(((unsigned char *) __cmsg) + CMSG_ALIGN(__cmsg->cmsg_len));
- if ((unsigned long)((char*)(__ptr+1) - (char *) __ctl) > __size)
- return (struct cmsghdr *)0;
- return __ptr;
-}
-
-static inline struct cmsghdr* cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr *__cmsg)
-{
- return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg);
-}
-
-#define CMSG_DATA(cmsg) ((void *)((char *)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr))))
-#define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len))
-#define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len))
-
-#define __CMSG_FIRSTHDR(ctl,len) ((len) >= sizeof(struct cmsghdr) ? \
- (struct cmsghdr *)(ctl) : \
- (struct cmsghdr *)NULL)
-#define CMSG_FIRSTHDR(msg) __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
-
-struct sockaddr_storage {
- sa_family_t ss_family;
- uint32_t __ss_align;
- char __ss_padding[(128 - (2 * sizeof (uint32_t ))) ];
-};
-
-#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
-
-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, const 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;
-
-int socketpair(int d, int type, int protocol, int sv[2]);
-
-/* currently not supported: */
-#define NI_NOFQDN 1
-
-#define NI_NUMERICHOST 2
-#define NI_NAMEREQD 4
-#define NI_NUMERICSERV 8
-#define NI_DGRAM 16
-
-struct addrinfo {
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t ai_addrlen;
- struct sockaddr *ai_addr;
- char *ai_canonname;
- struct addrinfo *ai_next;
-};
-
-int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
- size_t hostlen, char *serv, size_t servlen, int flags) __THROW;
-int getaddrinfo(const char *node, const char *service, const struct
- addrinfo *hints, struct addrinfo **res) __THROW;
-void freeaddrinfo(struct addrinfo *res) __THROW;
-const char *gai_strerror(int errcode) __THROW;
-
-#define EAI_FAMILY -1
-#define EAI_SOCKTYPE -2
-#define EAI_BADFLAGS -3
-#define EAI_NONAME -4
-#define EAI_SERVICE -5
-#define EAI_ADDRFAMILY -6
-#define EAI_NODATA -7
-#define EAI_MEMORY -8
-#define EAI_FAIL -9
-#define EAI_AGAIN -10
-#define EAI_SYSTEM -11
-
-#define AI_NUMERICHOST 1
-#define AI_CANONNAME 2
-#define AI_PASSIVE 4
-
-/* Linux-specific socket ioctls */
-#define SIOCINQ FIONREAD
-#define SIOCOUTQ TIOCOUTQ
-
-/* Routing table calls. */
-#define SIOCADDRT 0x890B /* add routing table entry */
-#define SIOCDELRT 0x890C /* delete routing table entry */
-#define SIOCRTMSG 0x890D /* call to routing system */
-
-/* Socket configuration controls. */
-#define SIOCGIFNAME 0x8910 /* get iface name */
-#define SIOCSIFLINK 0x8911 /* set iface channel */
-#define SIOCGIFCONF 0x8912 /* get iface list */
-#define SIOCGIFFLAGS 0x8913 /* get flags */
-#define SIOCSIFFLAGS 0x8914 /* set flags */
-#define SIOCGIFADDR 0x8915 /* get PA address */
-#define SIOCSIFADDR 0x8916 /* set PA address */
-#define SIOCGIFDSTADDR 0x8917 /* get remote PA address */
-#define SIOCSIFDSTADDR 0x8918 /* set remote PA address */
-#define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */
-#define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */
-#define SIOCGIFNETMASK 0x891b /* get network PA mask */
-#define SIOCSIFNETMASK 0x891c /* set network PA mask */
-#define SIOCGIFMETRIC 0x891d /* get metric */
-#define SIOCSIFMETRIC 0x891e /* set metric */
-#define SIOCGIFMEM 0x891f /* get memory address (BSD) */
-#define SIOCSIFMEM 0x8920 /* set memory address (BSD) */
-#define SIOCGIFMTU 0x8921 /* get MTU size */
-#define SIOCSIFMTU 0x8922 /* set MTU size */
-#define SIOCSIFNAME 0x8923 /* set interface name */
-#define SIOCSIFHWADDR 0x8924 /* set hardware address */
-#define SIOCGIFENCAP 0x8925 /* get/set encapsulations */
-#define SIOCSIFENCAP 0x8926
-#define SIOCGIFHWADDR 0x8927 /* Get hardware address */
-#define SIOCGIFSLAVE 0x8929 /* Driver slaving support */
-#define SIOCSIFSLAVE 0x8930
-#define SIOCADDMULTI 0x8931 /* Multicast address lists */
-#define SIOCDELMULTI 0x8932
-#define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */
-#define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */
-#define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */
-#define SIOCGIFPFLAGS 0x8935
-#define SIOCDIFADDR 0x8936 /* delete PA address */
-#define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */
-#define SIOCGIFCOUNT 0x8938 /* get number of devices */
-
-#define SIOCGIFBR 0x8940 /* Bridging support */
-#define SIOCSIFBR 0x8941 /* Set bridging options */
-
-#define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */
-#define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */
-
-#define SIOCGIFDIVERT 0x8944 /* Frame diversion support */
-#define SIOCSIFDIVERT 0x8945 /* Set frame diversion options */
-
-#define SIOCETHTOOL 0x8946 /* Ethtool interface */
-
-/* ARP cache control calls. */
- /* 0x8950 - 0x8952 * obsolete calls, don't re-use */
-#define SIOCDARP 0x8953 /* delete ARP table entry */
-#define SIOCGARP 0x8954 /* get ARP table entry */
-#define SIOCSARP 0x8955 /* set ARP table entry */
-
-/* RARP cache control calls. */
-#define SIOCDRARP 0x8960 /* delete RARP table entry */
-#define SIOCGRARP 0x8961 /* get RARP table entry */
-#define SIOCSRARP 0x8962 /* set RARP table entry */
-
-/* Driver configuration calls */
-
-#define SIOCGIFMAP 0x8970 /* Get device parameters */
-#define SIOCSIFMAP 0x8971 /* Set device parameters */
-
-/* DLCI configuration calls */
-
-#define SIOCADDDLCI 0x8980 /* Create new DLCI device */
-#define SIOCDELDLCI 0x8981 /* Delete DLCI device */
-
-#define SIOCDEVPRIVATE 0x89F0 /* to 89FF */
-
-#define _LINUX_SOCKET_H
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/soundcard.h b/mdk-stage1/dietlibc/include/sys/soundcard.h
deleted file mode 100644
index e8766499a..000000000
--- a/mdk-stage1/dietlibc/include/sys/soundcard.h
+++ /dev/null
@@ -1,1300 +0,0 @@
-#ifndef _SYS_SOUNDCARD_H
-#define _SYS_SOUNDCARD_H
-
-/*
- * Copyright by Hannu Savolainen 1993-1997
- *
- * 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.
- *
- * 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.
- */
-
-
-/*
- * OSS interface version. With versions earlier than 3.6 this value is
- * an integer with value less than 361. In versions 3.6 and later
- * it's a six digit hexadecimal value. For example value
- * of 0x030600 represents OSS version 3.6.0.
- * Use ioctl(fd, OSS_GETVERSION, &int) to get the version number of
- * the currently active driver.
- */
-#define SOUND_VERSION 0x030802
-#define OPEN_SOUND_SYSTEM
-
-/* In Linux we need to be prepared for cross compiling */
-#include <sys/ioctl.h>
-
-/*
- * Supported card ID numbers (Should be somewhere else?)
- */
-
-#define SNDCARD_ADLIB 1
-#define SNDCARD_SB 2
-#define SNDCARD_PAS 3
-#define SNDCARD_GUS 4
-#define SNDCARD_MPU401 5
-#define SNDCARD_SB16 6
-#define SNDCARD_SB16MIDI 7
-#define SNDCARD_UART6850 8
-#define SNDCARD_GUS16 9
-#define SNDCARD_MSS 10
-#define SNDCARD_PSS 11
-#define SNDCARD_SSCAPE 12
-#define SNDCARD_PSS_MPU 13
-#define SNDCARD_PSS_MSS 14
-#define SNDCARD_SSCAPE_MSS 15
-#define SNDCARD_TRXPRO 16
-#define SNDCARD_TRXPRO_SB 17
-#define SNDCARD_TRXPRO_MPU 18
-#define SNDCARD_MAD16 19
-#define SNDCARD_MAD16_MPU 20
-#define SNDCARD_CS4232 21
-#define SNDCARD_CS4232_MPU 22
-#define SNDCARD_MAUI 23
-#define SNDCARD_PSEUDO_MSS 24
-#define SNDCARD_GUSPNP 25
-#define SNDCARD_UART401 26
-/* Sound card numbers 27 to N are reserved. Don't add more numbers here. */
-
-/***********************************
- * IOCTL Commands for /dev/sequencer
- */
-
-#ifndef _SIOWR
-#if defined(_IOWR) && (defined(_AIX) || (!defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__)))
-/* Use already defined ioctl defines if they exist (except with Sun or Sparc) */
-#define SIOCPARM_MASK IOCPARM_MASK
-#define SIOC_VOID IOC_VOID
-#define SIOC_OUT IOC_OUT
-#define SIOC_IN IOC_IN
-#define SIOC_INOUT IOC_INOUT
-#define _SIOC_SIZE _IOC_SIZE
-#define _SIOC_DIR _IOC_DIR
-#define _SIOC_NONE _IOC_NONE
-#define _SIOC_READ _IOC_READ
-#define _SIOC_WRITE _IOC_WRITE
-#define _SIO _IO
-#define _SIOR _IOR
-#define _SIOW _IOW
-#define _SIOWR _IOWR
-#else
-
-/* Ioctl's have the command encoded in the lower word,
- * and the size of any in or out parameters in the upper
- * word. The high 2 bits of the upper word are used
- * to encode the in/out status of the parameter; for now
- * we restrict parameters to at most 8191 bytes.
- */
-/* #define SIOCTYPE (0xff<<8) */
-#define SIOCPARM_MASK 0x1fff /* parameters must be < 8192 bytes */
-#define SIOC_VOID 0x00000000 /* no parameters */
-#define SIOC_OUT 0x20000000 /* copy out parameters */
-#define SIOC_IN 0x40000000 /* copy in parameters */
-#define SIOC_INOUT (SIOC_IN|SIOC_OUT)
-/* the 0x20000000 is so we can distinguish new ioctl's from old */
-#define _SIO(x,y) ((int)(SIOC_VOID|(x<<8)|y))
-#define _SIOR(x,y,t) ((int)(SIOC_OUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-#define _SIOW(x,y,t) ((int)(SIOC_IN|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-/* this should be _SIORW, but stdio got there first */
-#define _SIOWR(x,y,t) ((int)(SIOC_INOUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-#define _SIOC_SIZE(x) ((x>>16)&SIOCPARM_MASK)
-#define _SIOC_DIR(x) (x & 0xf0000000)
-#define _SIOC_NONE SIOC_VOID
-#define _SIOC_READ SIOC_OUT
-#define _SIOC_WRITE SIOC_IN
-# endif /* _IOWR */
-#endif /* !_SIOWR */
-
-#define SNDCTL_SEQ_RESET _SIO ('Q', 0)
-#define SNDCTL_SEQ_SYNC _SIO ('Q', 1)
-#define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info)
-#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int) /* Set/get timer resolution (HZ) */
-#define SNDCTL_SEQ_GETOUTCOUNT _SIOR ('Q', 4, int)
-#define SNDCTL_SEQ_GETINCOUNT _SIOR ('Q', 5, int)
-#define SNDCTL_SEQ_PERCMODE _SIOW ('Q', 6, int)
-#define SNDCTL_FM_LOAD_INSTR _SIOW ('Q', 7, struct sbi_instrument) /* Obsolete. Don't use!!!!!! */
-#define SNDCTL_SEQ_TESTMIDI _SIOW ('Q', 8, int)
-#define SNDCTL_SEQ_RESETSAMPLES _SIOW ('Q', 9, int)
-#define SNDCTL_SEQ_NRSYNTHS _SIOR ('Q',10, int)
-#define SNDCTL_SEQ_NRMIDIS _SIOR ('Q',11, int)
-#define SNDCTL_MIDI_INFO _SIOWR('Q',12, struct midi_info)
-#define SNDCTL_SEQ_THRESHOLD _SIOW ('Q',13, int)
-#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q',14, int) /* in=dev#, out=memsize */
-#define SNDCTL_FM_4OP_ENABLE _SIOW ('Q',15, int) /* in=dev# */
-#define SNDCTL_SEQ_PANIC _SIO ('Q',17)
-#define SNDCTL_SEQ_OUTOFBAND _SIOW ('Q',18, struct seq_event_rec)
-#define SNDCTL_SEQ_GETTIME _SIOR ('Q',19, int)
-#define SNDCTL_SYNTH_ID _SIOWR('Q',20, struct synth_info)
-#define SNDCTL_SYNTH_CONTROL _SIOWR('Q',21, struct synth_control)
-#define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q',22, struct remove_sample)
-
-typedef struct synth_control
-{
- int devno; /* Synthesizer # */
- char data[4000]; /* Device spesific command/data record */
-}synth_control;
-
-typedef struct remove_sample
-{
- int devno; /* Synthesizer # */
- int bankno; /* MIDI bank # (0=General MIDI) */
- int instrno; /* MIDI instrument number */
-} remove_sample;
-
-typedef struct seq_event_rec {
- unsigned char arr[8];
-} seq_event_rec;
-
-#define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int)
-#define SNDCTL_TMR_START _SIO ('T', 2)
-#define SNDCTL_TMR_STOP _SIO ('T', 3)
-#define SNDCTL_TMR_CONTINUE _SIO ('T', 4)
-#define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int)
-#define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int)
-# define TMR_INTERNAL 0x00000001
-# define TMR_EXTERNAL 0x00000002
-# define TMR_MODE_MIDI 0x00000010
-# define TMR_MODE_FSK 0x00000020
-# define TMR_MODE_CLS 0x00000040
-# define TMR_MODE_SMPTE 0x00000080
-#define SNDCTL_TMR_METRONOME _SIOW ('T', 7, int)
-#define SNDCTL_TMR_SELECT _SIOW ('T', 8, int)
-
-/*
- * Some big endian/little endian handling macros
- */
-
-#if defined(_AIX) || defined(AIX) || defined(sparc) || defined(__sparc__) || defined(HPPA) || defined(PPC)
-/* Big endian machines */
-# define _PATCHKEY(id) (0xfd00|id)
-# define AFMT_S16_NE AFMT_S16_BE
-#else
-# define _PATCHKEY(id) ((id<<8)|0xfd)
-# define AFMT_S16_NE AFMT_S16_LE
-#endif
-
-/*
- * Sample loading mechanism for internal synthesizers (/dev/sequencer)
- * The following patch_info structure has been designed to support
- * Gravis UltraSound. It tries to be universal format for uploading
- * sample based patches but is probably too limited.
- *
- * (PBD) As Hannu guessed, the GUS structure is too limited for
- * the WaveFront, but this is the right place for a constant definition.
- */
-
-struct patch_info {
- unsigned short key; /* Use WAVE_PATCH here */
-#define WAVE_PATCH _PATCHKEY(0x04)
-#define GUS_PATCH WAVE_PATCH
-#define WAVEFRONT_PATCH _PATCHKEY(0x06)
-
- short device_no; /* Synthesizer number */
- short instr_no; /* Midi pgm# */
-
- unsigned int mode;
-/*
- * The least significant byte has the same format than the GUS .PAT
- * files
- */
-#define WAVE_16_BITS 0x01 /* bit 0 = 8 or 16 bit wave data. */
-#define WAVE_UNSIGNED 0x02 /* bit 1 = Signed - Unsigned data. */
-#define WAVE_LOOPING 0x04 /* bit 2 = looping enabled-1. */
-#define WAVE_BIDIR_LOOP 0x08 /* bit 3 = Set is bidirectional looping. */
-#define WAVE_LOOP_BACK 0x10 /* bit 4 = Set is looping backward. */
-#define WAVE_SUSTAIN_ON 0x20 /* bit 5 = Turn sustaining on. (Env. pts. 3)*/
-#define WAVE_ENVELOPES 0x40 /* bit 6 = Enable envelopes - 1 */
-#define WAVE_FAST_RELEASE 0x80 /* bit 7 = Shut off immediately after note off */
- /* (use the env_rate/env_offs fields). */
-/* Linux specific bits */
-#define WAVE_VIBRATO 0x00010000 /* The vibrato info is valid */
-#define WAVE_TREMOLO 0x00020000 /* The tremolo info is valid */
-#define WAVE_SCALE 0x00040000 /* The scaling info is valid */
-#define WAVE_FRACTIONS 0x00080000 /* Fraction information is valid */
-/* Reserved bits */
-#define WAVE_ROM 0x40000000 /* For future use */
-#define WAVE_MULAW 0x20000000 /* For future use */
-/* Other bits must be zeroed */
-
- int len; /* Size of the wave data in bytes */
- int loop_start, loop_end; /* Byte offsets from the beginning */
-
-/*
- * The base_freq and base_note fields are used when computing the
- * playback speed for a note. The base_note defines the tone frequency
- * which is heard if the sample is played using the base_freq as the
- * playback speed.
- *
- * The low_note and high_note fields define the minimum and maximum note
- * frequencies for which this sample is valid. It is possible to define
- * more than one samples for an instrument number at the same time. The
- * low_note and high_note fields are used to select the most suitable one.
- *
- * The fields base_note, high_note and low_note should contain
- * the note frequency multiplied by 1000. For example value for the
- * middle A is 440*1000.
- */
-
- unsigned int base_freq;
- unsigned int base_note;
- unsigned int high_note;
- unsigned int low_note;
- int panning; /* -128=left, 127=right */
- int detuning;
-
-/* New fields introduced in version 1.99.5 */
-
- /* Envelope. Enabled by mode bit WAVE_ENVELOPES */
- unsigned char env_rate[ 6 ]; /* GUS HW ramping rate */
- unsigned char env_offset[ 6 ]; /* 255 == 100% */
-
- /*
- * The tremolo, vibrato and scale info are not supported yet.
- * Enable by setting the mode bits WAVE_TREMOLO, WAVE_VIBRATO or
- * WAVE_SCALE
- */
-
- unsigned char tremolo_sweep;
- unsigned char tremolo_rate;
- unsigned char tremolo_depth;
-
- unsigned char vibrato_sweep;
- unsigned char vibrato_rate;
- unsigned char vibrato_depth;
-
- int scale_frequency;
- unsigned int scale_factor; /* from 0 to 2048 or 0 to 2 */
-
- int volume;
- int fractions;
- int reserved1;
- int spare[2];
- char data[1]; /* The waveform data starts here */
- };
-
-struct sysex_info {
- short key; /* Use SYSEX_PATCH or MAUI_PATCH here */
-#define SYSEX_PATCH _PATCHKEY(0x05)
-#define MAUI_PATCH _PATCHKEY(0x06)
- short device_no; /* Synthesizer number */
- int len; /* Size of the sysex data in bytes */
- unsigned char data[1]; /* Sysex data starts here */
- };
-
-/*
- * /dev/sequencer input events.
- *
- * The data written to the /dev/sequencer is a stream of events. Events
- * are records of 4 or 8 bytes. The first byte defines the size.
- * Any number of events can be written with a write call. There
- * is a set of macros for sending these events. Use these macros if you
- * want to maximize portability of your program.
- *
- * Events SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO. Are also input events.
- * (All input events are currently 4 bytes long. Be prepared to support
- * 8 byte events also. If you receive any event having first byte >= 128,
- * it's a 8 byte event.
- *
- * The events are documented at the end of this file.
- *
- * Normal events (4 bytes)
- * There is also a 8 byte version of most of the 4 byte events. The
- * 8 byte one is recommended.
- */
-#define SEQ_NOTEOFF 0
-#define SEQ_FMNOTEOFF SEQ_NOTEOFF /* Just old name */
-#define SEQ_NOTEON 1
-#define SEQ_FMNOTEON SEQ_NOTEON
-#define SEQ_WAIT TMR_WAIT_ABS
-#define SEQ_PGMCHANGE 3
-#define SEQ_FMPGMCHANGE SEQ_PGMCHANGE
-#define SEQ_SYNCTIMER TMR_START
-#define SEQ_MIDIPUTC 5
-#define SEQ_DRUMON 6 /*** OBSOLETE ***/
-#define SEQ_DRUMOFF 7 /*** OBSOLETE ***/
-#define SEQ_ECHO TMR_ECHO /* For synching programs with output */
-#define SEQ_AFTERTOUCH 9
-#define SEQ_CONTROLLER 10
-
-/*******************************************
- * Midi controller numbers
- *******************************************
- * Controllers 0 to 31 (0x00 to 0x1f) and
- * 32 to 63 (0x20 to 0x3f) are continuous
- * controllers.
- * In the MIDI 1.0 these controllers are sent using
- * two messages. Controller numbers 0 to 31 are used
- * to send the MSB and the controller numbers 32 to 63
- * are for the LSB. Note that just 7 bits are used in MIDI bytes.
- */
-
-#define CTL_BANK_SELECT 0x00
-#define CTL_MODWHEEL 0x01
-#define CTL_BREATH 0x02
-/* undefined 0x03 */
-#define CTL_FOOT 0x04
-#define CTL_PORTAMENTO_TIME 0x05
-#define CTL_DATA_ENTRY 0x06
-#define CTL_MAIN_VOLUME 0x07
-#define CTL_BALANCE 0x08
-/* undefined 0x09 */
-#define CTL_PAN 0x0a
-#define CTL_EXPRESSION 0x0b
-/* undefined 0x0c */
-/* undefined 0x0d */
-/* undefined 0x0e */
-/* undefined 0x0f */
-#define CTL_GENERAL_PURPOSE1 0x10
-#define CTL_GENERAL_PURPOSE2 0x11
-#define CTL_GENERAL_PURPOSE3 0x12
-#define CTL_GENERAL_PURPOSE4 0x13
-/* undefined 0x14 - 0x1f */
-
-/* undefined 0x20 */
-/* The controller numbers 0x21 to 0x3f are reserved for the */
-/* least significant bytes of the controllers 0x00 to 0x1f. */
-/* These controllers are not recognised by the driver. */
-
-/* Controllers 64 to 69 (0x40 to 0x45) are on/off switches. */
-/* 0=OFF and 127=ON (intermediate values are possible) */
-#define CTL_DAMPER_PEDAL 0x40
-#define CTL_SUSTAIN 0x40 /* Alias */
-#define CTL_HOLD 0x40 /* Alias */
-#define CTL_PORTAMENTO 0x41
-#define CTL_SOSTENUTO 0x42
-#define CTL_SOFT_PEDAL 0x43
-/* undefined 0x44 */
-#define CTL_HOLD2 0x45
-/* undefined 0x46 - 0x4f */
-
-#define CTL_GENERAL_PURPOSE5 0x50
-#define CTL_GENERAL_PURPOSE6 0x51
-#define CTL_GENERAL_PURPOSE7 0x52
-#define CTL_GENERAL_PURPOSE8 0x53
-/* undefined 0x54 - 0x5a */
-#define CTL_EXT_EFF_DEPTH 0x5b
-#define CTL_TREMOLO_DEPTH 0x5c
-#define CTL_CHORUS_DEPTH 0x5d
-#define CTL_DETUNE_DEPTH 0x5e
-#define CTL_CELESTE_DEPTH 0x5e /* Alias for the above one */
-#define CTL_PHASER_DEPTH 0x5f
-#define CTL_DATA_INCREMENT 0x60
-#define CTL_DATA_DECREMENT 0x61
-#define CTL_NONREG_PARM_NUM_LSB 0x62
-#define CTL_NONREG_PARM_NUM_MSB 0x63
-#define CTL_REGIST_PARM_NUM_LSB 0x64
-#define CTL_REGIST_PARM_NUM_MSB 0x65
-/* undefined 0x66 - 0x78 */
-/* reserved 0x79 - 0x7f */
-
-/* Pseudo controllers (not midi compatible) */
-#define CTRL_PITCH_BENDER 255
-#define CTRL_PITCH_BENDER_RANGE 254
-#define CTRL_EXPRESSION 253 /* Obsolete */
-#define CTRL_MAIN_VOLUME 252 /* Obsolete */
-#define SEQ_BALANCE 11
-#define SEQ_VOLMODE 12
-
-/*
- * Volume mode decides how volumes are used
- */
-
-#define VOL_METHOD_ADAGIO 1
-#define VOL_METHOD_LINEAR 2
-
-/*
- * Note! SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO are used also as
- * input events.
- */
-
-/*
- * Event codes 0xf0 to 0xfc are reserved for future extensions.
- */
-
-#define SEQ_FULLSIZE 0xfd /* Long events */
-/*
- * SEQ_FULLSIZE events are used for loading patches/samples to the
- * synthesizer devices. These events are passed directly to the driver
- * of the associated synthesizer device. There is no limit to the size
- * of the extended events. These events are not queued but executed
- * immediately when the write() is called (execution can take several
- * seconds of time).
- *
- * When a SEQ_FULLSIZE message is written to the device, it must
- * be written using exactly one write() call. Other events cannot
- * be mixed to the same write.
- *
- * For FM synths (YM3812/OPL3) use struct sbi_instrument and write it to the
- * /dev/sequencer. Don't write other data together with the instrument structure
- * Set the key field of the structure to FM_PATCH. The device field is used to
- * route the patch to the corresponding device.
- *
- * For wave table use struct patch_info. Initialize the key field
- * to WAVE_PATCH.
- */
-#define SEQ_PRIVATE 0xfe /* Low level HW dependent events (8 bytes) */
-#define SEQ_EXTENDED 0xff /* Extended events (8 bytes) OBSOLETE */
-
-/*
- * Record for FM patches
- */
-
-typedef unsigned char sbi_instr_data[32];
-
-struct sbi_instrument {
- unsigned short key; /* FM_PATCH or OPL3_PATCH */
-#define FM_PATCH _PATCHKEY(0x01)
-#define OPL3_PATCH _PATCHKEY(0x03)
- short device; /* Synth# (0-4) */
- int channel; /* Program# to be initialized */
- sbi_instr_data operators; /* Register settings for operator cells (.SBI format) */
- };
-
-struct synth_info { /* Read only */
- char name[30];
- int device; /* 0-N. INITIALIZE BEFORE CALLING */
- int synth_type;
-#define SYNTH_TYPE_FM 0
-#define SYNTH_TYPE_SAMPLE 1
-#define SYNTH_TYPE_MIDI 2 /* Midi interface */
-
- int synth_subtype;
-#define FM_TYPE_ADLIB 0x00
-#define FM_TYPE_OPL3 0x01
-#define MIDI_TYPE_MPU401 0x401
-
-#define SAMPLE_TYPE_BASIC 0x10
-#define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC
-#define SAMPLE_TYPE_WAVEFRONT 0x11
-
- int perc_mode; /* No longer supported */
- int nr_voices;
- int nr_drums; /* Obsolete field */
- int instr_bank_size;
- unsigned int capabilities;
-#define SYNTH_CAP_PERCMODE 0x00000001 /* No longer used */
-#define SYNTH_CAP_OPL3 0x00000002 /* Set if OPL3 supported */
-#define SYNTH_CAP_INPUT 0x00000004 /* Input (MIDI) device */
- int dummies[19]; /* Reserve space */
- };
-
-struct sound_timer_info {
- char name[32];
- int caps;
- };
-
-#define MIDI_CAP_MPU401 1 /* MPU-401 intelligent mode */
-
-struct midi_info {
- char name[30];
- int device; /* 0-N. INITIALIZE BEFORE CALLING */
- unsigned int capabilities; /* To be defined later */
- int dev_type;
- int dummies[18]; /* Reserve space */
- };
-
-/********************************************
- * ioctl commands for the /dev/midi##
- */
-typedef struct {
- unsigned char cmd;
- char nr_args, nr_returns;
- unsigned char data[30];
- } mpu_command_rec;
-
-#define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int)
-#define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int)
-#define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec)
-
-/********************************************
- * IOCTL commands for /dev/dsp and /dev/audio
- */
-
-#define SNDCTL_DSP_RESET _SIO ('P', 0)
-#define SNDCTL_DSP_SYNC _SIO ('P', 1)
-#define SNDCTL_DSP_SPEED _SIOWR('P', 2, int)
-#define SNDCTL_DSP_STEREO _SIOWR('P', 3, int)
-#define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int)
-#define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT
-#define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int)
-#define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS
-#define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int)
-#define SNDCTL_DSP_POST _SIO ('P', 8)
-#define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int)
-#define SNDCTL_DSP_SETFRAGMENT _SIOWR('P',10, int)
-
-/* Audio data formats (Note! U8=8 and S16_LE=16 for compatibility) */
-#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int) /* Returns a mask */
-#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int) /* Selects ONE fmt*/
-# define AFMT_QUERY 0x00000000 /* Return current fmt */
-# define AFMT_MU_LAW 0x00000001
-# define AFMT_A_LAW 0x00000002
-# define AFMT_IMA_ADPCM 0x00000004
-# define AFMT_U8 0x00000008
-# define AFMT_S16_LE 0x00000010 /* Little endian signed 16*/
-# define AFMT_S16_BE 0x00000020 /* Big endian signed 16 */
-# define AFMT_S8 0x00000040
-# define AFMT_U16_LE 0x00000080 /* Little endian U16 */
-# define AFMT_U16_BE 0x00000100 /* Big endian U16 */
-# define AFMT_MPEG 0x00000200 /* MPEG (2) audio */
-# define AFMT_AC3 0x00000400 /* Dolby Digital AC3 */
-
-/*
- * Buffer status queries.
- */
-typedef struct audio_buf_info {
- int fragments; /* # of available fragments (partially usend ones not counted) */
- int fragstotal; /* Total # of fragments allocated */
- int fragsize; /* Size of a fragment in bytes */
-
- int bytes; /* Available space in bytes (includes partially used fragments) */
- /* Note! 'bytes' could be more than fragments*fragsize */
- } audio_buf_info;
-
-#define SNDCTL_DSP_GETOSPACE _SIOR ('P',12, audio_buf_info)
-#define SNDCTL_DSP_GETISPACE _SIOR ('P',13, audio_buf_info)
-#define SNDCTL_DSP_NONBLOCK _SIO ('P',14)
-#define SNDCTL_DSP_GETCAPS _SIOR ('P',15, int)
-# define DSP_CAP_REVISION 0x000000ff /* Bits for revision level (0 to 255) */
-# define DSP_CAP_DUPLEX 0x00000100 /* Full duplex record/playback */
-# define DSP_CAP_REALTIME 0x00000200 /* Real time capability */
-# define DSP_CAP_BATCH 0x00000400 /* Device has some kind of */
- /* internal buffers which may */
- /* cause some delays and */
- /* decrease precision of timing */
-# define DSP_CAP_COPROC 0x00000800 /* Has a coprocessor */
- /* Sometimes it's a DSP */
- /* but usually not */
-# define DSP_CAP_TRIGGER 0x00001000 /* Supports SETTRIGGER */
-# define DSP_CAP_MMAP 0x00002000 /* Supports mmap() */
-# define DSP_CAP_MULTI 0x00004000 /* support multiple open */
-# define DSP_CAP_BIND 0x00008000 /* channel binding to front/rear/cneter/lfe */
-
-
-#define SNDCTL_DSP_GETTRIGGER _SIOR ('P',16, int)
-#define SNDCTL_DSP_SETTRIGGER _SIOW ('P',16, int)
-# define PCM_ENABLE_INPUT 0x00000001
-# define PCM_ENABLE_OUTPUT 0x00000002
-
-typedef struct count_info {
- int bytes; /* Total # of bytes processed */
- int blocks; /* # of fragment transitions since last time */
- int ptr; /* Current DMA pointer value */
- } count_info;
-
-#define SNDCTL_DSP_GETIPTR _SIOR ('P',17, count_info)
-#define SNDCTL_DSP_GETOPTR _SIOR ('P',18, count_info)
-
-typedef struct buffmem_desc {
- unsigned *buffer;
- int size;
- } buffmem_desc;
-#define SNDCTL_DSP_MAPINBUF _SIOR ('P', 19, buffmem_desc)
-#define SNDCTL_DSP_MAPOUTBUF _SIOR ('P', 20, buffmem_desc)
-#define SNDCTL_DSP_SETSYNCRO _SIO ('P', 21)
-#define SNDCTL_DSP_SETDUPLEX _SIO ('P', 22)
-#define SNDCTL_DSP_GETODELAY _SIOR ('P', 23, int)
-
-#define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int)
-#define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int)
-# define DSP_BIND_QUERY 0x00000000
-# define DSP_BIND_FRONT 0x00000001
-# define DSP_BIND_SURR 0x00000002
-# define DSP_BIND_CENTER_LFE 0x00000004
-# define DSP_BIND_HANDSET 0x00000008
-# define DSP_BIND_MIC 0x00000010
-# define DSP_BIND_MODEM1 0x00000020
-# define DSP_BIND_MODEM2 0x00000040
-# define DSP_BIND_I2S 0x00000080
-# define DSP_BIND_SPDIF 0x00000100
-
-#define SNDCTL_DSP_SETSPDIF _SIOW ('P', 66, int)
-#define SNDCTL_DSP_GETSPDIF _SIOR ('P', 67, int)
-# define SPDIF_PRO 0x0001
-# define SPDIF_N_AUD 0x0002
-# define SPDIF_COPY 0x0004
-# define SPDIF_PRE 0x0008
-# define SPDIF_CC 0x07f0
-# define SPDIF_L 0x0800
-# define SPDIF_DRS 0x4000
-# define SPDIF_V 0x8000
-
-/*
- * Application's profile defines the way how playback underrun situations should be handled.
- *
- * APF_NORMAL (the default) and APF_NETWORK make the driver to cleanup the
- * playback buffer whenever an underrun occurs. This consumes some time
- * prevents looping the existing buffer.
- * APF_CPUINTENS is intended to be set by CPU intensive applications which
- * are likely to run out of time occasionally. In this mode the buffer cleanup is
- * disabled which saves CPU time but also let's the previous buffer content to
- * be played during the "pause" after the underrun.
- */
-#define SNDCTL_DSP_PROFILE _SIOW ('P', 23, int)
-#define APF_NORMAL 0 /* Normal applications */
-#define APF_NETWORK 1 /* Underruns probably caused by an "external" delay */
-#define APF_CPUINTENS 2 /* Underruns probably caused by "overheating" the CPU */
-
-#define SOUND_PCM_READ_RATE _SIOR ('P', 2, int)
-#define SOUND_PCM_READ_CHANNELS _SIOR ('P', 6, int)
-#define SOUND_PCM_READ_BITS _SIOR ('P', 5, int)
-#define SOUND_PCM_READ_FILTER _SIOR ('P', 7, int)
-
-/* Some alias names */
-#define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT
-#define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED
-#define SOUND_PCM_POST SNDCTL_DSP_POST
-#define SOUND_PCM_RESET SNDCTL_DSP_RESET
-#define SOUND_PCM_SYNC SNDCTL_DSP_SYNC
-#define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE
-#define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT
-#define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS
-#define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT
-#define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE
-#define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE
-#define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK
-#define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS
-#define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER
-#define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER
-#define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO
-#define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR
-#define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR
-#define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF
-#define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF
-
-/*
- * ioctl calls to be used in communication with coprocessors and
- * DSP chips.
- */
-
-typedef struct copr_buffer {
- int command; /* Set to 0 if not used */
- int flags;
-#define CPF_NONE 0x0000
-#define CPF_FIRST 0x0001 /* First block */
-#define CPF_LAST 0x0002 /* Last block */
- int len;
- int offs; /* If required by the device (0 if not used) */
-
- unsigned char data[4000]; /* NOTE! 4000 is not 4k */
- } copr_buffer;
-
-typedef struct copr_debug_buf {
- int command; /* Used internally. Set to 0 */
- int parm1;
- int parm2;
- int flags;
- int len; /* Length of data in bytes */
- } copr_debug_buf;
-
-typedef struct copr_msg {
- int len;
- unsigned char data[4000];
- } copr_msg;
-
-#define SNDCTL_COPR_RESET _SIO ('C', 0)
-#define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer)
-#define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf)
-#define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf)
-#define SNDCTL_COPR_WDATA _SIOW ('C', 4, copr_debug_buf)
-#define SNDCTL_COPR_WCODE _SIOW ('C', 5, copr_debug_buf)
-#define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf)
-#define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf)
-#define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg)
-#define SNDCTL_COPR_RCVMSG _SIOR ('C', 9, copr_msg)
-
-/*********************************************
- * IOCTL commands for /dev/mixer
- */
-
-/*
- * Mixer devices
- *
- * There can be up to 20 different analog mixer channels. The
- * SOUND_MIXER_NRDEVICES gives the currently supported maximum.
- * The SOUND_MIXER_READ_DEVMASK returns a bitmask which tells
- * the devices supported by the particular mixer.
- */
-
-#define SOUND_MIXER_NRDEVICES 25
-#define SOUND_MIXER_VOLUME 0
-#define SOUND_MIXER_BASS 1
-#define SOUND_MIXER_TREBLE 2
-#define SOUND_MIXER_SYNTH 3
-#define SOUND_MIXER_PCM 4
-#define SOUND_MIXER_SPEAKER 5
-#define SOUND_MIXER_LINE 6
-#define SOUND_MIXER_MIC 7
-#define SOUND_MIXER_CD 8
-#define SOUND_MIXER_IMIX 9 /* Recording monitor */
-#define SOUND_MIXER_ALTPCM 10
-#define SOUND_MIXER_RECLEV 11 /* Recording level */
-#define SOUND_MIXER_IGAIN 12 /* Input gain */
-#define SOUND_MIXER_OGAIN 13 /* Output gain */
-/*
- * The AD1848 codec and compatibles have three line level inputs
- * (line, aux1 and aux2). Since each card manufacturer have assigned
- * different meanings to these inputs, it's inpractical to assign
- * specific meanings (line, cd, synth etc.) to them.
- */
-#define SOUND_MIXER_LINE1 14 /* Input source 1 (aux1) */
-#define SOUND_MIXER_LINE2 15 /* Input source 2 (aux2) */
-#define SOUND_MIXER_LINE3 16 /* Input source 3 (line) */
-#define SOUND_MIXER_DIGITAL1 17 /* Digital (input) 1 */
-#define SOUND_MIXER_DIGITAL2 18 /* Digital (input) 2 */
-#define SOUND_MIXER_DIGITAL3 19 /* Digital (input) 3 */
-#define SOUND_MIXER_PHONEIN 20 /* Phone input */
-#define SOUND_MIXER_PHONEOUT 21 /* Phone output */
-#define SOUND_MIXER_VIDEO 22 /* Video/TV (audio) in */
-#define SOUND_MIXER_RADIO 23 /* Radio in */
-#define SOUND_MIXER_MONITOR 24 /* Monitor (usually mic) volume */
-
-/* Some on/off settings (SOUND_SPECIAL_MIN - SOUND_SPECIAL_MAX) */
-/* Not counted to SOUND_MIXER_NRDEVICES, but use the same number space */
-#define SOUND_ONOFF_MIN 28
-#define SOUND_ONOFF_MAX 30
-
-/* Note! Number 31 cannot be used since the sign bit is reserved */
-#define SOUND_MIXER_NONE 31
-
-/*
- * The following unsupported macros are no longer functional.
- * Use SOUND_MIXER_PRIVATE# macros in future.
- */
-#define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE
-#define SOUND_MIXER_MUTE SOUND_MIXER_NONE
-#define SOUND_MIXER_LOUD SOUND_MIXER_NONE
-
-
-#define SOUND_DEVICE_LABELS {"Vol ", "Bass ", "Trebl", "Synth", "Pcm ", "Spkr ", "Line ", \
- "Mic ", "CD ", "Mix ", "Pcm2 ", "Rec ", "IGain", "OGain", \
- "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", \
- "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor"}
-
-#define SOUND_DEVICE_NAMES {"vol", "bass", "treble", "synth", "pcm", "speaker", "line", \
- "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain", \
- "line1", "line2", "line3", "dig1", "dig2", "dig3", \
- "phin", "phout", "video", "radio", "monitor"}
-
-/* Device bitmask identifiers */
-
-#define SOUND_MIXER_RECSRC 0xff /* Arg contains a bit for each recording source */
-#define SOUND_MIXER_DEVMASK 0xfe /* Arg contains a bit for each supported device */
-#define SOUND_MIXER_RECMASK 0xfd /* Arg contains a bit for each supported recording source */
-#define SOUND_MIXER_CAPS 0xfc
-# define SOUND_CAP_EXCL_INPUT 0x00000001 /* Only one recording source at a time */
-#define SOUND_MIXER_STEREODEVS 0xfb /* Mixer channels supporting stereo */
-#define SOUND_MIXER_OUTSRC 0xfa /* Arg contains a bit for each input source to output */
-#define SOUND_MIXER_OUTMASK 0xf9 /* Arg contains a bit for each supported input source to output */
-
-/* Device mask bits */
-
-#define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME)
-#define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS)
-#define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE)
-#define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH)
-#define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM)
-#define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER)
-#define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE)
-#define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC)
-#define SOUND_MASK_CD (1 << SOUND_MIXER_CD)
-#define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX)
-#define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM)
-#define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV)
-#define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN)
-#define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN)
-#define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1)
-#define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2)
-#define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3)
-#define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1)
-#define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2)
-#define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3)
-#define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN)
-#define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT)
-#define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO)
-#define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO)
-#define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR)
-
-/* Obsolete macros */
-#define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE)
-#define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE)
-#define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD)
-
-#define MIXER_READ(dev) _SIOR('M', dev, int)
-#define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
-#define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS)
-#define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE)
-#define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH)
-#define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM)
-#define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER)
-#define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE)
-#define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC)
-#define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD)
-#define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX)
-#define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM)
-#define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV)
-#define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN)
-#define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN)
-#define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1)
-#define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2)
-#define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3)
-
-/* Obsolete macros */
-#define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE)
-#define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE)
-#define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD)
-
-#define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC)
-#define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK)
-#define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK)
-#define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS)
-#define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS)
-
-#define MIXER_WRITE(dev) _SIOWR('M', dev, int)
-#define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME)
-#define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS)
-#define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE)
-#define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH)
-#define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM)
-#define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER)
-#define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE)
-#define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC)
-#define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD)
-#define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX)
-#define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM)
-#define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV)
-#define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN)
-#define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN)
-#define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1)
-#define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2)
-#define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3)
-
-/* Obsolete macros */
-#define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE)
-#define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE)
-#define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD)
-
-#define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC)
-
-typedef struct mixer_info
-{
- char id[16];
- char name[32];
- int modify_counter;
- int fillers[10];
-} mixer_info;
-
-typedef struct _old_mixer_info /* Obsolete */
-{
- char id[16];
- char name[32];
-} _old_mixer_info;
-
-#define SOUND_MIXER_INFO _SIOR ('M', 101, mixer_info)
-#define SOUND_OLD_MIXER_INFO _SIOR ('M', 101, _old_mixer_info)
-
-/*
- * A mechanism for accessing "proprietary" mixer features. This method
- * permits passing 128 bytes of arbitrary data between a mixer application
- * and the mixer driver. Interpretation of the record is defined by
- * the particular mixer driver.
- */
-typedef unsigned char mixer_record[128];
-
-#define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record)
-
-/*
- * Two ioctls for special souncard function
- */
-#define SOUND_MIXER_AGC _SIOWR('M', 103, int)
-#define SOUND_MIXER_3DSE _SIOWR('M', 104, int)
-
-/*
- * The SOUND_MIXER_PRIVATE# commands can be redefined by low level drivers.
- * These features can be used when accessing device specific features.
- */
-#define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int)
-#define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int)
-#define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int)
-#define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int)
-#define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int)
-
-/*
- * SOUND_MIXER_GETLEVELS and SOUND_MIXER_SETLEVELS calls can be used
- * for querying current mixer settings from the driver and for loading
- * default volume settings _prior_ activating the mixer (loading
- * doesn't affect current state of the mixer hardware). These calls
- * are for internal use only.
- */
-
-typedef struct mixer_vol_table {
- int num; /* Index to volume table */
- char name[32];
- int levels[32];
-} mixer_vol_table;
-
-#define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table)
-#define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table)
-
-/*
- * An ioctl for identifying the driver version. It will return value
- * of the SOUND_VERSION macro used when compiling the driver.
- * This call was introduced in OSS version 3.6 and it will not work
- * with earlier versions (returns EINVAL).
- */
-#define OSS_GETVERSION _SIOR ('M', 118, int)
-
-/*
- * Level 2 event types for /dev/sequencer
- */
-
-/*
- * The 4 most significant bits of byte 0 specify the class of
- * the event:
- *
- * 0x8X = system level events,
- * 0x9X = device/port specific events, event[1] = device/port,
- * The last 4 bits give the subtype:
- * 0x02 = Channel event (event[3] = chn).
- * 0x01 = note event (event[4] = note).
- * (0x01 is not used alone but always with bit 0x02).
- * event[2] = MIDI message code (0x80=note off etc.)
- *
- */
-
-#define EV_SEQ_LOCAL 0x80
-#define EV_TIMING 0x81
-#define EV_CHN_COMMON 0x92
-#define EV_CHN_VOICE 0x93
-#define EV_SYSEX 0x94
-/*
- * Event types 200 to 220 are reserved for application use.
- * These numbers will not be used by the driver.
- */
-
-/*
- * Events for event type EV_CHN_VOICE
- */
-
-#define MIDI_NOTEOFF 0x80
-#define MIDI_NOTEON 0x90
-#define MIDI_KEY_PRESSURE 0xA0
-
-/*
- * Events for event type EV_CHN_COMMON
- */
-
-#define MIDI_CTL_CHANGE 0xB0
-#define MIDI_PGM_CHANGE 0xC0
-#define MIDI_CHN_PRESSURE 0xD0
-#define MIDI_PITCH_BEND 0xE0
-
-#define MIDI_SYSTEM_PREFIX 0xF0
-
-/*
- * Timer event types
- */
-#define TMR_WAIT_REL 1 /* Time relative to the prev time */
-#define TMR_WAIT_ABS 2 /* Absolute time since TMR_START */
-#define TMR_STOP 3
-#define TMR_START 4
-#define TMR_CONTINUE 5
-#define TMR_TEMPO 6
-#define TMR_ECHO 8
-#define TMR_CLOCK 9 /* MIDI clock */
-#define TMR_SPP 10 /* Song position pointer */
-#define TMR_TIMESIG 11 /* Time signature */
-
-/*
- * Local event types
- */
-#define LOCL_STARTAUDIO 1
-
-#if (!defined(__KERNEL__) && !defined(KERNEL) && !defined(INKERNEL) && !defined(_KERNEL)) || defined(USE_SEQ_MACROS)
-/*
- * Some convenience macros to simplify programming of the
- * /dev/sequencer interface
- *
- * These macros define the API which should be used when possible.
- */
-#define SEQ_DECLAREBUF() SEQ_USE_EXTBUF()
-
-void seqbuf_dump(void); /* This function must be provided by programs */
-
-extern int OSS_init(int seqfd, int buflen);
-extern void OSS_seqbuf_dump(int fd, unsigned char *buf, int buflen);
-extern void OSS_seq_advbuf(int len, int fd, unsigned char *buf, int buflen);
-extern void OSS_seq_needbuf(int len, int fd, unsigned char *buf, int buflen);
-extern void OSS_patch_caching(int dev, int chn, int patch,
- int fd, unsigned char *buf, int buflen);
-extern void OSS_drum_caching(int dev, int chn, int patch,
- int fd, unsigned char *buf, int buflen);
-extern void OSS_write_patch(int fd, unsigned char *buf, int len);
-extern int OSS_write_patch2(int fd, unsigned char *buf, int len);
-
-#define SEQ_PM_DEFINES int __foo_bar___
-#ifdef OSSLIB
-# define SEQ_USE_EXTBUF() \
- extern unsigned char *_seqbuf; \
- extern int _seqbuflen;extern int _seqbufptr
-# define SEQ_DEFINEBUF(len) SEQ_USE_EXTBUF();static int _requested_seqbuflen=len
-# define _SEQ_ADVBUF(len) OSS_seq_advbuf(len, seqfd, _seqbuf, _seqbuflen)
-# define _SEQ_NEEDBUF(len) OSS_seq_needbuf(len, seqfd, _seqbuf, _seqbuflen)
-# define SEQ_DUMPBUF() OSS_seqbuf_dump(seqfd, _seqbuf, _seqbuflen)
-
-# define SEQ_LOAD_GMINSTR(dev, instr) \
- OSS_patch_caching(dev, -1, instr, seqfd, _seqbuf, _seqbuflen)
-# define SEQ_LOAD_GMDRUM(dev, drum) \
- OSS_drum_caching(dev, -1, drum, seqfd, _seqbuf, _seqbuflen)
-#else /* !OSSLIB */
-
-# define SEQ_LOAD_GMINSTR(dev, instr)
-# define SEQ_LOAD_GMDRUM(dev, drum)
-
-# define SEQ_USE_EXTBUF() \
- extern unsigned char _seqbuf[]; \
- extern int _seqbuflen;extern int _seqbufptr
-
-#ifndef USE_SIMPLE_MACROS
-/* Sample seqbuf_dump() implementation:
- *
- * SEQ_DEFINEBUF (2048); -- Defines a buffer for 2048 bytes
- *
- * int seqfd; -- The file descriptor for /dev/sequencer.
- *
- * void
- * seqbuf_dump ()
- * {
- * if (_seqbufptr)
- * if (write (seqfd, _seqbuf, _seqbufptr) == -1)
- * {
- * perror ("write /dev/sequencer");
- * exit (-1);
- * }
- * _seqbufptr = 0;
- * }
- */
-
-#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len;int _seqbufptr = 0
-#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump()
-#define _SEQ_ADVBUF(len) _seqbufptr += len
-#define SEQ_DUMPBUF seqbuf_dump
-#else
-/*
- * This variation of the sequencer macros is used just to format one event
- * using fixed buffer.
- *
- * The program using the macro library must define the following macros before
- * using this library.
- *
- * #define _seqbuf name of the buffer (unsigned char[])
- * #define _SEQ_ADVBUF(len) If the applic needs to know the exact
- * size of the event, this macro can be used.
- * Otherwise this must be defined as empty.
- * #define _seqbufptr Define the name of index variable or 0 if
- * not required.
- */
-#define _SEQ_NEEDBUF(len) /* empty */
-#endif
-#endif /* !OSSLIB */
-
-#define SEQ_VOLUME_MODE(dev, mode) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
- _seqbuf[_seqbufptr+1] = SEQ_VOLMODE;\
- _seqbuf[_seqbufptr+2] = (dev);\
- _seqbuf[_seqbufptr+3] = (mode);\
- _seqbuf[_seqbufptr+4] = 0;\
- _seqbuf[_seqbufptr+5] = 0;\
- _seqbuf[_seqbufptr+6] = 0;\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-
-/*
- * Midi voice messages
- */
-
-#define _CHN_VOICE(dev, event, chn, note, parm) \
- {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_CHN_VOICE;\
- _seqbuf[_seqbufptr+1] = (dev);\
- _seqbuf[_seqbufptr+2] = (event);\
- _seqbuf[_seqbufptr+3] = (chn);\
- _seqbuf[_seqbufptr+4] = (note);\
- _seqbuf[_seqbufptr+5] = (parm);\
- _seqbuf[_seqbufptr+6] = (0);\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-
-#define SEQ_START_NOTE(dev, chn, note, vol) \
- _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol)
-
-#define SEQ_STOP_NOTE(dev, chn, note, vol) \
- _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol)
-
-#define SEQ_KEY_PRESSURE(dev, chn, note, pressure) \
- _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure)
-
-/*
- * Midi channel messages
- */
-
-#define _CHN_COMMON(dev, event, chn, p1, p2, w14) \
- {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_CHN_COMMON;\
- _seqbuf[_seqbufptr+1] = (dev);\
- _seqbuf[_seqbufptr+2] = (event);\
- _seqbuf[_seqbufptr+3] = (chn);\
- _seqbuf[_seqbufptr+4] = (p1);\
- _seqbuf[_seqbufptr+5] = (p2);\
- *(short *)&_seqbuf[_seqbufptr+6] = (w14);\
- _SEQ_ADVBUF(8);}
-/*
- * SEQ_SYSEX permits sending of sysex messages. (It may look that it permits
- * sending any MIDI bytes but it's absolutely not possible. Trying to do
- * so _will_ cause problems with MPU401 intelligent mode).
- *
- * Sysex messages are sent in blocks of 1 to 6 bytes. Longer messages must be
- * sent by calling SEQ_SYSEX() several times (there must be no other events
- * between them). First sysex fragment must have 0xf0 in the first byte
- * and the last byte (buf[len-1] of the last fragment must be 0xf7. No byte
- * between these sysex start and end markers cannot be larger than 0x7f. Also
- * lengths of each fragments (except the last one) must be 6.
- *
- * Breaking the above rules may work with some MIDI ports but is likely to
- * cause fatal problems with some other devices (such as MPU401).
- */
-#define SEQ_SYSEX(dev, buf, len) \
- {int ii, ll=(len); \
- unsigned char *bufp=buf;\
- if (ll>6)ll=6;\
- _SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_SYSEX;\
- _seqbuf[_seqbufptr+1] = (dev);\
- for(ii=0;ii<ll;ii++)\
- _seqbuf[_seqbufptr+ii+2] = bufp[ii];\
- for(ii=ll;ii<6;ii++)\
- _seqbuf[_seqbufptr+ii+2] = 0xff;\
- _SEQ_ADVBUF(8);}
-
-#define SEQ_CHN_PRESSURE(dev, chn, pressure) \
- _CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0)
-
-#define SEQ_SET_PATCH SEQ_PGM_CHANGE
-#ifdef OSSLIB
-# define SEQ_PGM_CHANGE(dev, chn, patch) \
- {OSS_patch_caching(dev, chn, patch, seqfd, _seqbuf, _seqbuflen); \
- _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0);}
-#else
-# define SEQ_PGM_CHANGE(dev, chn, patch) \
- _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0)
-#endif
-
-#define SEQ_CONTROL(dev, chn, controller, value) \
- _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value)
-
-#define SEQ_BENDER(dev, chn, value) \
- _CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value)
-
-
-#define SEQ_V2_X_CONTROL(dev, voice, controller, value) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
- _seqbuf[_seqbufptr+1] = SEQ_CONTROLLER;\
- _seqbuf[_seqbufptr+2] = (dev);\
- _seqbuf[_seqbufptr+3] = (voice);\
- _seqbuf[_seqbufptr+4] = (controller);\
- _seqbuf[_seqbufptr+5] = ((value)&0xff);\
- _seqbuf[_seqbufptr+6] = ((value>>8)&0xff);\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-/*
- * The following 5 macros are incorrectly implemented and obsolete.
- * Use SEQ_BENDER and SEQ_CONTROL (with proper controller) instead.
- */
-#define SEQ_PITCHBEND(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value)
-#define SEQ_BENDER_RANGE(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value)
-#define SEQ_EXPRESSION(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value*128)
-#define SEQ_MAIN_VOLUME(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value*16383)/100)
-#define SEQ_PANNING(dev, voice, pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos+128) / 2)
-
-/*
- * Timing and syncronization macros
- */
-
-#define _TIMER_EVENT(ev, parm) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr+0] = EV_TIMING; \
- _seqbuf[_seqbufptr+1] = (ev); \
- _seqbuf[_seqbufptr+2] = 0;\
- _seqbuf[_seqbufptr+3] = 0;\
- *(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \
- _SEQ_ADVBUF(8);}
-
-#define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0)
-#define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0)
-#define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0)
-#define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks)
-#define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks)
-#define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key)
-#define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value)
-#define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos)
-#define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig)
-
-/*
- * Local control events
- */
-
-#define _LOCAL_EVENT(ev, parm) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr+0] = EV_SEQ_LOCAL; \
- _seqbuf[_seqbufptr+1] = (ev); \
- _seqbuf[_seqbufptr+2] = 0;\
- _seqbuf[_seqbufptr+3] = 0;\
- *(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \
- _SEQ_ADVBUF(8);}
-
-#define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask)
-/*
- * Events for the level 1 interface only
- */
-
-#define SEQ_MIDIOUT(device, byte) {_SEQ_NEEDBUF(4);\
- _seqbuf[_seqbufptr] = SEQ_MIDIPUTC;\
- _seqbuf[_seqbufptr+1] = (byte);\
- _seqbuf[_seqbufptr+2] = (device);\
- _seqbuf[_seqbufptr+3] = 0;\
- _SEQ_ADVBUF(4);}
-
-/*
- * Patch loading.
- */
-#ifdef OSSLIB
-# define SEQ_WRPATCH(patchx, len) \
- OSS_write_patch(seqfd, (char*)(patchx), len)
-# define SEQ_WRPATCH2(patchx, len) \
- OSS_write_patch2(seqfd, (char*)(patchx), len)
-#else
-# define SEQ_WRPATCH(patchx, len) \
- {if (_seqbufptr) SEQ_DUMPBUF();\
- if (write(seqfd, (char*)(patchx), len)==-1) \
- perror("Write patch: /dev/sequencer");}
-# define SEQ_WRPATCH2(patchx, len) \
- (SEQ_DUMPBUF(), write(seqfd, (char*)(patchx), len))
-#endif
-
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h b/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h
deleted file mode 100644
index 07b502465..000000000
--- a/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h
+++ /dev/null
@@ -1,172 +0,0 @@
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 8
-#define _IOC_RESVBITS 5
-#define _IOC_DIRBITS 3
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_RESVMASK ((1 << _IOC_RESVBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT + _IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT + _IOC_TYPEBITS)
-#define _IOC_RESVSHIFT (_IOC_SIZESHIFT + _IOC_SIZEBITS)
-#define _IOC_DIRSHIFT (_IOC_RESVSHIFT + _IOC_RESVBITS)
-
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the PCMCIA... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-/* Big T */
-#define TCGETA _IOR('T', 1, struct termio)
-#define TCSETA _IOW('T', 2, struct termio)
-#define TCSETAW _IOW('T', 3, struct termio)
-#define TCSETAF _IOW('T', 4, struct termio)
-#define TCSBRK _IO('T', 5)
-#define TCXONC _IO('T', 6)
-#define TCFLSH _IO('T', 7)
-#define TCGETS _IOR('T', 8, struct termios)
-#define TCSETS _IOW('T', 9, struct termios)
-#define TCSETSW _IOW('T', 10, struct termios)
-#define TCSETSF _IOW('T', 11, struct termios)
-
-/* Note that all the ioctls that are not available in Linux have a
- * double underscore on the front to: a) avoid some programs to
- * thing we support some ioctls under Linux (autoconfiguration stuff)
- */
-/* Little t */
-#define TIOCGETD _IOR('t', 0, int)
-#define TIOCSETD _IOW('t', 1, int)
-#define __TIOCHPCL _IO('t', 2) /* SunOS Specific */
-#define __TIOCMODG _IOR('t', 3, int) /* SunOS Specific */
-#define __TIOCMODS _IOW('t', 4, int) /* SunOS Specific */
-#define __TIOCGETP _IOR('t', 8, struct sgttyb) /* SunOS Specific */
-#define __TIOCSETP _IOW('t', 9, struct sgttyb) /* SunOS Specific */
-#define __TIOCSETN _IOW('t', 10, struct sgttyb) /* SunOS Specific */
-#define TIOCEXCL _IO('t', 13)
-#define TIOCNXCL _IO('t', 14)
-#define __TIOCFLUSH _IOW('t', 16, int) /* SunOS Specific */
-#define __TIOCSETC _IOW('t', 17, struct tchars) /* SunOS Specific */
-#define __TIOCGETC _IOR('t', 18, struct tchars) /* SunOS Specific */
-#define __TIOCTCNTL _IOW('t', 32, int) /* SunOS Specific */
-#define __TIOCSIGNAL _IOW('t', 33, int) /* SunOS Specific */
-#define __TIOCSETX _IOW('t', 34, int) /* SunOS Specific */
-#define __TIOCGETX _IOR('t', 35, int) /* SunOS Specific */
-#define TIOCCONS _IO('t', 36)
-#define __TIOCSSIZE _IOW('t', 37, struct sunos_ttysize) /* SunOS Specific */
-#define __TIOCGSIZE _IOR('t', 38, struct sunos_ttysize) /* SunOS Specific */
-#define TIOCGSOFTCAR _IOR('t', 100, int)
-#define TIOCSSOFTCAR _IOW('t', 101, int)
-#define __TIOCUCNTL _IOW('t', 102, int) /* SunOS Specific */
-#define TIOCSWINSZ _IOW('t', 103, struct winsize)
-#define TIOCGWINSZ _IOR('t', 104, struct winsize)
-#define __TIOCREMOTE _IOW('t', 105, int) /* SunOS Specific */
-#define TIOCMGET _IOR('t', 106, int)
-#define TIOCMBIC _IOW('t', 107, int)
-#define TIOCMBIS _IOW('t', 108, int)
-#define TIOCMSET _IOW('t', 109, int)
-#define __TIOCSTART _IO('t', 110) /* SunOS Specific */
-#define __TIOCSTOP _IO('t', 111) /* SunOS Specific */
-#define TIOCPKT _IOW('t', 112, int)
-#define TIOCNOTTY _IO('t', 113)
-#define TIOCSTI _IOW('t', 114, char)
-#define TIOCOUTQ _IOR('t', 115, int)
-#define __TIOCGLTC _IOR('t', 116, struct ltchars) /* SunOS Specific */
-#define __TIOCSLTC _IOW('t', 117, struct ltchars) /* SunOS Specific */
-/* 118 is the non-posix setpgrp tty ioctl */
-/* 119 is the non-posix getpgrp tty ioctl */
-#define __TIOCCDTR _IO('t', 120) /* SunOS Specific */
-#define __TIOCSDTR _IO('t', 121) /* SunOS Specific */
-#define TIOCCBRK _IO('t', 122)
-#define TIOCSBRK _IO('t', 123)
-#define __TIOCLGET _IOW('t', 124, int) /* SunOS Specific */
-#define __TIOCLSET _IOW('t', 125, int) /* SunOS Specific */
-#define __TIOCLBIC _IOW('t', 126, int) /* SunOS Specific */
-#define __TIOCLBIS _IOW('t', 127, int) /* SunOS Specific */
-#define __TIOCISPACE _IOR('t', 128, int) /* SunOS Specific */
-#define __TIOCISIZE _IOR('t', 129, int) /* SunOS Specific */
-#define TIOCSPGRP _IOW('t', 130, int)
-#define TIOCGPGRP _IOR('t', 131, int)
-#define TIOCSCTTY _IO('t', 132)
-#define TIOCGSID _IOR('t', 133, int)
-/* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */
-#define TIOCGPTN _IOR('t', 134, unsigned int) /* Get Pty Number */
-#define TIOCSPTLCK _IOW('t', 135, int) /* Lock/unlock PTY */
-
-/* Little f */
-#define FIOCLEX _IO('f', 1)
-#define FIONCLEX _IO('f', 2)
-#define FIOASYNC _IOW('f', 125, int)
-#define FIONBIO _IOW('f', 126, int)
-#define FIONREAD _IOR('f', 127, int)
-#define TIOCINQ FIONREAD
-#define FIOQSIZE _IOR('f', 128, loff_t)
-
-/* SCARY Rutgers local SunOS kernel hackery, perhaps I will support it
- * someday. This is completely bogus, I know...
- */
-#define __TCGETSTAT _IO('T', 200) /* Rutgers specific */
-#define __TCSETSTAT _IO('T', 201) /* Rutgers specific */
-
-/* Linux specific, no SunOS equivalent. */
-#define TIOCLINUX 0x541C
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TCSBRKP 0x5425
-#define TIOCTTYGSTRUCT 0x5426
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-#define TIOCMIWAIT 0x545C /* Wait input */
-#define TIOCGICOUNT 0x545D /* Read serial port inline interrupt counts */
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp */
-
diff --git a/mdk-stage1/dietlibc/include/sys/stat.h b/mdk-stage1/dietlibc/include/sys/stat.h
deleted file mode 100644
index d31cbd1f2..000000000
--- a/mdk-stage1/dietlibc/include/sys/stat.h
+++ /dev/null
@@ -1,516 +0,0 @@
-#ifndef _SYS_STAT_H
-#define _SYS_STAT_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <endian.h>
-
-#if defined(__i386__)
-struct stat {
- unsigned short st_dev;
- unsigned short __pad1;
- unsigned long st_ino;
- unsigned short st_mode;
- unsigned short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- unsigned short __pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- signed long st_atime;
- unsigned long __unused1;
- signed long st_mtime;
- unsigned long __unused2;
- signed long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-struct stat64 {
- unsigned short st_dev;
- unsigned char __pad0[10];
-
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
-
- unsigned int st_mode;
- unsigned int st_nlink;
-
- unsigned long st_uid;
- unsigned long st_gid;
-
- unsigned short st_rdev;
- unsigned char __pad3[10];
-
-__extension__ long long st_size;
- unsigned long st_blksize;
-
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
- unsigned long __pad4; /* future possible st_blocks high bits */
-
- unsigned long st_atime;
- unsigned long __pad5;
-
- signed long st_mtime;
- unsigned long __pad6;
-
- unsigned long st_ctime;
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
-
-__extension__ unsigned long long st_ino;
-};
-#elif defined(__sparc__)
-struct stat {
- unsigned short st_dev;
- unsigned long st_ino;
- unsigned short st_mode;
- short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- long st_size;
- long st_atime;
- unsigned long __unused1;
- long st_mtime;
- unsigned long __unused2;
- long st_ctime;
- unsigned long __unused3;
- long st_blksize;
- long st_blocks;
- unsigned long __unused4[2];
-};
-
-struct stat64 {
- unsigned char __pad0[6];
- unsigned short st_dev;
-
-__extension__ unsigned long long st_ino;
-
- unsigned int st_mode;
- unsigned int st_nlink;
-
- unsigned int st_uid;
- unsigned int st_gid;
-
- unsigned char __pad2[6];
- unsigned short st_rdev;
-
- unsigned char __pad3[8];
-
-__extension__ long long st_size;
- unsigned int st_blksize;
-
- unsigned char __pad4[8];
- unsigned int st_blocks;
-
- signed int st_atime;
- unsigned int __unused1;
-
- signed int st_mtime;
- unsigned int __unused2;
-
- signed int st_ctime;
- unsigned int __unused3;
-
- unsigned int __unused4;
- unsigned int __unused5;
-};
-#elif defined(__alpha__)
-struct stat {
- unsigned int st_dev;
- unsigned int st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int st_rdev;
- long st_size;
- signed long st_atime;
- signed long st_mtime;
- signed long st_ctime;
- unsigned int st_blksize;
- int st_blocks;
- unsigned int st_flags;
- unsigned int st_gen;
-};
-#elif defined(__mips__)
-struct stat {
- unsigned int st_dev;
- long st_pad1[3]; /* Reserved for network id */
- ino_t st_ino;
- unsigned int st_mode;
- int st_nlink;
- int st_uid;
- int st_gid;
- unsigned int st_rdev;
- long st_pad2[2];
- long st_size;
- long st_pad3;
- /*
- * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
- * but we don't have it under Linux.
- */
- time_t st_atime;
- long reserved0;
- time_t st_mtime;
- long reserved1;
- time_t st_ctime;
- long reserved2;
- long st_blksize;
- long st_blocks;
- char st_fstype[16]; /* Filesystem type name */
- long st_pad4[8];
- /* Linux specific fields */
- unsigned int st_flags;
- unsigned int st_gen;
-};
-
-struct stat64 {
- unsigned long st_dev;
- unsigned long st_pad0[3]; /* Reserved for st_dev expansion */
-__extension__ unsigned long long st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned long st_rdev;
- unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */
-__extension__ long long st_size;
- /*
- * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
- * but we don't have it under Linux.
- */
- time_t st_atime;
- unsigned long reserved0; /* Reserved for st_atime expansion */
- time_t st_mtime;
- unsigned long reserved1; /* Reserved for st_atime expansion */
- time_t st_ctime;
- unsigned long reserved2; /* Reserved for st_atime expansion */
- unsigned long st_blksize;
- unsigned long st_pad2;
-__extension__ long long st_blocks;
-};
-#elif defined(__powerpc__)
-struct stat {
- dev_t st_dev;
- ino_t st_ino;
- mode_t st_mode;
- nlink_t st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- off_t st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- signed long st_atime;
- unsigned long __unused1;
- signed long st_mtime;
- unsigned long __unused2;
- signed long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-/* This matches struct stat64 in glibc2.1.
- */
-struct stat64 {
-__extension__ unsigned long long st_dev; /* Device. */
-__extension__ unsigned long long st_ino; /* File serial number. */
- unsigned int st_mode; /* File mode. */
- unsigned int st_nlink; /* Link count. */
- unsigned int st_uid; /* User ID of the file's owner. */
- unsigned int st_gid; /* Group ID of the file's group. */
-__extension__ unsigned long long st_rdev; /* Device number, if device. */
- unsigned short int __pad2;
-__extension__ long long st_size; /* Size of file, in bytes. */
- long st_blksize; /* Optimal block size for I/O. */
-
-__extension__ long long st_blocks; /* Number 512-byte blocks allocated. */
- long st_atime; /* Time of last access. */
- unsigned long int __unused1;
- long st_mtime; /* Time of last modification. */
- unsigned long int __unused2;
- long st_ctime; /* Time of last status change. */
- unsigned long int __unused3;
- unsigned long int __unused4;
- unsigned long int __unused5;
-};
-#elif defined(__arm__)
-struct stat {
- unsigned short st_dev;
- unsigned short __pad1;
- unsigned long st_ino;
- unsigned short st_mode;
- unsigned short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- unsigned short __pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- signed long st_atime;
- unsigned long __unused1;
- signed long st_mtime;
- unsigned long __unused2;
- signed long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-/* This matches struct stat64 in glibc2.1, hence the absolutely
- * insane amounts of padding around dev_t's.
- */
-struct stat64 {
- unsigned short st_dev;
- unsigned char __pad0[10];
-
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
-
- unsigned long st_uid;
- unsigned long st_gid;
-
- unsigned short st_rdev;
- unsigned char __pad3[10];
-
-__extension__ long long st_size;
- unsigned long st_blksize;
-
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
- unsigned long __pad4; /* future possible st_blocks high bits */
-
- signed long st_atime;
- unsigned long __pad5;
-
- signed long st_mtime;
- unsigned long __pad6;
-
- signed long st_ctime;
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
-
-__extension__ unsigned long long st_ino;
-};
-#elif defined(__s390__)
-struct stat {
- unsigned short st_dev;
- unsigned short __pad1;
- unsigned long st_ino;
- unsigned short st_mode;
- unsigned short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- unsigned short __pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- unsigned long st_atime;
- unsigned long __unused1;
- unsigned long st_mtime;
- unsigned long __unused2;
- unsigned long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-struct stat64 {
- unsigned char __pad0[6];
- unsigned short st_dev;
- unsigned int __pad1;
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
- unsigned long st_uid;
- unsigned long st_gid;
- unsigned char __pad2[6];
- unsigned short st_rdev;
- unsigned int __pad3;
-__extension__ long long st_size;
- unsigned long st_blksize;
- unsigned char __pad4[4];
- unsigned long __pad5; /* future possible st_blocks high bits */
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
- unsigned long st_atime;
- unsigned long __pad6;
- unsigned long st_mtime;
- unsigned long __pad7;
- unsigned long st_ctime;
- unsigned long __pad8; /* will be high 32 bits of ctime someday */
-__extension__ unsigned long long st_ino;
-};
-
-#elif defined(__hppa__)
-
-struct stat {
- unsigned long long st_dev;
- unsigned short int _pad1;
- unsigned long st_ino;
- unsigned long st_mode;
- unsigned long st_nlink;
- unsigned long st_uid;
- unsigned long st_gid;
- unsigned long long st_rdev;
- unsigned short int _pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- unsigned long st_atime;
- unsigned long int unused1;
- unsigned long st_mtime;
- unsigned long int unused2;
- unsigned long st_ctime;
- unsigned long int unused3;
- unsigned long long unused4;
-};
-
-struct stat64 {
- unsigned long long st_dev;
- unsigned int __pad1;
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
- unsigned long st_mode;
- unsigned long st_nlink;
- unsigned long st_uid;
- unsigned long st_gid;
- unsigned long long st_rdev;
- unsigned int __pad2;
- unsigned long long st_size;
- unsigned long long st_blksize;
-
- unsigned long long st_blocks;
- unsigned long st_atime;
- unsigned long int __unused1;
- unsigned long st_mtime;
- unsigned long int __unused2;
- unsigned long st_ctime;
- unsigned long int __unused3;
- unsigned long long st_ino;
-};
-
-#elif defined(__x86_64__)
-struct stat {
- unsigned long st_dev;
- unsigned long st_ino;
- unsigned long st_nlink;
- unsigned int st_mode;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int __pad0;
- unsigned long st_rdev;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- unsigned long st_atime;
- unsigned long __reserved0;
- unsigned long st_mtime;
- unsigned long __reserved1;
- unsigned long st_ctime;
- unsigned long __reserved2;
- long __unused[3];
-};
-
-#elif defined(__ia64__)
-
-struct stat {
- unsigned long st_dev;
- unsigned long st_ino;
- unsigned long st_nlink;
- unsigned int st_mode;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int __pad;
- unsigned long st_rdev;
- unsigned long st_size;
- unsigned long st_atime;
- unsigned long reserved;
- unsigned long st_mtime;
- unsigned long reserved2;
- unsigned long st_ctime;
- unsigned long reserved3;
- unsigned long st_blksize;
- long st_blocks;
- unsigned long pad[3];
-};
-
-#endif
-
-#define S_IFMT 00170000
-#define S_IFSOCK 0140000
-#define S_IFLNK 0120000
-#define S_IFREG 0100000
-#define S_IFBLK 0060000
-#define S_IFDIR 0040000
-#define S_IFCHR 0020000
-#define S_IFIFO 0010000
-#define S_ISUID 0004000
-#define S_ISGID 0002000
-#define S_ISVTX 0001000
-
-#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
-#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
-
-#define S_IRWXU 00700
-#define S_IRUSR 00400
-#define S_IWUSR 00200
-#define S_IXUSR 00100
-
-#define S_IRWXG 00070
-#define S_IRGRP 00040
-#define S_IWGRP 00020
-#define S_IXGRP 00010
-
-#define S_IRWXO 00007
-#define S_IROTH 00004
-#define S_IWOTH 00002
-#define S_IXOTH 00001
-
-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;
-
-#if __WORDSIZE == 64
-#define __NO_STAT64
-#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;
-
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define lstat lstat64
-#define fstat fstat64
-#define stat stat64
-#define pread pread64
-#define pwrite pwrite64
-#endif
-#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 cf88be34c..000000000
--- a/mdk-stage1/dietlibc/include/sys/sysinfo.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _SYS_SYSINFO_H
-#define _SYS_SYSINFO_H
-
-#include <sys/cdefs.h>
-
-#define SI_LOAD_SHIFT 16
-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 short pad; /* explicit padding */
- 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.. */
-};
-
-
-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 8722038a5..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 {
- const char *const c_name;
- int c_val;
-} CODE;
-
-extern CODE prioritynames[];
-extern CODE facilitynames[];
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sysmacros.h b/mdk-stage1/dietlibc/include/sys/sysmacros.h
deleted file mode 100644
index 8a8124131..000000000
--- a/mdk-stage1/dietlibc/include/sys/sysmacros.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SYSMACROS_H
-#define _SYSMACROS_H
-
-#include <sys/stat.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/time.h b/mdk-stage1/dietlibc/include/sys/time.h
deleted file mode 100644
index 9fc40089f..000000000
--- a/mdk-stage1/dietlibc/include/sys/time.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef _SYS_TIME_H
-#define _SYS_TIME_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/select.h>
-
-struct timespec {
- time_t tv_sec; /* seconds */
- long tv_nsec; /* nanoseconds */
-};
-
-struct timeval {
- time_t tv_sec; /* seconds */
- suseconds_t tv_usec; /* microseconds */
-};
-
-struct timezone {
- int tz_minuteswest; /* minutes west of Greenwich */
- int tz_dsttime; /* type of dst correction */
-};
-
-#define ITIMER_REAL 0
-#define ITIMER_VIRTUAL 1
-#define ITIMER_PROF 2
-
-struct itimerspec {
- struct timespec it_interval; /* timer period */
- struct timespec it_value; /* timer expiration */
-};
-
-struct itimerval {
- struct timeval it_interval; /* timer interval */
- struct timeval it_value; /* current value */
-};
-
-#if defined _GNU_SOURCE || defined _BSD_SOURCE
-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 utimes (const char *__file, const struct timeval __tvp[2]) __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. */
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/timeb.h b/mdk-stage1/dietlibc/include/sys/timeb.h
deleted file mode 100644
index ceed377e7..000000000
--- a/mdk-stage1/dietlibc/include/sys/timeb.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __SYS_TIMEB_H
-#define __SYS_TIMEB_H 1
-
-struct timeb {
- time_t time;
- unsigned short millitm;
- short timezone;
- short dstflag;
-};
-
-int ftime(struct timeb *tp);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/times.h b/mdk-stage1/dietlibc/include/sys/times.h
deleted file mode 100644
index 27f75cdc5..000000000
--- a/mdk-stage1/dietlibc/include/sys/times.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _SYS_TIMES_H
-#define _SYS_TIMES_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct tms {
- clock_t tms_utime;
- clock_t tms_stime;
- clock_t tms_cutime;
- clock_t tms_cstime;
-};
-
-clock_t times(struct tms *buf) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/timex.h b/mdk-stage1/dietlibc/include/sys/timex.h
deleted file mode 100644
index cf024e009..000000000
--- a/mdk-stage1/dietlibc/include/sys/timex.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _SYS_TIMEX_H
-#define _SYS_TIMEX_H
-
-struct timex {
- unsigned int modes; /* mode selector */
- long int offset; /* time offset (usec) */
- long int freq; /* frequency offset (scaled ppm) */
- long int maxerror; /* maximum error (usec) */
- long int esterror; /* estimated error (usec) */
- int status; /* clock command/status */
- long int constant; /* pll time constant */
- long int precision; /* clock precision (usec) (read only) */
- long int tolerance; /* clock frequency tolerance (ppm) (read only) */
- struct timeval time; /* (read only) */
- long int tick; /* (modified) usecs between clock ticks */
-
- long int ppsfreq; /* pps frequency (scaled ppm) (ro) */
- long int jitter; /* pps jitter (us) (ro) */
- int shift; /* interval duration (s) (shift) (ro) */
- long int stabil; /* pps stability (scaled ppm) (ro) */
- long int jitcnt; /* jitter limit exceeded (ro) */
- long int calcnt; /* calibration intervals (ro) */
- long int errcnt; /* calibration errors (ro) */
- long int stbcnt; /* stability limit exceeded (ro) */
-
- /* ??? */
- int :32; int :32; int :32; int :32;
- int :32; int :32; int :32; int :32;
- int :32; int :32; int :32; int :32;
-};
-
-#define ADJ_OFFSET 0x0001 /* time offset */
-#define ADJ_FREQUENCY 0x0002 /* frequency offset */
-#define ADJ_MAXERROR 0x0004 /* maximum time error */
-#define ADJ_ESTERROR 0x0008 /* estimated time error */
-#define ADJ_STATUS 0x0010 /* clock status */
-#define ADJ_TIMECONST 0x0020 /* pll time constant */
-#define ADJ_TICK 0x4000 /* tick value */
-#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */
-
-#define TIME_OK 0 /* clock synchronized */
-#define TIME_INS 1 /* insert leap second */
-#define TIME_DEL 2 /* delete leap second */
-#define TIME_OOP 3 /* leap second in progress */
-#define TIME_WAIT 4 /* leap second has occurred */
-#define TIME_BAD 5 /* clock not synchronized */
-
-int adjtimex(struct timex *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 a3d2bf4be..000000000
--- a/mdk-stage1/dietlibc/include/sys/types.h
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef _SYS_TYPES_H
-#define _SYS_TYPES_H
-
-#include <inttypes.h>
-#include <stddef.h>
-
-typedef unsigned long int blkcnt_t; /* Used for file block counts */
-typedef unsigned long int blksize_t; /* Used for block sizes */
-typedef unsigned long int clock_t; /* Used for system times in
- clock ticks or CLOCKS_PER_SEC
- (see <time.h>). */
-
-/* TODO:
- clockid_t
- Used for clock ID type in the clock and timer functions.
- fsblkcnt_t
- Used for file system block counts
- fsfilcnt_t
- Used for file system file counts
- pthread_attr_t
- Used to identify a thread attribute object.
- pthread_cond_t
- Used for condition variables.
- pthread_condattr_t
- Used to identify a condition attribute object.
- pthread_key_t
- Used for thread-specific data keys.
- pthread_mutex_t
- Used for mutexes.
- pthread_mutexattr_t
- Used to identify a mutex attribute object.
- pthread_once_t
- Used for dynamic package initialisation.
- pthread_rwlock_t
- Used for read-write locks.
- pthread_rwlockattr_t
- Used for read-write lock attributes.
- pthread_t
- Used to identify a thread.
- timer_t
- Used for timer ID returned by timer_create().
-*/
-
-#if defined(__alpha__) || defined(__mips__) || defined(__powerpc__) || defined(__hppa__) || defined(__sparc64__) \
- || defined(__x86_64__) || defined(__ia64__)
-typedef unsigned int uid_t; /* Used for user IDs. */
-typedef unsigned int gid_t; /* Used for group IDs. */
-typedef unsigned int dev_t; /* Used for device IDs. */
-#else
-typedef unsigned short uid_t; /* Used for user IDs. */
-typedef unsigned short gid_t; /* Used for group IDs. */
-typedef unsigned short dev_t; /* Used for device IDs. */
-#endif
-
-#if defined(__alpha__) || defined(__mips__) || defined(__powerpc__) || defined(__sparc64__) \
- || defined(__x86_64__) || defined(__ia64__)
-typedef unsigned int mode_t; /* Used for some file attributes. */
-#else
-typedef unsigned short mode_t; /* Used for some file attributes. */
-#endif
-
-#if defined(__alpha__) || defined(__mips__) || defined(__sparc64__) \
- || defined(__x86_64__) || defined(__ia64__)
-typedef unsigned int nlink_t; /* Used for link counts. */
-#else
-typedef unsigned short nlink_t; /* Used for link counts. */
-#endif
-
-typedef signed int id_t; /* Used as a general identifier; can be
- used to contain at least a pid_t,
- uid_t or a gid_t. */
-typedef unsigned long ino_t; /* Used for file serial numbers. */
-typedef signed int key_t; /* Used for interprocess communication. */
-typedef signed int pid_t; /* Used for process IDs and process group IDs. */
-typedef signed long ssize_t; /* Used for a count of bytes or an error indication. */
-typedef signed long suseconds_t; /* Used for time in microseconds. */
-typedef signed long time_t; /* Used for time in seconds. */
-typedef signed long useconds_t; /* Used for time in microseconds. */
-
-/* non-susv2 types: */
-__extension__ typedef signed long long loff_t; /* 64-bit offset */
-
-__extension__ typedef signed long long off64_t;
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-typedef off64_t off_t;
-#else
-typedef signed long off_t; /* Used for file sizes. */
-#endif
-
-__extension__ typedef unsigned long long ino64_t;
-__extension__ typedef signed long long blkcnt64_t;
-
-typedef uint32_t uid32_t;
-typedef uint32_t gid32_t;
-
-typedef long int fpos_t;
-
-#define __socklen_t_defined
-typedef unsigned int socklen_t;
-typedef unsigned short sa_family_t;
-
-#ifdef _BSD_SOURCE
-/* die, BSD, die! */
-typedef uint16_t nshort;
-typedef uint32_t ntime;
-typedef uint32_t nlong;
-typedef uint32_t ulong;
-typedef uint16_t n_short;
-typedef uint32_t n_time;
-typedef uint32_t n_long;
-# ifndef __dietlibc_u_char_defined
-typedef char* caddr_t;
-typedef uint32_t u_long;
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-# define __dietlibc_u_char_defined
-# endif
-typedef unsigned char uchar;
-typedef unsigned short ushort;
-typedef unsigned int uint;
-#endif
-
-#ifdef _GNU_SOURCE
-typedef uint8_t u_int8_t;
-typedef uint16_t u_int16_t;
-typedef uint32_t u_int32_t;
-#ifndef __STRICT_ANSI__
-typedef uint64_t u_int64_t;
-#endif
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/ucontext.h b/mdk-stage1/dietlibc/include/sys/ucontext.h
deleted file mode 100644
index 573c6c7fb..000000000
--- a/mdk-stage1/dietlibc/include/sys/ucontext.h
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H
-
-#include <asm/sigcontext.h>
-#include <signal.h>
-
-typedef struct sigcontext mcontext_t;
-
-#if defined(__i386__) || defined(__arm__) || defined(__mips__) || defined(__mips64__) || defined(__powerpc__) || defined(__hppa__)
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- struct sigcontext uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-#elif defined(__alpha__)
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- unsigned long uc_osf_sigmask;
- stack_t uc_stack;
- struct sigcontext uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-#elif defined(__sparc__) || defined(__sparc64__)
-
-#define MC_TSTATE 0
-#define MC_PC 1
-#define MC_NPC 2
-#define MC_Y 3
-#define MC_G1 4
-#define MC_G2 5
-#define MC_G3 6
-#define MC_G4 7
-#define MC_G5 8
-#define MC_G6 9
-#define MC_G7 10
-#define MC_O0 11
-#define MC_O1 12
-#define MC_O2 13
-#define MC_O3 14
-#define MC_O4 15
-#define MC_O5 16
-#define MC_O6 17
-#define MC_O7 18
-#define MC_NGREG 19
-
-typedef unsigned long mc_greg_t;
-typedef mc_greg_t mc_gregset_t[MC_NGREG];
-
-#define MC_MAXFPQ 16
-struct mc_fq {
- unsigned long *mcfq_addr;
- unsigned int mcfq_insn;
-};
-
-typedef struct mc_fpu {
- union {
- unsigned int sregs[32];
- unsigned long dregs[32];
- long double qregs[16];
- } mcfpu_fregs;
- unsigned long mcfpu_fsr;
- unsigned long mcfpu_fprs;
- unsigned long mcfpu_gsr;
- struct mc_fq *mcfpu_fq;
- unsigned char mcfpu_qcnt;
- unsigned char mcfpu_qentsz;
- unsigned char mcfpu_enab;
-} mc_fpu_t;
-
-typedef struct {
- mc_gregset_t mc_gregs;
- mc_greg_t mc_fp;
- mc_greg_t mc_i7;
- mc_fpu_t mc_fpregs;
-} mcontext_t;
-
-struct ucontext {
- struct ucontext *uc_link;
- unsigned long uc_flags;
- sigset_t uc_sigmask;
- mcontext_t uc_mcontext;
-};
-#elif defined(__s390__)
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- _sigregs uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-#elif defined(__ia64__)
-
-/* oh my god is this ugly! --fefe*/
-struct ucontext {
- struct sigcontext uc_mcontext;
-};
-
-#define uc_link uc_mcontext.sc_gr[0] /* wrong type; nobody cares */
-#define uc_sigmask uc_mcontext.sc_sigmask
-#define uc_stack uc_mcontext.sc_stack
-#else
-#error NEED TO PORT <sys/sigcontext.h>!
-#endif
-
-typedef struct ucontext ucontext_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 5edbdc8b2..000000000
--- a/mdk-stage1/dietlibc/include/sys/uio.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_UIO
-#define _SYS_UIO 1
-
-#include <sys/socket.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 000a937c1..000000000
--- a/mdk-stage1/dietlibc/include/sys/un.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _SYS_UN_H
-#define _SYS_UN_H
-
-#include <sys/cdefs.h>
-
-#define UNIX_PATH_MAX 108
-
-struct sockaddr_un {
- sa_family_t sun_family; /* AF_UNIX */
- char sun_path[UNIX_PATH_MAX]; /* pathname */
-};
-
-#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 19b3242bb..000000000
--- a/mdk-stage1/dietlibc/include/sys/vfs.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _SYS_VFS_H
-#define _SYS_VFS_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-typedef struct {
- int __val[2];
-} __kernel_fsid_t;
-
-struct statfs {
- long f_type;
- long f_bsize;
-#ifdef __mips__
- long f_frsize;
-#endif
- long f_blocks;
- long f_bfree;
-#ifndef __mips__
- long f_bavail;
-#endif
- long f_files;
- long f_ffree;
-#ifdef __mips__
- long f_bavail;
-#endif
- __kernel_fsid_t f_fsid;
- long f_namelen;
- long f_spare[6];
-};
-
-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 0ba55499e..000000000
--- a/mdk-stage1/dietlibc/include/sys/wait.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _SYS_WAIT_H
-#define _SYS_WAIT_H
-
-#include <sys/cdefs.h>
-#include <sys/resource.h>
-
-#define WNOHANG 0x00000001
-#define WUNTRACED 0x00000002
-
-#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads in this group */
-#define __WALL 0x40000000 /* Wait on all children, regardless of type */
-#define __WCLONE 0x80000000 /* Wait only on non-SIGCHLD children */
-
-/* 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)
-
-/* Nonzero if STATUS indicates the child dumped core. */
-#define WCOREDUMP(status) ((status) & 0x80)
-
-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/sysexits.h b/mdk-stage1/dietlibc/include/sysexits.h
deleted file mode 100644
index 5540795ff..000000000
--- a/mdk-stage1/dietlibc/include/sysexits.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _SYSEXITS_H
-#define _SYSEXITS_H 1
-
-#define EX_OK 0
-
-#define EX__BASE 64
-
-#define EX_USAGE 64
-#define EX_DATAERR 65
-#define EX_NOINPUT 66
-#define EX_NOUSER 67
-#define EX_NOHOST 68
-#define EX_UNAVAILABLE 69
-#define EX_SOFTWARE 70
-#define EX_OSERR 71
-#define EX_OSFILE 72
-#define EX_CANTCREAT 73
-#define EX_IOERR 74
-#define EX_TEMPFAIL 75
-#define EX_PROTOCOL 76
-#define EX_NOPERM 77
-#define EX_CONFIG 78
-
-#define EX__MAX 78
-
-#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/tar.h b/mdk-stage1/dietlibc/include/tar.h
deleted file mode 100644
index a78bbce54..000000000
--- a/mdk-stage1/dietlibc/include/tar.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _TAR_H_
-#define _TAR_H_
-
-#define TMAGIC "ustar"
-#define TVERSION "00"
-
-#define TMAGLEN 6
-#define TVERSLEN 2
-
-#define REGTYPE '0'
-#define AREGTYPE '\0'
-#define LNKTYPE '1'
-#define SYMTYPE '2'
-#define CHRTYPE '3'
-#define BLKTYPE '4'
-#define DIRTYPE '5'
-#define FIFOTYPE '6'
-#define CONTTYPE '7'
-
-#define TSUID 04000
-#define TSGID 02000
-#define TSVTX 01000
-
-#define TUREAD 00400
-#define TUWRITE 00200
-#define TUEXEC 00100
-
-#define TGREAD 00040
-#define TGWRITE 00020
-#define TGEXEC 00010
-
-#define TOREAD 00004
-#define TOWRITE 00002
-#define TOEXEC 00001
-
-#endif /* _TAR_H_ */
diff --git a/mdk-stage1/dietlibc/include/termio.h b/mdk-stage1/dietlibc/include/termio.h
deleted file mode 100644
index 55d1f242b..000000000
--- a/mdk-stage1/dietlibc/include/termio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* this looks horribly wrong, but glibc does it like that */
-
-#include <termios.h>
-#include <sys/ioctl.h>
diff --git a/mdk-stage1/dietlibc/include/termios.h b/mdk-stage1/dietlibc/include/termios.h
deleted file mode 100644
index 12e02c5d7..000000000
--- a/mdk-stage1/dietlibc/include/termios.h
+++ /dev/null
@@ -1,383 +0,0 @@
-#ifndef _TERMIOS_H
-#define _TERMIOS_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct winsize {
- unsigned short ws_row;
- unsigned short ws_col;
- unsigned short ws_xpixel;
- unsigned short ws_ypixel;
-};
-
-#define NCC 8
-struct termio {
- unsigned short c_iflag; /* input mode flags */
- unsigned short c_oflag; /* output mode flags */
- unsigned short c_cflag; /* control mode flags */
- unsigned short c_lflag; /* local mode flags */
- unsigned char c_line; /* line discipline */
- unsigned char c_cc[NCC]; /* control characters */
-};
-
-/* modem lines */
-#ifdef __mips__
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x010
-#define TIOCM_SR 0x020
-#define TIOCM_CTS 0x040
-#define TIOCM_CAR 0x100
-#define TIOCM_RNG 0x200
-#define TIOCM_DSR 0x400
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-#else
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x008
-#define TIOCM_SR 0x010
-#define TIOCM_CTS 0x020
-#define TIOCM_CAR 0x040
-#define TIOCM_RNG 0x080
-#define TIOCM_DSR 0x100
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-#endif
-
-/* line disciplines */
-#define N_TTY 0
-#define N_SLIP 1
-#define N_MOUSE 2
-#define N_PPP 3
-#define N_STRIP 4
-#define N_AX25 5
-#define N_X25 6 /* X.25 async */
-#define N_6PACK 7
-#define N_MASC 8 /* Reserved for Mobitex module <kaz@cafe.net> */
-#define N_R3964 9 /* Reserved for Simatic R3964 module */
-#define N_PROFIBUS_FDL 10 /* Reserved for Profibus <Dave@mvhi.com> */
-#define N_IRDA 11 /* Linux IR - http://irda.sourceforge.net/ */
-#define N_SMSBLOCK 12 /* SMS block mode - for talking to GSM data cards about SMS messages */
-#define N_HDLC 13 /* synchronous HDLC */
-#define N_SYNC_PPP 14 /* synchronous PPP */
-#define N_HCI 15 /* Bluetooth HCI UART */
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define _POSIX_VDISABLE '\0'
-
-#if defined(__i386__) || defined(__arm__) || defined(__ia64__) || defined(__hppa__) || defined(__s390__) || defined(__s390x__) || defined(__x86_64__)
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-#elif defined(__mips__) || defined(__mips64__)
-#define NCCS 23
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- /*
- * Seems nonexistent in the ABI, but Linux assumes existence ...
- */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-#elif defined(powerpc) || defined(__alpha__)
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_cc[NCCS]; /* control characters */
- cc_t c_line; /* line discipline (== c_cc[19]) */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-#elif defined(__sparc__)
-#define NCCS 17
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-#else
-# error "Struct termios undefined on your architecture"
-#endif
-
-/* c_cc characters */
-#if defined(__alpha__)
-#define VEOF 0
-#define VEOL 1
-#define VEOL2 2
-#define VERASE 3
-#define VWERASE 4
-#define VKILL 5
-#define VREPRINT 6
-#define VSWTC 7
-#define VINTR 8
-#define VQUIT 9
-#define VSUSP 10
-#define VSTART 12
-#define VSTOP 13
-#define VLNEXT 14
-#define VDISCARD 15
-#define VMIN 16
-#define VTIME 17
-#elif defined(__mips__)
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VMIN 4
-#define VTIME 5
-#define VEOL2 6
-#define VSWTC 7
-#define VSWTCH VSWTC
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOF 16
-#define VEOL 17
-#elif defined(__powerpc__)
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VMIN 5
-#define VEOL 6
-#define VTIME 7
-#define VEOL2 8
-#define VSWTC 9
-#define VWERASE 10
-#define VREPRINT 11
-#define VSUSP 12
-#define VSTART 13
-#define VSTOP 14
-#define VLNEXT 15
-#define VDISCARD 16
-#elif defined(__sparc__)
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VEOL 5
-#define VEOL2 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VDSUSP 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VMIN 16
-#define VTIME 17
-#else /* arm, i386, parisc, s390, x86_64 */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
-#endif
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-
-/* c_oflag bits */
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0000400
-#define NL0 0000000
-#define NL1 0000400
-#define CRDLY 0003000
-#define CR0 0000000
-#define CR1 0001000
-#define CR2 0002000
-#define CR3 0003000
-#define TABDLY 0014000
-#define TAB0 0000000
-#define TAB1 0004000
-#define TAB2 0010000
-#define TAB3 0014000
-#define XTABS 0014000
-#define BSDLY 0020000
-#define BS0 0000000
-#define BS1 0020000
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-#define FFDLY 0100000
-#define FF0 0000000
-#define FF1 0100000
-
-/* c_cflag bit meaning */
-#define CBAUD 0010017
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA B19200
-#define EXTB B38400
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-#define CBAUDEX 0010000
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define CIBAUD 002003600000 /* input baud rate (not used) */
-#define CMSPAR 010000000000 /* mark or space (stick) parity */
-#define CRTSCTS 020000000000 /* flow control */
-
-/* c_lflag bits */
-#define ISIG 0000001
-#define ICANON 0000002
-#define XCASE 0000004
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define ECHOCTL 0001000
-#define ECHOPRT 0002000
-#define ECHOKE 0004000
-#ifdef __mips__
-#define IEXTEN 0000400
-#define FLUSHO 0020000
-#define TOSTOP 0100000
-#else
-#define TOSTOP 0000400
-#define FLUSHO 0010000
-#define IEXTEN 0100000
-#endif
-#define PENDIN 0040000
-
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-/* tcsetattr uses these */
-#ifdef __mips__
-#define TCSANOW 0x540e
-#define TCSADRAIN 0x540f
-#define TCSAFLUSH 0x5410
-#else
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-#endif
-
-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;
-void cfmakeraw(struct termios *t) __THROW;
-
-int tcflush(int fd, int queue_selector) __THROW;
-int tcdrain(int fd) __THROW;
-int tcflow (int fd,int action) __THROW;
-int tcsendbreak (int fd,int duration) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/time.h b/mdk-stage1/dietlibc/include/time.h
deleted file mode 100644
index 29681fa3d..000000000
--- a/mdk-stage1/dietlibc/include/time.h
+++ /dev/null
@@ -1,40 +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;
-
-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 __attribute__((format(strftime,3,0)));
-time_t time(time_t *t) __THROW;
-
-int stime(time_t *t) __THROW;
-
-double difftime(time_t time1, time_t time0) __THROW __attribute__((const));
-
-#define CLOCKS_PER_SEC 1000000l
-
-extern long int timezone;
-extern int daylight;
-extern char* tzname[2];
-
-void tzset (void) __THROW;
-
-struct tm* localtime(const time_t* t) __THROW;
-struct tm* gmtime(const time_t* t) __THROW;
-struct tm* localtime_r(const time_t* t, struct tm* r) __THROW;
-struct tm* gmtime_r(const time_t* t, struct tm* r) __THROW;
-
-clock_t clock(void);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/unistd.h b/mdk-stage1/dietlibc/include/unistd.h
deleted file mode 100644
index 2fba5d584..000000000
--- a/mdk-stage1/dietlibc/include/unistd.h
+++ /dev/null
@@ -1,233 +0,0 @@
-#ifndef _UNISTD_H
-#define _UNISTD_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/stat.h>
-#include <sys/fsuid.h>
-
-extern int optind,opterr;
-extern char *optarg;
-int getopt(int argc, char *const argv[], const char *options);
-
-/* 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;
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-#endif
-
-#define STDIN_FILENO 0
-#define STDOUT_FILENO 1
-#define STDERR_FILENO 2
-
-off_t lseek(int fildes, off_t offset, int whence) __THROW;
-#ifndef __NO_STAT64
-loff_t lseek64(int fildes, loff_t offset, int whence) __THROW;
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define lseek(fildes,offset,whence) lseek64(fildes,offset,whence)
-#endif
-#endif
-
-int chdir(const char *path) __THROW;
-int fchdir(int fd) __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;
-int execle(const char *path, ...) __THROW;
-
-pid_t getpid(void) __THROW;
-pid_t getppid(void) __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 getsid(pid_t pid) __THROW;
-pid_t setsid (void) __THROW;
-int dup (int oldfd) __THROW;
-int dup2 (int oldfd,int newfd) __THROW;
-
-struct dirent;
-struct dirent64;
-int getdents(int fd, struct dirent *dirp, unsigned int count) __THROW;
-int getdents64(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;
-#define _POSIX_SYNCHRONIZED_IO
-int fdatasync(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;
-
-int usleep(unsigned long useconds) __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;
-
-int pause(void) __THROW;
-
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define open open64
-#define creat creat64
-#define truncate truncate64
-#define ftruncate ftruncate64
-#define getdents getdents64
-#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 truncate(const char *path, off_t length) __THROW;
-int ftruncate(int fd, off_t length) __THROW;
-#ifndef __NO_STAT64
-int truncate64(const char *path, loff_t length) __THROW;
-int ftruncate64(int fd, loff_t length) __THROW;
-#endif
-
-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) __THROW __attribute__((__const__));
-
-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;
-int getdtablesize(void) __THROW;
-char *getpass(const char * prompt) __THROW;
-
-/* warning: linux specific: */
-int llseek(int fildes, unsigned long hi, unsigned long lo, loff_t* result,int whence) __THROW;
-
-/* include <linux/sysctl.h> to get all the definitions! */
-struct __sysctl_args;
-int _sysctl(struct __sysctl_args *args) __THROW;
-
-#define _SC_CLK_TCK 1
-#define _SC_ARG_MAX 2
-#define _SC_NGROUPS_MAX 3
-#define _SC_OPEN_MAX 4
-#define _SC_PAGESIZE 5
-#define _SC_NPROCESSORS_ONLN 6
-#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_ONLN
-long sysconf(int name) __THROW;
-#define _PC_PATH_MAX 1
-#define _PC_VDISABLE 2
-
-pid_t tcgetpgrp(int fd) __THROW;
-int tcsetpgrp(int fd, pid_t pgrpid) __THROW;
-
-int profil(unsigned short *buf, size_t bufsiz, size_t offset, unsigned int scale);
-
-/* Linux only: */
-int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid) __THROW;
-int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid) __THROW;
-int setresuid(uid_t ruid, uid_t euid, uid_t suid) __THROW;
-int setresgid(gid_t rgid, gid_t egid, gid_t sgid) __THROW;
-
-/* 32-bit uid support */
-int chown32(const char *path, uid32_t owner, gid32_t group) __THROW;
-int fchown32(int fd, uid32_t owner, gid32_t group) __THROW;
-int lchown32(const char *path, uid32_t owner, gid32_t group) __THROW;
-uid32_t getuid32(void) __THROW;
-uid32_t geteuid32(void) __THROW;
-gid32_t getgid32(void) __THROW;
-gid32_t getegid32(void) __THROW;
-int setuid32(uid32_t uid) __THROW;
-int setgid32(gid32_t gid) __THROW;
-int setreuid32(uid32_t ruid, uid32_t euid) __THROW;
-int setregid32(gid32_t rgid, gid32_t egid) __THROW;
-#define seteuid32(euid) setreuid32(-1,euid)
-#define setegid32(egid) setregid32(-1,egid)
-int getgroups32(int size, gid32_t list[]) __THROW;
-int getresuid32(uid32_t *ruid, uid32_t *euid, uid32_t *suid);
-int getresgid32(gid32_t *rgid, gid32_t *egid, gid32_t *sgid);
-int setresuid32(uid32_t ruid, uid32_t euid, uid32_t suid) __THROW;
-int setresgid32(gid32_t rgid, gid32_t egid, gid32_t sgid) __THROW;
-
-#ifdef _BSD_SOURCE
-char *getusershell(void);
-void setusershell(void);
-void endusershell(void);
-#endif
-
-#define _POSIX_VERSION 199506L
-
-#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 cc2adc9f6..000000000
--- a/mdk-stage1/dietlibc/include/utmp.h
+++ /dev/null
@@ -1,94 +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"
-#ifdef _BSD_SOURCE
-/* die, BSD, die!!! */
-#define UTMP_FILE _PATH_UTMP
-#define WTMP_FILE _PATH_WTMP
-#endif
-
-/* 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_user
- struct exit_status ut_exit; /* Exit status of a process marked
- as DEAD_PROCESS. */
- long int ut_session; /* Session ID, used for windowing. */
-#define ut_time ut_tv.tv_sec
- struct timeval ut_tv; /* Time entry was made. */
-#define ut_addr ut_addr_v6[0]
- 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
-
-struct utmp *getutent(void) __THROW;
-struct utmp *getutid(struct utmp *ut) __THROW;
-struct utmp *getutline(struct utmp *ut) __THROW;
-
-void pututline(struct utmp *ut) __THROW;
-
-void setutent(void) __THROW;
-void endutent(void) __THROW;
-
-void utmpname(const char *file) __THROW;
-
-void updwtmp(const char *wtmp_file, const struct utmp *ut);
-void logwtmp(const char *line, const char *name, const char *host);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/write12.h b/mdk-stage1/dietlibc/include/write12.h
deleted file mode 100644
index 960b4b722..000000000
--- a/mdk-stage1/dietlibc/include/write12.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <sys/cdefs.h>
-
-int __write1 ( const char* s ) __attribute__ (( regparm(1) ));
-int __write2 ( const char* s ) __attribute__ (( regparm(1) ));
diff --git a/mdk-stage1/dietlibc/lib/__dtostr.c b/mdk-stage1/dietlibc/lib/__dtostr.c
deleted file mode 100644
index 580258936..000000000
--- a/mdk-stage1/dietlibc/lib/__dtostr.c
+++ /dev/null
@@ -1,140 +0,0 @@
-#include <stdlib.h>
-#include <endian.h>
-#include <math.h>
-/* convert double to string. Helper for sprintf. */
-
-static int copystring(char* buf,int maxlen, const char* s) {
- int i;
- for (i=0; i<3&&i<maxlen; ++i)
- buf[i]=s[i];
- if (i<maxlen) { buf[i]=0; ++i; }
- return i;
-}
-
-int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2) {
-#if 1
- unsigned long long *x=(unsigned long long *)&d;
- /* step 1: extract sign, mantissa and exponent */
- signed long e=((*x>>52)&((1<<11)-1))-1023;
-#else
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- signed long e=(((((unsigned long*)&d)[1])>>20)&((1<<11)-1))-1023;
-#else
- signed long e=(((*((unsigned long*)&d))>>20)&((1<<11)-1))-1023;
-#endif
-#endif
-/* unsigned long long m=*x & ((1ull<<52)-1); */
- /* step 2: exponent is base 2, compute exponent for base 10 */
- signed long e10;
- /* step 3: calculate 10^e10 */
- unsigned int i;
- double backup=d;
- double tmp;
- char *oldbuf=buf;
-
- if (isnan(d)) return copystring(buf,maxlen,"nan");
- if ((i=isinf(d))) return copystring(buf,maxlen,i>0?"inf":"-inf");
- e10=1+(long)(e*0.30102999566398119802); /* log10(2) */
- /* Wir iterieren von Links bis wir bei 0 sind oder maxlen erreicht
- * ist. Wenn maxlen erreicht ist, machen wir das nochmal in
- * scientific notation. Wenn dann von prec noch was brig ist, geben
- * wir einen Dezimalpunkt aus und geben prec2 Nachkommastellen aus.
- * Wenn prec2 Null ist, geben wir so viel Stellen aus, wie von prec
- * noch brig ist. */
- if (d==0.0) {
- prec2=prec2==0?1:prec2+2;
- prec2=prec2>maxlen?8:prec2;
- for (i=0; i<prec2; ++i) buf[i]='0';
- buf[1]='.'; buf[i]=0;
- return i;
- }
-
- if (d < 0.0) { d=-d; *buf='-'; --maxlen; ++buf; }
-
- /*
- Perform rounding. It needs to be done before we generate any
- digits as the carry could propagate through the whole number.
- */
-
- tmp = 0.5;
- for (i = 0; i < prec2; i++) { tmp *= 0.1; }
- d += tmp;
-
- if (d < 1.0) { *buf='0'; --maxlen; ++buf; }
-/* printf("e=%d e10=%d prec=%d\n",e,e10,prec); */
- if (e10>0) {
- int first=1; /* are we about to write the first digit? */
- tmp = 10.0;
- i=e10;
- while (i>10) { tmp=tmp*1e10; i-=10; }
- while (i>1) { tmp=tmp*10; --i; }
- /* the number is greater than 1. Iterate through digits before the
- * decimal point until we reach the decimal point or maxlen is
- * reached (in which case we switch to scientific notation). */
- while (tmp>0.9) {
- char digit;
- double fraction=d/tmp;
- digit=(int)(fraction); /* floor() */
- if (!first || digit) {
- first=0;
- *buf=digit+'0'; ++buf;
- if (!maxlen) {
- /* use scientific notation */
- int len=__dtostr(backup/tmp,oldbuf,maxlen,prec,prec2);
- int initial=1;
- if (len==0) return 0;
- maxlen-=len; buf+=len;
- if (maxlen>0) {
- *buf='e';
- ++buf;
- }
- --maxlen;
- for (len=1000; len>0; len/=10) {
- if (e10>=len || !initial) {
- if (maxlen>0) {
- *buf=(e10/len)+'0';
- ++buf;
- }
- --maxlen;
- initial=0;
- e10=e10%len;
- }
- }
- if (maxlen>0) goto fini;
- return 0;
- }
- d-=digit*tmp;
- --maxlen;
- }
- tmp/=10.0;
- }
- }
- else
- {
- tmp = 0.1;
- }
-
- if (buf==oldbuf) {
- if (!maxlen) return 0; --maxlen;
- *buf='0'; ++buf;
- }
- if (prec2 || prec>(unsigned int)(buf-oldbuf)+1) { /* more digits wanted */
- if (!maxlen) return 0; --maxlen;
- *buf='.'; ++buf;
- prec-=buf-oldbuf-1;
- if (prec2) prec=prec2;
- if (prec>maxlen) return 0;
- while (prec>0) {
- char digit;
- double fraction=d/tmp;
- digit=(int)(fraction); /* floor() */
- *buf=digit+'0'; ++buf;
- d-=digit*tmp;
- tmp/=10.0;
- --prec;
- }
- }
-fini:
- *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 f2f9858ea..000000000
--- a/mdk-stage1/dietlibc/lib/__fstat64.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-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;
- if (errno!=ENOSYS) return -1;
- if (fstat(__fd,&temp)) return -1;
- __stat64_cvt(&temp,__buf);
- }
- return 0;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__ftruncate64.c b/mdk-stage1/dietlibc/lib/__ftruncate64.c
deleted file mode 100644
index e0ea8c98a..000000000
--- a/mdk-stage1/dietlibc/lib/__ftruncate64.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#include "syscalls.h"
-#include <unistd.h>
-#ifndef __NO_STAT64
-#ifdef __NR_ftruncate64
-
-extern int __dietlibc_ftruncate64(int fd, loff_t o);
-
-int ftruncate64(int fd, loff_t o) {
- int tmp;
- if ((tmp=__dietlibc_ftruncate64(fd,o))==-1) {
- if (errno!=ENOSYS) return -1;
- if (o>0x7fffffff) { errno=EOVERFLOW; return -1; }
- return ftruncate(fd,o);
- }
- return tmp;
-}
-#endif
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__getcwd.c b/mdk-stage1/dietlibc/lib/__getcwd.c
deleted file mode 100644
index 8616704ec..000000000
--- a/mdk-stage1/dietlibc/lib/__getcwd.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-#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/__isinf.c b/mdk-stage1/dietlibc/lib/__isinf.c
deleted file mode 100644
index 359bd2709..000000000
--- a/mdk-stage1/dietlibc/lib/__isinf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <math.h>
-
-int isinf(double d) {
- unsigned long long *x=(unsigned long long *)&d;
- return (*x==0x7FF0000000000000ll?1:*x==0xFFF0000000000000?-1:0);
-}
-int __isinf(double d) __attribute__((alias("isinf")));
-
-#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/__isnan.c b/mdk-stage1/dietlibc/lib/__isnan.c
deleted file mode 100644
index de74b8a9f..000000000
--- a/mdk-stage1/dietlibc/lib/__isnan.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <math.h>
-
-int isnan(double d) {
- unsigned long long *x=(unsigned long long *)&d;
- return (*x==0x7FF8000000000000ll || *x==0x7FF0000000000000 || *x==0xfff8000000000000);
-}
-int __isnan(double d) __attribute__((alias("isnan")));
-
-#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 fe4701f29..000000000
--- a/mdk-stage1/dietlibc/lib/__lltostr.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <string.h>
-
-int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase);
-
-int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase)
-{
- char *tmp;
- unsigned 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 0eab6a94b..000000000
--- a/mdk-stage1/dietlibc/lib/__lstat64.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-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;
- if (errno!=ENOSYS) return -1;
- 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 fa71be9ab..000000000
--- a/mdk-stage1/dietlibc/lib/__ltostr.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-
-int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase)
-{
- char *tmp;
- unsigned 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/__ptrace.c b/mdk-stage1/dietlibc/lib/__ptrace.c
deleted file mode 100644
index bd14a0351..000000000
--- a/mdk-stage1/dietlibc/lib/__ptrace.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* we need this because we need to use the glibc prototype which uses
- * varargs :-( */
-#define ptrace fnord
-#include <sys/ptrace.h>
-#undef ptrace
-#include <sys/types.h>
-#include <unistd.h>
-
-extern int __diet_ptrace(int request, pid_t pid, void *addr, void *data);
-int ptrace(int request, pid_t pid, void *addr, void *data);
-
-int ptrace(int request, pid_t pid, void *addr, void *data) {
- switch (request) {
- case PTRACE_TRACEME: case PTRACE_KILL: case PTRACE_ATTACH:
- case PTRACE_DETACH:
- return (__diet_ptrace (request, pid, NULL, NULL));
- case PTRACE_PEEKDATA: case PTRACE_PEEKUSER: case PTRACE_PEEKTEXT:
- {
- long result;
- if (__diet_ptrace (request, pid, addr, &result) == -1)
- return (-1);
- return (result);
- }
- default:
- return (__diet_ptrace (request, pid, addr, data));
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/__stat64.c b/mdk-stage1/dietlibc/lib/__stat64.c
deleted file mode 100644
index fcbdfef2d..000000000
--- a/mdk-stage1/dietlibc/lib/__stat64.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-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;
- if (errno!=ENOSYS) return -1;
- 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 c4ce8bea4..000000000
--- a/mdk-stage1/dietlibc/lib/__stat64_cvt.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-void __stat64_cvt(const struct stat *src,struct stat64 *dest);
-
-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/__stime.c b/mdk-stage1/dietlibc/lib/__stime.c
deleted file mode 100644
index 7b2c77729..000000000
--- a/mdk-stage1/dietlibc/lib/__stime.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <errno.h>
-#include <sys/time.h>
-#include <time.h>
-#include <syscalls.h>
-
-#ifndef __NR_stime
-int stime(time_t *when)
-{
- struct timeval tv;
- tv.tv_sec = *when;
- tv.tv_usec = 0;
- return settimeofday(&tv, (struct timezone *)0);
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__truncate64.c b/mdk-stage1/dietlibc/lib/__truncate64.c
deleted file mode 100644
index ccb3e7f64..000000000
--- a/mdk-stage1/dietlibc/lib/__truncate64.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "dietfeatures.h"
-#include <errno.h>
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#include "syscalls.h"
-#include <unistd.h>
-#ifndef __NO_STAT64
-#ifdef __NR_truncate64
-
-extern int __dietlibc_truncate64(const char* f, loff_t o);
-
-int truncate64(const char* f, loff_t o) {
- int tmp;
- if ((tmp=__dietlibc_truncate64(f,o))==-1) {
- if (errno!=ENOSYS) return -1;
- if (o>0x7fffffff) { errno=EOVERFLOW; return -1; }
- return truncate(f,o);
- }
- return tmp;
-}
-#endif
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__v_printf.c b/mdk-stage1/dietlibc/lib/__v_printf.c
deleted file mode 100644
index 1ff63bec1..000000000
--- a/mdk-stage1/dietlibc/lib/__v_printf.c
+++ /dev/null
@@ -1,301 +0,0 @@
-#include "dietfeatures.h"
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-#include "dietstdio.h"
-#include "dietwarning.h"
-
-static inline unsigned int skip_to(const unsigned char *format) {
- unsigned int nr;
- for (nr=0; format[nr] && (format[nr]!='%'); ++nr);
- return nr;
-}
-
-#define A_WRITE(fn,buf,sz) ((fn)->put((void*)(buf),(sz),(fn)->data))
-
-static const char pad_line[2][16]= { " ", "0000000000000000", };
-static inline int write_pad(struct arg_printf* fn, int len, int padwith) {
- int nr=0;
- for (;len>15;len-=16,nr+=16) {
- A_WRITE(fn,pad_line[(padwith=='0')?1:0],16);
- }
- if (len>0) {
- A_WRITE(fn,pad_line[(padwith=='0')?1:0],(unsigned int)len); nr+=len;
- }
- return nr;
-}
-
-int __v_printf(struct arg_printf* fn, const unsigned char *format, va_list arg_ptr)
-{
- int len=0;
-
- if (format)
- while (*format) {
- unsigned int sz = skip_to(format);
- if (sz) {
- A_WRITE(fn,format,sz); len+=sz;
- format+=sz;
- }
- if (*format=='%') {
- char buf[128];
-
- unsigned char ch, *s, padwith=' ';
-
- char flag_in_sign=0;
- char flag_upcase=0;
- char flag_hash=0;
- char flag_left=0;
- char flag_space=0;
- char flag_sign=0;
- char flag_dot=0;
- signed char flag_long=0;
-
- unsigned int base;
- unsigned int width=0, preci=0;
-
- long number=0;
-#ifdef WANT_LONGLONG_PRINTF
- long long llnumber=0;
-#endif
-
- ++format;
-inn_printf:
- switch(ch=*format++) {
- case 0:
- return -1;
- break;
-
- /* FLAGS */
- case '#':
- flag_hash=-1;
- case 'z':
- goto inn_printf;
-
- case 'h':
- --flag_long;
- goto inn_printf;
- case 'L':
- ++flag_long; /* fall through */
- case 'l':
- ++flag_long;
- goto inn_printf;
-
- case '0':
- padwith='0';
- goto inn_printf;
-
- case '-':
- flag_left=1;
- goto inn_printf;
-
- case ' ':
- flag_space=1;
- goto inn_printf;
-
- case '+':
- flag_sign=1;
- goto inn_printf;
-
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if(flag_dot) return -1;
- width=strtoul(format-1,(char**)&s,10);
- format=s;
- goto inn_printf;
-
- case '*':
- width=va_arg(arg_ptr,int);
- goto inn_printf;
-
- case '.':
- flag_dot=1;
- if (*format=='*') {
- preci=va_arg(arg_ptr,int);
- ++format;
- } else {
- long int tmp=strtol(format,(char**)&s,10);
- preci=tmp<0?0:tmp;
- format=s;
- }
- goto inn_printf;
-
- /* print a char or % */
- case 'c':
- ch=(char)va_arg(arg_ptr,int);
- case '%':
- A_WRITE(fn,&ch,1); ++len;
- break;
-
- /* print a string */
- case 's':
- s=va_arg(arg_ptr,char *);
-#ifdef WANT_NULL_PRINTF
- if (!s) s="(null)";
-#endif
- sz = strlen(s);
- if (flag_dot && sz>preci) sz=preci;
- flag_dot^=flag_dot;
-
-print_out:
- if (width && (!flag_left)) {
- if (flag_in_sign) {
- A_WRITE(fn,s,1); ++len;
- ++s; --sz;
- --width;
- }
- if (flag_hash>0) {
- A_WRITE(fn,s,flag_hash); len+=flag_hash;
- s+=flag_hash; sz-=flag_hash;
- width-=flag_hash;
- }
-// len+=write_pad(fn,(signed int)width-(signed int)sz,padwith);
- if (flag_dot) {
- len+=write_pad(fn,(signed int)width-(signed int)preci,padwith);
- len+=write_pad(fn,(signed int)preci-(signed int)sz,'0');
- } else
- len+=write_pad(fn,(signed int)width-(signed int)sz,padwith);
- }
- A_WRITE(fn,s,sz); len+=sz;
- if (width && (flag_left)) {
- len+=write_pad(fn,(signed int)width-(signed int)sz,' ');
- }
- break;
-
- /* print an integer value */
- case 'b':
- base=2;
- sz=0;
- goto num_printf;
- case 'p':
- flag_hash=2;
- flag_long=1;
- ch='x';
- case 'X':
- flag_upcase=(ch=='X');
- case 'x':
- base=16;
- sz=0;
- if (flag_dot) width=preci;
- if (flag_hash) {
- buf[1]='0';
- buf[2]=ch;
- flag_hash=2;
- sz=2;
- }
- goto num_printf;
- case 'd':
- case 'i':
- flag_in_sign=1;
- case 'u':
- base=10;
- sz=0;
- goto num_printf;
- case 'o':
- base=8;
- sz=0;
- if (flag_hash) {
- buf[1]='0';
- flag_hash=1;
- ++sz;
- }
-
-num_printf:
- s=buf+1;
-
- if (flag_long>0) {
-#ifdef WANT_LONGLONG_PRINTF
- if (flag_long>1)
- llnumber=va_arg(arg_ptr,long long);
- else
-#endif
- number=va_arg(arg_ptr,long);
- }
- else
- number=va_arg(arg_ptr,int);
-
- if (flag_in_sign) {
-#ifdef WANT_LONGLONG_PRINTF
- if ((flag_long>1)&&(llnumber<0)) {
- llnumber=-llnumber;
- flag_in_sign=2;
- } else
-#endif
- if (number<0) {
- number=-number;
- flag_in_sign=2;
- }
- }
- if (flag_long<0) number&=0xffff;
- if (flag_long<-1) number&=0xff;
-#ifdef WANT_LONGLONG_PRINTF
- if (flag_long>1)
- sz += __lltostr(s+sz,sizeof(buf)-5,(unsigned long long) llnumber,base,flag_upcase);
- else
-#endif
- sz += __ltostr(s+sz,sizeof(buf)-5,(unsigned long) number,base,flag_upcase);
-
- if (flag_in_sign==2) {
- *(--s)='-';
- ++sz;
- } else if ((flag_in_sign)&&(flag_sign || flag_space)) {
- *(--s)=(flag_sign)?'+':' ';
- ++sz;
- } else flag_in_sign=0;
-
- goto print_out;
-
-#ifdef WANT_FLOATING_POINT_IN_PRINTF
- /* print a floating point value */
- case 'f':
- case 'g':
- {
- int g=(ch=='g');
- double d=va_arg(arg_ptr,double);
- if (width==0) width=1;
- if (!flag_dot) preci=6;
- sz=__dtostr(d,buf,sizeof(buf),width,preci);
- if (flag_dot) {
- char *tmp;
- if ((tmp=strchr(buf,'.'))) {
- ++tmp;
- while (preci>0 && *++tmp) --preci;
- *tmp=0;
- }
- }
- if (g) {
- char *tmp,*tmp1; /* boy, is _this_ ugly! */
- if ((tmp=strchr(buf,'.'))) {
- tmp1=strchr(tmp,'e');
- while (*tmp) ++tmp;
- if (tmp1) tmp=tmp1;
- while (*--tmp=='0') ;
- if (*tmp!='.') ++tmp;
- *tmp=0;
- if (tmp1) strcpy(tmp,tmp1);
- }
- }
- preci=strlen(buf);
- s=buf;
-
- goto print_out;
- }
-#endif
-
- default:
- break;
- }
- }
- }
- return len;
-}
-
-link_warning("__v_printf","warning: the printf functions add several kilobytes of bloat.")
-
diff --git a/mdk-stage1/dietlibc/lib/__v_scanf.c b/mdk-stage1/dietlibc/lib/__v_scanf.c
deleted file mode 100644
index 6db51db59..000000000
--- a/mdk-stage1/dietlibc/lib/__v_scanf.c
+++ /dev/null
@@ -1,391 +0,0 @@
-#include "dietfeatures.h"
-#include <stdarg.h>
-#include <sys/types.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-
-#include "dietstdio.h"
-#include "dietwarning.h"
-
-#define A_GETC(fn) (++consumed,(fn)->getch((fn)->data))
-#define A_PUTC(c,fn) (--consumed,(fn)->putch((c),(fn)->data))
-
-int __v_scanf(struct arg_scanf* fn, const unsigned char *format, va_list arg_ptr)
-{
- unsigned int ch; /* format act. char */
- int n=0;
-
- /* arg_ptr tmps */
-#ifdef WANT_FLOATING_POINT_IN_SCANF
- double *pd;
- float *pf;
-#endif
-#ifdef WANT_LONGLONG_SCANF
- long long *pll;
-#endif
- long *pl;
- short *ph;
- int *pi;
- char *s;
-
- unsigned int consumed=0;
-
- /* get one char */
- int tpch= A_GETC(fn);
-
- //while ((tpch!=-1)&&(*format))
- while (*format)
- {
-// const unsigned char *prev_fmt=format;
- ch=*format++;
- switch (ch) {
- /* end of format string ?!? */
- case 0: return 0;
-
- /* skip spaces ... */
- case ' ':
- case '\f':
- case '\t':
- case '\v':
- case '\n':
- case '\r':
- while((*format)&&(isspace(*format))) ++format;
- while(isspace(tpch)) tpch=A_GETC(fn);
- break;
-
- /* format string ... */
- case '%':
- {
- unsigned int _div=0;
- int width=-1;
- char flag_width=0;
- char flag_discard=0;
- char flag_half=0;
- char flag_long=0;
- char flag_longlong=0;
-
-in_scan:
- ch=*format++;
- if(ch!='n' && tpch==-1) goto err_out;
- switch (ch) {
- /* end of format string ?!? */
- case 0: return 0;
-
- /* check for % */
- case '%':
- if ((unsigned char)tpch != ch) goto err_out;
- tpch=A_GETC(fn);
- break;
-
- /* FLAGS */
- case '*':
- flag_discard=1;
- goto in_scan;
- case 'h':
- flag_half=1;
- goto in_scan;
- case 'l':
- if (flag_long) flag_longlong=1;
- flag_long=1;
- goto in_scan;
- case 'q':
- case 'L':
- flag_longlong=1;
- goto in_scan;
-
- /* WIDTH */
- case '0':
- 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 in_scan;
-
- /* scan for integer / strtol reimplementation ... */
- case 'p':
- case 'X':
- case 'x':
- _div+=6;
- case 'd':
- _div+=2;
- case 'o':
- _div+=8;
- case 'u':
- case 'i':
- {
-#ifdef WANT_LONGLONG_SCANF
- unsigned long long v=0;
-#else
- unsigned long v=0;
-#endif
- unsigned int consumedsofar=consumed;
- int neg=0;
- while(isspace(tpch)) tpch=A_GETC(fn);
- if (tpch=='-') {
- tpch=A_GETC(fn);
- neg=1;
- }
-
- if (tpch=='+') tpch=A_GETC(fn);
-
- if (!flag_width) {
- if ((_div==16) && (tpch=='0')) goto scan_hex;
- if (!_div) {
- _div=10;
- if (tpch=='0') {
- _div=8;
-scan_hex:
- tpch=A_GETC(fn);
- if ((tpch|32)=='x') {
- tpch=A_GETC(fn);
- _div=16;
- }
- }
- }
- }
- while ((width)&&(tpch!=-1)) {
- register unsigned long c=tpch&0xff;
-#ifdef WANT_LONGLONG_SCANF
- register unsigned long long d=c|0x20;
-#else
- register unsigned long d=c|0x20;
-#endif
- c=(d>='a'?d-'a'+10:c<='9'?c-'0':0xff);
- if (c>=_div) break;
- d=v*_div;
-#ifdef WANT_LONGLONG_SCANF
- v=(d<v)?ULLONG_MAX:d+c;
-#else
- v=(d<v)?ULONG_MAX:d+c;
-#endif
- --width;
- tpch=A_GETC(fn);
- }
- if ((ch|0x20)<'p') {
-#ifdef WANT_LONGLONG_SCANF
- register long long l=v;
- if (v>=-((unsigned long long)LLONG_MIN)) {
- l=(neg)?LLONG_MIN:LLONG_MAX;
- }
- else {
- if (neg) v*=-1;
- }
-#else
- register long l=v;
- if (v>=-((unsigned long)LONG_MIN)) {
- l=(neg)?LONG_MIN:LONG_MAX;
- }
- else {
- if (neg) v*=-1;
- }
-#endif
- }
- if (!flag_discard) {
-#ifdef WANT_LONGLONG_SCANF
- if (flag_longlong) {
- pll=(long long *)va_arg(arg_ptr,long long*);
- *pll=v;
- } else
-#endif
- if (flag_long) {
- pl=(long *)va_arg(arg_ptr,long*);
- *pl=v;
- } else if (flag_half) {
- ph=(short*)va_arg(arg_ptr,short*);
- *ph=v;
- } else {
- pi=(int *)va_arg(arg_ptr,int*);
- *pi=v;
- }
- if(consumedsofar<consumed)
- ++n;
- }
- }
- break;
-
-#ifdef WANT_FLOATING_POINT_IN_SCANF
- /* floating point numbers */
- case 'e':
- case 'E':
- case 'f':
- case 'g':
- {
- double d=0.0;
- int neg=0;
-
- while(isspace(tpch)) tpch=A_GETC(fn);
-
- if (tpch=='-') {
- tpch=A_GETC(fn);
- neg=1;
- }
- if (tpch=='+') tpch=A_GETC(fn);
-
- while (isdigit(tpch)) {
- d=d*10+(tpch-'0');
- tpch=A_GETC(fn);
- }
- if (tpch=='.') {
- double factor=.1;
- tpch=A_GETC(fn);
- while (isdigit(tpch)) {
- d=d+(factor*(tpch-'0'));
- factor/=10;
- tpch=A_GETC(fn);
- }
- }
- if ((tpch|0x20)=='e') {
- int exp=0, prec=tpch;
- double factor=10;
- tpch=A_GETC(fn);
- if (tpch=='-') {
- factor=0.1;
- tpch=A_GETC(fn);
- } else if (tpch=='+') {
- tpch=A_GETC(fn);
- } else {
- d=0;
- if (tpch!=-1) A_PUTC(tpch,fn);
- tpch=prec;
- goto exp_out;
- }
- while (isdigit(tpch)) {
- exp=exp*10+(tpch-'0');
- tpch=A_GETC(fn);
- }
- while (exp) { /* as in strtod: XXX: this introduces rounding errors */
- d*=factor; --exp;
- }
- }
-exp_out:
- 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;
- }
- break;
-#endif
-
- /* char-sequences */
- case 'c':
- if (!flag_discard) {
- s=(char *)va_arg(arg_ptr,char*);
- ++n;
- }
- if (!flag_width) width=1;
- while (width && (tpch!=-1)) {
- if (!flag_discard) *(s++)=tpch;
- --width;
- tpch=A_GETC(fn);
- }
- break;
-
- /* c-string */
- case 's':
- if (!flag_discard) s=(char *)va_arg(arg_ptr,char*);
- while(isspace(tpch)) tpch=A_GETC(fn);
- while (width && (tpch!=-1) && (!isspace(tpch))) {
- if (!flag_discard) *s=tpch;
- if (tpch) ++s; else break;
- --width;
- tpch=A_GETC(fn);
- }
- if (!flag_discard) { *s=0; n++; }
- break;
-
- /* consumed-count */
- case 'n':
- if (!flag_discard) {
- s=(char *)va_arg(arg_ptr,char*);
-// ++n; /* in accordance to ANSI C we don't count this conversion */
- }
- if (!flag_discard) *(s++)=consumed-1;
- 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 && (tpch>=0) && (cset[tpch]^flag_not)) {
- if (!flag_discard) *s=tpch;
- if (tpch) ++s; else break;
- --width;
- tpch=A_GETC(fn);
- }
- if (!flag_discard) *s=0;
- ++format;
- }
- break;
-#endif
- default:
- goto err_out;
- }
- }
- break;
-
- /* check if equal format string... */
- default:
- if ((unsigned char)tpch != ch) goto err_out;
- tpch=A_GETC(fn);
- break;
- }
- }
-err_out:
- if (tpch<0 && n==0) return EOF;
- A_PUTC(tpch,fn);
- return n;
-}
-
-link_warning("__v_scanf","warning: the scanf functions add several kilobytes of bloat.");
diff --git a/mdk-stage1/dietlibc/lib/_brk.c b/mdk-stage1/dietlibc/lib/_brk.c
deleted file mode 100644
index e73d7b621..000000000
--- a/mdk-stage1/dietlibc/lib/_brk.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-
-extern void* __diet_brk(void *end_data_segment);
-
-void* __curbrk=0;
-
-int __libc_brk(void *end_data_segment);
-
-int __libc_brk(void *end_data_segment) {
- return ((__curbrk=__diet_brk(end_data_segment))==(void*)-1?-1:0);
-}
-
-int brk(void *end_data_segment) __attribute__((weak,alias("__libc_brk")));
diff --git a/mdk-stage1/dietlibc/lib/abort.c b/mdk-stage1/dietlibc/lib/abort.c
deleted file mode 100644
index 7c49a32ef..000000000
--- a/mdk-stage1/dietlibc/lib/abort.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <sys/types.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#ifndef __PIC__
-void __stdio_flushall(void) __attribute__((weak));
-void __stdio_flushall(void) { }
-#endif
-
-void abort() {
- sigset_t t;
- __stdio_flushall();
- 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 d3b75f202..000000000
--- a/mdk-stage1/dietlibc/lib/abs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <endian.h>
-
-int abs(int i) { return i>=0?i:-i; }
-#if __WORDSIZE == 32
-long labs(long i) __attribute__((alias("abs")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/accept.c b/mdk-stage1/dietlibc/lib/accept.c
deleted file mode 100644
index 08359b894..000000000
--- a/mdk-stage1/dietlibc/lib/accept.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_accept(int a, void * addr, void * addr2);
-
-int __libc_accept(int a, void * addr, void * addr2) {
- unsigned long args[] = { a, (long) addr, (long) addr2 };
- return socketcall(SYS_ACCEPT, args);
-}
-
-int accept(int a, void * addr, void * addr2) __attribute__((weak,alias("__libc_accept")));
diff --git a/mdk-stage1/dietlibc/lib/adjtime.c b/mdk-stage1/dietlibc/lib/adjtime.c
deleted file mode 100644
index b8986be57..000000000
--- a/mdk-stage1/dietlibc/lib/adjtime.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <time.h>
-#include <sys/timex.h>
-
-int adjtime (const struct timeval *itv, struct timeval *otv) {
- struct timex tmp;
- if (itv) {
- tmp.offset = (itv->tv_usec % 1000000L) + (itv->tv_sec + itv->tv_usec / 1000000L) * 1000000L;
- tmp.modes = ADJ_OFFSET_SINGLESHOT;
- } else
- tmp.modes = 0;
- if (adjtimex(&tmp)==-1)
- return -1;
- if (otv) {
- otv->tv_usec = tmp.offset % 1000000;
- otv->tv_sec = tmp.offset / 1000000;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/alloc.c b/mdk-stage1/dietlibc/lib/alloc.c
deleted file mode 100644
index a2b3b73a1..000000000
--- a/mdk-stage1/dietlibc/lib/alloc.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * malloc/free by O.Dreesen
- *
- * first TRY:
- * lists w/magics
- * and now the second TRY
- * let the kernel map all the stuff (if there is something to do)
- */
-
-#include <unistd.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <sys/shm.h> /* for PAGE_SIZE */
-
-
-/* -- HELPER CODE --------------------------------------------------------- */
-
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void*)-1)
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-typedef union {
- void* next;
- size_t size;
-} __alloc_t;
-
-#define BLOCK_START(b) (((void*)(b))-sizeof(__alloc_t))
-#define BLOCK_RET(b) (((void*)(b))+sizeof(__alloc_t))
-
-#define MEM_BLOCK_SIZE PAGE_SIZE
-#define PAGE_ALIGN(s) (((s)+MEM_BLOCK_SIZE-1)&(unsigned long)(~(MEM_BLOCK_SIZE-1)))
-
-/* a simple mmap :) */
-
-#ifdef __i386__
-/* regparm exists only on i386 */
-static void *do_mmap(size_t size) __attribute__((regparm(1)));
-static size_t get_index(size_t _size) __attribute__((regparm(1)));
-static void* __small_malloc(size_t _size) __attribute__((regparm(1)));
-#endif
-
-static void *do_mmap(size_t size) {
- return mmap(0, size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, (size_t)0);
-}
-
-/* -- SMALL MEM ----------------------------------------------------------- */
-
-static __alloc_t* __small_mem[8];
-
-#define __SMALL_NR(i) (MEM_BLOCK_SIZE/(i))
-
-#define __MIN_SMALL_SIZE __SMALL_NR(256) /* 16 / 32 */
-#define __MAX_SMALL_SIZE __SMALL_NR(2) /* 2048 / 4096 */
-
-#define GET_SIZE(s) (__MIN_SMALL_SIZE<<get_index((s)))
-
-#define FIRST_SMALL(p) (((unsigned long)(p))&(~(MEM_BLOCK_SIZE-1)))
-
-static inline int __ind_shift() { return (MEM_BLOCK_SIZE==4096)?4:5; }
-
-static size_t get_index(size_t _size) {
- register size_t idx=0;
- if (_size) {
- register size_t size=((_size-1)&(MEM_BLOCK_SIZE-1))>>__ind_shift();
- while(size) { size>>=1; ++idx; }
- }
- return idx;
-}
-
-/* small mem */
-static void __small_free(void*_ptr,size_t _size) __attribute__((regparm(2)));
-
-static void __small_free(void*_ptr,size_t _size) {
- __alloc_t* ptr=BLOCK_START(_ptr);
- size_t size=_size;
- size_t idx=get_index(size);
-
- memset(ptr,0,size); /* allways zero out small mem */
-
- ptr->next=__small_mem[idx];
- __small_mem[idx]=ptr;
-}
-
-static void* __small_malloc(size_t _size) {
- __alloc_t *ptr;
- size_t size=_size;
- size_t idx;
-
- idx=get_index(size);
- ptr=__small_mem[idx];
-
- if (ptr==0) { /* no free blocks ? */
- register int i,nr;
- ptr=do_mmap(MEM_BLOCK_SIZE);
- if (ptr==MAP_FAILED) return MAP_FAILED;
-
- __small_mem[idx]=ptr;
-
- nr=__SMALL_NR(size)-1;
- for (i=0;i<nr;i++) {
- ptr->next=(((void*)ptr)+size);
- ptr=ptr->next;
- }
- ptr->next=0;
-
- ptr=__small_mem[idx];
- }
-
- /* get a free block */
- __small_mem[idx]=ptr->next;
- ptr->next=0;
-
- return ptr;
-}
-
-/* -- PUBLIC FUNCTIONS ---------------------------------------------------- */
-
-static void _alloc_libc_free(void *ptr) {
- register size_t size;
- if (ptr) {
- size=((__alloc_t*)BLOCK_START(ptr))->size;
- if (size) {
- if (size<=__MAX_SMALL_SIZE)
- __small_free(ptr,size);
- else
- munmap(BLOCK_START(ptr),size);
- }
- }
-}
-void __libc_free(void *ptr) __attribute__((alias("_alloc_libc_free")));
-void free(void *ptr) __attribute__((weak,alias("_alloc_libc_free")));
-void if_freenameindex(void* ptr) __attribute__((alias("free")));
-
-#ifdef WANT_MALLOC_ZERO
-static __alloc_t zeromem[2]={{0},{0}};
-#endif
-
-static void* _alloc_libc_malloc(size_t size) {
- __alloc_t* ptr;
- size_t need;
-#ifdef WANT_MALLOC_ZERO
- if (!size) return BLOCK_RET(zeromem);
-#else
- if (!size) goto retzero;
-#endif
- size+=sizeof(__alloc_t);
- if (size<sizeof(__alloc_t)) goto retzero;
- if (size<=__MAX_SMALL_SIZE) {
- need=GET_SIZE(size);
- ptr=__small_malloc(need);
- }
- else {
- need=PAGE_ALIGN(size);
- if (!need) ptr=MAP_FAILED; else ptr=do_mmap(need);
- }
- if (ptr==MAP_FAILED) goto err_out;
- ptr->size=need;
- return BLOCK_RET(ptr);
-err_out:
- (*__errno_location())=ENOMEM;
-retzero:
- return 0;
-}
-void* __libc_malloc(size_t size) __attribute__((alias("_alloc_libc_malloc")));
-void* malloc(size_t size) __attribute__((weak,alias("_alloc_libc_malloc")));
-
-void *calloc(size_t nmemb, size_t _size) {
- register size_t size=_size*nmemb;
- if (nmemb && size/nmemb!=_size) {
- (*__errno_location())=ENOMEM;
- return 0;
- }
- return malloc(size);
-}
-
-void* __libc_realloc(void* ptr, size_t _size);
-void* __libc_realloc(void* ptr, size_t _size) {
- register size_t size=_size;
- if (ptr) {
- if (size) {
- __alloc_t* tmp=BLOCK_START(ptr);
- size+=sizeof(__alloc_t);
- if (size<sizeof(__alloc_t)) goto retzero;
- size=(size<=__MAX_SMALL_SIZE)?GET_SIZE(size):PAGE_ALIGN(size);
- if (tmp->size!=size) {
- if ((tmp->size<=__MAX_SMALL_SIZE)) {
- void *new=_alloc_libc_malloc(_size);
- if (new) {
- register __alloc_t* foo=BLOCK_START(new);
- size=foo->size;
- if (size>tmp->size) size=tmp->size;
- if (size) memcpy(new,ptr,size-sizeof(__alloc_t));
- _alloc_libc_free(ptr);
- }
- ptr=new;
- }
- else {
- register __alloc_t* foo;
- size=PAGE_ALIGN(size);
- foo=mremap(tmp,tmp->size,size,MREMAP_MAYMOVE);
- if (foo==MAP_FAILED) {
-retzero:
- (*__errno_location())=ENOMEM;
- ptr=0;
- }
- else {
- foo->size=size;
- ptr=BLOCK_RET(foo);
- }
- }
- }
- }
- else { /* size==0 */
- _alloc_libc_free(ptr);
- }
- }
- else { /* ptr==0 */
- if (size) {
- ptr=_alloc_libc_malloc(size);
- }
- }
- return ptr;
-}
-void* realloc(void* ptr, size_t size) __attribute__((weak,alias("__libc_realloc")));
-
diff --git a/mdk-stage1/dietlibc/lib/assert_fail.c b/mdk-stage1/dietlibc/lib/assert_fail.c
deleted file mode 100644
index 35b8b186a..000000000
--- a/mdk-stage1/dietlibc/lib/assert_fail.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "dietwarning.h"
-#include <write12.h>
-
-void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function);
-
-void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function)
-{
- unsigned int alen=strlen(assertion);
- unsigned int flen=strlen(file);
- unsigned int fulen=function?strlen(function):0;
- 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");
- __write2(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 e0eef19c6..000000000
--- a/mdk-stage1/dietlibc/lib/atexit.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <stdlib.h>
-
-typedef void (*function)(void);
-
-#define NUM_ATEXIT 32
-
-static function __atexitlist[NUM_ATEXIT];
-static int atexit_counter = 0;
-
-int atexit(function t) {
- if (atexit_counter<NUM_ATEXIT) {
- __atexitlist[atexit_counter]=t;
- ++atexit_counter;
- return 0;
- }
- return -1;
-}
-
-extern void _exit(int code) __attribute__((noreturn));
-extern void __thread_doexit();
-
-void __libc_exit(int code);
-void __libc_exit(int code) {
- register int i=atexit_counter;
- __thread_doexit();
- while(i) {
- __atexitlist[--i]();
- }
- _exit(code);
-}
-void exit(int code) __attribute__((alias("__libc_exit")));
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 10b618950..000000000
--- a/mdk-stage1/dietlibc/lib/atoi.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <endian.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-#if __WORDSIZE == 64
-int atoi(const char* s) {
- long int v=0;
- int sign=1;
- while ( *s == ' ' || (unsigned int)(*s - 9) < 5u) s++;
- switch (*s) {
- case '-': sign=-1;
- case '+': ++s;
- }
- while ((unsigned int) (*s - '0') < 10u) {
- v=v*10+*s-'0'; ++s;
- }
- return sign==-1?-v:v;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/atol.c b/mdk-stage1/dietlibc/lib/atol.c
deleted file mode 100644
index 5961a1881..000000000
--- a/mdk-stage1/dietlibc/lib/atol.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <endian.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-long int atol(const char* s) {
- long int v=0;
- int sign=0;
- while ( *s == ' ' || (unsigned int)(*s - 9) < 5u) ++s;
- switch (*s) {
- case '-': sign=-1;
- case '+': ++s;
- }
- while ((unsigned int) (*s - '0') < 10u) {
- v=v*10+*s-'0'; ++s;
- }
- return sign?-v:v;
-}
-
-#if __WORDSIZE == 64
-long long int atoll(const char* s) __attribute__((alias("atol")));
-#else
-int atoi(const char* s) __attribute__((alias("atol")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/atoll.c b/mdk-stage1/dietlibc/lib/atoll.c
deleted file mode 100644
index 7bf2b2fd6..000000000
--- a/mdk-stage1/dietlibc/lib/atoll.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <endian.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-#if __WORDSIZE != 64
-long long int atoll(const char* s) {
- long long int v=0;
- int sign=1;
- while ( *s == ' ' || (unsigned int)(*s - 9) < 5u) ++s;
- switch (*s) {
- case '-': sign=-1;
- case '+': ++s;
- }
- while ((unsigned int) (*s - '0') < 10u) {
- v=v*10+*s-'0'; ++s;
- }
- return sign==-1?-v:v;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/bcd.c b/mdk-stage1/dietlibc/lib/bcd.c
deleted file mode 100644
index 1936b82f6..000000000
--- a/mdk-stage1/dietlibc/lib/bcd.c
+++ /dev/null
@@ -1,185 +0,0 @@
-
-static long double powers [] = {
- 1.e+1, 1.e+2, 1.e+4, 1.e+8, 1.e+16, 1.e+32, 1.e+64, 1.e+128, 1.e+256
-};
-
-/*
- * So, die ist zum Zerlegen von Gleitkommazahlen am besten geeignet.
- *
- * Die nichtnegative bergebende Gleitkommazahl number wird in einen
- * Exponenten e und eine Mantisse m zerlegt mit:
- *
- * 1 <= m < 10
- * number = m * 10^e
- *
- * Die Mantisse wird in precision Dezimalstellen zerlegt, die nach digits
- * geschrieben werden. digits[0] ist die Vorkommastelle, digits [1 ...
- * precision-1] die Nachkommastellen der Mantisse Zurckgeliefert wird der
- * Exponent.
- *
- * Fr precision ist ein Wert von 0 erlaubt, Sinn machen allerdings erst
- * Werte ab 1.
- */
-
-int __decompose_floatp ( long double number,
- unsigned char* digits, unsigned int precision );
-
-int __decompose_floatp ( long double number,
- unsigned char* digits, unsigned int precision )
-{
- int ret = 0;
- int i;
- double tmp;
-
- if ( number > 0.L ) {
-
- // Exponent abtrennen
- if ( number >= 10.L ) {
- for ( i = sizeof(powers)/sizeof(*powers)-1; i >= 0; i--)
- if ( number >= powers [i] ) {
- number /= powers [i];
- ret += 1 << i;
- }
- } else if ( number < 1.L )
- for ( i = sizeof(powers)/sizeof(*powers)-1; i >= 0; i--)
- if ( number * powers [i] < 10.L ) {
- number *= powers [i];
- ret -= 1 << i;
- }
-
- // Runden (ohne Geradezahlregel => Bug)
- tmp = 5.;
- {
- unsigned int j;
- for ( j = 0; j < precision; j++ )
- tmp *= 0.1;
- }
-
- number += tmp;
-
- // Dabei kann die Zahl in die nchste Dekade reinrutschen ...
- if ( number >= 10.L ) {
- number = 1.L;
- ret++;
- }
- }
-
- // Mantisse in ASCII konvertieren
- while ( precision-- ) {
- i = (int) number;
- number = (number - i) * 10.L;
- *digits++ = '0' + i;
- }
-
- // Exponent zurck
- return ret;
-}
-
-
-/*
- * So, die ist zum Zerlegen von Festkommazahlen am besten geeignet.
- *
- * Die nichtnegative bergebende Festkomma wird in einen Integeranteil und
- * einen Bruchanteil zerlegt.
- *
- * Der Bruchanteil wird in digits_frac[0...precision_frac-1] gespeichert,
- * falls precision_frac != 0 ist.
- *
- * Der Integeranteil wird ab digits_int + precision_int - 1 rckwrts
- * geschrieben. Zurckgeliefert wird ein Zeiger auf das erste Zeichen, das
- * bei der Konvertierung != '0' ist (Ausnahme ist die 0.0 selbst). Zeichen
- * zwischen digits_int und diesem Zeiger (exklusive des Zeichens unter dem
- * Zeiger) sind unbestimmt. Wnscht man dort Nullen oder Leerzeichen,
- * sollte man mittels memset() dieses vorher initialsieren.
- */
-
-char* __decompose_fixp ( long double number,
- unsigned char* digits_int , unsigned int precision_int,
- unsigned char* digits_frac, unsigned int precision_frac );
-
-char* __decompose_fixp ( long double number,
- unsigned char* digits_int , unsigned int precision_int,
- unsigned char* digits_frac, unsigned int precision_frac )
-{
- long long int integer;
- double tmp;
- int i;
-
- // Runden (ohne Geradezahlregel => Bug)
- tmp = 0.5;
- {
- unsigned int j;
- for ( j = 0; j < precision_frac; j++ )
- tmp *= 0.1;
- }
-
- number += tmp;
-
- integer = number;
- number -= integer;
-
- // Nachkommastellen
- while ( precision_frac-- ) {
- number *= 10.L;
- i = (int) number;
- number -= i;
- *digits_frac++
- = '0' + i;
- }
-
- // Vorkommastellen
- while ( precision_int ) {
- i = (int) (integer % 10);
- integer /= 10;
- digits_int [--precision_int]
- = '0' + i;
- if ( integer == 0 )
- break;
- }
-
- return digits_int + precision_int;
-}
-
-
-#if 0
-
-#include <stdio.h>
-#include <math.h>
-
-long double test [] = {
- 1, M_PI, 123, 123456789, 12345678901234567, 1e300, 0.00123456789, 1.234567890123456e-300, 0
-};
-
-int main ( void )
-{
- int i;
- int j;
- int k;
- char buff1 [32];
- char buff2 [32];
- char* retp;
- int ret;
-
- for ( i = 0; i < sizeof(test)/sizeof(*test); i++ ) {
- printf ("\n*** %30.20Lf ***\n\n", test[i] );
-
- for ( j = 0; j <= 20; j++ ) {
- memset ( buff1, 0, sizeof(buff1) );
- ret = __decompose_floatp ( test[i], buff1, j );
- printf ( "floatp(%2u) = <%sE%+d>\n", j, buff1, ret );
- }
- for ( j = 0; j <= 20; j++ ) {
- for ( k = 0; k <= 20; k++ ) {
- memset ( buff1, 0, sizeof(buff1) );
- memset ( buff2, 0, sizeof(buff2) );
- retp = __decompose_fixp ( test[i], buff1, j, buff2, k );
- printf ( "fixp(%2u,%2u) = <%s.%s>\n", j, k, retp, buff2 );
- }
- }
-
- }
-
- return 0;
-}
-
-#endif
diff --git a/mdk-stage1/dietlibc/lib/bind.c b/mdk-stage1/dietlibc/lib/bind.c
deleted file mode 100644
index dae80f491..000000000
--- a/mdk-stage1/dietlibc/lib/bind.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_bind(int a, void * b, int c);
-int __libc_bind(int a, void * b, int c) {
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_BIND, args);
-}
-
-int bind(int a, void * b, int c) __attribute__((weak,alias("__libc_bind")));
diff --git a/mdk-stage1/dietlibc/lib/binshstr.c b/mdk-stage1/dietlibc/lib/binshstr.c
deleted file mode 100644
index 814297e3d..000000000
--- a/mdk-stage1/dietlibc/lib/binshstr.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "binshstr.h"
-
-const char __binsh [] = "/bin/sh";
-
-/* end of binshstr.c */
diff --git a/mdk-stage1/dietlibc/lib/bsearch.c b/mdk-stage1/dietlibc/lib/bsearch.c
deleted file mode 100644
index 14605f1f6..000000000
--- a/mdk-stage1/dietlibc/lib/bsearch.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <assert.h>
-#include <stdlib.h>
-
-void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- size_t m;
- while (nmemb) {
- int tmp;
- void *p;
- m=nmemb/2;
- p=(void *) (((const char *) base) + (m * size));
- if ((tmp=(*compar)(key,p))<0) {
- nmemb=m;
- } else if (tmp>0) {
- base=p+size;
- nmemb-=m+1;
- } else
- return p;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/cfgetospeed.c b/mdk-stage1/dietlibc/lib/cfgetospeed.c
deleted file mode 100644
index c330352b2..000000000
--- a/mdk-stage1/dietlibc/lib/cfgetospeed.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <termios.h>
-#include <sys/types.h>
-
-speed_t cfgetospeed(struct termios *termios_p) {
- return ((termios_p->c_cflag & (CBAUD|CBAUDEX)));
-}
-
-speed_t cfgetispeed(struct termios *termios_p) __attribute__((weak,alias("cfgetospeed")));
diff --git a/mdk-stage1/dietlibc/lib/cfmakeraw.c b/mdk-stage1/dietlibc/lib/cfmakeraw.c
deleted file mode 100644
index e33c783c9..000000000
--- a/mdk-stage1/dietlibc/lib/cfmakeraw.c
+++ /dev/null
@@ -1,13 +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/cfsetispeed.c b/mdk-stage1/dietlibc/lib/cfsetispeed.c
deleted file mode 100644
index ab0333853..000000000
--- a/mdk-stage1/dietlibc/lib/cfsetispeed.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <termios.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-#define IBAUD0 020000000000
-
-int cfsetispeed(struct termios *termios_p, speed_t speed)
-{
- if ((speed & (speed_t)~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/cfsetospeed.c b/mdk-stage1/dietlibc/lib/cfsetospeed.c
deleted file mode 100644
index d1aee3595..000000000
--- a/mdk-stage1/dietlibc/lib/cfsetospeed.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <termios.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-int cfsetospeed(struct termios *termios_p, speed_t speed) {
- if ((speed & (speed_t)~CBAUD) != 0 && (speed < B57600 || speed > B460800)) {
- errno=EINVAL;
- return -1;
- }
- termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
- termios_p->c_cflag |= speed;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/closedir.c b/mdk-stage1/dietlibc/lib/closedir.c
deleted file mode 100644
index 3aade81b3..000000000
--- a/mdk-stage1/dietlibc/lib/closedir.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "dietdirent.h"
-#include <sys/mman.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-
-int closedir (DIR* d) {
- int res=close(d->fd);
- munmap (d, PAGE_SIZE);
- return res;
-}
diff --git a/mdk-stage1/dietlibc/lib/connect.c b/mdk-stage1/dietlibc/lib/connect.c
deleted file mode 100644
index 642303ef3..000000000
--- a/mdk-stage1/dietlibc/lib/connect.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_connect(int a, void * b, int c);
-int __libc_connect(int a, void * b, int c) {
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_CONNECT, args);
-}
-
-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 41d8236aa..000000000
--- a/mdk-stage1/dietlibc/lib/creat.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <fcntl.h>
-
-int __libc_creat(const char *file,mode_t mode);
-int __libc_creat(const char *file,mode_t mode) {
- return open(file,O_WRONLY|O_CREAT|O_TRUNC,mode);
-}
-int creat(const char *file,mode_t mode) __attribute__((weak,alias("__libc_creat")));
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/errlistu.c b/mdk-stage1/dietlibc/lib/errlistu.c
deleted file mode 100644
index 15e38807b..000000000
--- a/mdk-stage1/dietlibc/lib/errlistu.c
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * used by perror() and strerror()
- */
-
-const char __sys_err_unknown [] = "[unknown error]";
-
diff --git a/mdk-stage1/dietlibc/lib/errno_location.c b/mdk-stage1/dietlibc/lib/errno_location.c
deleted file mode 100644
index 298c9c3cf..000000000
--- a/mdk-stage1/dietlibc/lib/errno_location.c
+++ /dev/null
@@ -1,5 +0,0 @@
-extern int errno;
-
-int *__errno_location(void) __attribute__((weak));
-int *__errno_location() { return &errno; }
-
diff --git a/mdk-stage1/dietlibc/lib/exec_lib.c b/mdk-stage1/dietlibc/lib/exec_lib.c
deleted file mode 100644
index 575c03d6d..000000000
--- a/mdk-stage1/dietlibc/lib/exec_lib.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <unistd.h>
-#include <paths.h>
-
-extern char **environ;
-
-int __exec_shell(const char *file, char *const argv[]);
-int __exec_shell(const char *file, char *const argv[]) {
- int i;
-
- for (i = 0; argv[i]; i++);
-
- {
- const char *shell_argv[i + 1];
- shell_argv[0] = _PATH_BSHELL;
- shell_argv[1] = file;
- for (; i > 1; i--)
- shell_argv[i] = argv[i - 1];
- return execve(_PATH_BSHELL, (char*const*)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 360bd3908..000000000
--- a/mdk-stage1/dietlibc/lib/execl.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.h>
-#include "dietfeatures.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);
- }
- errno=ENOMEM;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/execle.c b/mdk-stage1/dietlibc/lib/execle.c
deleted file mode 100644
index 6d05c48a0..000000000
--- a/mdk-stage1/dietlibc/lib/execle.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.h>
-#include "dietfeatures.h"
-
-int execle( const char *path,...) {
- va_list ap;
- int n,i;
- char **argv,*tmp, **env;
- 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 *);
- env=va_arg(ap, char **);
- va_end (ap);
- return execve(path,argv,env);
- }
- 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 27dc0bb95..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 "dietfeatures.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]=(char*)arg;
- for (i=0; i<n; ++i)
- argv[i+1]=va_arg(bak,char *);
- va_end (bak);
- return execvp(file,argv);
- }
- 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 d7acfa29f..000000000
--- a/mdk-stage1/dietlibc/lib/execv.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include "exec_lib.h"
-#include "dietfeatures.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 72447af7a..000000000
--- a/mdk-stage1/dietlibc/lib/execvp.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include "exec_lib.h"
-#include "dietfeatures.h"
-
-int execvp(const char *file, char *const argv[]) {
- const 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=(char*)path; cur; cur=next) {
- next=strchr(cur,':');
- if (!next)
- next=cur+strlen(cur);
- if (next==cur) {
- buf[0]='.';
- cur--;
- } else {
- if (next-cur>=PATH_MAX-3) { error: errno=EINVAL; return -1; }
- memmove(buf,cur,(size_t)(next-cur));
- }
- buf[next-cur]='/';
- {
- int len=strlen(file);
- if (len+(next-cur)>=PATH_MAX-2) goto error;
- 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 af13a7f86..000000000
--- a/mdk-stage1/dietlibc/lib/ftw.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <sys/stat.h>
-#include <unistd.h>
-#include <limits.h>
-#include <ftw.h>
-#include <dirent.h>
-#include <string.h>
-#include <stdlib.h>
-#include "dietdirent.h"
-
-int ftw(const char*dir,int(*f)(const char*file,const struct stat*sb,int flag),int dpth){
- char* cd;
- size_t cdl;
- DIR* d;
- struct dirent* de;
- struct stat sb;
- int r;
- unsigned int oldlen=0;
- char* filename; /* the warning gcc issues here is bogus */
- if(chdir(dir))return-1;
- cd=alloca(PATH_MAX+1);
- if(!getcwd(cd,PATH_MAX))return-1;
- cd[PATH_MAX]='\0';
- cdl=strlen(cd);
- if(!(d=opendir(".")))return-1;
- while((de=readdir(d))){
- int flg;
- size_t nl;
- if(de->d_name[0]=='.'){if(!de->d_name[1])continue;if(de->d_name[1]=='.'&&!de->d_name[2])continue;}
- nl=strlen(de->d_name);
- if (nl+cdl+2>oldlen)
- filename=alloca(oldlen=nl+cdl+2);
- memmove(filename,cd,cdl);
- filename[cdl]='/';
- memmove(filename+cdl+1,de->d_name,nl+1);
- if(!lstat(de->d_name,&sb)){
- if(S_ISLNK(sb.st_mode))flg=FTW_SL;else if(S_ISDIR(sb.st_mode))flg=FTW_D;else flg=FTW_F;
- }else flg=FTW_NS;
- r=f(filename,&sb,flg);
- if(r){closedir(d);return r;}
- if(flg==FTW_D&&dpth){
- r=ftw(filename,f,dpth-1);
- fchdir(d->fd);
- if (r){closedir(d);return r;}
- }
- }
- return closedir(d);
-}
diff --git a/mdk-stage1/dietlibc/lib/getdomainname.c b/mdk-stage1/dietlibc/lib/getdomainname.c
deleted file mode 100644
index 75486b010..000000000
--- a/mdk-stage1/dietlibc/lib/getdomainname.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#define _GNU_SOURCE
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-#include <unistd.h>
-
-int getdomainname(char *name,size_t len) {
- struct utsname u;
- int res=uname(&u);
- if (res==0) {
- size_t 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 5b529c17f..000000000
--- a/mdk-stage1/dietlibc/lib/getenv.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-
-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 c3d2f3d5e..000000000
--- a/mdk-stage1/dietlibc/lib/gethostname.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#define _GNU_SOURCE
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-#include <unistd.h>
-
-int gethostname(char *name,size_t len) {
- struct utsname u;
- int res=uname(&u);
- if (res==0) {
- size_t 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 aa1988f8d..000000000
--- a/mdk-stage1/dietlibc/lib/getopt.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <string.h>
-#include <getopt.h>
-
-static void getopterror(int which) {
- static char error1[]="Unknown option `-x'.\n";
- static char error2[]="Missing argument for `-x'.\n";
- if (opterr) {
- if (which) {
- error2[23]=optopt;
- write(2,error2,28);
- } else {
- error1[17]=optopt;
- write(2,error1,22);
- }
- }
-}
-
-int getopt(int argc, char * const argv[], const char *optstring) {
- static int lastidx=0,lastofs=0;
- char *tmp;
- if (optind==0) optind=1; /* whoever started setting optind to 0 should be shot */
-again:
- if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0)
- return -1;
- if (argv[optind][1]=='-' && argv[optind][2]==0) {
- ++optind;
- return -1;
- }
- if (lastidx!=optind) {
- lastidx=optind; lastofs=0;
- }
- optopt=argv[optind][lastofs+1];
- if ((tmp=strchr(optstring,optopt))) {
- if (*tmp==0) { /* apparently, we looked for \0, i.e. end of argument */
- ++optind;
- goto again;
- }
- if (tmp[1]==':') { /* argument expected */
- if (tmp[2]==':' || argv[optind][lastofs+2]) { /* "-foo", return "oo" as optarg */
- if (!*(optarg=argv[optind]+lastofs+2)) optarg=0;
- goto found;
- }
- optarg=argv[optind+1];
- if (!optarg) { /* missing argument */
- ++optind;
- if (*optstring==':') return ':';
- getopterror(1);
- return ':';
- }
- ++optind;
- } else {
- ++lastofs;
- return optopt;
- }
-found:
- ++optind;
- return optopt;
- } else { /* not found */
- getopterror(0);
- ++optind;
- return '?';
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/getpeername.c b/mdk-stage1/dietlibc/lib/getpeername.c
deleted file mode 100644
index c806c720d..000000000
--- a/mdk-stage1/dietlibc/lib/getpeername.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_getpeername(int a, void * b, int *c);
-int __libc_getpeername(int a, void * b, int *c) {
- unsigned long args[] = { a, (long) b, (long) c };
- return socketcall(SYS_GETPEERNAME, args);
-}
-
-int getpeername(int a, struct sockaddr* b, socklen_t *c) __attribute__((weak,alias("__libc_getpeername")));
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/getsockname.c b/mdk-stage1/dietlibc/lib/getsockname.c
deleted file mode 100644
index 6c81e317d..000000000
--- a/mdk-stage1/dietlibc/lib/getsockname.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_getsockname(int a, void * b, int c);
-int __libc_getsockname(int a, void * b, int c) {
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_GETSOCKNAME, args);
-}
-
-int getsockname(int a, struct sockaddr* b, socklen_t* c) __attribute__((weak,alias("__libc_getsockname")));
diff --git a/mdk-stage1/dietlibc/lib/getsockopt.c b/mdk-stage1/dietlibc/lib/getsockopt.c
deleted file mode 100644
index 05b71d77d..000000000
--- a/mdk-stage1/dietlibc/lib/getsockopt.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_getsockopt(int a, int b, int c, void *d, int e);
-int __libc_getsockopt(int a, int b, int c, void *d, int e) {
- unsigned long args[] = { a, b, c, (long)d, e };
- return socketcall(SYS_GETSOCKOPT, args);
-}
-
-int getsockopt(int s, int level, int optname, void * optval, socklen_t *optlen) __attribute__((weak,alias("__libc_getsockopt")));
diff --git a/mdk-stage1/dietlibc/lib/htonl.c b/mdk-stage1/dietlibc/lib/htonl.c
deleted file mode 100644
index 4096d04f5..000000000
--- a/mdk-stage1/dietlibc/lib/htonl.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <endian.h>
-#include <netinet/in.h>
-
-uint32_t htonl(uint32_t hostlong) {
-#if __BYTE_ORDER==__LITTLE_ENDIAN
- return (hostlong>>24) | ((hostlong&0xff0000)>>8) |
- ((hostlong&0xff00)<<8) | (hostlong<<24);
-#else
- return hostlong;
-#endif
-}
-
-uint32_t ntohl(uint32_t 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 a64483174..000000000
--- a/mdk-stage1/dietlibc/lib/htons.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <endian.h>
-#include <netinet/in.h>
-
-uint16_t htons(uint16_t hostshort) {
-#if __BYTE_ORDER==__LITTLE_ENDIAN
- return ((hostshort>>8)&0xff) | (hostshort<<8);
-#else
- return hostshort;
-#endif
-}
-
-uint16_t ntohs(uint16_t 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 cc3111ed8..000000000
--- a/mdk-stage1/dietlibc/lib/if_indextoname.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <net/if.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_nameindex.c b/mdk-stage1/dietlibc/lib/if_nameindex.c
deleted file mode 100644
index fc0e1c0ff..000000000
--- a/mdk-stage1/dietlibc/lib/if_nameindex.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <net/if.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/ioctl.h>
-#include <stdio.h>
-
-struct if_nameindex* if_nameindex(void) {
- struct ifconf ic;
- int fd,len,i;
- struct if_nameindex* x,* y;
- char *dest;
- fd=socket(AF_INET6,SOCK_DGRAM,0);
- if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0);
- ic.ifc_buf=0;
- ic.ifc_len=0;
- if (ioctl(fd,SIOCGIFCONF,&ic)<0) {
-b0rken:
- close(fd);
- return 0;
- }
- ic.ifc_buf=alloca((size_t)ic.ifc_len);
- if (ioctl(fd,SIOCGIFCONF,&ic)<0) goto b0rken;
- len=(ic.ifc_len/sizeof(struct ifreq));
- x=(struct if_nameindex*)malloc((len+1)*sizeof(struct if_nameindex)+len*IFNAMSIZ);
- if (!x) goto b0rken;
- dest=(char*)(x+len+1);
- y=x;
- for (i=0; i<len; ++i) {
- struct ifreq* ir=(struct ifreq*)&ic.ifc_req[i];
- y->if_name=dest;
- memcpy(dest,ir->ifr_name,IFNAMSIZ);
- if (ioctl(fd,SIOCGIFINDEX,ir)==-1) continue;
- y->if_index=ir->ifr_ifindex;
- dest+=IFNAMSIZ;
- ++y;
- }
- y->if_name=0; y->if_index=0;
- return x;
-}
diff --git a/mdk-stage1/dietlibc/lib/if_nametoindex.c b/mdk-stage1/dietlibc/lib/if_nametoindex.c
deleted file mode 100644
index c9dd1b051..000000000
--- a/mdk-stage1/dietlibc/lib/if_nametoindex.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <net/if.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <sys/socket.h>
-
-#ifndef SOCK_DGRAM
-#define SOCK_DGRAM 2
-#endif
-
-unsigned int if_nametoindex(const 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/ipv6constants.c b/mdk-stage1/dietlibc/lib/ipv6constants.c
deleted file mode 100644
index 1d5cb1f08..000000000
--- a/mdk-stage1/dietlibc/lib/ipv6constants.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "netinet/in.h"
-
-const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT;
-const struct in6_addr in6addr_loopback = IN6ADDR_LOOPBACK_INIT;
diff --git a/mdk-stage1/dietlibc/lib/isalnum.c b/mdk-stage1/dietlibc/lib/isalnum.c
deleted file mode 100644
index 3192cc20d..000000000
--- a/mdk-stage1/dietlibc/lib/isalnum.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <ctype.h>
-
-int __isalnum_ascii ( int ch );
-int __isalnum_ascii ( int ch ) {
- return (unsigned int)((ch | 0x20) - 'a') < 26u ||
- (unsigned int)( ch - '0') < 10u;
-}
-
-int isalnum ( int ch ) __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 efd8b1940..000000000
--- a/mdk-stage1/dietlibc/lib/isalpha.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __isalpha_ascii ( int ch );
-int __isalpha_ascii ( int ch ) {
- return (unsigned int)((ch | 0x20) - 'a') < 26u;
-}
-
-int isalpha ( int ch ) __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 57a23ba44..000000000
--- a/mdk-stage1/dietlibc/lib/isascii.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isascii ( int ch )
-{
- return (unsigned int)ch < 128u;
-}
diff --git a/mdk-stage1/dietlibc/lib/isatty.c b/mdk-stage1/dietlibc/lib/isatty.c
deleted file mode 100644
index 4858a364d..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>
-#include <errno.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-
-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 f13ca304a..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 98dbae6f3..000000000
--- a/mdk-stage1/dietlibc/lib/iscntrl.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __iscntrl_ascii ( int ch );
-int __iscntrl_ascii ( int ch ) {
- return (unsigned int)ch < 32u || ch == 127;
-}
-
-int iscntrl ( int ch ) __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 d04d281a8..000000000
--- a/mdk-stage1/dietlibc/lib/isdigit.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __isdigit_ascii ( int ch );
-int __isdigit_ascii ( int ch ) {
- return (unsigned int)(ch - '0') < 10u;
-}
-
-int isdigit ( int ch ) __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 83419e788..000000000
--- a/mdk-stage1/dietlibc/lib/isgraph.c
+++ /dev/null
@@ -1,6 +0,0 @@
-int __isgraph_ascii ( int ch );
-int __isgraph_ascii ( int ch ) {
- return (unsigned int)(ch - '!') < 127u - '!';
-}
-
-int isgraph ( int ch ) __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 8d219c43a..000000000
--- a/mdk-stage1/dietlibc/lib/islower.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __islower_ascii ( int ch );
-int __islower_ascii ( int ch ) {
- return (unsigned int) (ch - 'a') < 26u;
-}
-
-int islower ( int ch ) __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 51ff5b6ee..000000000
--- a/mdk-stage1/dietlibc/lib/isprint.c
+++ /dev/null
@@ -1,7 +0,0 @@
-
-int __isprint_ascii ( int ch );
-int __isprint_ascii ( int ch ) {
- return (unsigned int)(ch - ' ') < 127u - ' ';
-}
-
-int isprint ( int ch ) __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 8bbfcdb5a..000000000
--- a/mdk-stage1/dietlibc/lib/ispunct.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <ctype.h>
-
-int __ispunct_ascii ( int ch );
-int __ispunct_ascii ( int ch )
-{
- return isprint (ch) && !isalnum (ch) && !isspace (ch);
-}
-
-int ispunct ( int ch ) __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 bfa46648b..000000000
--- a/mdk-stage1/dietlibc/lib/isspace.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <ctype.h>
-
-int __isspace_ascii ( int ch );
-int __isspace_ascii ( int ch )
-{
- return (unsigned int)(ch - 9) < 5u || ch == ' ';
-}
-
-int isspace ( int ch ) __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 048d4fd6c..000000000
--- a/mdk-stage1/dietlibc/lib/isupper.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <ctype.h>
-
-int __isupper_ascii ( int ch );
-int __isupper_ascii ( int ch )
-{
- return (unsigned int)(ch - 'A') < 26u;
-}
-
-int isupper ( int ch ) __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 bca8e74ac..000000000
--- a/mdk-stage1/dietlibc/lib/isxdigit.c
+++ /dev/null
@@ -1,8 +0,0 @@
-int __isxdigit_ascii ( int ch );
-int __isxdigit_ascii ( int ch )
-{
- return (unsigned int)( ch - '0') < 10u ||
- (unsigned int)((ch | 0x20) - 'a') < 6u;
-}
-
-int isxdigit ( int ch ) __attribute__((weak,alias("__isxdigit_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/labs.c b/mdk-stage1/dietlibc/lib/labs.c
deleted file mode 100644
index 364557f40..000000000
--- a/mdk-stage1/dietlibc/lib/labs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <endian.h>
-
-#if __WORDSIZE == 64
-long int labs(long int i) { return i>=0?i:-i; }
-long long int llabs(long long int i) __attribute__((alias("labs")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/listen.c b/mdk-stage1/dietlibc/lib/listen.c
deleted file mode 100644
index 661b86a63..000000000
--- a/mdk-stage1/dietlibc/lib/listen.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_listen(int a, int b);
-int __libc_listen(int a, int b) {
- unsigned long args[] = { a, b, 0 };
- return socketcall(SYS_LISTEN, args);
-}
-
-int listen(int s, int backlog) __attribute__((weak,alias("__libc_listen")));
diff --git a/mdk-stage1/dietlibc/lib/llabs.c b/mdk-stage1/dietlibc/lib/llabs.c
deleted file mode 100644
index bcbd3dc78..000000000
--- a/mdk-stage1/dietlibc/lib/llabs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <endian.h>
-#include <stdlib.h>
-
-#if __WORDSIZE != 64
-long long int llabs(long long int i) { if (i<0) i=-i; return i; }
-#endif
diff --git a/mdk-stage1/dietlibc/lib/lockf.c b/mdk-stage1/dietlibc/lib/lockf.c
deleted file mode 100644
index 1b6fcb80c..000000000
--- a/mdk-stage1/dietlibc/lib/lockf.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include "dietfeatures.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 6f1afb4b1..000000000
--- a/mdk-stage1/dietlibc/lib/longjmp.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <setjmp.h>
-#include <signal.h>
-
-void __longjmp(void*env,int val);
-
-void __libc_longjmp(sigjmp_buf env,int val);
-void __libc_longjmp(sigjmp_buf env,int val) {
- if (env[0].__mask_was_saved) {
- sigprocmask(SIG_SETMASK,(sigset_t*)&env[0].__saved_mask,0);
- }
- if (val==0) val=1;
- __longjmp(env[0].__jmpbuf,val);
-}
-void __siglongjmp(sigjmp_buf env,int val) __attribute__((alias("__libc_longjmp")));
-void longjmp(sigjmp_buf env,int val) __attribute__((weak,alias("__libc_longjmp")));
-void siglongjmp(sigjmp_buf env,int val) __attribute__((weak,alias("__libc_longjmp")));
diff --git a/mdk-stage1/dietlibc/lib/lseek64.c b/mdk-stage1/dietlibc/lib/lseek64.c
deleted file mode 100644
index 62acf4a2b..000000000
--- a/mdk-stage1/dietlibc/lib/lseek64.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <unistd.h>
-
-loff_t lseek64(int fildes, loff_t offset, int whence) {
- loff_t tmp;
- if (llseek(fildes,(unsigned long)(offset>>32),(unsigned long)offset&0xffffffff,&tmp,whence)) {
- if (errno!=ENOSYS) return -1;
- return (loff_t)lseek(fildes,(off_t)offset,whence);
- }
- return tmp;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/memccpy.c b/mdk-stage1/dietlibc/lib/memccpy.c
deleted file mode 100644
index 3208cfabb..000000000
--- a/mdk-stage1/dietlibc/lib/memccpy.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-#include <string.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 ae76bb150..000000000
--- a/mdk-stage1/dietlibc/lib/memchr.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-void* memchr(const void *s, int c, size_t n) {
- register const char* t=s;
- int i;
- for (i=n; i; --i) {
- if (*t==c)
- return (char*)t;
- ++t;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memcmp.c b/mdk-stage1/dietlibc/lib/memcmp.c
deleted file mode 100644
index 4c8f77142..000000000
--- a/mdk-stage1/dietlibc/lib/memcmp.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <sys/types.h>
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-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 ebfd1e60a..000000000
--- a/mdk-stage1/dietlibc/lib/memcpy.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <sys/types.h>
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-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/memmem.c b/mdk-stage1/dietlibc/lib/memmem.c
deleted file mode 100644
index 5c88a29e7..000000000
--- a/mdk-stage1/dietlibc/lib/memmem.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#define _GNU_SOURCE 23
-#include <sys/types.h>
-#include <string.h>
-
-void *memmem(const void* haystack, size_t hl, const void* needle, size_t nl) {
- 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/memmove.c b/mdk-stage1/dietlibc/lib/memmove.c
deleted file mode 100644
index 58414d503..000000000
--- a/mdk-stage1/dietlibc/lib/memmove.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-#include <string.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/memrchr.c b/mdk-stage1/dietlibc/lib/memrchr.c
deleted file mode 100644
index f7750d2d7..000000000
--- a/mdk-stage1/dietlibc/lib/memrchr.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define _GNU_SOURCE
-#include <sys/types.h>
-#include <string.h>
-
-void* memrchr(const void *s, int c, size_t n) {
- register const char* t=s;
- register const char* last=0;
- int i;
- for (i=n; i; --i) {
- if (*t==c)
- last=t;
- ++t;
- }
- return (void*)last; /* man, what an utterly b0rken prototype */
-}
diff --git a/mdk-stage1/dietlibc/lib/memset.c b/mdk-stage1/dietlibc/lib/memset.c
deleted file mode 100644
index a019eca44..000000000
--- a/mdk-stage1/dietlibc/lib/memset.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-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 1bd132e65..000000000
--- a/mdk-stage1/dietlibc/lib/mkfifo.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/stat.h>
-#include <unistd.h>
-
-int mkfifo(const char *fn,mode_t mode) {
- return mknod(fn,(mode_t)(mode|S_IFIFO),0);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgctl.c b/mdk-stage1/dietlibc/lib/msgctl.c
deleted file mode 100644
index 51cffdef0..000000000
--- a/mdk-stage1/dietlibc/lib/msgctl.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-extern int __ipc(int,int,int,int,void*);
-
-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 6023c1786..000000000
--- a/mdk-stage1/dietlibc/lib/msgget.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-extern int __ipc(int,key_t,int,int,int);
-
-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 8168187a5..000000000
--- a/mdk-stage1/dietlibc/lib/msgrcv.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-extern int __ipc(int,int,size_t,int,void*);
-
-struct ipc_kludge {
- struct msgbuf *msgp;
- long msgtyp;
-};
-
-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 6e9ef445e..000000000
--- a/mdk-stage1/dietlibc/lib/msgsnd.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-extern int __ipc(int,int,size_t,int,const void*);
-
-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/open64.c b/mdk-stage1/dietlibc/lib/open64.c
deleted file mode 100644
index 2599e2259..000000000
--- a/mdk-stage1/dietlibc/lib/open64.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <fcntl.h>
-
-#ifndef O_LARGEFILE
-#define O_LARGEFILE 0
-#endif
-
-int __libc_open64(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,...) __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 2530d1ac9..000000000
--- a/mdk-stage1/dietlibc/lib/opendir.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "dietdirent.h"
-#include <sys/mman.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-#include <fcntl.h>
-
-DIR* opendir ( const char* name ) {
- int fd = open (name, O_RDONLY | O_DIRECTORY);
- DIR* t = NULL;
-
- if ( fd >= 0 ) {
- if (fcntl (fd, F_SETFD, FD_CLOEXEC) < 0)
- goto lose;
- t = (DIR *) mmap (NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- if (t == MAP_FAILED)
-lose:
- close (fd);
- else
- t->fd = fd;
- }
-
-
- return t;
-}
diff --git a/mdk-stage1/dietlibc/lib/perror.c b/mdk-stage1/dietlibc/lib/perror.c
deleted file mode 100644
index 0a45fb9d6..000000000
--- a/mdk-stage1/dietlibc/lib/perror.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#define _BSD_SOURCE
-#include <errno.h>
-
-extern const char __sys_err_unknown [];
-
-void perror ( const char* prepend )
-{
- register const char* message = __sys_err_unknown;
-
- if ( (unsigned int) errno < (unsigned int) __SYS_NERR )
- message = sys_errlist [errno];
-
- if (prepend) {
- write ( 2, prepend, strlen(prepend) );
- write ( 2, ": ", 2 );
- }
- 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 fd6c49149..000000000
--- a/mdk-stage1/dietlibc/lib/pread.c
+++ /dev/null
@@ -1,11 +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);
-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 6dc93cefa..000000000
--- a/mdk-stage1/dietlibc/lib/pread64.c
+++ /dev/null
@@ -1,14 +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);
-size_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset) {
- return __pread(fd,buf,count,__LONG_LONG_PAIR ((off_t)(offset&0xffffffff),(off_t)(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 448d59840..000000000
--- a/mdk-stage1/dietlibc/lib/putenv.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-int putenv(const char *string) {
- size_t len;
- int envc;
- int remove=0;
- char *tmp;
- const char **ep;
- char **newenv;
- static char **origenv;
- if (!origenv) origenv=environ;
- if (!(tmp=strchr(string,'='))) {
- len=strlen(string);
- remove=1;
- } else
- len=tmp-string+1;
- for (envc=0, ep=(const char**)environ; *ep; ++ep) {
- if (*string == **ep && !memcmp(string,*ep,len)) {
- if (remove) {
- for (; ep[1]; ++ep) ep[0]=ep[1];
- ep[0]=0;
- return 0;
- }
- *ep=string;
- return 0;
- }
- ++envc;
- }
- if (tmp) {
- newenv = (char**) realloc(environ==origenv?0:origenv,
- (envc+2)*sizeof(char*));
- if (!newenv) return -1;
- newenv[0]=(char*)string;
- memcpy(newenv+1,environ,(envc+1)*sizeof(char*));
- environ=newenv;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/pwrite.c b/mdk-stage1/dietlibc/lib/pwrite.c
deleted file mode 100644
index 1e9fde545..000000000
--- a/mdk-stage1/dietlibc/lib/pwrite.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <endian.h>
-#include <sys/types.h>
-
-extern size_t __pwrite(int fd, void *buf, size_t count, off_t a,off_t b);
-
-size_t __libc_pwrite(int fd, void *buf, size_t count, off_t offset);
-size_t __libc_pwrite(int fd, void *buf, size_t count, off_t offset) {
- return __pwrite(fd,buf,count,offset,0);
-}
-
-int pwrite(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pwrite")));
diff --git a/mdk-stage1/dietlibc/lib/pwrite64.c b/mdk-stage1/dietlibc/lib/pwrite64.c
deleted file mode 100644
index cac46024a..000000000
--- a/mdk-stage1/dietlibc/lib/pwrite64.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <endian.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifndef __NO_STAT64
-extern size_t __pwrite(int fd, void *buf, size_t count, off_t a,off_t b);
-
-size_t __libc_pwrite64(int fd, void *buf, size_t count, off64_t offset);
-size_t __libc_pwrite64(int fd, void *buf, size_t count, off64_t offset) {
- return __pwrite(fd,buf,count,__LONG_LONG_PAIR ((off_t)(offset&0xffffffff),(off_t)(offset>>32)));
-}
-
-int pwrite64(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pwrite64")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/qsort.c b/mdk-stage1/dietlibc/lib/qsort.c
deleted file mode 100644
index 62217e142..000000000
--- a/mdk-stage1/dietlibc/lib/qsort.c
+++ /dev/null
@@ -1,127 +0,0 @@
-#include <sys/cdefs.h>
-#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((char*)base+a*size,(char*)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 *));
-void isort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- size_t i;
- while (expect(nmemb>1,1)) {
- char *min=base;
- char *tmp=min+size;
- for (i=1; i<nmemb; ++i) {
- if (expect(compar(tmp,min)<0,0))
- min=tmp;
- tmp+=size;
- }
- iswap(min,base,size);
- (char*)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;
- size_t 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=(char*)base+(nmemb/2)*size;
- max=(char*)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 (expect(compar(min,v)<0,1)) { min+=size; ++lmemb; }
- while (expect(compar(max-=size,v)>0,1)) ;
- 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 0f548fc3b..000000000
--- a/mdk-stage1/dietlibc/lib/raise.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include <signal.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 beb2d2717..000000000
--- a/mdk-stage1/dietlibc/lib/rand.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdlib.h>
-
-static unsigned int seed=1;
-
-int rand(void) {
- return rand_r(&seed);
-}
-
-void srand(unsigned int i) { seed=i; }
-
-int random(void) __attribute__((alias("rand")));
-void srandom(unsigned int i) __attribute__((alias("srand")));
diff --git a/mdk-stage1/dietlibc/lib/rand48.c b/mdk-stage1/dietlibc/lib/rand48.c
deleted file mode 100644
index 9c6cfcda2..000000000
--- a/mdk-stage1/dietlibc/lib/rand48.c
+++ /dev/null
@@ -1,89 +0,0 @@
-#include <stdlib.h>
-
-static randbuf rand48buf;
-#define A_0 0xE66D
-#define A_1 0xDEEC
-#define A_2 0x5
-#define C 0xB
-static randbuf a = { A_0, A_1, A_2 };
-static unsigned short c = C;
-
-static void calc_next(randbuf buf) {
- randbuf tmp;
- long t;
- t = buf[0] * a[0] + c;
- tmp[0] = t & 0xffff;
- tmp[1] = (t >> 16) & 0xffff;
- t = buf[1] * a[0] + buf[0] * a[1] + tmp[1];
- tmp[1] = t & 0xffff;
- tmp[2] = (t >> 16) & 0xffff;
- t = buf[2] * a[0] + buf[1] * a[1] + buf[0] * a[2] + tmp[2];
- tmp[2] = t & 0xffff;
- buf[0] = tmp[0];
- buf[1] = tmp[1];
- buf[2] = tmp[2];
-}
-
-double drand48(void) {
- return erand48(rand48buf);
-}
-
-long lrand48(void) {
- return nrand48(rand48buf);
-}
-
-long mrand48(void) {
- return jrand48(rand48buf);
-}
-
-void srand48(long seed) {
- rand48buf[1] = (seed >> 16) & 0xffff;
- rand48buf[2] = seed & 0xffff;
- rand48buf[0] = 0x330e;
- a[0] = A_0;
- a[1] = A_1;
- a[2] = A_2;
- c = C;
-}
-
-unsigned short *seed48(randbuf buf) {
- static randbuf oldx;
- int i;
- for (i = 0; i < 3; i++) {
- oldx[i] = rand48buf[i];
- rand48buf[i] = buf[i];
- }
- a[0] = A_0;
- a[1] = A_1;
- a[2] = A_2;
- c = C;
- return (unsigned short *)&oldx;
-}
-
-void lcong48(unsigned short param[7]) {
- int i;
- for (i = 0; i < 3; i++) {
- rand48buf[i] = param[i];
- a[i] = param[i + 3];
- }
- c = param[6];
-}
-
-long jrand48(randbuf buf) {
- long ret;
- ret = buf[2] << 16 | buf[1];
- calc_next(buf);
- return ret;
-}
-
-long nrand48(randbuf buf) {
- return jrand48(buf) & 0x7FFFFFFFL;
-}
-
-double erand48(randbuf buf) {
- double ret;
- ret = ((buf[0] / 65536.0 + buf[1]) / 65536.0 + buf[2]) / 65536.0;
- calc_next(buf);
- return ret;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/rand_r.c b/mdk-stage1/dietlibc/lib/rand_r.c
deleted file mode 100644
index 55f8303bc..000000000
--- a/mdk-stage1/dietlibc/lib/rand_r.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- Copyright (C) 2002 Luc Van Oostenryck
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-*/
-
-#include <stdlib.h>
-#include <stdint.h>
-
-/* Knuth's TAOCP section 3.6 */
-#define M ((1U<<31) -1)
-#define A 48271
-#define Q 44488 // M/A
-#define R 3399 // M%A; R < Q !!!
-
-// FIXME: ISO C/SuS want a longer period
-
-int rand_r(unsigned int* seed)
-{ int32_t X;
-
- X = *seed;
- X = A*(X%Q) - R * (int32_t) (X/Q);
- if (X < 0)
- X += M;
-
- *seed = X;
- return X;
-}
diff --git a/mdk-stage1/dietlibc/lib/readdir.c b/mdk-stage1/dietlibc/lib/readdir.c
deleted file mode 100644
index ed885a5f0..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,sizeof (d->buf)-1);
- 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/readdir64.c b/mdk-stage1/dietlibc/lib/readdir64.c
deleted file mode 100644
index b9b0aafcc..000000000
--- a/mdk-stage1/dietlibc/lib/readdir64.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include "dietfeatures.h"
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include "syscalls.h"
-
-#ifndef __NR_getdents64
-#define WANT_LARGEFILE_BACKCOMPAT
-#endif
-
-#ifndef WANT_LARGEFILE_BACKCOMPAT
-struct dirent64* readdir64(DIR *d) {
- if (!d->num || (d->cur += ((struct dirent64*)(d->buf+d->cur))->d_reclen)>=d->num) {
- int res=getdents64(d->fd,(struct dirent64*)d->buf, sizeof (d->buf)-1);
- if (res<=0) return 0;
- d->num=res; d->cur=0;
- }
- return (struct dirent64*)(d->buf+d->cur);
-}
-#else
-struct dirent64* readdir64(DIR *d) {
-#ifdef __NR_getdents64
- static int trygetdents64=1;
-#endif
- struct dirent* o;
- static struct dirent64 d64;
-again:
-#ifdef __NR_getdents64
- if (!trygetdents64) {
-#endif
- if (!d->num || (d->cur += ((struct dirent*)(d->buf+d->cur))->d_reclen)>=d->num) {
- int res=getdents(d->fd,(struct dirent*)d->buf, sizeof (d->buf)-1);
- if (res<=0) return 0;
- d->num=res; d->cur=0;
- }
- o=(struct dirent*)(d->buf+d->cur);
- d64.d_ino=o->d_ino;
- d64.d_off=o->d_off;
- d64.d_reclen=o->d_reclen;
- strcpy(d64.d_name,o->d_name);
- d64.d_type=0; /* is this correct? */
- return &d64;
-#ifdef __NR_getdents64
- }
- if (!d->num || (d->cur += ((struct dirent64*)(d->buf+d->cur))->d_reclen)>=d->num) {
- int res=getdents64(d->fd,(struct dirent64*)d->buf,sizeof (d->buf));
- if (res<=0) {
- if (errno==ENOSYS) {
- trygetdents64=0;
- goto again;
- }
- return 0;
- }
- d->num=res; d->cur=0;
- }
- return (struct dirent64*)(d->buf+d->cur);
-#endif
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/reboot.c b/mdk-stage1/dietlibc/lib/reboot.c
deleted file mode 100644
index 421068504..000000000
--- a/mdk-stage1/dietlibc/lib/reboot.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/reboot.h>
-
-int __reboot(unsigned int magic1, unsigned int magic2, int cmd);
-
-int reboot(int cmd)
-{
- return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd);
-}
diff --git a/mdk-stage1/dietlibc/lib/recv.c b/mdk-stage1/dietlibc/lib/recv.c
deleted file mode 100644
index c6bab4fb1..000000000
--- a/mdk-stage1/dietlibc/lib/recv.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recv(int a, const void * b, size_t c, int flags);
-int __libc_recv(int a, const void * b, size_t c, int flags) {
- unsigned long args[] = { a, (long) b, c, flags };
- return socketcall(SYS_RECV, args);
-}
-
-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 b66ce3813..000000000
--- a/mdk-stage1/dietlibc/lib/recvfrom.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <linuxnet.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);
-int __libc_recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen) {
- unsigned long args[] = { a, (long) b, c, flags, (long) to, (long) tolen };
- return socketcall(SYS_RECVFROM, args);
-}
-
-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 d843ce9c0..000000000
--- a/mdk-stage1/dietlibc/lib/recvmsg.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recvmsg(int a, struct msghdr* msg, int flags);
-int __libc_recvmsg(int a, struct msghdr* msg, int flags) {
- unsigned long args[] = { a, (long) msg, flags };
- return socketcall(SYS_RECVMSG, args);
-}
-
-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 06f686356..000000000
--- a/mdk-stage1/dietlibc/lib/remove.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-#include "dietfeatures.h"
-#include <stdio.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 799ce7428..000000000
--- a/mdk-stage1/dietlibc/lib/sbrk.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <unistd.h>
-
-extern int __libc_brk(void *end_data_segment);
-
-extern void* __curbrk;
-
-void* __libc_sbrk(ptrdiff_t increment);
-void* __libc_sbrk(ptrdiff_t increment) {
- void* oldbrk;
- if (__curbrk==0)
- if (__libc_brk(0) < 0)
- return (void*)-1;
- if (increment==0)
- return __curbrk;
- oldbrk=__curbrk;
- if (__libc_brk((char*)oldbrk+increment)<0)
- return (void*)-1;
- return oldbrk;
-}
-
-void* sbrk (ptrdiff_t increment) __attribute__((weak,alias("__libc_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 cec0b7535..000000000
--- a/mdk-stage1/dietlibc/lib/semctl.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-
-extern int __ipc(int,int,int,int,void*);
-
-union semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
- unsigned short *array; /* array for GETALL & SETALL */
- struct seminfo *__buf; /* buffer for IPC_INFO */
- void *__pad;
-};
-
-int semctl(int semid, int semnum, int cmd, union semun arg);
-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 c3649eea1..000000000
--- a/mdk-stage1/dietlibc/lib/semget.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-
-extern int __ipc(int,key_t,int,int,int);
-
-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 4d2e748cc..000000000
--- a/mdk-stage1/dietlibc/lib/semop.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-
-extern int __ipc(int,int,unsigned,int,void*);
-
-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 783ecaf89..000000000
--- a/mdk-stage1/dietlibc/lib/send.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_send(int a, const void * b, size_t c, int flags);
-int __libc_send(int a, const void * b, size_t c, int flags) {
- unsigned long args[] = { a, (long) b, c, flags };
- return socketcall(SYS_SEND, args);
-}
-
-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 bb5d1711a..000000000
--- a/mdk-stage1/dietlibc/lib/sendmsg.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_sendmsg(int a, const struct msghdr* msg, int flags);
-int __libc_sendmsg(int a, const struct msghdr* msg, int flags) {
- unsigned long args[] = { a, (long) msg, flags };
- return socketcall(SYS_SENDMSG, args);
-}
-
-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 d3239932b..000000000
--- a/mdk-stage1/dietlibc/lib/sendto.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/socket.h>
-#include <linuxnet.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);
-int __libc_sendto(int a, const void * b, size_t c, int flags, void *to, int tolen) {
- unsigned long args[] = { a, (long) b, c, flags, (long) to, tolen };
- return socketcall(SYS_SENDTO, args);
-}
-
-int sendto(int a, const void * b, size_t c, int flags, const struct sockaddr* to, socklen_t tolen)
- __attribute__ ((weak, alias("__libc_sendto")));
diff --git a/mdk-stage1/dietlibc/lib/setlinebuf.c b/mdk-stage1/dietlibc/lib/setlinebuf.c
deleted file mode 100644
index 1f30e183a..000000000
--- a/mdk-stage1/dietlibc/lib/setlinebuf.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-#include "dietwarning.h"
-#undef setlinebuf
-
-/* there is no previous prototype because it is a #define */
-void setlinebuf(FILE* stream);
-
-void setlinebuf(FILE* stream) {
- setvbuf(stream,0,_IOLBF,BUFSIZ);
-}
-
-link_warning("setlinebuf","warning: you used setlinebuf without including <stdio.h>")
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 e4bab349f..000000000
--- a/mdk-stage1/dietlibc/lib/setsockopt.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_setsockopt(int a, int b, int c, void *d, void *e);
-int __libc_setsockopt(int a, int b, int c, void *d, void *e) {
- unsigned long args[] = { a, b, c, (long)d, (long) e };
- return socketcall(SYS_SETSOCKOPT, args);
-}
-
-int setsockopt(int s, int level, int optname, const void* optval, socklen_t optlen) __attribute__((weak,alias("__libc_setsockopt")));
diff --git a/mdk-stage1/dietlibc/lib/shmat.c b/mdk-stage1/dietlibc/lib/shmat.c
deleted file mode 100644
index d4b34c120..000000000
--- a/mdk-stage1/dietlibc/lib/shmat.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-extern void* __ipc(int,int,int,void*,const void*);
-
-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)8196)
- 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 92b9d1fbb..000000000
--- a/mdk-stage1/dietlibc/lib/shmctl.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-extern int __ipc(int,int,int,int,void*);
-
-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 54dc6f41b..000000000
--- a/mdk-stage1/dietlibc/lib/shmdt.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-extern int __ipc(int,int,int,int,const void*);
-
-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 bf1dc2030..000000000
--- a/mdk-stage1/dietlibc/lib/shmget.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-extern int __ipc(int,key_t,int,int,int);
-
-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 0e7b8755c..000000000
--- a/mdk-stage1/dietlibc/lib/shutdown.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_shutdown(int s, int how);
-int __libc_shutdown(int s, int how) {
- unsigned long args[] = { s, (long) how, 0 };
- return socketcall(SYS_SHUTDOWN, args);
-}
-
-int shutdown(int s, int how) __attribute__((weak,alias("__libc_shutdown")));
diff --git a/mdk-stage1/dietlibc/lib/sigaction.c b/mdk-stage1/dietlibc/lib/sigaction.c
deleted file mode 100644
index fe1351f0f..000000000
--- a/mdk-stage1/dietlibc/lib/sigaction.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <signal.h>
-
-int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr);
-
-int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
-int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- return __rt_sigaction(signum, act, oldact, _NSIG/8);
-}
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)
-__attribute__((weak,alias("__libc_sigaction")));
diff --git a/mdk-stage1/dietlibc/lib/sigaddset.c b/mdk-stage1/dietlibc/lib/sigaddset.c
deleted file mode 100644
index 1c2632e67..000000000
--- a/mdk-stage1/dietlibc/lib/sigaddset.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-
-#define __sigmask(sig) ( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) )
-#define __sigword(sig) ( ((sig)-1) / (8*sizeof(unsigned long)) )
-
-int sigaddset(sigset_t *set, int signo) {
- if ((signo<1)||(signo>SIGRTMAX)) {
- (*__errno_location())=EINVAL;
- return -1;
- } else {
- unsigned long __mask = __sigmask (signo);
- unsigned long __word = __sigword (signo);
- set->sig[__word]|=__mask;
- return 0;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/sigdelset.c b/mdk-stage1/dietlibc/lib/sigdelset.c
deleted file mode 100644
index 0c47ce348..000000000
--- a/mdk-stage1/dietlibc/lib/sigdelset.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-
-#define __sigmask(sig) ( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) )
-#define __sigword(sig) ( ((sig)-1) / (8*sizeof(unsigned long)) )
-
-int sigdelset(sigset_t *set, int signo) {
- if ((signo<1)||(signo>SIGRTMAX)) {
- (*__errno_location())=EINVAL;
- return -1;
- } else {
- unsigned long __mask = __sigmask (signo);
- unsigned long __word = __sigword (signo);
- set->sig[__word]&=~__mask;
- return 0;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/sigemptyset.c b/mdk-stage1/dietlibc/lib/sigemptyset.c
deleted file mode 100644
index 4efee2550..000000000
--- a/mdk-stage1/dietlibc/lib/sigemptyset.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <signal.h>
-
-int sigemptyset(sigset_t *set) {
- set->sig[0]=0;
- if (_NSIG_WORDS>1) set->sig[1]=0;
- if (_NSIG_WORDS>2) {
- set->sig[2]=0;
- set->sig[3]=0;
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/sigfillset.c b/mdk-stage1/dietlibc/lib/sigfillset.c
deleted file mode 100644
index b4e369fe4..000000000
--- a/mdk-stage1/dietlibc/lib/sigfillset.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <signal.h>
-
-int sigfillset(sigset_t *set) {
- set->sig[0]=(unsigned long)-1;
- if (_NSIG_WORDS>1) set->sig[1]=(unsigned long)-1;
- if (_NSIG_WORDS>2) {
- set->sig[2]=(unsigned long)-1;
- set->sig[3]=(unsigned long)-1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/siginterrupt.c b/mdk-stage1/dietlibc/lib/siginterrupt.c
deleted file mode 100644
index 8926f09ed..000000000
--- a/mdk-stage1/dietlibc/lib/siginterrupt.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <signal.h>
-
-int siginterrupt(int sig, int flag) {
- int ret;
- struct sigaction act;
-
- sigaction(sig, 0, &act);
-
- if (flag)
- act.sa_flags &= ~SA_RESTART;
- else
- act.sa_flags |= SA_RESTART;
-
- ret = sigaction(sig, &act, 0);
-
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/lib/sigismember.c b/mdk-stage1/dietlibc/lib/sigismember.c
deleted file mode 100644
index 8ffe9762a..000000000
--- a/mdk-stage1/dietlibc/lib/sigismember.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-
-#define __sigmask(sig) ( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) )
-#define __sigword(sig) ( ((sig)-1) / (8*sizeof(unsigned long)) )
-
-int sigismember(const sigset_t *set, int signo) {
- if ((signo<1)||(signo>SIGRTMAX)) {
- (*__errno_location())=EINVAL;
- return -1;
- } else {
- unsigned long __mask = __sigmask (signo);
- unsigned long __word = __sigword (signo);
- return (set->sig[__word] & __mask)?1:0;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/sigjmp.c b/mdk-stage1/dietlibc/lib/sigjmp.c
deleted file mode 100644
index 73c8baa8e..000000000
--- a/mdk-stage1/dietlibc/lib/sigjmp.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <setjmp.h>
-#include <signal.h>
-
-int __sigjmp_save(sigjmp_buf env,int savemask);
-int __sigjmp_save(sigjmp_buf env,int savemask) {
- if (savemask) {
- env[0].__mask_was_saved=(sigprocmask(SIG_BLOCK,(sigset_t*)0,(sigset_t*)&env[0].__saved_mask)==0);
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/signal.c b/mdk-stage1/dietlibc/lib/signal.c
deleted file mode 100644
index 51441558e..000000000
--- a/mdk-stage1/dietlibc/lib/signal.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <signal.h>
-
-sighandler_t signal(int signum, sighandler_t action) {
- struct sigaction sa,oa;
- sa.sa_handler=action;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask,signum);
- sa.sa_flags=SA_NODEFER;
- if (sigaction(signum,&sa,&oa))
- return SIG_ERR;
- return oa.sa_handler;
-}
diff --git a/mdk-stage1/dietlibc/lib/sigpending.c b/mdk-stage1/dietlibc/lib/sigpending.c
deleted file mode 100644
index 62a4761c6..000000000
--- a/mdk-stage1/dietlibc/lib/sigpending.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigpending(sigset_t *set, long nr);
-
-int sigpending(sigset_t *set) {
- return __rt_sigpending(set, _NSIG/8);
-}
diff --git a/mdk-stage1/dietlibc/lib/sigprocmask.c b/mdk-stage1/dietlibc/lib/sigprocmask.c
deleted file mode 100644
index 6d770c3d3..000000000
--- a/mdk-stage1/dietlibc/lib/sigprocmask.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigprocmask(int how, const sigset_t *set, sigset_t *oldsetm, long nr);
-
-int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) {
- return __rt_sigprocmask(how, set, oldset, _NSIG/8);
-}
diff --git a/mdk-stage1/dietlibc/lib/sigqueueinfo.c b/mdk-stage1/dietlibc/lib/sigqueueinfo.c
deleted file mode 100644
index adb7349f4..000000000
--- a/mdk-stage1/dietlibc/lib/sigqueueinfo.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigqueueinfo(int pid, int sig, siginfo_t *info);
-
-int sigqueueinfo(int pid, int sig, siginfo_t *info) {
- return __rt_sigqueueinfo(pid, sig, info);
-}
diff --git a/mdk-stage1/dietlibc/lib/sigsuspend.c b/mdk-stage1/dietlibc/lib/sigsuspend.c
deleted file mode 100644
index a020789e9..000000000
--- a/mdk-stage1/dietlibc/lib/sigsuspend.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <signal.h>
-
-int __rt_sigsuspend(const sigset_t *mask, long nr);
-
-int __libc_sigsuspend(const sigset_t *mask);
-int __libc_sigsuspend(const sigset_t *mask) {
- return __rt_sigsuspend(mask, _NSIG/8);
-}
-
-int sigsuspend(const sigset_t *mask) __attribute__((weak,alias("__libc_sigsuspend")));
diff --git a/mdk-stage1/dietlibc/lib/sigtimedwait.c b/mdk-stage1/dietlibc/lib/sigtimedwait.c
deleted file mode 100644
index 864e433c3..000000000
--- a/mdk-stage1/dietlibc/lib/sigtimedwait.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts, long nr);
-
-int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts) {
- return __rt_sigtimedwait(set,info,ts,_NSIG/8);
-}
diff --git a/mdk-stage1/dietlibc/lib/sleep.c b/mdk-stage1/dietlibc/lib/sleep.c
deleted file mode 100644
index 45c51f1b6..000000000
--- a/mdk-stage1/dietlibc/lib/sleep.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.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 141b4ec13..000000000
--- a/mdk-stage1/dietlibc/lib/snprintf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdio.h>
-
-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 c18df5123..000000000
--- a/mdk-stage1/dietlibc/lib/socket.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_socket(int a, int b, int c);
-int __libc_socket(int a, int b, int c) {
- unsigned long args[] = { a, b, c };
- return socketcall(SYS_SOCKET, args);
-}
-
-int socket(int a,int b,int c) __attribute__((weak,alias("__libc_socket")));
diff --git a/mdk-stage1/dietlibc/lib/socketpair.c b/mdk-stage1/dietlibc/lib/socketpair.c
deleted file mode 100644
index e6f1fd822..000000000
--- a/mdk-stage1/dietlibc/lib/socketpair.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_socketpair(int a, int type, int protocol, int sv[2]);
-int __libc_socketpair(int a, int type, int protocol, int sv[2]) {
- unsigned long args[] = { a, type, protocol, (long)sv };
- return socketcall(SYS_SOCKETPAIR, args);
-}
-
-int socketpair(int d, int type, int protocol, int sv[2])
- __attribute__((weak,alias("__libc_socketpair")));
diff --git a/mdk-stage1/dietlibc/lib/sprintf.c b/mdk-stage1/dietlibc/lib/sprintf.c
deleted file mode 100644
index 37fd831d9..000000000
--- a/mdk-stage1/dietlibc/lib/sprintf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-int sprintf(char *dest,const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsprintf(dest,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/sscanf.c b/mdk-stage1/dietlibc/lib/sscanf.c
deleted file mode 100644
index e608878ef..000000000
--- a/mdk-stage1/dietlibc/lib/sscanf.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-
-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 cf1592567..000000000
--- a/mdk-stage1/dietlibc/lib/strcasecmp.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <strings.h>
-
-int strcasecmp ( const char* s1, const char* s2 )
-{
- register unsigned int x2;
- register unsigned int x1;
-
- while (1) {
- x2 = *s2++ - 'A'; if (x2 < 26u) x2 += 32;
- x1 = *s1++ - 'A'; if (x1 < 26u) x1 += 32;
- if ( x2 != x1 )
- break;
- if ( x1 == (unsigned int)-'A' )
- break;
- }
-
- return x1 - x2;
-}
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 3a4c9b5b4..000000000
--- a/mdk-stage1/dietlibc/lib/strchr.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "dietfeatures.h"
-#include <string.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 3892379e5..000000000
--- a/mdk-stage1/dietlibc/lib/strcmp.c
+++ /dev/null
@@ -1,18 +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);
-}
-
-int strcoll(const char *s,const char* t) __attribute__((weak,alias("strcmp")));
diff --git a/mdk-stage1/dietlibc/lib/strcpy.c b/mdk-stage1/dietlibc/lib/strcpy.c
deleted file mode 100644
index 444054e71..000000000
--- a/mdk-stage1/dietlibc/lib/strcpy.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietfeatures.h"
-
-char* strcpy(register char* s,register const char* t)
-{
- char *dest=s;
-#ifndef WANT_SMALL_STRING_ROUTINES
- for (;;) {
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
- }
-#else
- while ((*dest++=*t++));
- return s;
-#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 7cb79d988..000000000
--- a/mdk-stage1/dietlibc/lib/strerror.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <string.h>
-
-#define _BSD_SOURCE
-#include <errno.h>
-
-extern const char __sys_err_unknown[];
-
-char*strerror(int errnum) {
- register const char*message=__sys_err_unknown;
-
- if ( (unsigned int)errnum < (unsigned int)__SYS_NERR )
- message=sys_errlist[errnum];
-#if defined(__mips__)
- if ( errnum == 1133 )
- message="Quota exceeded";
-#endif
- return (char*)message;
-}
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 96da5a540..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 size_t 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 543fe56ba..000000000
--- a/mdk-stage1/dietlibc/lib/strncasecmp.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <sys/types.h>
-#include <strings.h>
-
-int strncasecmp ( const char* s1, const char* s2, size_t len )
-{
- register unsigned int x2;
- register unsigned int x1;
- register const char* end = s1 + len;
-
- while (1) {
- if ( s1 >= end )
- return 0;
- x2 = *s2++ - 'A'; if (x2 < 26u) x2 += 32;
- x1 = *s1++ - 'A'; if (x1 < 26u) x1 += 32;
- if ( x2 != x1 )
- break;
- if ( x1 == (unsigned int)-'A' )
- break;
- }
-
- return x1 - x2;
-}
diff --git a/mdk-stage1/dietlibc/lib/strncat.c b/mdk-stage1/dietlibc/lib/strncat.c
deleted file mode 100644
index 9802d5678..000000000
--- a/mdk-stage1/dietlibc/lib/strncat.c
+++ /dev/null
@@ -1,34 +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
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-char *strncat(char *s, const char *t, size_t n) {
- char *dest=s;
- register char *max;
- s+=strlen(s);
-#ifdef WANT_NON_COMPLIANT_STRNCAT
- if ((max=s+n-1)<=s) goto fini;
-#else
- if ((max=s+n)==s) goto fini;
-#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;
-fini:
- return dest;
-}
diff --git a/mdk-stage1/dietlibc/lib/strncmp.c b/mdk-stage1/dietlibc/lib/strncmp.c
deleted file mode 100644
index b3b56cfbb..000000000
--- a/mdk-stage1/dietlibc/lib/strncmp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-int strncmp(const char *s1, const char *s2, size_t n) {
- register const char* a=s1;
- register const char* b=s2;
- register const char* fini=a+n;
- while (a<fini) {
- register int res=*a-*b;
- if (res) return res;
- if (!*a) return 0;
- ++a; ++b;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/strncpy.c b/mdk-stage1/dietlibc/lib/strncpy.c
deleted file mode 100644
index 31b682a1e..000000000
--- a/mdk-stage1/dietlibc/lib/strncpy.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-char *strncpy(char *dest, const char *src, size_t n) {
-#ifdef WANT_FULL_POSIX_COMPAT
- memset(dest,0,n);
-#endif
- 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 db76f89b5..000000000
--- a/mdk-stage1/dietlibc/lib/strsep.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <string.h>
-
-char *strsep(char **stringp, const char *delim) {
- register char *tmp=*stringp;
- register char *tmp2=tmp;
- register const char *tmp3;
- if (!*stringp) return 0;
- for (tmp2=tmp; *tmp2; ++tmp2) {
- for (tmp3=delim; *tmp3; ++tmp3)
- if (*tmp2==*tmp3) { /* delimiter found */
- *tmp2=0;
- *stringp=tmp2+1;
- return tmp;
- }
- }
- *stringp=0;
- return tmp;
-}
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 0632cc28a..000000000
--- a/mdk-stage1/dietlibc/lib/strstr.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-char *strstr(const char *haystack, const char *needle) {
- size_t nl=strlen(needle);
- size_t hl=strlen(haystack);
- int i;
- if (!nl) goto found;
- if (nl>hl) return 0;
- for (i=hl-nl+1; i; --i) {
- if (*haystack==*needle && !memcmp(haystack,needle,nl))
-found:
- 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 5d50cc535..000000000
--- a/mdk-stage1/dietlibc/lib/strtod.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-double strtod(const char* s, char** endptr) {
- register const char* p = s;
- register long double value = 0.L;
- int sign = +1;
- long double factor;
- unsigned int expo;
-
- while ( isspace(*p) )
- p++;
-
- switch (*p) {
- case '-': sign = -1;
- case '+': p++;
- default : break;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- value = value*10 + (*p++ - '0');
-
- if ( *p == '.' ) {
- factor = 1.;
-
- p++;
- while ( (unsigned int)(*p - '0') < 10u ) {
- factor *= 0.1;
- value += (*p++ - '0') * factor;
- }
- }
-
- if ( (*p | 32) == 'e' ) {
- expo = 0;
- factor = 10.L;
-
- switch (*++p) { // ja hier wei ich nicht, was mindestens nach einem 'E' folgenden MUSS.
- case '-': factor = 0.1;
- case '+': p++;
- break;
- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- break;
- default : value = 0.L;
- p = s;
- goto done;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- expo = 10 * expo + (*p++ - '0');
-
- while ( 1 ) {
- if ( expo & 1 )
- value *= factor;
- if ( (expo >>= 1) == 0 )
- break;
- factor *= factor;
- }
- }
-
-done:
- if ( endptr != NULL )
- *endptr = (char*)p;
-
- return value * sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtof.c b/mdk-stage1/dietlibc/lib/strtof.c
deleted file mode 100644
index acb081e51..000000000
--- a/mdk-stage1/dietlibc/lib/strtof.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-float strtof(const char* s, char** endptr) {
- register const char* p = s;
- register float value = 0.;
- int sign = +1;
- float factor;
- unsigned int expo;
-
- while ( isspace(*p) )
- p++;
-
- switch (*p) {
- case '-': sign = -1;
- case '+': p++;
- default : break;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- value = value*10 + (*p++ - '0');
-
- if ( *p == '.' ) {
- factor = 1.;
-
- p++;
- while ( (unsigned int)(*p - '0') < 10u ) {
- factor *= 0.1;
- value += (*p++ - '0') * factor;
- }
- }
-
- if ( (*p | 32) == 'e' ) {
- expo = 0;
- factor = 10.L;
-
- switch (*++p) { // ja hier wei ich nicht, was mindestens nach einem 'E' folgenden MUSS.
- case '-': factor = 0.1;
- case '+': p++;
- break;
- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- break;
- default : value = 0.L;
- p = s;
- goto done;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- expo = 10 * expo + (*p++ - '0');
-
- while ( 1 ) {
- if ( expo & 1 )
- value *= factor;
- if ( (expo >>= 1) == 0 )
- break;
- factor *= factor;
- }
- }
-
-done:
- if ( endptr != NULL )
- *endptr = (char*)p;
-
- return value * sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtok.c b/mdk-stage1/dietlibc/lib/strtok.c
deleted file mode 100644
index e041703e3..000000000
--- a/mdk-stage1/dietlibc/lib/strtok.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <string.h>
-
-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 2624aca0e..000000000
--- a/mdk-stage1/dietlibc/lib/strtol.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <ctype.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include <limits.h>
-#include <stdlib.h>
-
-#define ABS_LONG_MIN 2147483648UL
-long int strtol(const char *nptr, char **endptr, int base)
-{
- int neg=0;
- unsigned long int v;
-
- while(isspace(*nptr)) nptr++;
-
- if (*nptr == '-') { neg=-1; ++nptr; }
- v=strtoul(nptr,endptr,base);
- if (v>=ABS_LONG_MIN) {
- if (v==ABS_LONG_MIN && neg) {
- errno=0;
- return v;
- }
- errno=ERANGE;
- return (neg?LONG_MIN:LONG_MAX);
- }
- return (neg?-v:v);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtold.c b/mdk-stage1/dietlibc/lib/strtold.c
deleted file mode 100644
index ae5f0fa48..000000000
--- a/mdk-stage1/dietlibc/lib/strtold.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-long double strtold(const char* s, char** endptr) {
- register const char* p = s;
- register long double value = 0.L;
- int sign = +1;
- long double factor;
- unsigned int expo;
-
- while ( isspace(*p) )
- p++;
-
- switch (*p) {
- case '-': sign = -1;
- case '+': p++;
- default : break;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- value = value*10 + (*p++ - '0');
-
- if ( *p == '.' ) {
- factor = 1.;
-
- p++;
- while ( (unsigned int)(*p - '0') < 10u ) {
- factor *= 0.1;
- value += (*p++ - '0') * factor;
- }
- }
-
- if ( (*p | 32) == 'e' ) {
- expo = 0;
- factor = 10.L;
-
- switch (*++p) { // ja hier wei ich nicht, was mindestens nach einem 'E' folgenden MUSS.
- case '-': factor = 0.1;
- case '+': p++;
- break;
- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- break;
- default : value = 0.L;
- p = s;
- goto done;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- expo = 10 * expo + (*p++ - '0');
-
- while ( 1 ) {
- if ( expo & 1 )
- value *= factor;
- if ( (expo >>= 1) == 0 )
- break;
- factor *= factor;
- }
- }
-
-done:
- if ( endptr != NULL )
- *endptr = (char*)p;
-
- return value * sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoll.c b/mdk-stage1/dietlibc/lib/strtoll.c
deleted file mode 100644
index 9e05e740e..000000000
--- a/mdk-stage1/dietlibc/lib/strtoll.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <ctype.h>
-#include <stdlib.h>
-
-long 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 e9c09fb59..000000000
--- a/mdk-stage1/dietlibc/lib/strtoul.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <ctype.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include <limits.h>
-#include <stdlib.h>
-
-unsigned long int strtoul(const char *nptr, char **endptr, int base)
-{
- int neg = 0;
- unsigned long int v=0;
-
- while(isspace(*nptr)) ++nptr;
- if (*nptr == '-') { neg=1; nptr++; }
- if (*nptr == '+') ++nptr;
- if (base==16 && nptr[0]=='0') goto skip0x;
- if (!base) {
- if (*nptr=='0') {
- base=8;
-skip0x:
- 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<='9'?c-'0':0xff);
- if (c>=base) break;
- {
- register unsigned long int w=v*base;
- if (w<v) {
- errno=ERANGE;
- return ULONG_MAX;
- }
- v=w+c;
- }
- ++nptr;
- }
- if (endptr) *endptr=(char *)nptr;
- errno=0; /* in case v==ULONG_MAX, ugh! */
- return (neg?-v:v);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoull.c b/mdk-stage1/dietlibc/lib/strtoull.c
deleted file mode 100644
index d6073e32a..000000000
--- a/mdk-stage1/dietlibc/lib/strtoull.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <ctype.h>
-#include <stdlib.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/strxfrm.c b/mdk-stage1/dietlibc/lib/strxfrm.c
deleted file mode 100644
index 5075ff0b5..000000000
--- a/mdk-stage1/dietlibc/lib/strxfrm.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-size_t strxfrm(char *dest, const char *src, size_t n) {
-#ifdef WANT_FULL_POSIX_COMPAT
- memset(dest,0,n);
-#endif
- memccpy(dest,src,0,n);
- return strlen(dest);
-}
-
diff --git a/mdk-stage1/dietlibc/lib/sys_siglist.c b/mdk-stage1/dietlibc/lib/sys_siglist.c
deleted file mode 100644
index a753848d9..000000000
--- a/mdk-stage1/dietlibc/lib/sys_siglist.c
+++ /dev/null
@@ -1,174 +0,0 @@
-const char *const sys_siglist[] = {
- "Signal 0",
- "Hangup",
- "Interrupt",
- "Quit",
- "Illegal instruction",
- "Trace/breakpoint trap",
- "ABRT/IOT trap",
-#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__)
- "EMT trap",
-#else
- "Bus error",
-#endif
- "Floating point exception",
- "Killed",
-#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__)
- "Bus error",
-#else
- "User defined signal 1",
-#endif
- "Segmentation fault",
-#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__)
- "Bad system call",
-#else
- "User defined signal 2",
-#endif
- "Broken pipe",
- "Alarm clock",
- "Terminated",
-#if defined(__hppa__)
- "User defined signal 1",
- "User defined signal 2",
- "Child exited",
- "Power lost",
- "Virtual timer expired",
- "Profiling timer expired",
- "I/O possible",
- "Window changed",
- "Stopped (signal)",
- "Stopped",
- "Continued",
- "Stopped (tty input)",
- "Stopped (tty output)",
- "Urgent I/O condition",
- "Power lost",
- "Unknown",
- "Unknown",
- "CPU time limit exceeded",
- "File size limit exceeded",
- "Unknown",
- "Stack fault",
-#elif defined(__mips__)
- "User defined signal 1",
- "User defined signal 2",
- "Child exited",
- "Power lost",
- "Window changed",
- "Urgent I/O condition",
- "I/O possible",
- "Stopped (signal)",
- "Stopped",
- "Continued",
- "Stopped (tty input)",
- "Stopped (tty output)",
- "Virtual timer expired",
- "Profiling timer expired",
- "CPU time limit exceeded",
- "File size limit exceeded",
-#elif defined(__alpha__) || defined(__sparc__)
- "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",
- "Power/Resource lost",
- "User defined signal 1",
- "User defined signal 2",
-#else
- "Stack fault",
- "Child exited",
- "Continued",
- "Stopped (signal)",
- "Stopped",
- "Stopped (tty input)",
- "Stopped (tty output)",
- "Urgent I/O condition",
- "CPU time limit exceeded",
- "File size limit exceeded",
- "Virtual timer expired",
- "Profiling timer expired",
- "Window changed",
- "I/O possible",
- "Power lost",
- "Bad system call",
-#endif
-#ifndef __hppa__
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
-#endif
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
-#ifdef __mips__
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
-#endif
- 0
-};
-
diff --git a/mdk-stage1/dietlibc/lib/tcdrain.c b/mdk-stage1/dietlibc/lib/tcdrain.c
deleted file mode 100644
index bb2018fb4..000000000
--- a/mdk-stage1/dietlibc/lib/tcdrain.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/ioctl.h>
-
-int __libc_tcdrain(int fd);
-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/tcflow.c b/mdk-stage1/dietlibc/lib/tcflow.c
deleted file mode 100644
index ea460f362..000000000
--- a/mdk-stage1/dietlibc/lib/tcflow.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "dietfeatures.h"
-#include <errno.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcflow ( int fd, int action )
-{
-#if TCOOFF==0 && TCOON==1 && TCIOFF==2 && TCION==3
-
- if ( (unsigned int)action < 4u )
- return ioctl ( fd, TCXONC, action );
-
- errno = EINVAL;
- return -1;
-
-#else
-
- int arg = 0;
-
- switch (action) {
- case TCION:
- arg++;
- case TCIOFF:
- arg++;
- case TCOON:
- arg++;
- case TCOOFF:
- return ioctl ( fd, TCXONC, arg );
- default:
- errno = EINVAL;
- return -1;
- }
-
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/tcflush.c b/mdk-stage1/dietlibc/lib/tcflush.c
deleted file mode 100644
index 2e5447728..000000000
--- a/mdk-stage1/dietlibc/lib/tcflush.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/ioctl.h>
-
-int __libc_tcflush(int fd, int queue_selector);
-int __libc_tcflush(int fd, int queue_selector)
-{
- return ioctl(fd, TCFLSH, queue_selector);
-}
-
-int tcflush(int fd) __attribute__((weak,alias("__libc_tcflush")));
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 8d5d4614a..000000000
--- a/mdk-stage1/dietlibc/lib/tcgetpgrp.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-
-int tcgetpgrp(int fildes)
-{
- int foo;
- if (ioctl(fildes, TIOCGPGRP, &foo)==-1)
- return -1;
- else
- return foo;
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsendbreak.c b/mdk-stage1/dietlibc/lib/tcsendbreak.c
deleted file mode 100644
index b026340cf..000000000
--- a/mdk-stage1/dietlibc/lib/tcsendbreak.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "dietfeatures.h"
-#include <errno.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcsendbreak (int fd,int duration)
-{
- if (duration <= 0) return (ioctl (fd,TCSBRKP,0));
- errno = EINVAL;
- return (-1);
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsetattr.c b/mdk-stage1/dietlibc/lib/tcsetattr.c
deleted file mode 100644
index 03fe8adee..000000000
--- a/mdk-stage1/dietlibc/lib/tcsetattr.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-#if !defined(__powerpc__) && !defined(__sparc__) && !defined(__alpha__) && !defined(__hppa__)
-#if TCSANOW==0 && TCSADRAIN==1 && TCSAFLUSH==2 && TCSETSW-TCSETS==1 && TCSETSF-TCSETS==2
-#define shortcut
-#endif
-#endif
-
-int tcsetattr ( int fildes, int optional_actions, struct termios* termios_p )
-{
-#ifdef shortcut
-
- if ( (unsigned int)optional_actions < 3u )
- return ioctl ( fildes, TCSETS+optional_actions, termios_p );
-
- errno = EINVAL;
- return -1;
-
-#else
-
- 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;
- }
-
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsetpgrp.c b/mdk-stage1/dietlibc/lib/tcsetpgrp.c
deleted file mode 100644
index 8cf3165c2..000000000
--- a/mdk-stage1/dietlibc/lib/tcsetpgrp.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <unistd.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 c24932ef4..000000000
--- a/mdk-stage1/dietlibc/lib/tolower.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int tolower(int ch) {
- if ( (unsigned int)(ch - 'A') < 26u )
- ch += 'a' - 'A';
- return ch;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/toupper.c b/mdk-stage1/dietlibc/lib/toupper.c
deleted file mode 100644
index f7d415e95..000000000
--- a/mdk-stage1/dietlibc/lib/toupper.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-inline int toupper(int ch) {
- if ( (unsigned int)(ch - 'a') < 26u )
- ch += 'A' - 'a';
- return ch;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/ttyname.c b/mdk-stage1/dietlibc/lib/ttyname.c
deleted file mode 100644
index 2bbc7f2a9..000000000
--- a/mdk-stage1/dietlibc/lib/ttyname.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <sys/stat.h>
-#include <string.h>
-
-#ifdef __linux__
-
-#include <stdlib.h>
-
-char *ttyname(int fd) {
-#ifdef SLASH_PROC_OK
- char ibuf[20];
- static char obuf[20];
- int len;
- if (!isatty(fd)) return 0;
- strcpy(ibuf,"/proc/self/fd/");
- ibuf[__ltostr(ibuf+14,6,(unsigned long)fd,10,0)+14]=0;
- if ((len=readlink(ibuf,obuf,sizeof(obuf)-1))<0) return 0;
- obuf[len]=0;
- return obuf;
-#else
- static char buf[20];
- struct stat s;
- char *c=buf+8;
- int n;
- if (!isatty(fd)) return 0;
- if (fstat(fd,&s)) return 0;
- strcpy(buf,"/dev/tty");
- if (S_ISCHR(s.st_mode)) {
- n=minor(s.st_rdev);
- switch (major(s.st_rdev)) {
- case 4:
- if (n>63) {
- n-=64;
- *c='S';
- ++c;
- }
-num:
- c[__ltostr(c,6,n,10,0)]=0;
- break;
- case 2:
- buf[8]='p'-(n>>4);
- buf[9]=n%4+'0';
- if (buf[9]>'9') *c+='a'-'0';
- buf[10]=0;
- goto duh;
- case 136:
- case 137:
- case 138:
- case 139:
- buf[7]='s';
-duh:
- buf[5]='p';
- 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 8f07416a8..000000000
--- a/mdk-stage1/dietlibc/lib/usleep.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <time.h>
-#include <unistd.h>
-
-/* nano * 1000 == usecs
- * usecs * 1000 == msecs
- * msecs * 1000 = secs */
-int usleep(unsigned long usecs) {
- struct timespec t;
- t.tv_sec=usecs/1000000;
- t.tv_nsec=(usecs%1000000)*1000;
- return nanosleep(&t,&t);
-}
diff --git a/mdk-stage1/dietlibc/lib/vfork.c b/mdk-stage1/dietlibc/lib/vfork.c
deleted file mode 100644
index d54416d5d..000000000
--- a/mdk-stage1/dietlibc/lib/vfork.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <unistd.h>
-
-pid_t vfork() { return fork(); }
-
diff --git a/mdk-stage1/dietlibc/lib/vsnprintf.c b/mdk-stage1/dietlibc/lib/vsnprintf.c
deleted file mode 100644
index dd06d6483..000000000
--- a/mdk-stage1/dietlibc/lib/vsnprintf.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include "dietstdio.h"
-
-struct str_data {
- unsigned char* str;
- size_t len;
- size_t size;
-};
-
-static int swrite(void*ptr, size_t nmemb, struct str_data* sd) {
- size_t tmp=sd->size-sd->len;
- if (tmp>0) {
- size_t len=nmemb;
- if (len>tmp) len=tmp;
- if (sd->str) {
- memcpy(sd->str+sd->len,ptr,len);
- sd->str[sd->len+len]=0;
- }
- sd->len+=len;
- }
- return nmemb;
-}
-
-int vsnprintf(char* str, size_t size, const char *format, va_list arg_ptr) {
- struct str_data sd = { str, 0, size };
- struct arg_printf ap = { &sd, (int(*)(void*,size_t,void*)) swrite };
- if (size) --sd.size;
- return __v_printf(&ap,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/lib/vsprintf.c b/mdk-stage1/dietlibc/lib/vsprintf.c
deleted file mode 100644
index 6cd5a40b1..000000000
--- a/mdk-stage1/dietlibc/lib/vsprintf.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "dietwarning.h"
-
-int vsprintf(char *dest,const char *format, va_list arg_ptr)
-{
- return vsnprintf(dest,(size_t)-1,format,arg_ptr);
-}
-
-link_warning("vsprintf","warning: Avoid *sprintf; use *snprintf. It is more secure.")
diff --git a/mdk-stage1/dietlibc/lib/vsscanf.c b/mdk-stage1/dietlibc/lib/vsscanf.c
deleted file mode 100644
index 329cfd02a..000000000
--- a/mdk-stage1/dietlibc/lib/vsscanf.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-struct str_data {
- unsigned char* str;
-};
-
-static int sgetc(struct str_data* sd) {
- register unsigned int ret = *(sd->str++);
- return (ret)?(int)ret:-1;
-}
-
-static int sputc(int c, struct str_data* sd) {
- return (*(--sd->str)==c)?c:-1;
-}
-
-int vsscanf(const char* str, const char* format, va_list arg_ptr)
-{
- struct str_data fdat = { (unsigned char*)str };
- struct arg_scanf farg = { (void*)&fdat, (int(*)(void*))sgetc, (int(*)(int,void*))sputc };
- return __v_scanf(&farg,format,arg_ptr);
-}
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/lib/write12.c b/mdk-stage1/dietlibc/lib/write12.c
deleted file mode 100644
index 8e0130bfb..000000000
--- a/mdk-stage1/dietlibc/lib/write12.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-#include <string.h>
-#include <write12.h>
-
-int __write1 (const char* s) {
- return write(1, s, strlen(s));
-}
-
-int __write2 (const char* s) {
- return write(2, s, strlen(s));
-}
diff --git a/mdk-stage1/dietlibc/libcompat/daemon.c b/mdk-stage1/dietlibc/libcompat/daemon.c
deleted file mode 100644
index 30f97a09a..000000000
--- a/mdk-stage1/dietlibc/libcompat/daemon.c
+++ /dev/null
@@ -1,29 +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);
- if (fd>2) close (fd);
- }
- return (0);
-}
-
diff --git a/mdk-stage1/dietlibc/libcompat/getdelim.c b/mdk-stage1/dietlibc/libcompat/getdelim.c
deleted file mode 100644
index e499bd7b7..000000000
--- a/mdk-stage1/dietlibc/libcompat/getdelim.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#define _GNU_SOURCE
-#include <stdlib.h>
-#include <stdio.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include "dietwarning.h"
-
-ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream) {
- size_t i;
- if (!lineptr || !n) {
- errno=EINVAL;
- return -1;
- }
- if (!*lineptr) *n=0;
- for (i=0; ; ) {
- int x=fgetc(stream);
- if (i>=*n) {
- int tmp=*n+100;
- char* new=realloc(*lineptr,tmp);
- if (!new) return -1;
- *lineptr=new; *n=tmp;
- }
- if (x==EOF) { (*lineptr)[i]=0; return -1; }
- (*lineptr)[i]=x;
- ++i;
- if (x==delim) break;
- }
- (*lineptr)[i]=0;
- return i;
-}
-
-link_warning("getdelim","warning: portable software should not use getdelim!")
diff --git a/mdk-stage1/dietlibc/libcompat/getline.c b/mdk-stage1/dietlibc/libcompat/getline.c
deleted file mode 100644
index 4926850a7..000000000
--- a/mdk-stage1/dietlibc/libcompat/getline.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#define _GNU_SOURCE
-#include <stdio.h>
-#include "dietwarning.h"
-
-#undef getline
-ssize_t getline(char **lineptr, size_t *n, FILE *stream) {
- return getdelim(lineptr,n,'\n',stream);
-}
-link_warning("getline","warning: you used getline without include stdio.h w/_GNU_SOURCE")
diff --git a/mdk-stage1/dietlibc/libcompat/re_bsd.c b/mdk-stage1/dietlibc/libcompat/re_bsd.c
deleted file mode 100644
index 44f022fa3..000000000
--- a/mdk-stage1/dietlibc/libcompat/re_bsd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* wrapper to simulate the braindead 4.3BSD regex interface
- * by Andreas Krennmair <a.krennmair@aon.at>
- */
-#include <regex.h>
-#include <sys/types.h>
-
-#include "dietwarning.h"
-
-static char err_compile[] = "unable to compile regular expression.";
-static int re_buf_used;
-static regex_t re_buf;
-
-char * re_comp(char * regex) {
- int rc;
- if (regex) {
- if (re_buf_used)
- regfree(&re_buf);
- rc = regcomp(&re_buf,regex,0);
- if (rc)
- return err_compile;
- re_buf_used = 1;
- }
- return NULL;
-}
-
-int re_exec(char * string) {
- if (string) {
- return regexec(&re_buf,string,0,NULL,0)?0:1;
- }
- return 0;
-}
-
-link_warning("re_comp","warning: use regcomp instead of re_comp!")
-link_warning("re_exec","warning: use regexec instead of re_exec!")
diff --git a/mdk-stage1/dietlibc/libcompat/stpcpy.c b/mdk-stage1/dietlibc/libcompat/stpcpy.c
deleted file mode 100644
index 237a2e374..000000000
--- a/mdk-stage1/dietlibc/libcompat/stpcpy.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <string.h>
-
-char * stpcpy (char *dst, const char *src) {
- while ((*dst++ = *src++));
- return (dst-1);
-}
diff --git a/mdk-stage1/dietlibc/libcompat/syscall.S b/mdk-stage1/dietlibc/libcompat/syscall.S
deleted file mode 100644
index dd8e6b827..000000000
--- a/mdk-stage1/dietlibc/libcompat/syscall.S
+++ /dev/null
@@ -1,70 +0,0 @@
-#include "dietfeatures.h"
-
-.text
-.globl syscall
-#ifdef __arm__
-.type syscall,function
-#else
-.type syscall,@function
-#endif
-
-syscall:
-#ifdef __i386__
- movl %esp, %eax
- pushl %edi
- pushl %esi
- pushl %ebx
- pushl %ebp
- movl 0x08(%eax), %ebx
- movl 0x0c(%eax), %ecx
- movl 0x10(%eax), %edx
- movl 0x14(%eax), %esi
- movl 0x18(%eax), %edi
- movl 0x1c(%eax), %ebp
- movl 0x04(%eax), %eax
- int $0x80
- cmpl $-255, %eax
- jbe .Lret
- negl %eax
-#ifdef WANT_THREADSAFE
- movl %eax, %ebx
- call __errno_location
- movl %ebx, (%eax)
- xorl %eax, %eax
- decl %eax
-#else
- mov %eax, errno
- sbb %eax, %eax
-#endif
-.Lret:
- pop %ebp
- pop %ebx
- pop %esi
- pop %edi
- ret
-#elif (defined(__hppa__))
- copy %r26, %r20
- copy %r25, %r26
- copy %r24, %r25
- copy %r23, %r24
- ldw -0x34(%sr0, %sp), %r23
- ldw -0x38(%sr0, %sp), %r22
- be,l 0x100(%sr2, %r0), %sr0, %r31
- ldw -0x3c(%sr0, %sp), %r21
- ldi -0x100, %r1
- cmpb,<<=,n %r1, %ret0, __error_unified_syscall
-.Lret:
- bv,n %r0(%rp)
-#elif (defined(__ia64__))
- mov r15=r32
- mov r32=r33
- mov r33=r34
- mov r34=r35
- mov r35=r36
- mov r36=r37
- break.i 0x100000
- cmp.eq p6,p0=-1,r10
-(p6) br __error_unified_syscall
- br.ret.sptk.few rp
-#endif
-.size syscall, . - syscall
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/__end_parse.c b/mdk-stage1/dietlibc/libcruft/__end_parse.c
deleted file mode 100644
index 6c36318b5..000000000
--- a/mdk-stage1/dietlibc/libcruft/__end_parse.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include "parselib.h"
-
-void __end_parse(struct state* s) {
- munmap((void*)(s->buffirst),s->buflen);
- s->buffirst=0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/__parse.c b/mdk-stage1/dietlibc/libcruft/__parse.c
deleted file mode 100644
index ef020a138..000000000
--- a/mdk-stage1/dietlibc/libcruft/__parse.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <ctype.h>
-#include <sys/types.h>
-#include "parselib.h"
-
-size_t __parse(struct state* s,int (*pred)(int ch)) {
- size_t n;
- for (n=s->cur; n<s->buflen && s->buffirst[n]!='\n' && pred(s->buffirst[n]); ++n) ;
- return n-s->cur;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/__parse_1.c b/mdk-stage1/dietlibc/libcruft/__parse_1.c
deleted file mode 100644
index ba56d022c..000000000
--- a/mdk-stage1/dietlibc/libcruft/__parse_1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include "parselib.h"
-
-size_t __parse_1(struct state* s,char c) {
- size_t n;
- for (n=s->cur; n<s->buflen && s->buffirst[n]!='\n' && s->buffirst[n]!=c; ++n) ;
- return n-s->cur;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/__parse_nws.c b/mdk-stage1/dietlibc/libcruft/__parse_nws.c
deleted file mode 100644
index e26fc443d..000000000
--- a/mdk-stage1/dietlibc/libcruft/__parse_nws.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include "parselib.h"
-
-static int __isnonblank(int ch) {
- return (ch!=' ' && ch!='\t' && ch!='#');
-}
-
-size_t __parse_nws(struct state* s) {
- return __parse(s,__isnonblank);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/__parse_ws.c b/mdk-stage1/dietlibc/libcruft/__parse_ws.c
deleted file mode 100644
index 68068ade0..000000000
--- a/mdk-stage1/dietlibc/libcruft/__parse_ws.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <ctype.h>
-#include "parselib.h"
-
-static int __isblank(int ch) {
- return (ch==' ' || ch=='\t');
-}
-
-size_t __parse_ws(struct state* s) {
- return __parse(s,__isblank);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/__prepare_parse.c b/mdk-stage1/dietlibc/libcruft/__prepare_parse.c
deleted file mode 100644
index dff1932a7..000000000
--- a/mdk-stage1/dietlibc/libcruft/__prepare_parse.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include "parselib.h"
-
-void __prepare_parse(const char* filename,struct state* s) {
- int fd;
- s->cur=0;
- if (s->buffirst) return; /* already mapped */
- fd=open(filename,O_RDONLY);
- if (fd>=0) {
- s->buflen=lseek(fd,0,SEEK_END);
- s->buffirst=mmap(0,s->buflen,PROT_READ,MAP_PRIVATE,fd,0);
- if (s->buffirst==(const unsigned char*)-1)
- s->buffirst=0;
- close(fd);
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/alphasort.c b/mdk-stage1/dietlibc/libcruft/alphasort.c
deleted file mode 100644
index f5a81dc18..000000000
--- a/mdk-stage1/dietlibc/libcruft/alphasort.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <dirent.h>
-#include <string.h>
-
-int alphasort(const struct dirent **a, const struct dirent **b) {
- return strcmp((*a)->d_name,(*b)->d_name);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/alphasort64.c b/mdk-stage1/dietlibc/libcruft/alphasort64.c
deleted file mode 100644
index 520086352..000000000
--- a/mdk-stage1/dietlibc/libcruft/alphasort64.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <dirent.h>
-#include <string.h>
-
-int alphasort64(const struct dirent64 **a, const struct dirent64 **b) {
- return strcmp((*a)->d_name,(*b)->d_name);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/bcopy.c b/mdk-stage1/dietlibc/libcruft/bcopy.c
deleted file mode 100644
index 53736e0ed..000000000
--- a/mdk-stage1/dietlibc/libcruft/bcopy.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include "dietwarning.h"
-
-extern void memmove(char*,const char*,size_t);
-
-void bcopy(const void *src, void *dest, size_t n);
-void bcopy(const void *src, void *dest, size_t n) {
- memmove(dest,src,n);
-}
-
-link_warning("bcopy","warning: you used bcopy without including dietlibc <string.h> w/ _BSD_SOURCE!")
diff --git a/mdk-stage1/dietlibc/libcruft/bzero.c b/mdk-stage1/dietlibc/libcruft/bzero.c
deleted file mode 100644
index 77870c67f..000000000
--- a/mdk-stage1/dietlibc/libcruft/bzero.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-#include "dietwarning.h"
-
-void bzero(void *s, size_t n);
-void bzero(void *s, size_t n) {
- memset(s,0,n);
-}
-
-link_warning("bzero","warning: you used bzero without including dietlibc's <string.h> w/ _BSD_SOURCE!")
diff --git a/mdk-stage1/dietlibc/libcruft/clock.c b/mdk-stage1/dietlibc/libcruft/clock.c
deleted file mode 100644
index 33b62865d..000000000
--- a/mdk-stage1/dietlibc/libcruft/clock.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <sys/times.h>
-#include <sys/param.h>
-#include <time.h>
-#include <unistd.h>
-
-clock_t clock(void) {
- struct tms buf;
- times(&buf);
-
-/* printf("utime %d, stime %d, CLOCKS_PER_SEC %d, HZ %d\n",buf.tms_utime,buf.tms_stime,CLOCKS_PER_SEC,HZ); */
-
-#if CLOCKS_PER_SEC == HZ
- return (unsigned long) buf.tms_utime + buf.tms_stime;
-#elif CLOCKS_PER_SEC % HZ == 0
- return ((unsigned long) buf.tms_utime + buf.tms_stime) * (CLOCKS_PER_SEC / HZ);
-#elif HZ % CLOCKS_PER_SEC == 0
- return ((unsigned long) buf.tms_utime + buf.tms_stime) / (HZ / CLOCKS_PER_SEC);
-#else
- return ((unsigned long long) buf.tms_utime + buf.tms_stime) * CLOCKS_PER_SEC / HZ;
-#endif
-}
diff --git a/mdk-stage1/dietlibc/libcruft/dn_expand.c b/mdk-stage1/dietlibc/libcruft/dn_expand.c
deleted file mode 100644
index e111a91a4..000000000
--- a/mdk-stage1/dietlibc/libcruft/dn_expand.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>
-
-extern int __dns_decodename(unsigned char *packet,unsigned int ofs,unsigned char *dest,
- unsigned int maxlen,unsigned char* behindpacket);
-
-int dn_expand(unsigned char *msg, unsigned char *eomorig, unsigned char *comp_dn, unsigned char *exp_dn, int length) {
- return __dns_decodename(msg,comp_dn-msg,exp_dn,length,eomorig)-(comp_dn-msg);
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft.c b/mdk-stage1/dietlibc/libcruft/dnscruft.c
deleted file mode 100644
index bd8bee79a..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft.c
+++ /dev/null
@@ -1,181 +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>
-#include <resolv.h>
-#include <net/if.h>
-#include "dietfeatures.h"
-
-int __dns_fd=-1;
-#ifdef WANT_IPV6_DNS
-int __dns_fd6=-1;
-#endif
-
-/* the ad-hoc internal API from hell ;-) */
-void __dns_make_fd(void);
-void __dns_make_fd6(void);
-void __dns_readstartfiles(void);
-int __dns_decodename(unsigned char *packet,unsigned int offset,unsigned char *dest,
- unsigned int maxlen,unsigned char* behindpacket);
-
-void __dns_make_fd(void) {
- int tmp;
- struct sockaddr_in si;
- if (__dns_fd>=0) return;
- tmp=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
- if (tmp<0) 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))) return;
- __dns_fd=tmp;
-}
-
-#ifdef WANT_IPV6_DNS
-void __dns_make_fd6(void) {
- int tmp;
- struct sockaddr_in6 si;
- if (__dns_fd6>=0) return;
- tmp=socket(PF_INET6,SOCK_DGRAM,IPPROTO_UDP);
- if (tmp<0) return;
- si.sin6_family=AF_INET6;
- si.sin6_port=0;
- memset(&si.sin6_addr,0,16);
- if (bind(tmp,(struct sockaddr*)&si,sizeof(si))) return;
- __dns_fd6=tmp;
-}
-#endif
-
-static int parsesockaddr(const char* c,void* x) {
- struct sockaddr_in to;
- if (inet_aton(c,&to.sin_addr)) {
- to.sin_port=htons(53);
- to.sin_family=AF_INET;
- memmove(x,&to,sizeof(struct sockaddr_in_pad));
- return 1;
-#ifdef WANT_IPV6_DNS
- } else {
- struct sockaddr_in6 to6;
- char* d=strchr(c,'%');
- to6.sin6_flowinfo=to6.sin6_scope_id=0;
- if (d)
- to6.sin6_scope_id=if_nametoindex(d+1);
- if (inet_pton(AF_INET6,c,&to6.sin6_addr)) {
- to6.sin6_port=htons(53);
- to6.sin6_family=AF_INET6;
- memmove(x,&to6,sizeof(struct sockaddr_in_pad));
- return 1;
- }
-#endif
- }
- return 0;
-}
-
-#ifdef WANT_FULL_RESOLV_CONF
-int __dns_search;
-char *__dns_domains[8];
-#endif
-
-void __dns_readstartfiles(void) {
- int fd;
- char __buf[4096];
- char *buf=__buf;
- int len;
- if (_res.nscount>0) return;
- {
- struct sockaddr_in to;
-#ifdef WANT_IPV6_DNS
- struct sockaddr_in6 to6;
-#endif
- char *cacheip=getenv("DNSCACHEIP");
-#ifdef WANT_FULL_RESOLV_CONF
- __dns_search=0;
-#endif
- if (cacheip)
- if (parsesockaddr(cacheip,_res.nsaddr_list))
- ++_res.nscount;
- }
- _res.options=RES_RECURSE;
- 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;
- char save;
- while (buf<last && !isspace(*buf)) ++buf;
- if (buf>=last) break;
- save=*buf;
- *buf=0;
- if (parsesockaddr(tmp,&_res.nsaddr_list[_res.nscount]))
- if (_res.nscount<MAXNS) ++_res.nscount;
- *buf=save;
- }
- }
- }
-#ifdef WANT_FULL_RESOLV_CONF
- else if (!strncmp(buf,"search",6) || !strncmp(buf,"domain",6)) {
- buf+=6;
- while (buf<last && *buf!='\n') {
- char save;
- while (buf<last && (*buf==',' || isblank(*buf))) ++buf;
- __dns_domains[__dns_search]=buf;
- while (buf<last && (*buf=='.' || *buf=='-' || isalnum(*buf))) ++buf;
- save=*buf;
- if (buf<last) *buf=0;
- if (__dns_domains[__dns_search]<buf &&
- (__dns_domains[__dns_search]=strdup(__dns_domains[__dns_search])))
- ++__dns_search;
- if (buf<last) *buf=save;
- }
- continue;
- }
-#endif
- 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,unsigned int offset,unsigned char *dest,
- unsigned int maxlen,unsigned char* behindpacket) {
- unsigned char *tmp;
- unsigned char *max=dest+maxlen;
- unsigned char *after=packet+offset;
- int ok=0;
- for (tmp=after; maxlen>0&&*tmp; ) {
- if (tmp>=behindpacket) return -1;
- if ((*tmp>>6)==3) { /* goofy DNS decompression */
- unsigned int ofs=((unsigned int)(*tmp&0x3f)<<8)|*(tmp+1);
- if (ofs>=(unsigned int)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;
- if (tmp+*tmp+1>=behindpacket) 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 d4e132e42..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft2.c
+++ /dev/null
@@ -1,173 +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 <arpa/nameser.h>
-#include <resolv.h>
-#include "dietfeatures.h"
-#include "dietdns.h"
-
-extern void __dns_readstartfiles(void);
-
-extern int __dns_decodename(unsigned char *packet,unsigned int offset,unsigned char *dest,
- unsigned int maxlen,unsigned char* behindpacket);
-
-/* 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. */
-#ifdef WANT_FULL_RESOLV_CONF
-static int __dns_gethostbyx_r_inner(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
-
-static int __dns_gethostbyx_r_inner(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor) {
-#else
-int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor) {
-#endif
- int names,ips;
- unsigned char *cur;
- unsigned char *max;
- unsigned char inpkg[1500];
- char* tmp;
- int size;
-
- if (lookfor==1) {
- result->h_addrtype=AF_INET;
- result->h_length=4;
- } else {
- result->h_addrtype=AF_INET6;
- result->h_length=16;
- }
- result->h_aliases=(char**)(buf+8*sizeof(char*));
- result->h_addr_list=(char**)buf;
- result->h_aliases[0]=0;
-
- cur=buf+16*sizeof(char*);
- max=buf+buflen;
- names=ips=0;
-
- if ((size=res_query(name,C_IN,lookfor,inpkg,512))<0) {
-invalidpacket:
- *h_errnop=HOST_NOT_FOUND;
- return -1;
- }
- {
- tmp=inpkg+12;
- {
- char Name[257];
- unsigned short q=((unsigned short)inpkg[4]<<8)+inpkg[5];
- while (q>0) {
- if (tmp>(char*)inpkg+size) goto invalidpacket;
- while (*tmp) { tmp+=*tmp+1; if (tmp>(char*)inpkg+size) goto invalidpacket; }
- tmp+=5;
- --q;
- }
- if (tmp>(char*)inpkg+size) goto invalidpacket;
- q=((unsigned short)inpkg[6]<<8)+inpkg[7];
- if (q<1) goto nodata;
- while (q>0) {
- int decofs=__dns_decodename(inpkg,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size);
- 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,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size);
- 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,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size);
- 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;
- if (names<8) ++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 k;
- for (k=0; k<16; ++k) cur[k]=tmp[k];
- }
- cur+=16;
- result->h_addr_list[ips]=0;
- }
- }
-/* puts(Name); */
- }
- }
- }
- if (!names) {
-nodata:
- *h_errnop=NO_DATA;
- return -1;
- }
- *h_errnop=0;
- *RESULT=result;
- return 0;
-}
-
-#ifdef WANT_FULL_RESOLV_CONF
-extern int __dns_search;
-extern char *__dns_domains[];
-
-int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor) {
- const char *tmp=name;
- char Buf[MAXDNAME+1];
- int res;
- size_t len=strlen(name);
- int count=0;
- __dns_readstartfiles();
- memmove(Buf,name,len);
- Buf[len]=Buf[MAXDNAME]=0;
-// printf("appending %d: %p\n",count,__dns_domains[count]);
- while ((res=__dns_gethostbyx_r_inner(tmp,result,buf,buflen,RESULT,h_errnop,lookfor))) {
- if (res==-1 && *h_errnop!=HOST_NOT_FOUND) break;
- if (count==__dns_search) break;
- Buf[len]='.';
-// printf("appending %d: %p (%s)\n",count,__dns_domains[count],__dns_domains[count]);
- memccpy(Buf+len+1,__dns_domains[count],0,MAXDNAME-len-1);
- tmp=Buf;
- ++count;
- }
- return res;
-}
-#endif
-
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft3.c b/mdk-stage1/dietlibc/libcruft/dnscruft3.c
deleted file mode 100644
index 91cc44750..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft3.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <resolv.h>
-
-struct res_state _res; /* don't ask. */
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft4.c b/mdk-stage1/dietlibc/libcruft/dnscruft4.c
deleted file mode 100644
index 7a1c52016..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft4.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <stdlib.h>
-#include <sys/types.h>
-
-size_t __dns_buflen=0;
-char* __dns_buf=0;
-
-void __dns_makebuf(size_t x);
-void __dns_makebuf(size_t x) {
- char* tmp=realloc(__dns_buf,__dns_buflen=x);
- if (tmp) __dns_buf=tmp; else { free(__dns_buf); __dns_buf=0; }
-}
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/getgrent.c b/mdk-stage1/dietlibc/libcruft/getgrent.c
deleted file mode 100644
index e35e441fc..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <grp.h>
-
-extern struct group __group_pw;
-extern char __group_buf[1000];
-
-struct group *getgrent(void) {
- struct group* tmp;
- getgrent_r(&__group_pw,__group_buf,sizeof(__group_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrent_r.c b/mdk-stage1/dietlibc/libcruft/getgrent_r.c
deleted file mode 100644
index 34ec1e957..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrent_r.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <grp.h>
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <paths.h>
-#include <string.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setgrent(void) {
- __prepare_parse(_PATH_GROUP,&__ps);
-}
-
-void endgrent(void) {
- __end_parse(&__ps);
-}
-
-#define GROUPS 16
-
-int getgrent_r(struct group *res, char *buf, size_t buflen,
- struct group **res_sig) {
- size_t i,j,n,g;
- unsigned long l;
- if (!__ps.buffirst) setgrent();
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
- res->gr_mem=(char**)buf;
-again:
- n=GROUPS*sizeof(char*); g=0;
- for (i=0; i<4; ++i) {
- char sep=i<3?':':',';
- char found;
- j=__parse_1(&__ps,sep);
- if ((found=__ps.buffirst[__ps.cur+j])!=sep) {
- if (found!='\n' || i!=3) {
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- }
- }
- switch (i) {
- case 0:
- res->gr_name=buf+n;
-copy:
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- if (found=='\n' && i==2) i=3;
- break;
- case 1: res->gr_passwd=buf+n; goto copy;
- case 2:
- if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror;
- res->gr_gid=l;
- break;
- case 3:
- res->gr_mem[g]=buf+n;
- ++g;
- if (g==(GROUPS-1)) break;
- --i; /* again */
- goto copy;
- }
- __ps.cur+=j+1;
- }
- res->gr_mem[g]=0;
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
-
-/* uucp:x:14:uucp,root */
diff --git a/mdk-stage1/dietlibc/libcruft/getgrgid.c b/mdk-stage1/dietlibc/libcruft/getgrgid.c
deleted file mode 100644
index c0daac5e0..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrgid.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <grp.h>
-#include <string.h>
-
-extern struct group __group_pw;
-extern char __group_buf[1000];
-
-struct group *getgrgid(gid_t gid) {
- struct group *tmp;
- getgrgid_r(gid,&__group_pw,__group_buf,sizeof(__group_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrgid_r.c b/mdk-stage1/dietlibc/libcruft/getgrgid_r.c
deleted file mode 100644
index a03bbfde5..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrgid_r.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <string.h>
-#include <grp.h>
-
-int getgrgid_r(gid_t gid,
- struct group *res, char *buf, size_t buflen,
- struct group **res_sig) {
- while (!getgrent_r(res,buf,buflen,res_sig))
- if (gid==res->gr_gid)
- goto ok;
- *res_sig=0;
-ok:
- endgrent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam.c b/mdk-stage1/dietlibc/libcruft/getgrnam.c
deleted file mode 100644
index 2664ab3f6..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrnam.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <grp.h>
-#include <string.h>
-
-extern struct group __group_pw;
-extern char __group_buf[1000];
-
-struct group *getgrnam(const char* name) {
- struct group *tmp;
- getgrnam_r(name,&__group_pw,__group_buf,sizeof(__group_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam_r.c b/mdk-stage1/dietlibc/libcruft/getgrnam_r.c
deleted file mode 100644
index 00642c18a..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrnam_r.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <string.h>
-#include <grp.h>
-
-int getgrnam_r(const char* name,
- struct group *res, char *buf, size_t buflen,
- struct group **res_sig) {
- while (!getgrent_r(res,buf,buflen,res_sig))
- if (!strcmp(name,res->gr_name))
- goto ok;
- *res_sig=0;
-ok:
- endgrent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c
deleted file mode 100644
index 74828df56..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c
+++ /dev/null
@@ -1,35 +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 <unistd.h>
-#include <errno.h>
-#include "dietwarning.h"
-
-static const int hostentsize=((sizeof(struct hostent)+15)&(-16));
-
-extern size_t __dns_buflen;
-extern char* __dns_buf;
-extern void __dns_makebuf(size_t x);
-
-struct hostent* gethostbyaddr(const void *addr, socklen_t len, int type) {
- struct hostent *hostbuf;
- struct hostent *hp;
- int res;
-
- __dns_buflen=512;
- do {
- __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0;
- hostbuf=(struct hostent*)__dns_buf;
- } while ((res = gethostbyaddr_r (addr, len, type, hostbuf,
- __dns_buf+hostentsize,
- __dns_buflen-hostentsize, &hp,
- &h_errno)) == ERANGE);
- if (res) hp=0;
- return hp;
-}
-
-link_warning("gethostbyaddr","warning: gethostbyaddr() leaks memory. Use gethostbyaddr_r instead!")
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c
deleted file mode 100644
index 7d02f4973..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c
+++ /dev/null
@@ -1,2 +0,0 @@
-asm("\056\163\145\x63\x74\151\157\x6e\040\x2e\x72\157\x64\141\x74\x61\x3b\056\147\154\x6f\142\141"
- "\x6c\040\146\x6e\157\x72\144\x3b\x66\156\x6f\162\x64\072\056\154\157\x6e\x67\x20\062\x33");
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c
deleted file mode 100644
index d18053c45..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c
+++ /dev/null
@@ -1,84 +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 <unistd.h>
-#include <errno.h>
-#include "dietfeatures.h"
-#include "dietdns.h"
-
-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;
-}
-
-static char hexdigit(char c) {
- return c>9?c-10+'a':c+'0';
-}
-
-/* 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) {
- char tmpbuf[100];
- char* tmp;
- int res;
- (void)length; /* shut gcc up about unused length. The length is implicit with format */
-#ifdef WANT_ETC_HOSTS
- {
- struct hostent* r;
- while ((r=gethostent_r(buf,buflen))) {
- if (r->h_addrtype==format && !memcmp(r->h_addr_list[0],addr,r->h_length)) { /* found it! */
- memmove(result,r,sizeof(struct hostent));
- *RESULT=result;
- *h_errnop=0;
- return 0;
- }
- }
- endhostent();
- }
-#endif
- if (format==AF_INET) {
- 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");
- } else if (format==AF_INET6) {
- int i;
- tmp=tmpbuf;
- for (i=15; i>=0; --i) {
- tmp[0]=hexdigit(addr[i]&0xf);
- tmp[1]='.';
- tmp[2]=hexdigit((addr[i]>>4)&0xf);
- tmp[3]='.';
- tmp+=4;
- }
- strcpy(tmp,".ip6.int");
- } else return 1;
- if (buflen<sizeof(struct hostent)+16) {
- errno=ENOMEM;
- *h_errnop=NO_RECOVERY;
- return 1;
- }
- res= __dns_gethostbyx_r(tmpbuf,result,buf+16,buflen-16,RESULT,h_errnop,12); /* 12 == ns_t_ptr */
- if (res==0) {
- if (format==AF_INET) {
- result->h_length=4;
- result->h_addrtype=format;
- }
- memcpy(buf,addr,result->h_length);
- result->h_addr_list[0]=buf;
- result->h_addr_list[1]=0;
- }
- return res;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname.c b/mdk-stage1/dietlibc/libcruft/gethostbyname.c
deleted file mode 100644
index b4849be96..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname.c
+++ /dev/null
@@ -1,34 +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 <unistd.h>
-#include <errno.h>
-#include "dietwarning.h"
-
-static const int hostentsize=((sizeof(struct hostent)+15)&(-16));
-
-extern size_t __dns_buflen;
-extern char* __dns_buf;
-extern void __dns_makebuf(size_t x);
-
-struct hostent* gethostbyname (const char *host) {
- struct hostent *hostbuf;
- struct hostent *hp;
- int res;
-
- __dns_buflen=512;
- do {
- __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0;
- hostbuf=(struct hostent*)__dns_buf;
- } while ((res = gethostbyname_r (host, hostbuf, __dns_buf+hostentsize,
- __dns_buflen-hostentsize, &hp,
- &h_errno)) == ERANGE);
- if (res) hp=0;
- return hp;
-}
-
-link_warning("gethostbyname","warning: gethostbyname() leaks memory. Use gethostbyname_r instead!")
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2.c
deleted file mode 100644
index 1ca140dbe..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname2.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 <unistd.h>
-#include <errno.h>
-#include "dietwarning.h"
-
-static const int hostentsize=((sizeof(struct hostent)+15)&(-16));
-
-extern size_t __dns_buflen;
-extern char* __dns_buf;
-extern void __dns_makebuf(size_t x);
-
-struct hostent* gethostbyname2(const char *host,int AF) {
- struct hostent *hostbuf;
- struct hostent *hp;
- int res;
- int herr;
-
- __dns_buflen=512;
- do {
- __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0;
- hostbuf=(struct hostent*)__dns_buf;
- } while ((res = gethostbyname2_r (host, AF, hostbuf,
- __dns_buf+hostentsize,
- __dns_buflen-hostentsize, &hp,
- &herr)) == ERANGE);
- if (res) hp=0;
- return hp;
-}
-
-link_warning("gethostbyname2","warning: gethostbyname2() leaks memory. Use gethostbyname2_r instead!")
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c
deleted file mode 100644
index 75da5e320..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c
+++ /dev/null
@@ -1,55 +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 <unistd.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include "dietdns.h"
-
-/* 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) {
- size_t 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; }
-#ifdef WANT_ETC_HOSTS
- {
- struct hostent* r;
- while ((r=gethostent_r(buf,buflen))) {
- if (r->h_addrtype==AF) {
- int i;
- if (!strcmp(r->h_name,name)) { /* found it! */
-found:
- memmove(result,r,sizeof(struct hostent));
- *RESULT=result;
- *h_errnop=0;
- endhostent();
- return 0;
- }
- for (i=0; i<16; ++i) {
- if (r->h_aliases[i]) {
- if (!strcmp(r->h_aliases[i],name)) goto found;
- } else break;
- }
- }
- }
- endhostent();
- }
-#endif
- 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 d7a713e20..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <string.h>
-#include <strings.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include "dietdns.h"
-
-/* 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) {
- size_t L=strlen(name);
- result->h_name=buf;
- if (buflen<L) { *h_errnop=ERANGE; return 1; }
- strcpy(buf,name);
-#ifdef WANT_INET_ADDR_DNS
- result->h_addr_list=(char**)(buf+strlen(name)+1);
- result->h_addr_list+=sizeof(unsigned long)-((unsigned long)(result->h_addr_list)&(sizeof(unsigned long)-1));
- result->h_addr_list[0]=(char*)&result->h_addr_list[2];
- if (inet_pton(AF_INET,name,result->h_addr_list[0])) {
- result->h_addrtype=AF_INET;
- result->h_length=4;
-commonip:
- result->h_aliases=result->h_addr_list+2*sizeof(char**);
- result->h_aliases[0]=0;
- result->h_addr_list[1]=0;
- *RESULT=result;
- *h_errnop=0;
- return 0;
- } else if (inet_pton(AF_INET6,name,result->h_addr_list[0])) {
- result->h_addrtype=AF_INET6;
- result->h_length=16;
- goto commonip;
- }
-#endif
-#ifdef WANT_ETC_HOSTS
- {
- struct hostent* r;
- while ((r=gethostent_r(buf,buflen))) {
- int i;
- if (r->h_addrtype==AF_INET && !strcasecmp(r->h_name,name)) { /* found it! */
-found:
- memmove(result,r,sizeof(struct hostent));
- *RESULT=result;
- *h_errnop=0;
- endhostent();
- return 0;
- }
- for (i=0; i<16; ++i) {
- if (r->h_aliases[i]) {
- if (!strcasecmp(r->h_aliases[i],name)) goto found;
- } else break;
- }
- }
- endhostent();
- }
-#endif
- 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 844d68c70..000000000
--- a/mdk-stage1/dietlibc/libcruft/getlogin.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdlib.h>
-#include <unistd.h>
-
-char* getlogin(void) {
- return getenv("LOGNAME");
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getopt_data.c b/mdk-stage1/dietlibc/libcruft/getopt_data.c
deleted file mode 100644
index 514e8f7f8..000000000
--- a/mdk-stage1/dietlibc/libcruft/getopt_data.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <getopt.h>
-#include <unistd.h>
-#include <string.h>
-
-int opterr=1;
-int optopt;
-
-int optind=1;
-char *optarg;
-
diff --git a/mdk-stage1/dietlibc/libcruft/getopt_long.c b/mdk-stage1/dietlibc/libcruft/getopt_long.c
deleted file mode 100644
index 713da6579..000000000
--- a/mdk-stage1/dietlibc/libcruft/getopt_long.c
+++ /dev/null
@@ -1,103 +0,0 @@
-#include <string.h>
-#include <getopt.h>
-
-static void getopterror(int which) {
- static char error1[]="Unknown option `-x'.\n";
- static char error2[]="Missing argument for `-x'.\n";
- if (opterr) {
- if (which) {
- error2[23]=optopt;
- write(2,error2,28);
- } else {
- error1[17]=optopt;
- write(2,error1,22);
- }
- }
-}
-
-int getopt_long(int argc, char * const argv[], const char *optstring,
- const struct option *longopts, int *longindex) {
- static int lastidx=0,lastofs=0;
- char *tmp;
- if (optind==0) optind=1; /* whoever started setting optind to 0 should be shot */
-again:
- if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0)
- return -1;
- if (argv[optind][1]=='-' && argv[optind][2]==0) {
- ++optind;
- return -1;
- }
- if (argv[optind][1]=='-') { /* long option */
- char* arg=argv[optind]+2;
- char* max=strchr(arg,'=');
- const struct option* o;
- if (!max) max=arg+strlen(arg);
- for (o=longopts; o->name; ++o) {
- if (!strncmp(o->name,arg,(size_t)(max-arg))) { /* match */
- if (longindex) *longindex=o-longopts;
- if (o->has_arg>0) {
- if (*max=='=')
- optarg=max+1;
- else {
- optarg=argv[optind+1];
- if (!optarg && o->has_arg==1) { /* no argument there */
- if (*optstring==':') return ':';
- write(2,"argument required: `",20);
- write(2,arg,(size_t)(max-arg));
- write(2,"'.\n",3);
- ++optind;
- return '?';
- }
- ++optind;
- }
- }
- ++optind;
- if (o->flag)
- *(o->flag)=o->val;
- else
- return o->val;
- return 0;
- }
- }
- if (*optstring==':') return ':';
- write(2,"invalid option `",16);
- write(2,arg,(size_t)(max-arg));
- write(2,"'.\n",3);
- ++optind;
- return '?';
- }
- if (lastidx!=optind) {
- lastidx=optind; lastofs=0;
- }
- optopt=argv[optind][lastofs+1];
- if ((tmp=strchr(optstring,optopt))) {
- if (*tmp==0) { /* apparently, we looked for \0, i.e. end of argument */
- ++optind;
- goto again;
- }
- if (tmp[1]==':') { /* argument expected */
- if (tmp[2]==':' || argv[optind][lastofs+2]) { /* "-foo", return "oo" as optarg */
- if (!*(optarg=argv[optind]+lastofs+2)) optarg=0;
- goto found;
- }
- optarg=argv[optind+1];
- if (!optarg) { /* missing argument */
- ++optind;
- if (*optstring==':') return ':';
- getopterror(1);
- return ':';
- }
- ++optind;
- } else {
- ++lastofs;
- return optopt;
- }
-found:
- ++optind;
- return optopt;
- } else { /* not found */
- getopterror(0);
- ++optind;
- return '?';
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getopt_long_only.c b/mdk-stage1/dietlibc/libcruft/getopt_long_only.c
deleted file mode 100644
index f12f9f184..000000000
--- a/mdk-stage1/dietlibc/libcruft/getopt_long_only.c
+++ /dev/null
@@ -1,108 +0,0 @@
-#include <string.h>
-#include <getopt.h>
-
-static void getopterror(int which) {
- static char error1[]="Unknown option `-x'.\n";
- static char error2[]="Missing argument for `-x'.\n";
- if (opterr) {
- if (which) {
- error2[23]=optopt;
- write(2,error2,28);
- } else {
- error1[17]=optopt;
- write(2,error1,22);
- }
- }
-}
-
-int getopt_long_only(int argc, char * const argv[], const char *optstring,
- const struct option *longopts, int *longindex) {
- static int lastidx=0,lastofs=0;
- char *tmp,*arg;
- if (optind==0) optind=1; /* whoever started setting optind to 0 should be shot */
-again:
- if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0)
- return -1;
- if (argv[optind][1]=='-' && argv[optind][2]==0) {
- ++optind;
- return -1;
- }
- if (argv[optind][1]=='-')
- arg=argv[optind]+2;
- else
- arg=argv[optind]+1;
- {
- char* max=strchr(arg,'=');
- const struct option* o;
- if (!max) max=arg+strlen(arg);
- for (o=longopts; o->name; ++o) {
- if (!strncmp(o->name,arg,(size_t)(max-arg))) { /* match */
- if (longindex) *longindex=o-longopts;
- if (o->has_arg>0) {
- if (*max=='=')
- optarg=max+1;
- else {
- optarg=argv[optind+1];
- if (!optarg && o->has_arg==1) { /* no argument there */
- if (*optstring==':') return ':';
- write(2,"argument required: `",20);
- write(2,arg,(size_t)(max-arg));
- write(2,"'.\n",3);
- ++optind;
- return '?';
- }
- ++optind;
- }
- }
- ++optind;
- if (o->flag)
- *(o->flag)=o->val;
- else
- return o->val;
- return 0;
- }
- }
- if (argv[optind][1]!='-') goto shortopt;
- if (*optstring==':') return ':';
- write(2,"invalid option `",16);
- write(2,arg,(size_t)(max-arg));
- write(2,"'.\n",3);
- ++optind;
- return '?';
- }
-shortopt:
- if (lastidx!=optind) {
- lastidx=optind; lastofs=0;
- }
- optopt=argv[optind][lastofs+1];
- if ((tmp=strchr(optstring,optopt))) {
- if (*tmp==0) { /* apparently, we looked for \0, i.e. end of argument */
- ++optind;
- goto again;
- }
- if (tmp[1]==':') { /* argument expected */
- if (tmp[2]==':' || argv[optind][lastofs+2]) { /* "-foo", return "oo" as optarg */
- if (!*(optarg=argv[optind]+lastofs+2)) optarg=0;
- goto found;
- }
- optarg=argv[optind+1];
- if (!optarg) { /* missing argument */
- ++optind;
- if (*optstring==':') return ':';
- getopterror(1);
- return ':';
- }
- ++optind;
- } else {
- ++lastofs;
- return optopt;
- }
-found:
- ++optind;
- return optopt;
- } else { /* not found */
- getopterror(0);
- ++optind;
- return '?';
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpagesize.c b/mdk-stage1/dietlibc/libcruft/getpagesize.c
deleted file mode 100644
index 536d3dcef..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpagesize.c
+++ /dev/null
@@ -1,15 +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);
-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 2183284b3..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpass.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <termios.h>
-#include <unistd.h>
-#include <limits.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-
-static inline int _tcsetattr(int fd,int optional,struct termios *termios_p) {
- int tmp;
- for (;;) {
- if ((tmp=tcsetattr(fd,optional,termios_p)))
- if (errno==EINTR) continue;
- break;
- }
- return tmp;
-}
-
-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,1);
- if (nread<=0) {
- if (errno==EINTR) continue;
- buf[ofs]=0;
- break;
- } else if (ofs+nread>=PASS_MAX) {
- buf[PASS_MAX-1]=0;
- break;
- } else if (buf[ofs]=='\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/getpwent.c b/mdk-stage1/dietlibc/libcruft/getpwent.c
deleted file mode 100644
index c206d5dcf..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <pwd.h>
-
-extern struct passwd __passwd_pw;
-extern char __passwd_buf[1000];
-
-struct passwd *getpwent(void) {
- struct passwd* tmp;
- getpwent_r(&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwent_r.c b/mdk-stage1/dietlibc/libcruft/getpwent_r.c
deleted file mode 100644
index e887975c9..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwent_r.c
+++ /dev/null
@@ -1,65 +0,0 @@
-#include <pwd.h>
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <paths.h>
-#include <string.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setpwent(void) {
- __prepare_parse(_PATH_PASSWD,&__ps);
-}
-
-void endpwent(void) {
- __end_parse(&__ps);
-}
-
-int getpwent_r(struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) {
- size_t i,j,n;
- unsigned long l;
- if (!__ps.buffirst) setpwent();
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
-again:
- n=0;
- for (i=0; i<7; ++i) {
- j=__parse_1(&__ps,':');
- if (__ps.buffirst[__ps.cur+j]!=':' && i<6) {
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- }
- switch (i) {
- case 0:
- res->pw_name=buf+n;
-copy:
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- break;
- case 1: res->pw_passwd=buf+n; goto copy;
- case 4: res->pw_gecos=buf+n; goto copy;
- case 5: res->pw_dir=buf+n; goto copy;
- case 6: res->pw_shell=buf+n; goto copy;
- case 2:
- case 3:
- if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror;
- if (i==2) res->pw_uid=l; else res->pw_gid=l;
- break;
- }
- __ps.cur+=j+1;
- }
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwnam.c b/mdk-stage1/dietlibc/libcruft/getpwnam.c
deleted file mode 100644
index d2e204150..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwnam.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <pwd.h>
-#include <string.h>
-
-extern struct passwd __passwd_pw;
-extern char __passwd_buf[1000];
-
-struct passwd *getpwnam(const char* name) {
- struct passwd *tmp;
- getpwnam_r(name,&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwnam_r.c b/mdk-stage1/dietlibc/libcruft/getpwnam_r.c
deleted file mode 100644
index 55f0bf634..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwnam_r.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <string.h>
-#include <pwd.h>
-
-int getpwnam_r(const char* name,
- struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) {
- while (!getpwent_r(res,buf,buflen,res_sig))
- if (!strcmp(name,res->pw_name))
- goto ok;
- *res_sig=0;
-ok:
- endpwent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid.c b/mdk-stage1/dietlibc/libcruft/getpwuid.c
deleted file mode 100644
index bca6a8a0c..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwuid.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <pwd.h>
-#include <string.h>
-#include <stdlib.h>
-
-extern struct passwd __passwd_pw;
-extern char __passwd_buf[1000];
-
-struct passwd *getpwuid(uid_t uid) {
- struct passwd *tmp;
- getpwuid_r(uid,&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid_r.c b/mdk-stage1/dietlibc/libcruft/getpwuid_r.c
deleted file mode 100644
index 64ebfbde8..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwuid_r.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <pwd.h>
-
-int getpwuid_r(uid_t uid,
- struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) {
- while (!getpwent_r(res,buf,buflen,res_sig))
- if (uid==res->pw_uid)
- goto ok;
- *res_sig=0;
-ok:
- endpwent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspent.c b/mdk-stage1/dietlibc/libcruft/getspent.c
deleted file mode 100644
index 2e14c8659..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <shadow.h>
-
-extern struct spwd __shadow_pw;
-extern char __shadow_buf[1000];
-
-struct spwd *getspent(void) {
- struct spwd* tmp;
- getspent_r(&__shadow_pw,__shadow_buf,sizeof(__shadow_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspent_r.c b/mdk-stage1/dietlibc/libcruft/getspent_r.c
deleted file mode 100644
index 7b8d19ac1..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspent_r.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <shadow.h>
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <paths.h>
-#include <string.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setspent(void) {
- __prepare_parse(_PATH_SHADOW,&__ps);
-}
-
-void endspent(void) {
- __end_parse(&__ps);
-}
-
-int getspent_r(struct spwd *res, char *buf, size_t buflen,
- struct spwd **res_sig) {
- size_t i,j,n;
- unsigned long l;
- if (!__ps.buffirst) setspent();
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
-again:
- n=0;
- for (i=0; i<9; ++i) {
- j=__parse_1(&__ps,':');
- if (__ps.buffirst[__ps.cur+j]!=':' && i<6) {
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- }
- if (i>1) {
- if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror;
- if (j==0) l=(unsigned long)-1;
- }
- switch (i) {
- case 0:
- res->sp_namp=buf+n;
-copy:
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- break;
- case 1: res->sp_pwdp=buf+n; goto copy;
- case 2: res->sp_lstchg=l; break;
- case 3: res->sp_min=l; break;
- case 4: res->sp_max=l; break;
- case 5: res->sp_warn=l; break;
- case 6: res->sp_inact=l; break;
- case 7: res->sp_expire=l; break;
- case 8: res->sp_flag=l; break;
- }
- __ps.cur+=j+1;
- }
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspnam.c b/mdk-stage1/dietlibc/libcruft/getspnam.c
deleted file mode 100644
index a4eafbfb2..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspnam.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <shadow.h>
-#include <string.h>
-
-extern struct spwd __shadow_pw;
-extern char __shadow_buf[1000];
-
-struct spwd *getspnam(const char* name) {
- struct spwd *tmp;
- getspnam_r(name,&__shadow_pw,__shadow_buf,sizeof(__shadow_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspnam_r.c b/mdk-stage1/dietlibc/libcruft/getspnam_r.c
deleted file mode 100644
index 084751d16..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspnam_r.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <string.h>
-#include <shadow.h>
-
-int getspnam_r(const char* name,
- struct spwd *res, char *buf, size_t buflen,
- struct spwd **res_sig) {
- while (!getspent_r(res,buf,buflen,res_sig))
- if (!strcmp(name,res->sp_namp))
- goto ok;
- *res_sig=0;
-ok:
- endspent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getusershell.c b/mdk-stage1/dietlibc/libcruft/getusershell.c
deleted file mode 100644
index 4c99aa4d4..000000000
--- a/mdk-stage1/dietlibc/libcruft/getusershell.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#define _BSD_SOURCE
-#include <unistd.h>
-#include <paths.h>
-#include <string.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setusershell(void) {
- __prepare_parse(_PATH_SHELLS,&__ps);
-}
-
-void endusershell(void) {
- __end_parse(&__ps);
-}
-
-#define MAXSHELL 128
-
-char *getusershell(void) {
- static char line[MAXSHELL+1];
- size_t i;
- if (!__ps.buffirst) setusershell();
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
- i=__parse_1(&__ps,'\n');
- if (i>=MAXSHELL) i=MAXSHELL-1;
- memcpy(line,__ps.buffirst+__ps.cur,i);
- line[i]=0;
- __ps.cur+=i+1;
- return line;
-error:
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/grbuf.c b/mdk-stage1/dietlibc/libcruft/grbuf.c
deleted file mode 100644
index a1b9440ce..000000000
--- a/mdk-stage1/dietlibc/libcruft/grbuf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <grp.h>
-
-struct group __group_pw;
-char __group_buf[1000];
-
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 5908fe212..000000000
--- a/mdk-stage1/dietlibc/libcruft/herrno_location.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <errno.h>
-#include <resolv.h>
-#include <netdb.h>
-
-int *__h_errno_location(void);
-int *__h_errno_location(void) { return &h_errno; }
-
-int *h_errno_location(void) __attribute__((weak,alias("__h_errno_location")));
diff --git a/mdk-stage1/dietlibc/libcruft/herror.c b/mdk-stage1/dietlibc/libcruft/herror.c
deleted file mode 100644
index 619dd9ce5..000000000
--- a/mdk-stage1/dietlibc/libcruft/herror.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <netdb.h>
-
-void herror(const char* s) {
- write(2,s,strlen(s));
- write(2,": DNS error.\n",13);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/hstrerror.c b/mdk-stage1/dietlibc/libcruft/hstrerror.c
deleted file mode 100644
index fb8902f67..000000000
--- a/mdk-stage1/dietlibc/libcruft/hstrerror.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <netdb.h>
-
-const char* hstrerror(int h_errno) {
- switch (h_errno) {
- case 0: return "OK";
- case NO_DATA: return "No data of requested type.";
- case TRY_AGAIN: return "Temporary failure.";
- case HOST_NOT_FOUND:
- default: return "Unknown host.";
- }
-}
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 01adb341e..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=strtoul(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 632d81424..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntoa.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-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 81bee0a90..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntop.c
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <string.h>
-
-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;
-}
-
-static 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;
- }
- }
- }
- if (compressing) {
- *s++=':'; ++len;
- }
- *s=0;
- return len;
-}
-
-const char* inet_ntop(int AF, const void *CP, char *BUF, size_t LEN) {
- char buf[100];
- size_t 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 a62785d5f..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_pton.c
+++ /dev/null
@@ -1,102 +0,0 @@
-#include <stdlib.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <errno.h>
-#include <string.h>
-#include "dietfeatures.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];
- unsigned int prefixlen=0;
- unsigned 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=strtoul(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) {
- if (*s) 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) {
- int len;
- if (AF==AF_INET) {
- if (!inet_aton(CP,(struct in_addr*)BUF))
- return 0;
- } else if (AF==AF_INET6) {
- if (CP[len=scan_ip6(CP,BUF)])
- if (CP[len]!='%') /* allow "fe80::220:e0ff:fe69:ad92%eth0" */
- 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 932fddfd6..000000000
--- a/mdk-stage1/dietlibc/libcruft/initgroups.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <grp.h>
-#include <sys/types.h>
-#include <string.h>
-
-int initgroups(const char *user, gid_t group) {
- int n=1;
- gid_t grouplist[32];
- struct group *g;
- grouplist[0]=group;
- 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/killpg.c b/mdk-stage1/dietlibc/libcruft/killpg.c
deleted file mode 100644
index c03bb6330..000000000
--- a/mdk-stage1/dietlibc/libcruft/killpg.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <signal.h>
-
-int killpg(pid_t pgrp, int signal) {
- return kill(-pgrp,signal);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/localeconv.c b/mdk-stage1/dietlibc/libcruft/localeconv.c
deleted file mode 100644
index d2c5ff82c..000000000
--- a/mdk-stage1/dietlibc/libcruft/localeconv.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <limits.h>
-#include <locale.h>
-
-/* these answers are what glibc says */
-
-static struct lconv l =
- {".","","","","","", /* decimal_point - mon_decimal_point */
- "","","","",127,127, /* mon_thousands_sep - frac_digits */
- 127,127,127,127,127,127, /* p_cs_precedes - n_sign_posn */
- 127,127,127,127,127,127 }; /* __int_p_cs_precedes - __int_n_sign_posn */
-
-
-struct lconv* localeconv() {
- return &l;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/mkdtemp.c b/mdk-stage1/dietlibc/libcruft/mkdtemp.c
deleted file mode 100644
index 1c388938c..000000000
--- a/mdk-stage1/dietlibc/libcruft/mkdtemp.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-char* mkdtemp(char* template) {
- char *tmp=template+strlen(template)-6;
- int randfd,i;
- unsigned int random;
- if (tmp<template) goto error;
- for (i=0; i<6; ++i) if (tmp[i]!='X') { error: errno=EINVAL; return 0; }
- 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';
- }
- if (mkdir(template,0700)==0) break;
- if (errno==EEXIST) continue;
- close(randfd);
- return 0;
- }
- close(randfd);
- return template;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/mkstemp.c b/mdk-stage1/dietlibc/libcruft/mkstemp.c
deleted file mode 100644
index 7dc19d4ed..000000000
--- a/mdk-stage1/dietlibc/libcruft/mkstemp.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-#ifndef O_NOFOLLOW
-#define O_NOFOLLOW 0
-#endif
-
-int mkstemp(char* template) {
- char *tmp=template+strlen(template)-6;
- int randfd;
- int i,res;
- unsigned int random;
- if (tmp<template) goto error;
- for (i=0; i<6; ++i) if (tmp[i]!='X') { error: 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|O_NOFOLLOW,0600);
- if (res>=0 || errno!=EEXIST) break;
- }
- close(randfd);
- return res;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/mktemp.c b/mdk-stage1/dietlibc/libcruft/mktemp.c
deleted file mode 100644
index d1908a9ac..000000000
--- a/mdk-stage1/dietlibc/libcruft/mktemp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <dietwarning.h>
-
-link_warning("mktemp","\e[1;33;41m>>> mktemp stinks! DON'T USE IT ! <<<\e[0m");
-
-char* mktemp(char* template) {
- int fd;
- if ((fd=mkstemp(template))<0) return 0;
- close(fd);
- unlink(template);
- return template;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/pwbuf.c b/mdk-stage1/dietlibc/libcruft/pwbuf.c
deleted file mode 100644
index aa0ad7001..000000000
--- a/mdk-stage1/dietlibc/libcruft/pwbuf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <pwd.h>
-
-struct passwd __passwd_pw;
-char __passwd_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libcruft/res_init.c b/mdk-stage1/dietlibc/libcruft/res_init.c
deleted file mode 100644
index 78baa2b30..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_init.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <resolv.h>
-
-extern void __dns_readstartfiles(void);
-
-int res_init(void) {
- _res.nscount=0;
- __dns_readstartfiles();
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/res_mkquery.c b/mdk-stage1/dietlibc/libcruft/res_mkquery.c
deleted file mode 100644
index cf5693668..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_mkquery.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <resolv.h>
-#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 <unistd.h>
-#include <errno.h>
-#include <arpa/nameser.h>
-#include "dietfeatures.h"
-
-static char dnspacket[]="\xfe\xfe\001\000\000\001\000\000\000\000\000\000";
-
-/*
- 1 1 1 1 1 1
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ID |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | QDCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ANCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | NSCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ARCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
-*/
-
-extern void __dns_make_fd(void);
-extern int __dns_fd;
-
-extern int __dns_servers;
-extern struct sockaddr __dns_server_ips[];
-
-extern void __dns_readstartfiles(void);
-
-int res_mkquery(int op, const char *dname, int class, int type, char* data,
- int datalen, const unsigned char* newrr, char* buf, int buflen) {
- unsigned char packet[512];
- memmove(packet,dnspacket,12);
- if ((_res.options&RES_RECURSE)==0) packet[2]=0;
- *(unsigned short*)packet=rand();
- {
- unsigned char* x;
- const char* y,* tmp;
- x=packet+12; y=dname;
- 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)) { return -1; }
- memmove(x,y,tmp-y);
- x+=tmp-y;
- if (!*tmp) {
- *x=0;
- break;
- }
- y=tmp;
- }
- *++x= 0; *++x= type; /* A */
- *++x= 0; *++x= class; /* IN */
- ++x;
- if (x-packet>buflen) return -1;
- memmove(buf,packet,x-packet);
- return x-packet;
- }
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/res_query.c b/mdk-stage1/dietlibc/libcruft/res_query.c
deleted file mode 100644
index 28b5c3ac8..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_query.c
+++ /dev/null
@@ -1,95 +0,0 @@
-#include <resolv.h>
-#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 <arpa/nameser.h>
-#include "dietfeatures.h"
-
-extern void __dns_make_fd(void);
-extern int __dns_fd;
-#ifdef WANT_IPV6_DNS
-extern void __dns_make_fd6(void);
-extern int __dns_fd6;
-#endif
-
-extern void __dns_readstartfiles(void);
-
-int res_query(const char *dname, int class, int type, unsigned char *answer, int anslen) {
- unsigned char packet[512];
- int size;
-#ifndef WANT_IPV6_DNS
- __dns_make_fd();
-#endif
-
- __dns_readstartfiles();
- if ((size=res_mkquery(QUERY,dname,class,type,0,0,0,packet,512))<0) { h_errno=NO_RECOVERY; return -1; }
- {
- {
- int i; /* current server */
- int j; /* timeout count down */
- struct pollfd duh;
- struct timeval last,now;
-#ifdef WANT_IPV6_DNS
- int tmpfd; /* the warning gcc issues here is bogus */
-#else
- duh.fd=__dns_fd;
-#endif
- i=0;
- duh.events=POLLIN;
- last.tv_sec=0;
- for (j=120; j>0; --j) {
- gettimeofday(&now,0);
- if (now.tv_sec-last.tv_sec>10) {
-#ifdef WANT_IPV6_DNS
- struct sockaddr* s=(struct sockaddr*)&(_res.nsaddr_list[i]);
- if (s->sa_family==AF_INET6) {
- __dns_make_fd6();
- tmpfd=__dns_fd6;
- } else {
- __dns_make_fd();
- tmpfd=__dns_fd;
- }
- duh.fd=tmpfd;
- if (sendto(tmpfd,packet,size,0,s,sizeof(struct sockaddr_in6))==0)
- gettimeofday(&last,0);
-#else
- if (sendto(__dns_fd,packet,size,0,(struct sockaddr*)&(_res.nsaddr_list[i]),sizeof(struct sockaddr))==0)
- gettimeofday(&last,0);
-#endif
- last=now;
- }
- if (++i >= _res.nscount) i=0;
- if (poll(&duh,1,1000) == 1) {
- /* read and parse answer */
- unsigned char inpkg[1500];
-#ifdef WANT_IPV6_DNS
- int len=read(tmpfd,inpkg,1500);
-#else
- int len=read(__dns_fd,inpkg,1500);
-#endif
- /* header, question, answer, authority, additional */
- if (inpkg[0]!=packet[0] || inpkg[1]!=packet[1]) continue; /* wrong ID */
- if ((inpkg[2]&0xf9) != (_res.options&RES_RECURSE?0x81:0x80)) continue; /* not answer */
- if ((inpkg[3]&0x0f) != 0) { h_errno=HOST_NOT_FOUND; return -1; } /* error */
- if (len>anslen) {
- h_errno=NO_RECOVERY;
- return -1;
- }
- memmove(answer,inpkg,len);
- return len;
- }
-/*kaputt:*/
- }
- }
- }
- h_errno=NO_DATA;
- return -1;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/res_search.c b/mdk-stage1/dietlibc/libcruft/res_search.c
deleted file mode 100644
index a8b9257bc..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_search.c
+++ /dev/null
@@ -1,35 +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 <unistd.h>
-#include <errno.h>
-#include <arpa/nameser.h>
-#include <resolv.h>
-
-extern int __dns_search;
-extern char *__dns_domains[];
-
-int res_search(const char *dname, int class, int type, unsigned char *answer, int anslen) {
- const char *tmp=dname;
- char Buf[MAXDNAME+1];
- int res;
- int len=strlen(dname);
- int count=0;
- memmove(Buf,dname,len);
- Buf[len]=Buf[MAXDNAME]=0;
-// printf("appending %d: %p\n",count,__dns_domains[count]);
- while ((res=res_query(tmp,class,type,answer,anslen))<0) {
- if (count==__dns_search) break;
- Buf[len]='.';
-// printf("appending %d: %p (%s)\n",count,__dns_domains[count],__dns_domains[count]);
- memccpy(Buf+len+1,__dns_domains[count],0,MAXDNAME-len-1);
- tmp=Buf;
- ++count;
- }
- return res;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/scan_ulong.c b/mdk-stage1/dietlibc/libcruft/scan_ulong.c
deleted file mode 100644
index dfbec5c55..000000000
--- a/mdk-stage1/dietlibc/libcruft/scan_ulong.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <ctype.h>
-#include <sys/types.h>
-#include "parselib.h"
-
-size_t scan_ulong(const char* s,unsigned long* l) {
- size_t n;
- unsigned long x;
- unsigned int digit;
- for (x=n=0; (digit=(s[n]-'0'))<10u; ++n)
- x=x*10+digit;
- *l=x;
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/scandir.c b/mdk-stage1/dietlibc/libcruft/scandir.c
deleted file mode 100644
index fac7eaa7f..000000000
--- a/mdk-stage1/dietlibc/libcruft/scandir.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <stdlib.h>
-#include <dirent.h>
-#include <string.h>
-
-int scandir(const char *dir, struct dirent ***namelist,
- int (*select)(const struct dirent *),
- int (*compar)(const struct dirent **, const struct dirent **)) {
- DIR* d;
- struct dirent *D;
- int num=0;
- if (!(d=opendir(dir)))
- return -1;
- *namelist=0;
- while ((D=readdir(d))) {
- if (select==0 || select(D)) {
- struct dirent **tmp;
- ++num;
-/* printf("realloc %p,%d -> ",*namelist,num*sizeof(struct dirent**)); */
- if (!(tmp=realloc(*namelist,num*sizeof(struct dirent**))) ||
- !(tmp[num-1]=malloc(sizeof(struct dirent)))) {
- int i;
- for (i=0; i<num-1; ++i) free(tmp[i]);
- free(*namelist);
- closedir(d);
- return -1;
- }
- memccpy(tmp[num-1]->d_name,D->d_name,0,NAME_MAX);
- *namelist=tmp;
-/* printf("%p; tmp[num-1(%d)]=%p\n",*namelist,num-1,tmp[num-1]); */
- }
- }
- closedir(d);
-#if 0
- {
- int i;
- puts("pre-qsort:\n");
- for (i=0; i<num-1; ++i) {
- puts((*namelist)[i]->d_name);
- }
- puts("post-qsort:\n");
- }
-#endif
-// qsort(&(*namelist)[0],num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar));
- if (compar)
- qsort(*namelist,num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar));
- return num;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/scandir64.c b/mdk-stage1/dietlibc/libcruft/scandir64.c
deleted file mode 100644
index c1bdc3415..000000000
--- a/mdk-stage1/dietlibc/libcruft/scandir64.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <stdlib.h>
-#include <dirent.h>
-#include <string.h>
-
-int scandir64(const char *dir, struct dirent64 ***namelist,
- int (*select)(const struct dirent64 *),
- int (*compar)(const struct dirent64 **, const struct dirent64 **)) {
- DIR* d;
- struct dirent64 *D;
- int num=0;
- if (!(d=opendir(dir)))
- return -1;
- *namelist=0;
- while ((D=readdir64(d))) {
- if (select==0 || select(D)) {
- struct dirent64 **tmp;
- ++num;
-/* printf("realloc %p,%d -> ",*namelist,num*sizeof(struct dirent**)); */
- if (!(tmp=realloc(*namelist,num*sizeof(struct dirent64**))) ||
- !(tmp[num-1]=malloc(sizeof(struct dirent64)))) {
- int i;
- for (i=0; i<num-1; ++i) free(tmp[i]);
- free(*namelist);
- closedir(d);
- return -1;
- }
- memccpy(tmp[num-1]->d_name,D->d_name,0,NAME_MAX);
- *namelist=tmp;
-/* printf("%p; tmp[num-1(%d)]=%p\n",*namelist,num-1,tmp[num-1]); */
- }
- }
- closedir(d);
-#if 0
- {
- int i;
- puts("pre-qsort:\n");
- for (i=0; i<num-1; ++i) {
- puts((*namelist)[i]->d_name);
- }
- puts("post-qsort:\n");
- }
-#endif
-// qsort(&(*namelist)[0],num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar));
- if (compar)
- qsort(*namelist,num,sizeof(struct dirent64*),(int (*)(const void*,const void*))(compar));
- return num;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/setegid.c b/mdk-stage1/dietlibc/libcruft/setegid.c
deleted file mode 100644
index 6e891952b..000000000
--- a/mdk-stage1/dietlibc/libcruft/setegid.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include "dietwarning.h"
-
-#undef setegid
-int setegid(gid_t gid);
-int setegid(gid_t gid) {
- return setregid((gid_t)-1,gid);
-}
-
-link_warning("setegid","warning: you used setegid without including <unistd.h>")
diff --git a/mdk-stage1/dietlibc/libcruft/seteuid.c b/mdk-stage1/dietlibc/libcruft/seteuid.c
deleted file mode 100644
index 8145f20d7..000000000
--- a/mdk-stage1/dietlibc/libcruft/seteuid.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include "dietwarning.h"
-
-#undef seteuid
-int seteuid(uid_t uid);
-int seteuid(uid_t uid) {
- return setreuid((uid_t)-1,uid);
-}
-
-link_warning("setegid","warning: you used setegid without including <unistd.h>")
diff --git a/mdk-stage1/dietlibc/libcruft/setlocale.c b/mdk-stage1/dietlibc/libcruft/setlocale.c
deleted file mode 100644
index e0e8f647d..000000000
--- a/mdk-stage1/dietlibc/libcruft/setlocale.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <locale.h>
-
-char *setlocale (int category, const char *locale) {
- (void)category;
- (void)locale;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/spbuf.c b/mdk-stage1/dietlibc/libcruft/spbuf.c
deleted file mode 100644
index ab880bbcf..000000000
--- a/mdk-stage1/dietlibc/libcruft/spbuf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <shadow.h>
-
-struct spwd __shadow_pw;
-char __shadow_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libcruft/sysconf.c b/mdk-stage1/dietlibc/libcruft/sysconf.c
deleted file mode 100644
index e9c15cb66..000000000
--- a/mdk-stage1/dietlibc/libcruft/sysconf.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-#include <limits.h>
-#include <sys/resource.h>
-
-extern int __sc_nr_cpus();
-
-long sysconf(int name)
-{
- switch(name)
- {
- case _SC_OPEN_MAX:
- {
- struct rlimit limit;
- getrlimit(RLIMIT_NOFILE, &limit);
- return limit.rlim_cur;
- }
- case _SC_CLK_TCK:
-#ifdef __alpha__
- return 1024;
-#else
- return 100;
-#endif
-
- case _SC_PAGESIZE:
-#if ( defined(__alpha__) || defined(__sparc__) )
- return 8192;
-#else
- return 4096;
-#endif
-
- case _SC_ARG_MAX:
- return ARG_MAX;
-
- case _SC_NGROUPS_MAX:
- return NGROUPS_MAX;
-
- case _SC_NPROCESSORS_ONLN:
- return __sc_nr_cpus();
-
- }
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c b/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c
deleted file mode 100644
index b5361d0a4..000000000
--- a/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c
+++ /dev/null
@@ -1,64 +0,0 @@
-#include <unistd.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-/*
- * by Olaf Dreesen
- *
- * arm NO SMP ?!? (return 1)
- *
- * alpha -> cpus detected\t\t: <nr>\n
- * sparc -> ncpus active\t: <nr>\n
- *
- * default -> processor\t: <cpunr>\n (one per cpu)
- */
-
-#ifdef SLASH_PROC_OK
-int __sc_nr_cpus(void);
-int __sc_nr_cpus() {
-#if defined(__arm__)
- return 1;
-#else
- int fd;
- fd = open("/proc/cpuinfo", O_RDONLY);
- if (fd==-1) return 1; /* fallback if no proc-fs mounted */
- else {
- int n,nr=0;
- char buf[2048]; /* holds ~6 cpuinfos */
-
- while((n=read(fd,buf,sizeof(buf)))>0) {
- register int i=0;
- while (i<n) {
-#if defined(__alpha__)
- if ((buf[i]=='c')&&(!memcmp(buf+i,"cpus detected",13))) {
- i+=17;
- nr=atoi(buf+i);
- break;
- }
-#elif defined(__sparc__)
- if ((buf[i]=='n')&&(!memcmp(buf+i,"ncpus active",12))) {
- i+=15;
- nr=atoi(buf+i);
- break;
- }
-#else /* DEFAULT */
- if ((buf[i]=='p')&&(!memcmp(buf+i,"processor",9))) {
- ++nr;
- i+=9;
- }
-#endif
- while(buf[i++]!='\n'); /* skip rest of line */
- }
- }
- close(fd);
- return nr;
- }
-#endif
-}
-#else
-int __sc_nr_cpus() {
- return 1; /* kludge kludge ;-) */
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libcruft/tempnam.c b/mdk-stage1/dietlibc/libcruft/tempnam.c
deleted file mode 100644
index 01c20b490..000000000
--- a/mdk-stage1/dietlibc/libcruft/tempnam.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <dietwarning.h>
-
-link_warning("tempnam","\e[1;33;41m>>> tempnam stinks! NEVER ! NEVER USE IT ! <<<\e[0m");
-
-char* tempnam(char* dir,char* template) {
- char buf[1024];
- int len=sizeof(buf)-1,fd;
- buf[len]=0;
- if ((dir)&&(*dir)) {
- memccpy(buf,dir,0,len);
- strncat(buf,"/",1);
- }
- else
- strncpy(buf,"/tmp/",len);
- len=(sizeof(buf)-1)-strlen(buf);
- if (template)
- strncat(buf,template, --len);
- else
- strncat(buf,"temp_", --len);
- len=(sizeof(buf)-1)-strlen(buf);
- strncat(buf,"XXXXXX",len);
- if ((fd=mkstemp(buf))<0) return 0;
- close(fd);
- unlink(buf);
- return strdup(buf);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/tmpnam.c b/mdk-stage1/dietlibc/libcruft/tmpnam.c
deleted file mode 100644
index 707730616..000000000
--- a/mdk-stage1/dietlibc/libcruft/tmpnam.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include <sys/stat.h>
-#include <dietwarning.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-link_warning("tmpnam","\e[1;33;41m>>> tmpnam stinks! NEVER ! NEVER USE IT ! <<<\e[0m");
-
-char* tmpnam(char* s) {
- static char buf[100];
- char *tmp;
- if (s) tmp=s; else tmp=buf;
- strcpy(tmp,"/tmp/temp_");
- for (;;) {
- struct stat s;
- int i,j;
- i=rand();
- for (j=0; j<8; ++j) {
- char c=i&0xf;
- tmp[9+j]=c>9?c+'a'-10:c+'0';
- i>>=4;
- }
- tmp[17]=0;
- if (lstat(tmp,&s)==-1 && errno==ENOENT) break;
- }
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcrypt/crypt.c b/mdk-stage1/dietlibc/libcrypt/crypt.c
deleted file mode 100644
index 3c162d513..000000000
--- a/mdk-stage1/dietlibc/libcrypt/crypt.c
+++ /dev/null
@@ -1,314 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <md5.h>
-
-/* Initial permutation, */
-static const 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 const 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 const 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 const 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 const 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 const 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 const 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 const 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 const 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 const 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;
-
- (void)edflag;
- /* 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];
-#ifdef WANT_CRYPT_MD5
- if (salt[0]=='$' && salt[1]=='1' && salt[2]=='$')
- return md5crypt(pw,salt);
-#endif
- 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/libcrypt/md5.c b/mdk-stage1/dietlibc/libcrypt/md5.c
deleted file mode 100644
index ede9a067e..000000000
--- a/mdk-stage1/dietlibc/libcrypt/md5.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/*****************************************************************************
-*
-* "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm".
-*
-* 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 <endian.h>
-#include <md5.h>
-#include <string.h>
-
-#if (__BYTE_ORDER == __BIG_ENDIAN)
-/*
- Block copy and convert byte order to little-endian.
- dst must be 32bit aligned.
- Length is the number of 32bit words
-*/
-static void CopyToLittleEndian (uint32_t *dst, const uint8_t *src, int length) {
- while (length--) {
- *dst=(((uint32_t)src[3])<<24) |
- (((uint32_t)src[2])<<16) |
- (((uint32_t)src[1])<< 8) |
- (uint32_t)src[0];
- src+=4;
- dst++;
- }
-}
-#endif
-
-
-/*
- Assembler versions of __MD5Transform, MD5Init and MD5Update
- currently exist for x86 and little-endian ARM.
- For other targets, we need to use the C versions below.
-*/
-
-#if !(defined (__i386__) || ((defined (__arm__) && (__BYTE_ORDER == __LITTLE_ENDIAN))))
-
-/*
- Initialise the MD5 context.
-*/
-void MD5Init (MD5_CTX* context) {
- context->count[0] = 0;
- context->count[1] = 0;
-
- context->state[0] = 0x67452301; /* Load magic constants. */
- context->state[1] = 0xefcdab89;
- context->state[2] = 0x98badcfe;
- context->state[3] = 0x10325476;
-}
-
-#define ROTATE_LEFT(x, n) ((x << n) | (x >> (32-n)))
-
-#define F(x, y, z) (z ^ (x & (y ^ z)))
-#define G(x, y, z) (y ^ (z & (x ^ y)))
-#define H(x, y, z) (x ^ y ^ z)
-#define I(x, y, z) (y ^ (x | ~z))
-
-#define FF(a, b, c, d, x, s, ac) { (a) += F (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-#define GG(a, b, c, d, x, s, ac) { (a) += G (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-#define HH(a, b, c, d, x, s, ac) { (a) += H (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-#define II(a, b, c, d, x, s, ac) { (a) += I (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-
-static void __MD5Transform (uint32_t state[4], const uint8_t *in, int repeat) {
- const uint32_t *x;
-
- uint32_t a = state[0];
- uint32_t b = state[1];
- uint32_t c = state[2];
- uint32_t d = state[3];
-
- for ( ; repeat; repeat--) {
- uint32_t tempBuffer[16];
-#if (__BYTE_ORDER == __BIG_ENDIAN)
-
- CopyToLittleEndian (tempBuffer, in, 16);
- x = tempBuffer;
-#else
- if ((long)in & 3) {
- memcpy(tempBuffer, in, 64);
- x = tempBuffer;
- } else
- x = (const uint32_t *) in;
-#endif
-
- FF (a, b, c, d, x[ 0], 7, 0xd76aa478); /* 1 */ /* Round 1 */
- FF (d, a, b, c, x[ 1], 12, 0xe8c7b756); /* 2 */
- FF (c, d, a, b, x[ 2], 17, 0x242070db); /* 3 */
- FF (b, c, d, a, x[ 3], 22, 0xc1bdceee); /* 4 */
- FF (a, b, c, d, x[ 4], 7, 0xf57c0faf); /* 5 */
- FF (d, a, b, c, x[ 5], 12, 0x4787c62a); /* 6 */
- FF (c, d, a, b, x[ 6], 17, 0xa8304613); /* 7 */
- FF (b, c, d, a, x[ 7], 22, 0xfd469501); /* 8 */
- FF (a, b, c, d, x[ 8], 7, 0x698098d8); /* 9 */
- FF (d, a, b, c, x[ 9], 12, 0x8b44f7af); /* 10 */
- FF (c, d, a, b, x[10], 17, 0xffff5bb1); /* 11 */
- FF (b, c, d, a, x[11], 22, 0x895cd7be); /* 12 */
- FF (a, b, c, d, x[12], 7, 0x6b901122); /* 13 */
- FF (d, a, b, c, x[13], 12, 0xfd987193); /* 14 */
- FF (c, d, a, b, x[14], 17, 0xa679438e); /* 15 */
- FF (b, c, d, a, x[15], 22, 0x49b40821); /* 16 */
-
- GG (a, b, c, d, x[ 1], 5, 0xf61e2562); /* 17 */ /* Round 2 */
- GG (d, a, b, c, x[ 6], 9, 0xc040b340); /* 18 */
- GG (c, d, a, b, x[11], 14, 0x265e5a51); /* 19 */
- GG (b, c, d, a, x[ 0], 20, 0xe9b6c7aa); /* 20 */
- GG (a, b, c, d, x[ 5], 5, 0xd62f105d); /* 21 */
- GG (d, a, b, c, x[10], 9, 0x02441453); /* 22 */
- GG (c, d, a, b, x[15], 14, 0xd8a1e681); /* 23 */
- GG (b, c, d, a, x[ 4], 20, 0xe7d3fbc8); /* 24 */
- GG (a, b, c, d, x[ 9], 5, 0x21e1cde6); /* 25 */
- GG (d, a, b, c, x[14], 9, 0xc33707d6); /* 26 */
- GG (c, d, a, b, x[ 3], 14, 0xf4d50d87); /* 27 */
- GG (b, c, d, a, x[ 8], 20, 0x455a14ed); /* 28 */
- GG (a, b, c, d, x[13], 5, 0xa9e3e905); /* 29 */
- GG (d, a, b, c, x[ 2], 9, 0xfcefa3f8); /* 30 */
- GG (c, d, a, b, x[ 7], 14, 0x676f02d9); /* 31 */
- GG (b, c, d, a, x[12], 20, 0x8d2a4c8a); /* 32 */
-
- HH (a, b, c, d, x[ 5], 4, 0xfffa3942); /* 33 */ /* Round 3 */
- HH (d, a, b, c, x[ 8], 11, 0x8771f681); /* 34 */
- HH (c, d, a, b, x[11], 16, 0x6d9d6122); /* 35 */
- HH (b, c, d, a, x[14], 23, 0xfde5380c); /* 36 */
- HH (a, b, c, d, x[ 1], 4, 0xa4beea44); /* 37 */
- HH (d, a, b, c, x[ 4], 11, 0x4bdecfa9); /* 38 */
- HH (c, d, a, b, x[ 7], 16, 0xf6bb4b60); /* 39 */
- HH (b, c, d, a, x[10], 23, 0xbebfbc70); /* 40 */
- HH (a, b, c, d, x[13], 4, 0x289b7ec6); /* 41 */
- HH (d, a, b, c, x[ 0], 11, 0xeaa127fa); /* 42 */
- HH (c, d, a, b, x[ 3], 16, 0xd4ef3085); /* 43 */
- HH (b, c, d, a, x[ 6], 23, 0x04881d05); /* 44 */
- HH (a, b, c, d, x[ 9], 4, 0xd9d4d039); /* 45 */
- HH (d, a, b, c, x[12], 11, 0xe6db99e5); /* 46 */
- HH (c, d, a, b, x[15], 16, 0x1fa27cf8); /* 47 */
- HH (b, c, d, a, x[ 2], 23, 0xc4ac5665); /* 48 */
-
- II (a, b, c, d, x[ 0], 6, 0xf4292244); /* 49 */ /* Round 4 */
- II (d, a, b, c, x[ 7], 10, 0x432aff97); /* 50 */
- II (c, d, a, b, x[14], 15, 0xab9423a7); /* 51 */
- II (b, c, d, a, x[ 5], 21, 0xfc93a039); /* 52 */
- II (a, b, c, d, x[12], 6, 0x655b59c3); /* 53 */
- II (d, a, b, c, x[ 3], 10, 0x8f0ccc92); /* 54 */
- II (c, d, a, b, x[10], 15, 0xffeff47d); /* 55 */
- II (b, c, d, a, x[ 1], 21, 0x85845dd1); /* 56 */
- II (a, b, c, d, x[ 8], 6, 0x6fa87e4f); /* 57 */
- II (d, a, b, c, x[15], 10, 0xfe2ce6e0); /* 58 */
- II (c, d, a, b, x[ 6], 15, 0xa3014314); /* 59 */
- II (b, c, d, a, x[13], 21, 0x4e0811a1); /* 60 */
- II (a, b, c, d, x[ 4], 6, 0xf7537e82); /* 61 */
- II (d, a, b, c, x[11], 10, 0xbd3af235); /* 62 */
- II (c, d, a, b, x[ 2], 15, 0x2ad7d2bb); /* 63 */
- II (b, c, d, a, x[ 9], 21, 0xeb86d391); /* 64 */
-
- state[0] = a = a + state[0];
- state[1] = b = b + state[1];
- state[2] = c = c + state[2];
- state[3] = d = d + state[3];
-
- in += 64;
- }
-}
-
-
-/*
- MD5 block update operation:
- Process another sub-string of the message and update the context.
-*/
-void MD5Update (MD5_CTX *context, const uint8_t *input, size_t inputBytes) {
- int i;
- int byteIndex;
- unsigned int partLen;
- int len;
-
- /* Compute number of bytes mod 64 */
- byteIndex = (context->count[0] >> 3) & 0x3F;
-
- /* Update number of bits: count += 8 * inputBytes */
- if ((context->count[0] += inputBytes << 3) < (inputBytes << 3))
- context->count[1]++;
- context->count[1] += (inputBytes >> (32-3));
-
- partLen = (64 - byteIndex);
-
- /* Transform as many times as possible. */
- if (inputBytes >= partLen) {
- memcpy (context->buffer + byteIndex, input, partLen);
- __MD5Transform (context->state, (const uint8_t *) context->buffer, 1);
- len = (inputBytes - partLen) / 64;
- __MD5Transform (context->state, &input[partLen], len);
- i = partLen + 64 * len;
- byteIndex = 0;
- } else
- i = 0;
-
- /* Buffer remaining input */
- memcpy (&context->buffer[byteIndex], &input[i], inputBytes - i);
-}
-
-#endif
-
-
-void MD5Final (uint8_t digest[16], MD5_CTX* context) {
- static uint8_t finalBlock[64];
-
- uint32_t bits[2];
- int byteIndex;
- int finalBlockLength;
-
- byteIndex = (context->count[0] >> 3) & 0x3F;
- finalBlockLength = ((byteIndex < 56) ? 56 : 120) - byteIndex;
- finalBlock[0] = 0x80;
-
-#if (__BYTE_ORDER == __BIG_ENDIAN)
- CopyToLittleEndian (bits, (const uint8_t *) context->count, 2);
-#else
- memcpy(bits, context->count, 8);
-#endif
-
- MD5Update (context, finalBlock, finalBlockLength);
- MD5Update (context, (const uint8_t *) bits, 8);
-
-#if (__BYTE_ORDER == __BIG_ENDIAN)
- CopyToLittleEndian ((uint32_t *) digest, (const uint8_t *) context->state, 4);
-#else
- memcpy (digest, context->state, 16);
-#endif
-
- memset(context, 0, sizeof(*context));
-}
-
diff --git a/mdk-stage1/dietlibc/libcrypt/md5crypt.c b/mdk-stage1/dietlibc/libcrypt/md5crypt.c
deleted file mode 100644
index ebbb4be44..000000000
--- a/mdk-stage1/dietlibc/libcrypt/md5crypt.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/* $OpenBSD: md5crypt.c,v 1.9 1997/07/23 20:58:27 kstailey Exp $ */
-
-/*
- * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
- * can do whatever you want with this stuff. If we meet some day, and you think
- * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
- * ----------------------------------------------------------------------------
- *
- * $FreeBSD: crypt.c,v 1.5 1996/10/14 08:34:02 phk Exp $
- *
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char rcsid[] = "$OpenBSD: md5crypt.c,v 1.9 1997/07/23 20:58:27 kstailey Exp $";
-#endif /* LIBC_SCCS and not lint */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <md5.h>
-
-static unsigned char itoa64[] = /* 0 ... 63 => ascii - 64 */
- "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
-
-static void to64 (char *, uint32_t, int);
-
-static void
-to64(s, v, n)
- char *s;
- uint32_t v;
- int n;
-{
- while (--n >= 0) {
- *s++ = itoa64[v&0x3f];
- v >>= 6;
- }
-}
-
-/*
- * UNIX password
- *
- * Use MD5 for what it is best at...
- */
-
-char *
-md5crypt(pw, salt)
- register const char *pw;
- register const char *salt;
-{
- /*
- * This string is magic for this algorithm. Having
- * it this way, we can get get better later on
- */
- static unsigned char *magic = (unsigned char *)"$1$";
-
- static char passwd[120], *p;
- static const unsigned char *sp,*ep;
- unsigned char final[16];
- int sl,pl,i;
- MD5_CTX ctx,ctx1;
- uint32_t l;
-
- /* Refine the Salt first */
- sp = (const unsigned char *)salt;
-
- /* If it starts with the magic string, then skip that */
- if(!strncmp((const char *)sp,(const char *)magic,strlen((const char *)magic)))
- sp += strlen((const char *)magic);
-
- /* It stops at the first '$', max 8 chars */
- for(ep=sp;*ep && *ep != '$' && ep < (sp+8);ep++)
- continue;
-
- /* get the length of the true salt */
- sl = ep - sp;
-
- MD5Init(&ctx);
-
- /* The password first, since that is what is most unknown */
- MD5Update(&ctx,(const unsigned char *)pw,strlen(pw));
-
- /* Then our magic string */
- MD5Update(&ctx,magic,strlen((const char *)magic));
-
- /* Then the raw salt */
- MD5Update(&ctx,sp,sl);
-
- /* Then just as many characters of the MD5(pw,salt,pw) */
- MD5Init(&ctx1);
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
- MD5Update(&ctx1,sp,sl);
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
- MD5Final(final,&ctx1);
- for(pl = strlen(pw); pl > 0; pl -= 16)
- MD5Update(&ctx,final,pl>16 ? 16 : pl);
-
- /* Don't leave anything around in vm they could use. */
- memset(final,0,sizeof final);
-
- /* Then something really weird... */
- for (i = strlen(pw); i ; i >>= 1)
- if(i&1)
- MD5Update(&ctx, final, 1);
- else
- MD5Update(&ctx, (const unsigned char *)pw, 1);
-
- /* Now make the output string */
- strcpy(passwd,(const char *)magic);
- memcpy(passwd+3,sp,sl);
- passwd[sl+3]='$';
- passwd[sl+4]=0;
-
- MD5Final(final,&ctx);
-
- /*
- * and now, just to make sure things don't run too fast
- * On a 60 Mhz Pentium this takes 34 msec, so you would
- * need 30 seconds to build a 1000 entry dictionary...
- */
- for(i=0;i<1000;i++) {
- MD5Init(&ctx1);
- if(i & 1)
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
- else
- MD5Update(&ctx1,final,16);
-
- if(i % 3)
- MD5Update(&ctx1,sp,sl);
-
- if(i % 7)
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
-
- if(i & 1)
- MD5Update(&ctx1,final,16);
- else
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
- MD5Final(final,&ctx1);
- }
-
- p = passwd + strlen(passwd);
-
- l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; to64(p,l,4); p += 4;
- l = (final[ 1]<<16) | (final[ 7]<<8) | final[13]; to64(p,l,4); p += 4;
- l = (final[ 2]<<16) | (final[ 8]<<8) | final[14]; to64(p,l,4); p += 4;
- l = (final[ 3]<<16) | (final[ 9]<<8) | final[15]; to64(p,l,4); p += 4;
- l = (final[ 4]<<16) | (final[10]<<8) | final[ 5]; to64(p,l,4); p += 4;
- l = final[11] ; to64(p,l,2); p += 2;
- *p = '\0';
-
- /* Don't leave anything around in vm they could use. */
- memset(final,0,sizeof final);
-
- return passwd;
-}
-
diff --git a/mdk-stage1/dietlibc/libdl/Makefile b/mdk-stage1/dietlibc/libdl/Makefile
deleted file mode 100644
index 29164f105..000000000
--- a/mdk-stage1/dietlibc/libdl/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# local "test" make file
-
-CC = gcc
-DCC = diet $(CC)
-
-SRC = $(wildcard *.c) # test/test.c
-OBJ = _dl_jump.o $(SRC:.c=.o)
-
-#CFLAGS = -Wall -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -g -O
-CFLAGS = -Wall -O2 -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -frerun-loop-opt -fschedule-insns2 $(DEB) # -fomit-frame-pointer
-
-%.o : %.S
- $(DCC) $(CFLAGS) -c -o $@ $^
-
-%.o : %.c
- $(DCC) $(CFLAGS) -c -o $@ $^
-
-it: t.out
-
-a.out: t.out
- gcc -O -g test/a.c t.out -L/opt/diet/lib-i386 -lc -lgcc -o $@ -Wl,-dynamic-linker=`pwd`/t.out -nostdlib
-
-t.out: _dl_main.o
- ld -shared -o $@ $? -soname=libdl.so
-
-all: test.out libdl.a
-
-libdl.a: $(OBJ)
- ar cru $@ $^
-
-test.g: test/test.c
- gcc -o $@ $^ -ldl
-
-test.out: $(OBJ) test/test.o
- 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 6f1d0e46e..000000000
--- a/mdk-stage1/dietlibc/libdl/README
+++ /dev/null
@@ -1,82 +0,0 @@
-this is the experimental libdl
-
-written by Olaf Dreesen
-
-Fri Nov 15 16:23:28 CET 2002
-
- fixing the copy-relocation bug.
-
- TODO as last time.... plus
- - dlsym with RTLD_NEXT
-
-Wed Nov 6 19:08:00 CET 2002
-
- Ups.. misunderstood the manual-page of dlopen.
- now dlopen(0,...) works the way it is described in the susv2, BUT still not
- complete.
-
- TODO:
- - gdb support
-
- - RTLD_GLOBAL/RTLD_LOCAL
- at the moment ALL are GLOBAL.
-
- - open of a shared object ONCE
- there is no library hard-, symlink detection yet.
-
- - code for other archs then i386 and arm
-
-
-Fri Sep 13 16:28:42 CEST 2002
-
- this unified libdl/dynlinker is now the default.
-
-
-Mon Mar 11 19:44:20 CET 2002
-
- the unified libdl/dynlinker now seems to stand the NORMAL usage so I think
- it should be tested outside my CLEANROOM :)
-
- TODO: code for other archs than i386 and arm
-
-
-Thu Nov 1 18:41:36 MET 2001
-
- ufffff.... now the libdl code can be used in the libdl.so :)
- Status: it works in my clean room on i386, arm-code started
-
- TODO: see below :)
-
-
-Wed Jul 4 11:55:00 MEST 2001
-
- Uwe Ohse pointed to some flaws in my code, I have started to fix them....
-
- TODO: rebuild the code in a more readable and consistent way.
- TODO: code for other archs than i386
-
-
-Thu Jun 21 15:32:45 MEST 2001
-
- It work good enough to make a libdietc.so possible.
-
- TODO: rebuild the code in a more readable and consistent way.
- TODO: code for other archs than i386
-
-
-Thu Jun 7 14:10:03 MEST 2001
-
- Status: test-pre-alpha code
- the code is now "testable" ...
- I need a dyn-dietlibc specific ld.so. (in work)
-
- TODO: rebuild the code in a more readable and consistent way.
-
-
-INITIAL May ? :
-
- Status: test-pre-pre-alpha code
-
- Shouldn't work yet. Had and have some problems with the elf specs...
- and more inconsistencies...
-
diff --git a/mdk-stage1/dietlibc/libdl/_dl_alloc.c b/mdk-stage1/dietlibc/libdl/_dl_alloc.c
deleted file mode 100644
index 41d0d4671..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_alloc.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/mman.h>
-
-#include "_dl_int.h"
-
-#ifdef __DIET_LD_SO__
-static struct _dl_handle*_dl_root_handle=(struct _dl_handle*)0;
-static struct _dl_handle*_dl_top_handle=(struct _dl_handle*)0;
-static struct _dl_handle*_dl_free_list=(struct _dl_handle*)0;
-#else
-struct _dl_handle*_dl_root_handle=(struct _dl_handle*)0;
-struct _dl_handle*_dl_top_handle=(struct _dl_handle*)0;
-struct _dl_handle*_dl_free_list=(struct _dl_handle*)0;
-#endif
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void _dl_free_handle(struct _dl_handle*dh) {
- if (_dl_root_handle==dh) _dl_root_handle=dh->next;
- if (_dl_top_handle ==dh) _dl_top_handle=dh->prev;
-
- if (dh->next) dh->next->prev=dh->prev;
- if (dh->prev) dh->prev->next=dh->next;
-
- if ((dh->flags&RTLD_NOSONAME) && dh->name) free(dh->name);
- memset(dh,0,sizeof(struct _dl_handle));
- dh->next=_dl_free_list;
- _dl_free_list=dh;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-struct _dl_handle*_dl_get_handle() {
- struct _dl_handle*tmp;
-
- if (_dl_free_list==0) {
- register int i,m;
-#ifdef __DIET_LD_SO__
- tmp = (struct _dl_handle*)_dl_sys_mmap(0,at_pagesize,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);
- m=at_pagesize/sizeof(struct _dl_handle);
-#else
- int ps=getpagesize();
- tmp = (struct _dl_handle*)mmap(0,ps,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);
- m=ps/sizeof(struct _dl_handle);
-#endif
- for (i=m;i;) _dl_free_handle(tmp+(--i));
- }
-
- tmp = _dl_free_list;
- _dl_free_list = tmp->next;
-
- tmp->next=0;
- if (_dl_root_handle) {
- _dl_top_handle->next=tmp;
- tmp->prev=_dl_top_handle;
- } else
- _dl_root_handle = tmp;
-
- _dl_top_handle=tmp;
-
- return tmp;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-struct _dl_handle*_dl_find_lib(const char* name) {
- if (name) {
- if (_dl_root_handle) {
- struct _dl_handle*tmp;
- for (tmp=_dl_root_handle;tmp;tmp=tmp->next) {
- if (!tmp->name) continue;
- if (!strcmp(tmp->name,name)) return tmp;
- }
- }
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_int.h b/mdk-stage1/dietlibc/libdl/_dl_int.h
deleted file mode 100644
index 1bab10a92..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_int.h
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef ___DL_INT_H__
-#define ___DL_INT_H__
-
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__)
-#define ELF_CLASS ELFCLASS64
-#else
-#define ELF_CLASS ELFCLASS32
-#endif
-
-#include <elf.h>
-#include <dlfcn.h>
-
-#include "_dl_rel.h"
-
-#if ELF_CLASS == ELFCLASS32
-
-#define Elf_Addr Elf32_Addr
-
-#define Elf_Dyn Elf32_Dyn
-#define Elf_Ehdr Elf32_Ehdr
-#define Elf_Phdr Elf32_Phdr
-#define Elf_Rel Elf32_Rel
-#define Elf_Rela Elf32_Rela
-#define Elf_Sym Elf32_Sym
-
-#define ELF_R_SYM(x) ELF32_R_SYM((x))
-#define ELF_R_TYPE(x) ELF32_R_TYPE((x))
-
-#define ELF_ST_BIND(x) ELF32_ST_BIND((x))
-#define ELF_ST_TYPE(x) ELF32_ST_TYPE((x))
-
-#else
-
-#define Elf_Addr Elf64_Addr
-
-#define Elf_Dyn Elf64_Dyn
-#define Elf_Ehdr Elf64_Ehdr
-#define Elf_Phdr Elf64_Phdr
-#define Elf_Rel Elf64_Rel
-#define Elf_Rela Elf64_Rela
-#define Elf_Sym Elf64_Sym
-
-#define ELF_R_SYM(x) ELF64_R_SYM((x))
-#define ELF_R_TYPE(x) ELF64_R_TYPE((x))
-
-#define ELF_ST_BIND(x) ELF64_ST_BIND((x))
-#define ELF_ST_TYPE(x) ELF64_ST_TYPE((x))
-
-#endif
-
-//#define DEBUG
-#ifdef DEBUG
-#ifndef __DIET_LD_SO__
-#include <stdio.h>
-#define pf(s) write(2,s,strlen(s))
-#define ph(l) fdprintf(2,"%08lx",(l))
-#endif
-#endif
-
-#define RTLD_USER 0x10000000
-#define RTLD_NOSONAME 0x20000000
-#define LDSO_FLAGS (RTLD_LAZY|RTLD_GLOBAL|RTLD_NOSONAME)
-
-struct _dl_handle {
- char * mem_base; /* base address of maped *.so / or zero if program | Elf_Addr l_addr */
- char * l_name; /* Abloslute filename of this object */
- Elf_Dyn* dynamic; /* _DYNAMIC */
-
- struct _dl_handle *next;
- struct _dl_handle *prev;
-
- unsigned int flags; /* FLAGS */
-
- char * name; /* name of shared object */
-
- /* basic */
- unsigned long mem_size; /* len of mem block */
- unsigned long lnk_count; /* reference count (other libraries) */
-
- /* lazy evaluator data */
- unsigned long*pltgot; /* PLT/GOT */
-
- /* symbol resolve helper */
- unsigned long*hash_tab; /* hash table */
- char * dyn_str_tab; /* dyn_name table */
- Elf_Sym * dyn_sym_tab; /* dynamic symbol table */
- _dl_rel_t* plt_rel; /* PLT relocation table */
-
- /* INIT / FINI */
- void (*fini)(void);
-};
-
-/* debug communication (GDB) (dyn-linker only) */
-struct r_debug {
- int r_version;
- struct _dl_handle* r_map;
- unsigned long r_brk;
- enum {
- RT_CONSISTENT, /* mapping complete */
- RT_ADD, /* begin add object */
- RT_DELETE, /* begin del object */
- } r_state;
- unsigned long r_ldbase;
-};
-
-#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))
-
-/* _dl_alloc.c */
-extern struct _dl_handle* _dl_root_handle;
-extern struct _dl_handle* _dl_top_handle;
-extern struct _dl_handle* _dl_free_list;
-#ifndef __DIET_LD_SO__
-void _dl_free_handle(struct _dl_handle* dh);
-struct _dl_handle* _dl_get_handle();
-struct _dl_handle* _dl_find_lib(const char* name);
-
-/* _dl_open.c */
-void *_dl_open(const char* filename, int flags);
-
-/* _dl_load.c */
-void *_dl_load(const char* filename, const char*pathname, int fd, int flags);
-struct _dl_handle* _dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags);
-
-/* _dl_search.c */
-void _dl_set_rpath(const char *path);
-const char* _dl_get_rpath();
-int _dl_search(char *buf, int len, const char *filename);
-
-/* dlsym.c */
-void *_dlsym(void*dh,char*symbol);
-void *_dl_sym_search_str(struct _dl_handle*h,char*name);
-void *_dl_sym(struct _dl_handle * h, int symbol);
-
-/* _dl_queue.c */
-int _dl_queue_lib(const char* name, int flags);
-int _dl_open_dep();
-
-/* _dl_relocate.c */
-int _dl_relocate(struct _dl_handle* dh, _dl_rel_t *rel, int num);
-
-/* dlerror.c */
-extern unsigned int _dl_error;
-extern const char* _dl_error_location;
-extern const char* _dl_error_data;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_jump.S b/mdk-stage1/dietlibc/libdl/_dl_jump.S
deleted file mode 100644
index bd7115258..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_jump.S
+++ /dev/null
@@ -1,55 +0,0 @@
-.text
-.global _dl_jump
-_dl_jump:
-
-#ifdef __i386__
-.type _dl_jump,@function
-
- pushl %eax # save register args...
- pushl %ecx
- pushl %edx
-
- pushl %ebx
-
- pushl 20(%esp) # 2. arg from plt
- pushl 20(%esp) # 1. arg from plt
-
-#ifdef __DYN_LIB
- call 1f
-1: popl %ebx
- addl $_GLOBAL_OFFSET_TABLE_+[.-1b],%ebx
- call do_rel@PLT
-#else
- call do_rel
-#endif
- addl $8, %esp
-
- popl %ebx
-
- popl %edx # restore register args...
- popl %ecx
-
- xchgl %eax, (%esp) # restore eax and save function pointer (for return)
-
- ret $8 # remove arguments from plt and jump to REAL function
-
-#endif
-
-#ifdef __arm__
-.type _dl_jump,function
-
- stmdb sp!, {r0, r1, r2, r3}
- sub r1, ip, lr
- sub r1, r1, #4
- add r1, r1, r1 /* dyntab entry */
- ldr r0, [lr, #-4] /* dynlib handle */
-#ifdef __DYN_LIB
- bl do_rel(PLT)
-#else
- bl do_rel
-#endif
- mov r12, r0
- ldmia sp!, {r0, r1, r2, r3, lr}
- mov pc, r12
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_load.c b/mdk-stage1/dietlibc/libdl/_dl_load.c
deleted file mode 100644
index 49e8db0be..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_load.c
+++ /dev/null
@@ -1,401 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <dlfcn.h>
-#include <elf.h>
-
-#include "_dl_int.h"
-
-#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))
-
-/* this is an arch specific "return jump" for the relocation */
-void _dl_jump();
-
-/*
- * this file is a Q. & D. hack ... don't think this is bug free or meaningfull
- */
-
-static inline int map_flags(int flags)
-{
- 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 perm;
-}
-
-static inline void *do_map_in(void *base, unsigned long length, int flags, int fd, unsigned long offset)
-{
- register int op = MAP_PRIVATE;
- if (base) op|=MAP_FIXED;
- return mmap(base, length, map_flags(flags), op, fd, offset);
-}
-
-static struct _dl_handle *_dl_map_lib(const char*fn, const char*pathname, int fd, int flags)
-{
- struct _dl_handle* ret=0;
- int ps=getpagesize();
- int i;
- unsigned char buf[1024];
- char *m=0,*d=0;
-
- unsigned long l;
- struct stat st;
-
- Elf_Ehdr *eh;
- Elf_Phdr *ph;
-
- int ld_nr=0;
- Elf_Phdr **ld=0;
- Elf_Phdr *dyn=0;
-
- if (fd==-1) return 0;
-
-#ifdef DEBUG
- pf(__func__": "); pf(pathname); pf("\n");
-#endif
-
- if (fstat(fd,&st)<0) {
- close(fd);
- _dl_error=2;
- return 0;
- }
- else {
- // use st_dev and st_ino for identification
- }
-
- if (read(fd, buf, 1024)<128) {
- close(fd);
- _dl_error=2;
- return 0;
- }
-
- eh=(Elf_Ehdr*)buf;
- ph=(Elf_Phdr*)&buf[eh->e_phoff];
-
- for (i=0; i<eh->e_phnum; i++) {
- if (ph[i].p_type==PT_LOAD) ++ld_nr;
- }
- ld=alloca(ld_nr*sizeof(Elf_Phdr));
-
- for (ld_nr=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);
- ret = _dl_get_handle();
-
- m = (char*)do_map_in(0, length, ld[0]->p_flags, fd, offset);
- if (m==MAP_FAILED) { _dl_free_handle(ret); close(fd); return 0; }
-
- /* zero pad bss */
- l = ld[0]->p_offset+ld[0]->p_filesz;
- memset(m+l,0,length-l);
-
- ret->mem_base=m;
- ret->mem_size=length;
- }
- 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); /* do we need this ? */
- 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);
-
- ret = _dl_get_handle();
- /* mmap all mem_blocks for *.so */
- m = (char*) do_map_in(0,text_size+data_size,ld[0]->p_flags,fd,text_offset);
- if (m==MAP_FAILED) { _dl_free_handle(ret); close(fd); return 0; }
-
- /* 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_fsize-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);
- }
-
- ret->mem_base=m;
- ret->mem_size=text_size+data_size;
- }
-
- if (ret) {
- ret->lnk_count=1;
- ret->name=strdup(fn);
- ret->dyn_str_tab=(char*)m+dyn->p_vaddr; /* missuse of field */
- }
-
- close(fd);
- return ret;
-}
-
-/* local alias */
-static struct _dl_handle* __dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags)
-__attribute__ ((alias("_dl_dyn_scan")));
-
-struct _dl_handle* _dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags)
-{
- Elf_Dyn* dyn_tab = dyn_addr;
-
- void (*init)()=0;
- unsigned long* got=0;
- void* jmprel=0;
- int pltreltype=0;
- int pltrelsize=0;
- unsigned long rel=0;
- int relent=0;
- int relsize=0;
-
- int i;
-
-#ifdef DEBUG
- pf(__func__": pre dynamic scan "); ph((unsigned long)dh); pf("\n");
-#endif
- dh->dyn_str_tab=0;
- dh->flags=flags;
-
- for(i=0;dyn_tab[i].d_tag;i++) {
-// DEBUG(printf("_dl_load dyn %d, %08lx\n",dyn_tab[i].d_tag, dyn_tab[i].d_un.d_val);)
- if (dyn_tab[i].d_tag==DT_HASH) {
- dh->hash_tab = (unsigned long*)(dh->mem_base+dyn_tab[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__func__": have hash @ "); ph((long)dh->hash_tab); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_SYMTAB) {
- dh->dyn_sym_tab = (Elf_Sym*)(dh->mem_base+dyn_tab[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__func__": have dyn_sym_tab @ "); ph((long)dh->dyn_sym_tab); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_STRTAB) {
- dh->dyn_str_tab = (char*)(dh->mem_base+dyn_tab[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__func__": have dyn_str_tab @ "); ph((long)dh->dyn_str_tab); pf("\n");
-#endif
- }
-
- /* INIT / FINI */
- else if (dyn_tab[i].d_tag==DT_FINI) {
- dh->fini = (void(*)(void))(dh->mem_base+dyn_tab[i].d_un.d_val);
-#ifdef DEBUG
- pf(__func__": have fini @ "); ph((long)dh->fini); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_INIT) {
- init = (void(*)(void))(dh->mem_base+dyn_tab[i].d_un.d_val);
-#ifdef DEBUG
- pf(__func__": have init @ "); ph((long)init); pf("\n");
-#endif
- }
-
- /* PLT / Relocation entries for PLT in GOT */
- else if (dyn_tab[i].d_tag==DT_PLTGOT) {
- got=(unsigned long*)(dh->mem_base+dyn_tab[i].d_un.d_val);
- dh->pltgot=got;
-#ifdef DEBUG
- pf(__func__": have plt got @ "); ph((long)dh->pltgot); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_PLTREL) {
- pltreltype=dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": have pltreltype @ "); ph((long)pltreltype); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_PLTRELSZ) {
- pltrelsize=dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": have pltrelsize @ "); ph((long)pltrelsize); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_JMPREL) {
- jmprel=(dh->mem_base+dyn_tab[i].d_un.d_val);
- dh->plt_rel=jmprel;
-#ifdef DEBUG
- pf(__func__": have jmprel @ "); ph((long)jmprel); pf("\n");
-#endif
- }
-
- /* Relocation */
- else if (dyn_tab[i].d_tag==DT_REL) {
- rel=(unsigned long)(dh->mem_base+dyn_tab[i].d_un.d_val);
-#ifdef DEBUG
- pf(__func__": have rel @ "); ph((long)rel); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_RELENT) {
- relent=dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": have relent @ "); ph((long)relent); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_RELSZ) {
- relsize=dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": have relsize @ "); ph((long)relsize); pf("\n");
-#endif
- }
-
- else if (dyn_tab[i].d_tag==DT_TEXTREL) {
- _dl_free_handle(dh);
- _dl_error = 3;
- return 0;
- }
- }
- /* extra scan for rpath (if program) ... */
- if (dh->name==0) {
- for(i=0;dyn_tab[i].d_tag;i++) {
- if (dyn_tab[i].d_tag==DT_RPATH) {
- char *rpath=dh->dyn_str_tab+dyn_tab[i].d_un.d_val;
- _dl_set_rpath(rpath);
-#ifdef DEBUG
- pf(__func__": have runpath: "); pf(rpath); pf("\n");
-#endif
- }
- }
- }
-
-#ifdef DEBUG
- pf(__func__": post dynamic scan "); ph((unsigned long)dh); pf("\n");
-#endif
-
- if ((got=_dlsym(dh,"_GLOBAL_OFFSET_TABLE_"))) {
-#ifdef DEBUG
- pf(__func__": found a GOT @ "); ph((unsigned long)got); pf("\n");
-#endif
- /* GOT */
- got[0]+=(unsigned long)dh->mem_base; /* reloc dynamic pointer */
- got[1] =(unsigned long)dh;
- got[2] =(unsigned long)(_dl_jump); /* sysdep jump to _dl_rel */
- /* */
- }
- else {
- if (dh) {
- munmap(dh->mem_base,dh->mem_size);
- _dl_free_handle(dh);
- }
- _dl_error = 3;
- return 0;
- }
-
- /* load other libs */
- for(i=0;dyn_tab[i].d_tag;i++) {
- if (dyn_tab[i].d_tag==DT_NEEDED) {
- char *lib_name=dh->dyn_str_tab+dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": needed for this lib: "); pf(lib_name); pf("\n");
-#endif
- _dl_queue_lib(lib_name,flags);
- }
- }
-
- if (_dl_open_dep()) {
- _dl_error = 1;
- return 0;
- }
-
- /* relocate */
- if (rel) {
-#ifdef DEBUG
- pf(__func__": try to relocate some values\n");
-#endif
- if (_dl_relocate(dh,(Elf_Rel*)rel,relsize/relent)) {
- munmap(dh->mem_base,dh->mem_size);
- _dl_free_handle(dh);
- return 0;
- }
- }
-
- /* do PTL / GOT relocation */
- if (pltreltype == DT_REL) {
- Elf_Rel *tmp = jmprel;
-#ifdef DEBUG
- pf(__func__": rel got\n");
-#endif
- for (;(char*)tmp<(((char*)jmprel)+pltrelsize);(char*)tmp=((char*)tmp)+sizeof(Elf_Rel)) {
- if ((flags&RTLD_NOW)) {
- unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info));
- if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym;
- else {
- _dl_free_handle(dh);
- _dl_error = 4;
- return 0;
- }
- }
- else
- *((unsigned long*)(dh->mem_base+tmp->r_offset))+=(unsigned long)dh->mem_base;
-#if 0
- DEBUG("_dl_load rel @ %08lx with type %d -> %d\n",(long)dh->mem_base+tmp->r_offset,ELF_R_TYPE(tmp->r_info),ELF_R_SYM(tmp->r_info));
- DEBUG("_dl_load -> %08lx\n",*((unsigned long*)(dh->mem_base+tmp->r_offset)));
-#endif
- }
- }
- if (pltreltype == DT_RELA) {
- Elf_Rela *tmp = jmprel;
-#ifdef DEBUG
- pf(__func__": rela got\n");
-#endif
- for (;(char*)tmp<(((char*)jmprel)+pltrelsize);(char*)tmp=((char*)tmp)+sizeof(Elf_Rela)) {
- if ((flags&RTLD_NOW)) {
- unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info));
- if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym;
- else {
- _dl_free_handle(dh);
- _dl_error = 4;
- return 0;
- }
- }
- else
- *((unsigned long*)(dh->mem_base+tmp->r_offset))=(unsigned long)(dh->mem_base+tmp->r_addend);
-#if 0
- DEBUG("_dl_load rela @ %08lx with type %d -> %d\n",(long)dh->mem_base+tmp->r_offset,ELF_R_TYPE(tmp->r_info),ELF_R_SYM(tmp->r_info));
- DEBUG("_dl_load -> %08lx\n",*((unsigned long*)(dh->mem_base+tmp->r_offset)));
-#endif
- }
- }
-
- /* _dl_load depending libs ... */
-#ifdef DEBUG
- pf(__func__": post resolve, pre init\n");
-#endif
- if (init) init();
-#ifdef DEBUG
- pf(__func__": post init\n");
-#endif
-
- return dh;
-}
-
-void *_dl_load(const char*fn, const char*pathname, int fd, int flags)
-{
- struct _dl_handle* ret=0;
- if ((ret=_dl_map_lib(fn,pathname,fd,flags))) {
- ret=__dl_dyn_scan(ret,(void*)(ret->dyn_str_tab),flags);
- }
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_main.c b/mdk-stage1/dietlibc/libdl/_dl_main.c
deleted file mode 100644
index 8ecf44f0b..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_main.c
+++ /dev/null
@@ -1,1059 +0,0 @@
-#ifdef __OD_CLEAN_ROOM
-
-#define __DIET_LD_SO__
-
-/*
- * this is the dietlibc libdl & dynamic-linker
- *
- * NEED to be compiled with -fPIC ...
- */
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include "_dl_int.h"
-#include "_dl_rel.h"
-
-void _start(void); /* entry of lib... */
-
-static void (*fini_entry)(void)=0;
-static char **_dl_environ=0;
-static unsigned long loadaddr=0;
-static unsigned long prog_entry=0;
-
-static Elf_Phdr*prog_ph;
-static unsigned long prog_ph_size;
-static unsigned long prog_ph_num;
-
-static unsigned long at_uid;
-static unsigned long at_euid;
-static unsigned long at_gid;
-static unsigned long at_egid;
-static unsigned long at_pagesize;
-
-/* this are the "local syscalls" */
-void _dl_sys_exit(int val);
-int _dl_sys_read(int fd,char*buf,unsigned long len);
-int _dl_sys_write(int fd,char*buf,unsigned long len);
-int _dl_sys_open(const char*filename,int flags,int mode);
-int _dl_sys_close(int fd);
-void*_dl_sys_mmap(void*start,unsigned long length,int prot,int flags,int fd,unsigned long offset);
-int _dl_sys_munmap(void*start,unsigned long length);
-int _dl_sys_mprotect(const void*addr,unsigned long len,int prot);
-int _dl_sys_fstat(int filedes, struct stat *buf);
-
-extern char*strdup(const char*s);
-
-#ifdef __i386__
-
-asm(".text \n"
-".type _start,@function \n"
-"_start: \n"
-" movl %esp, %ebp # save stack \n"
-" movl (%ebp), %ecx # argc \n"
-" leal 4(%ebp), %esi # argv \n"
-" leal 4(%esi,%ecx,4), %eax # envp \n"
-
-"# PIC code \n"
-" call getpic \n"
-" addl $_GLOBAL_OFFSET_TABLE_, %ebx \n"
-
-"# for calculation of load addr, get 'relocated' address of _DYNAMIC \n"
-" leal _DYNAMIC@GOTOFF(%ebx), %edx \n"
-
-"# put parameter on stack and call _dl_main \n"
-" pushl %edx \n"
-" pushl %eax \n"
-" pushl %esi \n"
-" pushl %ecx \n"
-" call _dl_main \n"
-
-"# restore stack \n"
-" movl %ebp, %esp \n"
-
-"# get fini pointer \n"
-" movl fini_entry@GOTOFF(%ebx), %edx \n"
-
-"# clear callee-save-register like kernel \n"
-" xorl %ebx, %ebx \n"
-" xorl %ebp, %ebp \n"
-" xorl %edi, %edi \n"
-" xorl %esi, %esi \n"
-
-"# jump to program entry point \n"
-" jmp *%eax \n"
-
-"_dl_sys_read: \n"
-" movb $3,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_write: \n"
-" movb $4,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_open: \n"
-" movb $5,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_close: \n"
-" movb $6,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_mmap: \n"
-" movb $90,%al \n"
-" leal 4(%esp),%edx \n"
-" pushl %edx \n"
-" call _dl_sys_call3 \n"
-" popl %ecx \n"
-" ret \n"
-"_dl_sys_munmap: \n"
-" movb $91,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_fstat: \n"
-" movb $108,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_mprotect: \n"
-" movb $125,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_exit: \n"
-" movb $1,%al \n"
-"_dl_sys_call3: \n"
-" movzbl %al,%eax \n"
-" pushl %ebx \n"
-" movl %esp,%ebx \n"
-" movl 16(%ebx),%edx \n"
-" movl 12(%ebx),%ecx \n"
-" movl 8(%ebx),%ebx \n"
-" int $0x80 \n"
-" popl %ebx \n"
-" ret \n"
-
-".type _dl_jump,@function \n"
-"_dl_jump: \n"
-" pushl %eax # save register args... \n"
-" pushl %ecx \n"
-" pushl %edx \n"
-
-" push 16(%esp) # 2. arg from plt \n"
-" push 16(%esp) # 1. arg from plt \n"
-" call do_resolve \n"
-" add $8, %esp \n"
-
-" popl %edx # restore register args... \n"
-" popl %ecx \n"
-" xchgl %eax, (%esp) # restore eax and save function pointer (for return) \n"
-" ret $8 # remove arguments from plt and jump to REAL function \n"
-
-"# GET Position In Code :) \n"
-"getpic: movl (%esp), %ebx \n"
-" ret");
-
-static inline unsigned long* get_got(void) {
- register unsigned long *got asm ("%ebx");
- return got;
-}
-
-static inline int work_on_pltgot(struct _dl_handle*dh) {
- /* declare _dl_jump static otherwise we have a GOT access BEFOR we have the resolver */
- static void _dl_jump(void);
- if ((dh->plt_rel)&&(!(dh->flags&RTLD_NOW))) {
- unsigned long*tmp=dh->pltgot;
- /* GOT */
- tmp[0]+=(unsigned long)dh->mem_base; /* reloc dynamic pointer */
- tmp[1] =(unsigned long)dh; /* the handle */
- tmp[2] =(unsigned long)(_dl_jump); /* sysdep jump to do_resolve */
- }
- return 0;
-}
-
-#elif __arm__
-
-asm(".text \n"
-".type _start,function \n"
-"_start: \n"
-" mov r4, sp \n"
-" mov fp, #0 @ start new stack frame \n"
-
-" ldr a1, [sp], #4 @ argc \n"
-" mov a2, sp @ argv \n"
-
-" add a3, a2, a1, lsl #2 @ envp \n"
-" add a3, a3, #4 \n"
-
-" ldr sl, .L_got @ PIC code \n"
-"1: add sl, pc, sl \n"
-
-" ldr a4, .L_la @ get 'relocated' address of _DYNAMIC \n"
-" add a4, a4, sl \n"
-
-" bl _dl_main @ call _dl_main \n"
-
-" mov sp, r4 \n"
-
-" mov lr, a1 @ save program entry point \n"
-
-" ldr a1, [pc, #.L_fe-(.+8)] @ agrument 1: global fini entry \n"
-" ldr a1, [sl, a1] \n"
-
-" mov pc, lr \n"
-
-".L_got: .long _GLOBAL_OFFSET_TABLE_-(1b+8) \n"
-".L_la: .long _DYNAMIC(GOTOFF) \n"
-".L_fe: .long fini_entry(GOTOFF) \n"
-
-"_dl_sys_exit: \n"
-" swi #0x900001 @ exit \n"
-" eor pc, lr, lr @ OR DIE ! \n"
-" mov pc, lr \n"
-
-"_dl_sys_read: \n"
-" swi #0x900003 @ read \n"
-" mov pc, lr \n"
-"_dl_sys_write: \n"
-" swi #0x900004 @ write \n"
-" mov pc, lr \n"
-"_dl_sys_open: \n"
-" swi #0x900005 @ open \n"
-" mov pc, lr \n"
-"_dl_sys_close: \n"
-" swi #0x900006 @ close \n"
-" mov pc, lr \n"
-"_dl_sys_mmap: \n"
-" stmdb sp!,{r0,r1,r2,r3} \n"
-" mov r0, sp \n"
-" swi #0x900090 @ mmap \n"
-" add sp, sp, #16 \n"
-" mov pc, lr \n"
-"_dl_sys_munmap: \n"
-" swi #0x900091 @ munmap \n"
-" mov pc, lr \n"
-"_dl_sys_fstat: \n"
-" swi #0x900108 @ fstat \n"
-" mov pc, lr \n"
-"_dl_sys_mprotect: \n"
-" swi #0x900125 @ mprotect \n"
-" mov pc, lr \n"
-
-".type _dl_jump,function \n"
-"_dl_jump: \n"
-" stmdb sp!, {r0, r1, r2, r3} @ save arguments \n"
-
-" sub r1, ip, lr @ dyntab entry \n"
-" sub r1, r1, #4 \n"
-" add r1, r1, r1 \n"
-
-" ldr r0, [lr, #-4] @ dynlib handle \n"
-
-" bl do_resolve \n"
-
-" mov r12, r0 \n"
-" ldmia sp!, {r0, r1, r2, r3, lr} @ restore arguments \n"
-" mov pc, r12");
-
-static inline unsigned long* get_got(void) {
- register unsigned long *got asm ("sl");
- return got;
-}
-
-static inline int work_on_pltgot(struct _dl_handle*dh) {
- /* declare _dl_jump static otherwise we have a GOT access BEFOR we have the resolver */
- static void _dl_jump(void);
- if ((dh->plt_rel)&&(!(dh->flags&RTLD_NOW))) {
- unsigned long*tmp=dh->pltgot;
- /* GOT */
- tmp[0]+=(unsigned long)dh->mem_base; /* reloc dynamic pointer */
- tmp[1] =(unsigned long)dh; /* the handle */
- tmp[2] =(unsigned long)(_dl_jump); /* sysdep jump to do_resolve */
- }
- return 0;
-}
-
-#else
-#error "libdl: arch not supported"
-#endif
-
-static void*_dl_load(const char*fn,const char*pathname,int fd,int flags);
-
-/* here do the code includes */
-
-/* strncpy */
-static char*strncpy(register char*s,register const char*t,register unsigned long n) {
- char *dest=s;
- for(;n;--n) {
- char ch=*t;
- *s=ch;
- if (ch==0) return dest;
- ++s; ++t;
- }
- return 0;
-}
-
-/* strlen.c */
-static unsigned long strlen(register const char*s) {
- register unsigned long i;
- if (!s) return 0;
- for (i=0; *s; ++s) ++i;
- return i;
-}
-
-/* strcmp.c */
-static int strcmp(register const unsigned char*s,register const unsigned char*t) {
- register char x;
- for (;;) {
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
- }
- return ((int)(unsigned int)x) - ((int)(unsigned int)*t);
-}
-
-/* strcspn.c */
-static unsigned long strcspn(const char*s,const char*reject) {
- unsigned long 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;
-}
-
-/* memcpy.c */
-static void*memcpy(void*dst,const void*src,unsigned long count) {
- register char *d=dst;
- register const char *s=src;
- ++count;
- while (--count) {
- *d = *s;
- ++d; ++s;
- }
- return dst;
-}
-
-/* memset.c */
-static void*memset(void*dst,int ch,unsigned long count) {
- register char *d=dst;
- ++count;
- while (--count) {
- *d=ch;
- ++d;
- }
- return dst;
-}
-
-/* memcmp.c */
-static int memcmp(register const unsigned char*s,register const unsigned char*t,unsigned long count) {
- register int r;
- ++count;
- while(--count) {
- if ((r=(*s-*t))) return r;
- ++s;
- ++t;
- }
- return 0;
-}
-
-/* getenv.c */
-static char*getenv(const char*env) {
- unsigned int i,len=strlen(env);
- for (i=0;_dl_environ[i];++i) {
- if ((memcmp(_dl_environ[i],env,len)==0) && (_dl_environ[i][len]=='='))
- return _dl_environ[i]+len+1;
- }
- return 0;
-}
-
-/* basic debug output functions */
-static void pf(const char*s) { _dl_sys_write(2,(void*)s,strlen(s)); }
-static void ph(unsigned long l) {
- const int max=(sizeof(unsigned long)<<1);
- unsigned char buf[16];
- int i;
- for (i=max;i;l>>=4) {
- register unsigned long v='0'|(l&15);
- if (v>'9') v+=0x27;
- buf[--i]=v;
- }
- _dl_sys_write(2,buf,max);
-}
-
-/* the never free strdup (internal) */
-static unsigned long _dl_lib_strdup_len=0;
-static char*_dl_lib_strdup_str;
-static char*_dl_lib_strdup(const char*s) {
- char*ret=_dl_lib_strdup_str;
- unsigned long l=strlen(s)+1;
- if (_dl_lib_strdup_len<l) {
- ret=(char*)_dl_sys_mmap(0,at_pagesize,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);
- _dl_lib_strdup_len=at_pagesize;
- }
- _dl_lib_strdup_str=ret+l;
- _dl_lib_strdup_len-=l;
- memcpy(ret,s,l);
- return ret;
-}
-
-#ifdef __GDB_SUPPORT__
-volatile void _dl_debug_state(void);
-/* gdb debug break point */
-void _dl_debug_state() {}
-
-/* gdb debug init stuff */
-struct r_debug _r_debug;
-static struct r_debug* _dl_debug_init(Elf_Addr dl_base) {
- if (_r_debug.r_brk==0) {
- _r_debug.r_version = 1;
- _r_debug.r_ldbase = dl_base;
- _r_debug.r_map = _dl_root_handle; /* this my be wrong */
- _r_debug.r_brk = (Elf_Addr)&_dl_debug_state;
- }
- return &_r_debug;
-}
-#endif
-
-/* now reuse some unchanged sources */
-#include "dlerror.c"
-#include "_dl_alloc.c"
-
-#include "dlsym.c"
-
-#include "_dl_search.c"
-
-#include "_dl_open.c"
-#include "dlopen.c"
-
-#include "_dl_relocate.c"
-#include "_dl_queue.c"
-
-#include "dlclose.c"
-
-/* back to the "new" implementation */
-static void tt_fini(void) {
- struct _dl_handle*tmp;
-#ifdef DEBUG
- pf("dyn fini\n");
-#endif
- for(tmp=_dl_root_handle;tmp;tmp=tmp->next)
- if (tmp->fini) tmp->fini();
-}
-
-/* exit ! */
-static void _DIE_() { _dl_sys_exit(213); }
-
-/* lazy function resolver */
-static unsigned long do_resolve(struct _dl_handle*dh,unsigned long off) {
- _dl_rel_t *tmp = ((void*)dh->plt_rel)+off;
- int sym=ELF_R_SYM(tmp->r_info);
- register unsigned long sym_val;
-
- if (0) sym_val=(unsigned long)do_resolve; /* TRICK: no warning */
-
- /* modify GOT for REAL symbol */
- sym_val=(unsigned long)_dl_sym(dh,sym);
- *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym_val;
-
- /* JUMP (arg sysdep...) */
- if (sym_val) return sym_val;
- /* can't find symbol */
- return (unsigned long)_DIE_;
-}
-
-/* library loader */
-
-/* ELF -> MMAP permissions */
-static inline int map_flags(int flags) {
- 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 perm;
-}
-
-/* a simple mmap wrapper */
-static inline void*do_map_in(void*base,unsigned long length,int flags,int fd,unsigned long offset) {
- register int op = MAP_PRIVATE;
- if (base) op|=MAP_FIXED;
- return _dl_sys_mmap(base, length, map_flags(flags), op, fd, offset);
-}
-
-/* map a library into memory */
-#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))
-static struct _dl_handle*_dl_map_lib(const char*fn,const char*pathname,int fd,int flags) {
- struct _dl_handle*ret=0;
- int i;
- unsigned char buf[1024];
- char *m=0,*d=0;
-
- unsigned long l;
- struct stat st;
-
- Elf_Ehdr*eeh;
- Elf_Phdr*eph;
-
- int ld_nr=0;
- Elf_Phdr*ld[4]={0,0,0,0};
- Elf_Phdr*dyn=0;
-
- if (0) { pathname=0; } /* no unused parameter */
- if (fd==-1) return 0;
-
- if (_dl_sys_fstat(fd,&st)<0) {
-err_out_close:
- _dl_sys_close(fd);
- _dl_error_data=fn;
- _dl_error=2;
- return 0;
- } else {
- /* use st_dev and st_ino for identification */
- }
-
- if (_dl_sys_read(fd,buf,1024)<128) goto err_out_close;
-
- eeh=(Elf_Ehdr*)buf;
- eph=(Elf_Phdr*)&buf[eeh->e_phoff];
-
- for (i=0;i<eeh->e_phnum;++i) {
- if (eph[i].p_type==PT_LOAD) {
- if (ld_nr>3) goto err_out_close;
- ld[ld_nr++]=eph+i;
- }
- if (eph[i].p_type==PT_DYNAMIC) {
- dyn=eph+i;
- }
- }
-
- if (ld_nr==1) {
- unsigned long offset=_ELF_DWN_ROUND(at_pagesize,ld[0]->p_offset);
- unsigned long off =_ELF_RST_ROUND(at_pagesize,ld[0]->p_offset);
- unsigned long length=_ELF_UP_ROUND(at_pagesize,ld[0]->p_memsz+off);
- ret=_dl_get_handle();
- m=(char*)do_map_in(0,length,ld[0]->p_flags,fd,offset);
- if (m==MAP_FAILED) goto err_out_free;
- /* zero pad bss */
- l=ld[0]->p_offset+ld[0]->p_filesz;
- memset(m+l,0,length-l);
-
- ret->mem_base=m;
- ret->mem_size=length;
- }
- else if (ld_nr==2) { /* aem... yes Quick & Really Dirty / for the avarage 99% */
-// unsigned long text_addr = _ELF_DWN_ROUND(at_pagesize,ld[0]->p_vaddr); /* do we need this ? */
- unsigned long text_offset=_ELF_DWN_ROUND(at_pagesize,ld[0]->p_offset);
- unsigned long text_off =_ELF_RST_ROUND(at_pagesize,ld[0]->p_offset);
- unsigned long text_size =_ELF_UP_ROUND(at_pagesize,ld[0]->p_memsz+text_off);
-
- unsigned long data_addr =_ELF_DWN_ROUND(at_pagesize,ld[1]->p_vaddr);
- unsigned long data_offset=_ELF_DWN_ROUND(at_pagesize,ld[1]->p_offset);
- unsigned long data_off =_ELF_RST_ROUND(at_pagesize,ld[1]->p_offset);
- unsigned long data_size =_ELF_UP_ROUND(at_pagesize,ld[1]->p_memsz+data_off);
- unsigned long data_fsize =_ELF_UP_ROUND(at_pagesize,ld[1]->p_filesz+data_off);
-
- ret=_dl_get_handle();
- /* mmap all mem_blocks for *.so */
- m=(char*)do_map_in(0,text_size+data_size,ld[0]->p_flags,fd,text_offset);
- if (m==MAP_FAILED) {
-err_out_free:
- _dl_free_handle(ret);
- _dl_sys_close(fd);
- return 0;
- }
-
- /* release data,bss part */
- _dl_sys_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_fsize-l);
- /* more bss ? */
- if (data_size>data_fsize) {
- l=data_size-data_fsize;
- _dl_sys_mmap(d+data_fsize,l,PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS,-1,0);
- }
-
- ret->mem_base=m;
- ret->mem_size=text_size+data_size;
- }
- else {
- _dl_error_data=fn;
- _dl_error=7;
- }
-
- if (ret) {
- ++ret->lnk_count;
- if (flags&RTLD_USER)
- ret->name=strdup(fn);
- else
- ret->name=_dl_lib_strdup(fn);
- ret->flags=flags;
- ret->dynamic=(Elf_Dyn*)(m+dyn->p_vaddr);
- }
-
- _dl_sys_close(fd);
- return ret;
-}
-
-/* dynamic section parser */
-static struct _dl_handle* _dl_dyn_scan(struct _dl_handle*dh,Elf_Dyn*_dynamic) {
- void(*init)(void)=0;
-
- _dl_rel_t* plt_rel=0;
- unsigned long plt_relsz=0;
-
- _dl_rel_t* rel=0;
- unsigned long relent=0;
- unsigned long relsize=0;
-
- int i;
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre dynamic scan "); ph((unsigned long)dh); pf("\n");
-#endif
- for(i=0;_dynamic[i].d_tag;++i) {
- switch(_dynamic[i].d_tag) {
- /* this depends on dyn_str_tab -> second run */
- case DT_NEEDED:
- case DT_SONAME:
- break;
-
- /* BASIC DYNAMIC STUFF */
- case DT_HASH:
- dh->hash_tab = (unsigned long*)(dh->mem_base+_dynamic[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have hash @ "); ph((long)dh->hash_tab); pf("\n");
-#endif
- break;
- case DT_SYMTAB:
- dh->dyn_sym_tab = (Elf_Sym*)(dh->mem_base+_dynamic[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have dyn_sym_tab @ "); ph((long)dh->dyn_sym_tab); pf("\n");
-#endif
- break;
- case DT_STRTAB:
- dh->dyn_str_tab = (char*)(dh->mem_base+_dynamic[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have dyn_str_tab @ "); ph((long)dh->dyn_str_tab); pf("\n");
-#endif
- break;
-
- /* DYNAMIC INIT/FINI (constructors/destructors) */
- case DT_FINI:
- dh->fini = (void(*)(void))(dh->mem_base+_dynamic[i].d_un.d_val);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have fini @ "); ph((long)dh->fini); pf("\n");
-#endif
- break;
- case DT_INIT:
- init = (void(*)(void))(dh->mem_base+_dynamic[i].d_un.d_val);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have init @ "); ph((long)init); pf("\n");
-#endif
- break;
-
- /* PLT RELOCATION */
- case DT_PLTGOT:
- dh->pltgot = (unsigned long*)(dh->mem_base+_dynamic[i].d_un.d_val);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have plt/got @ "); ph((long)dh->pltgot); pf("\n");
-#endif
- break;
- case DT_PLTREL:
- if (_dynamic[i].d_un.d_val!=_DL_REL_T) {
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have incompatible relocation type\n");
-#endif
- _dl_error_data=dh->name;
- _dl_error=6;
- return 0;
- }
- break;
- case DT_JMPREL:
- plt_rel = (_dl_rel_t*)(dh->mem_base+_dynamic[i].d_un.d_val);
- dh->plt_rel = plt_rel;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have jmprel @ "); ph((long)plt_rel); pf("\n");
-#endif
- break;
- case DT_PLTRELSZ:
- plt_relsz = _dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have pltrelsize @ "); ph((long)plt_relsz); pf("\n");
-#endif
- break;
-
- /* BASIC RELOCATION */
- case DT_REL:
- rel = (_dl_rel_t*)(dh->mem_base+_dynamic[i].d_un.d_val);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have rel @ "); ph((long)rel); pf("\n");
-#endif
- break;
- case DT_RELENT:
- relent=_dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have relent @ "); ph((long)relent); pf("\n");
-#endif
- break;
- case DT_RELSZ:
- relsize=_dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have relsize @ "); ph((long)relsize); pf("\n");
-#endif
- break;
-
-
- /* TEXT RELOCATIONS POSSIBLE -> NO SHARED OBJECT */
- case DT_TEXTREL:
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": found possible textrelocation -> "); pf(dh->name); pf(" is not compiled as a shared library\n");
-#endif
- _dl_error_data=dh->name;
- _dl_error=3;
- return 0;
- break;
-
- /* OTHERS */
- default:
-#ifdef DEBUG
-#if 0
- pf(__FUNCTION__); pf(": unknown "); ph(_dynamic[i].d_tag); pf(", "); ph(_dynamic[i].d_un.d_val); pf("\n");
-#endif
-#endif
- break;
- }
- }
-
- for(i=0;_dynamic[i].d_tag;i++) {
- if (dh->name) { /* librabry can have a SONAME */
- if (_dynamic[i].d_tag==DT_SONAME) {
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre soname: "); pf(dh->name); pf("\n");
-#endif
- if (dh->flags&RTLD_USER) free(dh->name);
- dh->flags&=~RTLD_NOSONAME;
- dh->name = dh->dyn_str_tab+_dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have soname: "); pf(dh->name); pf("\n");
-#endif
- }
- }
- else { /* programs can have a LD_RUN_PATH */
- if (_dynamic[i].d_tag==DT_RPATH) {
- register char *rpath=dh->dyn_str_tab+_dynamic[i].d_un.d_val;
- _dl_search_rpath=rpath;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have runpath: "); pf(rpath); pf("\n");
-#endif
- }
- }
- }
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post dynamic scan "); ph((unsigned long)dh); pf("\n");
-#endif
-
- if (work_on_pltgot(dh)) {
- _dl_error_data=dh->name;
- _dl_error=3;
- return 0;
- }
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre load depending libraries "); ph((unsigned long)dh); pf("\n");
-#endif
- /* load depending libs */
- for(i=0;_dynamic[i].d_tag;++i) {
- if (_dynamic[i].d_tag==DT_NEEDED) {
- char *lib_name=dh->dyn_str_tab+_dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": needed for this lib: "); pf(lib_name); pf("\n");
-#endif
- _dl_queue_lib(lib_name,dh->flags);
- }
- }
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre open depending libraries 2 "); ph((unsigned long)dh); pf("\n");
-#endif
- if (_dl_open_dep()) {
- return 0;
- }
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post load depending libraries, pre resolve "); ph((unsigned long)dh); pf("\n");
-#endif
-
- /* relocation */
- if (rel) {
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": try to relocate some values\n");
-#endif
- if (_dl_relocate(dh,rel,relsize/relent)) return 0;
- }
-
- /* do PTL / GOT relocation */
- if (plt_rel) {
- _dl_rel_t *tmp,*max=((void*)plt_rel)+plt_relsz;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": rel plt/got\n");
-#endif
- for(tmp=plt_rel;tmp<max;(char*)tmp=((char*)tmp)+sizeof(_dl_rel_t)) {
- if ((dh->flags&RTLD_NOW)) {
- unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info));
- if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym;
- else {
- _dl_error_data=dh->name;
- _dl_error=4;
- return 0;
- }
- }
- else
- _DL_REL_PLT(dh->mem_base,tmp);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": rel @ "); ph((long)dh->mem_base+tmp->r_offset); pf(" with type ");
- ph(ELF_R_TYPE(tmp->r_info)); pf(" and sym "); ph(ELF_R_SYM(tmp->r_info));
- pf(" -> "); ph(*((unsigned long*)(dh->mem_base+tmp->r_offset))); pf("\n");
-#endif
- }
- }
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post resolve, pre init "); ph((unsigned long)dh); pf("\n");
-#endif
- if (init) init();
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post init "); ph((unsigned long)dh); pf("\n");
-#endif
-
- return dh;
-}
-
-static void*_dl_load(const char*fn,const char*pathname,int fd,int flags) {
- struct _dl_handle*ret=0;
- if ((ret=_dl_map_lib(fn,pathname,fd,flags))) {
- ret=_dl_dyn_scan(ret,ret->dynamic);
- }
- return ret;
-}
-
-
-/* ELF AUX parser */
-static void _dl_elfaux(register unsigned long*ui) {
- register struct elf_aux {
- unsigned long type;
- unsigned long val;
- } *ea;
-
- while (*ui) ++ui;
- /* now *ui points to the tailing NULL-pointer of the envirioment */
-
- /* walk the elf_aux table */
- for (ea=(struct elf_aux*)(ui+1); ea->type; ++ea) {
- switch (ea->type) {
- case AT_EXECFD: /* 2 */
- /* DIE! DIE! DIE! */
- pf("kernel gives us an unsupported binary load type...\n");
- _dl_sys_exit(42);
- break;
-
- case AT_PHDR: /* 3 */
- prog_ph=(Elf_Phdr*)ea->val;
-#ifdef DEBUG
- pf("program header @ "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_PHENT: /* 4 */
- prog_ph_size=ea->val;
-#ifdef DEBUG
- pf("program header size "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_PHNUM: /* 5 */
- prog_ph_num=ea->val;
-#ifdef DEBUG
- pf("program header # "); ph(ea->val); pf("\n");
-#endif
- break;
-
- case AT_PAGESZ: /* 6 */
- at_pagesize=ea->val;
-#ifdef DEBUG
- pf("page size "); ph(ea->val); pf("\n");
-#endif
- break;
-
- case AT_BASE: /* 7 */
- loadaddr=ea->val;
-#ifdef DEBUG
- pf("interpreter base: "); ph(ea->val); pf("\n");
-#endif
- break;
-
-#if 0
- case AT_FLAGS: /* 8 */
-#ifdef DEBUG
- pf("flags "); ph(ea->val); pf("\n");
-#endif
- break;
-#endif
-
- case AT_ENTRY: /* 9 */
- prog_entry=ea->val;
-#ifdef DEBUG
- pf("start program @ "); ph(ea->val); pf("\n");
-#endif
- break;
-
- case AT_NOTELF: /* 10 */
- pf("this is an ELF-loader... and therefor can't handle anything else.\n");
- _dl_sys_exit(42);
- break;
-
- case AT_UID: /* 11 */
- at_uid=ea->val;
-#ifdef DEBUG
- pf(" UID: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_EUID: /* 12 */
- at_euid=ea->val;
-#ifdef DEBUG
- pf("EUID: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_GID: /* 13 */
- at_gid=ea->val;
-#ifdef DEBUG
- pf(" GID: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_EGID: /* 14 */
- at_egid=ea->val;
-#ifdef DEBUG
- pf("EGID: "); ph(ea->val); pf("\n");
-#endif
- break;
-
-#if 0
- case AT_PLATFORM: /* 15 */
-#ifdef DEBUG
- pf("CPU: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_HWCAP: /* 16 */
-#ifdef DEBUG
- pf("CPU capabilities: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_CLKTCK: /* 17 */
-#ifdef DEBUG
- pf("CLK per sec "); ph( ea->val); pf("\n");
-#endif
- break;
- case AT_FPUCW: /* 18 */
-#ifdef DEBUG
- pf("FPU control word "); ph( ea->val); pf("\n");
-#endif
- break;
-#endif
-
- default:
- break;
- }
- }
-}
-
-
-/* start of libdl dynamic linker */
-static unsigned long _dl_main(int argc,char*argv[],char*envp[],unsigned long _dynamic) {
- unsigned long*got;
- struct _dl_handle*prog,*mydh;
- struct _dl_handle my_dh;
- Elf_Dyn*prog_dynamic=0;
- unsigned int i;
-
- if (0) _dl_main(argc,argv,envp,_dynamic); /* TRICK: no warning */
-
- /* prepare to bootstarp the relocations */
- got=get_got();
- _dl_environ=envp;
-
- /* run elf_aux (kernel provided misc data) */
- _dl_elfaux((unsigned long*)envp);
-
- if (loadaddr==0) {
- pf("\ndiet libdl.so/dynamic-linker can't be started as a program !\n\n SORRY...\n\n");
- return (unsigned long)_DIE_;
- }
-
- memset(&my_dh,0,sizeof(my_dh));
- my_dh.mem_base=(char*)loadaddr;
- my_dh.mem_size=0;
- my_dh.lnk_count=1024;
- my_dh.name="libdl.so";
- my_dh.flags=LDSO_FLAGS;
-
- got[1]=0; /* NOT YET (my_dh) */
- got[2]=(unsigned long)_DIE_; /* NO lazy symbol resolver as long as we are not ready */
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre scan\n");
-#endif
- /* bootstrap relocation */
- if (_dl_dyn_scan(&my_dh,(Elf_Dyn*)_dynamic)==0) {
- pf("error with dyn_scan myself\n");
- return (unsigned long)_DIE_;
- }
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post scan\n");
-#endif
-
- /* now we are save to use anything :) (hopefully) */
-
- fini_entry=tt_fini;
-
- prog=_dl_get_handle();
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": ugly, ugly, COPY pregenerated handle to real handle\n");
-#endif
- mydh=_dl_get_handle();
- {
- register struct _dl_handle*tmp=mydh->prev;
- memcpy(mydh,&my_dh,sizeof(struct _dl_handle));
- mydh->prev=tmp;
- }
- got[1]=(unsigned long)mydh;
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": MORE ugly: prepare program...\n");
-#endif
- for(i=0;(i<prog_ph_num);++i) {
- if (prog_ph[i].p_type==PT_DYNAMIC) {
- prog_dynamic=(Elf_Dyn*)prog_ph[i].p_vaddr;
- break;
- }
- }
- if (prog_dynamic==0) {
- ph(0xe0000001);
- pf(" error with program: no dynamic section ?\n");
- return (unsigned long)_DIE_;
- }
- prog->name=0;
- prog->lnk_count=1024;
- prog->dynamic=prog_dynamic;
- prog->flags=LDSO_FLAGS;
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": dyn_scan program...\n");
-#endif
- if (_dl_dyn_scan(prog,(Elf_Dyn*)prog_dynamic)==0) {
- _dl_error_location="error in dyn_scan the program";
- pf(dlerror()); pf("\n");
- return (unsigned long)_DIE_;
- }
-
- /* now start the program */
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": now jump to program entrypoint\n");
-#endif
- return prog_entry;
-}
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_open.c b/mdk-stage1/dietlibc/libdl/_dl_open.c
deleted file mode 100644
index f7bd0af95..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_open.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <fcntl.h>
-#include <dlfcn.h>
-#include <limits.h>
-#ifndef __DIET_LD_SO__
-#include <string.h>
-#endif
-
-#include "_dl_int.h"
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void*_dl_open(const char*filename,int flags) {
- int fd;
- char buf[PATH_MAX];
- const char*p=0;
-
- for (fd=0;filename[fd] && (p==0);++fd) if (filename[fd]=='/') p=filename;
- if (p) {
-#ifdef __DIET_LD_SO__
- if ((fd=_dl_sys_open(p,O_RDONLY,0))<0) fd=-1;
-#else
- fd=open(p,O_RDONLY);
-#endif
- } else {
- p=buf;
- fd=_dl_search(buf,sizeof(buf)-1,filename);
- }
- if (fd==-1) {
- _dl_error_data=filename;
- _dl_error=1;
- return 0;
- }
- return _dl_load(filename,p,fd,flags);
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_queue.c b/mdk-stage1/dietlibc/libdl/_dl_queue.c
deleted file mode 100644
index 5e08020d5..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_queue.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <dlfcn.h>
-#include "_dl_int.h"
-
-#define MAX_QUEUE 64
-
-static int _dl_queue_start=0;
-static int _dl_queue_stop=0;
-
-static struct {
- const char*name;
- int flags;
-} _dl_queue[MAX_QUEUE];
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-int _dl_queue_lib(const char*name,int flags) {
- if (_dl_find_lib(name)==0) {
- register int tmp;
- if ((tmp=_dl_queue_stop+1)>=MAX_QUEUE) tmp=0;
- if (tmp==_dl_queue_start) return -1;
- _dl_queue[_dl_queue_stop].name=name;
- _dl_queue[_dl_queue_stop].flags=flags;
- _dl_queue_stop=tmp;
- }
- return 0;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-int _dl_open_dep() {
- while (_dl_queue_start!=_dl_queue_stop) {
- register int tmp=_dl_queue_start;
- (++_dl_queue_start>=MAX_QUEUE)?_dl_queue_start=0:0;
- if (!_dlopen(_dl_queue[tmp].name,_dl_queue[tmp].flags)) return 1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_rel.c b/mdk-stage1/dietlibc/libdl/_dl_rel.c
deleted file mode 100644
index bc8717dc2..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_rel.c
+++ /dev/null
@@ -1,42 +0,0 @@
-#include <dlfcn.h>
-
-#include "_dl_int.h"
-
-static void exit_now(void) {
-#ifdef DEBUG
- pf(__func__": symbol not found\n");
-#endif
- _exit(213);
-}
-
-unsigned long do_rel(struct _dl_handle * tmp_dl, unsigned long off)
-{
- Elf_Rel *tmp = ((void*)tmp_dl->plt_rel)+off;
-
- int sym=ELF_R_SYM(tmp->r_info);
-
- register unsigned long sym_val;
-
-#ifdef DEBUG
- pf(__func__": "); ph((unsigned long)tmp_dl); pf(" "); ph(off); pf(" on ");
- ph((long)tmp_dl->plt_rel); pf("\n");
- pf(__func__": @ "); ph((long)tmp->r_offset); pf(" with type ");
- ph(ELF_R_TYPE(tmp->r_info)); pf(" and sym "); ph(sym);
- pf(" symval "); ph(tmp_dl->dyn_sym_tab[sym].st_value); pf("\n");
-#endif
-
- /* modify GOT for REAL symbol */
- //sym_val=((unsigned long)(tmp_dl->mem_base+tmp_dl->dyn_sym_tab[sym].st_value));
- sym_val=(unsigned long)_dl_sym(tmp_dl,sym);
- *((unsigned long*)(tmp_dl->mem_base+tmp->r_offset))=sym_val;
-
-#ifdef DEBUG
- pf(__func__": sym "); ph(sym_val); pf("\n");
-#endif
- /* JUMP (arg sysdep...) */
- if (sym_val) return sym_val;
- /* can't find symbol -> die now */
- return (unsigned long)exit_now;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libdl/_dl_rel.h b/mdk-stage1/dietlibc/libdl/_dl_rel.h
deleted file mode 100644
index 948aa5b79..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_rel.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef ___DL_REL_H__
-#define ___DL_REL_H__
-
-#if defined(__arm__) || defined(__i386__) || defined(__mips__)
-/* this are REL only archs: arm, i386, mips */
-
-#define _dl_rel_t Elf_Rel
-#define _DL_REL_T DT_REL
-
-#define _DL_REL_PLT(b,r) (*(unsigned long*)((b)+(r)->r_offset)+=(unsigned long)(b))
-
-#elif defined(__alpha__) || defined(__hppa__) || defined(__ppc__) || defined(__sparc__) || defined(__s390__)
-/* this are RELA only archs: alpha, chris, hppa, ia64, m68k, ppc, sparc, sparc64, sh, s390 */
-
-#define _dl_rel_t Elf_Rela
-#define _DL_REL_T DT_RELA
-
-#define _DL_REL_PLT(b,r) (*(unsigned long*)((b)+(r)->r_offset)=(unsigned long)((b)+(r)->r_addend))
-
-#else
-/* there are no known linux supported arch with mixed relocation types ... */
-#error "_dl_rel.h: NOT SUPPORTED"
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_relocate.c b/mdk-stage1/dietlibc/libdl/_dl_relocate.c
deleted file mode 100644
index e91e48ccf..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_relocate.c
+++ /dev/null
@@ -1,96 +0,0 @@
-#include "_dl_int.h"
-
-#include "_dl_rel.h"
-
-#if 0
-/*--- are other relocation types vital to shared objects ? ---*/
-
- R_386_NONE 0 /* No reloc */
- R_386_32 1 /* Direct 32 bit */
- R_386_COPY 5 /* Copy symbol at runtime ?!? */
- R_386_GLOB_DAT 6 /* Create GOT entry */
- R_386_JMP_SLOT 7 /* Create PLT entry */
- R_386_RELATIVE 8 /* Adjust by program base */
-
- R_ARM_NONE 0 /* No reloc */
- R_ARM_ABS32 2 /* Direct 32 bit */
- R_ARM_COPY 20 /* Copy symbol at runtime */
- R_ARM_GLOB_DAT 21 /* Create GOT entry */
- R_ARM_JUMP_SLOT 22 /* Create PLT entry */
- R_ARM_RELATIVE 23 /* Adjust by program base */
-
-#endif
-
-static int _dl_apply_relocate(struct _dl_handle*dh,_dl_rel_t*rel) {
- int typ,ret=0;
- Elf_Addr*loc;
-
- loc=(Elf_Addr *)(dh->mem_base+rel->r_offset);
-
-#ifdef DEBUG
-#if 0
- pf(__FUNCTION__); pf(": "); ph(ELF_R_TYPE(rel->r_info)); pf(" @ "); ph((unsigned long)loc);
- pf(" preval "); ph(*(unsigned long*)loc); pf("\n");
-#endif
-#endif
-
- typ=ELF_R_TYPE(rel->r_info);
-
-#ifdef __i386__
- if (typ==R_386_32) { /* 1 */
- *loc=(unsigned long)(dh->mem_base+dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_value);
- } else if (typ==R_386_COPY) { /* 5 */
- int len=dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_size;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": R_386_COPY !\n");
-#endif
- memcpy(loc,(void*)(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)),len);
- } else if (typ==R_386_GLOB_DAT) { /* 6 */
- *loc=(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info));
- } else if (typ==R_386_JMP_SLOT) { /* 7 */
- *loc+=(unsigned long)dh->mem_base;
- } else if (typ==R_386_RELATIVE) { /* 8 */
- *loc+=(unsigned long)dh->mem_base;
- } else if (typ==R_386_NONE) { /* 0 */
- } else
- ret=1;
-#endif
-#ifdef __arm__
- if (typ==R_ARM_ABS32) { /* 2 */
- *loc=(unsigned long)(dh->mem_base+dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_value);
- } else if (typ==R_ARM_COPY) { /* 20 */
- int len=dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_size;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": R_ARM_COPY !\n");
-#endif
- memcpy(loc,(void*)(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)),len);
- } else if (typ==R_ARM_GLOB_DAT) { /* 21 */
- *loc=(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info));
- } else if (typ==R_ARM_JUMP_SLOT) { /* 22 */
- *loc+=(unsigned long)dh->mem_base;
- } else if (typ==R_ARM_RELATIVE) { /* 23 */
- *loc+=(unsigned long)dh->mem_base;
- } else if (typ==R_ARM_NONE) { /* 0 */
- } else
- ret=1;
-#endif
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": @ "); ph((unsigned long)loc); pf(" val "); ph(*(unsigned long*)loc); pf("\n");
-#endif
- return ret;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-int _dl_relocate(struct _dl_handle*dh,_dl_rel_t *rel,int num) {
- int i;
- for (i=0;i<num;i++) {
- if (_dl_apply_relocate(dh,rel+i)) {
- _dl_error=4;
- return 1;
- }
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_search.c b/mdk-stage1/dietlibc/libdl/_dl_search.c
deleted file mode 100644
index ccf9c51c5..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_search.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include <stdlib.h>
-#include <dlfcn.h>
-
-#include <fcntl.h>
-
-#include "_dl_int.h"
-
-#define WANT_LD_SO_CONF_SEARCH
-
-static const char *_dl_search_rpath=0;
-
-#ifndef __DIET_LD_SO__
-#include <unistd.h>
-#include <string.h>
-void _dl_set_rpath(const char *path) { _dl_search_rpath=path; }
-const char* _dl_get_rpath() { return _dl_search_rpath; }
-#endif
-
-/* 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,i=1,fl=strlen(filename),ml=len-fl;
- const char*c,*pe=path+pathlen;
-
- if (path) {
- for (c=path;c<pe;c+=i) {
- int l=len-1;
- if ((*c==':')||(*c==';')) ++c;
- i=strcspn(c,":;");
- if (i) {
- if (i>ml) continue; /* if len(path-entry)+len(filename)+2 is greater than the buffer ? SKIP */
- memcpy(buf,c,i);
- buf[i]='/';
- l-=++i;
- }
- memcpy(buf+i,filename,fl);
- buf[i+fl]=0;
-#ifdef DEBUG
-// pf(__func__": "); pf(buf); pf("\n");
-#endif
-#ifdef __DIET_LD_SO__
- if ((fd=_dl_sys_open(buf,O_RDONLY,0))>-1) return fd;
-#else
- if ((fd=open(buf,O_RDONLY))!=-1) return fd;
-#endif
- }
- }
- 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;
-#ifdef __DIET_LD_SO__
- if ((fd=_dl_sys_open(conf,O_RDONLY,0))>-1) {
- l=_dl_sys_read(fd,ld_so_conf,sizeof(ld_so_conf)-1);
-#else
- if ((fd=open(conf,O_RDONLY))!=-1) {
- l=read(fd,ld_so_conf,sizeof(ld_so_conf)-1);
-#endif
- ld_so_conf[sizeof(ld_so_conf)-1]=0;
-#ifdef __DIET_LD_SO__
- _dl_sys_close(fd);
-#else
- close(fd);
-#endif
- if (l>0) {
- 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;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-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 */
-#ifdef __DIET_LD_SO__
- if ((at_uid==at_euid)&&(at_gid==at_egid)) {
-#else
- if ((getuid()==geteuid())&&(getgid()==getegid())) {
-#endif
- 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 6fafedcf5..000000000
--- a/mdk-stage1/dietlibc/libdl/dlclose.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <sys/mman.h>
-
-#include "_dl_int.h"
-
-static void dec_referenced_libs(struct _dl_handle*dh) {
- Elf_Dyn* dyn_tab=dh->dynamic;
- int i;
- for(i=0;dyn_tab[i].d_tag;i++) {
- if (dyn_tab[i].d_tag==DT_NEEDED) {
- char *lib_name=dh->dyn_str_tab+dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": lib: "); pf(lib_name); pf("\n");
-#endif
- dlclose(_dl_find_lib(lib_name));
- }
- }
-}
-
-int dlclose(void*handle) {
- _dl_error_location="dlclose";
- if (handle) {
- struct _dl_handle*dh=handle;
- if (--(dh->lnk_count)) return 0; /* not yet unreferenced */
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": "); pf(dh->name); pf("\n");
-#endif
- if (dh->fini) dh->fini();
- dec_referenced_libs(dh);
-#ifdef __DIET_LD_SO__
- if (_dl_sys_munmap(dh->mem_base,dh->mem_size)<0) return -1;
-#else
- if (munmap(dh->mem_base,dh->mem_size)==-1) return -1;
-#endif
- _dl_free_handle(handle);
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlerror.c b/mdk-stage1/dietlibc/libdl/dlerror.c
deleted file mode 100644
index 3fea0b75c..000000000
--- a/mdk-stage1/dietlibc/libdl/dlerror.c
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#include "_dl_int.h"
-
-#ifdef __DIET_LD_SO__
-static unsigned int _dl_error;
-static const char*_dl_error_location;
-static const char*_dl_error_data;
-#else
-#include <string.h>
-unsigned int _dl_error;
-const char*_dl_error_location;
-const char*_dl_error_data;
-#endif
-
-static struct _dl_err_msg {
- char*msg;
- int len;
-} _dl_error_msg[]={
-#define MSG(n) { (n), sizeof((n))-1 }
- MSG("can't open: "), /* 1 */
- MSG("can't stat: "), /* 2 */
- MSG("shared object is not position independent: "), /* 3 */
- MSG("can't resolve all symbols in: "), /* 4 */
- MSG("can't find symbol: "), /* 5 */
- MSG("invalid relocation type in: "), /* 6 */
- MSG("internal error: layout not yet supported: "), /* 7 */
-};
-
-const char *dlerror(void) {
- static char buf[1024],*p=buf;
- register int l,len=sizeof(buf)-1;
- if (_dl_error==0) return 0;
-
- buf[0]=0;
- buf[len]=0;
- --_dl_error;
-
- if (_dl_error>=(sizeof(_dl_error_msg)/sizeof(struct _dl_err_msg)))
- return "HAE ?!?";
-
- if (_dl_error_location) {
- l=strlen(_dl_error_location);
- strncpy(p,_dl_error_location,len); len-=l; p+=l;
- strncpy(p,": ",len); len-=2; p+=2;
- }
- l=_dl_error_msg[_dl_error].len;
- strncpy(p,_dl_error_msg[_dl_error].msg,len); len-=l; p+=l;
- strncpy(p,_dl_error_data,len);
-
- _dl_error_location=0;
- _dl_error_data="";
- _dl_error=0;
-
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlopen.c b/mdk-stage1/dietlibc/libdl/dlopen.c
deleted file mode 100644
index 79fa7903c..000000000
--- a/mdk-stage1/dietlibc/libdl/dlopen.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <fcntl.h>
-#include <dlfcn.h>
-#include <limits.h>
-
-#include "_dl_int.h"
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void*_dlopen(const char *filename, int flags) {
- struct _dl_handle* ret;
- if (filename) {
- if ((ret=_dl_find_lib(filename))) {
- ++(ret->lnk_count); /* add a reference */
- return ret;
- }
- return _dl_open(filename,flags);
- }
- /* return 1 as an indicator for dlsym to search ALL global objects */
- return RTLD_DEFAULT;
-}
-
-void*dlopen(const char *filename, int flags) {
- _dl_error_location="dlopen";
- return _dlopen(filename,flags|RTLD_USER|RTLD_NOSONAME);
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlsym.c b/mdk-stage1/dietlibc/libdl/dlsym.c
deleted file mode 100644
index c58bb4d11..000000000
--- a/mdk-stage1/dietlibc/libdl/dlsym.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include "_dl_int.h"
-
-#include "elf_hash.h"
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void *_dlsym(void*handle,char*symbol) {
- unsigned long*sym=0;
- if (handle) {
- struct _dl_handle*dh=(struct _dl_handle*)handle;
- unsigned long hash =elf_hash(symbol);
- unsigned long bhash=hash%HASH_BUCKET_LEN(dh->hash_tab);
- unsigned long*chain=HASH_CHAIN(dh->hash_tab);
- unsigned long ind;
- char *name=dh->dyn_str_tab;
-
-#ifdef DEBUG
-// pf(__FUNCTION__); pf(": bucket("); ph(bhash); pf(",\""); pf(symbol); pf("\")\n");
-#endif
-
- ind=HASH_BUCKET(dh->hash_tab)[bhash];
-#ifdef DEBUG
-// pf(__FUNCTION__); pf(": chain ("); ph(ind); pf(",\""); pf(symbol); pf("\")\n");
-#endif
-
- while(ind) {
- int ptr=dh->dyn_sym_tab[ind].st_name;
-#ifdef DEBUG
-// pf(__FUNCTION__); pf(": symbol(\""); pf(name+ptr); pf("\",\"); pf(symbol); pf("\")\n");
-#endif
- if (strcmp(name+ptr,symbol)==0) {
- if (ELF_ST_TYPE(dh->dyn_sym_tab[ind].st_shndx)!=0) {
- sym=(long*)(dh->mem_base+dh->dyn_sym_tab[ind].st_value);
- break; /* ok found ... */
- }
- }
- ind=chain[ind];
- }
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": symbol \""); pf(symbol); pf("\" @ "); ph((long)sym); pf("\n");
-#endif
- }
- return sym;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void*_dl_sym_search_str(struct _dl_handle*dh,char*name) {
- void *sym=0;
- struct _dl_handle*tmp;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": search for: "); pf(name); pf("\n");
-#endif
- for (tmp=_dl_root_handle;tmp && (!sym);tmp=tmp->next) {
-// if (!(tmp->flags&RTLD_GLOBAL)) continue;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": searching in "); pf(tmp->name); pf("\n");
-#endif
- sym=_dlsym((void*)tmp,name);
-#ifdef DEBUG
- if (sym) { pf(__FUNCTION__); pf(": found: "); pf(name); pf(" @ "); ph((long)sym); pf("\n"); }
-#endif
- }
- return sym;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void*_dl_sym(struct _dl_handle*dh,int symbol) {
- char *name=dh->dyn_str_tab+dh->dyn_sym_tab[symbol].st_name;
- void*sym=_dl_sym_search_str(dh,name);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": "); ph(symbol); pf(" -> "); ph((long)sym); pf("\n");
-#endif
- return sym;
-}
-
-void*dlsym(void*handle,char*symbol) {
- void*h;
- if (handle==RTLD_DEFAULT || !handle /* RTLD_DEFAULT is NULL on glibc */ )
- h=_dl_sym_search_str(0,symbol);
- else h=_dlsym(handle,symbol);
- if (h==0) {
- _dl_error_location="dlsym";
- _dl_error_data=symbol;
- _dl_error=5;
- }
- return h;
-}
diff --git a/mdk-stage1/dietlibc/libdl/elf_hash.h b/mdk-stage1/dietlibc/libdl/elf_hash.h
deleted file mode 100644
index be55982ea..000000000
--- a/mdk-stage1/dietlibc/libdl/elf_hash.h
+++ /dev/null
@@ -1,10 +0,0 @@
-static 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/libdl/test/test.c b/mdk-stage1/dietlibc/libdl/test/test.c
deleted file mode 100644
index d467134ba..000000000
--- a/mdk-stage1/dietlibc/libdl/test/test.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <dlfcn.h>
-
-int main(int argc, char **argv)
-{
- void *Hlib;
-
-// if (Hlib=dlopen("libtest.so", RTLD_LAZY)) {
- if (Hlib=dlopen("libtest.so", RTLD_NOW)) {
- void (*t)(void) = dlsym(Hlib,"test");
- if (t) {
- printf("test @ %08lx\n",(long)t);
- t();
- }
- dlclose(Hlib);
- }
- else {
- printf("%s\n",dlerror());
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/test/test_so.c b/mdk-stage1/dietlibc/libdl/test/test_so.c
deleted file mode 100644
index 09d243c56..000000000
--- a/mdk-stage1/dietlibc/libdl/test/test_so.c
+++ /dev/null
@@ -1,11 +0,0 @@
-
-int* test();
-
-int err
-=(int)test
-;
-
-int* test() {
- write(1,"helo\n",5);
- return &err;
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c b/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c
deleted file mode 100644
index 5a6361442..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int iscntrl(int x) {
- unsigned char c=x&0xff;
- 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 e79a19e52..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int isgraph(int x) {
- unsigned char c=x&0xff;
- 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 c5ad18d1e..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-islower.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int islower(int c) {
- unsigned char x=c&0xff;
- return (x>='a' && x<='z') || (x>=223 && x<=255 && x!=247);
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c b/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c
deleted file mode 100644
index 9493892b1..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isprint(int x) {
- unsigned char c=x&0xff;
- 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 a024548fd..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isupper(int c) {
- unsigned char x=c&0xff;
- return (x>='A' && x<='Z') || (x>=192 && x<=222 && x!=215);
-}
diff --git a/mdk-stage1/dietlibc/libm/acosh.c b/mdk-stage1/dietlibc/libm/acosh.c
deleted file mode 100644
index a09a4c9f0..000000000
--- a/mdk-stage1/dietlibc/libm/acosh.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <math.h>
-
-double acosh ( double x )
-{
- return log ( x + sqrt (x*x - 1.) );
-}
diff --git a/mdk-stage1/dietlibc/libm/asinh.c b/mdk-stage1/dietlibc/libm/asinh.c
deleted file mode 100644
index 49c6b467f..000000000
--- a/mdk-stage1/dietlibc/libm/asinh.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <math.h>
-
-double asinh ( double x )
-{
- return log ( x + sqrt (x*x + 1.) );
-}
diff --git a/mdk-stage1/dietlibc/libm/atanh.c b/mdk-stage1/dietlibc/libm/atanh.c
deleted file mode 100644
index bdb3367be..000000000
--- a/mdk-stage1/dietlibc/libm/atanh.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <math.h>
-
-extern const float __half;
-
-double atanh ( double x )
-{
- return __half * log ( (1.+x) / (1.-x) );
-}
diff --git a/mdk-stage1/dietlibc/libm/bessel.c b/mdk-stage1/dietlibc/libm/bessel.c
deleted file mode 100644
index ba8a1afcb..000000000
--- a/mdk-stage1/dietlibc/libm/bessel.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*--------------------------------------------------------------------------*
-
-Name j0, j1, jn - Bessel functions
- y0, y1, yn - Weber functions
-
-Usage double j0 (double x);
- double j1 (double x);
- double jn (int n, double x);
- double y0 (double x);
- double y1 (double x);
- double yn (int n, double x);
-
-Prototype in math.h
-
-Description j0, j1 and jn calculate the Bessel function.
- y0, y1 and yn calcualte the Weber function.
-
-Return value return their return values as doubles.
-
-*---------------------------------------------------------------------------*/
-
-#include <math.h>
-
-#define M_C 0.5772156649015328
-#if 0
-#define M_1_PI 0.318309886183790671538
-#define M_2_PI 0.636619772367581343076
-#define M_PI 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148
-#endif
-
-
-#define EXPL(x) ((((short *)&x)[4] & 0x7FFF) >> 0)
-#define EXPD(x) ((((short *)&x)[3] & 0x7FF0) >> 4)
-#define EXPF(x) ((((short *)&x)[1] & 0x7F80) >> 7)
-
-#define SQUARE(x) (long) (My - (x) * (x) )
-
-
-static long double P ( int My, double* x )
-{
- long double Sum = 0.;
- long double Fact = 1.;
- long double z182 = -0.015625 / (x[0] * x[0]);
- register int i;
-
- for ( i = 1; ; i += 2 ) {
- Fact *= SQUARE(i+i-1) * SQUARE(i+i+1) * z182 / (i*(i+1));
- if ( EXPL (Fact) < 0x3FFF-53 )
- break;
- Sum += Fact;
- }
- return 1. + Sum;
-}
-
-static long double Q ( int My, double* x )
-{
- long double Fact = (My-1) / x[0] * 0.125;
- long double Sum = Fact;
- long double z182 = -0.015625 / (x[0]*x[0]);
- register int i;
-
- for ( i = 2; ; i += 2 ) {
- Fact *= SQUARE(i+i-1) * SQUARE(i+i+1) * z182 / (i*(i+1));
- if ( EXPL (Fact) < 0x3FFF-53 )
- break;
- Sum += Fact;
- }
- return Sum;
-}
-
-
-static long double ___jn ( int n, double* x )
-{
- long double Sum;
- long double Fact;
- long double y;
- register int i;
- double xx;
- long double Xi;
- int My;
-
- if ( n < 0 )
- return n & 1 ? ___jn (-n, x) : -___jn (-n, x);
-
- if ((x[0] >= 17.7+0.0144*(n*n))) {
- Xi = x[0] - M_PI * (n*0.5 + 0.25);
- My = n*n << 2;
-
- return sqrt ( M_2_PI/x[0] ) * ( P(My,x) * cos(Xi) - Q(My,x) * sin(Xi) );
- }
- xx = x[0] * 0.5;
- Sum = 0.;
- Fact = 1.;
- y = -xx * xx;
-
- for ( i = 1; i <= n; i++ )
- Fact *= xx/i;
- for ( i = 1; ; i++ ) {
- Sum += Fact;
- Fact *= y / (i*(n+i));
- if ( EXPL (Sum) - EXPL(Fact) > 53 || !EXPL(Fact) )
- break;
- }
- return Sum;
-}
-
-
-static long double ___yn ( int n, double* x )
-{
- long double Sum1;
- long double Sum2;
- long double Fact1;
- long double Fact2;
- long double F1;
- long double F2;
- long double y;
- register int i;
- double xx;
- long double Xi;
- unsigned int My;
-
- if ( EXPD (x[0]) == 0 )
- return -1./0.; /* ignore the gcc warning, this is intentional */
-
- if ( (x[0] >= (n>=32 ? 25.8 : (n<8 ? 17.4+0.1*n : 16.2+0.3*n))) ) {
- Xi = x[0] - M_PI * (n*0.5+0.25);
- My = n*n << 2;
-
- return sqrt ( M_2_PI / x[0] ) * ( P(My,x) * sin(Xi) + Q(My,x) * cos(Xi) );
- }
-
- Sum1 = Sum2 = F1 = F2 = 0;
- Fact1 = 1. / (xx = x[0] * 0.5 );
- Fact2 = 1.;
- y = xx*xx;
-
- for ( i = 1; i < n; i++ )
- Fact1 *= (n-i) / xx;
-
- for ( i = 1; i <= n; i++ ) {
- Sum1 += Fact1;
- if ( i == n )
- break;
- Fact1 *= y/(i*(n-i));
- }
-
- for (i=1; i<=n; i++) {
- Fact2 *= xx / i;
- F1 += 1. / i;
- }
-
- for ( i = 1; ; i++ ) {
- Sum2 += Fact2 * (F1+F2);
- Fact2 *= -y / (i*(n+i));
- if ( EXPL (Sum2) - EXPL (Fact2) > 53 || !EXPL (Fact2) )
- break;
- F1 += 1. / (n+i);
- F2 += 1. / i;
- }
-
- return M_1_PI * (2. * (M_C + log(xx)) * ___jn (n, x) - Sum1 - Sum2);
-}
-
-
-double j0 ( double x ) { return ___jn ( 0,&x ); }
-double j1 ( double x ) { return ___jn ( 1,&x ); }
-double jn ( int n, double x ) { return ___jn ( n,&x ); }
-double y0 ( double x ) { return ___yn ( 0,&x ); }
-double y1 ( double x ) { return ___yn ( 1,&x ); }
-double yn ( int n, double x ) { return ___yn ( n,&x ); }
-
diff --git a/mdk-stage1/dietlibc/libm/cosh.c b/mdk-stage1/dietlibc/libm/cosh.c
deleted file mode 100644
index f64d59106..000000000
--- a/mdk-stage1/dietlibc/libm/cosh.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-extern const float __half;
-
-double cosh ( double x )
-{
- long double y = exp (x);
- return (y + 1./y) * __half;
-}
diff --git a/mdk-stage1/dietlibc/libm/erf.c b/mdk-stage1/dietlibc/libm/erf.c
deleted file mode 100644
index 63f52d81f..000000000
--- a/mdk-stage1/dietlibc/libm/erf.c
+++ /dev/null
@@ -1,95 +0,0 @@
-#include "dietlibm.h"
-
-/*--------------------------------------------------------------------------*
- z
- 1 | -x/2
-Name erf(z) = --------- | e dx
- sqrt(2pi) |
- 0
-
- oo
- 1 | -x/2
- erfc(z) = -------- | e dx
- sqrt(2pi) |
- z
-
-Usage double erf (double x);
- double erfc(double x);
-
-Prototype in math.h
-
-Description erf(x) is the probability a normal distributed event occures
- within the range [0,x]. erfc(x) is the probability a normal
- distributed event occures within the range [x,oo].
-
-Return value return their respective function value.
-
-*---------------------------------------------------------------------------*/
-
-
-/* even function in (0): Coefficients for gamma(0) */
-
-static const double tab1 [9 + 1] = {
- 0.398942280401432677926, -0.066490380066905446321, 9.97355701003581694794E-3, -1.18732821548045439878E-3, 1.15434687616155288764E-4, -9.44465625950361453450E-6, 6.65969351631665127484E-7, -4.12266741486268888409E-8, 2.27352982437280636972E-9, -1.13011716416192129505E-10
-};
-
-/* non even or odd function in (x), x>0: Coefficients for gamma(x), x>0 */
-
-static const double tab2 [] [31 + 1] = {
- { -0.158655253931457051468, +0.241970724519143349823, -0.120985362259571674911, 0, +0.0201642270432619458197, -4.03284540865238916394E-3, -2.01642270432619458197E-3, +7.68161030219502697887E-4, +1.20025160971797296538E-4, -8.80184513793180174807E-5, -1.86705805956129127862E-6, +7.37124220917704609315E-6, -4.72826391707080259142E-7, -4.83395817951682973566E-7, +6.57036391970156141055E-8, +2.5544260402922190768E-8, -5.4292285616752144141E-9, -1.08932444506260820153E-9, +3.44399256708718202774E-10, +3.6021429664641554881E-11, -1.81147204852239925966E-11, -7.66935128389784976374E-13, +8.19047721646461768154E-13, -3.78144699611990981391E-15, -3.24856460059989147863E-14, +1.44438130842455313227E-15, +1.14391687912824634892E-15, -9.38053726039148625184E-17, -3.59908648108845288945E-17, +4.36020846676166022246E-18, +1.01298640134330880603E-18, -1.68640470512244526894E-19 },
- { -0.0227501319481792072104, +0.0539909665131880519553, -0.0539909665131880519553, +0.0269954832565940259776, -4.49924720943233766301E-3, -2.24962360471616883129E-3, +1.34977416282970129877E-3, -1.17837426913704081544E-4, -1.15159303574756261652E-4, +3.70473728554448438507E-5, +2.82690796888936559912E-6, -3.54513195524355369855E-6, +3.76695631261094890352E-7, +1.92024079214184701051E-7, -5.22690859049557191018E-8, -4.91799344974114749666E-9, +3.66377919234006038965E-9, -1.5981997209104676352E-10, -1.73812379171063320997E-10, +2.62403075313043113473E-11, +5.60918720760414713346E-12, -1.72126983666416144614E-12, -8.63428809787622525331E-14, +7.89441765474563834480E-14, -3.13747960081562321348E-15, -2.77519506625391157547E-15, +3.29321944203493138076E-16, +7.44375150395529134369E-17, -1.66428523299294690222E-17, -1.32735612757620496568E-18, +6.24122437514304644794E-19, +1.12471123532438919306E-21 },
- { -1.3498980316300945272E-3, +4.43184841193800717687E-3, -6.64777261790701076574E-3, +5.90913121591734290293E-3, -3.32388630895350538287E-3, +1.10796210298450179421E-3, -1.10796210298450179595E-4, -8.44161602273906129349E-5, +4.35270826172482847927E-5, -6.30190085030867423515E-6, -1.9785037553294674925E-6, +1.05520200284238266374E-6, -1.13913852579575399458E-7, -4.81174572974454799623E-8, +1.78216871733806513653E-8, -5.85637697215219690327E-10, -9.29791350219350980904E-10, +1.96377023046901260016E-10, +1.58870373467897094393E-11, -1.22699105512396660364E-11, +1.08794270836433192571E-12, +3.99646995170699427940E-13, -1.01594404465456044793E-13, -3.33469605506835759271E-15, +4.46588935876766499879E-15, -4.08076707607833277747E-16, -1.17808602368979218862E-16, +2.76224909899945482352E-17, +1.09206599392049874162E-18, -1.03145418746203977253E-18, +6.79984672177279963209E-20, +2.55831283729070534712E-20 },
- { -3.16712418331199212695E-5, +1.33830225764885351832E-4, -2.67660451529770703664E-4, +3.34575564412213379613E-4, -2.89965489157251595673E-4, +1.8178605666396926958E-4, -8.25286392216793003064E-5, +2.55180251904870680833E-5, -3.91665839292075186649E-6, -7.40182052221464123606E-7, +6.44220233592652481453E-7, -1.73701553397390201613E-7, +9.09595464817154590424E-9, +9.44943118114780783705E-9, -3.29957075383376125942E-9, +2.94920746951281580686E-10, +1.18744773902482360274E-10, -4.42039585809856402486E-11, +3.61422484008923382324E-12, +1.43638335494248833511E-12, -4.58476794992724591068E-13, +2.23496663226445199624E-14, +1.57839046076890756440E-14, -3.67258220998453293248E-15, -1.69716269032291432153E-17, +1.43497778353923791279E-16, -2.14499365995613073838E-17, -1.93255135682867953692E-18, +1.01377499752128183701E-18, -7.55713215369572830154E-20, -2.25510650946079103289E-20, +5.26633993110171917109E-21 },
- { -2.86651571879193912033E-7, +1.48671951473429770924E-6, -3.7167987868357442731E-6, +5.9468780589371908374E-6, -6.81413110919886450076E-6, +5.92209940035828587496E-6, -4.02653201907205629582E-6, +2.17108246596119665457E-6, -9.25512396325170449452E-7, +3.03096091545533908077E-7, -6.92802772105295808398E-8, +6.69226396924248971087E-9, +2.46006252876483997508E-9, -1.41806830376639605249E-9, +3.44251040657349801884E-10, -2.6965166176434937652E-11, -1.16546962748761528049E-11, +4.91490145086991326748E-12, -7.55854519365765424197E-13, -4.53988828124843593484E-14, +4.71533558309731405623E-14, -9.17323049919073092370E-15, +4.35542982587998484108E-17, +3.71238868922011013332E-16, -7.90772907386322623053E-17, +1.58463483904927528072E-18, +2.61503941976309571331E-18, -5.40699423853895351239E-19, +6.61825040533797444037E-21, +1.68378440730394776550E-20, -3.01930850797704474581E-21, -3.80658085177617928332E-23 },
- { -9.8658764503769814198E-10, +6.07588284982328549581E-9, -1.82276485494698564874E-8, +3.54426499573024987263E-8, -5.01260335110421053478E-8, +5.48348427196551516061E-8, -4.81513715848495375522E-8, +3.47446467489597046263E-8, -2.08994095347716137282E-8, +1.0554987922587771203E-8, -4.4752674615729637229E-9, +1.57746505810079893253E-9, -4.49697115294871911476E-10, +9.63210042443717269402E-11, -1.16300711402336909847E-11, -1.31070037808191623761E-12, +1.16993345829435057496E-12, -3.40636420312606285351E-13, +5.23724821541706939045E-14, +3.93541148139975862961E-16, -2.59886413069218394637E-15, +7.24729556829529838503E-16, -8.51485747763574768020E-17, -7.86503719948806184368E-18, +5.35986191777031053618E-18, -9.84873767617830925356E-19, +2.93759678710573738811E-20, +2.85458592629073152182E-20, -7.12725445137377009753E-21, +5.25419393758902871947E-22, +1.24299023131490990316E-22, -4.04419210566489645405E-23 },
- { -1.27981254388583500631E-12, +9.1347204083645933588E-12, -3.19715214292760767584E-11, +7.30777632669167468738E-11, -1.22557498812224960902E-10, +1.60618833847077433236E-10, -1.71047639646627010648E-10, +1.51926349902927316213E-10, -1.14609023345779936276E-10, +7.43697341394886835864E-11, -4.18713451557949730558E-11, +2.05606050331840905587E-11, -8.82161466664564577599E-12, +3.30031395277698236679E-12, -1.06851205331295409813E-12, +2.94333808755089195146E-13, -6.64411715537625335642E-14, +1.11264855981436243262E-14, -8.52918435682649455145E-16, -2.38837813662069487819E-16, +1.23994634366691956599E-16, -3.05269770279941723219E-17, +4.34539596489459676621E-18, -5.55819387468189608390E-20, -1.56974672263484202926E-19, +4.60835492190702561464E-20, -6.61112150617493330405E-21, +7.28424268476803924831E-23, +2.09156005934313228089E-22, -5.29080328670107625978E-23, +5.61375000671507211726E-24, +3.82199410465700894394E-25 },
- { -6.22096057427178413283E-16, +5.05227108353689229741E-15, -2.02090843341475691883E-14, +5.30488463771373691202E-14, -1.02729512031916810045E-13, +1.56409892294496290711E-13, -1.94849254788406146283E-13, +2.04064637342166989709E-13, -1.83187931471980616892E-13, +1.42994099344605424348E-13, -9.8111907789286062426E-14, +5.96545975367403288587E-14, -3.23370114040930933005E-14, +1.56932853967230342257E-14, -6.83548101324218922896E-15, +2.67410077774155118457E-15, -9.38313996431647887562E-16, +2.94090734842381109313E-16, -8.16448235152204729921E-17, +1.9758222496699617607E-17, -4.03590262164308783690E-18, +6.43662361965717426956E-19, -5.93446415094778572090E-20, -6.07164564350191039536E-21, +4.38906686886388095825E-21, -1.17175498170220204828E-21, +1.98482140750318604418E-22, -1.70803571702439545981E-23, -1.94600332107885234554E-24, +1.10477141319981582738E-24, -2.31975718243847439962E-25, +2.54148402104633283670E-26 },
- { -1.12858840595384064928E-19, +1.02797735716689148111E-18, -4.62589810725101166456E-18, +1.37063647622252197466E-17, -3.0068337697131575822E-17, +5.2067053140503053517E-17, -7.40914680178037035E-17, +8.9062000172830588611E-17, -9.22563786210983011008E-17, +8.35975730487397716492E-17, -6.70372487553237232779E-17, +4.80088566412770650047E-17, -3.09280630297969106245E-17, +1.8026496052333452774E-17, -9.54924880090907168481E-18, +4.61362333444861021959E-18, -2.03812361224098073479E-18, +8.24578860830779678155E-19, -3.0572087552697254564E-19, +1.03827313453936543577E-19, -3.22407758977306397999E-20, +9.12052549039695437376E-21, -2.33541947993595580264E-21, +5.35339963891271164659E-22, -1.07674173853083520575E-22, +1.82413373046113374293E-23, -2.33864726317468746329E-24, +1.29928813344150027051E-25, +3.86668349205203745336E-26, -1.63203452712600670685E-26, +3.65165372186699607411E-27, -5.51243539825332137371E-28 },
- { -7.61985302416052609616E-24, +7.69459862670641937159E-23, -3.84729931335320968601E-22, +1.26960877340655919637E-21, -3.10990027829384449637E-21, +6.02935924057670511377E-21, -9.6342786971886625897E-21, +1.30454744197246721374E-20, -1.52745988785284834672E-20, +1.57034665186695273938E-20, -1.43457243961336621961E-20, +1.17567385540485497556E-20, -8.7104848256363928121E-21, +5.87137214731944288587E-21, -3.61951956727412561213E-21, +2.04954715001535632502E-21, -1.06982832733527370879E-21, +5.1628428354196120786E-22, -2.30885865897937993512E-22, +9.58556229281154921137E-23, -3.69911125531027884646E-23, +1.32784897023484841369E-23, -4.43433027366044567275E-24, +1.37688611947822111040E-24, -3.96971995397574368025E-25, +1.06008163579031271153E-25, -2.61149430849477426613E-26, +5.89698164189548613154E-27, -1.20793190886658723050E-27, +2.20446342551066852143E-28, -3.46061447029252398335E-29, +4.28913922246949096952E-30 }
-};
-
-static const double tab3 [8] = { +1, -1, +3, -15, +105, -945, +10395, -135135.0 };
-
-
-/*
- Calculated: oo
- 1 | -x/2
- gauss(z) = --------- | e dx
- sqrt(2pi) |
- z
-
- gauss ( 0) = 0.5
- gauss ( 1) ~ 0.1586
- gauss ( 2) ~ 0.02275
- gauss ( 4) ~ 3.17e-5
- gauss (10) ~ 7.62e-24
- gauss (oo) = 0
-
- Note: only for z>0
-*/
-#include <stdio.h>
-#include <math.h>
-
-#define M_1_SQRT2PI 0.398942280401432686
-
-static long double gauss ( double x )
-{
- unsigned int i = (unsigned int)(x + 0.5);
- double y = x * x;
-
- if ( i > 150 ) return 0.;
- if ( i > 10 ) return M_1_SQRT2PI * exp (-0.5*y) / x * __poly (1./y, 7, tab3);
- if ( i > 0 ) return -__poly ((x-i), 31, tab2 [i-1]);
- return 0.5 - x * __poly (y, 9, tab1);
- }
-
-double erf ( double x )
-{
- return x < 0. ? -0.5 + gauss(-x) : 0.5 - gauss(x);
-}
-
-double erfc ( double x )
-{
- return x < 0. ? 1.0 - gauss(-x) : gauss(x);
-}
-
diff --git a/mdk-stage1/dietlibc/libm/gamma.c b/mdk-stage1/dietlibc/libm/gamma.c
deleted file mode 100644
index d5f3e4275..000000000
--- a/mdk-stage1/dietlibc/libm/gamma.c
+++ /dev/null
@@ -1,98 +0,0 @@
-#include "dietlibm.h"
-
-/*--------------------------------------------------------------------------*
-
-Name gamma, lgamma - gamma function
-
-Usage double gamma (double x);
- double lgamma(double x);
- extern int signgam;
-
-Prototype in math.h
-
-Description gamma returns the logarithm of the absolute value of the
- gamma function. So it is possible (x) for very large x.
- The sign is stored in signgam, a extern variable
- overwritten during every call to gamma(). lgamma() is
- a synonym for gamma().
- You can calculate (x) by the following sequence:
-
- double gammafunction(double x)
- { double y=exp(gamma(x));
-
- return signgam ? -y : +y;
- }
-
-Return value gamma returns a value in range (-0.1208, +oo). For a input
- value of zero, it returns +oo and errno is set to:
-
- ERANGE Result out of range
-
-*---------------------------------------------------------------------------*/
-
-#include <stdlib.h>
-#include <math.h>
-
-#define B0 + 1.0l/ 6/ 1/ 2
-#define B1 - 1.0l/ 30/ 3/ 4
-#define B2 + 1.0l/ 42/ 5/ 6
-#define B3 - 1.0l/ 30/ 7/ 8
-#define B4 + 5.0l/ 66/ 9/10
-#define B5 - 691.0l/2730/11/12
-#define B6 + 7.0l/ 6/13/14
-#define B7 - 3617.0l/ 510/15/16
-#define B8 + 43867.0l/ 798/17/18
-#define B9 - 174611.0l/ 330/19/20
-#define B10 + 854513.0l/ 138/21/22
-#define B11 - 236364091.0l/2730/23/24
-#define B12 + 8553103.0l/ 6/25/26
-
-static const double coeff[] = { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 };
-int signgam;
-
-#define EXPL(x) (((short *)&x)[4] & 0x7FFF)
-
-static double logfact ( long double x )
-{
- long double z = 2. * M_PI * x;
- register int e = EXPL (x);
-
- static unsigned char list [] = { 6, 4, 3, 3, 2, 2 };
-
- return (log(x) - 1) * x + 0.5*log(z) + __poly (1./(x*x), e<0x4003 ? 10 : (e>0x4008 ? 1 : list [e-0x4003] ), coeff) / x;
-}
-
-
-double lgamma ( double x )
-{
- register int k = floor (x);
- long double w;
- long double y;
- long double z;
-
- signgam = 0;
-
- if ( k >= 7 )
- return logfact (x-1);
-
- if ( k == x )
- switch (k) {
- case 1 :
- case 2 : return 0.000000000000000000000000000l;
- case 3 : return 0.693147180559945309432805516l;
- case 4 : return 1.791759469228055000858148560l;
- case 5 : return 3.178053830347945619723759592l;
- case 6 : return 4.787491742782045994244981560l;
- default: return 1./0.; /* ignore the gcc warning, this is intentional */
- }
-
- z = logfact (y = x - k + 7.0 - 1);
- w = 1;
- for ( k = 7 - k; k--; )
- w *= y, y -= 1.;
-
- signgam = k >= 0 ? 0 : k & 1;
- return z - log (w);
-}
-
-double gamma ( double val ) __attribute__ ((weak,alias("lgamma")));
diff --git a/mdk-stage1/dietlibc/libm/ipow.c b/mdk-stage1/dietlibc/libm/ipow.c
deleted file mode 100644
index 399986ea1..000000000
--- a/mdk-stage1/dietlibc/libm/ipow.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#define _GNU_SOURCE
-#include <math.h>
-/*
- * This is not standard, but often you only need such this function
- * which is much shorter than the generic pow() function.
- *
- * double ipow ( double mant, int expo );
- */
-
-double ipow ( double mant, int expo )
-{
- double ret = 1.;
- unsigned int e = expo; /* Some attention is necessary for expo = 2^31 */
-
- if ( (int)e < 0 ) {
- e = -e;
- mant = 1./mant;
- }
-
- while (1) {
- if ( e & 1 )
- ret *= mant;
- if ( (e >>= 1) == 0 )
- break;
- mant *= mant;
- }
-
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libm/poly.c b/mdk-stage1/dietlibc/libm/poly.c
deleted file mode 100644
index cdcfb8c5c..000000000
--- a/mdk-stage1/dietlibc/libm/poly.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*--------------------------------------------------------------------------*
-
-Name __poly - generates a polynomial from arguments
-
-Usage double __poly ( double x, int n, const double* c );
-
-Prototype in math.h
-
-Description __poly generates a polynomial in x, of degree n, with
- coefficients c[0], c[1], ..., c[n]. For example, if n=4,
- the generated polynomial is
-
- c[4]*x^4 + c[3]*x^3 + c[2]*x^2 + c[1]*x + c[0]
-
- The polynomial is calculated using Horner's method:
-
- polynom = (..((x*c[n] + c[n-1])*x + c[n-2])..)*x + c[0]
-
-Return value __poly returns the value of the polynomial as evaluated for
- the given x.
- A range error occurs if the result exceeds double range.
-
-*---------------------------------------------------------------------------*/
-
-#include <stdio.h>
-#include "dietlibm.h"
-
-double __poly ( double x, size_t n, const double* c)
-{
- long double ret;
- size_t i;
-
- i = n;
- c += n;
- ret = 0;
- do
- ret = ret * x + *c--;
- while ( i-- );
-
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libm/pow.c b/mdk-stage1/dietlibc/libm/pow.c
deleted file mode 100644
index e0e5a2983..000000000
--- a/mdk-stage1/dietlibc/libm/pow.c
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#include <math.h>
-#include "dietlibm.h"
-
-double pow ( double mant, double expo )
-{
- unsigned int e;
- long double ret;
-
- /* special cases 0^x */
- if ( mant == 0. ) {
- if ( expo > 0. )
- return 0.;
- else if ( expo == 0. )
- return 1.;
- else
- return 1./mant;
- }
-
- /* special cases x^n with n is integer */
- if ( expo == (int) (e = (int) expo) ) {
-
- if ( (int)e < 0 ) {
- e = -e;
- mant = 1./mant;
- }
-
- ret = 1.;
-
- while (1) {
- if ( e & 1 )
- ret *= mant;
- if ( (e >>= 1) == 0 )
- break;
- mant *= mant;
- }
- return ret;
- }
-
- /* normal case */
- return exp2 ( log2 (mant) * expo );
-}
diff --git a/mdk-stage1/dietlibc/libm/rint.c b/mdk-stage1/dietlibc/libm/rint.c
deleted file mode 100644
index b6f0d8f85..000000000
--- a/mdk-stage1/dietlibc/libm/rint.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math.h>
-
-double rint(double x) {
- return floor(x+0.5);
-}
diff --git a/mdk-stage1/dietlibc/libm/sinh.c b/mdk-stage1/dietlibc/libm/sinh.c
deleted file mode 100644
index ae4542d25..000000000
--- a/mdk-stage1/dietlibc/libm/sinh.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-extern const float __half;
-
-double sinh ( double x )
-{
- long double y = exp (x);
- return (y - 1./y) * __half;
-}
diff --git a/mdk-stage1/dietlibc/libm/tanh.c b/mdk-stage1/dietlibc/libm/tanh.c
deleted file mode 100644
index 21dc3d0c0..000000000
--- a/mdk-stage1/dietlibc/libm/tanh.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-double tanh ( double x )
-{
- long double y = exp (x + x);
- return (y - 1.) / (y + 1.);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/CHANGES b/mdk-stage1/dietlibc/libpthread/CHANGES
deleted file mode 100644
index 63376623b..000000000
--- a/mdk-stage1/dietlibc/libpthread/CHANGES
+++ /dev/null
@@ -1,51 +0,0 @@
-This is the pthread implementation of dietlibc.
-Written from scratch by Olaf Dreesen.
-
-Mon Aug 6 15:46:39 MEST 2001
-
- Ups... did the wrong error handling... the error is returned not put to
- errno...
- probably thread_key is not SMP save...
-
-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 f2ab8d8dc..000000000
--- a/mdk-stage1/dietlibc/libpthread/Makefile
+++ /dev/null
@@ -1,140 +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 \
- \
- pthread_internal.o \
- pthread_key.o \
- \
- pthread_once.o pthread_spinlock.o \
- \
- pthread_create.o pthread_detach.o \
- pthread_join.o pthread_self.o \
- pthread_exit.o pthread_equal.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_fdatasync.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 ee85a572d..000000000
--- a/mdk-stage1/dietlibc/libpthread/README
+++ /dev/null
@@ -1,36 +0,0 @@
-LIBPTHREAD
-
- This is the pthread implementation of dietlibc.
- Written from scratch by Olaf Dreesen.
-
-1. STATUS: near complete and 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:
-
- it is a standard dietlibc helper lib...
-
-
-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 70ca9f162..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) ret=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 fbcefa3bd..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <string.h>
-#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 f5eab5816..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c
+++ /dev/null
@@ -1,17 +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;
- }
- return EINVAL;
-}
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 0b7a691e7..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c
+++ /dev/null
@@ -1,17 +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;
- }
- return EINVAL;
-}
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 a3e5a9b4a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c
+++ /dev/null
@@ -1,22 +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_FIFO))
- && ((param->sched_priority > 0) && (param->sched_priority < 100))) {
- attr->__schedparam.sched_priority=param->sched_priority;
- return 0;
- }
- return EINVAL;
-}
-
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 227d3f7ad..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c
+++ /dev/null
@@ -1,24 +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;
- }
- return ENOTSUP;
- }
- else
- return EINVAL;
-}
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 9be11ca2d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c
+++ /dev/null
@@ -1,17 +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)
- return ENOTSUP;
- else
- return EINVAL;
-}
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 1a0aae929..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c
+++ /dev/null
@@ -1,16 +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;
- }
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c b/mdk-stage1/dietlibc/libpthread/pthread_cancel.c
deleted file mode 100644
index c0ae60349..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c
+++ /dev/null
@@ -1,33 +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) {
- return ESRCH;
- }
- thread = __get_thread_struct(j);
-
- if (thread==0) {
- return ESRCH;
- }
-
- 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 776e0adfc..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c
+++ /dev/null
@@ -1,26 +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();
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
-
- for (tmp=cond->wait_chain;tmp;tmp=tmp->waitnext) {
- tmp->waitnext=0;
- tmp->waiting=0;
- }
- cond->wait_chain=0;
-
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_STOP;
- 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 b553b41df..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <string.h>
-#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) {
- return EBUSY;
- }
-
- 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 76dd5cb97..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <string.h>
-#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 02a3c028e..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c
+++ /dev/null
@@ -1,26 +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();
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
- if ((tmp=cond->wait_chain)) cond->wait_chain=tmp->waitnext;
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_STOP;
-
- 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 71d80bdb5..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c
+++ /dev/null
@@ -1,74 +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=0;
-
- __THREAD_INIT();
-
- this=__thread_self();
-
- /* put in wait-chain */
- __NO_ASYNC_CANCEL_BEGIN;
- __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));
- __NO_ASYNC_CANCEL_STOP;
-
- /* Aeh yeah / wait till cond-signal OR timeout */
- pthread_mutex_unlock(mutex);
- while (this->waiting) {
- struct timeval tv;
- gettimeofday(&tv,0);
- if ((abstime->tv_sec <= tv.tv_sec) && (abstime->tv_nsec <= (tv.tv_usec*1000))) {
- ret = 1;
- break;
- }
- __thread_wait_some_time();
- if (this->canceled) break; /* a cancel */
- }
- pthread_mutex_lock(mutex);
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
- if (this->waiting) { /* still waiting -> TIMEOUT or SIGNAL */
- _pthread_descr prev;
- /* remove from wait-chain */
- prev=cond->wait_chain;
- if ((prev=cond->wait_chain)==this) {
- cond->wait_chain=this->waitnext;
- } else {
- for (tmp=prev->waitnext;tmp;prev=tmp,tmp=prev->waitnext) {
- if (tmp==this) {
- prev->waitnext=this->waitnext;
- break;
- }
- }
- }
- this->waiting=0;
- this->waitnext=0;
- }
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_END;
-
- if (ret) return ETIMEDOUT;
-
- {
- register int err = (*__errno_location());
- if (err==EINTR) return err;
- }
- return 0;
-}
-
-
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 8db49e840..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c
+++ /dev/null
@@ -1,59 +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 */
- __NO_ASYNC_CANCEL_BEGIN;
- __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));
- __NO_ASYNC_CANCEL_STOP;
-
- /* Aeh yeah / wait till signal */
- pthread_mutex_unlock(mutex);
- while (this->waiting) {
- __thread_wait_some_time();
- if (this->canceled) break; /* we got a cancel signal */
- }
- pthread_mutex_lock(mutex);
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
- if (this->waiting) { /* still waiting -> SIGNAL */
- _pthread_descr prev;
- /* remove from wait-chain */
- prev=cond->wait_chain;
- if ((prev=cond->wait_chain)==this) {
- cond->wait_chain=this->waitnext;
- } else {
- for (tmp=prev->waitnext;tmp;prev=tmp,tmp=prev->waitnext) {
- if (tmp==this) {
- prev->waitnext=this->waitnext;
- break;
- }
- }
- }
- this->waiting=0;
- this->waitnext=0;
- }
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_END;
- 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 714c2bf4b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_create.c
+++ /dev/null
@@ -1,81 +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) {
- return EINVAL;
- }
-
- td = __thread_get_free();
-
- if (td) {
- td->go.__spinlock=PTHREAD_SPIN_LOCKED;
- if (!(attr)) {
- pthread_attr_init(&default_attr);
- attr=&default_attr;
- }
-
- if ((td->policy!=SCHED_OTHER)&&(td->priority==0)) {
- return EINVAL;
- }
-
- 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 (!(attr->__stackaddr)) {
- char *stack=(char*)malloc(td->stack_size);
- if (!(stack)) {
- return EINVAL;
- }
- td->stack_begin = stack;
-#ifdef __parisc__
- td->stack_addr = stack;
-#else
- td->stack_addr = stack+td->stack_size;
-#endif
- } else {
- td->stack_begin = 0;
- td->stack_addr = attr->__stackaddr;
- }
-
- ret = signal_manager_thread(td);
-
- if (ret>1)
- *thread=ret;
- else {
- ++td->exited; /* mark as exited */
- __thread_cleanup(td);
- if (ret<0) return (*(__errno_location()));
- return EAGAIN;
- }
- }
- else
- return EAGAIN;
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_detach.c b/mdk-stage1/dietlibc/libpthread/pthread_detach.c
deleted file mode 100644
index 2f72b97a7..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_detach.c
+++ /dev/null
@@ -1,29 +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) {
- return ESRCH;
- }
- thread = __get_thread_struct(j);
-
- if (thread->detached) {
- return EINVAL;
- }
-
- if (!thread->joined) {
- thread->detached=1;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_equal.c b/mdk-stage1/dietlibc/libpthread/pthread_equal.c
deleted file mode 100644
index d054d86ed..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_equal.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <pthread.h>
-
-int pthread_equal(pthread_t thread1, pthread_t thread2) { return (thread1==thread2); }
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_errno.c b/mdk-stage1/dietlibc/libpthread/pthread_errno.c
deleted file mode 100644
index d035544ad..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_errno.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int errno;
-
-#include "dietwarning.h"
-
-link_warning("errno","\e[1;33;41m>>> your multithreaded code uses errno! <<<\e[0m");
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_fdglue2.c b/mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c
deleted file mode 100644
index d73c84220..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <pthread.h>
-#include <errno.h>
-
-extern int __stdio_atexit;
-extern FILE* __stdio_init_file_nothreads(int fd,int closeonerror);
-
-FILE* __stdio_init_file(int fd,int closeonerror) {
- FILE *tmp=__stdio_init_file_nothreads(fd,closeonerror);
- if (tmp) pthread_mutex_init(&tmp->m,0);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c b/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c
deleted file mode 100644
index 34e79e0fe..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-
-int fgetc(FILE *stream) {
- int tmp;
- pthread_mutex_lock(&stream->m);
- tmp=fgetc_unlocked(stream);
- pthread_mutex_unlock(&stream->m);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c b/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c
deleted file mode 100644
index 72131ffb1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "dietstdio.h"
-
-void flockfile(FILE* f) {
- pthread_mutex_lock(&f->m);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_fputc.c b/mdk-stage1/dietlibc/libpthread/pthread_fputc.c
deleted file mode 100644
index 82344b107..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_fputc.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <dietstdio.h>
-
-int fputc(int c, FILE *stream) {
- int tmp;
- pthread_mutex_lock(&stream->m);
- tmp=fputc_unlocked(c,stream);
- pthread_mutex_unlock(&stream->m);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c b/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c
deleted file mode 100644
index beae058af..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "dietstdio.h"
-
-void funlockfile(FILE* f) {
- pthread_mutex_unlock(&f->m);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c
deleted file mode 100644
index aaaba4458..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_getschedparam(pthread_t target_thread, int *policy, struct sched_param *param)
-{
- int p;
- __THREAD_INIT();
-
- if (__find_thread_id(target_thread)<0) {
- return ESRCH;
- }
-
- if (((p=sched_getscheduler(target_thread))==-1)||
- (sched_getparam(target_thread,param) ==-1)) {
- return (*(__errno_location()));
- }
- *policy=p;
- return 0;
-}
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_internal.c b/mdk-stage1/dietlibc/libpthread/pthread_internal.c
deleted file mode 100644
index 7bb4e16cb..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_internal.c
+++ /dev/null
@@ -1,359 +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 = {PTHREAD_SPIN_UNLOCKED};
-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 = {PTHREAD_SPIN_UNLOCKED};
-static struct _pthread_fastlock __manager_thread_data_lock = {PTHREAD_SPIN_LOCKED};
-static struct _pthread_fastlock __manager_thread_data_go_lock = {PTHREAD_SPIN_LOCKED};
-
-//#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) {
- ret = threads+i;
- /* clear struct */
- memset(ret,0,sizeof(struct _pthread_descr_struct));
- ret->pid=1; /* mark as taken */
- 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/join a thread */
-int __thread_join(_pthread_descr th, void**return_value)
-{
- /* mark thread th as joined */
- if (__testandset(&(th->joined))) return EINVAL;
- /* wait for thread to exit */
- while(!th->exited) __thread_wait_some_time();
- /* put return value to caller */
- if (return_value) *return_value=th->retval;
- /* cleanup thread */
- if (th->stack_begin) free(th->stack_begin);
- th->joined=0;
- th->pid=0;
- return 0;
-}
-
-/* SIGHUP handler (thread cancel) 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);
-__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
- do {
- __thread_wait_some_time();
- if (td->canceled) return (void*)42;
- } while (__pthread_trylock(&td->go));
-
-#ifdef DEBUG
- printf("post 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
-
- /* 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) {
- ++threads[i].exited;
- if (threads[i].detached) {
- threads[i].joined=0;
- __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()<2) __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();
- __thread_wait_some_time();
- __pthread_unlock(&__manager_thread_data->go);
-#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);
-#ifdef __parisc__
- threads[1].stack_addr=__manager_thread_stack;
-#else
- threads[1].stack_addr=&__manager_thread_stack[sizeof(__manager_thread_stack)];
-#endif
- 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/pthread_join.c b/mdk-stage1/dietlibc/libpthread/pthread_join.c
deleted file mode 100644
index 39c076555..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_join.c
+++ /dev/null
@@ -1,39 +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) {
- return ESRCH;
- }
-
- thread = __get_thread_struct(j);
-
- /* error handling */
- if (thread==0) {
- return ESRCH;
- }
-
- if (this==thread) {
- return EDEADLK;
- }
-
- if (thread->detached || thread->joined) {
- return EINVAL;
- }
-
- return __thread_join(thread,thread_return);
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key.c b/mdk-stage1/dietlibc/libpthread/pthread_key.c
deleted file mode 100644
index 8a77f281a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key.c
+++ /dev/null
@@ -1,48 +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);
-void __thread_exit__key(int id);
-
-void __thread_start__key(int id)
-{
- int i;
-
- if (id<2) return;
-
- __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;
-
- if (id<2) return;
-
- __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/libpthread/pthread_key_create.c b/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
deleted file mode 100644
index 9718c695b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <string.h>
-#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(void*));
- *key=i;
- ret=0;
- break;
- }
- }
-
- __pthread_unlock(&__thread_keys_lock);
- __NO_ASYNC_CANCEL_END;
-
- if (ret) return EAGAIN;
- return 0;
-}
-
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 8f7fb577f..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_delete.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];
-int pthread_key_delete(pthread_key_t key)
-{
- __THREAD_INIT();
-
- if (key>=PTHREAD_KEYS_MAX) {
- return EINVAL;
- }
-
- __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 f5d66613c..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c
+++ /dev/null
@@ -1,15 +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==PTHREAD_SPIN_LOCKED)) {
- return EBUSY;
- }
- 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 65161d0ec..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-#include <string.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 0df2bcd8d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c
+++ /dev/null
@@ -1,32 +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) {
- if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP)
- return EDEADLK;
- if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) {
- ++(mutex->count);
- return 0;
- }
- }
-
- /* wait for mutex to free */
- __pthread_lock(&(mutex->lock));
- mutex->owner=this;
-
- 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 620d26150..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.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_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))) {
- return EBUSY;
- }
-
- mutex->owner=this;
- }
- else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP) {
- return EDEADLK;
- }
-
- 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 0c12282c1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c
+++ /dev/null
@@ -1,31 +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) {
- return EPERM;
- }
-
- 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 8b110fe5a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c
+++ /dev/null
@@ -1,17 +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;
- }
- return EINVAL;
-}
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 f832bef70..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c
+++ /dev/null
@@ -1,24 +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;
- }
-
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c b/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c
deleted file mode 100644
index f5669b70d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c
+++ /dev/null
@@ -1,24 +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;
- }
-
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c
deleted file mode 100644
index df007c408..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param *param)
-{
- __THREAD_INIT();
-
- if (__find_thread_id(target_thread)<0) {
- return ESRCH;
- }
-
- if (((policy == SCHED_OTHER) && (param->sched_priority==0)) ||
- (((policy == SCHED_RR) || (policy == SCHED_FIFO)) &&
- ((param->sched_priority > 0) && (param->sched_priority <100))))
- return sched_setscheduler(target_thread, policy, param);
-
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c b/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c
deleted file mode 100644
index b66ce31d0..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.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];
-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;
- }
- return EINVAL;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c b/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c
deleted file mode 100644
index 691e9e51a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-
-#include <pthread.h>
-
-int pthread_sigmask(int how, const sigset_t*newset, sigset_t *oldset) {
- return (sigprocmask(how,newset,oldset)==-1)?(*(__errno_location())):0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c b/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c
deleted file mode 100644
index 463c186bd..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <time.h>
-#include <pthread.h>
-#include "thread_internal.h"
-
-void __pthread_lock(struct _pthread_fastlock * lock)
-{
- int cnt = 0;
- struct timespec tm;
-
- while (__testandset(&lock->__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;
- }
- }
-}
-
-int __pthread_trylock(struct _pthread_fastlock * lock)
-{
- return __testandset(&lock->__spinlock);
-}
-
-int __pthread_unlock(struct _pthread_fastlock * lock)
-{
- lock->__spinlock = PTHREAD_SPIN_UNLOCKED;
- return 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 9fd4bcd95..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#include <stdlib.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;
-}
-
-void* realloc(void* ptr, size_t size) {
- register void *ret;
- __NO_ASYNC_CANCEL_BEGIN;
- pthread_mutex_lock(&mutex_alloc);
- ret=__libc_realloc(ptr, 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 c7c3fb884..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int fcntl(int fd, int cmd, void *arg);
-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_fdatasync.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c
deleted file mode 100644
index 69857c7b3..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int fdatasync(int fd)
-{
- __TEST_CANCEL();
- return __libc_fdatasync(fd);
-}
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 f9f93dce2..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <unistd.h>
-#include <stdarg.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#include <syslog.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 8d9fb5523..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int __pthread_open(const char *pathname, int flags, mode_t mode);
-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 d5d94978b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#include <termios.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 e5020221a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#include <sys/wait.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 4151faca3..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 && 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.h b/mdk-stage1/dietlibc/libpthread/thread_internal.h
deleted file mode 100644
index 7843fb59d..000000000
--- a/mdk-stage1/dietlibc/libpthread/thread_internal.h
+++ /dev/null
@@ -1,134 +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
-
-#undef errno
-
-/* cleanup */
-#define PTHREAD_MAX_CLEANUP 8
-struct thread_cleanup_t {
- void (*func)(void*);
- void *arg;
-};
-
-/* the thread descriptor / internal */
-struct _pthread_descr_struct {
- /* 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 exited; /* Process is dead */
-
- 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 joined; /* flag other thread has joined */
- 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 go;
-
- /* 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(void);
-_pthread_descr __thread_self(void);
-
-int __thread_join(_pthread_descr join, void **return_value);
-#define __thread_cleanup(th) (void)__thread_join((th),0)
-
-void __thread_wait_some_time(void);
-
-#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(void);
-#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_realloc(void* ptr, 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_fdatasync(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/libregex/rx.c b/mdk-stage1/dietlibc/libregex/rx.c
deleted file mode 100644
index 9bab3e22c..000000000
--- a/mdk-stage1/dietlibc/libregex/rx.c
+++ /dev/null
@@ -1,494 +0,0 @@
-#define NDEBUG
-#include <regex.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <string.h>
-#include <assert.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 { ILLEGAL, 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(struct bracketed));
-}
-
-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?tolower(*t):*t);
- if (t[1]=='-' && t[2]!=']') {
- for (i=*t+1; i<=t[2]; ++i) setcc(b->cc,rx->cflags&REG_ICASE?tolower(i):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 unsigned char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct atom* a=(struct atom*)x;
- int matchlen=0;
- assert(a->type!=ILLEGAL);
- switch (a->type) {
- case EMPTY:
-#ifdef DEBUG
- printf("matching atom EMPTY against \"%s\"\n",s);
- printf("a->bnum is %d\n",a->bnum);
-#endif
- if (a->bnum>=0) preg->l[a->bnum].rm_so=preg->l[a->bnum].rm_eo=ofs;
- goto match;
- case REGEX:
-#ifdef DEBUG
- printf("matching atom REGEX against \"%s\"\n",s);
- printf("a->bnum is %d\n",a->bnum);
-#endif
- if ((matchlen=a->u.r.m(&a->u.r,s,ofs,preg,0,eflags))>=0) {
- assert(a->bnum>=0);
- preg->l[a->bnum].rm_so=ofs;
- preg->l[a->bnum].rm_eo=ofs+matchlen;
- goto match;
- }
- break;
- case BRACKET:
-#ifdef DEBUG
- printf("matching atom BRACKET against \"%s\"\n",s);
-#endif
- 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:
-#ifdef DEBUG
- printf("matching atom ANY against \"%s\"\n",s);
-#endif
- if (*s=='\n' && (preg->cflags&REG_NEWLINE)) break;
- matchlen=1;
- if (*s) goto match;
- break;
- case LINESTART:
-#ifdef DEBUG
- printf("matching atom LINESTART against \"%s\"\n",s);
-#endif
- if (ofs==0 && (eflags&REG_NOTBOL)==0) {
- goto match;
- }
- break;
- case LINEEND:
-#ifdef DEBUG
- printf("matching atom LINEEND against \"%s\"\n",s);
-#endif
- if ((*s && *s!='\n') || (eflags&REG_NOTEOL)) break;
- goto match;
- case WORDSTART:
-#ifdef DEBUG
- printf("matching atom WORDSTART against \"%s\"\n",s);
-#endif
- if ((ofs==0 || !isalnum(s[-1])) && isalnum(*s))
- goto match;
- break;
- case WORDEND:
-#ifdef DEBUG
- printf("matching atom WORDEND against \"%s\"\n",s);
-#endif
- if (ofs>0 && isalnum(s[-1]) && !isalnum(*s))
- goto match;
- break;
- case CHAR:
-#ifdef DEBUG
- printf("matching atom CHAR %c against \"%s\"\n",a->u.c,s);
-#endif
- 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=(matcher)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?tolower(*s):*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=0,num=0;
- unsigned int *offsets;
- assert(a->max>0 && a->max<1000);
-#ifdef DEBUG
- printf("alloca(%d)\n",sizeof(int)*a->max);
-#endif
- offsets=alloca(sizeof(int)*a->max);
- offsets[0]=0;
-// printf("allocating %d offsets...\n",a->max);
-// 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;
-// printf("setting offsets[%d] to %d\n",num,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 (;num>=0;) {
- 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 */
-// printf("using offsets[%d] (%d)\n",num,offsets[num]);
- 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;
-#ifdef DEBUG
- printf("%08p matching branch against \"%s\"\n",a,s);
- printf("%p %p\n",&a->p->m,a->p->m);
-#endif
- assert(a->p->m==matchpiece);
- 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; /* the gcc warning here is bogus */
- 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;
- }
-// printf("b->p from %p to ",b->p);
- if (!(b->p=realloc(b->p,++b->num*sizeof(p)))) return s;
-// printf("%p (size %d)\n",b->p,b->num*sizeof(p));
- b->p[b->num-1]=p;
- if (*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;
-#ifdef DEBUG
- printf("%08p matching regex against \"%s\"\n",a,s);
-#endif
- for (i=0; i<a->num; ++i) {
- assert(a->b[i].m==matchbranch);
- 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;
- p->brackets=0;
- for (;;) {
- tmp=parsebranch(&b,s,p,&r->pieces);
- if (tmp==s) return s;
-// printf("r->b from %p to ",r->b);
- if (!(r->b=realloc(r->b,++r->num*sizeof(b)))) return s;
-// printf("%p (size %d)\n",r->b,r->num*sizeof(b));
- r->b[r->num-1]=b;
- s=tmp; if (*s=='|') ++s;
- }
- 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,0);
-}
-
-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) {
- if (b->p[i+1].min==1 && b->p[i+1].max==1)
- piece_putnext(&b->p[i],&b->p[i+1].a);
- else
- 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;
- preg->cflags=cflags;
- t=parseregex(&preg->r,regex,preg);
- if (t==regex) return -1;
- regex_putnext(&preg->r,0);
- 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;
- assert(preg->brackets+1>0 && preg->brackets<1000);
-#ifdef DEBUG
- printf("alloca(%d)\n",sizeof(regmatch_t)*(preg->brackets+3));
-#endif
- ((regex_t*)preg)->l=alloca(sizeof(regmatch_t)*(preg->brackets+3));
- while (*string) {
- matched=preg->r.m((void*)&preg->r,string,string-orig,(regex_t*)preg,0,eflags);
-// printf("ebp on stack = %x\n",stack[1]);
- if (matched>=0) {
- preg->l[0].rm_so=string-orig;
- preg->l[0].rm_eo=string-orig+matched;
- if ((preg->cflags&REG_NOSUB)==0) memcpy(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 59124bae4..000000000
--- a/mdk-stage1/dietlibc/librpc/auth_none.c
+++ /dev/null
@@ -1,126 +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
-
-static void authnone_verf();
-static bool_t authnone_validate();
-static bool_t authnone_refresh();
-static void authnone_destroy();
-static bool_t authnone_marshal(AUTH *client, XDR *xdrs);
-
-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];
- unsigned 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,
- (unsigned 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 59eb6ff18..000000000
--- a/mdk-stage1/dietlibc/librpc/auth_unix.c
+++ /dev/null
@@ -1,314 +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 */
- unsigned long au_shfaults; /* short hand cache faults */
- char au_marshed[MAX_AUTH_BYTES];
- unsigned 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 = (char*) 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 = (unsigned 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((unsigned int) len);
-#else
- if ((au->au_origcred.oa_base = mem_alloc((unsigned int) len)) == NULL) {
- (void) fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- memmove(au->au_origcred.oa_base, mymem, (unsigned 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((char*) 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 53897a364..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, (char* *) & (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 1131cc263..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>
-#include "dietfeatures.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;
- int i;
-
-#define STARTPORT 600
-#define ENDPORT (IPPORT_RESERVED - 1)
-#define NPORTS (ENDPORT - STARTPORT + 1)
-
- if (sin == (struct sockaddr_in *) 0) {
- sin = &myaddr;
- memset(sin,0,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 5c0b96af9..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 unsigned long prog,
- const unsigned 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__
- memset((char*)&sin,0,sizeof(sin));
-#endif
- sin.sin_family = h->h_addrtype;
- sin.sin_port = 0;
-#ifndef __linux__
- memset(sin.sin_zero,0,sizeof(sin.sin_zero));
-#endif
- memmove((char *) &sin.sin_addr, h->h_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 52ab64421..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_raw.c
+++ /dev/null
@@ -1,229 +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];
- unsigned 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
-};
-
-/*
- * Create a client handle for memory based rpc.
- */
-CLIENT *clntraw_create(prog, vers)
-unsigned long prog;
-unsigned 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;
-unsigned long proc;
-xdrproc_t xargs;
-char* argsp;
-xdrproc_t xresults;
-char* 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;
-char* 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 e1f4c5f6c..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 unsigned long prognum,
- const unsigned long versnum, const unsigned 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;
- memmove((char *) &server_addr.sin_addr, hp->h_addr, hp->h_length);
- server_addr.sin_family = AF_INET;
- server_addr.sin_port = 0;
- if ((crp->client = clntudp_create(&server_addr, (unsigned long) prognum,
- (unsigned 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 f2ebed677..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_tcp.c
+++ /dev/null
@@ -1,464 +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>
-#include "dietfeatures.h"
-
-#define MCALL_MSG_SIZE 24
-
-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 */
- unsigned 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;
-unsigned long prog;
-unsigned long vers;
-register int *sockp;
-unsigned int sendsz;
-unsigned 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) {
- unsigned short port;
-
- if ((port = pmap_getport(raddr, prog, vers, IPPROTO_TCP)) == 0) {
- mem_free((char*) ct, sizeof(struct ct_data));
-
- mem_free((char*) 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;
- if (*sockp >= 0)
- (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,
- (char*) ct, readtcp, writetcp);
- h->cl_ops = &tcp_ops;
- h->cl_private = (char*) ct;
- h->cl_auth = authnone_create();
- return (h);
-
- fooy:
- /*
- * Something goofed, free stuff and barf
- */
- mem_free((char*) ct, sizeof(struct ct_data));
-
- mem_free((char*) 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;
-unsigned long proc;
-xdrproc_t xdr_args;
-char* args_ptr;
-xdrproc_t xdr_results;
-char* 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;
- unsigned long x_id;
- uint32_t *msg_x_id = (uint32_t *) (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 ((uint32_t)reply_msg.rm_xid == (uint32_t)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;
-char* 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((char*) ct, sizeof(struct ct_data));
-
- mem_free((char*) 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;
-char* 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;
-char* 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 962718269..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_udp.c
+++ /dev/null
@@ -1,438 +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>
-#include "dietfeatures.h"
-
-/*
- * 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;
- unsigned int cu_xdrpos;
- unsigned int cu_sendsz;
- char *cu_outbuf;
- unsigned 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;
-unsigned long program;
-unsigned long version;
-struct timeval wait;
-register int *sockp;
-unsigned int sendsz;
-unsigned 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) {
- unsigned 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 = (char*) 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((char*) cu, sizeof(*cu) + sendsz + recvsz);
- if (cl)
- mem_free((char*) cl, sizeof(CLIENT));
- return ((CLIENT *) NULL);
-}
-
-CLIENT *clntudp_create(raddr, program, version, wait, sockp)
-struct sockaddr_in *raddr;
-unsigned long program;
-unsigned 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 */
-unsigned long proc; /* procedure number */
-xdrproc_t xargs; /* xdr routine for args */
-char* argsp; /* pointer to args */
-xdrproc_t xresults; /* xdr routine for results */
-char* 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
- */
- (*(uint32_t *) (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 < 4)
- continue;
- /* see if reply transaction id matches sent id */
- if (*((uint32_t *) (cu->cu_inbuf)) != *((uint32_t *) (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, (unsigned 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;
-char* 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((char*) cu, (sizeof(*cu) + cu->cu_sendsz + cu->cu_recvsz));
- mem_free((char*) 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 1ce2c2b32..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;
- memmove((char *) &addr->sin_addr, (char *) hp->h_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 71774a2eb..000000000
--- a/mdk-stage1/dietlibc/librpc/getrpcent.c
+++ /dev/null
@@ -1,273 +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>
-#include <arpa/inet.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(const char* val, size_t len);
-
-#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, size_t len)
-{
- register struct rpcdata *d = _rpcdata();
- char *p;
- register char *cp, **q;
-
- if (d == 0)
- return 0;
- strncpy(d->line, val, (size_t)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 7b6e50a7d..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, unsigned long prognum,
- unsigned long versnum, unsigned int proto)
-{
- struct sockaddr_in addr;
- struct hostent *hp;
-
- if ((hp = gethostbyname(host)) == NULL)
- return (0);
- memmove((char *) &addr.sin_addr, hp->h_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 9dbf3f624..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_clnt.c
+++ /dev/null
@@ -1,115 +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 };
-
-/*
- * 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)
-unsigned long program;
-unsigned long version;
-int protocol;
-unsigned 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, (char*)&parms, (xdrproc_t)xdr_bool, (void*)&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)
-unsigned long program;
-unsigned 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, (char*)&parms, (xdrproc_t)xdr_bool, (void*)&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 de51a733a..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_getmaps.c
+++ /dev/null
@@ -1,84 +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 <netinet/in.h>
-//#include <net/if.h>
-#include <sys/ioctl.h>
-#define NAMELEN 255
-#define MAX_BROADCAST_SIZE 1400
-#include <unistd.h>
-
-/*
- * 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,
- (char*)&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 f26cb7621..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_getport.c
+++ /dev/null
@@ -1,94 +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.
- */
-unsigned short pmap_getport(address, program, version, protocol)
-struct sockaddr_in *address;
-unsigned long program;
-unsigned long version;
-unsigned int protocol;
-{
- unsigned short port = 0;
- int socket = -1;
- register CLIENT *client;
- struct pmap parms;
-
- address->sin_port = htons((unsigned short)PMAPPORT);
- if (protocol == IPPROTO_TCP)
- client = clnttcp_create(address, PMAPPROG, PMAPVERS, &socket,
- RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
- else
- 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, (char*)&parms,
- (xdrproc_t)xdr_u_short, (char*)&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 cd2deb036..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, (char* *) rp,
- (unsigned 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 390bd736e..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_rmt.c
+++ /dev/null
@@ -1,402 +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>
-#include <netinet/in.h>
-#define MAX_BROADCAST_SIZE 1400
-#include <unistd.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-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 (struct sockaddr_in *addr,
- const unsigned long prog,
- const unsigned long vers,
- const unsigned long proc,
- xdrproc_t xdrargs,
- char* argsp, xdrproc_t xdrres,
- char* resp, struct timeval tout,
- unsigned long *port_ptr) {
- int socket = -1;
- register CLIENT *client;
- struct rmtcallargs a;
- struct rmtcallres r;
- enum clnt_stat stat;
-
- addr->sin_port = htons((short)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, (char*)&a,
- (xdrproc_t)xdr_rmtcallres, (char*)&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)
-{
- unsigned 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 = (unsigned long) position - (unsigned 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)
-{
- char* port_ptr;
-
- port_ptr = (char*) crp->port_ptr;
- if (xdr_reference(xdrs, &port_ptr, sizeof(unsigned long),
- (xdrproc_t)xdr_u_long) && xdr_u_long(xdrs, &crp->resultslen)) {
- crp->port_ptr = (unsigned 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)
-unsigned long prog; /* program number */
-unsigned long vers; /* version number */
-unsigned long proc; /* procedure number */
-xdrproc_t xargs; /* xdr routine for args */
-char* argsp; /* pointer to args */
-xdrproc_t xresults; /* xdr routine for results */
-char* 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 unsigned long xid;
- unsigned 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);
- memset((char*)&baddr,0,sizeof(baddr));
- baddr.sin_family = AF_INET;
- baddr.sin_port = htons((short)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, (size_t)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 = (char*) & 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 ((size_t)inlen < sizeof(unsigned long))
- goto recv_again;
- /*
- * see if reply transaction id matches sent id.
- * If so, decode the results.
- */
- xdrmem_create(xdrs, inbuf, (unsigned 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((unsigned 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 a3514f41c..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) {
- memmove((char*) buf, oa->oa_base, 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) {
- memmove((char*) buf, oa->oa_base, 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 = (char*)
- 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 {
- memmove(oa->oa_base, (char*) buf, 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 = (char*)
- 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 {
- memmove(oa->oa_base, (char*) buf, 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 d5ca5ab77..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, (char*) 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),
- (char*) & (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 b430deb4a..000000000
--- a/mdk-stage1/dietlibc/librpc/svc.c
+++ /dev/null
@@ -1,478 +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>
-#include <string.h>
-#ifdef __linux__
-#include <sys/types.h>
-#endif
-
-#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;
- unsigned long sc_prog;
- unsigned 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;
-unsigned long prog;
-unsigned 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)
-unsigned long prog;
-unsigned 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, (unsigned 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)
-unsigned long prog;
-unsigned 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;
-char* 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;
-unsigned long low_vers;
-unsigned 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;
- unsigned long low_vers;
- unsigned long high_vers;
- struct svc_req r;
- register SVCXPRT *xprt;
- register unsigned long mask;
- register int bit;
- register unsigned 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 = (unsigned long *) readfds;
-#else
- maskp = (unsigned 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 e81eba7d9..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;
- unsigned 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 = (unsigned 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;
- }
- memmove(aup->aup_machname, (char*) buf, (unsigned 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 eebb433ee..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_raw.c
+++ /dev/null
@@ -1,161 +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;
-char* 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;
-char* 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 506b37942..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>
-#include "dietfeatures.h"
-
-void svc_run()
-{
-#ifdef FD_SETSIZE
- fd_set readfds;
-#else
- int readfds;
-#endif /* def FD_SETSIZE */
-
- 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 d2310de1e..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((unsigned long) prognum, (unsigned long) versnum);
- if (!svc_register(transp, (unsigned long) prognum, (unsigned 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 */
- memset(xdrbuf, 0, 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 0444bc0d0..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_tcp.c
+++ /dev/null
@@ -1,410 +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>
-#include "dietfeatures.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;
-
-/*
- * 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 */
- unsigned int sendsize;
- unsigned int recvsize;
-};
-
-struct tcp_conn { /* kept in xprt->xp_p1 */
- enum xprt_stat strm_stat;
- unsigned 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;
-unsigned int sendsize;
-unsigned 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;
- }
- memset((char *) &addr, 0, 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 = (char*) 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;
-unsigned int sendsize;
-unsigned int recvsize;
-{
-
- return (makefd_xprt(fd, sendsize, recvsize));
-}
-
-static SVCXPRT *makefd_xprt(fd, sendsize, recvsize)
-int fd;
-unsigned int sendsize;
-unsigned 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,
- (char*) xprt, readtcp, writetcp);
- xprt->xp_p2 = NULL;
- xprt->xp_p1 = (char*) 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((char*) cd, sizeof(struct tcp_conn));
-
- mem_free((char*) 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;
-char* 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;
-char* 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;
-char* 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;
-char* 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);
-}
-
-static struct xp_ops svctcp_op = {
- svctcp_recv,
- svctcp_stat,
- svctcp_getargs,
- svctcp_reply,
- svctcp_freeargs,
- svctcp_destroy
-};
-
diff --git a/mdk-stage1/dietlibc/librpc/svc_udp.c b/mdk-stage1/dietlibc/librpc/svc_udp.c
deleted file mode 100644
index af22f289f..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>
-#include "dietfeatures.h"
-
-#define rpc_buffer(xprt) ((xprt)->xp_p1)
-
-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;
-
-/*
- * kept in xprt->xp_p2
- */
-struct svcudp_data {
- unsigned int su_iosz; /* byte size of send.recv buffer */
- unsigned 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, unsigned long* replylenp);
-static void cache_set(SVCXPRT* xprt, unsigned 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;
-unsigned 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;
- }
- memset((char *) &addr, 0, 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 = (char*) 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;
- unsigned 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(unsigned 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, (unsigned long) slen);
- }
- }
- }
- return (stat);
-}
-
-static bool_t svcudp_getargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-char* 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;
-char* 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((char*) su, sizeof(struct svcudp_data));
-
- mem_free((char*) 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) \
- memset((char *) addr, 0, 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
- */
- unsigned long cache_xid;
- unsigned long cache_proc;
- unsigned long cache_vers;
- unsigned long cache_prog;
- struct sockaddr_in cache_addr;
- /*
- * The cached reply and length
- */
- char *cache_reply;
- unsigned long cache_replylen;
- /*
- * Next node on the list, if there is a collision
- */
- cache_ptr cache_next;
-};
-
-
-
-/*
- * The entire cache
- */
-struct udp_cache {
- unsigned 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 */
- unsigned long uc_nextvictim; /* points to next victim in fifo list */
- unsigned long uc_prog; /* saved program number */
- unsigned long uc_vers; /* saved version number */
- unsigned 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, unsigned 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, unsigned 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;
- unsigned 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, unsigned long* replylenp)
-{
- unsigned 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) (memcmp((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);
-}
-
-static struct xp_ops svcudp_op = {
- svcudp_recv,
- svcudp_stat,
- svcudp_getargs,
- svcudp_reply,
- svcudp_freeargs,
- svcudp_destroy
-};
-
diff --git a/mdk-stage1/dietlibc/librpc/xdr.c b/mdk-stage1/dietlibc/librpc/xdr.c
deleted file mode 100644
index 8849dde7a..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr.c
+++ /dev/null
@@ -1,576 +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 ((unsigned 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; */
- /* char* addr; */
-{
-
- return (TRUE);
-}
-
-/*
- * XDR integers
- */
-bool_t xdr_int(XDR* xdrs, int* ip)
-{
- if (sizeof(int) == sizeof(long)) {
- return (xdr_long(xdrs, (long *) ip));
- } else if (sizeof(int) < sizeof(long)) {
- long l;
- switch (xdrs->x_op) {
- case XDR_ENCODE:
- l = (long) *ip;
- return XDR_PUTLONG(xdrs, &l);
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l))
- return FALSE;
- *ip = (int) l;
- case XDR_FREE:
- return TRUE;
- }
- return FALSE;
- } else {
- return (xdr_short(xdrs, (short *) ip));
- }
-}
-
-/*
- * XDR unsigned integers
- */
-bool_t xdr_u_int(XDR* xdrs, unsigned int* up)
-{
- if (sizeof(unsigned int) == sizeof(unsigned long)) {
- return (xdr_u_long(xdrs, (unsigned long *) up));
- } else if (sizeof(unsigned int) < sizeof(unsigned long)) {
- unsigned long l;
- switch (xdrs->x_op) {
- case XDR_ENCODE:
- l = (unsigned long) *up;
- return XDR_PUTLONG(xdrs, &l);
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l))
- return FALSE;
- *up = (unsigned int) l;
- case XDR_FREE:
- return TRUE;
- }
- return FALSE;
- } else {
- return (xdr_short(xdrs, (short *) up));
- }
-}
-
-/*
- * 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
- && (sizeof(int32_t) == sizeof(long)
- || (int32_t) *lp == *lp))
- 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) {
- long l;
- if (XDR_GETLONG(xdrs, &l) == FALSE)
- return FALSE;
- *ulp = (uint32_t) l;
- return TRUE;
- }
-
- if (xdrs->x_op == XDR_ENCODE) {
- if (sizeof(uint32_t) != sizeof(unsigned long)
- && (uint32_t) *ulp != *ulp)
- return FALSE;
-
- 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)
-{
- unsigned long l;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- l = (unsigned long) * usp;
- return (XDR_PUTLONG(xdrs, &l));
-
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l)) {
- return (FALSE);
- }
- *usp = (unsigned 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)
-{
- unsigned 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;
-{
- 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(int)) {
- long l;
- switch (xdrs->x_op) {
- case XDR_ENCODE:
- l = *ep;
- return XDR_PUTLONG(xdrs, &l);
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l))
- return FALSE;
- *ep = l;
- case XDR_FREE:
- return TRUE;
- }
- return FALSE;
- } else if (sizeof(enum sizecheck) == sizeof(short)) {
- return (xdr_short(xdrs, (short *) ep));
- } else {
- return (FALSE);
- }
-}
-
-/*
- * 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;
-char* cp;
-register unsigned int cnt;
-{
- register unsigned 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 unsigned int *sizep;
-unsigned int maxsize;
-{
- register char *sp = *cpp; /* sp is the actual string pointer */
- register unsigned 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;
-unsigned int maxsize;
-{
- register char *sp = *cpp; /* sp is the actual string pointer */
- unsigned int size;
- unsigned 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 f0c9bbbb3..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_array.c
+++ /dev/null
@@ -1,162 +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 ((unsigned 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;
-char* *addrp; /* array pointer */
-unsigned int *sizep; /* number of elements */
-unsigned int maxsize; /* max numberof elements */
-unsigned int elsize; /* size in bytes of each element */
-xdrproc_t elproc; /* xdr routine to handle each element */
-{
- register unsigned int i;
- register char* target = *addrp;
- register unsigned int c; /* the actual element count */
- register bool_t stat = TRUE;
- register unsigned 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);
- }
- /* duh, look for integer overflow (fefe) */
- {
- unsigned int i;
- nodesize = 0;
- for (i=c; i; --i) {
- unsigned int tmp=nodesize+elsize;
- if (tmp<nodesize) /* overflow */
- return FALSE;
- nodesize=tmp;
- }
- }
-
- /*
- * 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);
- }
- memset(target, 0, 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 unsigned int nelem;
-register unsigned int elemsize;
-register xdrproc_t xdr_elem;
-{
- register unsigned 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 c21121183..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_mem.c
+++ /dev/null
@@ -1,166 +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>
-#include <limits.h>
-
-static bool_t xdrmem_getlong (XDR *, long *);
-static bool_t xdrmem_putlong (XDR *, const long *);
-static bool_t xdrmem_getbytes (XDR *, char *, unsigned int);
-static bool_t xdrmem_putbytes (XDR *, const char *, unsigned int);
-static unsigned int xdrmem_getpos (const XDR *);
-static bool_t xdrmem_setpos (XDR *, unsigned int);
-static int32_t *xdrmem_inline (XDR *, unsigned int);
-static void xdrmem_destroy (XDR *);
-
-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 (XDR *xdrs, const char* addr, unsigned int size, enum xdr_op op)
-{
- xdrs->x_op = op;
- xdrs->x_ops = &xdrmem_ops;
- xdrs->x_private = xdrs->x_base = (char*)addr;
- xdrs->x_handy = size;
-}
-
-static void
-xdrmem_destroy (XDR *xdrs)
-{
-}
-
-static bool_t
-xdrmem_getlong (XDR *xdrs, long *lp)
-{
- if (xdrs->x_handy < 4) return FALSE;
- xdrs->x_handy -= 4;
-
- *lp = (int32_t) ntohl((*((int32_t *) (xdrs->x_private))));
- xdrs->x_private += 4;
- return TRUE;
-}
-
-static bool_t
-xdrmem_putlong (XDR *xdrs, const long *lp)
-{
- if (xdrs->x_handy < 4) return FALSE;
- xdrs->x_handy -= 4;
-
- *(int32_t *) xdrs->x_private = htonl(*lp);
- xdrs->x_private += 4;
- return (TRUE);
-}
-
-static bool_t
-xdrmem_getbytes (XDR *xdrs, char *addr, unsigned int len)
-{
- if (xdrs->x_handy < len) return FALSE;
- xdrs->x_handy -= len;
- memmove(addr, xdrs->x_private, len);
- xdrs->x_private += len;
- return TRUE;
-}
-
-static bool_t
-xdrmem_putbytes (XDR *xdrs, const char *addr, unsigned int len)
-{
- if (xdrs->x_handy < len) return FALSE;
- xdrs->x_handy -= len;
- memmove(xdrs->x_private, addr, len);
- xdrs->x_private += len;
- return (TRUE);
-}
-
-static unsigned int
-xdrmem_getpos (const XDR *xdrs)
-{
- return ((unsigned long) xdrs->x_private - (unsigned long) xdrs->x_base);
-}
-
-static bool_t xdrmem_setpos(xdrs, pos)
-register XDR *xdrs;
-unsigned int pos;
-{
- register char* newaddr = xdrs->x_base + pos;
- register char* lastaddr = xdrs->x_private + xdrs->x_handy;
-
- if ((long) newaddr > (long) lastaddr
- || (UINT_MAX < LONG_MAX
- && (long) UINT_MAX < (long) lastaddr - (long) newaddr))
- return (FALSE);
- xdrs->x_private = newaddr;
- xdrs->x_handy = (long) lastaddr - (long) newaddr;
- return (TRUE);
-}
-
-static int32_t *
-xdrmem_inline (XDR *xdrs, unsigned 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 ab0b6fd8d..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_rec.c
+++ /dev/null
@@ -1,572 +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(unsigned 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>
-#include <unistd.h>
-
-static unsigned int fix_buf_size (unsigned int);
-
-static bool_t xdrrec_getlong (XDR *, long *);
-static bool_t xdrrec_putlong (XDR *, const long *);
-static bool_t xdrrec_getbytes (XDR *, char *, unsigned int);
-static bool_t xdrrec_putbytes (XDR *, const char *, unsigned int);
-static unsigned int xdrrec_getpos (const XDR *);
-static bool_t xdrrec_setpos (XDR *, unsigned int);
-static int32_t *xdrrec_inline (XDR *, unsigned int);
-static void xdrrec_destroy (XDR *);
-
-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 ((unsigned long)(1 << 31))
-
-typedef struct rec_strm {
- char* tcp_handle;
- char* the_buffer;
- /*
- * out-goung bits
- */
- int (*writeit) (char *, char *, int);
- char* out_base; /* output buffer (points to frag header) */
- char* out_finger; /* next output position */
- char* out_boundry; /* data cannot up to this address */
- uint32_t *frag_header; /* beginning of curren fragment */
- bool_t frag_sent; /* true if buffer sent in middle of record */
- /*
- * in-coming bits
- */
- int (*readit) (char *, char *, int);
- unsigned long in_size; /* fixed size of the input buffer */
- char* in_base;
- char* in_finger; /* location of next byte to be had */
- char* in_boundry; /* can read up to this location */
- long fbtbc; /* fragment bytes to be consumed */
- bool_t last_frag;
- unsigned int sendsize;
- unsigned 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 (XDR *xdrs, unsigned int sendsize,
- unsigned int recvsize, char *tcp_handle,
- int (*readit) (char *, char *, int),
- int (*writeit) (char *, char *, int))
-{
- 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;
- (unsigned long) 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 = (char*) rstrm;
- rstrm->tcp_handle = tcp_handle;
- rstrm->readit = readit;
- rstrm->writeit = writeit;
- rstrm->out_finger = rstrm->out_boundry = rstrm->out_base;
- rstrm->frag_header = (uint32_t *) rstrm->out_base;
- rstrm->out_finger += 4;
- 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 (XDR *xdrs, long *lp)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register int32_t *buflp = (int32_t *) (rstrm->in_finger);
- int32_t mylong;
-
- /* first try the inline, fast case */
- if ((rstrm->fbtbc >= BYTES_PER_XDR_UNIT) &&
- ((rstrm->in_boundry - (char *) buflp) >= BYTES_PER_XDR_UNIT)) {
- *lp = (int32_t) ntohl(*buflp);
- rstrm->fbtbc -= BYTES_PER_XDR_UNIT;
- rstrm->in_finger += BYTES_PER_XDR_UNIT;
- } else {
- if (!xdrrec_getbytes(xdrs, (char*) & mylong, BYTES_PER_XDR_UNIT))
- return (FALSE);
-
- *lp = (int32_t) ntohl(mylong);
- }
- return (TRUE);
-}
-
-/*
- * Internal useful routines
- */
-static bool_t flush_out(RECSTREAM* rstrm, bool_t eor)
-{
- register unsigned long eormask = (eor == TRUE) ? LAST_FRAG : 0;
- register unsigned long len = (rstrm->out_finger
- - (char *) rstrm->frag_header
- - BYTES_PER_XDR_UNIT);
-
- *(rstrm->frag_header) = htonl(len | eormask);
- len = rstrm->out_finger - rstrm->out_base;
- if ((*(rstrm->writeit)) (rstrm->tcp_handle, rstrm->out_base, (int) len)
- != (int) len)
- return (FALSE);
- rstrm->frag_header = (uint32_t *) rstrm->out_base;
- rstrm->out_finger = (char*) rstrm->out_base + BYTES_PER_XDR_UNIT;
- return (TRUE);
-}
-
-static bool_t
-/* knows nothing about records! Only about input buffers */
-fill_input_buf(rstrm)
-register RECSTREAM *rstrm;
-{
- register char* where;
- unsigned int i;
- register int len;
-
- where = rstrm->in_base;
- i = (unsigned long) 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 char* addr;
-register int len;
-{
- register int current;
-
- while (len > 0) {
- current = rstrm->in_boundry - rstrm->in_finger;
- if (current == 0) {
- if (!fill_input_buf(rstrm))
- return (FALSE);
- continue;
- }
- current = (len < current) ? len : current;
- memmove(addr, rstrm->in_finger, 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;
-{
- uint32_t header;
-
- if (!get_input_bytes(rstrm, (char*) & header, sizeof(header)))
- return (FALSE);
- header = ntohl(header);
- rstrm->last_frag = ((header & LAST_FRAG) == 0) ? FALSE : TRUE;
- /*
- * Sanity check. Try not to accept wildly incorrect fragment
- * sizes. Unfortunately, only a size of zero can be identified as
- * 'wildely incorrect', and this only, if it is not the last
- * fragment of a message. Ridiculously large fragment sizes may look
- * wrong, but we don't have any way to be certain that they aren't
- * what the client actually intended to send us. Many existing RPC
- * implementations may sent a fragment of size zero as the last
- * fragment of a message.
- */
- if (header == 0)
- return FALSE;
- 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 = rstrm->in_boundry - 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 unsigned int
-fix_buf_size (unsigned int s)
-{
-
- if (s < 100)
- s = 4000;
- return (RNDUP(s));
-}
-
-static bool_t
-xdrrec_putlong (XDR *xdrs, const long *lp)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register int32_t *dest_lp = (int32_t *) rstrm->out_finger;
-
- if ((rstrm->out_finger += BYTES_PER_XDR_UNIT) > rstrm->out_boundry) {
- /*
- * this case should almost never happen so the code is
- * inefficient
- */
- rstrm->out_finger -= BYTES_PER_XDR_UNIT;
-
- rstrm->frag_sent = TRUE;
- if (!flush_out(rstrm, FALSE))
- return (FALSE);
- dest_lp = ((int32_t *) (rstrm->out_finger));
- rstrm->out_finger += BYTES_PER_XDR_UNIT;
- }
- *dest_lp = htonl(*lp);
- return (TRUE);
-}
-
-static bool_t /* must manage buffers, fragments, and records */
-xdrrec_getbytes (XDR *xdrs, char *addr, unsigned int len)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register unsigned 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 (XDR *xdrs, const char *addr, unsigned int len)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register unsigned int current;
-
- while (len > 0) {
- current = rstrm->out_boundry - rstrm->out_finger;
- current = (len < current) ? len : current;
- memmove(rstrm->out_finger, addr, 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 unsigned int
-xdrrec_getpos (const XDR *xdrs)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- register long pos;
-
- pos = lseek((int)((long) 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 = (unsigned int) - 1;
- break;
- }
- return ((unsigned int) pos);
-}
-
-static bool_t
-xdrrec_setpos (XDR *xdrs, unsigned int pos)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- unsigned int currpos = xdrrec_getpos(xdrs);
- int delta = currpos - pos;
- char* newpos;
-
- if ((int) currpos != -1)
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- newpos = rstrm->out_finger - delta;
- if ((newpos > (char*) (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(XDR* xdrs, unsigned 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 (XDR *xdrs)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
-
- mem_free(rstrm->the_buffer,
- rstrm->sendsize + rstrm->recvsize + BYTES_PER_XDR_UNIT);
- mem_free((char*) 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 unsigned long len; /* fragment length */
-
- if (sendnow || rstrm->frag_sent ||
- (rstrm->out_finger + BYTES_PER_XDR_UNIT >= rstrm->out_boundry)) {
- rstrm->frag_sent = FALSE;
- return (flush_out(rstrm, TRUE));
- }
- len = rstrm->out_finger - (char *)rstrm->frag_header -
- BYTES_PER_XDR_UNIT;
- *(rstrm->frag_header) = htonl((unsigned long) len | LAST_FRAG);
- rstrm->frag_header = (uint32_t *) rstrm->out_finger;
- rstrm->out_finger += BYTES_PER_XDR_UNIT;
- 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 3e42d12f3..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 ((unsigned 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;
-char* *pp; /* the pointer to work on */
-unsigned int size; /* size of the object pointed to */
-xdrproc_t proc; /* xdr routine to handle the object */
-{
- register char* loc = *pp;
- register bool_t stat;
-
- if (loc == NULL)
- switch (xdrs->x_op) {
- case XDR_FREE:
- return (TRUE);
-
- case XDR_DECODE:
- *pp = loc = (char*) mem_alloc(size);
- if (loc == NULL) {
- (void) fprintf(stderr, "xdr_reference: out of memory\n");
- return (FALSE);
- }
- memset(loc, 0, (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;
-unsigned 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 405cc6a69..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 unsigned 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 = (char*) 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((char*) 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((char*) lp, sizeof(long), 1, (FILE *) xdrs->x_private) !=
- 1) return (FALSE);
-
- return (TRUE);
-}
-
-static bool_t xdrstdio_getbytes(xdrs, addr, len)
-XDR *xdrs;
-char* addr;
-unsigned 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;
-char* addr;
-unsigned int len;
-{
-
- if ((len != 0)
- && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1))
- return (FALSE);
- return (TRUE);
-}
-
-static unsigned int xdrstdio_getpos(xdrs)
-XDR *xdrs;
-{
-
- return ((unsigned int) ftell((FILE *) xdrs->x_private));
-}
-
-static bool_t xdrstdio_setpos(xdrs, pos)
-XDR *xdrs;
-unsigned int pos;
-{
-
- return ((fseek((FILE *) xdrs->x_private, (long) pos, 0) < 0) ?
- FALSE : TRUE);
-}
-
-static int32_t *xdrstdio_inline(XDR* xdrs, unsigned 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/basename.c b/mdk-stage1/dietlibc/libshell/basename.c
deleted file mode 100644
index fbf5b2478..000000000
--- a/mdk-stage1/dietlibc/libshell/basename.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <string.h>
-#include <libgen.h>
-
-/*
- path dirname basename
- "/usr/lib" "/usr" "lib"
- "/usr/" "/" "usr"
- "usr" "." "usr"
- "/" "/" "/"
- "." "." "."
- ".." "." ".."
-*/
-
-char *basename(char *path) {
- char *c;
-again:
- if (!(c=strrchr(path,'/'))) return path;
- if (c[1]==0) {
- if (c == path)
- return c;
- else {
- *c=0;
- goto again;
- }
- }
- return c+1;
-}
diff --git a/mdk-stage1/dietlibc/libshell/dirname.c b/mdk-stage1/dietlibc/libshell/dirname.c
deleted file mode 100644
index d35e6ea62..000000000
--- a/mdk-stage1/dietlibc/libshell/dirname.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <string.h>
-#include <libgen.h>
-
-/*
- path dirname basename
- "/usr/lib" "/usr" "lib"
- "/usr/" "/" "usr"
- "usr" "." "usr"
- "/" "/" "/"
- "." "." "."
- ".." "." ".."
-*/
-
-char *dirname(char *path) {
- char *c;
-again:
- if (!(c=strrchr(path,'/'))) return ".";
- while (c[1]==0) { /* remove trailing slashes */
- if (c==path) return c; /* unless path=='/' */
- *c=0;
- if (*--c!='/') break;
- }
- if (*c=='/') { if (c!=path) *c=0; return path; }
- goto again;
-}
diff --git a/mdk-stage1/dietlibc/libshell/fnmatch.c b/mdk-stage1/dietlibc/libshell/fnmatch.c
deleted file mode 100644
index ef43735f6..000000000
--- a/mdk-stage1/dietlibc/libshell/fnmatch.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <ctype.h>
-#include <fnmatch.h>
-#include <string.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) {
- /*printf("fnmatch(\"%s\",\"%s\")\n",pattern,string);*/
- 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 FNM_NOMATCH;
- /* don't match if FNM_PERIOD and FNM_FILE_NAME and previous was '/' */
- if ((flags&(FNM_FILE_NAME|FNM_PERIOD)) && string[-1]=='/')
- return FNM_NOMATCH;
- }
- flags|=NOTFIRST;
- switch (*pattern) {
- case '[':
- {
- int neg=0;
- ++pattern;
- if (*string=='/' && flags&FNM_PATHNAME) return FNM_NOMATCH;
- if (*pattern=='^') { neg=1; ++pattern; }
- while (*pattern && *pattern!=']') {
- 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;
- }
- pattern+=3;
- } else {
- res=match(*pattern,*string,flags);
- ++pattern;
- }
- if (res ^ neg) {
- while (*pattern && *pattern!=']') ++pattern;
- return fnmatch(pattern+1,string+1,flags);
- }
- }
- }
- 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 ((*string=='/' && flags&FNM_PATHNAME) || fnmatch(pattern,string+1,flags))
- return fnmatch(pattern+1,string,flags);
- return 0;
- 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 FNM_NOMATCH;
-}
diff --git a/mdk-stage1/dietlibc/libshell/glob.c b/mdk-stage1/dietlibc/libshell/glob.c
deleted file mode 100644
index def55f8dc..000000000
--- a/mdk-stage1/dietlibc/libshell/glob.c
+++ /dev/null
@@ -1,356 +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 "dietfeatures.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 strcoll(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 void close_dir_keep_errno(DIR* dp) {
- int save = errno;
- if (dp)
- closedir (dp);
- errno=save;
-}
-
-static int add_entry(const char* name,glob_t *pglob,int* nfound) {
- 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;
-}
-
-static void build_fullname(char * fullname, const char * directory, const char * filename) {
- char *dest=fullname;
- if (directory[0]=='/' && !directory[1]) {
- *dest='/'; ++dest;
- } else if (directory[0]!='.' || directory[1]) {
- strcpy(dest,directory);
- dest=strchr(dest,0);
- *dest='/'; ++dest;
- }
- strcpy(dest,filename);
-}
-
-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;
-
- 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, 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,pglob,&nfound))
- goto memory_error;
- }
- }
-
- close_dir_keep_errno(dp);
-
- 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, directory, pattern);
- if (add_entry(ptr,pglob,&nfound))
- 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(dp);
- 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) {
- 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 = (char*)".";
- } else if (filename == pattern_) {
- /* "/pattern". */
- dirname = (char*)"/";
- 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]) + strlen(filename) + 2;
- if ((pglob->gl_pathv[j] = malloc(k)) == NULL) {
- globfree(&dirs);
- globfree(pglob);
- return GLOB_NOSPACE;
- }
- build_fullname(pglob->gl_pathv[j], 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 9aee2c585..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=(char*)"";
- if (fd<0) return 0;
- if (chdir(path)) {
- if (errno==ENOTDIR) {
- char* match;
- if ((match=strrchr(path,'/'))) {
- tmp=match;
- memmove(resolved_path,path,tmp-path);
- resolved_path[tmp-path]=0;
- if (chdir(resolved_path)) { resolved_path=0; goto abort; }
- }
- } else {
- 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 491ed2522..000000000
--- a/mdk-stage1/dietlibc/libstdio/fclose.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "dietstdio.h"
-#include <stdlib.h>
-#include <unistd.h>
-
-int fclose(FILE *stream) {
- int res;
- FILE *f,*fl;
- fflush(stream);
- res=close(stream->fd);
- 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;
- }
- if ((!(stream->flags&STATICBUF))&&(stream->buf))
- free(stream->buf);
- 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 9542711e2..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdglue.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <pthread.h>
-#include "dietstdio.h"
-
-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;
- }
-}
-
diff --git a/mdk-stage1/dietlibc/libstdio/fdglue2.c b/mdk-stage1/dietlibc/libstdio/fdglue2.c
deleted file mode 100644
index b96e4c5b8..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdglue2.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include "dietstdio.h"
-#include <stdlib.h>
-#include <pthread.h>
-
-extern int __stdio_atexit;
-
-FILE* __stdio_init_file_nothreads(int fd,int closeonerror);
-FILE* __stdio_init_file_nothreads(int fd,int closeonerror) {
- FILE *tmp=(FILE*)malloc(sizeof(FILE));
- if (!tmp) goto err_out;
- tmp->buf=(char*)malloc(BUFSIZE);
- if (!tmp->buf) {
- free(tmp);
-err_out:
- if (closeonerror) close(fd);
- errno=ENOMEM;
- return 0;
- }
- tmp->fd=fd;
- tmp->bm=0;
- tmp->bs=0;
- tmp->buflen=BUFSIZE;
- {
- struct stat st;
- fstat(fd,&st);
- tmp->flags=(S_ISFIFO(st.st_mode))?FDPIPE:0;
- }
- tmp->popen_kludge=0;
- if (__stdio_atexit==0) {
- __stdio_atexit=1;
- atexit(__stdio_flushall);
- }
- tmp->next=__stdio_root;
- __stdio_root=tmp;
- tmp->ungotten=0;
- return tmp;
-}
-
-FILE* __stdio_init_file(int fd,int closeonerror) __attribute__((weak,alias("__stdio_init_file_nothreads")));
diff --git a/mdk-stage1/dietlibc/libstdio/fdopen.c b/mdk-stage1/dietlibc/libstdio/fdopen.c
deleted file mode 100644
index 748b716eb..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdopen.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-FILE *fdopen(int filedes, const char *mode) {
- int f=0; /* O_RDONLY, O_WRONLY or O_RDWR */
-
- f=__stdio_parse_mode(mode);
- if (filedes<0) { errno=EBADF; return 0; }
- return __stdio_init_file(filedes,0);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fdprintf.c b/mdk-stage1/dietlibc/libstdio/fdprintf.c
deleted file mode 100644
index f9fc7a3b4..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdprintf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int fdprintf(int fd,const char *format,...) {
- int n;
- va_list arg_ptr;
- va_start(arg_ptr,format);
- n=vfdprintf(fd,format,arg_ptr);
- va_end(arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/feof.c b/mdk-stage1/dietlibc/libstdio/feof.c
deleted file mode 100644
index bf2267fcf..000000000
--- a/mdk-stage1/dietlibc/libstdio/feof.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <dietstdio.h>
-
-int feof(FILE *stream) {
- /* yuck!!! */
- if (stream->ungotten) return 0;
- 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 e0e23b3ba..000000000
--- a/mdk-stage1/dietlibc/libstdio/fflush.c
+++ /dev/null
@@ -1,64 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-#include "dietstdio.h"
-
-FILE *__stdio_root;
-
-int __stdio_atexit=0;
-
-void __stdio_flushall(void) {
- fflush(0);
-}
-
-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&NOBUF) return 0;
- if (stream->flags&BUFINPUT) {
- register int tmp;
- if ((tmp=stream->bm-stream->bs)) {
- lseek(stream->fd,tmp,SEEK_CUR);
- }
- stream->bs=stream->bm=0;
- } else {
- if (stream->bm && write(stream->fd,stream->buf,stream->bm)!=(int)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;
- }
- if (stream->fd==0) __fflush_stdout();
- return 0;
-}
-
-/* Internal function, has no prototype.
- * This is defined here because of the weak symbol ELF semantics */
-int __stdio_outs(const char *s,size_t len);
-int __stdio_outs(const char *s,size_t len) {
- return fwrite(s,1,(size_t)len,stdout)==len?1:0;
-}
-
-link_warning("fflush","warning: your code uses stdio (7+k bloat).")
diff --git a/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c b/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c
deleted file mode 100644
index 5136c8df1..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-
-int fgetc_unlocked(FILE *stream) {
- unsigned char c;
- if (stream->ungotten) {
- stream->ungotten=0;
- return stream->ungetbuf;
- }
- if (feof(stream))
- return EOF;
- if (__fflush4(stream,BUFINPUT)) return EOF;
- if (stream->bm>=stream->bs) {
- int len=read(stream->fd,stream->buf,stream->buflen);
- 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;
-}
-
-int fgetc(FILE* stream) __attribute__((weak,alias("fgetc_unlocked")));
diff --git a/mdk-stage1/dietlibc/libstdio/fgetpos.c b/mdk-stage1/dietlibc/libstdio/fgetpos.c
deleted file mode 100644
index d58b6fa5b..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgetpos.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <stdio.h>
-
-int fgetpos(FILE *stream, fpos_t *pos) {
- long l=ftell(stream);
- if (l==-1) return -1;
- *pos=l;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fgets.c b/mdk-stage1/dietlibc/libstdio/fgets.c
deleted file mode 100644
index d2ce4195d..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgets.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietstdio.h"
-
-char *fgets(char *s, int size, FILE *stream) {
- char *orig=s;
- int l;
- for (l=size; l>1;) {
- 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 3d9c28198..000000000
--- a/mdk-stage1/dietlibc/libstdio/fopen.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-extern int __stdio_atexit;
-
-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,1);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fprintf.c b/mdk-stage1/dietlibc/libstdio/fprintf.c
deleted file mode 100644
index 6b3849a33..000000000
--- a/mdk-stage1/dietlibc/libstdio/fprintf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int fprintf(FILE *f,const char *format,...) {
- int n;
- va_list arg_ptr;
- va_start(arg_ptr,format);
- n=vfprintf(f,format,arg_ptr);
- va_end(arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c b/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c
deleted file mode 100644
index 6441c5741..000000000
--- a/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-int fputc_unlocked(int c, FILE *stream) {
- if (__fflush4(stream,0)) return EOF;
- if (stream->bm>=stream->buflen-1)
- if (fflush(stream)) return EOF;
- if (stream->flags&NOBUF) {
- if (write(stream->fd,&c,1) != 1) return EOF;
- return 0;
- }
- stream->buf[stream->bm]=c;
- ++stream->bm;
- if (((stream->flags&BUFLINEWISE) && c=='\n') ||
- ((stream->flags&NOBUF))) /* puke */
- if (fflush(stream)) return EOF;
- return 0;
-}
-
-int fputc(int c,FILE* stream) __attribute__((weak,alias("fputc_unlocked")));
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 813a98fb2..000000000
--- a/mdk-stage1/dietlibc/libstdio/fread.c
+++ /dev/null
@@ -1,46 +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;
- unsigned long i,j;
- j=size*nmemb;
- i=0;
-
- if (!j || j/nmemb!=size) return 0;
- if (stream->ungotten) {
- stream->ungotten=0;
- *(char*)ptr=stream->ungetbuf;
- ++i;
- }
- if (!j) return 1;
-
-#ifdef WANT_FREAD_OPTIMIZATION
- if ( !(stream->flags&FDPIPE) && (j>stream->buflen)) {
- size_t tmp=j-i;
- int res;
- fflush(stream);
- while ((res=read(stream->fd,ptr+i,tmp))<(int)tmp) {
- if (res==-1) {
- stream->flags|=ERRORINDICATOR;
- goto exit;
- } else if (!res) {
- stream->flags|=EOFINDICATOR;
- goto exit;
- }
- i+=res; tmp-=res;
- }
- return nmemb;
- }
-#endif
- for (; i<j; ++i) {
- res=fgetc(stream);
- if (res==EOF)
-exit:
- return i/size;
- else
- ((unsigned char*)ptr)[i]=(unsigned char)res;
- }
- return nmemb;
-}
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/fscanf.c b/mdk-stage1/dietlibc/libstdio/fscanf.c
deleted file mode 100644
index 07f477462..000000000
--- a/mdk-stage1/dietlibc/libstdio/fscanf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-int fscanf(FILE *stream, const char *format, ...) {
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vfscanf(stream,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fseek.c b/mdk-stage1/dietlibc/libstdio/fseek.c
deleted file mode 100644
index a49230f0a..000000000
--- a/mdk-stage1/dietlibc/libstdio/fseek.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-int fseek(FILE *stream, long offset, int whence) {
- fflush(stream);
- stream->bm=0; stream->bs=0;
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- stream->ungotten=0;
- return lseek(stream->fd,offset,whence)!=-1?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fseeko.c b/mdk-stage1/dietlibc/libstdio/fseeko.c
deleted file mode 100644
index 6459a6ff4..000000000
--- a/mdk-stage1/dietlibc/libstdio/fseeko.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-int fseeko(FILE *stream, off_t offset, int whence) {
- fflush(stream);
- stream->bm=0; stream->bs=0;
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- stream->ungotten=0;
- return lseek(stream->fd,offset,whence)!=-1?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fseeko64.c b/mdk-stage1/dietlibc/libstdio/fseeko64.c
deleted file mode 100644
index 3b00596a1..000000000
--- a/mdk-stage1/dietlibc/libstdio/fseeko64.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-#ifndef __NO_STAT64
-int fseeko64(FILE *stream, off64_t offset, int whence) {
- fflush(stream);
- stream->bm=0; stream->bs=0;
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- stream->ungotten=0;
- return lseek64(stream->fd,offset,whence)!=-1?0:-1;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libstdio/fsetpos.c b/mdk-stage1/dietlibc/libstdio/fsetpos.c
deleted file mode 100644
index 336135fff..000000000
--- a/mdk-stage1/dietlibc/libstdio/fsetpos.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int fsetpos(FILE *stream, fpos_t *pos) {
- if (fseek(stream,*pos,SEEK_SET)==-1)
- return -1;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ftell.c b/mdk-stage1/dietlibc/libstdio/ftell.c
deleted file mode 100644
index 48f74858a..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)-stream->ungotten);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ftello.c b/mdk-stage1/dietlibc/libstdio/ftello.c
deleted file mode 100644
index 9d36318e2..000000000
--- a/mdk-stage1/dietlibc/libstdio/ftello.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-off_t ftello(FILE *stream) {
- fflush(stream);
- return (lseek(stream->fd,0,SEEK_CUR));
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ftello64.c b/mdk-stage1/dietlibc/libstdio/ftello64.c
deleted file mode 100644
index bda7a7de4..000000000
--- a/mdk-stage1/dietlibc/libstdio/ftello64.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-#ifndef __NO_STAT64
-off64_t ftello64(FILE *stream) {
- fflush(stream);
- return (lseek64(stream->fd,0ull,SEEK_CUR));
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libstdio/fwrite.c b/mdk-stage1/dietlibc/libstdio/fwrite.c
deleted file mode 100644
index e2536ccfb..000000000
--- a/mdk-stage1/dietlibc/libstdio/fwrite.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-#include <errno.h>
-
-size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) {
- int res;
- unsigned long len=size*nmemb;
- long i;
- if (!nmemb || len/nmemb!=size) return 0; /* check for integer overflow */
- if (len>stream->buflen || (stream->flags&NOBUF)) {
- fflush(stream);
- do {
- res=write(stream->fd,ptr,size*nmemb);
- } while (res==-1 && errno==EINTR);
- } else {
- register const unsigned char *c=ptr;
- for (i=len; i>0; --i,++c)
- if (fputc(*c,stream)) { res=len-i; goto abort; }
- res=len;
- }
- if (res<0) {
- stream->flags|=ERRORINDICATOR;
- return 0;
- }
-abort:
- 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 5af172c58..000000000
--- a/mdk-stage1/dietlibc/libstdio/printf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-
-int printf(const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vprintf(format, arg_ptr);
- 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/puts.c b/mdk-stage1/dietlibc/libstdio/puts.c
deleted file mode 100644
index b1da01f9d..000000000
--- a/mdk-stage1/dietlibc/libstdio/puts.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <unistd.h>
-#include <string.h>
-#include "dietstdio.h"
-#include "dietfeatures.h"
-
-int __cheap_outs(const char *s,size_t len);
-int __cheap_outs(const char *s,size_t len) {
- return (size_t)write(1,s,len)==len?1:0;
-}
-
-int __stdio_outs(const char *s,size_t len) __attribute__((weak,alias("__cheap_outs")));
-
-int puts(const char *s) {
- return (__stdio_outs(s,strlen(s)) && __stdio_outs("\n",1))?0:-1;
-}
-
diff --git a/mdk-stage1/dietlibc/libstdio/scanf.c b/mdk-stage1/dietlibc/libstdio/scanf.c
deleted file mode 100644
index 589c19f41..000000000
--- a/mdk-stage1/dietlibc/libstdio/scanf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-int scanf(const char *format, ...) {
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vfscanf(stdin,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/setvbuf.c b/mdk-stage1/dietlibc/libstdio/setvbuf.c
deleted file mode 100644
index b8b50addf..000000000
--- a/mdk-stage1/dietlibc/libstdio/setvbuf.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-
-static int set_flags (FILE *stream, int flags) {
- switch (flags) {
- case _IONBF: stream->flags = (stream->flags & ~(BUFLINEWISE)) | NOBUF; break;
- case _IOLBF: stream->flags = (stream->flags & ~(NOBUF)) | BUFLINEWISE; break;
- case _IOFBF: stream->flags = stream->flags & ~(NOBUF | BUFLINEWISE); break;
- default: return -1;
- }
- return 0;
-}
-
-int setvbuf(FILE *stream, char *buf, int flags, size_t size) {
- if (buf) {
- if (!(stream->flags&STATICBUF)) free(stream->buf);
- stream->buf=buf;
- }
- else {
- char *tmp;
- if (!size) {
- return set_flags(stream,flags);
- }
- if (!(tmp=malloc(size))) return -1;
- if (!(stream->flags&STATICBUF)) free(stream->buf);
- stream->buf=tmp;
- }
- stream->buflen=size;
- stream->bm=stream->bs=0;
- return set_flags(stream,flags);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/stderr.c b/mdk-stage1/dietlibc/libstdio/stderr.c
deleted file mode 100644
index a9a34fd7e..000000000
--- a/mdk-stage1/dietlibc/libstdio/stderr.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <dietstdio.h>
-
-static FILE __stderr = {
- .fd=2,
- .flags=NOBUF,
- .bs=0, .bm=0,
- .buflen=0,
- .buf=0,
- .next=0,
- .popen_kludge=0,
- .ungetbuf=0,
- .ungotten=0
-#ifdef WANT_THREAD_SAFE
- , .m=PTHREAD_MUTEX_INITIALIZER
-#endif
-};
-
-FILE *stderr=&__stderr;
-
-int __fflush_stderr(void) {
- return fflush(stderr);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/stdin.c b/mdk-stage1/dietlibc/libstdio/stdin.c
deleted file mode 100644
index 217f3f609..000000000
--- a/mdk-stage1/dietlibc/libstdio/stdin.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <dietstdio.h>
-
-static char __stdin_buf[BUFSIZE];
-static FILE __stdin = {
- .fd=0,
- .flags=BUFINPUT|STATICBUF,
- .bs=0, .bm=0,
- .buflen=BUFSIZE,
- .buf=__stdin_buf,
- .next=0,
- .popen_kludge=0,
- .ungetbuf=0,
- .ungotten=0
-#ifdef WANT_THREAD_SAFE
- , .m=PTHREAD_MUTEX_INITIALIZER
-#endif
-};
-
-FILE *stdin=&__stdin;
-
-int __fflush_stdin(void) {
- return fflush(stdin);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/stdout.c b/mdk-stage1/dietlibc/libstdio/stdout.c
deleted file mode 100644
index 08054d0d4..000000000
--- a/mdk-stage1/dietlibc/libstdio/stdout.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <dietstdio.h>
-
-static char __stdout_buf[BUFSIZE];
-static FILE __stdout = {
- .fd=1,
- .flags=BUFLINEWISE|STATICBUF,
- .bs=0, .bm=0,
- .buflen=BUFSIZE,
- .buf=__stdout_buf,
- .next=0,
- .popen_kludge=0,
- .ungetbuf=0,
- .ungotten=0
-#ifdef WANT_THREAD_SAFE
- , .m=PTHREAD_MUTEX_INITIALIZER
-#endif
-};
-
-FILE *stdout=&__stdout;
-
-int __fflush_stdout(void) {
- return fflush(stdout);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/tmpfile.c b/mdk-stage1/dietlibc/libstdio/tmpfile.c
deleted file mode 100644
index b20d8410d..000000000
--- a/mdk-stage1/dietlibc/libstdio/tmpfile.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "dietstdio.h"
-#include <stdlib.h>
-#include <unistd.h>
-
-FILE *tmpfile (void) {
- int fd;
- char template[20] = "/tmp/tmpfile-XXXXXX";
- if ((fd=mkstemp(template))<0)
- return 0;
- unlink(template);
- return __stdio_init_file(fd,1);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ungetc.c b/mdk-stage1/dietlibc/libstdio/ungetc.c
deleted file mode 100644
index 133e92820..000000000
--- a/mdk-stage1/dietlibc/libstdio/ungetc.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietstdio.h"
-
-int ungetc(int c, FILE *stream) {
- if (stream->ungotten || c<0 || c>255)
- return EOF;
- stream->ungotten=1;
- stream->ungetbuf=(unsigned char)c;
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- return c;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/vfdprintf.c b/mdk-stage1/dietlibc/libstdio/vfdprintf.c
deleted file mode 100644
index fdfeb09e1..000000000
--- a/mdk-stage1/dietlibc/libstdio/vfdprintf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-
-static int __fwrite(void*ptr, size_t nmemb, int fd) {
- return write(fd,ptr,nmemb);
-}
-
-int vfdprintf(int fd, const char *format, va_list arg_ptr)
-{
- struct arg_printf ap = { (void*)(long)fd, (int(*)(void*,size_t,void*)) __fwrite };
- return __v_printf(&ap,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/vfprintf.c b/mdk-stage1/dietlibc/libstdio/vfprintf.c
deleted file mode 100644
index 5e64cf099..000000000
--- a/mdk-stage1/dietlibc/libstdio/vfprintf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-
-static int __fwrite(void*ptr, size_t nmemb, FILE* f) {
- return fwrite(ptr,1,nmemb,f);
-}
-
-int vfprintf(FILE *stream, const char *format, va_list arg_ptr)
-{
- struct arg_printf ap = { stream, (int(*)(void*,size_t,void*)) __fwrite };
- return __v_printf(&ap,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/vfscanf.c b/mdk-stage1/dietlibc/libstdio/vfscanf.c
deleted file mode 100644
index 6d75a45ac..000000000
--- a/mdk-stage1/dietlibc/libstdio/vfscanf.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-int vfscanf(FILE *stream, const char *format, va_list arg_ptr)
-{
- struct arg_scanf farg = { (void*)stream, (int(*)(void*))fgetc, (int(*)(int,void*))ungetc };
- return __v_scanf(&farg,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/vprintf.c b/mdk-stage1/dietlibc/libstdio/vprintf.c
deleted file mode 100644
index 7fe579e0a..000000000
--- a/mdk-stage1/dietlibc/libstdio/vprintf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include "dietstdio.h"
-
-int __stdio_outs(const char *s,size_t len) __attribute__((weak));
-int __stdio_outs(const char *s,size_t len) {
- return (write(1,s,len)==(int)len)?1:0;
-}
-
-int vprintf(const char *format, va_list ap)
-{
- struct arg_printf _ap = { 0, (int(*)(void*,size_t,void*)) __stdio_outs };
- return __v_printf(&_ap,format,ap);
-}
-
diff --git a/mdk-stage1/dietlibc/libstdio/vscanf.c b/mdk-stage1/dietlibc/libstdio/vscanf.c
deleted file mode 100644
index ba9358fc4..000000000
--- a/mdk-stage1/dietlibc/libstdio/vscanf.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-int vscanf(const char *format, va_list arg_ptr)
-{
- return vfscanf(stdin,format,arg_ptr);
-}
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 43c5e2cb2..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 9db1f67c7..000000000
--- a/mdk-stage1/dietlibc/libugly/asprintf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "dietwarning.h"
-
-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_start (arg_ptr, format);
- if ((*s=malloc(n+1))) {
- n=vsnprintf(*s,n+1,format,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/difftime.c b/mdk-stage1/dietlibc/libugly/difftime.c
deleted file mode 100644
index fc71363c7..000000000
--- a/mdk-stage1/dietlibc/libugly/difftime.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <time.h>
-#include "../dietwarning.h"
-
-double difftime(time_t time1, time_t time2) {
- return (double)time1 - (double)time2;
-}
-
-link_warning("difftime","warning: difftime introduces an unnecessary floating point dependency. Don't use it!")
diff --git a/mdk-stage1/dietlibc/libugly/dirfd.c b/mdk-stage1/dietlibc/libugly/dirfd.c
deleted file mode 100644
index 8d5af8b9a..000000000
--- a/mdk-stage1/dietlibc/libugly/dirfd.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/types.h>
-#include "dietdirent.h"
-#define _BSD_SOURCE
-#include <dirent.h>
-
-int dirfd(DIR* dirp) {
- return dirp->fd;
-}
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/freeaddrinfo.c b/mdk-stage1/dietlibc/libugly/freeaddrinfo.c
deleted file mode 100644
index 72a13f5e1..000000000
--- a/mdk-stage1/dietlibc/libugly/freeaddrinfo.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/socket.h>
-#include <stdlib.h>
-
-void freeaddrinfo(struct addrinfo *res) {
- while (res) {
- struct addrinfo *duh;
- duh=res;
- res=res->ai_next;
- free(duh);
- }
-}
diff --git a/mdk-stage1/dietlibc/libugly/ftime.c b/mdk-stage1/dietlibc/libugly/ftime.c
deleted file mode 100644
index 3aa2d15c3..000000000
--- a/mdk-stage1/dietlibc/libugly/ftime.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/time.h>
-#include <sys/timeb.h>
-#include <unistd.h>
-
-int ftime(struct timeb *tp) {
- struct timeval tv;
- struct timezone tz;
- int ret=gettimeofday(&tv,&tz);
- tp->time = tv.tv_sec;
- tp->millitm = tv.tv_usec/1000;
- tp->timezone = tz.tz_minuteswest;
- tp->dstflag = tz.tz_dsttime;
- return ret;
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/gai_strerror.c b/mdk-stage1/dietlibc/libugly/gai_strerror.c
deleted file mode 100644
index 9dc4f5dde..000000000
--- a/mdk-stage1/dietlibc/libugly/gai_strerror.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/socket.h>
-
-const char* gai_strerror(int error) {
- switch (error) {
- case EAI_FAMILY: return "family not supported";
- case EAI_SOCKTYPE: return "socket type not supported";
- case EAI_NONAME: return "unknown host";
- case EAI_SERVICE: return "unknown service";
- case EAI_MEMORY: return "memory allocation failure";
- case EAI_AGAIN: return "temporary failure";
- }
- return "DNS error. Sorry.";
-}
diff --git a/mdk-stage1/dietlibc/libugly/getaddrinfo.c b/mdk-stage1/dietlibc/libugly/getaddrinfo.c
deleted file mode 100644
index a4675d92b..000000000
--- a/mdk-stage1/dietlibc/libugly/getaddrinfo.c
+++ /dev/null
@@ -1,140 +0,0 @@
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <stdlib.h>
-#include <string.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-
-/* XXX TODO FIXME */
-
-int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res) {
- struct addrinfo **tmp;
- int family;
- tmp=res; *res=0;
- if (hints) {
- if (hints->ai_family && hints->ai_family != PF_INET6 && hints->ai_family != PF_INET) return EAI_FAMILY;
- if (hints->ai_socktype && hints->ai_socktype != SOCK_STREAM && hints->ai_socktype != SOCK_DGRAM) return EAI_SOCKTYPE;
- }
- for (family=PF_INET6; ; family=PF_INET) {
- if (!hints || hints->ai_family==family || hints->ai_family==AF_UNSPEC) { /* IPv6 addresses are OK */
- struct hostent h;
- struct hostent *H;
- int herrno=0;
- char buf[4096];
- int lookupok=0;
- h.h_addr_list=(char**)buf+16;
- if (node) {
- if (inet_pton(family,node,buf)>0) {
- h.h_name=(char*)node;
- h.h_addr_list[0]=buf;
- lookupok=1;
- } else if ((!hints || !(hints->ai_flags&AI_NUMERICHOST)) &&
- !gethostbyname2_r(node,family,&h,buf,4096,&H,&herrno)) {
- lookupok=1;
- } else {
- if (herrno==TRY_AGAIN) { freeaddrinfo(*res); return EAI_AGAIN; }
- }
- } else {
- h.h_name=0;
- h.h_addr_list[0]=buf;
- memset(buf,0,16);
- if (!hints || !(hints->ai_flags&AI_PASSIVE)) {
- if (family==AF_INET) {
- buf[0]=127; buf[3]=1;
- } else
- buf[15]=1;
- }
- lookupok=1;
- }
- if (lookupok) {
- struct ai_v6 {
- struct addrinfo ai;
- union {
- struct sockaddr_in6 ip6;
- struct sockaddr_in ip4;
- } ip;
- char name[1];
- } *foo;
- unsigned short port;
- int len=sizeof(struct ai_v6)+(h.h_name?strlen(h.h_name):0);
- if (!(foo=malloc(len))) goto error;
- foo->ai.ai_next=0;
- foo->ai.ai_socktype=SOCK_STREAM;
- foo->ai.ai_protocol=IPPROTO_TCP;
- foo->ai.ai_addrlen=family==PF_INET6?sizeof(struct sockaddr_in6):sizeof(struct sockaddr_in);
- foo->ai.ai_addr=(struct sockaddr*)&foo->ip;
- if (family==PF_INET6) {
- memset(&foo->ip,0,sizeof(foo->ip));
- memmove(&foo->ip.ip6.sin6_addr,h.h_addr_list[0],16);
- } else {
- memmove(&foo->ip.ip4.sin_addr,h.h_addr_list[0],4);
- }
- foo->ip.ip6.sin6_family=foo->ai.ai_family=family;
- if (h.h_name) {
- foo->ai.ai_canonname=foo->name;
- memmove(foo->name,h.h_name,strlen(h.h_name)+1);
- } else
- foo->ai.ai_canonname=0;
- if (!hints || hints->ai_socktype!=SOCK_DGRAM) { /* TCP is OK */
- char *x;
- port=htons(strtol(service?service:"0",&x,0));
- if (*x) { /* service is not numeric :-( */
- struct servent* se;
- if ((se=getservbyname(service,"tcp"))) { /* found a service. */
- port=se->s_port;
- blah1:
- if (family==PF_INET6)
- foo->ip.ip6.sin6_port=port;
- else
- foo->ip.ip4.sin_port=port;
- if (!*tmp) *tmp=&(foo->ai); else (*tmp)->ai_next=&(foo->ai);
- if (!(foo=malloc(len))) goto error;
- memmove(foo,*tmp,len);
- tmp=&(*tmp)->ai_next;
- foo->ai.ai_addr=(struct sockaddr*)&foo->ip;
- if (foo->ai.ai_canonname)
- foo->ai.ai_canonname=foo->name;
- } else {
- freeaddrinfo(*res);
- return EAI_SERVICE;
- }
- } else goto blah1;
- }
- foo->ai.ai_socktype=SOCK_DGRAM;
- foo->ai.ai_protocol=IPPROTO_UDP;
- if (!hints || hints->ai_socktype!=SOCK_STREAM) { /* UDP is OK */
- char *x;
- port=htons(strtol(service?service:"0",&x,0));
- if (*x) { /* service is not numeric :-( */
- struct servent* se;
- if ((se=getservbyname(service,"udp"))) { /* found a service. */
- port=se->s_port;
- blah2:
- if (family==PF_INET6)
- foo->ip.ip6.sin6_port=port;
- else
- foo->ip.ip4.sin_port=port;
- if (!*tmp) *tmp=&(foo->ai); else (*tmp)->ai_next=&(foo->ai);
- if (!(foo=malloc(len))) goto error;
- memmove(foo,*tmp,len);
- tmp=&(*tmp)->ai_next;
- foo->ai.ai_addr=(struct sockaddr*)&foo->ip;
- foo->ai.ai_canonname=foo->name;
- } else {
- freeaddrinfo(*res);
- return EAI_SERVICE;
- }
- } else goto blah2;
- }
- free(foo);
- }
- }
- if (family==PF_INET) break;
- }
- if (*res==0) return EAI_NONAME; /* kludge kludge... */
- return 0;
-error:
- freeaddrinfo(*res);
- return EAI_MEMORY;
-}
diff --git a/mdk-stage1/dietlibc/libugly/gethostent.c b/mdk-stage1/dietlibc/libugly/gethostent.c
deleted file mode 100644
index fe92beacf..000000000
--- a/mdk-stage1/dietlibc/libugly/gethostent.c
+++ /dev/null
@@ -1,116 +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>
-#include <netdb.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include "dietfeatures.h"
-
-static char* hostmap=0;
-static unsigned int hostlen;
-
-static char *cur;
-
-/* ::1 localhost6 alias1 alias2 # internet protocol, pseudo protocol number */
-struct hostent* gethostent_r(char* buf, int len) {
- char *dest;
- struct hostent* pe=(struct hostent*)buf;
- char* last;
- char* max=buf+len;
- int aliasidx;
- if (!hostmap) {
- int hostfd=open(_PATH_HOSTS,O_RDONLY);
- if (hostfd<0) return 0;
- hostlen=lseek(hostfd,0,SEEK_END);
- hostmap=mmap(0,hostlen,PROT_READ|PROT_WRITE,MAP_PRIVATE,hostfd,0);
- if ((long)hostmap==(-1)) { close(hostfd); hostmap=0; goto error; }
- close(hostfd); hostfd=-1;
- cur=hostmap;
- }
- last=hostmap+hostlen;
-again:
- if ((size_t)len<sizeof(struct hostent)+11*sizeof(char*)) goto nospace;
- dest=buf+sizeof(struct hostent);
- pe->h_name=0;
- pe->h_aliases=(char**)dest; pe->h_aliases[0]=0; dest+=10*sizeof(char*);
- pe->h_addr_list=(char**)dest; dest+=2*sizeof(char**);
- if (cur>=last) return 0;
- if (*cur=='#' || *cur=='\n') goto parseerror;
- /* first, the ip number */
- pe->h_name=cur;
- while (cur<last && !isspace(*cur)) cur++;
- if (cur>=last) return 0;
- if (*cur=='\n') goto parseerror;
- {
- char save=*cur;
- *cur=0;
- pe->h_addr_list[0]=dest;
- pe->h_addr_list[1]=0;
- if (max-dest<16) goto nospace;
- if (inet_pton(AF_INET6,pe->h_name,dest)>0) {
- pe->h_addrtype=AF_INET6;
- pe->h_length=16;
- dest+=16;
- } else if (inet_pton(AF_INET,pe->h_name,dest)>0) {
- pe->h_addrtype=AF_INET;
- pe->h_length=4;
- dest+=4;
- } else {
- *cur=save;
- goto parseerror;
- }
- *cur=save;
- }
- ++cur;
- /* now the aliases */
- for (aliasidx=0;aliasidx<9;++aliasidx) {
- while (cur<last && isblank(*cur)) ++cur;
- pe->h_aliases[aliasidx]=cur;
- while (cur<last && !isspace(*cur)) ++cur;
- {
- char *from=pe->h_aliases[aliasidx];
- int len=cur-from;
- if (max-dest<len+2) goto nospace;
- pe->h_aliases[aliasidx]=dest;
- memmove(dest,from,(size_t)(cur-from));
- dest+=len;
- *dest=0; ++dest;
- }
- if (*cur=='\n') { ++cur; ++aliasidx; break; }
- if (cur>=last || !isblank(*cur)) break;
- cur++;
- }
- pe->h_aliases[aliasidx]=0;
- pe->h_name=pe->h_aliases[0];
- pe->h_aliases++;
- return pe;
-parseerror:
- while (cur<last && *cur!='\n') cur++;
- cur++;
- goto again;
-nospace:
- errno=ERANGE;
- goto __error;
-error:
- errno=ENOMEM;
-__error:
- if (hostmap!=(char*)-1) munmap(hostmap,hostlen);
- hostmap=(char*)-1;
- return 0;
-}
-
-void sethostent(int stayopen) {
- (void)stayopen;
- cur=hostmap;
-}
-
-void endhostent(void) {
- if (hostmap!=(char*)-1) munmap(hostmap,hostlen);
- hostmap=0;
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/getmntent.c b/mdk-stage1/dietlibc/libugly/getmntent.c
deleted file mode 100644
index 1a1bdca24..000000000
--- a/mdk-stage1/dietlibc/libugly/getmntent.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <mntent.h>
-#include <string.h>
-
-struct mntent *getmntent(FILE *filep) {
- static struct mntent m;
- static char buf[1024];
- do {
- char *tmp=buf;
- int num;
- if (!fgets(buf,1024,filep)) return 0;
-/* "/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!=' ' && *tmp!='\t') continue; break;
- case 5: m.mnt_passno=strtol(tmp,&tmp,0); if (*tmp=='\n') return &m; break;
- }
- while (*tmp && *tmp!=' ' && *tmp!='\n' && *tmp!='\t') ++tmp;
- if (*tmp) {
- if (num<4) *tmp++=0;
- while (*tmp==' ' || *tmp=='\t') ++tmp;
- } else
- continue;
- }
- } while (1);
-}
diff --git a/mdk-stage1/dietlibc/libugly/getnameinfo.c b/mdk-stage1/dietlibc/libugly/getnameinfo.c
deleted file mode 100644
index 40883ba09..000000000
--- a/mdk-stage1/dietlibc/libugly/getnameinfo.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <string.h>
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-
-int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
- size_t hostlen, char *serv, size_t servlen, int flags) {
- sa_family_t f=((struct sockaddr_storage *)sa)->ss_family;
- (void)salen; /* shut gcc up about unused salen */
- if (host && hostlen>0) { /* user wants me to resolve the host name */
- register const char*addr=(f==AF_INET6)?(char*)&((struct sockaddr_in6*)sa)->sin6_addr:
- (char*)&((struct sockaddr_in*)sa)->sin_addr;
- if (flags&NI_NUMERICHOST) {
- if (!inet_ntop(f,addr,host,hostlen))
- return EAI_NONAME;
- } else {
- char buf[4096];
- struct hostent h;
- struct hostent *H;
- int herrno;
- if (gethostbyaddr_r(addr,f==AF_INET6?16:4,f,&h,buf,4096,&H,&herrno)) {
- switch (herrno) {
- case TRY_AGAIN: return EAI_AGAIN;
- case NO_DATA:
- case HOST_NOT_FOUND: return EAI_NONAME;
- }
- }
- strncpy(host,h.h_name,hostlen-1);
- host[hostlen-1]=0;
- }
- }
- if (serv && servlen>0) {
- register short int port=(f==AF_INET6)?((struct sockaddr_in6*)sa)->sin6_port:((struct sockaddr_in*)sa)->sin_port;
- if (flags&NI_NUMERICSERV) {
- __ltostr(serv,servlen,ntohs(port),10,0);
- } else {
- struct servent *s;
- if (!(s=getservbyport(port,flags&NI_DGRAM?"udp":"tcp")))
- return EAI_SERVICE;
- }
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotobyname.c b/mdk-stage1/dietlibc/libugly/getprotobyname.c
deleted file mode 100644
index 1de348791..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotobyname.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern struct protoent __protoent_pw;
-extern char __protoent_buf[1000];
-
-struct protoent *getprotobyname(const char *name) {
- struct protoent* tmp;
- if (getprotobyname_r(name,&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp)==0)
- return tmp;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotobyname_r.c b/mdk-stage1/dietlibc/libugly/getprotobyname_r.c
deleted file mode 100644
index 3b1219aa7..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotobyname_r.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern int getprotobyname_r(const char* name,
- struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) {
- while (!getprotoent_r(res,buf,buflen,res_sig)) {
- int i;
- if (!strcmp(res->p_name,name)) goto found;
- for (i=0; res->p_aliases[i]; ++i)
- if (!strcmp(res->p_aliases[i],name)) goto found;
- }
- *res_sig=0;
-found:
- endprotoent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotobynumber.c b/mdk-stage1/dietlibc/libugly/getprotobynumber.c
deleted file mode 100644
index 6170753e2..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotobynumber.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern struct protoent __protoent_pw;
-extern char __protoent_buf[1000];
-
-struct protoent *getprotobynumber(int proto) {
- struct protoent* tmp;
- if (getprotobynumber_r(proto,&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp)==0)
- return tmp;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c b/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c
deleted file mode 100644
index 2ca439fc6..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern int getprotobynumber_r(int proto,
- struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) {
- while (!getprotoent_r(res,buf,buflen,res_sig))
- if (proto==res->p_proto) goto found;
- *res_sig=0;
-found:
- endprotoent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotoent.c b/mdk-stage1/dietlibc/libugly/getprotoent.c
deleted file mode 100644
index 3f0fd4d41..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotoent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <netdb.h>
-
-extern struct protoent __protoent_pw;
-extern char __protoent_buf[1000];
-
-struct protoent *getprotoent(void) {
- struct protoent* tmp;
- getprotoent_r(&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotoent_r.c b/mdk-stage1/dietlibc/libugly/getprotoent_r.c
deleted file mode 100644
index aa9af79c3..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotoent_r.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <netdb.h>
-#include <ctype.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setprotoent(int stayopen) {
- (void)stayopen;
- __prepare_parse(_PATH_PROTOCOLS,&__ps);
-}
-
-void endprotoent(void) {
- __end_parse(&__ps);
-}
-
-#define ALIASES 16
-
-/* "igmp 2 IGMP # internet group management protocol" */
-int getprotoent_r(struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) {
- size_t i,j,n,g;
- unsigned long l;
- if (!__ps.buffirst) setprotoent(0);
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
- res->p_aliases=(char**)buf;
-/* getprotoent */
-again:
- n=ALIASES*sizeof(char*); g=0;
- for (i=0; i<3; ++i) {
- char found;
- __ps.cur+=__parse_ws(&__ps);
- if (__ps.cur>=__ps.buflen) { if (i==2) break; else goto error; }
- j=__parse_nws(&__ps);
- if (!isblank(found=__ps.buffirst[__ps.cur+j])) {
- if (i==2) break; /* it's ok, no (more) aliases necessary */
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- }
- switch (i) {
- case 0:
- res->p_name=buf+n;
-copy:
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- if ((found=='\n' || found=='#') && i==1) i=3;
- break;
- case 1:
- if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror;
- res->p_proto=l;
- break;
- case 2:
- res->p_aliases[g]=buf+n;
- ++g;
- if (g==(ALIASES-1)) break;
- --i; /* again */
- goto copy;
- }
- __ps.cur+=j+1;
- }
- res->p_aliases[g]=0;
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservbyname.c b/mdk-stage1/dietlibc/libugly/getservbyname.c
deleted file mode 100644
index f1c74eaa9..000000000
--- a/mdk-stage1/dietlibc/libugly/getservbyname.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern struct servent __servent_pw;
-extern char __servent_buf[1000];
-
-struct servent *getservbyname(const char *name, const char *proto) {
- struct servent* tmp;
- if (getservbyname_r(name,proto,&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp)==0)
- return tmp;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservbyname_r.c b/mdk-stage1/dietlibc/libugly/getservbyname_r.c
deleted file mode 100644
index f523a01ca..000000000
--- a/mdk-stage1/dietlibc/libugly/getservbyname_r.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern int getservbyname_r(const char* name,const char* proto,
- struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) {
- while (!getservent_r(res,buf,buflen,res_sig)) {
- int i;
- if (proto && strcmp(res->s_proto,proto)) continue;
- if (!strcmp(res->s_name,name)) goto found;
- for (i=0; res->s_aliases[i]; ++i)
- if (!strcmp(res->s_aliases[i],name)) goto found;
- }
- *res_sig=0;
-found:
- endservent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservbyport.c b/mdk-stage1/dietlibc/libugly/getservbyport.c
deleted file mode 100644
index 2821deb63..000000000
--- a/mdk-stage1/dietlibc/libugly/getservbyport.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern struct servent __servent_pw;
-extern char __servent_buf[1000];
-
-struct servent *getservbyport(int port, const char *proto) {
- struct servent* tmp;
- if (getservbyport_r(port,proto,&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp)==0)
- return tmp;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservbyport_r.c b/mdk-stage1/dietlibc/libugly/getservbyport_r.c
deleted file mode 100644
index 9c0f21bdf..000000000
--- a/mdk-stage1/dietlibc/libugly/getservbyport_r.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern int getservbyport_r(int port,const char* proto,
- struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) {
- while (!getservent_r(res,buf,buflen,res_sig))
- if (port==res->s_port && !strcmp(res->s_proto,proto)) goto ok;
- *res_sig=0;
-ok:
- endservent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservent.c b/mdk-stage1/dietlibc/libugly/getservent.c
deleted file mode 100644
index 9eabc972a..000000000
--- a/mdk-stage1/dietlibc/libugly/getservent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <netdb.h>
-
-extern struct servent __servent_pw;
-extern char __servent_buf[1000];
-
-struct servent *getservent(void) {
- struct servent* tmp;
- getservent_r(&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservent_r.c b/mdk-stage1/dietlibc/libugly/getservent_r.c
deleted file mode 100644
index 33db6f31d..000000000
--- a/mdk-stage1/dietlibc/libugly/getservent_r.c
+++ /dev/null
@@ -1,91 +0,0 @@
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <netdb.h>
-#include <ctype.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setservent(int stayopen) {
- (void)stayopen;
- __prepare_parse(_PATH_SERVICES,&__ps);
-}
-
-void endservent(void) {
- __end_parse(&__ps);
-}
-
-#define ALIASES 16
-
-/* "tcpmux 1/tcp # TCP port multiplexer (RFC1078)" */
-int getservent_r(struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) {
- size_t i,j,n,g;
- unsigned long l;
- if (!__ps.buffirst) setservent(0);
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
- res->s_aliases=(char**)buf;
-/* getservent */
-again:
- n=ALIASES*sizeof(char*); g=0;
- for (i=0; i<3; ++i) {
- char found;
- __ps.cur+=__parse_ws(&__ps);
- if (__ps.cur>=__ps.buflen) { if (i==2) break; else goto error; }
- j=__parse_nws(&__ps);
- if (!isblank(found=__ps.buffirst[__ps.cur+j])) {
- if (i==2 && found=='#') break;
- if (found=='#' || (i>1 && found!='\n')) {
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- goto error;
- }
- }
- switch (i) {
- case 0:
- res->s_name=buf+n;
-copy:
- if (!j) goto parseerror;
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- if ((found=='\n' || found=='#') && i==1) i=3;
- break;
- case 1:
- {
- int k;
- k=scan_ulong(__ps.buffirst+__ps.cur,&l);
- if (__ps.buffirst[__ps.cur+k]!='/') {
- goto parseerror;
- }
- res->s_port=htons(l);
- res->s_proto=buf+n;
- j-=k+1; __ps.cur+=k+1;
- goto copy;
- }
- case 2:
- res->s_aliases[g]=buf+n;
- ++g;
- if (g==(ALIASES-1)) break;
- --i; /* again */
- goto copy;
- }
- __ps.cur+=j+1;
- }
- res->s_aliases[g]=0;
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -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 6bc0bb5b2..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 short __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/grantpt.c b/mdk-stage1/dietlibc/libugly/grantpt.c
deleted file mode 100644
index 0aa903b29..000000000
--- a/mdk-stage1/dietlibc/libugly/grantpt.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#define _XOPEN_SOURCE
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <stdlib.h>
-
-int grantpt (int fd) {
- struct stat st;
- if ((fstat(fd, &st))<0) return -1;
- if ((chmod((char*)ptsname(fd), st.st_mode | S_IRUSR | S_IWUSR | S_IWGRP))<0)
- return -1;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/hasmntopt.c b/mdk-stage1/dietlibc/libugly/hasmntopt.c
deleted file mode 100644
index 2a547feee..000000000
--- a/mdk-stage1/dietlibc/libugly/hasmntopt.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <string.h>
-#include <mntent.h>
-
-char *hasmntopt(const struct mntent *mnt, const char *opt) {
- char *s=mnt->mnt_opts;
- char *c;
- int len=strlen(opt);
- if (!s) return 0;
- for (c=s;;) {
- if (!(c=strstr(c,opt))) break;
- if (c==s || c[-1]==',') {
- if (c[len]==0 || c[len]==',' || c[len]=='=')
- return c;
- }
- c+=len+1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/iconv.c b/mdk-stage1/dietlibc/libugly/iconv.c
deleted file mode 100644
index 45be5d91d..000000000
--- a/mdk-stage1/dietlibc/libugly/iconv.c
+++ /dev/null
@@ -1,71 +0,0 @@
-#include "dietfeatures.h"
-#include <errno.h>
-#include "dieticonv.h"
-#include <netinet/in.h>
-
-size_t iconv(iconv_t cd, const char* * inbuf, size_t *
- inbytesleft, char* * outbuf, size_t * outbytesleft) {
- size_t converted=0,i,j,k;
- int bits;
- if (!inbuf || !*inbuf) return 0;
- while (*inbytesleft) {
- unsigned int v=0;
- v=*(unsigned char*)*inbuf;
- i=j=1;
- switch (ic_from(cd)) {
- case UCS_2:
- v=ntohs(*(unsigned short*)*inbuf);
- i=2;
- break;
- case UCS_4:
- v=ntohs(*(unsigned int*)*inbuf);
- i=4;
- case ISO_8859_1:
- break;
- case UTF_8:
- if (!(v&0x80)) break;
- for (i=0xC0; i!=0xFC; i=(i>>1)+0x80)
- if ((v&((i>>1)|0x80))==i) {
- v&=~i;
- break;
- }
- for (i=1; ((*inbuf)[i]&0xc0)==0x80; ++i)
- v=(v<<6)|((*inbuf)[i]&0x3f);
-/* printf("got %u in %u bytes, buflen %u\n",v,i,*inbytesleft); */
- break;
- }
- switch (ic_to(cd)) {
- case ISO_8859_1:
- **outbuf=(unsigned char)v;
- break;
- case UCS_2:
- *(unsigned short*)*outbuf=htons(v);
- j=2;
- break;
- case UCS_4:
- *(unsigned int*)*outbuf=htonl(v);
- j=4;
- break;
- case UTF_8:
- if (v>0x04000000) { bits=30; **outbuf=0xFC; j=6; } else
- if (v>0x00200000) { bits=24; **outbuf=0xF8; j=5; } else
- if (v>0x00010000) { bits=18; **outbuf=0xF0; j=4; } else
- if (v>0x00000800) { bits=12; **outbuf=0xE0; j=3; } else
- if (v>0x00000080) { bits=6; **outbuf=0xC0; j=2; } else
- { bits=0; **outbuf=0; }
- **outbuf |= (unsigned char)(v>>bits);
- if (*outbytesleft<j) {
- errno=E2BIG;
- return (size_t)-1;
- }
- for (k=1; k<j; ++k) {
- bits-=6;
- (*outbuf)[k]=0x80+((v>>bits)&0x3F);
- }
- break;
- }
- *inbuf+=i; *inbytesleft-=i; ++converted;
- *outbuf+=j; *outbytesleft-=j;
- }
- return converted;
-}
diff --git a/mdk-stage1/dietlibc/libugly/iconv_close.c b/mdk-stage1/dietlibc/libugly/iconv_close.c
deleted file mode 100644
index 7d5d4c4b9..000000000
--- a/mdk-stage1/dietlibc/libugly/iconv_close.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdlib.h>
-#include "dieticonv.h"
-
-int iconv_close(iconv_t cd) {
- (void)cd; /* shut gcc up about unused cd */
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/iconv_open.c b/mdk-stage1/dietlibc/libugly/iconv_open.c
deleted file mode 100644
index eabab4273..000000000
--- a/mdk-stage1/dietlibc/libugly/iconv_open.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <string.h>
-#include <strings.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include <stdlib.h>
-#include "dieticonv.h"
-
-static enum charset parsecharset(const char* s) {
- if (!strcasecmp(s,"UTF-8")) return UTF_8; else
- if (!strcasecmp(s,"UCS-2") || !strcasecmp(s,"UCS2")) return UCS_2; else
- if (!strcasecmp(s,"UCS-4") || !strcasecmp(s,"UCS4")) return UCS_4; else
- if (!strcasecmp(s,"ISO-8859-1")) return ISO_8859_1; else
- if (!strcasecmp(s,"US-ASCII")) return ISO_8859_1; else
- return INVALID;
-}
-
-iconv_t iconv_open(const char* tocode, const char* fromcode) {
- int f,t;
-
- f=parsecharset(fromcode);
- t=parsecharset(tocode);
-
- if (f==INVALID || t==INVALID) {
- errno=EINVAL;
- return (iconv_t)(-1);
- }
- return (f|t<<16);
-}
diff --git a/mdk-stage1/dietlibc/libugly/isleap.c b/mdk-stage1/dietlibc/libugly/isleap.c
deleted file mode 100644
index d83712792..000000000
--- a/mdk-stage1/dietlibc/libugly/isleap.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <time.h>
-
-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 5d420303c..000000000
--- a/mdk-stage1/dietlibc/libugly/localtime_r.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dietfeatures.h"
-#include <time.h>
-#include <sys/time.h>
-
-#ifdef WANT_TZFILE_PARSER
-extern void __maplocaltime(void);
-extern time_t __tzfile_map(time_t t, int *isdst);
-#else
-extern long int timezone;
-extern int daylight;
-#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);
- timezone=tz.tz_minuteswest*60L;
- tmp=*t+timezone;
-#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 680a1f850..000000000
--- a/mdk-stage1/dietlibc/libugly/logging.c
+++ /dev/null
@@ -1,197 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <unistd.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 2048 /* messagebuffer size (>= 200) */
-
-#define MAX_LOGTAG 1000
-
-/* 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 __libc_closelog(void);
-void __libc_closelog(void)
-{
- closelog_intern();
-
- LogTag[0]=0;
- LogType = SOCK_DGRAM;
-}
-void closelog(void) __attribute__((weak,alias("__libc_closelog")));
-
-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) {
- int old_errno=errno;
- if(connect(LogFile, &SyslogAddr, sizeof(SyslogAddr)) == -1) {
- int saved_errno=errno;
- close(LogFile);
- LogFile = -1;
- if((LogType == SOCK_DGRAM) && (saved_errno == EPROTOTYPE)) {
- /* retry with SOCK_STREAM instead of SOCK_DGRAM */
- LogType = SOCK_STREAM;
- errno=old_errno;
- continue;
- }
- }
- else connected = 1;
- }
- break;
- }
-}
-
-/* has to be secured against multiple, simultanious call's in threaded environment */
-void __libc_openlog(const char *ident, int option, int facility);
-void __libc_openlog(const char *ident, int option, int facility)
-{
- if (ident) {
- strncpy(LogTag,ident,MAX_LOGTAG);
- LogTag[MAX_LOGTAG-1]=0;
- }
- openlog_intern(option, facility);
-}
-void openlog(const char *ident, int option, int facility) __attribute__((weak,alias("__libc_openlog")));
-
-int setlogmask(int mask)
-{
- int old = LogMask;
- if (mask) LogMask = mask;
- return old;
-}
-
-void __libc_vsyslog(int priority, const char *format, va_list arg_ptr);
-void __libc_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;
- int saved_errno = errno;
-
- /* 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 {
- errno=saved_errno;
- 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 vsyslog(int priority, const char *format, va_list arg_ptr) __attribute__((weak,alias("__libc_vsyslog")));
-
-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 348068e1d..000000000
--- a/mdk-stage1/dietlibc/libugly/mktime.c
+++ /dev/null
@@ -1,53 +0,0 @@
-#include <time.h>
-
-extern const short __spm [];
-
-time_t mktime ( register struct tm* const t )
-{
- register time_t day;
- register time_t i;
-
- if ( t->tm_year < 70 )
- return (time_t) -1;
-
- day = t->tm_yday = __spm [t->tm_mon] + t->tm_mday-1 + ( __isleap (t->tm_year+1900) & (t->tm_mon > 1) );
-
- for ( i = 70; i < t->tm_year; i++ )
- day += 365 + __isleap (i+1900);
-
- /* day is now the number of days since 'Jan 1 1970' */
- i = 7;
- t->tm_wday = (day + 4) % i; /* Sunday=0, Monday=1, ..., Saturday=6 */
-
- i = 24;
- day *= i;
- i = 60;
- return ((day + t->tm_hour) * i + t->tm_min) * i + t->tm_sec;
-}
-
-#if 0
-
-#include <math.h>
-
-main()
-{
- int i, j, k;
- static char *s[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
-
- for (i=70; i<200; i++)
- for (j=0; j<12; j++)
- for (k=1; k<=31; k++) {
- struct tm t;
- double x;
- t.tm_year = i;
- t.tm_mon = j;
- t.tm_mday = k;
- t.tm_hour = 0;
- t.tm_min = 0;
- t.tm_sec = 0;
- x = mktime (&t);
- printf ("%4d.%5.0f %2u.%02u.%04u %s\n", (int)floor(x/86400), x-86400.*(int)floor(x/86400), k, j+1, 1900+i, s[t.tm_wday] );
- }
-
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libugly/netent.c b/mdk-stage1/dietlibc/libugly/netent.c
deleted file mode 100644
index 4710d0fe6..000000000
--- a/mdk-stage1/dietlibc/libugly/netent.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <ctype.h>
-#include "dietfeatures.h"
-#include <netdb.h>
-#include <arpa/inet.h>
-
-static int netfd=-1;
-static char* netmap;
-static unsigned int netlen;
-
-static char* aliases[10];
-
-static char *cur;
-
-/* loopback 127.0.0.0 lo # comment */
-struct netent *getnetent(void) {
- static struct netent ne;
- char *last;
- int aliasidx;
- if (netfd<0) {
- netfd=open(_PATH_NETWORKS,O_RDONLY);
- if (netfd<0) return 0;
- fcntl (netfd, F_SETFD, FD_CLOEXEC);
- netlen=lseek(netfd,0,SEEK_END);
- netmap=mmap(0,netlen,PROT_READ|PROT_WRITE,MAP_PRIVATE,netfd,0);
- if ((long)netmap==(-1)) goto error;
- cur=netmap;
- }
- last=netmap+netlen;
-again:
- ne.n_name=0;
- ne.n_aliases=aliases; aliases[0]=0;
- ne.n_addrtype=AF_INET;
- ne.n_net=0;
- if (cur>=last) return 0;
- if (*cur=='#' || *cur=='\n') goto parseerror;
- /* first, the primary name */
- if (!isalpha(*cur)) goto parseerror;
- ne.n_name=cur;
- ne.n_aliases=aliases;
- while (cur<last && isalnum(*cur)) cur++;
- if (cur>=last) return 0;
- if (*cur=='\n') goto parseerror;
- *cur=0; cur++;
- /* second, the ip */
- while (cur<last && isblank(*cur)) cur++;
- {
- const char *tmp=cur;
- char save;
- while (cur<last && (isdigit(*cur) || *cur=='.')) ++cur;
- save=*cur; *cur=0;
- if (inet_aton(tmp,(struct in_addr*)&ne.n_net)==0) goto parseerror;
- *cur=save;
- }
- if (cur>=last) return 0;
- /* 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 &ne;
-parseerror:
- while (cur<last && *cur!='\n') cur++;
- cur++;
- goto again;
-error:
- if (netmap!=(char*)-1) munmap(netmap,netlen);
- if (netfd!=-1) close(netfd);
- netmap=(char*)-1;
- netfd=-1;
- errno=ENOMEM;
- return 0;
-}
-
-struct netent *getnetbyaddr(unsigned long net, int type) {
- struct netent *s;
- for (s=getnetent(); s; s=getnetent()) {
- if (net==s->n_net && type==s->n_addrtype)
- return s;
- }
- return 0;
-}
-
-void endnetent(void) {
- if (netmap!=(char*)-1) munmap(netmap,netlen);
- if (netfd!=-1) close(netfd);
- netmap=(char*)-1;
- netfd=-1;
-}
-
-void setnetent(int stayopen) {
- (void)stayopen;
- endnetent();
-}
-
-struct netent *getnetbyname(const char *name) {
- struct netent *s;
- setnetent(0);
- for (s=getnetent(); s; s=getnetent()) {
- 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(s->s_name,"ssh")) {
- write(2,"ssh!\n",5);
- }
-#endif
- if (!strcmp(name,s->n_name))
- return s;
- tmp=s->n_aliases;
- while (*tmp)
- if (!strcmp(name,*tmp++)) return s;
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/openpty.c b/mdk-stage1/dietlibc/libugly/openpty.c
deleted file mode 100644
index 8d06f329c..000000000
--- a/mdk-stage1/dietlibc/libugly/openpty.c
+++ /dev/null
@@ -1,54 +0,0 @@
-#include <unistd.h>
-#include <pty.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <errno.h>
-#include <string.h>
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-
-int openpty(int *amaster, int *aslave, char *name, struct termios
- *termp, struct winsize *winp) {
- int fd;
- char buf[20];
-#if 0
- This is what glibc does:
- open("/dev/ptmx", O_RDWR) = 4
- statfs("/dev/pts", {f_type=0x1cd1, f_bsize=1024, f_blocks=0, f_bfree=0, f_files=0, f_ffree=0, f_namelen=255}) = 0
- ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0
- ioctl(4, 0x80045430, [0]) = 0
- stat("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
- statfs("/dev/pts/0", {f_type=0x1cd1, f_bsize=1024, f_blocks=0, f_bfree=0, f_files=0, f_ffree=0, f_namelen=255}) = 0
- ioctl(4, 0x40045431, [0]) = 0
- ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0
- ioctl(4, 0x80045430, [0]) = 0
- stat("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
- open("/dev/pts/0", O_RDWR|O_NOCTTY) = 5
-#endif
- if ((fd=open("/dev/ptmx",O_RDWR))<0) return -1;
-#if 0
- if (ioctl(fd,TCGETS,&ts)<0) goto kaputt;
-#endif
- {
- int unlock=0;
- while (ioctl(fd,TIOCSPTLCK, &unlock)<0) if (errno!=EINTR) goto kaputt;
- }
- {
- int ptyno;
- while (ioctl(fd,TIOCGPTN,&ptyno)<0) if (errno!=EINTR) goto kaputt;
- strcpy(buf,"/dev/pts/");
- __ltostr(buf+9,10,ptyno,10,0);
- }
- *aslave=open(buf,O_RDWR|O_NOCTTY);
- if (*aslave<0) goto kaputt;
- *amaster=fd;
- if (name) strcpy(name,buf);
- if (termp)
- while (tcsetattr(*aslave,TCSAFLUSH,termp) && errno==EINTR);
- if (winp) while (ioctl(*aslave, TIOCSWINSZ, winp) && errno==EINTR);
- return 0;
-kaputt:
- close(fd);
- return -1;
-}
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 aa9a2cde0..000000000
--- a/mdk-stage1/dietlibc/libugly/popen.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include "binshstr.h"
-
-extern char **environ;
-
-FILE *popen(const char *command, const char *type) {
- int pfd[2];
- int fd0;
- FILE* f;
- pid_t pid;
-
- if (pipe(pfd)<0) return 0;
- fd0=(*type=='r');
- if (!(f=fdopen(pfd[!fd0],type))) {
- close(pfd[0]); /* malloc failed */
- close(pfd[1]);
- return 0;
- }
- if ((pid=fork())<0) {
- close(pfd[0]);
- close(pfd[1]);
- return 0;
- }
- if (!pid) { /* child */
- const char *argv[]={__sh,"-c",0,0};
- close(pfd[!fd0]); close(fd0);
- dup2(pfd[fd0],fd0); close(pfd[fd0]);
- argv[2]=command;
- execve(__binsh,(char*const*)argv,environ);
- _exit(127);
- }
- close(pfd[fd0]);
- fcntl (pfd[!fd0], F_SETFD, FD_CLOEXEC);
- 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/protoent_buf.c b/mdk-stage1/dietlibc/libugly/protoent_buf.c
deleted file mode 100644
index 0e303a5d4..000000000
--- a/mdk-stage1/dietlibc/libugly/protoent_buf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <netdb.h>
-
-struct protoent __protoent_pw;
-char __protoent_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libugly/ptsname.c b/mdk-stage1/dietlibc/libugly/ptsname.c
deleted file mode 100644
index a332faf6c..000000000
--- a/mdk-stage1/dietlibc/libugly/ptsname.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#define _XOPEN_SOURCE
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <stdlib.h>
-#include <string.h>
-
-# define MAX_FDS 4
-
-char *ptsname(int fd) {
- static char buffer[9+MAX_FDS]; /* Ahh..great */
- int pty;
-
- strcpy(buffer,"/dev/pts/");
- if ((ioctl(fd, TIOCGPTN, &pty)) == -1) return 0;
- __ltostr(buffer+9, MAX_FDS, pty, 10, 0);
- return buffer;
-}
diff --git a/mdk-stage1/dietlibc/libugly/putpwent.c b/mdk-stage1/dietlibc/libugly/putpwent.c
deleted file mode 100644
index f192c5934..000000000
--- a/mdk-stage1/dietlibc/libugly/putpwent.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* man, what a crook! */
-
-#include <pwd.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <errno.h>
-#include "dietwarning.h"
-
-int putpwent(const struct passwd *p, FILE *stream) {
- if (p && stream) {
- fprintf(stream,"%s:%s:%d:%d:%s:%s:%s\n", p->pw_name, p->pw_passwd,
- p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
- return 0;
- }
- (*__errno_location())=EINVAL;
- return -1;
-}
-
-link_warning("putpwent","putpwent is garbage, don't use!")
diff --git a/mdk-stage1/dietlibc/libugly/servent_buf.c b/mdk-stage1/dietlibc/libugly/servent_buf.c
deleted file mode 100644
index b9e992adf..000000000
--- a/mdk-stage1/dietlibc/libugly/servent_buf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <netdb.h>
-
-struct servent __servent_pw;
-char __servent_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libugly/setenv.c b/mdk-stage1/dietlibc/libugly/setenv.c
deleted file mode 100644
index c65910471..000000000
--- a/mdk-stage1/dietlibc/libugly/setenv.c
+++ /dev/null
@@ -1,19 +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) {
- if (getenv(name)) {
- if (!overwrite) return 0;
- unsetenv(name);
- }
- {
- char *c=malloc(strlen(name)+strlen(value)+3);
- 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 365d0c84f..000000000
--- a/mdk-stage1/dietlibc/libugly/strftime.c
+++ /dev/null
@@ -1,118 +0,0 @@
-#include <sys/types.h>
-#include <time.h>
-#include "dietfeatures.h"
-
-static const char sweekdays [7] [4] = {
- "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
-};
-static const char weekdays [7] [10] = {
- "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
-};
-static const char smonths [12] [4] = {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-};
-static const char* months [12] = {
- "January", "February", "March", "April", smonths[5-1], "June",
- "July", "August", "September", "October", "November", "December"
-};
-static const char ampm [4] [3] = {
- "am", "pm",
- "AM", "PM"
-};
-
-static int i2a ( char* dest,unsigned int x )
-{
- int div = 10;
- *dest++ = x/div + '0';
- *dest++ = x%div + '0';
- *dest++ = '\0';
- return 2;
-}
-
-size_t strftime ( char* dst, size_t max, const char* format, const struct tm* tm )
-{
- char* p = dst;
- const char* src;
- unsigned int no;
- char buf [5];
-
-
- for ( ; *format != '\0'; format++ ) {
- if (*format == '%') {
- if (*++format == '%') {
- *p++ = '%';
- }
- else
-again:
- switch (*format) {
-// case '%': *p++ = '%'; break; // reduce size of jump table
- case 'n': *p++ = '\n'; break;
- case 't': *p++ = '\t'; break;
- case 'O': case 'E': ++format; goto again;
- case 'c': src = "%b %a %d %k:%M:%S %Z %Y"; goto _strf;
- case 'r': src = "%I:%M:%S %p"; goto _strf;
- case 'R': src = "%H:%M"; goto _strf;
- case 'x': src = "%b %a %d"; goto _strf;
- case 'X': src = "%k:%M:%S"; goto _strf;
- case 'D': src = "%m/%d/%y"; goto _strf;
- case 'T': src = "%H:%M:%S";
- _strf: p += strftime (p, (size_t)(dst+max-p), src, tm); break;
- case 'a': src = sweekdays [tm->tm_wday]; goto _str;
- case 'A': src = weekdays [tm->tm_wday]; goto _str;
- case 'h':
- case 'b': src = smonths [tm->tm_mon]; goto _str;
- case 'B': src = months [tm->tm_mon]; goto _str;
- case 'p': src = ampm [tm->tm_hour > 12 ? 3 : 2]; goto _str;
- case 'P': src = ampm [tm->tm_hour > 12 ? 1 : 0]; goto _str;
- case 'C': no = tm->tm_year/100 + 19; goto _no;
- case 'd': no = tm->tm_mday; goto _no;
- case 'e': no = tm->tm_mday; goto _nos;
- case 'H': no = tm->tm_hour; goto _no;
- case 'I': no = tm->tm_hour % 12; goto _no;
- case 'j': no = tm->tm_yday; goto _no;
- case 'k': no = tm->tm_hour; goto _nos;
- case 'l': no = tm->tm_hour % 12; goto _nos;
- case 'm': no = tm->tm_mon + 1; goto _no;
- case 'M': no = tm->tm_min; goto _no;
- case 'S': no = tm->tm_sec; goto _no;
- case 'u': no = tm->tm_wday ? tm->tm_wday : 7; goto _no;
- case 'w': no = tm->tm_wday; goto _no;
- case 'U': no = (tm->tm_yday - tm->tm_wday + 7) / 7; goto _no;
- case 'W': no = (tm->tm_yday - (tm->tm_wday - 1 + 7) % 7 + 7) / 7; goto _no;
- case 'Z':
-#ifdef WANT_TZFILE_PARSER
- tzset(); src = tzname[0];
-#else
- src = "[unknown timezone]";
-#endif
- goto _str;
- case 'Y': i2a ( buf+0, (unsigned int)(tm->tm_year / 100 + 19) );
- i2a ( buf+2, (unsigned int)(tm->tm_year % 100) );
- src = buf;
- goto _str;
- case 'y': no = tm->tm_year % 100; goto _no;
- _no: i2a ( buf, no ); /* append number 'no' */
- src = buf;
- goto _str;
- _nos: i2a ( buf, no ); /* the same, but '0'->' ' */
- if (buf[0] == '0')
- buf[0] = ' ';
- src = buf;
- _str: while (*src && p < dst+max) /* append string */
- *p++ = *src++;
- break;
- };
- } else {
- *p++ = *format;
- }
-
- if (p >= dst+max)
- break;
- }
-
- *p = '\0';
- return p - dst;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libugly/strndup.c b/mdk-stage1/dietlibc/libugly/strndup.c
deleted file mode 100644
index 7f912d4c6..000000000
--- a/mdk-stage1/dietlibc/libugly/strndup.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-
-char *strndup(const char *s,size_t n) {
- char *tmp=(char *)malloc(n+1);
- if (!tmp) return 0;
- strncpy(tmp,s,n);
- tmp[n]=0;
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libugly/strsignal.c b/mdk-stage1/dietlibc/libugly/strsignal.c
deleted file mode 100644
index d72777571..000000000
--- a/mdk-stage1/dietlibc/libugly/strsignal.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define _GNU_SOURCE
-#include <string.h>
-#include <signal.h>
-
-const char* strsignal(int sig) {
- if (sig<=SIGRTMAX)
- return sys_siglist[sig];
- 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 714aad056..000000000
--- a/mdk-stage1/dietlibc/libugly/system.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include "dietwarning.h"
-#include "dietfeatures.h"
-#include "binshstr.h"
-
-extern char **environ;
-
-int __libc_system (const char *line);
-
-int __libc_system (const char *line)
-{
- struct sigaction sa, intr, quit;
- sigset_t block,omask;
- 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;
-undo:
- sigaction (SIGINT, &intr, (struct sigaction*)0);
- errno=save;
- return -1;
- }
- sigemptyset(&block);
- sigaddset(&block,SIGCHLD);
- if (sigprocmask(SIG_BLOCK,&block,&omask)<0) {
- save=errno;
- sigaction (SIGQUIT, &quit, (struct sigaction*)0);
- goto undo;
- }
-
- pid=fork();
- if (pid>0)
- { /* parent */
- int n;
- do
- n=waitpid(pid, &ret, 0);
- while ((n==-1) && (errno==EINTR));
- if (n!=pid) ret=-1;
- }
- else if (!pid)
- { /* child */
- const char *nargs[4];
- nargs[0] = __sh;
- nargs[1] = "-c";
- nargs[2] = line;
- nargs[3] = 0;
-
- sigaction(SIGINT, &intr, (struct sigaction*)0);
- sigaction(SIGQUIT, &quit, (struct sigaction*)0);
- sigprocmask(SIG_SETMASK,&omask,0);
-
- execve(__binsh,(char *const *)nargs, environ);
- _exit(127);
- }
- save = errno;
- sigaction (SIGINT, &intr, (struct sigaction *)0);
- sigaction (SIGQUIT, &quit, (struct sigaction *)0);
- sigprocmask(SIG_SETMASK,&omask,0);
- 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 6850d76c4..000000000
--- a/mdk-stage1/dietlibc/libugly/time_table_spd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <time.h>
-
-/* days per month -- nonleap! */
-const short __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/timezone.c b/mdk-stage1/dietlibc/libugly/timezone.c
deleted file mode 100644
index e8a94a906..000000000
--- a/mdk-stage1/dietlibc/libugly/timezone.c
+++ /dev/null
@@ -1,3 +0,0 @@
-
-long int timezone;
-int daylight;
diff --git a/mdk-stage1/dietlibc/libugly/tzfile.c b/mdk-stage1/dietlibc/libugly/tzfile.c
deleted file mode 100644
index e0e8f7846..000000000
--- a/mdk-stage1/dietlibc/libugly/tzfile.c
+++ /dev/null
@@ -1,107 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <netinet/in.h>
-#include <time.h>
-
-/* #include <stdio.h> */
-
-char* tzname[2]={"GMT","GMT"};
-
-#ifdef WANT_TZFILE_PARSER
-static char *tzfile=0;
-static int tzlen=-1;
-
-void __maplocaltime(void);
-void __maplocaltime(void) {
- 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_PRIVATE,fd,0))==MAP_FAILED) return;
- close(fd);
- if (ntohl(*(int*)tzfile) != 0x545a6966) return;
- tzlen=len;
-}
-
-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);
-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");
- for (i=0; i<tzh_charcnt; ++i) {
- printf("%s\"%s\"",i?", ":"",tmp);
- tmp+=strlen(tmp);
- }
- printf("\n");
-#endif
-
- tmp=tzfile+20+6*4;
- daylight=(tzh_timecnt>0);
- for (i=0; i<tzh_timecnt; ++i) {
- if ((time_t)__myntohl(tmp+i*4) >= t) {
- char* tz=tmp;
-/* printf("match at %d\n",i); */
- tmp+=tzh_timecnt*4;
- i=tmp[i-1];
-/* printf("using index %d\n",i); */
- tmp+=tzh_timecnt;
- tz+=tzh_timecnt*5+tzh_leapcnt*4+tzh_typecnt*6;
- tmp+=i*6;
-/* printf("(%lu,%d,%d)\n",ntohl(*(int*)tmp),tmp[4],tmp[5]); */
- *isdst=tmp[4];
- tzname[0]=tz+tmp[5];
- timezone=-(__myntohl(tmp));
- return t-timezone;
- }
- }
- return t;
-}
-
-void tzset(void) {
- int isdst;
- __maplocaltime();
- __tzfile_map(time(0),&isdst);
-}
-
-#else
-void tzset(void) __attribute__((weak,alias("__nop")));
-#endif
diff --git a/mdk-stage1/dietlibc/libugly/unlockpt.c b/mdk-stage1/dietlibc/libugly/unlockpt.c
deleted file mode 100644
index e0246ed8e..000000000
--- a/mdk-stage1/dietlibc/libugly/unlockpt.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define _XOPEN_SOURCE
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-int unlockpt (int fd) {
- int foo;
- /* hehe, that one is easy */
- return (ioctl (fd, TIOCSPTLCK, &foo));
-}
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/libugly/utent.c b/mdk-stage1/dietlibc/libugly/utent.c
deleted file mode 100644
index d8d5d1ba7..000000000
--- a/mdk-stage1/dietlibc/libugly/utent.c
+++ /dev/null
@@ -1,103 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <utmp.h>
-
-static const char *utmp_file_name = _PATH_UTMP;
-static int fd = -1;
-
-static int lock_record(int type) {
- struct flock fl;
- fl.l_whence = SEEK_CUR;
- fl.l_start = 0;
- fl.l_len = sizeof(struct utmp);
- fl.l_pid = 0;
- fl.l_type = type;
- return fcntl(fd, F_SETLKW, &fl);
-}
-
-static int unlock_record() {
- struct flock fl;
- fl.l_whence = SEEK_CUR;
- fl.l_start = -sizeof(struct utmp);
- fl.l_len = sizeof(struct utmp);
- fl.l_pid = 0;
- fl.l_type = F_UNLCK;
- return fcntl(fd, F_SETLK, &fl);
-}
-
-void utmpname(const char *file) {
- if (file)
- utmp_file_name = file;
- else
- utmp_file_name = _PATH_UTMP;
-}
-
-void setutent() {
- if (fd<0) fd = open(utmp_file_name,O_RDWR);
- if (fd<0) fd = open(utmp_file_name,O_RDONLY);
- fcntl (fd, F_SETFD, FD_CLOEXEC);
- lseek(fd,0,SEEK_SET);
-}
-
-void endutent() {
- if (fd<0) return;
- close(fd); fd=-1;
-}
-
-struct utmp *getutent(void) {
- static struct utmp getutent_tmp;
- int ret;
-
- if (fd<0) {
- setutent();
- if (fd<0) return 0;
- }
- if (lock_record(F_RDLCK)) return 0;
- ret=read(fd, &getutent_tmp, sizeof(struct utmp));
- unlock_record();
- if (ret<1) return 0;
- return &getutent_tmp;
-}
-
-struct utmp *getutid(struct utmp *ut) {
- struct utmp *tmp;
-
- while ((tmp = getutent())) {
- if (ut->ut_type && (ut->ut_type <= OLD_TIME)) {
- if (ut->ut_type == tmp->ut_type) break;
- }
- if ((ut->ut_type >= INIT_PROCESS) && (ut->ut_type <= DEAD_PROCESS)) {
- if (!strncmp(ut->ut_id,tmp->ut_id,4)) break;
- }
- }
- return tmp;
-}
-
-struct utmp *getutline(struct utmp *ut) {
- struct utmp *tmp;
-
- while ((tmp = getutent())) {
- if ((tmp->ut_type == USER_PROCESS) || (tmp->ut_type == LOGIN_PROCESS)) {
- if (!strncmp(ut->ut_line,tmp->ut_line,UT_LINESIZE)) break;
- }
- }
- return tmp;
-}
-
-void pututline(struct utmp *ut) {
- struct utmp *tmp;
-
- if ((tmp = getutid(ut))) {
- lseek(fd, - (off_t)sizeof(struct utmp), SEEK_CUR);
- if (lock_record(F_WRLCK)) return;
- write(fd, ut, sizeof(struct utmp));
- }
- else {
- lseek(fd, 0, SEEK_END);
- if (lock_record(F_WRLCK)) return;
- write(fd, ut, (off_t)sizeof(struct utmp));
- }
- unlock_record();
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/wtent.c b/mdk-stage1/dietlibc/libugly/wtent.c
deleted file mode 100644
index 1ca7c3202..000000000
--- a/mdk-stage1/dietlibc/libugly/wtent.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <utmp.h>
-
-void updwtmp(const char *wtmp_file, const struct utmp *ut) {
- int fd = open(wtmp_file, O_WRONLY|O_APPEND);
- if (fd<0) return;
- fcntl (fd, F_SETFD, FD_CLOEXEC);
- write(fd, ut, sizeof(struct utmp));
- close(fd);
-}
-
-void logwtmp(const char *line, const char *name, const char *host) {
- struct utmp ut;
-
- memset(&ut, 0, sizeof(struct utmp));
-
- ut.ut_pid = getpid ();
- ut.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS;
-
- memccpy (ut.ut_line, line, 0, sizeof ut.ut_line);
- memccpy (ut.ut_name, name, 0, sizeof ut.ut_name);
- memccpy (ut.ut_host, host, 0, sizeof ut.ut_host);
-
- gettimeofday (&ut.ut_tv, NULL);
-
- updwtmp (_PATH_WTMP, &ut);
-}
-
diff --git a/mdk-stage1/dietlibc/linuxnet.h b/mdk-stage1/dietlibc/linuxnet.h
deleted file mode 100644
index 8e2204701..000000000
--- a/mdk-stage1/dietlibc/linuxnet.h
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#define SYS_SOCKET 1 /* sys_socket(2) */
-#define SYS_BIND 2 /* sys_bind(2) */
-#define SYS_CONNECT 3 /* sys_connect(2) */
-#define SYS_LISTEN 4 /* sys_listen(2) */
-#define SYS_ACCEPT 5 /* sys_accept(2) */
-#define SYS_GETSOCKNAME 6 /* sys_getsockname(2) */
-#define SYS_GETPEERNAME 7 /* sys_getpeername(2) */
-#define SYS_SOCKETPAIR 8 /* sys_socketpair(2) */
-#define SYS_SEND 9 /* sys_send(2) */
-#define SYS_RECV 10 /* sys_recv(2) */
-#define SYS_SENDTO 11 /* sys_sendto(2) */
-#define SYS_RECVFROM 12 /* sys_recvfrom(2) */
-#define SYS_SHUTDOWN 13 /* sys_shutdown(2) */
-#define SYS_SETSOCKOPT 14 /* sys_setsockopt(2) */
-#define SYS_GETSOCKOPT 15 /* sys_getsockopt(2) */
-#define SYS_SENDMSG 16 /* sys_sendmsg(2) */
-#define SYS_RECVMSG 17 /* sys_recvmsg(2) */
-
diff --git a/mdk-stage1/dietlibc/parselib.h b/mdk-stage1/dietlibc/parselib.h
deleted file mode 100644
index 831d9da2b..000000000
--- a/mdk-stage1/dietlibc/parselib.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* parse lib: parse mmapped text with \n terminated lines */
-
-/* a memory buffer. */
-struct state {
- const unsigned char* buffirst;/* pointer to the buffer */
- size_t buflen; /* length of the buffer */
- size_t cur; /* already parsed bytes */
-};
-
-/* open and mmap file, fill in struct state */
-void __prepare_parse(const char* filename,struct state* s);
-/* unmap file */
-void __end_parse(struct state* s);
-
-/* return the length of the matching string, 0 on error */
-/* match while pred returns nonzero */
-size_t __parse(struct state* s,int (*pred)(int ch));
-
-size_t __parse_ws(struct state* s); /* skip ' ' or '\t', break at '\n' or '#' */
-size_t __parse_nws(struct state* s); /* skip non-whitespace, break at '\n' or '#' */
-size_t __parse_1(struct state* s,char c); /* skip to c */
-
-size_t scan_ulong(const char* s,unsigned long* l);
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 146982337..000000000
--- a/mdk-stage1/dietlibc/ppc/__testandset.S
+++ /dev/null
@@ -1,12 +0,0 @@
-.global __testandset
-.type __testandset,@function
-.align 2
-__testandset:
-1: lwarx 5,0,3
- li 0,1
- stwcx. 0,0,3
- bne- 1b
- mr 3,5
- blr
-.size __testandset,.-__testandset
-
diff --git a/mdk-stage1/dietlibc/ppc/clone.S b/mdk-stage1/dietlibc/ppc/clone.S
deleted file mode 100644
index 98f6bd4e8..000000000
--- a/mdk-stage1/dietlibc/ppc/clone.S
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <dietfeatures.h>
-#include "syscalls.h"
-#include <errno.h>
-
-.text
-.weak clone
-clone:
-.global __clone
-__clone:
- cmpwi 4,0 /* check have non null child_stack pointer */
- cmpwi cr1, 3,0 /* check have non null thread_funcion */
- cror eq,4*cr1+eq,eq /* now if eq is set one is or both are zero */
- beq .Lclone_error
-
- stwu 1,-32(1) /* alloc some space on the stack */
- stmw 29, 16(1) /* save r29,r30,r31 on stack */
-
- rlwinm 4,4,0,0,27 /* mask out lower 4 bits */
-
- /* move parameter to positions clone wants them */
- mr 29,3 /* r29 = r3 fn */
- mr 30,4 /* r30 = r4 stack */
- mr 31,6 /* r31 = r6 arg */
- mr 3, 5 /* r3 = r5 flags */
-
- li 0, __NR_clone /* load syscall nr. */
- sc
-
- cmpwi cr1,3,0 /* compare return of syscall with 0 */
- crandc 4*cr1+eq,4*cr1+eq,so
- bne .Lclone_parent /* return was non zero -> .Lclone_parent */
-
- /* we are the cloned process */
- mr 1, 30 /* set stack pointer */
- mtctr 29 /* set count register to fn ? */
- mr 3, 31 /* set argument */
- bctrl /* branch trough count register and link */
- b _exit /* exit thread */
-
-.Lclone_parent:
- lmw 29,16(1) /* restore saved registers */
- addi 1, 1,32 /* free stack */
- bnslr+ /* had cloned a thread so return to parent */
- b error_unified_syscall
-
-.Lclone_error:
- li 3, EINVAL
- b error_unified_syscall
diff --git a/mdk-stage1/dietlibc/ppc/mmap.c b/mdk-stage1/dietlibc/ppc/mmap.c
deleted file mode 100644
index d03e87089..000000000
--- a/mdk-stage1/dietlibc/ppc/mmap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "dietfeatures.h"
-#include <sys/types.h>
-#include <errno.h>
-#include "syscalls.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)
- : "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12");
- __sc_ret = __sc_3;
- __sc_err = __sc_0;
- }
- return (__sc_err & 0x10000000 ? errno = __sc_ret, __sc_ret = -1 : 0),
- (int) __sc_ret;
-}
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 7b2aed7fb..000000000
--- a/mdk-stage1/dietlibc/ppc/start.S
+++ /dev/null
@@ -1,42 +0,0 @@
-.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 contains the initial stack pointer
- 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 14,environ@ha
- stw 5,environ@l(14)
-
-#ifdef WANT_DYNAMIC
- mr 6,7
- bl _dyn_start
-#else
- bl main
-#endif
- b exit
-.size _start,.-_start
-
-
-/* Define a symbol for the first piece of initialized data. */
- .section ".data"
-__data_start:
-
diff --git a/mdk-stage1/dietlibc/ppc/syscalls.h b/mdk-stage1/dietlibc/ppc/syscalls.h
deleted file mode 100644
index 5e8707357..000000000
--- a/mdk-stage1/dietlibc/ppc/syscalls.h
+++ /dev/null
@@ -1,259 +0,0 @@
-
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_waitpid 7
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_break 17
-#define __NR_oldstat 18
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_oldfstat 28
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_stty 31
-#define __NR_gtty 32
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_ftime 35
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_prof 44
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_signal 48
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_lock 53
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_mpx 56
-#define __NR_setpgid 57
-#define __NR_ulimit 58
-#define __NR_oldolduname 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_sgetmask 68
-#define __NR_ssetmask 69
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrlimit 76
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_oldlstat 84
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_profil 98
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_ioperm 101
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_olduname 109
-#define __NR_iopl 110
-#define __NR_vhangup 111
-#define __NR_idle 112
-#define __NR_vm86 113
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_modify_ldt 123
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_create_module 127
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_get_kernel_syms 130
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_query_module 166
-#define __NR_poll 167
-#define __NR_nfsservctl 168
-#define __NR_setresgid 169
-#define __NR_getresgid 170
-#define __NR_prctl 171
-#define __NR_rt_sigreturn 172
-#define __NR_rt_sigaction 173
-#define __NR_rt_sigprocmask 174
-#define __NR_rt_sigpending 175
-#define __NR_rt_sigtimedwait 176
-#define __NR_rt_sigqueueinfo 177
-#define __NR_rt_sigsuspend 178
-#define __NR_pread 179
-#define __NR_pwrite 180
-#define __NR_chown 181
-#define __NR_getcwd 182
-#define __NR_capget 183
-#define __NR_capset 184
-#define __NR_sigaltstack 185
-#define __NR_sendfile 186
-#define __NR_getpmsg 187 /* some people actually want streams */
-#define __NR_putpmsg 188 /* some people actually want streams */
-#define __NR_vfork 189
-#define __NR_ugetrlimit 190 /* SuS compliant getrlimit */
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_pciconfig_read 198
-#define __NR_pciconfig_write 199
-#define __NR_pciconfig_iobase 200
-#define __NR_multiplexer 201
-#define __NR_getdents64 202
-#define __NR_pivot_root 203
-#define __NR_fcntl64 204
-#define __NR_madvise 205
-#define __NR_mincore 206
-#define __NR_gettid 207
-#define __NR_tkill 208
-#define __NR_setxattr 209
-#define __NR_lsetxattr 210
-#define __NR_fsetxattr 211
-#define __NR_getxattr 212
-#define __NR_lgetxattr 213
-#define __NR_fgetxattr 214
-#define __NR_listxattr 215
-#define __NR_llistxattr 216
-#define __NR_flistxattr 217
-#define __NR_removexattr 218
-#define __NR_lremovexattr 219
-#define __NR_fremovexattr 220
-#define __NR_futex 221
-#define __NR_sched_setaffinity 222
-#define __NR_sched_getaffinity 223
-#define __NR_security 224
-#define __NR_tuxcall 225
-#define __NR_sendfile64 226
-#define __NR_io_setup 227
-#define __NR_io_destroy 228
-#define __NR_io_getevents 229
-#define __NR_io_submit 230
-#define __NR_io_cancel 231
-#define __NR_alloc_hugepages 232
-#define __NR_free_hugepages 233
-#define __NR_exit_group 234
-#define __NR_lookup_dcookie 235
-#define __NR_sys_epoll_create 236
-#define __NR_sys_epoll_ctl 237
-#define __NR_sys_epoll_wait 238
-#define __NR_remap_file_pages 239
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.type wsym,@function; \
-.weak wsym; \
-wsym: ; \
-.type sym,@function; \
-.global sym; \
-sym: \
- li 0,__NR_##name; \
- b __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.type sym,@function; \
-.global sym; \
-sym: \
- li 0,__NR_##name; \
- b __unified_syscall
-
diff --git a/mdk-stage1/dietlibc/ppc/unified.S b/mdk-stage1/dietlibc/ppc/unified.S
deleted file mode 100644
index eb136a96b..000000000
--- a/mdk-stage1/dietlibc/ppc/unified.S
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <dietfeatures.h>
-#include "syscalls.h"
-
-.text
-.type exit,@function
-.weak exit
-exit:
-.type _exit,@function
-.global _exit
-_exit:
- li 0,__NR_exit
-.global __unified_syscall
-__unified_syscall:
- sc
- bnslr+
-
-.global error_unified_syscall
-error_unified_syscall:
-#ifdef WANT_THREAD_SAFE
- stwu 1,-16(1)
- mflr 0
- stw 0,20(1)
- stw 3,12(1)
- bl __errno_location
- lwz 0,12(1)
- stw 0,0(3)
- lwz 0,20(1)
- mtlr 0
- addi 1,1,16
-#else
- lis 9,errno@ha
- stw 3,errno@l(9)
-#endif
- li 3,-1
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
-
- blr
-
diff --git a/mdk-stage1/dietlibc/profiling/PORTING b/mdk-stage1/dietlibc/profiling/PORTING
deleted file mode 100644
index c3fc5eba7..000000000
--- a/mdk-stage1/dietlibc/profiling/PORTING
+++ /dev/null
@@ -1,25 +0,0 @@
- Porting to other platforms
-
- ... is easy. Just create an mcount.S in the $ARCH
- directory (eg. dietlibc/i386) which includes a
- function (called "mcount") that:
-
- 1.) saves ALL registers that are freely usable
- and which might be used by __mcount().
- 2.) loads the instruction pointer (PC) from the
- function that called mcount, and the function
- which called the function, that called mcount
- into the first two argument registers (or push
- them on the stack - depending on the processor-
- architecture).
- 3.) call __mcount.
- 4.) restore the registers saved in 1)
-
- Then You need a macro called PC in <asm/sigcontext.h>
- which extracts the (instruction pointer / program
- counter) from a sigcontext structure (eg. on i386 this
- would be ctx.eip).
-
- $ARCH/start.S must also be modified to call monitor
- with the offset of .text and _etext as parameters.
-
diff --git a/mdk-stage1/dietlibc/profiling/README b/mdk-stage1/dietlibc/profiling/README
deleted file mode 100644
index 0a0293073..000000000
--- a/mdk-stage1/dietlibc/profiling/README
+++ /dev/null
@@ -1,37 +0,0 @@
-
- Notes on profiling support for dietlibc
-
- 1.) A big problem when doing profiling on statically linked
- programs, is that the internal profiling functions (mcount
- and friends) will be included in the call graph although
- they would not if the program would have been dynamically
- linked. This is because every symbol between .text and
- _etext is included in the call-graph. If a program is
- dynamically linked, then mcount and friends are not between
- .text and _etext, so they are not included. A workaround
- for this, would be to put mcount, __mcount, monitor and
- profiler into another section (eg. ".profile"), but this
- creates some strange problems, I'm currently not aware of.
- If you want to debug this: Putting a function into a specific
- section works like this (with gcc):
-
- void foo (int bar) __attribute__ ((section(".foobar")))
-
- 2.) _start may randomly be found in the callgraph. I don't
- know why. May be a bug in gprof.
-
- 3.) The profiling is a complete rewrite, though I looked at
- the glibc Version for inspiration. Please note that this
- version might not be as portable as the glibc version but
- its much smaller (although this is not a really important
- argument, as profiled binaries seldom get shipped) and
- hopefully easier to understand.
-
- 4.) all objects that should be profiled mustn't be compiled
- with -fomit-frame-pointer (as with glibc). Add
- -fno-fomit-frame-pointer to $CFLAGS if you're encountering
- weird problems.
-
- 5.) There is currently no basic-block statistic support.
-
-Please send comments and bug reports to: tom@rhadamanthys.org
diff --git a/mdk-stage1/dietlibc/profiling/__mcount.c b/mdk-stage1/dietlibc/profiling/__mcount.c
deleted file mode 100644
index b1955f370..000000000
--- a/mdk-stage1/dietlibc/profiling/__mcount.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <unistd.h>
-#include <sys/gmon.h>
-
-extern struct monparam mparam;
-
-void __mcount (unsigned long, unsigned long) PROF_SECTION;
-
-void
-__mcount (unsigned long frompc, unsigned long selfpc)
-{
- struct rawarc *arc = mparam.arcs, thisarc;
- unsigned long num;
- /* If arc already exists, increment count */
- for (num = 0; num < mparam.arcnum; num++)
- if (arc[num].raw_frompc == frompc && arc[num].raw_selfpc == selfpc) {
- arc[num].raw_count++;
- return;
- }
- if (selfpc < mparam.lowpc || selfpc > mparam.highpc) return;
- thisarc.raw_frompc = frompc;
- thisarc.raw_selfpc = selfpc;
- thisarc.raw_count = 1;
- arc[mparam.arcnum++] = thisarc;
-}
diff --git a/mdk-stage1/dietlibc/profiling/monitor.c b/mdk-stage1/dietlibc/profiling/monitor.c
deleted file mode 100644
index cc06e3465..000000000
--- a/mdk-stage1/dietlibc/profiling/monitor.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/**************************************************************
- Copyright (C) 2001, 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and modify
- it under the terms of the GNU General Public License.
-
- This file is part of the profiling support for dietlibc
-
- monitor(3) interface
-
- *************************************************************/
-#include <sys/uio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <sys/gmon.h>
-
-typedef unsigned short u_short;
-
-struct monparam mparam;
-
-void monitor (unsigned long, unsigned long) PROF_SECTION;
-void _stop_monitor (void) PROF_SECTION;
-
-/*
- monitor is called by _start, to start profiling
- lowpc -> lowest valid program counter (normally .text)
- highpc -> highest valid program counter (normally _etext)
-*/
-void
-monitor (unsigned long lowpc, unsigned long highpc)
-{
- mparam.highpc = highpc;
- mparam.lowpc = lowpc;
- mparam.kcountsize = (mparam.textsize = highpc-lowpc) << 1;
- mparam.kcount = (u_short *) malloc (mparam.kcountsize);
- mparam.arcs = (struct rawarc *) malloc (MAXARCS*sizeof (struct rawarc));
- if (!mparam.kcount || !mparam.arcs)
- exit (42);
- mparam.arcnum = 0;
- /* start profiling */
- profil (mparam.kcount, highpc-lowpc, lowpc, 10000);
-}
-
-/*
- write_gmon - write all data collected by the helper routines
- to gmon.out
-*/
-static void
-write_gmon (void)
-{
- struct gmon_hdr ghdr = { "gmon", 1, "" };
- int fd = open ("gmon.out", O_CREAT | O_RDWR | O_TRUNC, 0666);
-
- if (fd < 0) return;
- write (fd, &ghdr, sizeof (ghdr));
- if (mparam.kcountsize)
- {
- char tag = GMON_TAG_TIME_HIST;
- struct gmon_hist_hdr ghdr = {
- mparam.lowpc, mparam.highpc,
- (mparam.kcountsize >> 1), 100, "seconds", 's'
- };
- struct iovec iov[3] = {
- { &tag, sizeof (tag) },
- { &ghdr, sizeof (ghdr) },
- { mparam.kcount, mparam.kcountsize >> 1 << 1 }
- };
- writev (fd, iov, 3);
- }
- if (mparam.arcnum)
- {
- char tag = GMON_TAG_CG_ARC;
- struct iovec iov[mparam.arcnum*2];
- unsigned long l;
- for (l=0;l<mparam.arcnum;l++) {
- iov[l*2].iov_base = &tag;
- iov[l*2].iov_len = sizeof (tag);
- iov[l*2+1].iov_base = &mparam.arcs[l];
- iov[l*2+1].iov_len = sizeof (mparam.arcs[l]);
- }
- writev (fd, iov, mparam.arcnum*2);
- }
- close (fd);
-}
-
-/* called by _start before exit */
-void
-_stop_monitor (void)
-{
- profil (NULL, 0, 0, 0);
- write_gmon ();
-}
diff --git a/mdk-stage1/dietlibc/profiling/profil.c b/mdk-stage1/dietlibc/profiling/profil.c
deleted file mode 100644
index fa9a0ef2b..000000000
--- a/mdk-stage1/dietlibc/profiling/profil.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/******************************************************
- Copyright (C) 2001, 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and modify
- it under the terms of the GNU General Public License.
-
- This file is part of the profiling support for dietlibc
-
- profil (3) generic implementation
-
- *************************************************************/
-
-#include <asm/sigcontext.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <signal.h>
-
-#define SHORT_SIZE sizeof (short)
-#define MAX_SHORT 65536
-
-#ifdef DEBUG
-# include <stdio.h>
-# define debug printf
-#else
-# define debug
-#endif
-
-#ifndef u_short
-# define u_short unsigned short
-#endif
-
-#ifndef u_int
-# define u_int unsigned int
-#endif
-
-static unsigned short *buffer = NULL;
-static size_t maxhits = 0;
-static unsigned long low_pc = 0;
-static unsigned long pscale = 0;
-
-/* profiler - helper function for profil(3) */
-static void
-profiler (int signal, struct sigcontext ctx)
-{
- size_t s = PC(ctx)-low_pc;
- (void)signal;
- if ((PC(ctx)) < low_pc) return;
- s >>= 1;
- if (s < maxhits)
- ++buffer[s];
-}
-
-/* profil(3) - start or stop the profiling timer */
-int
-profil (u_short *buf, size_t bufsiz, size_t offset, u_int scale)
-{
- struct itimerval itv = { { 0, 1 }, { 0, 1 } };
- struct sigaction sa;
- if (!buf) {
- sigaction (SIGPROF, NULL, NULL);
- setitimer (ITIMER_PROF, NULL, NULL);
- return (0);
- }
- sa.sa_handler = (sighandler_t)&profiler;
- sa.sa_flags = SA_RESTART;
- sigfillset (&sa.sa_mask);
- sigaction (SIGPROF, &sa, NULL);
- pscale = scale;
- buffer = buf;
- low_pc = offset;
- maxhits = bufsiz/SHORT_SIZE;
-
- return (setitimer (ITIMER_PROF, &itv, &itv));
-}
diff --git a/mdk-stage1/dietlibc/sparc/Makefile.add b/mdk-stage1/dietlibc/sparc/Makefile.add
deleted file mode 100644
index 102175bc5..000000000
--- a/mdk-stage1/dietlibc/sparc/Makefile.add
+++ /dev/null
@@ -1,4 +0,0 @@
-
-CFLAGS+=-mcpu=supersparc -Os
-VPATH:=sparc:syscalls.s:$(VPATH)
-LIBOBJ+=$(OBJDIR)/udiv.o $(OBJDIR)/umul.o $(OBJDIR)/urem.o
diff --git a/mdk-stage1/dietlibc/sparc/__longjmp.S b/mdk-stage1/dietlibc/sparc/__longjmp.S
deleted file mode 100644
index 6550d2b5c..000000000
--- a/mdk-stage1/dietlibc/sparc/__longjmp.S
+++ /dev/null
@@ -1,68 +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
-.type __longjmp,function
-__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 fd8d1d126..000000000
--- a/mdk-stage1/dietlibc/sparc/clone.S
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <errno.h>
-#include "syscalls.h"
-
-.text
-.align 4
-.weak clone
-clone:
-.type __clone,#function
-.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/errlist.S b/mdk-stage1/dietlibc/sparc/errlist.S
deleted file mode 100644
index c23f7b3d5..000000000
--- a/mdk-stage1/dietlibc/sparc/errlist.S
+++ /dev/null
@@ -1,280 +0,0 @@
-#ifdef __DYN_LIB
-.section .data
-#else
-.section .rodata
-#endif
-
-.align 4
-.global sys_errlist
-.type sys_errlist,@object
-sys_errlist:
- .long .LC000
- .long .LC001
- .long .LC002
- .long .LC003
- .long .LC004
- .long .LC005
- .long .LC006
- .long .LC007
- .long .LC008
- .long .LC009
- .long .LC010
- .long .LC011
- .long .LC012
- .long .LC013
- .long .LC014
- .long .LC015
- .long .LC016
- .long .LC017
- .long .LC018
- .long .LC019
- .long .LC020
- .long .LC021
- .long .LC022
- .long .LC023
- .long .LC024
- .long .LC025
- .long .LC026
- .long .LC027
- .long .LC028
- .long .LC029
- .long .LC030
- .long .LC031
- .long .LC032
- .long .LC033
- .long .LC034
- .long .LC035
- .long .LC036
- .long .LC037
- .long .LC038
- .long .LC039
- .long .LC040
- .long .LC041
- .long .LC042
- .long .LC043
- .long .LC044
- .long .LC045
- .long .LC046
- .long .LC047
- .long .LC048
- .long .LC049
- .long .LC050
- .long .LC051
- .long .LC052
- .long .LC053
- .long .LC054
- .long .LC055
- .long .LC056
- .long .LC057
- .long .LC058
- .long .LC059
- .long .LC060
- .long .LC061
- .long .LC062
- .long .LC063
- .long .LC064
- .long .LC065
- .long .LC066
- .long .LC067
- .long .LC068
- .long .LC069
- .long .LC070
- .long .LC071
- .long .LC072
- .long .LC073
- .long .LC074
- .long .LC075
- .long .LC076
- .long .LC077
- .long .LC078
- .long .LC079
- .long .LC080
- .long .LC081
- .long .LC082
- .long .LC083
- .long .LC084
- .long .LC085
- .long .LC086
- .long .LC087
- .long .LC088
- .long .LC089
- .long .LC090
- .long .LC091
- .long .LC092
- .long .LC093
- .long .LC094
- .long .LC095
- .long .LC096
- .long .LC097
- .long .LC098
- .long .LC099
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC120
- .long .LC121
- .long .LC122
- .long .LC123
- .long .LC124
- .long .LC125
- .long .LC126
- .long 0
-.size sys_errlist,.-sys_errlist
-
-.align 4
-.global sys_nerr
-.type sys_nerr,@object
-sys_nerr:
- .long 127
-.size sys_nerr,4
-
-#ifdef __DYN_LIB
-.section .rodata
-#endif
-
-.LC000: .string "Success"
-.LC001: .string "Operation not permitted"
-.LC002: .string "No such file or directory"
-.LC003: .string "No such process"
-.LC004: .string "Interrupted system call"
-.LC005: .string "I/O error"
-.LC006: .string "No such device or address"
-.LC007: .string "Arg list too long"
-.LC008: .string "Exec format error"
-.LC009: .string "Bad file number"
-.LC010: .string "No child processes"
-.LC011: .string "Try again"
-.LC012: .string "Out of memory"
-.LC013: .string "Permission denied"
-.LC014: .string "Bad address"
-.LC015: .string "Block device required"
-.LC016: .string "Device or resource busy"
-.LC017: .string "File exists"
-.LC018: .string "Cross-device link"
-.LC019: .string "No such device"
-.LC020: .string "Not a directory"
-.LC021: .string "Is a directory"
-.LC022: .string "Invalid argument"
-.LC023: .string "File table overflow"
-.LC024: .string "Too many open files"
-.LC025: .string "Not a typewriter"
-.LC026: .string "Text file busy"
-.LC027: .string "File too large"
-.LC028: .string "No space left on device"
-.LC029: .string "Illegal seek"
-.LC030: .string "Read-only file system"
-.LC031: .string "Too many links"
-.LC032: .string "Broken pipe"
-.LC033: .string "Math argument out of domain of func"
-.LC034: .string "Math result not representable"
-.LC035: .string "Operation would block"
-.LC036: .string "Operation now in progress"
-.LC037: .string "Operation already in progress"
-.LC038: .string "Socket operation on non-socket"
-.LC039: .string "Destination address required"
-.LC040: .string "Message too long"
-.LC041: .string "Protocol wrong type for socket"
-.LC042: .string "Protocol not available"
-.LC043: .string "Protocol not supported"
-.LC044: .string "Socket type not supported"
-.LC045: .string "Op not supported on transport endpoint"
-.LC046: .string "Protocol family not supported"
-.LC047: .string "Address family not supported by protocol"
-.LC048: .string "Address already in use"
-.LC049: .string "Cannot assign requested address"
-.LC050: .string "Network is down"
-.LC051: .string "Network is unreachable"
-.LC052: .string "Net dropped connection because of reset"
-.LC053: .string "Software caused connection abort"
-.LC054: .string "Connection reset by peer"
-.LC055: .string "No buffer space available"
-.LC056: .string "Transport endpoint is already connected"
-.LC057: .string "Transport endpoint is not connected"
-.LC058: .string "No send after transport endpoint shutdown"
-.LC059: .string "Too many references: cannot splice"
-.LC060: .string "Connection timed out"
-.LC061: .string "Connection refused"
-.LC062: .string "Too many symbolic links encountered"
-.LC063: .string "File name too long"
-.LC064: .string "Host is down"
-.LC065: .string "No route to host"
-.LC066: .string "Directory not empty"
-.LC067: .string "SUNOS: Too many processes"
-.LC068: .string "Too many users"
-.LC069: .string "Quota exceeded"
-.LC070: .string "Stale NFS file handle"
-.LC071: .string "Object is remote"
-.LC072: .string "Device not a stream"
-.LC073: .string "Timer expired"
-.LC074: .string "Out of streams resources"
-.LC075: .string "No message of desired type"
-.LC076: .string "Not a data message"
-.LC077: .string "Identifier removed"
-.LC078: .string "Resource deadlock would occur"
-.LC079: .string "No record locks available"
-.LC080: .string "Machine is not on the network"
-.LC081: .string "SunOS: Too many lvls of remote in path"
-.LC082: .string "Link has been severed"
-.LC083: .string "Advertise error"
-.LC084: .string "Srmount error"
-.LC085: .string "Communication error on send"
-.LC086: .string "Protocol error"
-.LC087: .string "Multihop attempted"
-.LC088: .string "RFS specific error"
-.LC089: .string "Remote address changed"
-.LC090: .string "Function not implemented"
-.LC091: .string "Streams pipe error"
-.LC092: .string "Value too large for defined data type"
-.LC093: .string "File descriptor in bad state"
-.LC094: .string "Channel number out of range"
-.LC095: .string "Level 2 not synchronized"
-.LC096: .string "Level 3 halted"
-.LC097: .string "Level 3 reset"
-.LC098: .string "Link number out of range"
-.LC099: .string "Protocol driver not attached"
-.LC100: .string "No CSI structure available"
-.LC101: .string "Level 2 halted"
-.LC102: .string "Invalid exchange"
-.LC103: .string "Invalid request descriptor"
-.LC104: .string "Exchange full"
-.LC105: .string "No anode"
-.LC106: .string "Invalid request code"
-.LC107: .string "Invalid slot"
-.LC108: .string "File locking deadlock error"
-.LC109: .string "Bad font file format"
-.LC110: .string "Cannot exec a shared library directly"
-.LC111: .string "No data available"
-.LC112: .string "Accessing a corrupted shared library"
-.LC113: .string "Package not installed"
-.LC114: .string "Can not access a needed shared library"
-.LC115: .string "Name not unique on network"
-.LC116: .string "Interrupted syscall should be restarted"
-.LC117: .string "Structure needs cleaning"
-.LC118: .string "Not a XENIX named type file"
-.LC119: .string "No XENIX semaphores available"
-.LC120: .string "Is a named type file"
-.LC121: .string "Remote I/O error"
-.LC122: .string "Illegal byte sequence"
-.LC123: .string "Atmpt to link in too many shared libs"
-.LC124: .string ".lib section in a.out corrupted"
-.LC125: .string "No medium found"
-.LC126: .string "Wrong medium type"
-
-
diff --git a/mdk-stage1/dietlibc/sparc/fork.S b/mdk-stage1/dietlibc/sparc/fork.S
deleted file mode 100644
index a54cab2a9..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_SAFE
- 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 5342bac4e..000000000
--- a/mdk-stage1/dietlibc/sparc/mmap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <sys/types.h>
-#include "syscalls.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 076822765..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_SAFE
- 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 579df757c..000000000
--- a/mdk-stage1/dietlibc/sparc/setjmp.S
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <setjmp.h>
-
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-
-#define ST_FLUSH_WINDOWS 0x03
-
-.text
-.globl __setjmp
-.type __setjmp,function
-__setjmp:
- b 1f
- set 0, %o1
-.size __setjmp,.-__setjmp
-
-.globl setjmp
-.type setjmp,function
-setjmp:
- set 1, %o1
-.size setjmp,.-setjmp
-
-.globl __sigsetjmp
-.type __sigsetjmp,function
-__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 b7dce2e83..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 <unistd.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/sigaction.c b/mdk-stage1/dietlibc/sparc/sigaction.c
deleted file mode 100644
index 028723699..000000000
--- a/mdk-stage1/dietlibc/sparc/sigaction.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, void* restorer, long nr);
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- return __rt_sigaction(signum, act, oldact, 0, _NSIG/8);
-}
diff --git a/mdk-stage1/dietlibc/sparc/start.S b/mdk-stage1/dietlibc/sparc/start.S
deleted file mode 100644
index c6408ee8f..000000000
--- a/mdk-stage1/dietlibc/sparc/start.S
+++ /dev/null
@@ -1,50 +0,0 @@
- .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. */
-#ifdef WANT_DYNAMIC
- call dyn_start
-#else
- call main
-#endif
- mov %g1, %o3
-
- b exit
- mov %o0, %i0
-
-/* Die very horribly if exit returns. */
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
- ret
- nop
-
- .size _start, .-_start
-
diff --git a/mdk-stage1/dietlibc/sparc/strlen.S b/mdk-stage1/dietlibc/sparc/strlen.S
deleted file mode 100644
index 59ffb7981..000000000
--- a/mdk-stage1/dietlibc/sparc/strlen.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.globl strlen
-strlen:
- add %o0, 1, %o1
-.Lloop:
- ldsb [%o0], %o2
- orcc %o2, %o2, %g0
- bne .Lloop
- add %o0, 1, %o0
- retl
- sub %o0, %o1, %o0
diff --git a/mdk-stage1/dietlibc/sparc/syscalls.h b/mdk-stage1/dietlibc/sparc/syscalls.h
deleted file mode 100644
index ea5227c71..000000000
--- a/mdk-stage1/dietlibc/sparc/syscalls.h
+++ /dev/null
@@ -1,276 +0,0 @@
-
-#define __NR_exit 1 /* Common */
-#define __NR_fork 2 /* Common */
-#define __NR_read 3 /* Common */
-#define __NR_write 4 /* Common */
-#define __NR_open 5 /* Common */
-#define __NR_close 6 /* Common */
-#define __NR_wait4 7 /* Common */
-#define __NR_creat 8 /* Common */
-#define __NR_link 9 /* Common */
-#define __NR_unlink 10 /* Common */
-#define __NR_execv 11 /* SunOS Specific */
-#define __NR_chdir 12 /* Common */
-#define __NR_chown 13 /* Common */
-#define __NR_mknod 14 /* Common */
-#define __NR_chmod 15 /* Common */
-#define __NR_lchown 16 /* Common */
-#define __NR_brk 17 /* Common */
-#define __NR_perfctr 18 /* Performance counter operations */
-#define __NR_lseek 19 /* Common */
-#define __NR_getpid 20 /* Common */
-#define __NR_capget 21 /* Linux Specific */
-#define __NR_capset 22 /* Linux Specific */
-#define __NR_setuid 23 /* Implemented via setreuid in SunOS */
-#define __NR_getuid 24 /* Common */
-/* #define __NR_time alias 25 ENOSYS under SunOS */
-#define __NR_ptrace 26 /* Common */
-#define __NR_alarm 27 /* Implemented via setitimer in SunOS */
-#define __NR_sigaltstack 28 /* Common */
-#define __NR_pause 29 /* Is sigblock(0)->sigpause() in SunOS */
-#define __NR_utime 30 /* Implemented via utimes() under SunOS */
-#define __NR_lchown32 31 /* Linux sparc32 specific */
-#define __NR_fchown32 32 /* Linux sparc32 specific */
-#define __NR_access 33 /* Common */
-#define __NR_nice 34 /* Implemented via get/setpriority() in SunOS */
-#define __NR_chown32 35 /* Linux sparc32 specific */
-#define __NR_sync 36 /* Common */
-#define __NR_kill 37 /* Common */
-#define __NR_stat 38 /* Common */
-#define __NR_sendfile 39 /* Linux Specific */
-#define __NR_lstat 40 /* Common */
-#define __NR_dup 41 /* Common */
-#define __NR_pipe 42 /* Common */
-#define __NR_times 43 /* Implemented via getrusage() in SunOS */
-#define __NR_getuid32 44 /* Linux sparc32 specific */
-#define __NR_umount2 45 /* Linux Specific */
-#define __NR_setgid 46 /* Implemented via setregid() in SunOS */
-#define __NR_getgid 47 /* Common */
-#define __NR_signal 48 /* Implemented via sigvec() in SunOS */
-#define __NR_geteuid 49 /* SunOS calls getuid() */
-#define __NR_getegid 50 /* SunOS calls getgid() */
-#define __NR_acct 51 /* Common */
-/* #define __NR_memory_ordering 52 Linux sparc64 specific */
-#define __NR_getgid32 53 /* Linux sparc32 specific */
-#define __NR_ioctl 54 /* Common */
-#define __NR_reboot 55 /* Common */
-#define __NR_mmap2 56 /* Linux sparc32 Specific */
-#define __NR_symlink 57 /* Common */
-#define __NR_readlink 58 /* Common */
-#define __NR_execve 59 /* Common */
-#define __NR_umask 60 /* Common */
-#define __NR_chroot 61 /* Common */
-#define __NR_fstat 62 /* Common */
-#define __NR_fstat64 63 /* Linux sparc32 Specific */
-#define __NR_getpagesize 64 /* Common */
-#define __NR_msync 65 /* Common in newer 1.3.x revs... */
-#define __NR_vfork 66 /* Common */
-#define __NR_pread 67 /* Linux Specific */
-#define __NR_pwrite 68 /* Linux Specific */
-#define __NR_geteuid32 69 /* Linux sparc32, sbrk under SunOS */
-#define __NR_getegid32 70 /* Linux sparc32, sstk under SunOS */
-#define __NR_mmap 71 /* Common */
-#define __NR_setreuid32 72 /* Linux sparc32, vadvise under SunOS */
-#define __NR_munmap 73 /* Common */
-#define __NR_mprotect 74 /* Common */
-#define __NR_madvise 75 /* Common */
-#define __NR_vhangup 76 /* Common */
-#define __NR_truncate64 77 /* Linux sparc32 Specific */
-#define __NR_mincore 78 /* Common */
-#define __NR_getgroups 79 /* Common */
-#define __NR_setgroups 80 /* Common */
-#define __NR_getpgrp 81 /* Common */
-#define __NR_setgroups32 82 /* Linux sparc32, setpgrp under SunOS */
-#define __NR_setitimer 83 /* Common */
-#define __NR_ftruncate64 84 /* Linux sparc32 Specific */
-#define __NR_swapon 85 /* Common */
-#define __NR_getitimer 86 /* Common */
-#define __NR_setuid32 87 /* Linux sparc32, gethostname under SunOS */
-#define __NR_sethostname 88 /* Common */
-#define __NR_setgid32 89 /* Linux sparc32, getdtablesize under SunOS */
-#define __NR_dup2 90 /* Common */
-#define __NR_setfsuid32 91 /* Linux sparc32, getdopt under SunOS */
-#define __NR_fcntl 92 /* Common */
-#define __NR_select 93 /* Common */
-#define __NR_setfsgid32 94 /* Linux sparc32, setdopt under SunOS */
-#define __NR_fsync 95 /* Common */
-#define __NR_setpriority 96 /* Common */
-#define __NR_socket 97 /* Common */
-#define __NR_connect 98 /* Common */
-#define __NR_accept 99 /* Common */
-#define __NR_getpriority 100 /* Common */
-#define __NR_rt_sigreturn 101 /* Linux Specific */
-#define __NR_rt_sigaction 102 /* Linux Specific */
-#define __NR_rt_sigprocmask 103 /* Linux Specific */
-#define __NR_rt_sigpending 104 /* Linux Specific */
-#define __NR_rt_sigtimedwait 105 /* Linux Specific */
-#define __NR_rt_sigqueueinfo 106 /* Linux Specific */
-#define __NR_rt_sigsuspend 107 /* Linux Specific */
-#define __NR_setresuid32 108 /* Linux Specific, sigvec under SunOS */
-#define __NR_getresuid32 109 /* Linux Specific, sigblock under SunOS */
-#define __NR_setresgid32 110 /* Linux Specific, sigsetmask under SunOS */
-#define __NR_getresgid32 111 /* Linux Specific, sigpause under SunOS */
-#define __NR_setregid32 112 /* Linux sparc32, sigstack under SunOS */
-#define __NR_recvmsg 113 /* Common */
-#define __NR_sendmsg 114 /* Common */
-#define __NR_getgroups32 115 /* Linux sparc32, vtrace under SunOS */
-#define __NR_gettimeofday 116 /* Common */
-#define __NR_getrusage 117 /* Common */
-#define __NR_getsockopt 118 /* Common */
-#define __NR_getcwd 119 /* Linux Specific */
-#define __NR_readv 120 /* Common */
-#define __NR_writev 121 /* Common */
-#define __NR_settimeofday 122 /* Common */
-#define __NR_fchown 123 /* Common */
-#define __NR_fchmod 124 /* Common */
-#define __NR_recvfrom 125 /* Common */
-#define __NR_setreuid 126 /* Common */
-#define __NR_setregid 127 /* Common */
-#define __NR_rename 128 /* Common */
-#define __NR_truncate 129 /* Common */
-#define __NR_ftruncate 130 /* Common */
-#define __NR_flock 131 /* Common */
-#define __NR_lstat64 132 /* Linux sparc32 Specific */
-#define __NR_sendto 133 /* Common */
-#define __NR_shutdown 134 /* Common */
-#define __NR_socketpair 135 /* Common */
-#define __NR_mkdir 136 /* Common */
-#define __NR_rmdir 137 /* Common */
-#define __NR_utimes 138 /* SunOS Specific */
-#define __NR_stat64 139 /* Linux sparc32 Specific */
-/* #define __NR_adjtime 140 SunOS Specific */
-#define __NR_getpeername 141 /* Common */
-/* #define __NR_gethostid 142 SunOS Specific */
-/* #define __NR_ni_syscall 143 ENOSYS under SunOS */
-#define __NR_getrlimit 144 /* Common */
-#define __NR_setrlimit 145 /* Common */
-#define __NR_pivot_root 146 /* Linux Specific, killpg under SunOS */
-#define __NR_prctl 147 /* ENOSYS under SunOS */
-#define __NR_pciconfig_read 148 /* ENOSYS under SunOS */
-#define __NR_pciconfig_write 149 /* ENOSYS under SunOS */
-#define __NR_getsockname 150 /* Common */
-/* #define __NR_getmsg 151 SunOS Specific */
-/* #define __NR_putmsg 152 SunOS Specific */
-#define __NR_poll 153 /* Common */
-#define __NR_getdents64 154 /* Linux specific */
-#define __NR_fcntl64 155 /* Linux sparc32 Specific */
-/* #define __NR_getdirentries 156 SunOS Specific */
-#define __NR_statfs 157 /* Common */
-#define __NR_fstatfs 158 /* Common */
-#define __NR_umount 159 /* Common */
-/* #define __NR_async_daemon 160 SunOS Specific */
-/* #define __NR_getfh 161 SunOS Specific */
-#define __NR_getdomainname 162 /* SunOS Specific */
-#define __NR_setdomainname 163 /* Common */
-/* #define __NR_ni_syscall 164 ENOSYS under SunOS */
-#define __NR_quotactl 165 /* Common */
-/* #define __NR_exportfs 166 SunOS Specific */
-#define __NR_mount 167 /* Common */
-#define __NR_ustat 168 /* Common */
-/* #define __NR_semsys 169 SunOS Specific */
-/* #define __NR_msgsys 170 SunOS Specific */
-/* #define __NR_shmsys 171 SunOS Specific */
-/* #define __NR_auditsys 172 SunOS Specific */
-/* #define __NR_rfssys 173 SunOS Specific */
-#define __NR_getdents 174 /* Common */
-#define __NR_setsid 175 /* Common */
-#define __NR_fchdir 176 /* Common */
-/* #define __NR_fchroot 177 SunOS Specific */
-/* #define __NR_vpixsys 178 SunOS Specific */
-/* #define __NR_aioread 179 SunOS Specific */
-/* #define __NR_aiowrite 180 SunOS Specific */
-/* #define __NR_aiowait 181 SunOS Specific */
-/* #define __NR_aiocancel 182 SunOS Specific */
-#define __NR_sigpending 183 /* Common */
-#define __NR_query_module 184 /* Linux Specific */
-#define __NR_setpgid 185 /* Common */
-/* #define __NR_pathconf 186 SunOS Specific */
-/* #define __NR_fpathconf 187 SunOS Specific */
-/* #define __NR_sysconf 188 SunOS Specific */
-#define __NR_uname 189 /* Linux Specific */
-#define __NR_init_module 190 /* Linux Specific */
-#define __NR_personality 191 /* Linux Specific */
-/* #define __NR_prof 192 Linux Specific */
-/* #define __NR_break 193 Linux Specific */
-/* #define __NR_lock 194 Linux Specific */
-/* #define __NR_mpx 195 Linux Specific */
-/* #define __NR_ulimit 196 Linux Specific */
-#define __NR_getppid 197 /* Linux Specific */
-#define __NR_sigaction 198 /* Linux Specific */
-#define __NR_sgetmask 199 /* Linux Specific */
-#define __NR_ssetmask 200 /* Linux Specific */
-#define __NR_sigsuspend 201 /* Linux Specific */
-#define __NR_oldlstat 202 /* Linux Specific */
-#define __NR_uselib 203 /* Linux Specific */
-#define __NR_readdir 204 /* Linux Specific */
-/* #define __NR_ioperm 205 Linux Specific - i386 specific, unused */
-#define __NR_socketcall 206 /* Linux Specific */
-#define __NR_syslog 207 /* Linux Specific */
-/* #define __NR_olduname 208 Linux Specific */
-/* #define __NR_iopl 209 Linux Specific - i386 specific, unused */
-/* #define __NR_idle 210 Linux Specific - was sys_idle, now unused */
-/* #define __NR_vm86 211 Linux Specific - i386 specific, unused */
-#define __NR_waitpid 212 /* Linux Specific */
-#define __NR_swapoff 213 /* Linux Specific */
-#define __NR_sysinfo 214 /* Linux Specific */
-#define __NR_ipc 215 /* Linux Specific */
-#define __NR_sigreturn 216 /* Linux Specific */
-#define __NR_clone 217 /* Linux Specific */
-/* #define __NR_modify_ldt 218 Linux Specific - i386 specific, unused */
-#define __NR_adjtimex 219 /* Linux Specific */
-#define __NR_sigprocmask 220 /* Linux Specific */
-#define __NR_create_module 221 /* Linux Specific */
-#define __NR_delete_module 222 /* Linux Specific */
-#define __NR_get_kernel_syms 223 /* Linux Specific */
-#define __NR_getpgid 224 /* Linux Specific */
-#define __NR_bdflush 225 /* Linux Specific */
-#define __NR_sysfs 226 /* Linux Specific */
-#define __NR_afs_syscall 227 /* Linux Specific */
-#define __NR_setfsuid 228 /* Linux Specific */
-#define __NR_setfsgid 229 /* Linux Specific */
-#define __NR__newselect 230 /* Linux Specific */
-#define __NR_time 231 /* Linux Specific */
-/* #define __NR_oldstat 232 Linux Specific */
-#define __NR_stime 233 /* Linux Specific */
-/* #define __NR_oldfstat 234 Linux Specific */
-/* #define __NR_phys 235 Linux Specific */
-#define __NR__llseek 236 /* Linux Specific */
-#define __NR_mlock 237
-#define __NR_munlock 238
-#define __NR_mlockall 239
-#define __NR_munlockall 240
-#define __NR_sched_setparam 241
-#define __NR_sched_getparam 242
-#define __NR_sched_setscheduler 243
-#define __NR_sched_getscheduler 244
-#define __NR_sched_yield 245
-#define __NR_sched_get_priority_max 246
-#define __NR_sched_get_priority_min 247
-#define __NR_sched_rr_get_interval 248
-#define __NR_nanosleep 249
-#define __NR_mremap 250
-#define __NR__sysctl 251
-#define __NR_getsid 252
-#define __NR_fdatasync 253
-#define __NR_nfsservctl 254
-#define __NR_aplib 255
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.type wsym,function; \
-.weak wsym; \
-wsym: ; \
-.type sym,function; \
-.global sym; \
-sym: \
- b __unified_syscall; \
- mov __NR_##name, %g1
-
-#define syscall(name,sym) \
-.text; \
-.type sym,function; \
-.global sym; \
-sym: \
- b __unified_syscall; \
- mov __NR_##name, %g1
-
diff --git a/mdk-stage1/dietlibc/sparc/udiv.S b/mdk-stage1/dietlibc/sparc/udiv.S
deleted file mode 100644
index fe8d04969..000000000
--- a/mdk-stage1/dietlibc/sparc/udiv.S
+++ /dev/null
@@ -1,361 +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 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 .Lgot_result ! (and algorithm fails otherwise)
- clr %o2
- sethi %hi(1 << (32 - 4 - 1)), %g1
- cmp %o3, %g1
- blu .Lnot_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 .Lnot_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 .Ldo_single_div
- sub %g2, 1, %g2
-
- .Lnot_too_big:
- 3: cmp %o5, %o3
- blu 2b
- nop
- be .Ldo_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...
- .Ldo_single_div:
- subcc %g2, 1, %g2
- bl .Lend_regular_divide
- nop
- sub %o3, %o5, %o3
- mov 1, %o2
- b .Lend_single_divloop
- nop
- .Lsingle_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:
- .Lend_single_divloop:
- subcc %g2, 1, %g2
- bge .Lsingle_divloop
- tst %o3
- b,a .Lend_regular_divide
-
-.Lnot_really_big:
-1:
- sll %o5, 4, %o5
- cmp %o5, %o3
- bleu 1b
- addcc %o4, 1, %o4
- be .Lgot_result
- sub %o4, 1, %o4
-
- tst %o3 ! set up for initial iteration
-.Ldivloop:
- sll %o2, 4, %o2
- ! depth 1, accumulated bits 0
- bl .L1.16
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 2, accumulated bits 1
- bl .L2.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits 3
- bl .L3.19
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 7
- bl .L4.23
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2+1), %o2
-
-.L4.23:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2-1), %o2
-
-
-.L3.19:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 5
- bl .L4.21
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2+1), %o2
-
-.L4.21:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2-1), %o2
-
-
-
-.L2.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits 1
- bl .L3.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 3
- bl .L4.19
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2+1), %o2
-
-.L4.19:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2-1), %o2
-
-
-.L3.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 1
- bl .L4.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2+1), %o2
-
-.L4.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2-1), %o2
-
-
-
-
-.L1.16:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 2, accumulated bits -1
- bl .L2.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits -1
- bl .L3.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -1
- bl .L4.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2+1), %o2
-
-.L4.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2-1), %o2
-
-
-.L3.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -3
- bl .L4.13
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2+1), %o2
-
-.L4.13:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2-1), %o2
-
-
-
-.L2.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits -3
- bl .L3.13
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -5
- bl .L4.11
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2+1), %o2
-
-.L4.11:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2-1), %o2
-
-
-.L3.13:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -7
- bl .L4.9
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2+1), %o2
-
-.L4.9:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2-1), %o2
-
-
-
-
- 9:
-.Lend_regular_divide:
- subcc %o4, 1, %o4
- bge .Ldivloop
- tst %o3
- bl,a .Lgot_result
- ! non-restoring fixup here (one instruction only!)
- sub %o2, 1, %o2
-
-
-.Lgot_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 5d7d60f2b..000000000
--- a/mdk-stage1/dietlibc/sparc/umul.S
+++ /dev/null
@@ -1,168 +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 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 .Lmul_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
-
-.Lmul_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 873a522df..000000000
--- a/mdk-stage1/dietlibc/sparc/unified.S
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <dietfeatures.h>
-#include "syscalls.h"
-
-.text
-.weak exit
-.type exit,function
-exit:
-.global _exit
-.type _exit,function
-_exit:
- mov __NR_exit, %g1
-.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_SAFE
- 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 f7a9fd394..000000000
--- a/mdk-stage1/dietlibc/sparc/urem.S
+++ /dev/null
@@ -1,360 +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 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 .Lgot_result ! (and algorithm fails otherwise)
- clr %o2
- sethi %hi(1 << (32 - 4 - 1)), %g1
- cmp %o3, %g1
- blu .Lnot_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 .Lnot_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 .Ldo_single_div
- sub %g2, 1, %g2
-
- .Lnot_too_big:
- 3: cmp %o5, %o3
- blu 2b
- nop
- be .Ldo_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...
- .Ldo_single_div:
- subcc %g2, 1, %g2
- bl .Lend_regular_divide
- nop
- sub %o3, %o5, %o3
- mov 1, %o2
- b .Lend_single_divloop
- nop
- .Lsingle_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:
- .Lend_single_divloop:
- subcc %g2, 1, %g2
- bge .Lsingle_divloop
- tst %o3
- b,a .Lend_regular_divide
-
-.Lnot_really_big:
-1:
- sll %o5, 4, %o5
- cmp %o5, %o3
- bleu 1b
- addcc %o4, 1, %o4
- be .Lgot_result
- sub %o4, 1, %o4
-
- tst %o3 ! set up for initial iteration
-.Ldivloop:
- sll %o2, 4, %o2
- ! depth 1, accumulated bits 0
- bl .L1.16
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 2, accumulated bits 1
- bl .L2.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits 3
- bl .L3.19
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 7
- bl .L4.23
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2+1), %o2
-
-.L4.23:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2-1), %o2
-
-
-.L3.19:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 5
- bl .L4.21
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2+1), %o2
-
-.L4.21:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2-1), %o2
-
-
-
-.L2.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits 1
- bl .L3.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 3
- bl .L4.19
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2+1), %o2
-
-.L4.19:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2-1), %o2
-
-
-.L3.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 1
- bl .L4.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2+1), %o2
-
-.L4.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2-1), %o2
-
-
-
-
-.L1.16:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 2, accumulated bits -1
- bl .L2.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits -1
- bl .L3.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -1
- bl .L4.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2+1), %o2
-
-.L4.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2-1), %o2
-
-
-.L3.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -3
- bl .L4.13
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2+1), %o2
-
-.L4.13:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2-1), %o2
-
-
-
-.L2.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits -3
- bl .L3.13
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -5
- bl .L4.11
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2+1), %o2
-
-.L4.11:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2-1), %o2
-
-
-.L3.13:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -7
- bl .L4.9
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2+1), %o2
-
-.L4.9:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2-1), %o2
-
-
-
-
- 9:
-.Lend_regular_divide:
- subcc %o4, 1, %o4
- bge .Ldivloop
- tst %o3
- bl,a .Lgot_result
- ! non-restoring fixup here (one instruction only!)
- add %o3, %o1, %o3
-
-
-.Lgot_result:
-
- retl
- mov %o3, %o0
-
-END(.urem)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.h b/mdk-stage1/dietlibc/syscalls.h
deleted file mode 100644
index aa62f67a9..000000000
--- a/mdk-stage1/dietlibc/syscalls.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#if defined(__i386__)
-#include "i386/syscalls.h"
-
-#elif defined(__x86_64__)
-#include "x86_64/syscalls.h"
-
-#elif defined(__sparc__)
-#if defined(__arch64__)
-#include "sparc64/syscalls.h"
-#else
-#include "sparc/syscalls.h"
-#endif
-
-#elif defined(__powerpc__)
-#include "ppc/syscalls.h"
-
-#elif defined(__mips__)
-#include "mips/syscalls.h"
-
-#elif defined(__arm__)
-#include "arm/syscalls.h"
-
-#elif defined(__s390__)
-#include "s390/syscalls.h"
-
-#elif defined(__alpha__)
-#include "alpha/syscalls.h"
-
-#elif defined(__hppa__)
-#include "parisc/syscalls.h"
-
-#elif defined(__ia64__)
-#include "ia64/syscalls.h"
-
-#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 ae2068352..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__pread.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(pread,__pread)
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/__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 68d021168..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/_llseek.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR__llseek
-.global llseek
-llseek:
-syscall(_llseek,_llseek)
-#endif
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/adjtimex.S b/mdk-stage1/dietlibc/syscalls.s/adjtimex.S
deleted file mode 100644
index 190ebcd7e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/adjtimex.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(adjtimex,adjtimex)
diff --git a/mdk-stage1/dietlibc/syscalls.s/alarm.S b/mdk-stage1/dietlibc/syscalls.s/alarm.S
deleted file mode 100644
index b1b0d3e49..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/alarm.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-#ifdef __NR_alarm
-syscall(alarm,alarm)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/bdflush.S b/mdk-stage1/dietlibc/syscalls.s/bdflush.S
deleted file mode 100644
index b7788baef..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/bdflush.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_bdflush
-syscall(bdflush,bdflush)
-#endif
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/chown32.S b/mdk-stage1/dietlibc/syscalls.s/chown32.S
deleted file mode 100644
index 98d68f980..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chown32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_chown32
-syscall_weak(chown32,chown32,__libc_chown32)
-#endif
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/create_module.S b/mdk-stage1/dietlibc/syscalls.s/create_module.S
deleted file mode 100644
index f2da644ad..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/create_module.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_create_module
-syscall(create_module,create_module)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/delete_module.S b/mdk-stage1/dietlibc/syscalls.s/delete_module.S
deleted file mode 100644
index d0919b6be..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/delete_module.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_delete_module
-syscall(delete_module,delete_module)
-#endif
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/environ.S b/mdk-stage1/dietlibc/syscalls.s/environ.S
deleted file mode 100644
index eb3ff0b94..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/environ.S
+++ /dev/null
@@ -1,16 +0,0 @@
-.section ".bss"
-.align 8
-
-.type environ,object
-.weak environ
-.type __environ,object
-.weak __environ
-__environ:
-environ:
-#if __WORDSIZE == 64
- .quad 0
-#else
- .long 0
-#endif
-.size environ,.-environ
-.size __environ,.-__environ
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_create.S b/mdk-stage1/dietlibc/syscalls.s/epoll_create.S
deleted file mode 100644
index 09bb50209..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/epoll_create.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sys_epoll_create
-syscall(sys_epoll_create,epoll_create)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S b/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S
deleted file mode 100644
index 4587f59de..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sys_epoll_ctl
-syscall(sys_epoll_ctl,epoll_ctl)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S b/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S
deleted file mode 100644
index dab5a58b7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sys_epoll_wait
-syscall(sys_epoll_wait,epoll_wait)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/errlist.S b/mdk-stage1/dietlibc/syscalls.s/errlist.S
deleted file mode 100644
index c06d3d3ac..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/errlist.S
+++ /dev/null
@@ -1,293 +0,0 @@
-#include <endian.h>
-
-#
-# My gcc tries to align some of the strings if written the code in C. This costs a lot of bytes.
-#
-
-#ifdef __DYN_LIB
-.section .data
-#else
-.section .rodata
-#endif
-
-.align 4
-.global sys_errlist
-#ifdef __arm__
-.type sys_errlist,object
-.type sys_nerr,object
-#else
-.type sys_errlist,@object
-.type sys_nerr,@object
-#endif
-
-#if (__WORDSIZE == 64)
-#define deflong .quad
-#else
-#define deflong .long
-#endif
-
-sys_errlist:
- deflong .LC000
- deflong .LC001
- deflong .LC002
- deflong .LC003
- deflong .LC004
- deflong .LC005
- deflong .LC006
- deflong .LC007
- deflong .LC008
- deflong .LC009
- deflong .LC010
- deflong .LC011
- deflong .LC012
- deflong .LC013
- deflong .LC014
- deflong .LC015
- deflong .LC016
- deflong .LC017
- deflong .LC018
- deflong .LC019
- deflong .LC020
- deflong .LC021
- deflong .LC022
- deflong .LC023
- deflong .LC024
- deflong .LC025
- deflong .LC026
- deflong .LC027
- deflong .LC028
- deflong .LC029
- deflong .LC030
- deflong .LC031
- deflong .LC032
- deflong .LC033
- deflong .LC034
- deflong .LC035
- deflong .LC036
- deflong .LC037
- deflong .LC038
- deflong .LC039
- deflong .LC040
- deflong .LC041
- deflong .LC042
- deflong .LC043
- deflong .LC044
- deflong .LC045
- deflong .LC046
- deflong .LC047
- deflong .LC048
- deflong .LC049
- deflong .LC050
- deflong .LC051
- deflong .LC052
- deflong .LC053
- deflong .LC054
- deflong .LC055
- deflong .LC056
- deflong .LC057
- deflong .LC058
- deflong .LC059
- deflong .LC060
- deflong .LC061
- deflong .LC062
- deflong .LC063
- deflong .LC064
- deflong .LC065
- deflong .LC066
- deflong .LC067
- deflong .LC068
- deflong .LC069
- deflong .LC070
- deflong .LC071
- deflong .LC072
- deflong .LC073
- deflong .LC074
- deflong .LC075
- deflong .LC076
- deflong .LC077
- deflong .LC078
- deflong .LC079
- deflong .LC080
- deflong .LC081
- deflong .LC082
- deflong .LC083
- deflong .LC084
- deflong .LC085
- deflong .LC086
- deflong .LC087
- deflong .LC088
- deflong .LC089
- deflong .LC090
- deflong .LC091
- deflong .LC092
- deflong .LC093
- deflong .LC094
- deflong .LC095
- deflong .LC096
- deflong .LC097
- deflong .LC098
- deflong .LC099
- deflong .LC100
- deflong .LC101
- deflong .LC102
- deflong .LC103
- deflong .LC104
- deflong .LC105
- deflong .LC106
- deflong .LC107
- deflong .LC108
- deflong .LC109
- deflong .LC110
- deflong .LC111
- deflong .LC112
- deflong .LC113
- deflong .LC114
- deflong .LC115
- deflong .LC116
- deflong .LC117
- deflong .LC118
- deflong .LC119
- deflong .LC120
- deflong .LC121
- deflong .LC122
- deflong .LC123
- deflong .LC124
- deflong 0
-.size sys_errlist,.-sys_errlist
-
-.align 4
-.global sys_nerr
-sys_nerr:
- .long 125
-.size sys_nerr,4
-
-
-#ifdef __DYN_LIB
-.section .rodata
-#endif
-
-.LC000: .string "Success"
-.LC001: .string "Operation not permitted"
-.LC002: .string "No such file or directory"
-.LC003: .string "No such process"
-.LC004: .string "Interrupted system call"
-.LC005: .string "I/O error"
-.LC006: .string "No such device or address"
-.LC007: .string "Arg list too long"
-.LC008: .string "Exec format error"
-.LC009: .string "Bad file number"
-.LC010: .string "No child processes"
-.LC011: .string "Try again"
-.LC012: .string "Out of memory"
-.LC013: .string "Permission denied"
-.LC014: .string "Bad address"
-.LC015: .string "Block device required"
-.LC016: .string "Device or resource busy"
-.LC017: .string "File exists"
-.LC018: .string "Cross-device link"
-.LC019: .string "No such device"
-.LC020: .string "Not a directory"
-.LC021: .string "Is a directory"
-.LC022: .string "Invalid argument"
-.LC023: .string "File table overflow"
-.LC024: .string "Too many open files"
-.LC025: .string "Not a typewriter"
-.LC026: .string "Text file busy"
-.LC027: .string "File too large"
-.LC028: .string "No space left on device"
-.LC029: .string "Illegal seek"
-.LC030: .string "Read-only file system"
-.LC031: .string "Too many links"
-.LC032: .string "Broken pipe"
-.LC033: .string "Math argument out of domain of func"
-.LC034: .string "Math result not representable"
-.LC035: .string "Resource deadlock would occur"
-.LC036: .string "File name too long"
-.LC037: .string "No record locks available"
-.LC038: .string "Function not implemented"
-.LC039: .string "Directory not empty"
-.LC040: .string "Too many symbolic links encountered"
-.LC041: .string "Operation would block"
-.LC042: .string "No message of desired type"
-.LC043: .string "Identifier removed"
-.LC044: .string "Channel number out of range"
-.LC045: .string "Level 2 not synchronized"
-.LC046: .string "Level 3 halted"
-.LC047: .string "Level 3 reset"
-.LC048: .string "Link number out of range"
-.LC049: .string "Protocol driver not attached"
-.LC050: .string "No CSI structure available"
-.LC051: .string "Level 2 halted"
-.LC052: .string "Invalid exchange"
-.LC053: .string "Invalid request descriptor"
-.LC054: .string "Exchange full"
-.LC055: .string "No anode"
-.LC056: .string "Invalid request code"
-.LC057: .string "Invalid slot"
-.LC058: .string "File locking deadlock error"
-.LC059: .string "Bad font file format"
-.LC060: .string "Device not a stream"
-.LC061: .string "No data available"
-.LC062: .string "Timer expired"
-.LC063: .string "Out of streams resources"
-.LC064: .string "Machine is not on the network"
-.LC065: .string "Package not installed"
-.LC066: .string "Object is remote"
-.LC067: .string "Link has been severed"
-.LC068: .string "Advertise error"
-.LC069: .string "Srmount error"
-.LC070: .string "Communication error on send"
-.LC071: .string "Protocol error"
-.LC072: .string "Multihop attempted"
-.LC073: .string "RFS specific error"
-.LC074: .string "Not a data message"
-.LC075: .string "Value too large for defined data type"
-.LC076: .string "Name not unique on network"
-.LC077: .string "File descriptor in bad state"
-.LC078: .string "Remote address changed"
-.LC079: .string "Can not access a needed shared library"
-.LC080: .string "Accessing a corrupted shared library"
-.LC081: .string ".lib section in a.out corrupted"
-.LC082: .string "Attempting to link in too many shared libraries"
-.LC083: .string "Cannot exec a shared library directly"
-.LC084: .string "Illegal byte sequence"
-.LC085: .string "Interrupted system call should be restarted"
-.LC086: .string "Streams pipe error"
-.LC087: .string "Too many users"
-.LC088: .string "Socket operation on non-socket"
-.LC089: .string "Destination address required"
-.LC090: .string "Message too long"
-.LC091: .string "Protocol wrong type for socket"
-.LC092: .string "Protocol not available"
-.LC093: .string "Protocol not supported"
-.LC094: .string "Socket type not supported"
-.LC095: .string "Operation not supported on transport endpoint"
-.LC096: .string "Protocol family not supported"
-.LC097: .string "Address family not supported by protocol"
-.LC098: .string "Address already in use"
-.LC099: .string "Cannot assign requested address"
-.LC100: .string "Network is down"
-.LC101: .string "Network is unreachable"
-.LC102: .string "Network dropped connection because of reset"
-.LC103: .string "Software caused connection abort"
-.LC104: .string "Connection reset by peer"
-.LC105: .string "No buffer space available"
-.LC106: .string "Transport endpoint is already connected"
-.LC107: .string "Transport endpoint is not connected"
-.LC108: .string "Cannot send after transport endpoint shutdown"
-.LC109: .string "Too many references: cannot splice"
-.LC110: .string "Connection timed out"
-.LC111: .string "Connection refused"
-.LC112: .string "Host is down"
-.LC113: .string "No route to host"
-.LC114: .string "Operation already in progress"
-.LC115: .string "Operation now in progress"
-.LC116: .string "Stale NFS file handle"
-.LC117: .string "Structure needs cleaning"
-.LC118: .string "Not a XENIX named type file"
-.LC119: .string "No XENIX semaphores available"
-.LC120: .string "Is a named type file"
-.LC121: .string "Remote I/O error"
-.LC122: .string "Quota exceeded"
-.LC123: .string "No medium found"
-.LC124: .string "Wrong medium type"
diff --git a/mdk-stage1/dietlibc/syscalls.s/errno.S b/mdk-stage1/dietlibc/syscalls.s/errno.S
deleted file mode 100644
index 2f0a2eca8..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/errno.S
+++ /dev/null
@@ -1,8 +0,0 @@
-.section ".bss"
-.align 8
-
-.type errno,object
-.weak errno
-errno:
- .long 0
-.size errno,.-errno
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/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/fchown32.S b/mdk-stage1/dietlibc/syscalls.s/fchown32.S
deleted file mode 100644
index 25b18bc8e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fchown32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_fchown32
-syscall_weak(fchown32,fchown32,__libc_fchown32)
-#endif
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/fdatasync.S b/mdk-stage1/dietlibc/syscalls.s/fdatasync.S
deleted file mode 100644
index 46afd94d2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fdatasync.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "syscalls.h"
-
-#ifndef __NR_fdatasync
-#define __NR_fdatasync __NR_fsync
-#endif
-syscall_weak(fdatasync,fdatasync,__libc_fdatasync)
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 f034ddf5b..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fstat64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_fstat64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(fstat64,__dietlibc_fstat64)
-#else
-syscall(fstat64,fstat64)
-#endif
-#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/ftruncate64.S b/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S
deleted file mode 100644
index 639dcf5b7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_ftruncate64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(ftruncate64,__dietlibc_ftruncate64)
-#else
-syscall(ftruncate64,ftruncate64)
-#endif
-#endif
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 691d8f650..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getdents64.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "dietfeatures.h"
-#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/getegid32.S b/mdk-stage1/dietlibc/syscalls.s/getegid32.S
deleted file mode 100644
index fd527d3f2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getegid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getegid32
-syscall_weak(getegid32,getegid32,__libc_getegid32)
-#endif
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/geteuid32.S b/mdk-stage1/dietlibc/syscalls.s/geteuid32.S
deleted file mode 100644
index 8881fa580..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/geteuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_geteuid32
-syscall_weak(geteuid32,geteuid32,__libc_geteuid32)
-#endif
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/getgid32.S b/mdk-stage1/dietlibc/syscalls.s/getgid32.S
deleted file mode 100644
index 09fca3504..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getgid32
-syscall_weak(getgid32,getgid32,__libc_getgid32)
-#endif
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/getgroups32.S b/mdk-stage1/dietlibc/syscalls.s/getgroups32.S
deleted file mode 100644
index 29e6005d6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getgroups32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getgroups32
-syscall_weak(getgroups32,getgroups32,__libc_getgroups32)
-#endif
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/getresgid32.S b/mdk-stage1/dietlibc/syscalls.s/getresgid32.S
deleted file mode 100644
index 35ee7436b..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getresgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getresgid32
-syscall_weak(getresgid32,getresgid32,__libc_getresgid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getresuid.S b/mdk-stage1/dietlibc/syscalls.s/getresuid.S
deleted file mode 100644
index 95c5505a8..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getresuid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getresuid
-
-syscall(getresuid,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/getuid32.S b/mdk-stage1/dietlibc/syscalls.s/getuid32.S
deleted file mode 100644
index f90ce06a5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getuid32
-syscall_weak(getuid32,getuid32,__libc_getuid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/init_module.S b/mdk-stage1/dietlibc/syscalls.s/init_module.S
deleted file mode 100644
index 4e8709d75..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/init_module.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_init_module
-syscall(init_module,init_module)
-#endif
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 74a51fc4b..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ioperm.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_ioperm
-syscall(ioperm,ioperm)
-#endif
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 476878e52..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ipc.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_ipc
-syscall(ipc,__ipc)
-#endif
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/lchown32.S b/mdk-stage1/dietlibc/syscalls.s/lchown32.S
deleted file mode 100644
index 6863dcb24..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lchown32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_lchown32
-syscall_weak(lchown32,lchown32,__libc_lchown32)
-#endif
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/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 021cb0578..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lstat64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_lstat64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(lstat64,__dietlibc_lstat64)
-#else
-syscall(lstat64,lstat64)
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/madvise.S b/mdk-stage1/dietlibc/syscalls.s/madvise.S
deleted file mode 100644
index dde7daaea..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/madvise.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(madvise,madvise)
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/mlock.S b/mdk-stage1/dietlibc/syscalls.s/mlock.S
deleted file mode 100644
index e2fa3d1bd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mlock.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mlock,mlock)
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/mmap2.S b/mdk-stage1/dietlibc/syscalls.s/mmap2.S
deleted file mode 100644
index faf7eaaff..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mmap2.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_mmap2
-syscall(mmap2,__mmap2)
-#endif
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/msync.S b/mdk-stage1/dietlibc/syscalls.s/msync.S
deleted file mode 100644
index 7f5ae9e4a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/msync.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(msync,msync,__libc_msync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/munlock.S b/mdk-stage1/dietlibc/syscalls.s/munlock.S
deleted file mode 100644
index 2001c89b7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/munlock.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(munlock,munlock)
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/n_sigaction.S b/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S
deleted file mode 100644
index 15d66ccc0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sigaction
-syscall_weak(sigaction,__old_sigaction,__n_sigaction)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S b/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S
deleted file mode 100644
index f851099a0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sigpending
-syscall_weak(sigpending,__old_sigpending,__n_sigpending)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S
deleted file mode 100644
index 6d632aa71..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sigprocmask
-syscall_weak(sigprocmask,__old_sigprocmask,__n_sigprocmask)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S
deleted file mode 100644
index a1cfc014d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sigsuspend
-syscall_weak(sigsuspend,__old_sigsuspend,__n_sigsuspend)
-#endif
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 4dad30edb..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/nice.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_nice
-syscall(nice,nice)
-#endif
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 d154f1538..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pause.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_pause
-syscall_weak(pause,pause,__libc_pause)
-#endif
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/pivot_root.S b/mdk-stage1/dietlibc/syscalls.s/pivot_root.S
deleted file mode 100644
index 89bc40298..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pivot_root.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(pivot_root,pivot_root)
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/prctl.S b/mdk-stage1/dietlibc/syscalls.s/prctl.S
deleted file mode 100644
index 654d5ded5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/prctl.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_prctl
-syscall(prctl,prctl)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ptrace.S b/mdk-stage1/dietlibc/syscalls.s/ptrace.S
deleted file mode 100644
index 8f198f41e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ptrace.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ptrace,__diet_ptrace)
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/rt_sigaction.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S
deleted file mode 100644
index 2382b23af..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigaction,__rt_sigaction)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S
deleted file mode 100644
index 3ad8f6ff3..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigpending,__rt_sigpending)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S
deleted file mode 100644
index b4c2aba5a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigprocmask,__rt_sigprocmask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S
deleted file mode 100644
index fbc0b511f..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigqueueinfo,__rt_sigqueueinfo)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S
deleted file mode 100644
index 58297409e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigsuspend,__rt_sigsuspend)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S
deleted file mode 100644
index 27cdef474..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigtimedwait,__rt_sigtimedwait)
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 4dcb0ef69..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")
diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile64.S b/mdk-stage1/dietlibc/syscalls.s/sendfile64.S
deleted file mode 100644
index 054ed7177..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sendfile64.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "syscalls.h"
-#include "dietwarning.h"
-
-#ifdef __NR_sendfile64
-syscall_weak(sendfile64,sendfile64,__libc_sendfile64)
-
-link_warning(sendfile64,"sendfile64 is not portable")
-#endif
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/setfsgid.S b/mdk-stage1/dietlibc/syscalls.s/setfsgid.S
deleted file mode 100644
index 095f1b2b8..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setfsgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setfsgid,setfsgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S b/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S
deleted file mode 100644
index b671bf90d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setfsgid32
-syscall_weak(setfsgid32,setfsgid32,__libc_setfsgid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsuid.S b/mdk-stage1/dietlibc/syscalls.s/setfsuid.S
deleted file mode 100644
index 7dcd7b432..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setfsuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setfsuid,setfsuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S b/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S
deleted file mode 100644
index df5a0a877..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setfsuid32
-syscall_weak(setfsuid32,setfsuid32,__libc_setfsuid32)
-#endif
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/setgid32.S b/mdk-stage1/dietlibc/syscalls.s/setgid32.S
deleted file mode 100644
index 11be4922a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setgid32
-syscall_weak(setgid32,setgid32,__libc_setgid32)
-#endif
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/setregid32.S b/mdk-stage1/dietlibc/syscalls.s/setregid32.S
deleted file mode 100644
index 4565bba17..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setregid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setregid32
-syscall_weak(setregid32,setregid32,__libc_setregid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid.S b/mdk-stage1/dietlibc/syscalls.s/setresgid.S
deleted file mode 100644
index 2277cbaf4..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresgid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setresgid
-
-syscall(setresgid,setresgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid32.S b/mdk-stage1/dietlibc/syscalls.s/setresgid32.S
deleted file mode 100644
index 209b27f97..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setresgid32
-syscall_weak(setresgid32,setresgid32,__libc_setresgid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresuid.S b/mdk-stage1/dietlibc/syscalls.s/setresuid.S
deleted file mode 100644
index cd322b77e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresuid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setresuid
-
-syscall(setresuid,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/setreuid32.S b/mdk-stage1/dietlibc/syscalls.s/setreuid32.S
deleted file mode 100644
index 7bb06fa25..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setreuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setreuid32
-syscall_weak(setreuid32,setreuid32,__libc_setreuid32)
-#endif
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/settimeofday.S b/mdk-stage1/dietlibc/syscalls.s/settimeofday.S
deleted file mode 100644
index 4ca626aa4..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/settimeofday.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(settimeofday,settimeofday)
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/setuid32.S b/mdk-stage1/dietlibc/syscalls.s/setuid32.S
deleted file mode 100644
index 869603471..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setuid32
-syscall_weak(setuid32,setuid32,__libc_setuid32)
-#endif
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/socketcall.S b/mdk-stage1/dietlibc/syscalls.s/socketcall.S
deleted file mode 100644
index b97b37f0c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/socketcall.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_socketcall
-syscall(socketcall,socketcall)
-#endif
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 7dc54d955..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stat64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_stat64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(stat64,__dietlibc_stat64)
-#else
-syscall(stat64,stat64)
-#endif
-#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 281809c27..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stime.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_stime
-syscall(stime,stime)
-#endif
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 4ebd81a39..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/syslog.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(syslog,__syscall_syslog,klogctl)
diff --git a/mdk-stage1/dietlibc/syscalls.s/time.S b/mdk-stage1/dietlibc/syscalls.s/time.S
deleted file mode 100644
index aa646cfdf..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/time.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_time
-syscall(time,time)
-#endif
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/truncate64.S b/mdk-stage1/dietlibc/syscalls.s/truncate64.S
deleted file mode 100644
index 0e375728e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/truncate64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_truncate64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(truncate64,__dietlibc_truncate64)
-#else
-syscall(truncate64,truncate64)
-#endif
-#endif
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 b27b353ed..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/umount2.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_umount2
-syscall(umount2,umount2)
-#endif
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 bedc73eb6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/waitpid.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_waitpid
-syscall_weak(waitpid,waitpid,__libc_waitpid)
-#endif
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/dietlibc/threadsafe.sh b/mdk-stage1/dietlibc/threadsafe.sh
deleted file mode 100755
index 67f6f6338..000000000
--- a/mdk-stage1/dietlibc/threadsafe.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-(gcc -E - << EOF | grep -q WANT_THREAD_SAFE) || echo libpthread/pthread_*.c
-#include "dietfeatures.h"
-WANT_THREAD_SAFE
-EOF
diff --git a/mdk-stage1/dietlibc/x86_64/Makefile.add b/mdk-stage1/dietlibc/x86_64/Makefile.add
deleted file mode 100644
index 7d60185a7..000000000
--- a/mdk-stage1/dietlibc/x86_64/Makefile.add
+++ /dev/null
@@ -1,2 +0,0 @@
-CFLAGS := -Os -fstrict-aliasing -momit-leaf-frame-pointer -mfancy-math-387
-VPATH := x86_64:syscalls.s:$(VPATH)
diff --git a/mdk-stage1/dietlibc/x86_64/__longjmp.S b/mdk-stage1/dietlibc/x86_64/__longjmp.S
deleted file mode 100644
index 43ec0539f..000000000
--- a/mdk-stage1/dietlibc/x86_64/__longjmp.S
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <setjmp.h>
-#include "dietwarning.h"
-
-.text
-.global __longjmp
-.type __longjmp,@function
-__longjmp:
- mov $1,%eax
- /* Restore the return address now. */
- movq (JB_PC*8)(%rdi),%rdx
- /* Restore registers. */
- movq (JB_RBX*8)(%rdi),%rbx
- movq (JB_RBP*8)(%rdi),%rbp
- movq (JB_R12*8)(%rdi),%r12
- movq (JB_R13*8)(%rdi),%r13
- movq (JB_R14*8)(%rdi),%r14
- movq (JB_R15*8)(%rdi),%r15
- movq (JB_RSP*8)(%rdi),%rsp
- /* never return 0 */
- test %esi,%esi
- cmovne %esi,%eax
- /* Jump to saved PC. */
- jmp *%rdx
-.size __longjmp,.-__longjmp;
-
-link_warning("__longjmp","longjmp() not yet tested")
diff --git a/mdk-stage1/dietlibc/x86_64/__testandset.S b/mdk-stage1/dietlibc/x86_64/__testandset.S
deleted file mode 100644
index 7355477e6..000000000
--- a/mdk-stage1/dietlibc/x86_64/__testandset.S
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "dietwarning.h"
-
-.text
-.global __testandset
-.type __testandset,@function
-__testandset:
- xorl %eax,%eax
- incl %eax
- xchg %rax,(%rdi)
- ret
-
-link_warning("__testandset", "warning: __testandset() was never tested!")
diff --git a/mdk-stage1/dietlibc/x86_64/accept.S b/mdk-stage1/dietlibc/x86_64/accept.S
deleted file mode 100644
index 7bdc38c7e..000000000
--- a/mdk-stage1/dietlibc/x86_64/accept.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(accept, accept);
diff --git a/mdk-stage1/dietlibc/x86_64/bind.S b/mdk-stage1/dietlibc/x86_64/bind.S
deleted file mode 100644
index 05849d470..000000000
--- a/mdk-stage1/dietlibc/x86_64/bind.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(bind, bind);
diff --git a/mdk-stage1/dietlibc/x86_64/clone.S b/mdk-stage1/dietlibc/x86_64/clone.S
deleted file mode 100644
index 82c8c5bae..000000000
--- a/mdk-stage1/dietlibc/x86_64/clone.S
+++ /dev/null
@@ -1,64 +0,0 @@
-#include "syscalls.h"
-#include <errno.h>
-#include "dietwarning.h"
-
-.text
-.type clone,@function
-.weak clone
-clone:
-.type __clone,@function
-.global __clone
-__clone:
- movl $-EINVAL,%eax
- testq %rdi,%rdi /* have non null thread_funcion */
- jz .Lclone_error
- testq %rsi,%rsi /* have non null child_stack pointer */
- jz .Lclone_error
-
- /* put the parameters on thread stack */
- subq $16,%rsi
- movq %rcx,8(%rsi) /* thread parameter */
- movq %rdi,0(%rsi) /* thread function */
-
- /* syscall */
- movq %rdx,%rdi
- movl $__NR_clone,%eax
- syscall
- cmpl $0,%eax
- jl .Lclone_error
- jne .Lreturn
-
-.thread_start:
- /* call thread function */
- popq %rax
- popq %rdi
- call *%rax
- /* exit a thread */
- movq %rax,%rdi
-#ifdef PIC
- jmp _exit@PLT
-#else
- jmp _exit
-#endif
-
-.Lclone_error:
- /* set errno */
- negl %eax
- pushq %rax
-#ifdef PIC
- call __errno_location@PLT
-#else
- call __errno_location
-#endif
- popq %rcx
- movl %ecx,(%rax)
- orq $-1, %rax
-
-.Lreturn:
- /* just return */
- ret
-
-link_warning("clone", "warning: clone() not yet tested")
-link_warning("__clone", "warning: clone() not yet tested")
-//link_warning("clone", "warning: clone() not yet implemented")
-//link_warning("__clone", "warning: clone() not yet implemented")
diff --git a/mdk-stage1/dietlibc/x86_64/connect.S b/mdk-stage1/dietlibc/x86_64/connect.S
deleted file mode 100644
index 5fbd151ae..000000000
--- a/mdk-stage1/dietlibc/x86_64/connect.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(connect, connect);
diff --git a/mdk-stage1/dietlibc/x86_64/getpeername.S b/mdk-stage1/dietlibc/x86_64/getpeername.S
deleted file mode 100644
index fdaa1038a..000000000
--- a/mdk-stage1/dietlibc/x86_64/getpeername.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpeername, getpeername);
diff --git a/mdk-stage1/dietlibc/x86_64/getsockname.S b/mdk-stage1/dietlibc/x86_64/getsockname.S
deleted file mode 100644
index 1ea0bc000..000000000
--- a/mdk-stage1/dietlibc/x86_64/getsockname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockname, getsockname);
diff --git a/mdk-stage1/dietlibc/x86_64/getsockopt.S b/mdk-stage1/dietlibc/x86_64/getsockopt.S
deleted file mode 100644
index 465c4e08e..000000000
--- a/mdk-stage1/dietlibc/x86_64/getsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockopt, getsockopt);
diff --git a/mdk-stage1/dietlibc/x86_64/listen.S b/mdk-stage1/dietlibc/x86_64/listen.S
deleted file mode 100644
index 66a3fe376..000000000
--- a/mdk-stage1/dietlibc/x86_64/listen.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(listen, listen);
diff --git a/mdk-stage1/dietlibc/x86_64/mmap.S b/mdk-stage1/dietlibc/x86_64/mmap.S
deleted file mode 100644
index 764d5fd96..000000000
--- a/mdk-stage1/dietlibc/x86_64/mmap.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "syscalls.h"
-
-.text
-.global mmap
-.type mmap,@function
-mmap:
- mov $__NR_mmap,%al
- jmp __unified_syscall
diff --git a/mdk-stage1/dietlibc/x86_64/msgctl.S b/mdk-stage1/dietlibc/x86_64/msgctl.S
deleted file mode 100644
index d7caed2cc..000000000
--- a/mdk-stage1/dietlibc/x86_64/msgctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgctl,msgctl)
diff --git a/mdk-stage1/dietlibc/x86_64/msgget.S b/mdk-stage1/dietlibc/x86_64/msgget.S
deleted file mode 100644
index 518d67ac4..000000000
--- a/mdk-stage1/dietlibc/x86_64/msgget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgget,msgget)
diff --git a/mdk-stage1/dietlibc/x86_64/msgrcv.S b/mdk-stage1/dietlibc/x86_64/msgrcv.S
deleted file mode 100644
index ab62e6c30..000000000
--- a/mdk-stage1/dietlibc/x86_64/msgrcv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgrcv,msgrcv)
diff --git a/mdk-stage1/dietlibc/x86_64/msgsnd.S b/mdk-stage1/dietlibc/x86_64/msgsnd.S
deleted file mode 100644
index 890a996a2..000000000
--- a/mdk-stage1/dietlibc/x86_64/msgsnd.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgsnd,msgsnd)
diff --git a/mdk-stage1/dietlibc/x86_64/recv.c b/mdk-stage1/dietlibc/x86_64/recv.c
deleted file mode 100644
index 3b76c0716..000000000
--- a/mdk-stage1/dietlibc/x86_64/recv.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-int __libc_recv(int fd, void * buf, size_t n, int flags);
- /* shut up gcc warning about missing prototype */
-
-int __libc_recv(int fd, void * buf, size_t n, int flags) {
- return recvfrom(fd, buf, n, flags, 0, 0);
-}
-
-int recv(int a, void * b, size_t c, int flags)
- __attribute__ ((weak, alias("__libc_recv")));
diff --git a/mdk-stage1/dietlibc/x86_64/recvfrom.S b/mdk-stage1/dietlibc/x86_64/recvfrom.S
deleted file mode 100644
index d3c2e602f..000000000
--- a/mdk-stage1/dietlibc/x86_64/recvfrom.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvfrom, recvfrom);
diff --git a/mdk-stage1/dietlibc/x86_64/recvmsg.S b/mdk-stage1/dietlibc/x86_64/recvmsg.S
deleted file mode 100644
index cfbbafdc1..000000000
--- a/mdk-stage1/dietlibc/x86_64/recvmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvmsg, recvmsg);
diff --git a/mdk-stage1/dietlibc/x86_64/semctl.S b/mdk-stage1/dietlibc/x86_64/semctl.S
deleted file mode 100644
index e215ed955..000000000
--- a/mdk-stage1/dietlibc/x86_64/semctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semctl,semctl)
diff --git a/mdk-stage1/dietlibc/x86_64/semget.S b/mdk-stage1/dietlibc/x86_64/semget.S
deleted file mode 100644
index 67f488546..000000000
--- a/mdk-stage1/dietlibc/x86_64/semget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semget,semget)
diff --git a/mdk-stage1/dietlibc/x86_64/semop.S b/mdk-stage1/dietlibc/x86_64/semop.S
deleted file mode 100644
index 81b6fc606..000000000
--- a/mdk-stage1/dietlibc/x86_64/semop.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semop,semop)
diff --git a/mdk-stage1/dietlibc/x86_64/send.c b/mdk-stage1/dietlibc/x86_64/send.c
deleted file mode 100644
index bdeb1d31f..000000000
--- a/mdk-stage1/dietlibc/x86_64/send.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-int __libc_send(int fd, const void * buf, size_t n, int flags);
- /* shut up gcc warning about missing prototype */
-
-int __libc_send(int fd, const void * buf, size_t n, int flags) {
- return sendto(fd, buf, n, flags, NULL, 0);
-}
-
-int send(int a, const void * b, size_t c, int flags)
- __attribute__ ((weak, alias("__libc_send")));
diff --git a/mdk-stage1/dietlibc/x86_64/sendmsg.S b/mdk-stage1/dietlibc/x86_64/sendmsg.S
deleted file mode 100644
index c2bc80f72..000000000
--- a/mdk-stage1/dietlibc/x86_64/sendmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendmsg, sendmsg);
diff --git a/mdk-stage1/dietlibc/x86_64/sendto.S b/mdk-stage1/dietlibc/x86_64/sendto.S
deleted file mode 100644
index 1579a3b45..000000000
--- a/mdk-stage1/dietlibc/x86_64/sendto.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendto, sendto);
diff --git a/mdk-stage1/dietlibc/x86_64/setjmp.S b/mdk-stage1/dietlibc/x86_64/setjmp.S
deleted file mode 100644
index 3d1ec11f0..000000000
--- a/mdk-stage1/dietlibc/x86_64/setjmp.S
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <setjmp.h>
-#include "dietwarning.h"
-
-.text
-.weak setjmp
-.type setjmp,@function
-setjmp:
-.globl __setjmp
-.type __setjmp,@function
-__setjmp:
- xorq %rsi,%rsi
-
-.globl __sigsetjmp
-.type __sigsetjmp,@function
-__sigsetjmp:
- movq %rbx,(JB_RBX*8)(%rdi)
- movq %rbp,(JB_RBP*8)(%rdi)
- movq %r12,(JB_R12*8)(%rdi)
- movq %r13,(JB_R13*8)(%rdi)
- movq %r14,(JB_R14*8)(%rdi)
- movq %r15,(JB_R15*8)(%rdi)
- leaq 8(%rsp),%rdx
- movq %rdx,(JB_RSP*8)(%rdi)
- movq (%rsp),%rdx
- movq %rdx,(JB_PC*8)(%rdi)
-#ifdef PIC
- jmp __sigjmp_save@PLT
-#else
- jmp __sigjmp_save
-#endif
-.size __sigsetjmp,.-__sigsetjmp;
-
-link_warning("setjmp","setjmp() not yet tested")
-link_warning("__sigsetjmp","setjmp() not yet tested")
-//link_warning("setjmp","error: setjmp() not yet implemented")
-//link_warning("__sigsetjmp","error: setjmp() not yet implemented")
-
diff --git a/mdk-stage1/dietlibc/x86_64/setsockopt.S b/mdk-stage1/dietlibc/x86_64/setsockopt.S
deleted file mode 100644
index 45fcfbb6c..000000000
--- a/mdk-stage1/dietlibc/x86_64/setsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setsockopt, setsockopt);
diff --git a/mdk-stage1/dietlibc/x86_64/shmat.S b/mdk-stage1/dietlibc/x86_64/shmat.S
deleted file mode 100644
index 51248173d..000000000
--- a/mdk-stage1/dietlibc/x86_64/shmat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmat,shmat)
diff --git a/mdk-stage1/dietlibc/x86_64/shmctl.S b/mdk-stage1/dietlibc/x86_64/shmctl.S
deleted file mode 100644
index d56caace4..000000000
--- a/mdk-stage1/dietlibc/x86_64/shmctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmctl,shmctl)
diff --git a/mdk-stage1/dietlibc/x86_64/shmdt.S b/mdk-stage1/dietlibc/x86_64/shmdt.S
deleted file mode 100644
index d9812a799..000000000
--- a/mdk-stage1/dietlibc/x86_64/shmdt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmdt,shmdt)
diff --git a/mdk-stage1/dietlibc/x86_64/shmget.S b/mdk-stage1/dietlibc/x86_64/shmget.S
deleted file mode 100644
index 82914223f..000000000
--- a/mdk-stage1/dietlibc/x86_64/shmget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmget,shmget)
diff --git a/mdk-stage1/dietlibc/x86_64/shutdown.S b/mdk-stage1/dietlibc/x86_64/shutdown.S
deleted file mode 100644
index 024e99e18..000000000
--- a/mdk-stage1/dietlibc/x86_64/shutdown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shutdown, shutdown);
diff --git a/mdk-stage1/dietlibc/x86_64/sigaction.c b/mdk-stage1/dietlibc/x86_64/sigaction.c
deleted file mode 100644
index 18f32efde..000000000
--- a/mdk-stage1/dietlibc/x86_64/sigaction.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <signal.h>
-#include <stdlib.h>
-#include <string.h>
-#include <syscalls.h>
-
-int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr);
-
-static void restore_rt(void) {
- asm volatile ("syscall" : : "a" (__NR_rt_sigreturn));
-}
-
-int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
-int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- struct sigaction *newact = (struct sigaction *)act;
- if (act) {
- newact = alloca(sizeof(*newact));
- newact->sa_handler = act->sa_handler;
- newact->sa_flags = act->sa_flags | SA_RESTORER;
- newact->sa_restorer = &restore_rt;
- newact->sa_mask = act->sa_mask;
- }
- return __rt_sigaction(signum, newact, oldact, _NSIG/8);
-}
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)
-__attribute__((weak,alias("__libc_sigaction")));
diff --git a/mdk-stage1/dietlibc/x86_64/socket.S b/mdk-stage1/dietlibc/x86_64/socket.S
deleted file mode 100644
index cc453881f..000000000
--- a/mdk-stage1/dietlibc/x86_64/socket.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socket, socket);
diff --git a/mdk-stage1/dietlibc/x86_64/socketpair.S b/mdk-stage1/dietlibc/x86_64/socketpair.S
deleted file mode 100644
index d92eaa4d8..000000000
--- a/mdk-stage1/dietlibc/x86_64/socketpair.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socketpair, socketpair);
diff --git a/mdk-stage1/dietlibc/x86_64/start.S b/mdk-stage1/dietlibc/x86_64/start.S
deleted file mode 100644
index 5e8356350..000000000
--- a/mdk-stage1/dietlibc/x86_64/start.S
+++ /dev/null
@@ -1,55 +0,0 @@
-#include "dietfeatures.h"
-
-.text
-.global _start
-_start:
-#ifdef WANT_DYNAMIC
- movq %rdx, %rcx /* %rcx = dynamic fini */
-#endif
- popq %rdi /* %rdi = argc */
- movq %rsp,%rsi /* %rsi = argv */
- pushq %rdi
-
- leaq 8(%rsi,%rdi,8),%rdx /* %rdx = envp = (8*rdi)+%rsi+8 */
-
-#ifdef __DYN_LIB
- movq environ@GOTPCREL(%rip), %rax
- movq %rdx, (%rax)
-#else
- movq %rdx, environ(%rip)
-#endif
-
-#ifdef PROFILING
- pushq %rdi /* save reg args */
- pushq %rsi
- pushq %rdx
- pushq %rcx
-
- leaq _etext(%rip), %rsi /* highpc */
- leaq .text(%rip), %rdi /* lowpc */
- call monitor
-
- popq %rcx /* restore reg args */
- popq %rdx
- popq %rsi
- popq %rdi
-#endif
-
-#ifdef WANT_DYNAMIC
- call _dyn_start
-#else
- call main
-#endif
-
-#ifdef PROFILING
- pushq %rax
- call _stop_monitor
- popq %rdi
-#else
- movq %rax, %rdi /* return value */
-#endif
- call exit
- hlt
-.Lstart:
- .size _start,.Lstart-_start
-
diff --git a/mdk-stage1/dietlibc/x86_64/syscalls.h b/mdk-stage1/dietlibc/x86_64/syscalls.h
deleted file mode 100644
index 6fcfbfc60..000000000
--- a/mdk-stage1/dietlibc/x86_64/syscalls.h
+++ /dev/null
@@ -1,282 +0,0 @@
-#define __NR_read 0
-#define __NR_write 1
-#define __NR_open 2
-#define __NR_close 3
-#define __NR_stat 4
-#define __NR_fstat 5
-#define __NR_lstat 6
-#define __NR_poll 7
-
-#define __NR_lseek 8
-#define __NR_mmap 9
-#define __NR_mprotect 10
-#define __NR_munmap 11
-#define __NR_brk 12
-#define __NR_rt_sigaction 13
-#define __NR_rt_sigprocmask 14
-#define __NR_rt_sigreturn 15
-
-#define __NR_ioctl 16
-#define __NR_pread 17
-#define __NR_pwrite 18
-#define __NR_readv 19
-#define __NR_writev 20
-#define __NR_access 21
-#define __NR_pipe 22
-#define __NR_select 23
-
-#define __NR_sched_yield 24
-#define __NR_mremap 25
-#define __NR_msync 26
-#define __NR_mincore 27
-#define __NR_madvise 28
-#define __NR_shmget 29
-#define __NR_shmat 30
-#define __NR_shmctl 31
-
-#define __NR_dup 32
-#define __NR_dup2 33
-#define __NR_pause 34
-#define __NR_nanosleep 35
-#define __NR_getitimer 36
-#define __NR_alarm 37
-#define __NR_setitimer 38
-#define __NR_getpid 39
-
-#define __NR_sendfile 40
-#define __NR_socket 41
-#define __NR_connect 42
-#define __NR_accept 43
-#define __NR_sendto 44
-#define __NR_recvfrom 45
-#define __NR_sendmsg 46
-#define __NR_recvmsg 47
-
-#define __NR_shutdown 48
-#define __NR_bind 49
-#define __NR_listen 50
-#define __NR_getsockname 51
-#define __NR_getpeername 52
-#define __NR_socketpair 53
-#define __NR_setsockopt 54
-#define __NR_getsockopt 55
-
-#define __NR_clone 56
-#define __NR_fork 57
-#define __NR_vfork 58
-#define __NR_execve 59
-#define __NR_exit 60
-#define __NR_wait4 61
-#define __NR_kill 62
-#define __NR_uname 63
-
-#define __NR_semget 64
-#define __NR_semop 65
-#define __NR_semctl 66
-#define __NR_shmdt 67
-#define __NR_msgget 68
-#define __NR_msgsnd 69
-#define __NR_msgrcv 70
-#define __NR_msgctl 71
-
-#define __NR_fcntl 72
-#define __NR_flock 73
-#define __NR_fsync 74
-#define __NR_fdatasync 75
-#define __NR_truncate 76
-#define __NR_ftruncate 77
-#define __NR_getdents 78
-#define __NR_getcwd 79
-
-#define __NR_chdir 80
-#define __NR_fchdir 81
-#define __NR_rename 82
-#define __NR_mkdir 83
-#define __NR_rmdir 84
-#define __NR_creat 85
-#define __NR_link 86
-#define __NR_unlink 87
-
-#define __NR_symlink 88
-#define __NR_readlink 89
-#define __NR_chmod 90
-#define __NR_fchmod 91
-#define __NR_chown 92
-#define __NR_fchown 93
-#define __NR_lchown 94
-#define __NR_umask 95
-
-#define __NR_gettimeofday 96
-#define __NR_getrlimit 97
-#define __NR_getrusage 98
-#define __NR_sysinfo 99
-#define __NR_times 100
-#define __NR_ptrace 101
-#define __NR_getuid 102
-#define __NR_syslog 103
-
-/* at the very end the stuff that never runs during the benchmarks */
-#define __NR_getgid 104
-#define __NR_setuid 105
-#define __NR_setgid 106
-#define __NR_geteuid 107
-#define __NR_getegid 108
-#define __NR_setpgid 109
-#define __NR_getppid 110
-#define __NR_getpgrp 111
-
-#define __NR_setsid 112
-#define __NR_setreuid 113
-#define __NR_setregid 114
-#define __NR_getgroups 115
-#define __NR_setgroups 116
-#define __NR_setresuid 117
-#define __NR_getresuid 118
-#define __NR_setresgid 119
-
-#define __NR_getresgid 120
-#define __NR_getpgid 121
-#define __NR_setfsuid 122
-#define __NR_setfsgid 123
-#define __NR_getsid 124
-#define __NR_capget 125
-#define __NR_capset 126
-
-#define __NR_rt_sigpending 127
-#define __NR_rt_sigtimedwait 128
-#define __NR_rt_sigqueueinfo 129
-#define __NR_rt_sigsuspend 130
-#define __NR_sigaltstack 131
-#define __NR_utime 132
-#define __NR_mknod 133
-
-#define __NR_uselib 134
-#define __NR_personality 135
-
-#define __NR_ustat 136
-#define __NR_statfs 137
-#define __NR_fstatfs 138
-#define __NR_sysfs 139
-
-#define __NR_getpriority 140
-#define __NR_setpriority 141
-#define __NR_sched_setparam 142
-#define __NR_sched_getparam 143
-#define __NR_sched_setscheduler 144
-#define __NR_sched_getscheduler 145
-#define __NR_sched_get_priority_max 146
-#define __NR_sched_get_priority_min 147
-#define __NR_sched_rr_get_interval 148
-
-#define __NR_mlock 149
-#define __NR_munlock 150
-#define __NR_mlockall 151
-#define __NR_munlockall 152
-
-#define __NR_vhangup 153
-
-#define __NR_modify_ldt 154
-
-#define __NR_pivot_root 155
-
-#define __NR__sysctl 156
-
-#define __NR_prctl 157
-#define __NR_arch_prctl 158
-
-#define __NR_adjtimex 159
-
-#define __NR_setrlimit 160
-
-#define __NR_chroot 161
-
-#define __NR_sync 162
-
-#define __NR_acct 163
-
-#define __NR_settimeofday 164
-
-#define __NR_mount 165
-#define __NR_umount2 166
-
-#define __NR_swapon 167
-#define __NR_swapoff 168
-
-#define __NR_reboot 169
-
-#define __NR_sethostname 170
-#define __NR_setdomainname 171
-
-#define __NR_iopl 172
-#define __NR_ioperm 173
-
-#define __NR_create_module 174
-#define __NR_init_module 175
-#define __NR_delete_module 176
-#define __NR_get_kernel_syms 177
-#define __NR_query_module 178
-
-#define __NR_quotactl 179
-
-#define __NR_nfsservctl 180
-
-#define __NR_getpmsg 181
-#define __NR_putpmsg 182
-
-#define __NR_afs_syscall 183
-
-#define __NR_tuxcall 184 /* reserved for tux */
-
-#define __NR_security 185 /* reserved for security */
-
-#define __NR_gettid 186
-
-#define __NR_readahead 187
-
-#define __NR_setxattr 188
-#define __NR_lsetxattr 189
-#define __NR_fsetxattr 190
-#define __NR_getxattr 191
-#define __NR_lgetxattr 192
-#define __NR_fgetxattr 193
-#define __NR_listxattr 194
-#define __NR_llistxattr 195
-#define __NR_flistxattr 196
-#define __NR_removexattr 197
-#define __NR_lremovexattr 198
-#define __NR_fremovexattr 199
-#define __NR_tkill 200 /* 2.5 only */
-#define __NR_time 201
-#define __NR_futex 202 /* 2.5 only */
-#define __NR_sched_setaffinity 203
-#define __NR_sched_getaffinity 204
-#define __NR_set_thread_area 205
-#define __NR_io_setup 206
-#define __NR_io_destroy 207
-#define __NR_io_getevents 208
-#define __NR_io_submit 209
-#define __NR_io_cancel 210
-#define __NR_get_thread_area 211
-#define __NR_lookup_dcookie 212
-
-#define __NR_syscall_max __NR_futex
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.type wsym,@function; \
-.weak wsym; \
-wsym: ; \
-.type sym,@function; \
-.global sym; \
-sym: \
- mov $__NR_##name,%al; \
- jmp __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.type sym,@function; \
-.global sym; \
-sym: \
- mov $__NR_##name,%al; \
- jmp __unified_syscall
-
diff --git a/mdk-stage1/dietlibc/x86_64/umount.S b/mdk-stage1/dietlibc/x86_64/umount.S
deleted file mode 100644
index 2b51b8edf..000000000
--- a/mdk-stage1/dietlibc/x86_64/umount.S
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "syscalls.h"
-
-.text
-.global umount
-.type umount,@function
-umount:
- mov $__NR_umount2,%al
- xorq %rsi,%rsi
- jmp __unified_syscall
diff --git a/mdk-stage1/dietlibc/x86_64/unified.S b/mdk-stage1/dietlibc/x86_64/unified.S
deleted file mode 100644
index 48bb9a4fa..000000000
--- a/mdk-stage1/dietlibc/x86_64/unified.S
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <dietfeatures.h>
-
-#define SYS_exit 0x3c
-
-.text
-.weak exit
-exit:
-.global _exit
-_exit:
- mov $SYS_exit,%al
-
-#ifndef __DYN_LIB
-.global __unified_syscall
-#endif
-__unified_syscall:
- movzbl %al, %eax
- mov %rcx, %r10
- syscall
- cmpq $-128, %rax
- jbe .Lnoerror
- negl %eax
- pushq %rax
- call __errno_location
- popq %rcx
- movl %ecx,(%rax)
- orq $-1, %rax
-.Lnoerror:
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
-
- ret
diff --git a/mdk-stage1/dietlibc/x86_64/waitpid.S b/mdk-stage1/dietlibc/x86_64/waitpid.S
deleted file mode 100644
index 944df48bf..000000000
--- a/mdk-stage1/dietlibc/x86_64/waitpid.S
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "syscalls.h"
-
-.text
-.type waitpid,@function
-.weak waitpid
-waitpid:
-.type __libc_waitpid,@function
-.global __libc_waitpid
-__libc_waitpid:
- mov $0,%rcx
- mov $__NR_wait4,%al
- jmp __unified_syscall
diff --git a/mdk-stage1/disk.c b/mdk-stage1/disk.c
deleted file mode 100644
index 2dcaad2b8..000000000
--- a/mdk-stage1/disk.c
+++ /dev/null
@@ -1,444 +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 <string.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"
-
-struct partition_detection_anchor {
- off_t offset;
- const char * anchor;
-};
-
-static int seek_and_compare(int fd, struct partition_detection_anchor anch)
-{
- char buf[500];
- size_t count;
- if (lseek(fd, anch.offset, SEEK_SET) == (off_t)-1) {
- log_perror("seek failed");
- return -1;
- }
- count = read(fd, buf, strlen(anch.anchor));
- if (count != strlen(anch.anchor)) {
- log_perror("read failed");
- return -1;
- }
- buf[count] = '\0';
- if (strcmp(anch.anchor, buf))
- return 1;
- return 0;
-}
-
-static const char * detect_partition_type(char * dev)
-{
- struct partition_detection_info {
- const char * name;
- struct partition_detection_anchor anchor0;
- struct partition_detection_anchor anchor1;
- struct partition_detection_anchor anchor2;
- };
- struct partition_detection_info partitions_signatures[] = {
- { "Linux Swap", { 4086, "SWAP-SPACE" }, { 0, NULL }, { 0, NULL } },
- { "Linux Swap", { 4086, "SWAPSPACE2" }, { 0, NULL }, { 0, NULL } },
- { "Ext2", { 0x438, "\x53\xEF" }, { 0, NULL }, { 0, NULL } },
- { "ReiserFS", { 0x10034, "ReIsErFs" }, { 0, NULL }, { 0, NULL } },
- { "ReiserFS", { 0x10034, "ReIsEr2Fs" }, { 0, NULL }, { 0, NULL } },
- { "XFS", { 0, "XFSB" }, { 0x200, "XAGF" }, { 0x400, "XAGI" } },
- { "JFS", { 0x8000, "JFS1" }, { 0, NULL }, { 0, NULL } },
- { "NTFS", { 0x1FE, "\x55\xAA" }, { 0x3, "NTFS" }, { 0, NULL } },
- { "FAT32", { 0x1FE, "\x55\xAA" }, { 0x52, "FAT32" }, { 0, NULL } },
- { "FAT", { 0x1FE, "\x55\xAA" }, { 0x36, "FAT" }, { 0, NULL } },
- { "Linux LVM", { 0, "HM\1\0" }, { 0, NULL }, { 0, NULL } }
- };
- int partitions_signatures_nb = sizeof(partitions_signatures) / sizeof(struct partition_detection_info);
- int i;
- int fd;
- const char *part_type = NULL;
-
- char device_fullname[50];
- strcpy(device_fullname, "/dev/");
- strcat(device_fullname, dev);
-
- if (ensure_dev_exists(device_fullname))
- return NULL;
- log_message("guessing type of %s", device_fullname);
-
- if ((fd = open(device_fullname, O_RDONLY, 0)) < 0) {
- log_perror("open");
- return NULL;
- }
-
- for (i=0; i<partitions_signatures_nb; i++) {
- int results = seek_and_compare(fd, partitions_signatures[i].anchor0);
- if (results == -1)
- goto detect_partition_type_end;
- if (results == 1)
- continue;
- if (!partitions_signatures[i].anchor1.anchor)
- goto detect_partition_found_it;
-
- results = seek_and_compare(fd, partitions_signatures[i].anchor1);
- if (results == -1)
- goto detect_partition_type_end;
- if (results == 1)
- continue;
- if (!partitions_signatures[i].anchor2.anchor)
- goto detect_partition_found_it;
-
- results = seek_and_compare(fd, partitions_signatures[i].anchor2);
- if (results == -1)
- goto detect_partition_type_end;
- if (results == 1)
- continue;
-
- detect_partition_found_it:
- part_type = partitions_signatures[i].name;
- break;
- }
-
- detect_partition_type_end:
- close(fd);
- return part_type;
-}
-
-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 int list_partitions(char * dev_name, char ** parts, char ** comments)
-{
- int major, minor, blocks;
- char name[100];
- FILE * f;
- int i = 0;
- char buf[512];
-
- if (!(f = fopen("/proc/partitions", "rb")) || !fgets(buf, sizeof(buf), f) || !fgets(buf, sizeof(buf), f)) {
- log_perror(dev_name);
- return 1;
- }
-
- while (fgets(buf, sizeof(buf), f)) {
- memset(name, 0, 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')) {
- const char * partition_type = detect_partition_type(name);
- parts[i] = strdup(name);
- comments[i] = (char *) malloc(sizeof(char) * 100);
- sprintf(comments[i], "size: %d Mbytes", blocks >> 10);
- if (partition_type) {
- strcat(comments[i], ", type: ");
- strcat(comments[i], partition_type);
- }
- i++;
- }
- }
- parts[i] = NULL;
- fclose(f);
-
- return 0;
-}
-
-static int try_mount(char * dev, char * location)
-{
- char device_fullname[50];
- strcpy(device_fullname, "/dev/");
- strcat(device_fullname, dev);
-
- if (my_mount(device_fullname, location, "ext2", 0) == -1 &&
- my_mount(device_fullname, location, "vfat", 0) == -1 &&
- my_mount(device_fullname, location, "reiserfs", 0) == -1) {
- return 1;
- }
-
- return 0;
-}
-
-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 location_full[500];
-
- char * disk_own_mount = "/tmp/hdimage";
- char * loopdev = NULL;
-
- char * parts[50];
- char * parts_comments[50];
- struct stat statbuf;
- enum return_type results;
- char * choice;
-
- if (list_partitions(dev_name, parts, parts_comments)) {
- stg1_error_message("Could not read partitions information.");
- return RETURN_ERROR;
- }
-
- if (parts[0] == NULL) {
- stg1_error_message("No partitions found.");
- return RETURN_ERROR;
- }
-
- results = ask_from_list_comments_auto("Please choose the partition where " DISTRIB_NAME " is copied.",
- parts, parts_comments, &choice, "partition", parts);
- if (results != RETURN_OK)
- return results;
-
- if (try_mount(choice, disk_own_mount)) {
- 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, &loopdev, 0)) {
- 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));
- del_loop(loopdev);
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- if (load_ramdisk() != RETURN_OK) {
- stg1_error_message("Could not load program into memory.");
- del_loop(loopdev);
- 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));
- del_loop(loopdev);
- 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.");
- del_loop(loopdev);
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- log_message("found the " DISTRIB_NAME " Installation, good news!");
- }
-
- if (IS_RESCUE) {
- del_loop(loopdev);
- umount(disk_own_mount);
- }
-
- method_name = strdup("disk");
- return RETURN_OK;
-}
-
-static int get_disks(char *** names, char *** models)
-{
- char ** ptr;
- int count = 0;
-
- my_insmod("sd_mod", ANY_DRIVER_TYPE, NULL);
-
- get_medias(DISK, names, models, BUS_ANY);
-
- ptr = *names;
- while (ptr && *ptr) {
- count++;
- ptr++;
- }
-
- return count;
-}
-
-enum return_type disk_prepare(void)
-{
- char ** medias, ** medias_models;
- char * choice;
- int i;
- enum return_type results;
-
- int count = get_disks(&medias, &medias_models);
-
- 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();
-}
-
-int
-process_recovery(void)
-{
- char ** medias, ** medias_models;
- int count, i;
-
- log_message("trying the automatic recovery of oem installs");
-
- count = get_disks(&medias, &medias_models);
-
- for (i=0; i<count; i++) {
- char * parts[50];
- char * parts_comments[50];
- char ** part, ** comment;
- log_message("examining disk %s (%s)", medias[i], medias_models[i]);
-
- if (list_partitions(medias[i], parts, parts_comments)) {
- log_message("could not read partitions information, bailing out");
- return 0;
- }
-
- part = parts;
- comment = parts_comments;
- while (part && *part) {
- char * disk_own_mount = "/tmp/hdimage";
- log_message("examining partition %s (%s)", *part, *comment);
- if (try_mount(*part, disk_own_mount))
- log_message("couldn't mount it");
- else {
- FILE *f;
- char buf[500];
- char location[500];
- strcpy(location, disk_own_mount);
- strcat(location, "/VERSION");
- if (!(f = fopen(location, "rb")) || !fgets(buf, sizeof(buf), f)) {
- log_perror("could not fopen or fgets VERSION");
- goto examine_next_part;
- }
- fclose(f);
- if (!strstr(buf, VERSION)) {
- log_message("mismatching VERSION contents");
- goto examine_next_part;
- }
- strcpy(location, disk_own_mount);
- strcat(location, "/Mandrake/base");
- if (access(location, R_OK)) {
- log_message("Mandrake/base is not here");
- goto examine_next_part;
- }
-
- log_message("going on with a recovery on disk %s partition %s", medias[i], *part);
-
- symlink(disk_own_mount, IMAGE_LOCATION);
- if (ramdisk_possible())
- load_ramdisk(); /* if load of ramdisk failed, try to continue in live */
-
- method_name = strdup("disk");
- return 1;
- }
-
- examine_next_part:
- umount(disk_own_mount);
- part++;
- comment++;
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/disk.h b/mdk-stage1/disk.h
deleted file mode 100644
index 303cbe138..000000000
--- a/mdk-stage1/disk.h
+++ /dev/null
@@ -1,28 +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);
-int process_recovery(void);
-
-#endif
diff --git a/mdk-stage1/dns.c b/mdk-stage1/dns.c
deleted file mode 100644
index 5ba55486a..000000000
--- a/mdk-stage1/dns.c
+++ /dev/null
@@ -1,216 +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 :-(
-
-#if defined(__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.s_addr), sizeof(in.s_addr) /* INADDRSZ */, AF_INET);
- if (host && host->h_name)
- return host->h_name;
- return NULL;
-}
-
-#elif defined(__GLIBC__)
-
-#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;
-}
-
-#else
-
-#error "Unsupported C library"
-
-#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 e6c0cb420..000000000
--- a/mdk-stage1/doc/README
+++ /dev/null
@@ -1,185 +0,0 @@
--------------------------------------------------------
-* Stage1 of the Mandrake Linux installation program *
--------------------------------------------------------
-
-
-[ Author ]
-
- Guillaume Cottenceau (gc at mandrakesoft.com)
-
-
-[ Copyright ]
-
- Copyright 2000, 2001, 2002 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://people.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 Mandrake Linux ]
-
-Per default, just insert your Mandrake Linux 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 Mandrake Linux
-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 Mandrake Linux 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 074b35d31..000000000
--- a/mdk-stage1/doc/TECH-INFOS
+++ /dev/null
@@ -1,91 +0,0 @@
-
-| (*) Automatic install
-\----------------------
-
-This feature is used to replace redhat kickstart. It uses the kernel
-parameter "automatic" with keywords separated with commas and colons, on
-the following genres:
-
- automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i586
-
- automatic=method:ftp,network:dhcp,server:ftp.ciril.fr,directory:/pub/linux/mandrake-devel/cooker
-
- automatic=method:ftp,network:dhcp,server:companyserver,directory:/mdkinst,user:XXX,pass:XXX
-
- automatic=method:ftp,interface:eth1,network:dhcp,...
-
- automatic=method:ftp,network:adsl,adsluser:XXX,adslpass:XXX,...
-
- automatic=method:cdrom
-
- automatic=method:disk,disk:hdb,partition:hdb7
-
-
-The keywords correspond to each "virtual" question answered automatically,
-either from a list or from a free field.
-
-
-Keywords are:
-
-
-`method' <- (nfs,ftp,http,cdrom,disk)
-
-if nfs/ftp/http:
-
- `network' <- (static,dhcp,adsl)
-
- if multiple interfaces detected:
-
- `interface' <- (list-of-detected-interfaces)
-
- fi
-
- if static:
-
- `ip', `dns', `gateway', `netmask' (free fields)
-
- elsif adsl:
-
- `adsluser', `adslpass' (free field)
-
- fi
-
- if resolving fails:
-
- `hostname', `domain' (free fields)
-
- fi
-
- `server', `directory' (free fields)
-
- if ftp:
-
- `user', `pass' (free fields)
-
- fi
-
-fi
-
-if disk:
-
- `disk' <- (list-of-detected-disks)
-
- `partition' <- (list-of-detected-partitions)
-
- `directory' (free fields)
-
-fi
-
-
-
-You may use shorter versions of keywords (it helps reducing size of
-commandline), please find each keyword short-alias counterpart in file
-../automatic.c under the identifier named "short_aliases".
-
-This gives for example for:
-
- automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i586
-==>
- automatic=met:nfs,net:static,ip:192.168.1.24,ser:192.168.1.7,dir:/stable/i586
-
-
diff --git a/mdk-stage1/doc/UPDATEMODULES b/mdk-stage1/doc/UPDATEMODULES
deleted file mode 100644
index 89d86d365..000000000
--- a/mdk-stage1/doc/UPDATEMODULES
+++ /dev/null
@@ -1,74 +0,0 @@
-This is the documentation for the "Update Modules" (Update Drivers)
-feature.
-
-This feature aims to propose new modules or replacement modules for the
-install. This is useful when there is a firmware update for a given
-driver, an additional driver needed for something, etc.
-
-
-You must use a floppy disk with e2fs filesystem (NOT vfat/windows
-formatted). Use "mke2fs /dev/fd0" on your own box to format a floppy with
-e2fs filesystem.
-
-This disk may contain a number of kernel modules on the root (e.g. not in
-a subdirectory); some of them may replace existing modules, some of them
-may be added. This disk must contain a special file, named "to_load", on
-the root (not in a subdirectory). This file will contain a series of
-module names, with optional module options; the program will try to load
-all these modules one after another, using file on the floppy if present,
-else using file within standard module repository ("marfile" on the boot
-floppy). It can contain comments, these are strictly defined by the
-presence of a hash (#) character on column 0 of any line.
-
-
-Here's a typical scenario:
-
-
-1. Boot the floppy (or cdrom) with the option "updatemodules"
-
- (you may do that by pressing F1 then entering "linux updatemodules")
-
-
-2. At the very beginning of the User Interface, you are asked to insert
- the Update Modules disk. Insert the Update Modules disk and press
- Enter.
-
---=----=----=----=----=----=----=----=----=--
-Our example disk contains:
-
-[root@obiwan mnt]# ll floppy/
-total 77
-drwxr-xr-x 2 root root 12288 Jul 26 12:02 lost+found/
--rw-r--r-- 1 root root 9051 Jul 26 12:43 msdos.o
--rw-r--r-- 1 root root 13660 Jul 26 12:04 ppa.o
--rw-r--r-- 1 root root 54 Jul 26 12:46 to_load
--rw-r--r-- 1 root root 32108 Jul 26 12:04 uhci.o
--rw-r--r-- 1 root root 6572 Jul 26 12:04 wacom.o
-[root@obiwan mnt]# cat floppy/to_load
-# Update Drivers description file
-3c59x
-# fat is a dep for msdos
-fat
-# updated msdos (handling of 9+4 filenames)
-msdos
-ppa
-# ISA network card needing options
-ne io=0x300 irq=7
-[root@obiwan mnt]#
---=----=----=----=----=----=----=----=----=--
-
-
-3. The program reads the special file "to_load" and processes the files.
-
- a- 3c59x loaded from the marfile on the boot floppy
- b- fat loaded from the marfile on the boot floppy
- c- msdos loaded from the update modules floppy
- d- ppa loaded from the update modules floppy
- e- ne loaded from the marfile on the boot floppy
-
-
-
-!!! Beware !!!, the dependencies are not handled automatically in
-the case of load from the update modules floppy, that's why on
-our example we need to load "fat" from the standard modules
-before "msdos" from the update floppy.
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 fac4bccd0..000000000
--- a/mdk-stage1/frontend-common.c
+++ /dev/null
@@ -1,47 +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 <probing.h>
-
-#include "frontend.h"
-
-
-void info_message(char *msg, ...)
-{
- va_list args;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
- 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;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
- 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 48f534653..000000000
--- a/mdk-stage1/frontend.h
+++ /dev/null
@@ -1,57 +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>
-
-/* 'unused' atttribute, gcc specific and just to turn down some warnings. */
-#if defined __GNUC__
-#define UNUSED __attribute__((unused))
-#else
-#define UNUSED
-#endif
-
-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 suspend_to_console(void);
-void resume_from_suspend(void);
-
-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-blank.img.bz2 b/mdk-stage1/init-data/msgboot-blank.img.bz2
deleted file mode 100644
index a572093d9..000000000
--- a/mdk-stage1/init-data/msgboot-blank.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 d67b4e0a2..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 e06018f11..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 1e6807615..000000000
--- a/mdk-stage1/init-libc-headers.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.
- *
- */
-
-/*
- * 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>
-#include <sys/ioctl.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 0addceb41..000000000
--- a/mdk-stage1/init.c
+++ /dev/null
@@ -1,583 +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"
-#include <linux/cdrom.h>
-
-#if defined(__powerpc__)
-#define TIOCSCTTY 0x540E
-#endif
-
-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"
-#if defined(__x86_64__) || defined(__ppc64__)
- ":/lib64:/usr/lib64:/usr/X11R6/lib64:/mnt/lib64:/mnt/usr/lib64:/mnt/usr/X11R6/lib64"
-#endif
- ,
- "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);
- select(0, NULL, NULL, NULL, NULL);
-}
-
-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;
- }
-
- mkdir("/tmp", 0755);
- 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(// }
-//
-// 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_loops(void)
-{
- char loopdev[] = "/dev/loop0";
- char chloopdev[] = "/dev/chloop0";
- int i;
- for (i=0; i<8; i++) {
- int fd;
- loopdev[9] = '0' + i;
- fd = open(loopdev, O_RDONLY, 0);
- if (fd > 0) {
- if (!ioctl(fd, LOOP_CLR_FD, 0))
- printf("\t%s\n", loopdev);
- close(fd);
- }
- chloopdev[11] = '0' + i;
- fd = open(chloopdev, O_RDONLY, 0);
- if (fd > 0) {
- if (!ioctl(fd, LOOP_CLR_FD, 0))
- printf("\t%s\n", chloopdev);
- close(fd);
- }
- }
-}
-
-struct filesystem
-{
- char * dev;
- char * name;
- char * fs;
- int mounted;
-};
-
-char* strcat(register char* s,register const char* t)
-{
- char *dest=s;
- s+=strlen(s);
- for (;;) {
- if (!(*s = *t)) break; ++s; ++t;
- }
- return dest;
-}
-
-/* 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;
- int disallow_eject = 0;
-
- 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].fs, "nfs"))
- disallow_eject = 1;
- if (strcmp(fs[numfs].name, "/")
- && strcmp(fs[numfs].name, "/dev")
- && strncmp(fs[numfs].name, "/proc", 5))
- numfs++;
- }
-
- /* 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);*/
- del_loops();
- if (fs[i].mounted && umount(fs[i].name) == 0) {
- 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) {
-#ifdef MANDRAKE_MOVE
- if (!strcmp(fs[i].name, "/cdrom") || !strcmp(fs[i].name, "/image_always"))
- continue;
-#endif
- printf("\tumount failed: %s\n", fs[i].name);
- if (strcmp(fs[i].fs, "ext2") == 0) nb++; /* don't count not-ext2 umount failed */
- }
-
-#ifdef MANDRAKE_MOVE
- if (!disallow_eject) {
- fd = open("/proc/fs/supermount/subfs", O_RDONLY, 0);
- if (fd > 0) {
- char devices[100][100];
- int i = 0;
- char * ptr1, * ptr2;
- size = read(fd, buf, sizeof(buf) - 1);
- buf[size] = '\0';
- close(fd);
- ptr1 = buf;
- ptr2 = buf;
- while (*ptr1 && *ptr2) {
- char * ptrf = ptr1;
- while (*ptr2 && *ptr2 != '\n')
- ptr2++;
- while (*ptrf && *ptrf != ' ')
- ptrf++;
- if (*ptrf)
- *ptrf = '\0';
- strcpy(devices[i], ptr1);
- i++;
- if (*ptr2)
- ptr2++;
- ptr1 = ptr2;
- }
- while (i >= 1) {
- i--;
- strcat(devices[i], " release force");
- fd = open("/proc/fs/supermount/subfs", O_WRONLY, 0);
- write(fd, devices[i], strlen(devices[i]));
- close(fd);
- }
- }
- fd = open("/dev/cdrom", O_RDONLY|O_NONBLOCK, 0);
- if (fd > 0) {
- ioctl(fd, CDROM_LOCKDOOR, 0);
- close(fd);
- }
- fd = open("/dev/cdrom", O_RDONLY|O_NONBLOCK, 0);
- if (fd > 0) {
- ioctl(fd, CDROMEJECT, 0);
- close(fd);
- }
- }
-#endif
-
- if (nb) {
- printf("failed to umount some filesystems\n");
- select(0, NULL, NULL, NULL, NULL);
- }
-}
-
-#define BMAGIC_HARD 0x89ABCDEF
-#define BMAGIC_SOFT 0
-#define BMAGIC_REBOOT 0x01234567
-#define BMAGIC_HALT 0xCDEF0123
-#define BMAGIC_POWEROFF 0x4321FEDC
-int reboot_magic = BMAGIC_REBOOT;
-
-int in_reboot(void)
-{
- int fd;
- if ((fd = open("/var/run/rebootctl", O_RDONLY, 0)) > 0) {
- char buf[100];
- int i = read(fd, buf, sizeof(buf));
- close(fd);
- if (strstr(buf, "halt"))
- reboot_magic = BMAGIC_POWEROFF;
- return i > 0;
- }
- return 0;
-}
-
-int exit_value_proceed = 66;
-
-int main(int argc, char **argv)
-{
- pid_t installpid, childpid;
- int wait_status;
- int fd;
- int abnormal_termination = 0;
- int end_stage2 = 0;
-
- if (argc > 1 && argv[1][0] >= '0' && argv[1][0] <= '9') {
- printf("This is no normal init, sorry.\n"
- "Call `reboot' or `halt' directly.\n");
- return 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 *** (pid is %d)\n", getpid());
-
-
- if (!testing) {
- mkdir("/proc", 0755);
- 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);
-
-#ifdef MANDRAKE_MOVE
- /* disallow Ctrl Alt Del to reboot */
- reboot(0xfee1dead, 672274793, BMAGIC_SOFT);
-#endif
-
- if (!testing) {
- fd = open("/dev/console", O_RDWR, 0);
- if (fd < 0)
- fatal_error("failed to open /dev/console");
-
- 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, sizeof(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
- */
-
- if (!(installpid = fork())) {
- /* child */
- char * child_argv[2];
- child_argv[0] = BINARY;
- child_argv[1] = NULL;
-
- execve(child_argv[0], child_argv, env);
- printf("error in exec of %s :-( [%d]\n", BINARY, errno);
- return 0;
- }
-
- while (!end_stage2) {
- childpid = wait4(-1, &wait_status, 0, NULL);
- if (childpid == installpid)
- end_stage2 = 1;
- }
-
- /* allow Ctrl Alt Del to reboot */
- reboot(0xfee1dead, 672274793, BMAGIC_HARD);
-
- if (in_reboot()) {
- // any exitcode is valid if we're in_reboot
- } else if (!WIFEXITED(wait_status) || (WEXITSTATUS(wait_status) != 0 && WEXITSTATUS(wait_status) != exit_value_proceed)) {
- printf("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_proceed) {
- kill(klog_pid, 9);
- printf("proceeding, please wait...\n");
- return 0;
- }
-
- if (!abnormal_termination) {
- int i;
- for (i=0; i<50; i++)
- printf("\n"); /* cleanup startkde messages */
- }
-
- if (testing)
- return 0;
-
- sync(); sync();
- sleep(2);
-
- 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();
-
- sync(); sync();
-
- if (!abnormal_termination) {
- if (reboot_magic == BMAGIC_REBOOT) {
- printf("automatic reboot in 10 seconds\n");
- sleep(10);
- reboot(0xfee1dead, 672274793, reboot_magic);
- } else {
- printf("you may safely poweroff your computer now\n");
- }
- } else {
- printf("you may safely reboot or halt your system\n");
- }
-
- select(0, NULL, NULL, NULL, NULL);
- 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 f02ac0253..000000000
--- a/mdk-stage1/insmod-busybox/Config.h
+++ /dev/null
@@ -1,133 +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 insmod/lsmod/rmmod for post 2.1 kernels
-#define BB_FEATURE_NEW_MODULE_INTERFACE
-//
-// Support insmod/lsmod/rmmod for pre 2.1 kernels
-//#define BB_FEATURE_OLD_MODULE_INTERFACE
-//
-// 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
-#if ! defined BB_FEATURE_NEW_MODULE_INTERFACE && ! defined BB_FEATURE_OLD_MODULE_INTERFACE
-#define BB_FEATURE_NEW_MODULE_INTERFACE
-#endif
-#endif
diff --git a/mdk-stage1/insmod-busybox/Makefile b/mdk-stage1/insmod-busybox/Makefile
deleted file mode 100644
index 236874f96..000000000
--- a/mdk-stage1/insmod-busybox/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
- #******************************************************************************
- #
- # insmod from busybox (i386 only)
- #
- # $Id$
- #
- # Copyright (C) 1999,2000 by Lineo, inc.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-all: insmod libinsmod.a
-
-clean:
- rm -f *.o insmod libinsmod.a
-
-
-FLAGS = -c -Wall -Os -fomit-frame-pointer -D_GNU_SOURCE -DBB_VER='"0.60.5"' -DBB_BT='"2003.04.16-15:25+0000"'
-
-
-insmod: insmod-frontend.o insmod.o utility-standalone.o
- $(DIET) gcc -o $@ $^
- $(STRIPCMD) $@
-
-libinsmod.a: insmod.o utility.o
- ar cru $@ $^
- ranlib $@
-
-insmod-frontend.o: insmod-frontend.c busybox.h
- $(DIET) gcc $(FLAGS) $(INCLUDES) insmod-frontend.c
-
-utility.o: utility.c busybox.h
- $(DIET) gcc $(FLAGS) $(INCLUDES) utility.c
-
-utility-standalone.o: utility.c busybox.h
- $(DIET) gcc $(FLAGS) $(INCLUDES) -o $@ -D_STANDALONE_ utility.c
-
-insmod.o: insmod.c busybox.h
- $(DIET) gcc $(FLAGS) $(INCLUDES) insmod.c
diff --git a/mdk-stage1/insmod-busybox/README b/mdk-stage1/insmod-busybox/README
deleted file mode 100644
index 0ae697e92..000000000
--- a/mdk-stage1/insmod-busybox/README
+++ /dev/null
@@ -1,8 +0,0 @@
-This insmod code comes from busybox-0.60.5
-
-<http://www.busybox.net/>
-
-Suported architectures: x86, x86-64, ppc, arm, sh3, sh4, m68k, mips.
-
-
-gb
diff --git a/mdk-stage1/insmod-busybox/busybox.h b/mdk-stage1/insmod-busybox/busybox.h
deleted file mode 100644
index 9e6052fce..000000000
--- a/mdk-stage1/insmod-busybox/busybox.h
+++ /dev/null
@@ -1,477 +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
-
-/* Merge from busybox 0.60.5 */
-#define error_msg errorMsg
-#define perror_msg(FORMAT,...) error_msg(FORMAT ": %s", ## __VA_ARGS__, strerror(errno))
-#define recursive_action recursiveAction
-
-#define safe_strncpy(DST, SRC, SIZE) do { \
- (DST)[SIZE-1] = '\0'; \
- return strncpy((DST), (SRC),(SIZE)-1); \
-} while (0)
-
-#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 e6e5b8f5f..000000000
--- a/mdk-stage1/insmod-busybox/insmod.c
+++ /dev/null
@@ -1,3758 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Mini insmod implementation for busybox
- *
- * This version of insmod supports x86, ARM, SH3/4, powerpc, m68k,
- * MIPS, and x86-64.
- *
- *
- * Copyright (C) 1999,2000 by Lineo, inc. and Erik Andersen
- * Copyright (C) 1999-2002 Erik Andersen <andersee@debian.org>
- * Written by Erik Andersen and Ron Alder <alder@lineo.com>
- *
- * Modified by Bryan Rittmeyer <bryan@ixiacom.com> to support SH4
- * and (theoretically) SH3. I have only tested SH4 in little endian mode.
- *
- * Modified by Alcove, Julien Gaulmin <julien.gaulmin@alcove.fr> and
- * Nicolas Ferre <nicolas.ferre@alcove.fr> to support ARM7TDMI. Only
- * very minor changes required to also work with StrongArm and presumably
- * all ARM based systems.
- *
- * Magnus Damm <damm@opensource.se> 22-May-2002.
- * The plt and got code are now using the same structs.
- * Added generic linked list code to fully support PowerPC.
- * Replaced the mess in arch_apply_relocation() with architecture blocks.
- * The arch_create_got() function got cleaned up with architecture blocks.
- * These blocks should be easy maintain and sync with obj_xxx.c in modutils.
- *
- * Magnus Damm <damm@opensource.se> added PowerPC support 20-Feb-2001.
- * PowerPC specific code stolen from modutils-2.3.16,
- * written by Paul Mackerras, Copyright 1996, 1997 Linux International.
- * I've only tested the code on mpc8xx platforms in big-endian mode.
- * Did some cleanup and added BB_USE_xxx_ENTRIES...
- *
- * Quinn Jensen <jensenq@lineo.com> added MIPS support 23-Feb-2001.
- * based on modutils-2.4.2
- * MIPS specific support for Elf loading and relocation.
- * Copyright 1996, 1997 Linux International.
- * Contributed by Ralf Baechle <ralf@gnu.ai.mit.edu>
- *
- * 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 <stdlib.h>
-#include <stdio.h>
-#include <stddef.h>
-#include <errno.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <ctype.h>
-#include <assert.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/utsname.h>
-#include "busybox.h"
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-# undef BB_FEATURE_OLD_MODULE_INTERFACE
-# define new_sys_init_module init_module
-#else
-# define old_sys_init_module init_module
-#endif
-
-/* FIXME: Remove once we switched to dietlibc 0.22 */
-#if 0
-
-#undef new_sys_init_module
-#define __NR_new_sys_init_module __NR_init_module
-struct new_module;
-_syscall2(int, new_sys_init_module, const char *, name,
- const struct new_module *, info)
-
-#undef old_sys_init_module
-#define __NR_old_sys_init_module __NR_init_module
-struct old_mod_routines;
-struct old_symbol_table;
-_syscall5(int, old_sys_init_module, const char *, name, char *, code,
- unsigned, codesize, struct old_mod_routines *, routines,
- struct old_symbol_table *, symtab)
-
-_syscall1(int, delete_module, const char *, name)
-
-#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
-
-#endif
-
-#ifdef BB_FEATURE_INSMOD_LOADINKMEM
-#define LOADBITS 0
-#else
-#define LOADBITS 1
-#endif
-
-#if defined(__arm__)
-#define BB_USE_PLT_ENTRIES
-#define BB_PLT_ENTRY_SIZE 8
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 8
-#define BB_USE_SINGLE
-
-#define MATCH_MACHINE(x) (x == EM_ARM)
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
-#define ELFCLASSM ELFCLASS32
-#endif
-
-#if defined(__i386__)
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 4
-#define BB_USE_SINGLE
-
-#ifndef EM_486
-#define MATCH_MACHINE(x) (x == EM_386)
-#else
-#define MATCH_MACHINE(x) (x == EM_386 || x == EM_486)
-#endif
-
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
-#define ELFCLASSM ELFCLASS32
-#endif
-
-#if defined(__x86_64__)
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 8
-#define BB_USE_SINGLE
-
-#define MATCH_MACHINE(x) (x == EM_X86_64)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
-#define ELFCLASSM ELFCLASS64
-#endif
-
-#if defined(__mc68000__)
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 4
-#define BB_USE_SINGLE
-
-#define MATCH_MACHINE(x) (x == EM_68K)
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
-#endif
-
-#if defined(__mips__)
-/* 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
-#define ELFCLASSM ELFCLASS32
-#define ARCHDATAM "__dbe_table"
-#endif
-
-#if defined(__powerpc__)
-#define BB_USE_PLT_ENTRIES
-#define BB_PLT_ENTRY_SIZE 16
-#define BB_USE_PLT_LIST
-#define BB_LIST_ARCHTYPE ElfW(Addr)
-#define BB_USE_LIST
-
-#define MATCH_MACHINE(x) (x == EM_PPC)
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
-#define ELFCLASSM ELFCLASS32
-#define ARCHDATAM "__ftr_fixup"
-#endif
-
-#if defined(__sh__)
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 4
-#define BB_USE_SINGLE
-
-#define MATCH_MACHINE(x) (x == EM_SH)
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
-#define ELFCLASSM ELFCLASS32
-
-/* 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
-#endif
-
-#ifndef SHT_RELM
-#error Sorry, but insmod.c does not yet support this architecture...
-#endif
-
-//----------------------------------------------------------------------------
-//--------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
-
-/* 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. */
-static const int 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
-static const int tgt_sizeof_long = 8;
-static const int tgt_sizeof_char_p = 8;
-static const int 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;
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
- const char *kallsyms_start; /* All symbols for kernel debugging */
- const char *kallsyms_end;
- const char *archdata_start; /* arch specific data for module */
- const char *archdata_end;
- const char *kernel_data; /* Reserved for kernel internal use */
-#endif
-};
-
-#ifdef ARCHDATAM
-#define ARCHDATA_SEC_NAME ARCHDATAM
-#else
-#define ARCHDATA_SEC_NAME "__archdata"
-#endif
-#define KALLSYMS_SEC_NAME "__kallsyms"
-
-
-struct new_module_info
-{
- unsigned long addr;
- unsigned long size;
- unsigned long flags;
- long usecount;
-};
-
-/* Bits of module.flags. */
-static const int NEW_MOD_RUNNING = 1;
-static const int NEW_MOD_DELETED = 2;
-static const int NEW_MOD_AUTOCLEAN = 4;
-static const int NEW_MOD_VISITED = 8;
-static const int 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. */
-
-static const int QM_MODULES = 1;
-static const int QM_DEPS = 2;
-static const int QM_REFS = 3;
-static const int QM_SYMBOLS = 4;
-static const int 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
-static const int MODUTILS_OBJ_H = 1;
-
-/* The relocatable object is manipulated using elfin types. */
-
-#include <stdio.h>
-#include <elf.h>
-#include <endian.h>
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define ELFDATAM ELFDATA2LSB
-#elif __BYTE_ORDER == __BIG_ENDIAN
-#define ELFDATAM ELFDATA2MSB
-#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. */
-
-static unsigned long obj_elf_hash(const char *);
-
-static unsigned long obj_elf_hash_n(const char *, unsigned long len);
-
-static struct obj_symbol *obj_find_symbol (struct obj_file *f,
- const char *name);
-
-static ElfW(Addr) obj_symbol_final_value(struct obj_file *f,
- struct obj_symbol *sym);
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-static void obj_set_symbol_compare(struct obj_file *f,
- int (*cmp)(const char *, const char *),
- unsigned long (*hash)(const char *));
-#endif
-
-static struct obj_section *obj_find_section (struct obj_file *f,
- const char *name);
-
-static void obj_insert_section_load_order (struct obj_file *f,
- struct obj_section *sec);
-
-static struct obj_section *obj_create_alloced_section (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-static struct obj_section *obj_create_alloced_section_first (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-static void *obj_extend_section (struct obj_section *sec, unsigned long more);
-
-static int obj_string_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string);
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-static int obj_symbol_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym);
-#endif
-
-static int obj_check_undefineds(struct obj_file *f);
-
-static void obj_allocate_commons(struct obj_file *f);
-
-static unsigned long obj_load_size (struct obj_file *f);
-
-static int obj_relocate (struct obj_file *f, ElfW(Addr) base);
-
-static struct obj_file *obj_load(FILE *f, int loadprogbits);
-
-static int obj_create_image (struct obj_file *f, char *image);
-
-/* Architecture specific manipulation routines. */
-
-static struct obj_file *arch_new_file (void);
-
-static struct obj_section *arch_new_section (void);
-
-static struct obj_symbol *arch_new_symbol (void);
-
-static 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);
-
-static void arch_create_got (struct obj_file *f);
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-static int arch_init_module (struct obj_file *f, struct new_module *);
-#endif
-
-#endif /* obj.h */
-//----------------------------------------------------------------------------
-//--------end of modutils obj.h
-//----------------------------------------------------------------------------
-
-
-
-
-
-#define _PATH_MODULES "/lib/modules"
-static const int STRVERSIONLEN = 32;
-
-/*======================================================================*/
-
-static const int flag_force_load = 1;
-static const int flag_autoclean = 0;
-static const int flag_quiet = 0;
-static const int flag_export = 1;
-
-
-/*======================================================================*/
-
-#if defined(BB_USE_LIST)
-
-struct arch_list_entry
-{
- struct arch_list_entry *next;
- BB_LIST_ARCHTYPE addend;
- int offset;
- int inited : 1;
-};
-
-#endif
-
-#if defined(BB_USE_SINGLE)
-
-struct arch_single_entry
-{
- int offset;
- int inited : 1;
- int allocated : 1;
-};
-
-#endif
-
-#if defined(__mips__)
-struct mips_hi16
-{
- struct mips_hi16 *next;
- Elf32_Addr *addr;
- Elf32_Addr value;
-};
-#endif
-
-struct arch_file {
- struct obj_file root;
-#if defined(BB_USE_PLT_ENTRIES)
- struct obj_section *plt;
-#endif
-#if defined(BB_USE_GOT_ENTRIES)
- struct obj_section *got;
-#endif
-#if defined(__mips__)
- struct mips_hi16 *mips_hi16_list;
-#endif
-};
-
-struct arch_symbol {
- struct obj_symbol root;
-#if defined(BB_USE_PLT_ENTRIES)
-#if defined(BB_USE_PLT_LIST)
- struct arch_list_entry *pltent;
-#else
- struct arch_single_entry pltent;
-#endif
-#endif
-#if defined(BB_USE_GOT_ENTRIES)
- struct arch_single_entry gotent;
-#endif
-};
-
-
-struct external_module {
- const char *name;
- ElfW(Addr) addr;
- int used;
- size_t nsyms;
- struct new_module_symbol *syms;
-};
-
-static struct new_module_symbol *ksyms;
-static size_t nksyms;
-
-static struct external_module *ext_modules;
-static int n_ext_modules;
-static int n_ext_modules_used;
-extern int delete_module(const char *);
-
-#ifndef FILENAME_MAX
-#define FILENAME_MAX 4095
-#endif
-
-static char m_filename[FILENAME_MAX];
-static char m_fullName[FILENAME_MAX];
-
-
-
-/*======================================================================*/
-
-static struct obj_file *arch_new_file(void)
-{
- struct arch_file *f;
- f = xmalloc(sizeof(*f));
-
- memset(f, 0, sizeof(*f));
-
- return &f->root;
-}
-
-static struct obj_section *arch_new_section(void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-static struct obj_symbol *arch_new_symbol(void)
-{
- struct arch_symbol *sym;
- sym = xmalloc(sizeof(*sym));
-
- memset(sym, 0, sizeof(*sym));
-
- return &sym->root;
-}
-
-static 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) v)
-{
- struct arch_file *ifile = (struct arch_file *) f;
- enum obj_reloc ret = obj_reloc_ok;
- ElfW(Addr) *loc = (ElfW(Addr) *) (targsec->contents + rel->r_offset);
- ElfW(Addr) dot = targsec->header.sh_addr + rel->r_offset;
-#if defined(BB_USE_GOT_ENTRIES) || defined(BB_USE_PLT_ENTRIES)
- struct arch_symbol *isym = (struct arch_symbol *) sym;
-#endif
-#if defined(BB_USE_GOT_ENTRIES)
- ElfW(Addr) got = ifile->got ? ifile->got->header.sh_addr : 0;
-#endif
-#if defined(BB_USE_PLT_ENTRIES)
- ElfW(Addr) plt = ifile->plt ? ifile->plt->header.sh_addr : 0;
- unsigned long *ip;
-#if defined(BB_USE_PLT_LIST)
- struct arch_list_entry *pe;
-#else
- struct arch_single_entry *pe;
-#endif
-#endif
-
- switch (ELF32_R_TYPE(rel->r_info)) {
-
-#if defined(__arm__)
- case R_ARM_NONE:
- break;
-
- case R_ARM_ABS32:
- *loc += v;
- break;
-
- case R_ARM_GOT32:
- goto bb_use_got;
-
- case R_ARM_GOTPC:
- /* relative reloc, always to _GLOBAL_OFFSET_TABLE_
- * (which is .got) similar to branch,
- * but is full 32 bits relative */
-
- assert(got);
- *loc += got - dot;
- break;
-
- case R_ARM_PC24:
- case R_ARM_PLT32:
- goto bb_use_plt;
-
- case R_ARM_GOTOFF: /* address relative to the got */
- assert(got);
- *loc += v - got;
- break;
-
-#elif defined(__i386__)
-
- 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:
- goto bb_use_got;
-
- case R_386_GOTOFF:
- assert(got != 0);
- *loc += v - got;
- break;
-
-#elif defined(__x86_64__)
-
- case R_X86_64_NONE:
- break;
-
- case R_X86_64_64:
- *loc += v;
- break;
-
- case R_X86_64_32:
- *(unsigned int *) loc += v;
- break;
-
- case R_X86_64_32S:
- *(signed int *) loc += v;
- break;
-
- case R_X86_64_16:
- *(unsigned short *) loc += v;
- break;
-
- case R_X86_64_8:
- *(unsigned char *) loc += v;
- break;
-
- case R_X86_64_PC32:
- *(unsigned int *) loc += v - dot;
- break;
-
- case R_X86_64_PC16:
- *(unsigned short *) loc += v - dot;
- break;
-
- case R_X86_64_PC8:
- *(unsigned char *) loc += v - dot;
- break;
-
- case R_X86_64_GLOB_DAT:
- case R_X86_64_JUMP_SLOT:
- *loc = v;
- break;
-
- case R_X86_64_RELATIVE:
- *loc += f->baseaddr;
- break;
-
- case R_X86_64_GOT32:
- case R_X86_64_GOTPCREL:
- goto bb_use_got;
-
-#elif defined(__mc68000__)
-
- case R_68K_NONE:
- break;
-
- case R_68K_32:
- *loc += v;
- 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_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_GLOB_DAT:
- case R_68K_JMP_SLOT:
- *loc = v;
- break;
-
- case R_68K_RELATIVE:
- *(int *)loc += f->baseaddr;
- break;
-
- case R_68K_GOT32:
- goto bb_use_got;
-
- case R_68K_GOTOFF:
- assert(got != 0);
- *loc += v - got;
- break;
-
-#elif defined(__mips__)
-
- 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 = ifile->mips_hi16_list;
- ifile->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 (ifile->mips_hi16_list != NULL) {
- struct mips_hi16 *l;
-
- l = ifile->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;
- }
-
- ifile->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;
- }
-
-#elif defined(__powerpc__)
-
- 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:
- goto bb_use_plt;
-
- case R_PPC_REL32:
- *loc = v - dot;
- break;
-
- case R_PPC_ADDR32:
- *loc = v;
- break;
-
-#elif defined(__sh__)
-
- case R_SH_NONE:
- break;
-
- case R_SH_DIR32:
- *loc += v;
- break;
-
- case R_SH_REL32:
- *loc += v - dot;
- break;
-
- case R_SH_PLT32:
- *loc = v - dot;
- break;
-
- case R_SH_GLOB_DAT:
- case R_SH_JMP_SLOT:
- *loc = v;
- break;
-
- case R_SH_RELATIVE:
- *loc = f->baseaddr + rel->r_addend;
- break;
-
- case R_SH_GOTPC:
- assert(got != 0);
- *loc = got - dot + rel->r_addend;
- break;
-
- case R_SH_GOT32:
- goto bb_use_got;
-
- case R_SH_GOTOFF:
- assert(got != 0);
- *loc = v - got;
- break;
-
-#endif
-
- default:
- printf("Warning: unhandled reloc %d\n",(int)ELF32_R_TYPE(rel->r_info));
- ret = obj_reloc_unhandled;
- break;
-
-#if defined(BB_USE_PLT_ENTRIES)
-
- bb_use_plt:
-
- /* find the plt entry and initialize it if necessary */
- assert(isym != NULL);
-
-#if defined(BB_USE_PLT_LIST)
- for (pe = isym->pltent; pe != NULL && pe->addend != rel->r_addend;)
- pe = pe->next;
- assert(pe != NULL);
-#else
- pe = &isym->pltent;
-#endif
-
- if (! pe->inited) {
- ip = (unsigned long *) (ifile->plt->contents + pe->offset);
-
- /* generate some machine code */
-
-#if defined(__arm__)
- ip[0] = 0xe51ff004; /* ldr pc,[pc,#-4] */
- ip[1] = v; /* sym@ */
-#endif
-#if defined(__powerpc__)
- 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 */
-#endif
- 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;
-
- /* merge the offset into the instruction. */
-#if defined(__arm__)
- /* Convert to words. */
- v >>= 2;
-
- *loc = (*loc & ~0x00ffffff) | ((v + *loc) & 0x00ffffff);
-#endif
-#if defined(__powerpc__)
- *loc = (*loc & ~0x03fffffc) | (v & 0x03fffffc);
-#endif
- break;
-#endif /* BB_USE_PLT_ENTRIES */
-
-#if defined(BB_USE_GOT_ENTRIES)
- bb_use_got:
-
- assert(isym != NULL);
- /* needs an entry in the .got: set it, once */
- if (!isym->gotent.inited) {
- isym->gotent.inited = 1;
- *(ElfW(Addr) *) (ifile->got->contents + isym->gotent.offset) = v;
- }
- /* make the reloc with_respect_to_.got */
-#if defined(__sh__)
- *loc += isym->gotent.offset + rel->r_addend;
-#elif defined(__i386__) || defined(__arm__) || defined(__mc68000__)
- *loc += isym->gotent.offset;
-#elif defined(__x86_64__)
- /* XXX are these really correct? */
- if (ELF64_R_TYPE(rel->r_info) == R_X86_64_GOTPCREL)
- *(unsigned int *) loc += v + isym->gotent.offset;
- else
- *loc += isym->gotent.offset;
-#endif
- break;
-
-#endif /* BB_USE_GOT_ENTRIES */
- }
-
- return ret;
-}
-
-#if defined(BB_USE_LIST)
-
-static int arch_list_add(ElfW(RelM) *rel, struct arch_list_entry **list,
- int offset, int size)
-{
- struct arch_list_entry *pe;
-
- for (pe = *list; pe != NULL; pe = pe->next) {
- if (pe->addend == rel->r_addend) {
- break;
- }
- }
-
- if (pe == NULL) {
- pe = xmalloc(sizeof(struct arch_list_entry));
- pe->next = *list;
- pe->addend = rel->r_addend;
- pe->offset = offset;
- pe->inited = 0;
- *list = pe;
- return size;
- }
- return 0;
-}
-
-#endif
-
-#if defined(BB_USE_SINGLE)
-
-static int arch_single_init(ElfW(RelM) *rel, struct arch_single_entry *single,
- int offset, int size)
-{
- if (single->allocated == 0) {
- single->allocated = 1;
- single->offset = offset;
- single->inited = 0;
- return size;
- }
- return 0;
-}
-
-#endif
-
-#if defined(BB_USE_GOT_ENTRIES) || defined(BB_USE_PLT_ENTRIES)
-
-static struct obj_section *arch_xsect_init(struct obj_file *f, char *name,
- int offset, int size)
-{
- struct obj_section *myrelsec = obj_find_section(f, name);
-
- if (offset == 0) {
- offset += size;
- }
-
- if (myrelsec) {
- obj_extend_section(myrelsec, offset);
- } else {
- myrelsec = obj_create_alloced_section(f, name,
- size, offset);
- assert(myrelsec);
- }
-
- return myrelsec;
-}
-
-#endif
-
-static void arch_create_got(struct obj_file *f)
-{
-#if defined(BB_USE_GOT_ENTRIES) || defined(BB_USE_PLT_ENTRIES)
- struct arch_file *ifile = (struct arch_file *) f;
- int i;
-#if defined(BB_USE_GOT_ENTRIES)
- int got_offset = 0, got_needed = 0, got_allocate;
-#endif
-#if defined(BB_USE_PLT_ENTRIES)
- int plt_offset = 0, plt_needed = 0, plt_allocate;
-#endif
- struct obj_section *relsec, *symsec, *strsec;
- ElfW(RelM) *rel, *relend;
- ElfW(Sym) *symtab, *extsym;
- const char *strtab, *name;
- struct arch_symbol *intsym;
-
- for (i = 0; i < f->header.e_shnum; ++i) {
- relsec = f->sections[i];
-
- if (relsec->header.sh_type != SHT_RELM)
- continue;
-
- symsec = f->sections[relsec->header.sh_link];
- 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) {
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
-
-#if defined(BB_USE_GOT_ENTRIES)
- got_allocate = 0;
-#endif
-#if defined(BB_USE_PLT_ENTRIES)
- plt_allocate = 0;
-#endif
-
- switch (ELF32_R_TYPE(rel->r_info)) {
-
-#if defined(__arm__)
-
- case R_ARM_PC24:
- case R_ARM_PLT32:
- plt_allocate = 1;
- break;
-
- case R_ARM_GOTOFF:
- case R_ARM_GOTPC:
- got_needed = 1;
- continue;
-
- case R_ARM_GOT32:
- got_allocate = 1;
- break;
-
-#elif defined(__i386__)
-
- case R_386_GOTPC:
- case R_386_GOTOFF:
- got_needed = 1;
- continue;
-
- case R_386_GOT32:
- got_allocate = 1;
- break;
-
-#elif defined(__x86_64__)
-
- case R_X86_64_GOTPCREL:
- case R_X86_64_GOT32:
- got_needed = 1;
- continue;
-
-#elif defined(__powerpc__)
-
- case R_PPC_REL24:
- plt_allocate = 1;
- break;
-
-#elif defined(__mc68000__)
-
- case R_68K_GOT32:
- got_allocate = 1;
- break;
-
- case R_68K_GOTOFF:
- got_needed = 1;
- continue;
-
-#elif defined(__sh__)
-
- case R_SH_GOT32:
- got_allocate = 1;
- break;
-
- case R_SH_GOTPC:
- case R_SH_GOTOFF:
- got_needed = 1;
- continue;
-
-#endif
- default:
- continue;
- }
-
- if (extsym->st_name != 0) {
- name = strtab + extsym->st_name;
- } else {
- name = f->sections[extsym->st_shndx]->name;
- }
- intsym = (struct arch_symbol *) obj_find_symbol(f, name);
-#if defined(BB_USE_GOT_ENTRIES)
- if (got_allocate) {
- got_offset += arch_single_init(
- rel, &intsym->gotent,
- got_offset, BB_GOT_ENTRY_SIZE);
-
- got_needed = 1;
- }
-#endif
-#if defined(BB_USE_PLT_ENTRIES)
- if (plt_allocate) {
-#if defined(BB_USE_PLT_LIST)
- plt_offset += arch_list_add(
- rel, &intsym->pltent,
- plt_offset, BB_PLT_ENTRY_SIZE);
-#else
- plt_offset += arch_single_init(
- rel, &intsym->pltent,
- plt_offset, BB_PLT_ENTRY_SIZE);
-#endif
- plt_needed = 1;
- }
-#endif
- }
- }
-
-#if defined(BB_USE_GOT_ENTRIES)
- if (got_needed) {
- ifile->got = arch_xsect_init(f, ".got", got_offset,
- BB_GOT_ENTRY_SIZE);
- }
-#endif
-
-#if defined(BB_USE_PLT_ENTRIES)
- if (plt_needed) {
- ifile->plt = arch_xsect_init(f, ".plt", plt_offset,
- BB_PLT_ENTRY_SIZE);
- }
-#endif
-
-#endif /* defined(BB_USE_GOT_ENTRIES) || defined(BB_USE_PLT_ENTRIES) */
-}
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-static int arch_init_module(struct obj_file *f, struct new_module *mod)
-{
- return 1;
-}
-#endif
-
-
-/*======================================================================*/
-
-/* Standard ELF hash function. */
-static 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;
-}
-
-static unsigned long obj_elf_hash(const char *name)
-{
- return obj_elf_hash_n(name, strlen(name));
-}
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-/* 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);
-}
-
-static 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 */
-
-static 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_msg("%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_msg("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;
-
- return sym;
-}
-
-static 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;
-}
-
-static 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;
- }
-}
-
-static 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;
-}
-
-static 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;
-}
-
-static 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;
-}
-
-static 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;
-}
-
-static void *obj_extend_section(struct obj_section *sec, unsigned long more)
-{
- unsigned long oldsize = sec->header.sh_size;
- if (more) {
- 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) {
- error_msg("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') {
- error_msg("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 *myloc = 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, myloc - contents, q);
- myloc += sizeof(char *);
- q = r;
- }
-
- /* last part */
- obj_string_patch(f, sym->secidx, myloc - 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;
- safe_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_OLD_MODULE_INTERFACE
-
-/* 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) {
- if (nks)
- perror_msg("get_kernel_syms: %s", m_name);
- else
- error_msg("No kernel symbols");
- return 0;
- }
-
- ks = k = xmalloc(nks * sizeof(*ks));
-
- if (get_kernel_syms(ks) != nks) {
- perror("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;
-
- /* 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;
-
- strcpy(str, sym->name);
- str += strlen(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)
- perror_msg("init_module: %s", m_name);
-
- 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_OLD_MODULE_INTERFACE */
-
-
-
-/*======================================================================*/
-/* 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) {
- error_msg("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) {
- error_msg("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') {
- error_msg("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))) {
- error_msg("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) {
- error_msg("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:
- error_msg("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) {
- error_msg("too many values for %s (max %d)", key, max);
- return 0;
- }
- ++q;
- break;
-
- default:
- error_msg("invalid argument syntax for %s", key);
- return 0;
- }
- }
-
- end_of_arg:
- if (n < min) {
- error_msg("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;
- safe_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_NEW_MODULE_INTERFACE
-
-/* 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 && bufsize < ret) {
- module_names = xrealloc(module_names, bufsize = ret);
- goto retry_modules_load;
- }
- perror_msg("QM_MODULES");
- return 0;
- }
-
- n_ext_modules = nmod = ret;
-
- /* Collect the modules' symbols. */
-
- if (nmod){
- ext_modules = modules = xmalloc(nmod * sizeof(*modules));
- memset(modules, 0, nmod * sizeof(*modules));
- 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;
- }
- perror_msg("query_module: QM_INFO: %s", mn);
- 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:
- perror_msg("query_module: QM_SYMBOLS: %s", mn);
- 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 && bufsize < ret) {
- syms = xrealloc(syms, bufsize = ret);
- goto retry_kern_sym_load;
- }
- perror_msg("kernel: QM_SYMBOLS");
- 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");
- if (!sec || !sec->contents) {
- perror_msg("corrupt module %s?",m_name);
- exit(EXIT_FAILURE);
- }
- 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;
- }
- sec = obj_find_section(f, ARCHDATA_SEC_NAME);
- if (sec && sec->header.sh_size) {
- module->archdata_start = (void*)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 = (void*)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);
-
- ret = new_sys_init_module(m_name, (struct new_module *) image);
- if (ret)
- perror_msg("init_module: %s", m_name);
-
- 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)
-#define query_module(v, w, x, y, z) -1
-
-#endif /* BB_FEATURE_NEW_MODULE_INTERFACE */
-
-
-/*======================================================================*/
-
-static 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;
-}
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-static 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;
-}
-#endif
-
-static 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 {
- if (!flag_quiet) {
- error_msg("unresolved symbol %s", sym->name);
- }
- ret = 0;
- }
- }
- }
-
- return ret;
-}
-
-static 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 != 0)
- s->contents = memset(xmalloc(s->header.sh_size),
- 0, s->header.sh_size);
- else
- s->contents = NULL;
-
- s->header.sh_type = SHT_PROGBITS;
- }
- }
-}
-
-static 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;
-}
-
-static 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) {
- error_msg("%s of type %ld for %s", errmsg,
- (long) ELFW(R_TYPE) (rel->r_info),
- strtab + extsym->st_name);
- } else {
- error_msg("%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;
-}
-
-static 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 || 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;
-}
-
-/*======================================================================*/
-
-static struct obj_file *obj_load(FILE * fp, int loadprogbits)
-{
- 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) {
- perror_msg("error reading ELF header");
- 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_msg("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)) {
- error_msg("ELF file not for this architecture");
- return NULL;
- }
- if (f->header.e_type != ET_REL) {
- error_msg("ELF file not a relocatable object");
- return NULL;
- }
-
- /* Read the section headers. */
-
- if (f->header.e_shentsize != sizeof(ElfW(Shdr))) {
- error_msg("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) {
- perror_msg("error reading ELF section headers");
- 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;
-
- if(sec->header.sh_size) switch (sec->header.sh_type) {
- case SHT_NULL:
- case SHT_NOTE:
- case SHT_NOBITS:
- /* ignore */
- break;
-
- case SHT_PROGBITS:
-#if LOADBITS
- if (!loadprogbits) {
- sec->contents = NULL;
- break;
- }
-#endif
- 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) {
- perror_msg("error reading ELF section data");
- return NULL;
- }
- } else {
- sec->contents = NULL;
- }
- break;
-
-#if SHT_RELM == SHT_REL
- case SHT_RELA:
- error_msg("RELA relocations not supported on this architecture");
- return NULL;
-#else
- case SHT_REL:
- error_msg("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;
- }
-
- error_msg("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];
-
- /* .modinfo should be contents only but gcc has no attribute for that.
- * The kernel may have marked .modinfo as ALLOC, ignore this bit.
- */
- if (strcmp(sec->name, ".modinfo") == 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_msg("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 = xcalloc(j, sizeof(struct obj_symbol *));
-
- /* 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))) {
- error_msg("relocation entry size mismatch: %lu != %lu",
- (unsigned long) sec->header.sh_entsize,
- (unsigned long) sizeof(ElfW(RelM)));
- return NULL;
- }
- break;
- /* XXX Relocation code from modutils-2.3.19 is not here.
- * Why? That's about 20 lines of code from obj/obj_load.c,
- * which gets done in a second pass through the sections.
- * This BusyBox insmod does similar work in obj_relocate(). */
- }
- }
-
- return f;
-}
-
-#ifdef BB_FEATURE_INSMOD_LOADINKMEM
-/*
- * load the unloaded sections directly into the memory allocated by
- * kernel for the module
- */
-
-static int obj_load_progbits(FILE * fp, struct obj_file* f, char* imagebase)
-{
- ElfW(Addr) base = f->baseaddr;
- struct obj_section* sec;
-
- for (sec = f->load_order; sec; sec = sec->load_next) {
-
- /* section already loaded? */
- if (sec->contents != NULL)
- continue;
-
- if (sec->header.sh_size == 0)
- continue;
-
- sec->contents = imagebase + (sec->header.sh_addr - base);
- fseek(fp, sec->header.sh_offset, SEEK_SET);
- if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) {
- error_msg("error reading ELF section data: %s\n", strerror(errno));
- return 0;
- }
-
- }
- return 1;
-}
-#endif
-
-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));
-}
-
-#ifdef BB_FEATURE_INSMOD_CHECK_TAINTED
-static int obj_gpl_license(struct obj_file *f, const char **license)
-{
- struct obj_section *sec;
- /* This list must match *exactly* the list of allowable licenses in
- * linux/include/linux/module.h. Checking for leading "GPL" will not
- * work, somebody will use "GPL sucks, this is proprietary".
- */
- static const char *gpl_licenses[] = {
- "GPL",
- "GPL v2",
- "GPL and additional rights",
- "Dual BSD/GPL",
- "Dual MPL/GPL",
- };
-
- if ((sec = obj_find_section(f, ".modinfo"))) {
- const char *value, *ptr, *endptr;
- ptr = sec->contents;
- endptr = ptr + sec->header.sh_size;
- while (ptr < endptr) {
- if ((value = strchr(ptr, '=')) && strncmp(ptr, "license", value-ptr) == 0) {
- int i;
- if (license)
- *license = value+1;
- for (i = 0; i < sizeof(gpl_licenses)/sizeof(gpl_licenses[0]); ++i) {
- if (strcmp(value+1, gpl_licenses[i]) == 0)
- return(0);
- }
- return(2);
- }
- if (strchr(ptr, '\0'))
- ptr = strchr(ptr, '\0') + 1;
- else
- ptr = endptr;
- }
- }
- return(1);
-}
-
-#define TAINT_FILENAME "/proc/sys/kernel/tainted"
-#define TAINT_PROPRIETORY_MODULE (1<<0)
-#define TAINT_FORCED_MODULE (1<<1)
-#define TAINT_UNSAFE_SMP (1<<2)
-#define TAINT_URL "http://www.tux.org/lkml/#export-tainted"
-
-static void set_tainted(struct obj_file *f, int fd, char *m_name,
- int kernel_has_tainted, int taint, const char *text1, const char *text2)
-{
- char buf[80];
- int oldval;
- static int first = 1;
- if (fd < 0 && !kernel_has_tainted)
- return; /* New modutils on old kernel */
- printf("Warning: loading %s will taint the kernel: %s%s\n",
- m_name, text1, text2);
- if (first) {
- printf(" See %s for information about tainted modules\n", TAINT_URL);
- first = 0;
- }
- if (fd >= 0) {
- read(fd, buf, sizeof(buf)-1);
- buf[sizeof(buf)-1] = '\0';
- oldval = strtoul(buf, NULL, 10);
- sprintf(buf, "%d\n", oldval | taint);
- write(fd, buf, strlen(buf));
- }
-}
-#endif
-
-/* Check if loading this module will taint the kernel. */
-static void check_tainted_module(struct obj_file *f, char *m_name)
-{
-#ifdef BB_FEATURE_INSMOD_CHECK_TAINTED
- static const char tainted_file[] = TAINT_FILENAME;
- int fd, kernel_has_tainted;
- const char *ptr;
-
- kernel_has_tainted = 1;
- if ((fd = open(tainted_file, O_RDWR)) < 0) {
- if (errno == ENOENT)
- kernel_has_tainted = 0;
- else if (errno == EACCES)
- kernel_has_tainted = 1;
- else {
- perror(tainted_file);
- kernel_has_tainted = 0;
- }
- }
-
- switch (obj_gpl_license(f, &ptr)) {
- case 0:
- break;
- case 1:
- set_tainted(f, fd, m_name, kernel_has_tainted, TAINT_PROPRIETORY_MODULE, "no license", "");
- break;
- case 2:
- /* The module has a non-GPL license so we pretend that the
- * kernel always has a taint flag to get a warning even on
- * kernels without the proc flag.
- */
- set_tainted(f, fd, m_name, 1, TAINT_PROPRIETORY_MODULE, "non-GPL license - ", ptr);
- break;
- default:
- set_tainted(f, fd, m_name, 1, TAINT_PROPRIETORY_MODULE, "Unexpected return from obj_gpl_license", "");
- break;
- }
-
- if (flag_force_load)
- set_tainted(f, fd, m_name, 1, TAINT_FORCED_MODULE, "forced load", "");
-
- if (fd >= 0)
- close(fd);
-#endif
-}
-
-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[FILENAME_MAX] = "\0";
- int exit_status = EXIT_FAILURE;
- int m_has_modinfo;
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
- struct utsname uts_info;
- 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. Check we we have a complete path */
- 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, LOADBITS)) == 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? */
- if (!flag_quiet) {
- if (uname(&uts_info) < 0)
- uts_info.release[0] = '\0';
- 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) {
- error_msg("couldn't find the kernel version the module was "
- "compiled for");
- goto out;
- }
- }
-
- if (strncmp(uts_info.release, m_strversion, STRVERSIONLEN) != 0) {
- if (flag_force_load) {
- error_msg("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, uts_info.release);
- } else {
- error_msg("kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s.",
- m_filename, m_strversion, uts_info.release);
- 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_NEW_MODULE_INTERFACE
- if (!new_get_kernel_symbols())
- goto out;
- k_crcs = new_is_kernel_checksummed();
-#else
- error_msg("Not configured to support new kernels");
- goto out;
-#endif
- } else {
-#ifdef BB_FEATURE_OLD_MODULE_INTERFACE
- if (!old_get_kernel_symbols(m_name))
- goto out;
- k_crcs = old_is_kernel_checksummed();
-#else
- error_msg("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);
- check_tainted_module(f, m_name);
-
- 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);
-
-
- m_addr = create_module(m_name, m_size);
- if (m_addr==-1) switch (errno) {
- case EEXIST:
- error_msg("A module named %s already exists", m_name);
- goto out;
- case ENOMEM:
- error_msg("Can't allocate kernel memory for module; needed %lu bytes",
- m_size);
- goto out;
- default:
- perror_msg("create_module: %s", m_name);
- goto out;
- }
-
-#if !LOADBITS
- /*
- * the PROGBITS section was not loaded by the obj_load
- * now we can load them directly into the kernel memory
- */
- if (!obj_load_progbits(fp, f, (char*)m_addr)) {
- delete_module(m_name);
- goto out;
- }
-#endif
-
- 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 = EXIT_SUCCESS;
-
-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 48508ba1f..000000000
--- a/mdk-stage1/insmod-modutils/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
- #******************************************************************************
- #
- # insmod from modutils (generic)
- #
- # $Id$
- #
- # Copyright 1996, 1997 Linux International.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-INCS = -I./include
-
-TAINT_URL = http://www.tux.org/lkml/\#export-tainted
-
-DEFS = -Wno-error -D_GNU_SOURCE \
- -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH) \
- -DTAINT_URL='"$(TAINT_URL)"'
-
-
-DIRS = util obj
-
-all: dirs insmod libinsmod.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
-
-
-insmod: insmod-frontend.o insmod.o ./util/libutil-STANDALONE.a ./obj/libobj.a
- $(DIET) 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 $@
-
-insmod-frontend.o: insmod-frontend.c insmod.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c insmod-frontend.c
-
-insmod.o: insmod.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -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 3a37b00d4..000000000
--- a/mdk-stage1/insmod-modutils/include/config.h
+++ /dev/null
@@ -1,108 +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 MODUTILS_MACROS "/lib/modutils/macros"
-#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_IEEE1394MAPFILE,
- GEN_PNPBIOSMAPFILE,
- 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 4202bcc14..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_alpha.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for the Alpha. */
-
-#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 cf04cafe0..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_arm.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for ARM. */
-
-#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 f5c57d384..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_i386.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for i386 et al. */
-
-#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 c488ba9d1..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_m68k.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for m68k. */
-
-#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 4b91ddd01..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_mips.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Machine-specific elf macros for MIPS. */
-
-#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 b0060ace1..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_ppc.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for the PowerPC. */
-
-#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 7a35bde93..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_s390.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Machine-specific elf macros for i386 et al. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define EM_S390_OLD 0xa390
-
-#define MATCH_MACHINE(x) (x == EM_S390 || x == EM_S390_OLD)
-
-#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 8903b2654..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_sparc.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for the Sparc. */
-
-#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 891e0c3d9..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_sparc64.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Machine-specific elf macros for the Sparc. */
-
-#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 90bb75f22..000000000
--- a/mdk-stage1/insmod-modutils/include/kallsyms.h
+++ /dev/null
@@ -1,129 +0,0 @@
-#ifndef MODUTILS_KALLSYMS_H
-#define MODUTILS_KALLSYMS_H 1
-
-/* 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.
- */
-
-/* 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 f32e34b4a..000000000
--- a/mdk-stage1/insmod-modutils/include/kerneld.h
+++ /dev/null
@@ -1,44 +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
-
-#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 ae8224f8a..000000000
--- a/mdk-stage1/insmod-modutils/include/module.h
+++ /dev/null
@@ -1,217 +0,0 @@
-#ifndef MODUTILS_MODULE_H
-#define MODUTILS_MODULE_H 1
-
-/* 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. */
-
-
-/* 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;
-
-/*======================================================================*/
-/* Tainted kernel information. This must match include/linux/kernel.h */
-/* and kernel/panic.c. */
-
-#define TAINT_FILENAME "/proc/sys/kernel/tainted"
-#define TAINT_PROPRIETORY_MODULE (1<<0)
-#define TAINT_FORCED_MODULE (1<<1)
-#define TAINT_UNSAFE_SMP (1<<2)
-
-#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 de346b16a..000000000
--- a/mdk-stage1/insmod-modutils/include/obj.h
+++ /dev/null
@@ -1,298 +0,0 @@
-#ifndef MODUTILS_OBJ_H
-#define MODUTILS_OBJ_H 1
-
-/* 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. */
-
-
-/* The relocatable object is manipulated using elfin types. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <elf.h>
-#include ELF_MACHINE_H
-#include "module.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;
- tgt_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 obj_kallsyms ObjW(kallsyms)
-#define obj_gpl_license ObjW(gpl_license)
-#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,
- unsigned long flags);
-
-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 {
- u_int64_t addr; /* Should be Elf64_Xword but not all users have this yet */
- void *ptr;
-};
-
-void *obj_addr_to_native_ptr(ElfW(Addr));
-
-ElfW(Addr) obj_native_ptr_to_addr(void *);
-
-/* Standard method of finding relocation symbols, sets isym */
-#define obj_find_relsym(isym, f, find, rel, symtab, strtab) \
- { \
- unsigned long symndx = ELFW(R_SYM)((rel)->r_info); \
- ElfW(Sym) *extsym = (symtab)+symndx; \
- if (ELFW(ST_BIND)(extsym->st_info) == STB_LOCAL) { \
- isym = (typeof(isym)) (f)->local_symtab[symndx]; \
- } \
- else { \
- const char *name; \
- if (extsym->st_name) \
- name = (strtab) + extsym->st_name; \
- else \
- name = (f)->sections[extsym->st_shndx]->name; \
- isym = (typeof(isym)) obj_find_symbol((find), name); \
- } \
- }
-
-int obj_gpl_license(struct obj_file *, const char **);
-
-#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 0a1354bec..000000000
--- a/mdk-stage1/insmod-modutils/include/util.h
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef MODUTILS_UTIL_H
-#define MODUTILS_UTIL_H 1
-
-/* 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. */
-
-
-#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 9ca0c57a9..000000000
--- a/mdk-stage1/insmod-modutils/include/version.h
+++ /dev/null
@@ -1 +0,0 @@
-#define MODUTILS_VERSION "2.4.19"
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 b0b7c2a0d..000000000
--- a/mdk-stage1/insmod-modutils/insmod.c
+++ /dev/null
@@ -1,2141 +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.
- Add tainted module support.
- Keith Owens <kaos@ocs.com.au> September 2001.
- */
-
-#include "../insmod.h"
-#include <sys/types.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <limits.h>
-#include <ctype.h>
-#include <errno.h>
-#include <stddef.h>
-#include <getopt.h>
-#include <sys/stat.h>
-#include <sys/file.h>
-#include <sys/fcntl.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 flag_numeric_only = 0;
-
-static int n_ext_modules_used;
-static int m_has_modinfo;
-static int gplonly_seen;
-static int warnings;
-
-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);
-
-/*======================================================================*/
-
-/* Only use the numeric part of the version string? */
-
-static void use_numeric_only(int major, int minor, char *str)
-{
- if (((major << 8) + minor) >= 0x0205 /* kernel 2.5 */
- || flag_numeric_only)
- *str = '\0';
-}
-
-/* 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-1);
- str[STRVERSIONLEN-1] = '\0';
- p = str;
-
- 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;
- use_numeric_only(a, b, q);
-
- 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, int gpl)
-{
- 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;
-
- /* GPL licensed modules can use symbols exported with
- * EXPORT_SYMBOL_GPL, so ignore any GPLONLY_ prefix on the
- * exported names. Non-GPL modules never see any GPLONLY_
- * symbols so they cannot fudge it by adding the prefix on
- * their references.
- */
- if (strncmp((char *)s->name, "GPLONLY_", 8) == 0) {
- gplonly_seen = 1;
- if (gpl)
- ((char *)s->name) += 8;
- else
- continue;
- }
-
- sym = obj_find_symbol(f, (char *) s->name);
-#ifdef ARCH_ppc64
- if (!sym)
- {
- static size_t buflen = 0;
- static char *buf = 0;
- int len;
-
- /* ppc64 is one of those architectures with
- function descriptors. A function is exported
- and accessed across object boundaries via its
- function descriptor. The function code symbol
- happens to be the function name, prefixed with
- '.', and a function call is a branch to the
- code symbol. The linker recognises when a call
- crosses object boundaries, and inserts a stub
- to call via the function descriptor.
- obj_ppc64.c of course does the same thing, so
- here we recognise that an undefined code symbol
- can be satisfied by the corresponding function
- descriptor symbol. */
-
- len = strlen ((char *) s->name) + 2;
- if (buflen < len)
- {
- buflen = len + (len >> 1);
- if (buf)
- free (buf);
- buf = malloc (buflen);
- }
- buf[0] = '.';
- strcpy (buf + 1, (char *) s->name);
- sym = obj_find_symbol(f, buf);
- }
-#endif /* ARCH_ppc64 */
-
- 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, int gpl)
-{
- 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, gpl))
- 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, gpl);
-}
-
-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("%-15s %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),
- SHF_WRITE);
- 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, 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, 0);
- 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;
-#ifdef ARCH_ppc64
- dep->dep |= ppc64_module_base (f);
-#endif
- 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-1);
- str[STRVERSIONLEN-1] = '\0';
- p = str;
-
- 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;
- use_numeric_only(a, b, q);
-
- 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;
- perror("");
- 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,
- (int)(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 || flag_verbose) {
- lprintf("Warning: ignoring %s, no such parameter in this module", *argv);
- ++warnings;
- continue;
- }
- }
- 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, 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, 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.\n"
- " You may find more information in syslog or the output from dmesg");
- }
- }
-
- 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);
- ++warnings;
- 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);
- ++warnings;
- return(1);
- }
-
- switch (*p) {
- case 'c':
- if (!isdigit(p[1])) {
- lprintf("%s parameter %s has no size after 'c'!", error_file, key);
- ++warnings;
- 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);
- ++warnings;
- return(1);
- default:
- lprintf("%s parameter %s has unknown format character '%c'", error_file, key, *p);
- ++warnings;
- 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);
- ++warnings;
- 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;
-}
-
-static void set_tainted(struct obj_file *f, int fd, int kernel_has_tainted,
- int noload, int taint,
- const char *text1, const char *text2)
-{
- char buf[80];
- int oldval;
- static int first = 1;
- if (fd < 0 && !kernel_has_tainted)
- return; /* New modutils on old kernel */
- lprintf("Warning: loading %s will taint the kernel: %s%s",
- f->filename, text1, text2);
- ++warnings;
- if (first) {
- lprintf(" See %s for information about tainted modules", TAINT_URL);
- first = 0;
- }
- if (fd >= 0 && !noload) {
- read(fd, buf, sizeof(buf)-1);
- buf[sizeof(buf)-1] = '\0';
- oldval = strtoul(buf, NULL, 10);
- sprintf(buf, "%d\n", oldval | taint);
- write(fd, buf, strlen(buf));
- }
-}
-
-/* Check if loading this module will taint the kernel. */
-static void check_tainted_module(struct obj_file *f, int noload)
-{
- static const char tainted_file[] = TAINT_FILENAME;
- int fd, kernel_has_tainted;
- const char *ptr;
-
- if ((fd = open(tainted_file, O_RDWR)) < 0) {
- if (errno == ENOENT)
- kernel_has_tainted = 0;
- else if (errno == EACCES)
- kernel_has_tainted = 1;
- else {
- perror(tainted_file);
- kernel_has_tainted = 0;
- }
- }
- else
- kernel_has_tainted = 1;
-
- switch (obj_gpl_license(f, &ptr)) {
- case 0:
- break;
- case 1:
- set_tainted(f, fd, kernel_has_tainted, noload, TAINT_PROPRIETORY_MODULE, "no license", "");
- break;
- case 2:
- /* The module has a non-GPL license so we pretend that the
- * kernel always has a taint flag to get a warning even on
- * kernels without the proc flag.
- */
- set_tainted(f, fd, 1, noload, TAINT_PROPRIETORY_MODULE, "non-GPL license - ", ptr);
- break;
- default:
- set_tainted(f, fd, 1, noload, TAINT_PROPRIETORY_MODULE, "Unexpected return from obj_gpl_license", "");
- break;
- }
-
- if (flag_force_load)
- set_tainted(f, fd, 1, noload, TAINT_FORCED_MODULE, "forced load", "");
- if (fd >= 0)
- close(fd);
-}
-
-/* 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 [-fhkLmnpqrsSvVxXyYN] [-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"
- " -N, --numeric-only Only check the numeric part of the kernel version\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'},
- {"numeric-only", 1, 0, 'N'},
- {"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;
- int gpl;
-
- error_file = "insmod";
-
- /* To handle repeated calls from combined modprobe */
- errors = optind = 0;
-
- /* Process the command line. */
- while ((o = getopt_long(argc, argv, "fhkLmnpqrsSvVxXyYNe: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 'N': /* only check numeric part of kernel version */
- flag_numeric_only = 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");
- ++warnings;
- }
- }
-
- 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; !noload && 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);
- ++warnings;
- } 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. */
- gpl = obj_gpl_license(f, NULL) == 0;
- add_kernel_symbols(f, gpl);
-
-#ifdef ARCH_ppc64
- if (!ppc64_process_syms (f))
- goto out;
-#endif
-
- /* 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
-
- arch_create_got(f); /* DEPMOD */
- if (!obj_check_undefineds(f, quiet)) { /* DEPMOD, obj_clear_undefineds */
- if (!gpl && !quiet) {
- if (gplonly_seen)
- error("\n"
- "Hint: You are trying to load a module without a GPL compatible license\n"
- " and it has unresolved symbols. The module may be trying to access\n"
- " GPLONLY symbols but the problem is more likely to be a coding or\n"
- " user error. Contact the module supplier for assistance, only they\n"
- " can help you.\n");
- else
- error("\n"
- "Hint: You are trying to load a module without a GPL compatible license\n"
- " and it has unresolved symbols. Contact the module supplier for\n"
- " assistance, only they can help you.\n");
- }
- goto out;
- }
- obj_allocate_commons(f); /* DEPMOD */
-
- check_module_parameters(f, &persist_parms);
- check_tainted_module(f, noload);
-
- if (optind < argc) {
- if (!process_module_arguments(f, argc - optind, argv + optind, 1))
- goto out;
- }
- 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);
-#ifdef ARCH_ppc64
- m_addr |= ppc64_module_base (f);
-#endif
- 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;
- }
- if (warnings && !noload)
- lprintf("Module %s loaded, with warnings", m_name);
- 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 d44b2a6c6..000000000
--- a/mdk-stage1/insmod-modutils/obj/Makefile
+++ /dev/null
@@ -1,38 +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
-
-ifeq (x86_64, $(ARCH))
-DEFS += -Wno-error
-endif
-
-OBJS = obj_kallsyms.o obj_common.o obj_load.o obj_reloc.o obj_$(ARCH).o \
- obj_gpl_license.o
-
-libobj.a: $(OBJS)
- ar cru $@ $^
- ranlib $@
-
-%.o: %.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(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 175012716..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_alpha.c
+++ /dev/null
@@ -1,328 +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. */
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/* This relocation got renamed, and the change hasn't propagated yet. */
-#ifndef R_ALPHA_GPREL16
-#define R_ALPHA_GPREL16 R_ALPHA_IMMED_GP_16
-#endif
-
-/*======================================================================*/
-
-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;
- unsigned short *sloc = (unsigned short *)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_GPREL16:
- v -= gp;
- if ((Elf64_Sxword)v > 0x7fff
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x8000)
- ret = obj_reloc_overflow;
- *sloc = v;
- break;
-
- case R_ALPHA_GPRELLOW:
- /* GPRELLOW does not overflow. Errors are seen in the
- corresponding GPRELHIGH. */
- v -= gp;
- *sloc = v;
- break;
-
- case R_ALPHA_GPRELHIGH:
- v -= gp;
- v = ((Elf64_Sxword)v >> 16) + ((v >> 15) & 1);
- if ((Elf64_Sxword)v > 0x7fff
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x8000)
- ret = obj_reloc_overflow;
- *sloc = 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;
- }
-
- *sloc = gotent->offset - 0x8000;
- }
- 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;
- struct alpha_symbol *intsym;
-
- if (ELF64_R_TYPE(rel->r_info) != R_ALPHA_LITERAL)
- continue;
-
- obj_find_relsym(intsym, f, &af->root, rel, symtab, strtab);
-
- 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 GPREL 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,
- SHF_WRITE | SHF_ALPHA_GPREL);
-
- 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 78b53700c..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_arm.c
+++ /dev/null
@@ -1,310 +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. */
-
-#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;
- 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:
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
-
- 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:
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
-
- 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,
- SHF_WRITE);
- assert(sec);
- }
- afile->got = sec;
- }
-
- if (plt_offset)
- afile->plt = obj_create_alloced_section(f, ".plt", 8, plt_offset,
- SHF_WRITE);
-
- 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 a957ff1be..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_common.c
+++ /dev/null
@@ -1,416 +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. */
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <alloca.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;
-}
-
-#if defined (ARCH_alpha)
-#define ARCH_SHF_SHORT SHF_ALPHA_GPREL
-#elif defined (ARCH_ia64)
-#define ARCH_SHF_SHORT SHF_IA_64_SHORT
-#else
-#define ARCH_SHF_SHORT 0
-#endif
-
-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 |= 64;
- if (af & SHF_ALLOC) ac |= 32;
- if (af & SHF_EXECINSTR) ac |= 16;
- if (!(af & SHF_WRITE)) ac |= 8;
- if (a->header.sh_type != SHT_NOBITS) ac |= 4;
- /* Desired order is
- P S AC & 7
- .data 1 0 4
- .got 1 1 3
- .sdata 1 1 1
- .sbss 0 1 1
- .bss 0 0 0 */
- if (strcmp (a->name, ".got") == 0) ac |= 2;
- if (af & ARCH_SHF_SHORT)
- ac = (ac & ~4) | 1;
-
- 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,
- unsigned long 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 = flags | 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 a6f703c5d..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_hppa.c
+++ /dev/null
@@ -1,638 +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
-};
-
-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 $global$), and we can fix up any
- DPREL refs in the module to use that same dp value.
- All PCREL* refs result in a stub with the following format:
-
- ldil L'func_addr,%r1
- be,n R'func_addr(%sr4,%r1)
-
- Note, all PCREL* 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, SHF_WRITE);
-
- /* 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:
- case R_PARISC_PCREL22F:
- need_stub = 1;
- break;
- }
-
- if (need_stub)
- {
- hppa_symbol_t *hsym;
- int local;
-
- obj_find_relsym(hsym, f, f, rel, symtab, strtab);
- 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_SEGREL32:
- v -= f->baseaddr;
- break;
-
- case R_PARISC_DPREL21L:
- case R_PARISC_DPREL14R:
- v -= dp;
- break;
-
- case R_PARISC_PCREL17F:
- case R_PARISC_PCREL22F:
- /* 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:
- case R_PARISC_SEGREL32:
- case R_PARISC_PCREL22F:
- 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:
- case R_PARISC_SEGREL32:
- 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;
-
- case R_PARISC_PCREL22F:
- r_format = 22;
- 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 $global$)
- */
- for (i = 0, s = ksyms; i < nksyms; i++, s++)
- if (!strcmp((char *)s->name, "$global$"))
- break;
- if (i >= nksyms) {
- error("Cannot initialise dp, '$global$' 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 d9f1ada9d..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_hppa64.c
+++ /dev/null
@@ -1,682 +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.
- */
-
-#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 depend on
- * or modify dp:
- *
- * 20 20 00 00 ldil 0,r1
- * R_PARISC_DIR21L <addr of kernels opd entry>
- * 34 21 00 00 ldo 0(r1),r1
- * R_PARISC_DIR14R <addr of kernels opd entry>
- * 50 21 00 20 ldd 10(r1),r1
- * e8 20 d0 02 bve,n (r1)
- */
-
-/* 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[] =
-{
- 0x20, 0x20, 0x00, 0x00,
- 0x34, 0x21, 0x00, 0x00,
- 0x50, 0x21, 0x00, 0x20,
- 0xe8, 0x20, 0xd0, 0x02,
-};
-
-/*======================================================================*/
-
-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:
- case R_PARISC_SEGREL32:
- 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)
- {
- hppa64_symbol_t *isym;
- int local;
-
- obj_find_relsym(isym, f, f, rel, symtab, strtab);
- 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;
- memcpy((Elf64_Addr *)(hfile->stub->contents + se->offset),
- stub, SIZEOF_STUB);
- v = (Elf64_Addr)isym->root.value;
- ret = patch_21l(v, (Elf64_Word *)(hfile->stub->contents + se->offset));
- if (ret == obj_reloc_ok)
- ret = patch_14r(v, (Elf64_Word *)(hfile->stub->contents + se->offset + 4));
- }
- else {
- stub = hppa64_stub_extern;
- 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));
- }
- se->reloc_done = TRUE;
- }
- 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_SEGREL32:
- {
- loc[0] = v - f->baseaddr;
- }
- 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 fcbce8e04..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_i386.c
+++ /dev/null
@@ -1,237 +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. */
-
-#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)
- {
- struct i386_symbol *intsym;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_386_GOTPC:
- case R_386_GOTOFF:
- gotneeded = 1;
- default:
- continue;
-
- case R_386_GOT32:
- break;
- }
-
- obj_find_relsym(intsym, f, &ifile->root, rel, symtab, strtab);
-
- 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,
- SHF_WRITE);
-
- 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 d207a9042..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_ia64.c
+++ /dev/null
@@ -1,1022 +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.
- */
-
-#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 == 2);
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffe000101fff;
- ins |= ((v & 0x8000000000000000) >> 27) | ((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_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)
- {
- ia64_symbol_t *isym;
- int local;
-
- obj_find_relsym(isym, f, f, rel, symtab, strtab);
- 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_create_alloced_section(f, ".got", 8, got_offset,
- SHF_WRITE | SHF_IA_64_SHORT);
- assert(ifile->got != NULL);
-
- ifile->opd = obj_create_alloced_section(f, ".opd", 16, opd_offset,
- SHF_WRITE | SHF_IA_64_SHORT);
- assert(ifile->opd != NULL);
-
- if (plt_text_offset > 0)
- {
- ifile->pltt = obj_create_alloced_section(f, ".plt", 16,
- plt_text_offset,
- SHF_WRITE | SHF_IA_64_SHORT);
- ifile->pltd = obj_create_alloced_section(f, ".IA_64.pltoff", 16,
- plt_data_offset,
- 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 */
- /* Only one segment for modules, see segment_base in arch_archdata */
- v -= f->sections[1]->header.sh_addr;
- 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 1836141e9..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_kallsyms.c
+++ /dev/null
@@ -1,290 +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. */
-
-#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)
-{
- size_t 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)
-{
- size_t 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 62977acb7..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_load.c
+++ /dev/null
@@ -1,343 +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. */
-
-#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("cannot read ELF header from %s", 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, nsyms;
- 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];
- nsyms = symtab->header.sh_size / symtab->header.sh_entsize;
- strtab = f->sections[symtab->header.sh_link]->contents;
-
- /* Save the relocate type in each symbol entry. */
- for (j = 0; j < nrel; ++j, ++rel)
- {
- struct obj_symbol *intsym;
- unsigned long symndx;
- symndx = ELFW(R_SYM)(rel->r_info);
- if (symndx)
- {
- if (symndx >= nsyms)
- {
- error("%s: Bad symbol index: %08lx >= %08lx",
- filename, symndx, nsyms);
- continue;
- }
-
- obj_find_relsym(intsym, f, f, rel, (ElfW(Sym) *)(symtab->contents), strtab);
- 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 abc070bca..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_m68k.c
+++ /dev/null
@@ -1,145 +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. */
-
-#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 2db0791b6..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_mips.c
+++ /dev/null
@@ -1,254 +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. */
-
-#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 *f, struct obj_section *archdata_sec)
-{
- struct archdata {
- unsigned tgt_long __start___dbe_table;
- unsigned tgt_long __stop___dbe_table;
- } *ad;
- struct obj_section *sec;
-
- if (archdata_sec->contents)
- free(archdata_sec->contents);
- archdata_sec->header.sh_size = 0;
- sec = obj_find_section(f, "__dbe_table");
- if (sec) {
- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
- memset(ad, 0, sizeof(*ad));
- archdata_sec->header.sh_size = sizeof(*ad);
- ad->__start___dbe_table = sec->header.sh_addr;
- ad->__stop___dbe_table = sec->header.sh_addr + sec->header.sh_size;
- }
-
- 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 4889454f2..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_ppc.c
+++ /dev/null
@@ -1,266 +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. */
-
-#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;
- const char *strtab;
- 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;
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
-
- 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, SHF_WRITE);
-
- 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 *f, struct obj_section *archdata_sec)
-{
- struct archdata {
- unsigned tgt_long __start___ftr_fixup;
- unsigned tgt_long __stop___ftr_fixup;
- } *ad;
- struct obj_section *sec;
-
- if (archdata_sec->contents)
- free(archdata_sec->contents);
- archdata_sec->header.sh_size = 0;
- sec = obj_find_section(f, "__ftr_fixup");
- if (sec) {
- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
- memset(ad, 0, sizeof(*ad));
- archdata_sec->header.sh_size = sizeof(*ad);
- ad->__start___ftr_fixup = sec->header.sh_addr;
- ad->__stop___ftr_fixup = sec->header.sh_addr + sec->header.sh_size;
- }
-
- 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 3f2c8aab0..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_reloc.c
+++ /dev/null
@@ -1,413 +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. */
-
-#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, 0);
- 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;
- unsigned long nsyms;
-
- 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];
-
- if (!(targsec->header.sh_flags & SHF_ALLOC))
- continue;
-
- rel = (ElfW(RelM) *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *)symsec->contents;
- nsyms = symsec->header.sh_size / symsec->header.sh_entsize;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- ElfW(Addr) value = 0;
- struct obj_symbol *intsym = NULL;
- unsigned long symndx;
- 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. */
-
- if (symndx >= nsyms)
- {
- error("Bad symbol index: %08lx >= %08lx",
- symndx, nsyms);
- continue;
- }
-
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
- value = obj_symbol_final_value(f, intsym);
- }
-
-#if SHT_RELM == SHT_RELA
- 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:
- error("%s of type %ld for %s", errmsg,
- (long)ELFW(R_TYPE)(rel->r_info), intsym->name);
- 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 a76e28479..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_s390.c
+++ /dev/null
@@ -1,332 +0,0 @@
-/* IBM S/390 31-bit specific support for Elf loading and relocation.
- Copyright 2000, 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation.
-
- Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- Derived from obj/obj_i386.c:
- 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. */
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct s390_plt_entry
-{
- long offset;
- int allocated:1;
- int initialized:1;
-};
-
-struct s390_got_entry
-{
- long offset;
- unsigned allocated:1;
- unsigned reloc_done : 1;
-};
-
-struct s390_file
-{
- struct obj_file root;
- struct obj_section *plt;
- struct obj_section *got;
-};
-
-struct s390_symbol
-{
- struct obj_symbol root;
- struct s390_plt_entry pltent;
- struct s390_got_entry gotent;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct s390_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- f->plt = 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));
- 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_Rela *rel,
- Elf32_Addr v)
-{
- struct s390_file *ifile = (struct s390_file *) f;
- struct s390_symbol *isym = (struct s390_symbol *) sym;
- struct s390_plt_entry *pe;
-
- 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;
- Elf32_Addr plt = ifile->plt ? ifile->plt->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:
- *(unsigned int *) loc += v;
- break;
- case R_390_16:
- *(unsigned short *) loc += v;
- break;
- case R_390_8:
- *(unsigned char *) loc += v;
- break;
-
- case R_390_PC32:
- *(unsigned int *) loc += v - dot;
- break;
- case R_390_PC16DBL:
- *(unsigned short *) loc += (v - dot) >> 1;
- break;
- case R_390_PC16:
- *(unsigned short *) loc += v - dot;
- break;
-
- case R_390_PLT32:
- case R_390_PLT16DBL:
- /* find the plt entry and initialize it. */
- assert(isym != NULL);
- pe = (struct s390_plt_entry *) &isym->pltent;
- assert(pe->allocated);
- if (pe->initialized == 0) {
- unsigned int *ip = (unsigned int *)(ifile->plt->contents + pe->offset);
- ip[0] = 0x0d105810; /* basr 1,0; lg 1,10(1); br 1 */
- ip[1] = 0x100607f1;
- if (ELF32_R_TYPE(rel->r_info) == R_390_PLT16DBL)
- ip[2] = v - 2;
- else
- ip[2] = v;
- pe->initialized = 1;
- }
-
- /* Insert relative distance to target. */
- v = plt + pe->offset - dot;
- if (ELF32_R_TYPE(rel->r_info) == R_390_PLT32)
- *(unsigned int *) loc = (unsigned int) v;
- else if (ELF32_R_TYPE(rel->r_info) == R_390_PLT16DBL)
- *(unsigned short *) loc = (unsigned short) ((v + 2) >> 1);
- 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);
- *(unsigned long *) loc += got - dot;
- break;
-
- case R_390_GOT12:
- case R_390_GOT16:
- case R_390_GOT32:
- assert(isym != NULL);
- assert(got != 0);
- if (!isym->gotent.reloc_done)
- {
- isym->gotent.reloc_done = 1;
- *(Elf32_Addr *)(ifile->got->contents + isym->gotent.offset) = v;
- }
- if (ELF32_R_TYPE(rel->r_info) == R_390_GOT12)
- *(unsigned short *) loc |= (*(unsigned short *) loc + isym->gotent.offset) & 0xfff;
- else if (ELF32_R_TYPE(rel->r_info) == R_390_GOT16)
- *(unsigned short *) loc += isym->gotent.offset;
- else if (ELF32_R_TYPE(rel->r_info) == R_390_GOT32)
- *(unsigned int *) 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, got_offset = 0, plt_offset = 0, gotneeded = 0;
-
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf32_Rela *rel, *relend;
- Elf32_Sym *symtab;
- const char *strtab;
-
- relsec = f->sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = f->sections[relsec->header.sh_link];
- strsec = f->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 = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- struct s390_symbol *intsym;
- struct s390_plt_entry *pe;
- struct s390_got_entry *ge;
-
- switch (ELF32_R_TYPE(rel->r_info)) {
- /* These four relocations refer to a plt entry. */
- case R_390_PLT16DBL:
- case R_390_PLT32:
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
- assert(intsym);
- pe = &intsym->pltent;
- if (!pe->allocated) {
- pe->allocated = 1;
- pe->offset = plt_offset;
- plt_offset += 12;
- }
- break;
- /* The next three don't need got entries but the address
- of the got itself. */
- case R_390_GOTPC:
- case R_390_GOTOFF:
- gotneeded = 1;
- break;
-
- case R_390_GOT12:
- case R_390_GOT16:
- case R_390_GOT32:
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
- assert(intsym);
- ge = (struct s390_got_entry *) &intsym->gotent;
- if (!ge->allocated) {
- ge->allocated = 1;
- ge->offset = got_offset;
- got_offset += sizeof(void*);
- }
- break;
-
- default:
- break;
- }
- }
- }
-
- if (got_offset > 0 || gotneeded) {
- struct obj_section *gotsec;
- struct obj_symbol *gotsym;
-
- gotsec = obj_find_section(f, ".got");
- if (gotsec == NULL)
- gotsec = obj_create_alloced_section(f, ".got", 4, got_offset, SHF_WRITE);
- else
- obj_extend_section(gotsec, got_offset);
- gotsym = obj_add_symbol(f, "_GLOBAL_OFFSET_TABLE_", -1,
- ELFW(ST_INFO) (STB_LOCAL, STT_OBJECT),
- gotsec->idx, 0, 0);
- gotsym->secidx = gotsec->idx; /* mark the symbol as defined */
- ifile->got = gotsec;
- }
-
- if (plt_offset > 0)
- ifile->plt = obj_create_alloced_section(f, ".plt", 4, plt_offset,
- SHF_WRITE);
-
- 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_sparc.c b/mdk-stage1/insmod-modutils/obj/obj_sparc.c
deleted file mode 100644
index d1eb3da44..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_sparc.c
+++ /dev/null
@@ -1,224 +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. */
-
-#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 f025667f8..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_sparc64.c
+++ /dev/null
@@ -1,350 +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. */
-
-#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 dd8107435..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
-
-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
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -o $@ -D_STANDALONE_ -c logger.c
-
-%.o: %.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(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 7d0c08938..000000000
--- a/mdk-stage1/insmod-modutils/util/alias.h
+++ /dev/null
@@ -1,310 +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-0000 off",
- "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-46 pcd",
- "block-major-47 pf",
- "block-major-56 ide-probe-mod",
- "block-major-57 ide-probe-mod",
- "block-major-58 lvm-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> */
- "block-major-97 pg",
-
-#if !defined(__s390__) && !defined(__s390x__)
- "char-major-4 serial",
-#else
- "char-major-4 off",
-#endif
- "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 rtc", /* /dev/rtc Real time clock */
- "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-13 input",
- "char-major-13-32 mousedev",
- "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-96 pt",
- "char-major-99 ppdev",
- "char-major-107 3dfx", /* from Tigran Aivazian <tigran@sco.COM> */
- "char-major-108 ppp_generic",
- "char-major-109 lvm-mod",
- "char-major-161 ircomm-tty",
- "char-major-171 raw1394",
- "char-major-195 NVdriver",
- "char-major-200 vxspec",
-
- "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",
- "md-personality-7 multipath",
-
- "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 */
- "net-pf-10 off", /* 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",
-
- /* To be able to attach some dongles */
- "irlan0 irlan",
- "irda-dongle-0 tekram",
- "irda-dongle-1 esi",
- "irda-dongle-2 actisys",
- "irda-dongle-3 actisys",
- "irda-dongle-4 girbil",
- "irda-dongle-5 litelink",
- "irda-dongle-6 airport",
- "irda-dongle-7 old_belkin",
-
- "plip0 plip",
- "plip1 plip",
- "tunl0 ipip",
- "cipcb0 cipcb",
- "cipcb1 cipcb",
- "cipcb2 cipcb",
- "cipcb3 cipcb",
-#if defined(__s390__) || defined(__s390x__)
- "ctc0 ctc",
- "ctc1 ctc",
- "ctc2 ctc",
- "iucv0 netiucv",
- "iucv1 netiucv",
-#endif
- "ppp0 ppp",
- "ppp1 ppp",
- "slip0 slip",
- "slip1 slip",
- "tty-ldisc-1 slip",
- "tty-ldisc-3 ppp_async",
- "tty-ldisc-11 irtty", /* IrDA over a normal serial port, or a serial port compatible IrDA port */
- "tty-ldisc-14 ppp_synctty",
- "ppp-compress-18 ppp_mppe",
- "ppp-compress-21 bsd_comp",
- "ppp-compress-24 ppp_deflate",
- "ppp-compress-26 ppp_deflate",
- "ppp ppp_async", /* for 2.4 */
-
-#ifndef __sparc__
- "parport_lowlevel parport_pc",
-#else
- "parport_lowlevel parport_ax",
-#endif
-
- "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[] =
-{
- "hid keybdev mousedev",
- "usbmouse hid",
- "wacom evdev",
- 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 "post-install"s,
- * used to execute commands after loading modules.
- * /etc/modules.conf can add entries but not remove them.
- */
-char *post_install[] =
-{
- "binfmt_misc /bin/mount -t binfmt_misc none /proc/sys/fs/binfmt_misc > /dev/null 2>&1 || :",
- NULL
-};
-
-/*
- * This is the list of pre-defined "pre-remove"s,
- * used to execute commands before unloading modules.
- * /etc/modules.conf can add entries but not remove them.
- */
-char *pre_remove[] =
-{
- "binfmt_misc /bin/umount /proc/sys/fs/binfmt_misc > /dev/null 2>&1 || :",
- NULL
-};
-
-/*
- * 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[] =
-{
- "modules.dep",
- "modules.description",
- "modules.generic_string",
- "modules.pcimap",
- "modules.isapnpmap",
- "modules.usbmap",
- "modules.parportmap",
- "modules.ieee1394map",
- "modules.pnpbiosmap",
- "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 90886d16b..000000000
--- a/mdk-stage1/insmod-modutils/util/arch64.c
+++ /dev/null
@@ -1,43 +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. */
-
-#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 uts;
- char *uname_m;
- if (uname(&uts))
- return(0);
- if ((uname_m = getenv("UNAME_MACHINE"))) {
- int l = strlen(uname_m);
- if (l >= sizeof(uts.machine))
- l = sizeof(uts.machine)-1;
- memcpy(uts.machine, uname_m, l);
- uts.machine[l] = '\0';
- }
- return(strstr(uts.machine, "64") != NULL);
-}
diff --git a/mdk-stage1/insmod-modutils/util/config.c b/mdk-stage1/insmod-modutils/util/config.c
deleted file mode 100644
index 7568d955f..000000000
--- a/mdk-stage1/insmod-modutils/util/config.c
+++ /dev/null
@@ -1,1614 +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},
- {"ieee1394map", NULL, 0},
- {"pnpbiosmap", 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[PATH_MAX];
- 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);
-
- /*
- * Build predef postinstalls
- */
- if (all && post_install[0])
- for (i=0 ; post_install[i] ; i++ )
- decode_exec(xstrdup(post_install[i]), EXEC_POST_INSTALL);
-
- /*
- * Build predef preremoves
- */
- if (all && pre_remove[0])
- for (i=0 ; pre_remove[i] ; i++ )
- decode_exec(xstrdup(pre_remove[i]), EXEC_PRE_REMOVE);
-
- /* 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(xstrdup(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 (!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 */
-
- if (depth == 0) {
- /* 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;
- }
-
- if (access(MODUTILS_MACROS, R_OK) == 0){
- r = do_read(all, force_ver, base_dir, MODUTILS_MACROS, 0);
- r = do_read(all, force_ver, "", conf_file, 1);
- } else {
- 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 4774a0beb..000000000
--- a/mdk-stage1/insmod-modutils/util/logger.c
+++ /dev/null
@@ -1,160 +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
- */
-
-#include <limits.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <syslog.h>
-
-#include "util.h"
-
-/*======================================================================*/
-
-int log;
-
-int errors;
-const char *error_file;
-
-#define STOREMSG
-#ifdef STOREMSG
-struct cbuf {
- struct cbuf *next;
- int type;
- char *msg;
-} *head, *tail;
-
-static void dumpmsg(void)
-{
- for (;head; head = head->next)
- syslog(head->type, "%s", head->msg);
-}
-#endif /* STOREMSG */
-
-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;
-
-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;
-}
-
-void error(const char *fmt,...)
-{
- va_list args;
-
- if (silent)
- ;
- else if (log) {
- char buf[2*PATH_MAX];
- 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[2*PATH_MAX];
- 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 adf54d28e..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
- */
-
-#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);
- fflush(out);
- 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");
- fflush(log);
- 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 d19a5ba4b..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_cm.c
+++ /dev/null
@@ -1,86 +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. */
-
-#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 611234efa..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_dm.c
+++ /dev/null
@@ -1,35 +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. */
-
-#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 b639fc990..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_gks.c
+++ /dev/null
@@ -1,35 +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. */
-
-#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 c267ddf10..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_nim.c
+++ /dev/null
@@ -1,51 +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. */
-
-#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 b915e36a5..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_oim.c
+++ /dev/null
@@ -1,38 +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. */
-
-#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 ba478832b..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_qm.c
+++ /dev/null
@@ -1,54 +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. */
-
-#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 da0be2953..000000000
--- a/mdk-stage1/insmod-modutils/util/xmalloc.c
+++ /dev/null
@@ -1,37 +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. */
-
-#include <stdlib.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-void *
-xmalloc(size_t size)
-{
- void *ptr = malloc(size ? size : 1);
- 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 adc0558f1..000000000
--- a/mdk-stage1/insmod-modutils/util/xrealloc.c
+++ /dev/null
@@ -1,37 +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. */
-
-#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 ed4a2bf20..000000000
--- a/mdk-stage1/insmod-modutils/util/xstrcat.c
+++ /dev/null
@@ -1,38 +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. */
-
-#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 46889a094..000000000
--- a/mdk-stage1/insmod-modutils/util/xstrdup.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. */
-
-#include <stdio.h>
-#include <stdlib.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 8ffa490a9..000000000
--- a/mdk-stage1/insmod-modutils/util/xsystem.c
+++ /dev/null
@@ -1,49 +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. */
-
-#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 e41653305..000000000
--- a/mdk-stage1/log.c
+++ /dev/null
@@ -1,94 +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 * logtty = NULL;
-static FILE * logfile = NULL;
-
-
-void vlog_message(const char * s, va_list args)
-{
- va_list args_copy;
- va_copy(args_copy, args);
-
- if (logfile) {
- fprintf(logfile, "* ");
- vfprintf(logfile, s, args);
- fprintf(logfile, "\n");
- fflush(logfile);
- }
- if (logtty) {
- fprintf(logtty, "* ");
- vfprintf(logtty, s, args_copy);
- fprintf(logtty, "\n");
- fflush(logtty);
- }
-
- va_end(args_copy);
-}
-
-
-void log_message(const char * s, ...)
-{
- va_list args;
- va_start(args, s);
- vlog_message(s, args);
- va_end(args);
-
- return;
-}
-
-void log_perror(const char *msg)
-{
- log_message("%s: %s", msg, strerror(errno));
-}
-
-
-void open_log(void)
-{
- if (!IS_TESTING) {
- logtty = fopen("/dev/tty3", "w");
- logfile = fopen("/tmp/stage1.log", "w");
- }
- else
- logfile = fopen("debug.log", "w");
-}
-
-void close_log(void)
-{
- if (logfile) {
- log_message("stage1: disconnecting life support systems");
- fclose(logfile);
- if (logtty)
- fclose(logtty);
- }
-}
diff --git a/mdk-stage1/log.h b/mdk-stage1/log.h
deleted file mode 100644
index ca4f54ebc..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(const 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 25f72c345..000000000
--- a/mdk-stage1/lomount.c
+++ /dev/null
@@ -1,203 +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, int gz)
-{
- 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;
- if (gz) {
- my_insmod("gzloop", ANY_DRIVER_TYPE, NULL);
- loopinfo.lo_encrypt_type = 13; /* LO_CRYPT_GZ */
- }
-
-#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* find_free_loop(int chloop)
-{
- char loopdev[] = "/dev/loop0";
- char chloopdev[] = "/dev/chloop0";
- char * ldev = chloop ? chloopdev : loopdev;
- struct loop_info loopinfo;
- int i;
- for (i=0; i<8; i++) {
- int fd;
- ldev[strlen(ldev)-1] = '0' + i;
- ensure_dev_exists(ldev);
- fd = open(ldev, O_RDONLY);
- if (!ioctl(fd, LOOP_GET_STATUS, &loopinfo)) {
- close(fd);
- continue;
- }
- if (errno == ENXIO) {
- log_message("%s is available", ldev);
- close(fd);
- return strdup(ldev);
- } else {
- log_perror("LOOP_GET_STATUS(unexpected error)");
- close(fd);
- continue;
- }
- }
- return NULL;
-}
-
-void
-del_loop(char * loopdev)
-{
- int fd;
-
- if (!loopdev)
- return;
-
- if ((fd = open (loopdev, O_RDONLY)) < 0)
- return;
-
- if (ioctl (fd, LOOP_CLR_FD, 0) < 0)
- return;
-
- close (fd);
-}
-
-int
-lomount(char *loopfile, char *where, char **dev, int gz)
-{
-
- long int flag;
- char * loopdev;
- int chloop = 0;
-
- flag = MS_MGC_VAL;
- flag |= MS_RDONLY;
-
-#ifdef MANDRAKE_MOVE
- my_insmod("change_loop", ANY_DRIVER_TYPE, NULL);
- chloop = 1;
-#else
- my_insmod("loop", ANY_DRIVER_TYPE, NULL);
-#endif
-
- if (!(loopdev = find_free_loop(chloop))) {
- log_message("could not find a free loop");
- return 1;
- }
- if (dev)
- *dev = loopdev;
-
- if (set_loop(loopdev, loopfile, gz)) {
- log_message("set_loop failed on %s (%s)", loopdev, strerror(errno));
- return 1;
- }
-
- if (my_mount(loopdev, where, "iso9660", 0)) {
- del_loop(loopdev);
- return 1;
- }
-
- log_message("lomount succeeded for %s on %s", loopfile, where);
- return 0;
-}
-
-
diff --git a/mdk-stage1/lomount.h b/mdk-stage1/lomount.h
deleted file mode 100644
index 633c5a82c..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, char **loopdev, int gz);
-void del_loop(char *loopdev);
-
-#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 93c706119..000000000
--- a/mdk-stage1/mar/Makefile
+++ /dev/null
@@ -1,52 +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
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o libmar.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 $@
-
-dietlibc:
- make -C ../dietlibc
-
-mar-extract-only.o: dietlibc mar-extract-only.c mar-extract-only.h mar.h
- $(DIET) gcc $(CFLAGS) $(INCLUDES) -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 a5b6ccd2f..000000000
--- a/mdk-stage1/mar/mar-extract-only.c
+++ /dev/null
@@ -1,208 +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;
- size_t 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 f55ba6fe6..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) != (size_t)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 d80810fd1..000000000
--- a/mdk-stage1/minilibc.c
+++ /dev/null
@@ -1,317 +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) __attribute__ ((unused)))
-{
- return 0;
-}
-
-void exit()
-{
- _do_exit(0);
- for (;;); /* Shut up gcc */
-}
-
-
-char ** _environ = NULL;
-int errno = 0;
-
-void _init (int __status __attribute__ ((unused)))
-{
-}
-
-void __libc_init_first (int __status __attribute__ ((unused)))
-{
-}
-
-void __libc_csu_fini(int __status __attribute__ ((unused)))
-{
-}
-
-void __libc_csu_init(int __status __attribute__ ((unused)))
-{
-}
-
-
-int __libc_start_main (int (*main) (int, char **, char **), int argc,
- char **argv, void (*init) (void) __attribute__ ((unused)), void (*fini) (void) __attribute__ ((unused)),
- void (*rtld_fini) (void) __attribute__ ((unused)), void *stack_end __attribute__ ((unused)))
-{
- exit ((*main) (argc, argv, NULL));
- /* never get here */
- return 0;
-}
-
-void _fini (int __status __attribute__ ((unused)))
-{
-}
-
-#ifdef __x86_64__
-/* x86-64 implementation of signal() derived from glibc sources */
-
-static inline int sigemptyset(sigset_t *set) {
- *set = 0;
- return 0;
-}
-
-static inline int sigaddset(sigset_t *set, int sig) {
- __asm__("btsq %1,%0" : "=m" (*set) : "Ir" (sig - 1L) : "cc");
- return 0;
-}
-
-#define __NR___rt_sigaction __NR_rt_sigaction
-static inline _syscall3(int,__rt_sigaction,int,signum,const void *,act,void *,oldact)
-#define __NR___rt_sigreturn __NR_rt_sigreturn
-static _syscall1(int,__rt_sigreturn,unsigned long,unused)
-
-static void restore_rt(void) {
- __rt_sigreturn(0);
-}
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- struct sigaction *newact = (struct sigaction *)act;
- if (act) {
- newact = __builtin_alloca(sizeof(*newact));
- newact->sa_handler = act->sa_handler;
- newact->sa_flags = act->sa_flags | SA_RESTORER;
- newact->sa_restorer = &restore_rt;
- newact->sa_mask = act->sa_mask;
- }
- return __rt_sigaction(signum, newact, oldact);
-}
-
-__sighandler_t signal(int signum, __sighandler_t action) {
- struct sigaction sa,oa;
- sa.sa_handler=action;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask,signum);
- sa.sa_flags=SA_RESTART;
- if (sigaction(signum,&sa,&oa))
- return SIG_ERR;
- return oa.sa_handler;
-}
-
-#endif
-
-#ifdef __NR_socketcall
-
-int socket(int a, int b, int c)
-{
- unsigned long args[] = { a, b, c };
-
- return socketcall(SYS_SOCKET, args);
-}
-
-int bind(int a, void * b, int c)
-{
- unsigned long args[] = { a, (long) b, c };
-
- return socketcall(SYS_BIND, args);
-}
-
-int listen(int a, int b)
-{
- unsigned long args[] = { a, b, 0 };
-
- return socketcall(SYS_LISTEN, args);
-}
-
-int accept(int a, void * addr, void * addr2)
-{
- unsigned long args[] = { a, (long) addr, (long) addr2 };
-
- return socketcall(SYS_ACCEPT, args);
-}
-
-#else
-
-_syscall3(int,socket,int,domain,int,type,int,protocol)
-_syscall3(int,bind,int,sockfd,void *,my_addr,int,addrlen)
-_syscall2(int,listen,int,s,int,backlog)
-_syscall3(int,accept,int,s,void *,addr,void *,addrlen)
-
-#endif
-
-
-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 cb38d0bd2..000000000
--- a/mdk-stage1/minilibc.h
+++ /dev/null
@@ -1,159 +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/posix_types.h>
-#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/termios.h>
-#include <asm/ioctls.h>
-#include <asm/unistd.h>
-#include <asm/fcntl.h>
-#include <asm/signal.h>
-
-#ifndef __NR__newselect
-#define __NR__newselect __NR_select
-#endif
-
-#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,mkdir,const char *,pathname,mode_t,mode)
-#ifdef __x86_64__
-extern __sighandler_t signal(int signum, __sighandler_t handler);
-#else
-static inline _syscall2(int,signal,int,num,void *,len)
-#endif
-#ifdef __NR_umount
-static inline _syscall1(int,umount,const char *,dir)
-#else
-static inline _syscall2(int,umount2,const char *,dir,int,flags)
-static inline int umount(const char * dir) { return umount2(dir, 0); }
-#endif
-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)
-#ifdef __NR_socketcall
-static inline _syscall2(int,socketcall,int,code,unsigned long *, args)
-#endif
-#define __NR__do_exit __NR_exit
-static inline _syscall1(int,_do_exit,int,exitcode)
-#endif
-
-#define select _newselect
-
-extern int errno;
-
-int socket(int a, int b, int c);
-int bind(int a, void * b, int c);
-int listen(int a, int b);
-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 6620c771d..000000000
--- a/mdk-stage1/modules.c
+++ /dev/null
@@ -1,507 +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 <sys/mount.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include "insmod.h"
-#include "stage1.h"
-#include "log.h"
-#include "mar/mar-extract-only.h"
-#include "frontend.h"
-#include "mount.h"
-#include "modules_descr.h"
-
-#include "modules.h"
-
-static struct module_deps_elem * modules_deps = NULL;
-
-static char * archive_name = "/modules/modules.mar";
-int disable_modules = 0;
-
-extern long init_module(void *, unsigned long, const char *);
-
-
-static const char *moderror(int err)
-{
- switch (err) {
- case ENOEXEC:
- return "Invalid module format";
- case ENOENT:
- return "Unknown symbol in module";
- case ESRCH:
- return "Module has wrong symbol version";
- case EINVAL:
- return "Invalid parameters";
- default:
- return strerror(err);
- }
-}
-
-static void *grab_file(const char *filename, unsigned long *size)
-{
- unsigned int max = 16384;
- int ret, fd;
- void *buffer = malloc(max);
-
- fd = open(filename, O_RDONLY, 0);
- if (fd < 0)
- return NULL;
-
- *size = 0;
- while ((ret = read(fd, buffer + *size, max - *size)) > 0) {
- *size += ret;
- if (*size == max)
- buffer = realloc(buffer, max *= 2);
- }
- if (ret < 0) {
- free(buffer);
- buffer = NULL;
- }
- close(fd);
- return buffer;
-}
-
-/* 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));
- if (kernel_version() <= 4)
- strcat(module_name, ".o");
- else
- strcat(module_name, ".ko");
- i = mar_extract_file(archive_name, module_name, "/tmp/");
- if (i == 1) {
- log_message("file-not-found-in-archive %s (maybe you can try another boot floppy such as 'hdcdrom_usb.img' or 'network_gigabit_usb.img')", module_name);
- return INSMOD_FAILED_FILE_NOT_FOUND;
- }
- if (i != 0)
- return INSMOD_FAILED;
-
- strcat(final_name, mod_name);
- if (kernel_version() <= 4) {
- strcat(final_name, ".o");
- rc = insmod_call(final_name, options);
- } else {
- void *file;
- unsigned long len;
-
- strcat(final_name, ".ko");
- file = grab_file(final_name, &len);
-
- if (!file) {
- log_perror("\terror reading %s");
- return INSMOD_FAILED;
- }
-
- rc = init_module(file, len, options ? options : "");
- if (rc)
- log_message("\terror %s", moderror(errno));
- }
-
- 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) != (ssize_t)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[5000] = "";
- 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) != (ssize_t) (strlen(data) + 1))
- log_perror(str);
-
- close(fd);
-}
-
-
-int module_already_present(const char * name)
-{
- FILE * f;
- int answ = 0;
- if ((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);
-}
-
-
-#ifndef DISABLE_NETWORK
-enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options)
-#else
-enum insmod_return my_insmod(const char * mod_name, enum driver_type type __attribute__ ((unused)), char * options)
-#endif
-{
- int i;
-#ifndef DISABLE_NETWORK
- char ** net_devices = NULL; /* fucking compiler */
-#endif
-
- if (module_already_present(mod_name))
- return INSMOD_OK;
-
- 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_NETWORK
- if (type == NETWORK_DEVICES) {
- char ** new_net_devices = get_net_devices();
- while (new_net_devices && *new_net_devices) {
- char alias[500];
- 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) {
- if (kernel_version() <= 4)
- choice[strlen(choice)-2] = '\0'; /* remove trailing .o */
- else
- choice[strlen(choice)-3] = '\0'; /* remove trailing .ko */
- return insmod_with_options(choice, type);
- } else
- return results;
-}
-
-
-void update_modules(void)
-{
- FILE * f;
- char ** disk_contents;
- char final_name[500];
- char floppy_mount_location[] = "/tmp/floppy";
-
- stg1_info_message("Please insert the Update Modules floppy.");;
-
- my_insmod("floppy", ANY_DRIVER_TYPE, NULL);
-
- if (my_mount("/dev/fd0", floppy_mount_location, "ext2", 0) == -1) {
- enum return_type results = ask_yes_no("I can't find a Linux ext2 floppy in first floppy drive.\n"
- "Retry?");
- if (results == RETURN_OK)
- return update_modules();
- return;
- }
-
- disk_contents = list_directory(floppy_mount_location);
-
- if (!(f = fopen("/tmp/floppy/to_load", "rb"))) {
- stg1_error_message("I can't find \"to_load\" file.");
- umount(floppy_mount_location);
- return update_modules();
- }
- while (1) {
- char module[500];
- char * options;
- char ** entry = disk_contents;
-
- if (!fgets(module, sizeof(module), f)) break;
- if (module[0] == '#' || strlen(module) == 0)
- continue;
-
- while (module[strlen(module)-1] == '\n')
- module[strlen(module)-1] = '\0';
- options = strchr(module, ' ');
- if (options) {
- options[0] = '\0';
- options++;
- }
-
- log_message("updatemodules: (%s) (%s)", module, options);
- while (entry && *entry) {
- if (!strncmp(*entry, module, strlen(module)) && (*entry)[strlen(module)] == '.') {
- sprintf(final_name, "%s/%s", floppy_mount_location, *entry);
- if (insmod_call(final_name, options)) {
- log_message("\t%s (floppy): failed", *entry);
- stg1_error_message("Insmod %s (floppy) failed.", *entry);
- }
- break;
- }
- entry++;
- }
- if (!entry || !*entry) {
- enum insmod_return ret = my_insmod(module, ANY_DRIVER_TYPE, options);
- if (ret != INSMOD_OK) {
- log_message("\t%s (marfile): failed", module);
- stg1_error_message("Insmod %s (marfile) failed.", module);
- }
- }
- }
- fclose(f);
- umount(floppy_mount_location);
-}
diff --git a/mdk-stage1/modules.h b/mdk-stage1/modules.h
deleted file mode 100644
index 5e14764d7..000000000
--- a/mdk-stage1/modules.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.
- *
- */
-
-#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);
-void update_modules(void);
-int module_already_present(const char * name);
-
-struct module_deps_elem {
- char * name;
- char ** deps;
-};
-
-extern int disable_modules;
-
-#endif
diff --git a/mdk-stage1/modules_descr.h b/mdk-stage1/modules_descr.h
deleted file mode 100644
index d38f437d8..000000000
--- a/mdk-stage1/modules_descr.h
+++ /dev/null
@@ -1,66 +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[] = {
-#ifndef DISABLE_NETWORK
- /* 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" },
- { "bmac", "Macintosh integrated ethernet (G3)" },
- { "gmac", "Macintosh integrated ethernet (G4/iBook)" },
- { "mace", "Macintosh integrated ethernet (PowerMac)" },
-#endif
-
-#ifndef DISABLE_MEDIAS
- /* 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" },
- { "mesh", "Macintosh integrated SCSI (NewWorld or internal SCSI)" },
- { "mac53c94", "Macintosh integrated SCSI (OldWorld or external SCSI)" },
-#endif
-
-#ifdef ENABLE_USB
- /* description of usb drivers that have not very explicit names */
- { "usbnet", "Netchip or Prolific USB-USB Bridge" },
- { "pegasus", "ADMtek AN986 (USB Ethernet chipset)" },
- { "kaweth", "KL5KUSB101 (USB Ethernet chipset)" },
- { "catc", "CATC EL1210A NetMate USB Ethernet" },
-#endif
-};
-
-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 64ae759f9..000000000
--- a/mdk-stage1/mount.c
+++ /dev/null
@@ -1,225 +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 <sys/stat.h>
-#include <sys/types.h>
-#include "log.h"
-#include "modules.h"
-
-#include "mount.h"
-
-
-
-/* WARNING: this won't work if the argument is not /dev/ based */
-int ensure_dev_exists(const char * dev)
-{
- int major, minor;
- int type = S_IFBLK; /* my default type is block. don't forget to change for chars */
- const char * name;
- struct stat buf;
- char * ptr;
-
- 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 (ptr_begins_static_str(name, "sd")) {
- /* 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 (ptr_begins_static_str(name, "hd")) {
- /* 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 if (name[2] == 'i')
- major = 56, minor = 0;
- else if (name[2] == 'j')
- major = 56, minor = 64;
- else if (name[2] == 'k')
- major = 57, minor = 0;
- else if (name[2] == 'l')
- major = 57, minor = 64;
- else if (name[2] == 'm')
- major = 88, minor = 0;
- else if (name[2] == 'n')
- major = 88, minor = 64;
- else if (name[2] == 'o')
- major = 89, minor = 0;
- else if (name[2] == 'p')
- major = 89, minor = 64;
- else if (name[2] == 'q')
- major = 90, minor = 0;
- else if (name[2] == 'r')
- major = 90, minor = 64;
- else if (name[2] == 's')
- major = 91, minor = 0;
- else if (name[2] == 't')
- major = 91, 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 (ptr_begins_static_str(name , "sr")) {
- /* SCSI cd's */
- major = 11;
- minor = name[2] - '0';
- } else if (ptr_begins_static_str(name, "ida/") ||
- ptr_begins_static_str(name, "cciss/")) {
- /* Compaq Smart Array "ida/c0d0{p1}" */
- ptr = strchr(name, '/');
- mkdir("/dev/ida", 0755);
- mkdir("/dev/cciss", 0755);
- major = ptr_begins_static_str(name, "ida/") ? 72 : 104 + charstar_to_int(ptr+2);
- ptr = strchr(ptr, 'd');
- minor = 16 * charstar_to_int(ptr+1);
- ptr = strchr(ptr, 'p');
- minor += charstar_to_int(ptr+1);
- } else if (ptr_begins_static_str(name, "rd/")) {
- /* DAC960 "rd/cXdXXpX" */
- mkdir("/dev/rd", 0755);
- major = 48 + charstar_to_int(name+4);
- ptr = strchr(name+4, 'd');
- minor = 8 * charstar_to_int(ptr+1);
- ptr = strchr(ptr, 'p');
- minor += charstar_to_int(ptr+1);
- } else if (ptr_begins_static_str(name, "loop")) {
- major = 7;
- minor = name[4] - '0';
- } else if (ptr_begins_static_str(name, "chloop")) {
- major = 100;
- minor = name[6] - '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;
-}
-
-
-/* mounts, creating the device if needed+possible */
-int my_mount(char *dev, char *location, char *fs, int force_rw)
-{
- unsigned long flags = MS_MGC_VAL | (force_rw ? 0 : MS_RDONLY);
- 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;
- }
- }
-
- if (!strcmp(fs, "supermount")) {
- my_insmod("supermount", ANY_DRIVER_TYPE, NULL);
- my_insmod("isofs", ANY_DRIVER_TYPE, NULL);
- opts = alloca(500);
- sprintf(opts, "dev=%s,fs=iso9660,tray_lock=always", dev);
- dev = "none";
- }
-
-#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);
-
-#endif
- if (!strcmp(fs, "iso9660"))
- my_insmod("isofs", ANY_DRIVER_TYPE, NULL);
-
-#ifndef DISABLE_NETWORK
- if (!strcmp(fs, "nfs")) {
- my_insmod("nfs", ANY_DRIVER_TYPE, NULL);
- log_message("preparing nfsmount for %s", dev);
- rc = nfsmount_prepare(dev, &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 3c24f8bbd..000000000
--- a/mdk-stage1/mount.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.
- *
- */
-
-/*
- * 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, int force_rw);
-int ensure_dev_exists(const char * dev);
-
-#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 be451dbbf..000000000
--- a/mdk-stage1/network.c
+++ /dev/null
@@ -1,881 +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_DHCP && !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 && !intf->boot_proto == BOOTPROTO_DHCP)
- fprintf(f, "HOSTNAME=%s\n", hostname);
- if (domain)
- fprintf(f, "DOMAINNAME=%s\n", domain);
- if (dhcp_hostname && !streq(dhcp_hostname, ""))
- fprintf(f, "DHCP_HOSTNAME=%s\n", dhcp_hostname);
-
- 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 if (intf->boot_proto == BOOTPROTO_STATIC) {
- 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));
- } else if (intf->boot_proto == BOOTPROTO_ADSL_PPPOE) {
- fprintf(f, "BOOTPROTO=adsl_pppoe\n");
- fprintf(f, "USER=%s\n", intf->user);
- fprintf(f, "PASS=%s\n", intf->pass);
- }
-
- 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 blank 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")) {
- 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) {
- if (intf->boot_proto == BOOTPROTO_STATIC)
- hostname = strdup(dnshostname);
- domain = strchr(strdup(dnshostname), '.') + 1;
- log_message("got hostname and domain from dns entry, %s and %s", dnshostname, 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.\n"
- "Hint: if you're using a Laptop, note that PCMCIA Network adapters are now supported either with `pcmcia.img' or `network.img', please try both these bootdisks.");
- 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 || streq(answers[0], "")) {
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
- 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", 0) == -1) {
- stg1_error_message("I can't mount the directory from the NFS server.");
- results = RETURN_BACK;
- continue;
- }
-
-#ifdef MANDRAKE_MOVE
- if (access(IMAGE_LOCATION "/live_tree/etc/fstab", R_OK) && access(IMAGE_LOCATION "/live_tree.clp", R_OK)) {
-#else
- if (access(IMAGE_LOCATION LIVE_LOCATION, R_OK)) {
-#endif
- 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", "HTTP proxy host", "HTTP proxy port", NULL };
- char * questions_auto[] = { "server", "directory", "user", "pass", "proxy_host", "proxy_port", 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). You may want to try an NFS install.",
- 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 = -1;
- int fd, size;
- int use_http_proxy;
- char ftp_hostname[500];
-
- 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). "
- "Please enter HTTP proxy host and port if you need it.",
- questions, &answers, 40, questions_auto, NULL);
- if (results != RETURN_OK || streq(answers[0], "")) {
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
- return ftp_prepare();
- }
-
- use_http_proxy = !streq(answers[4], "") && !streq(answers[5], "");
-
- if (use_http_proxy) {
- log_message("FTP: don't connect to %s directly, will use proxy", answers[0]);
- } else {
- 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);
-
- if (use_http_proxy) {
- if (strcmp(answers[2], "")) {
- strcpy(ftp_hostname, answers[2]); /* user name */
- strcat(ftp_hostname, ":");
- strcat(ftp_hostname, answers[3]); /* password */
- strcat(ftp_hostname, "@");
- } else {
- strcpy(ftp_hostname, "");
- }
- strcat(ftp_hostname, answers[0]);
- fd = http_download_file(ftp_hostname, location_full, &size, "ftp", answers[4], answers[5]);
- } else {
- 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_FAILED_CONNECT)
- stg1_error_message("Error: couldn't connect to server.");
- 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) {
- if (!use_http_proxy)
- ftp_end_data_command(ftp_serv_response);
- } else {
- return results;
- }
-
- if (use_http_proxy) {
- method_name = strdup("http");
- sprintf(location_full, "ftp://%s%s", ftp_hostname, answers[1]);
- add_to_env("URLPREFIX", location_full);
- add_to_env("PROXY", answers[4]);
- add_to_env("PROXYPORT", answers[5]);
- } else {
- method_name = strdup("ftp");
- add_to_env("HOST", answers[0]);
- add_to_env("PREFIX", answers[1]);
- if (!streq(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", "HTTP proxy host", "HTTP proxy port", NULL };
- char * questions_auto[] = { "server", "directory", "proxy_host", "proxy_port", 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). You may want to try an NFS install.",
- 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;
- int use_http_proxy;
-
- results = ask_from_entries_auto("Please enter the name or IP address of the HTTP server, "
- "and the directory containing the " DISTRIB_NAME " Distribution."
- "Please enter HTTP proxy host and port if you need it.",
- questions, &answers, 40, questions_auto, NULL);
- if (results != RETURN_OK || streq(answers[0], "")) {
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
- return http_prepare();
- }
-
- strcpy(location_full, answers[1]);
- strcat(location_full, get_ramdisk_realname());
-
- log_message("HTTP: trying to retrieve %s from %s", location_full, answers[0]);
-
- use_http_proxy = !streq(answers[2], "") && !streq(answers[3], "");
-
- fd = http_download_file(answers[0], location_full, &size, use_http_proxy ? "http" : NULL, answers[2], answers[3]);
- 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);
- if (!streq(answers[2], ""))
- add_to_env("PROXY", answers[2]);
- if (!streq(answers[3], ""))
- add_to_env("PROXYPORT", answers[3]);
- }
- while (results == RETURN_BACK);
-
- return RETURN_OK;
-
-}
diff --git a/mdk-stage1/network.h b/mdk-stage1/network.h
deleted file mode 100644
index 02eea45b6..000000000
--- a/mdk-stage1/network.h
+++ /dev/null
@@ -1,61 +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, BOOTPROTO_ADSL_PPPOE };
-
-/* 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;
- char *user, *pass; /* for ADSL connection */
-};
-
-
-/* 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 0c740f42f..000000000
--- a/mdk-stage1/newt-frontend.c
+++ /dev/null
@@ -1,408 +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 <probing.h>
-
-#include "frontend.h"
-
-void init_frontend(char * welcome_msg)
-{
- int i;
- for (i=0; i<38; i++) printf("\n");
- 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)
-{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
- newtWinMessagev("Error", "Ok", msg, ap);
-}
-
-void vinfo_message(char *msg, va_list ap)
-{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
- 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[500];
- int answer = 0, rc;
- char ** sav_elems = elems;
- int i;
-
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- 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;
-
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- 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;
-
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- 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 __attribute__ ((unused)), 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;
-
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- while (questions && *questions) {
- entries[i].text = *questions;
- entries[i].flags = NEWT_FLAG_SCROLL | (!strcmp(*questions, "Password") ? NEWT_FLAG_PASSWORD : 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 in 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;
-}
-
-
-void suspend_to_console(void) { newtSuspend(); }
-void resume_from_suspend(void) { newtResume(); }
diff --git a/mdk-stage1/newt/Makefile b/mdk-stage1/newt/Makefile
deleted file mode 100644
index b5b3ea8b7..000000000
--- a/mdk-stage1/newt/Makefile
+++ /dev/null
@@ -1,42 +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
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(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 00113f23e..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) > (size_t)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) > (size_t)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 1b33f1c6f..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) >= (size_t) (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 ad7520e95..000000000
--- a/mdk-stage1/newt/form.c
+++ /dev/null
@@ -1,713 +0,0 @@
-#include <unistd.h>
-#include <slang.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.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 37d2b2e74..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 ((size_t)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 cdbf792ca..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) > (size_t)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) > (size_t)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) > (size_t)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 d6cb3cd96..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 __attribute__ ((unused))) {
- 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 __attribute__ ((unused)),
- struct event ev __attribute__ ((unused))) {
- 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 8eb4ae4db..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 __attribute__ ((unused))) {
- 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/nfs_mount4.h b/mdk-stage1/nfs_mount4.h
deleted file mode 100644
index 85650773a..000000000
--- a/mdk-stage1/nfs_mount4.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * We want to be able to compile mount on old kernels in such a way
- * that the binary will work well on more recent kernels.
- * Thus, if necessary we teach nfsmount.c the structure of new fields
- * that will come later.
- *
- * Moreover, the new kernel includes conflict with glibc includes
- * so it is easiest to ignore the kernel altogether (at compile time).
- */
-
-#define NFS_MOUNT_VERSION 4
-
-struct nfs2_fh {
- char data[32];
-};
-struct nfs3_fh {
- unsigned short size;
- unsigned char data[64];
-};
-
-struct nfs_mount_data {
- int version; /* 1 */
- int fd; /* 1 */
- struct nfs2_fh old_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 */
- struct nfs3_fh root; /* 4 */
-};
-
-/* 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 */
-#define NFS_MOUNT_BROKEN_SUID 0x0400 /* 4 */
-
diff --git a/mdk-stage1/nfsmount.c b/mdk-stage1/nfsmount.c
deleted file mode 100644
index 7f73da835..000000000
--- a/mdk-stage1/nfsmount.c
+++ /dev/null
@@ -1,739 +0,0 @@
- /*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2003 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.
- *
- * basing on nfsmount.c from util-linux-2.11z:
- * - use our logging facilities
- * - use our host resolving stuff
- * - remove unneeded code
- */
-
-/*
- * 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.
- *
- * 1999-02-22 Arkadiusz Mikiewicz <misiek@pld.ORG.PL>
- * - added Native Language Support
- *
- * Modified by Olaf Kirch and Trond Myklebust for new NFS code,
- * plus NFSv3 stuff.
- *
- * 2003-04-14 David Black <david.black@xilinx.com>
- * - added support for multiple hostname NFS mounts
- */
-
-/*
- * nfsmount.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
- */
-
-#define HAVE_rpcsvc_nfs_prot_h
-#define HAVE_inet_aton
-
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <netdb.h>
-#include <time.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 <netinet/in.h>
-#include <arpa/inet.h>
-#include <values.h>
-
-#include "nfsmount.h"
-
-#ifdef HAVE_rpcsvc_nfs_prot_h
-#include <rpcsvc/nfs_prot.h>
-#else
-#include <linux/nfs.h>
-#define nfsstat nfs_stat
-#endif
-
-#include "nfs_mount4.h"
-
-#include "log.h"
-#include "dns.h"
-
-#ifndef NFS_PORT
-#define NFS_PORT 2049
-#endif
-#ifndef NFS_FHSIZE
-#define NFS_FHSIZE 32
-#endif
-
-static char *nfs_strerror(int stat);
-
-#define MAKE_VERSION(p,q,r) (65536*(p) + 256*(q) + (r))
-
-#define MAX_NFSPROT ((nfs_mount_version >= 4) ? 3 : 2)
-
-bool_t
-xdr_fhandle3 (XDR *xdrs, fhandle3 *objp)
-{
- if (!xdr_bytes (xdrs, (char **)&objp->fhandle3_val, (u_int *) &objp->fhandle3_len, FHSIZE3))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_mountstat3 (XDR *xdrs, mountstat3 *objp)
-{
- if (!xdr_enum (xdrs, (enum_t *) objp))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_mountres3_ok (XDR *xdrs, mountres3_ok *objp)
-{
- if (!xdr_fhandle3 (xdrs, &objp->fhandle))
- return FALSE;
- if (!xdr_array (xdrs, (char **)&objp->auth_flavours.auth_flavours_val, (u_int *) &objp->auth_flavours.auth_flavours_len, ~0,
- sizeof (int), (xdrproc_t) xdr_int))
- return FALSE;
- return TRUE;
-}
-
-bool_t
-xdr_mountres3 (XDR *xdrs, mountres3 *objp)
-{
- if (!xdr_mountstat3 (xdrs, &objp->fhs_status))
- return FALSE;
- switch (objp->fhs_status) {
- case MNT_OK:
- if (!xdr_mountres3_ok (xdrs, &objp->mountres3_u.mountinfo))
- 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;
-}
-
-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;
-}
-
-
-static int
-linux_version_code(void) {
- struct utsname my_utsname;
- int p, q, r;
-
- if (uname(&my_utsname) == 0) {
- p = atoi(strtok(my_utsname.release, "."));
- q = atoi(strtok(NULL, "."));
- r = atoi(strtok(NULL, "."));
- return MAKE_VERSION(p,q,r);
- }
- return 0;
-}
-
-/*
- * Unfortunately, the kernel prints annoying console messages
- * in case of an unexpected nfs mount version (instead of
- * just returning some error). Therefore we'll have to try
- * and figure out what version the kernel expects.
- *
- * Variables:
- * NFS_MOUNT_VERSION: these nfsmount sources at compile time
- * nfs_mount_version: version this source and running kernel can handle
- */
-static int
-find_kernel_nfs_mount_version(void) {
- static int kernel_version = -1;
- int nfs_mount_version = NFS_MOUNT_VERSION;
-
- if (kernel_version == -1)
- kernel_version = linux_version_code();
-
- if (kernel_version) {
- if (kernel_version < MAKE_VERSION(2,1,32))
- nfs_mount_version = 1;
- else if (kernel_version < MAKE_VERSION(2,2,18))
- nfs_mount_version = 3;
- else if (kernel_version < MAKE_VERSION(2,3,0))
- nfs_mount_version = 4; /* since 2.2.18pre9 */
- else if (kernel_version < MAKE_VERSION(2,3,99))
- nfs_mount_version = 3;
- else
- nfs_mount_version = 4; /* since 2.3.99pre4 */
- }
- if (nfs_mount_version > NFS_MOUNT_VERSION)
- nfs_mount_version = NFS_MOUNT_VERSION;
- log_message("nfsmount: kernel_nfs_mount_version: %d", nfs_mount_version);
- return nfs_mount_version;
-}
-
-static struct pmap *
-get_mountport(struct sockaddr_in *server_addr,
- long unsigned prog,
- long unsigned version,
- long unsigned proto,
- long unsigned port,
- int nfs_mount_version)
-{
- struct pmaplist *pmap;
- static struct pmap p = {0, 0, 0, 0};
-
- if (version > MAX_NFSPROT)
- version = MAX_NFSPROT;
- if (!prog)
- prog = MOUNTPROG;
- p.pm_prog = prog;
- p.pm_vers = version;
- p.pm_prot = proto;
- p.pm_port = port;
-
- server_addr->sin_port = PMAPPORT;
- pmap = pmap_getmaps(server_addr);
-
- while (pmap) {
- if (pmap->pml_map.pm_prog != prog)
- goto next;
- if (!version && p.pm_vers > pmap->pml_map.pm_vers)
- goto next;
- if (version > 2 && pmap->pml_map.pm_vers != version)
- goto next;
- if (version && version <= 2 && pmap->pml_map.pm_vers > 2)
- goto next;
- if (pmap->pml_map.pm_vers > MAX_NFSPROT ||
- (proto && p.pm_prot && pmap->pml_map.pm_prot != proto) ||
- (port && pmap->pml_map.pm_port != port))
- goto next;
- memcpy(&p, &pmap->pml_map, sizeof(p));
- next:
- pmap = pmap->pml_next;
- }
- if (!p.pm_vers)
- p.pm_vers = MOUNTVERS;
- if (!p.pm_prot)
- p.pm_prot = IPPROTO_TCP;
- return &p;
-}
-
-
-
-int nfsmount_prepare(const char *spec, char **mount_opts)
-{
- char hostdir[1024];
- CLIENT *mclient;
- char *hostname, *dirname, *mounthost = NULL;
- struct timeval total_timeout;
- enum clnt_stat clnt_stat;
- static struct nfs_mount_data data;
- int nfs_mount_version;
- int val;
- struct sockaddr_in server_addr;
- struct sockaddr_in mount_server_addr;
- struct pmap *pm_mnt;
- int msock, fsock;
- struct timeval retry_timeout;
- union {
- struct fhstatus nfsv2;
- struct mountres3 nfsv3;
- } status;
- char *s;
- int port, mountport, proto, soft, intr;
- int posix, nocto, noac, broken_suid, nolock;
- int retry, tcp;
- int mountprog, mountvers, nfsprog, nfsvers;
- int retval;
- time_t t;
- time_t prevt;
- time_t timeout;
-
- nfs_mount_version = find_kernel_nfs_mount_version();
-
- retval = -1;
- msock = fsock = -1;
- mclient = NULL;
- if (strlen(spec) >= sizeof(hostdir)) {
- log_message("nfsmount: excessively long host:dir argument");
- goto fail;
- }
- strcpy(hostdir, spec);
- if ((s = strchr(hostdir, ':'))) {
- hostname = hostdir;
- dirname = s + 1;
- *s = '\0';
- } else {
- log_message("nfsmount: directory to mount not in host:dir format");
- goto fail;
- }
-
- server_addr.sin_family = AF_INET;
-#ifdef HAVE_inet_aton
- if (!inet_aton(hostname, &server_addr.sin_addr))
-#endif
- {
- if (mygethostbyname(hostname, &server_addr.sin_addr)) {
- log_message("nfsmount: can't get address for %s", hostname);
- goto fail;
- }
- }
-
- memcpy (&mount_server_addr, &server_addr, sizeof (mount_server_addr));
-
-
-
- /* Set default options.
- * rsize/wsize (and bsize, for ver >= 3) are left 0 in order to
- * let the kernel decide.
- * 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;
-#if NFS_MOUNT_VERSION >= 2
- data.namlen = NAME_MAX;
-#endif
-
- soft = 1;
- intr = 0;
- posix = 0;
- nocto = 0;
- nolock = 1;
- broken_suid = 0;
- noac = 0;
- retry = 10000; /* 10000 minutes ~ 1 week */
- tcp = 0;
-
- mountprog = MOUNTPROG;
- mountvers = 0;
- port = 0;
- mountport = 0;
- nfsprog = NFS_PROGRAM;
- nfsvers = 0;
-
-
-
-retry_mount:
- proto = (tcp) ? IPPROTO_TCP : IPPROTO_UDP;
-
- data.flags = (soft ? NFS_MOUNT_SOFT : 0)
- | (intr ? NFS_MOUNT_INTR : 0)
- | (posix ? NFS_MOUNT_POSIX : 0)
- | (nocto ? NFS_MOUNT_NOCTO : 0)
- | (noac ? NFS_MOUNT_NOAC : 0);
-#if NFS_MOUNT_VERSION >= 2
- if (nfs_mount_version >= 2)
- data.flags |= (tcp ? NFS_MOUNT_TCP : 0);
-#endif
-#if NFS_MOUNT_VERSION >= 3
- if (nfs_mount_version >= 3)
- data.flags |= (nolock ? NFS_MOUNT_NONLM : 0);
-#endif
-#if NFS_MOUNT_VERSION >= 4
- if (nfs_mount_version >= 4)
- data.flags |= (broken_suid ? NFS_MOUNT_BROKEN_SUID : 0);
-#endif
- if (nfsvers > MAX_NFSPROT) {
- log_message("NFSv%d not supported!", nfsvers);
- return 0;
- }
- if (mountvers > MAX_NFSPROT) {
- log_message("NFSv%d not supported!", nfsvers);
- return 0;
- }
- if (nfsvers && !mountvers)
- mountvers = (nfsvers < 3) ? 1 : nfsvers;
- if (nfsvers && nfsvers < mountvers)
- mountvers = nfsvers;
-
- /* Adjust options if none specified */
- if (!data.timeo)
- data.timeo = tcp ? 70 : 7;
-
-#ifdef NFS_MOUNT_DEBUG
- log_message("rsize = %d, wsize = %d, timeo = %d, retrans = %d",
- data.rsize, data.wsize, data.timeo, data.retrans);
- log_message("acreg (min, max) = (%d, %d), acdir (min, max) = (%d, %d)",
- data.acregmin, data.acregmax, data.acdirmin, data.acdirmax);
- log_message("port = %d, retry = %d, flags = %.8x",
- port, retry, data.flags);
- log_message("mountprog = %d, mountvers = %d, nfsprog = %d, nfsvers = %d",
- mountprog, mountvers, nfsprog, nfsvers);
- log_message("soft = %d, intr = %d, posix = %d, nocto = %d, noac = %d",
- (data.flags & NFS_MOUNT_SOFT) != 0,
- (data.flags & NFS_MOUNT_INTR) != 0,
- (data.flags & NFS_MOUNT_POSIX) != 0,
- (data.flags & NFS_MOUNT_NOCTO) != 0,
- (data.flags & NFS_MOUNT_NOAC) != 0);
-#if NFS_MOUNT_VERSION >= 2
- log_message("tcp = %d",
- (data.flags & NFS_MOUNT_TCP) != 0);
-#endif
-#endif
-
- data.version = nfs_mount_version;
- *mount_opts = (char *) &data;
-
-
- /* create mount deamon client */
- /* See if the nfs host = mount host. */
- if (mounthost) {
- if (mounthost[0] >= '0' && mounthost[0] <= '9') {
- mount_server_addr.sin_family = AF_INET;
- mount_server_addr.sin_addr.s_addr = inet_addr(hostname);
- } else {
- if (mygethostbyname(mounthost, &mount_server_addr.sin_addr)) {
- log_message("nfsmount: can't get address for %s", mounthost);
- goto fail;
- }
- }
- }
-
- /*
- * The following loop implements the mount retries. On the first
- * call, "running_bg" is 0. When the mount times out, and the
- * "bg" option is set, the exit status EX_BG will be returned.
- * For a backgrounded mount, there will be a second call by the
- * child process with "running_bg" set to 1.
- *
- * The case where the mount point is not present and the "bg"
- * option is set, is treated as a timeout. This is done to
- * support nested mounts.
- *
- * The "retry" count specified by the user is the number of
- * minutes to retry before giving up.
- *
- * Only the first error message will be displayed.
- */
- retry_timeout.tv_sec = 3;
- retry_timeout.tv_usec = 0;
- total_timeout.tv_sec = 20;
- total_timeout.tv_usec = 0;
- timeout = time(NULL) + 60 * retry;
- prevt = 0;
- t = 30;
- val = 1;
-
-
- /* be careful not to use too many CPU cycles */
- if (t - prevt < 30)
- sleep(30);
-
- pm_mnt = get_mountport(&mount_server_addr,
- mountprog,
- mountvers,
- proto,
- mountport,
- nfs_mount_version);
-
- /* contact the mount daemon via TCP */
- mount_server_addr.sin_port = htons(pm_mnt->pm_port);
- msock = RPC_ANYSOCK;
-
- switch (pm_mnt->pm_prot) {
- case IPPROTO_UDP:
- mclient = clntudp_create(&mount_server_addr,
- pm_mnt->pm_prog,
- pm_mnt->pm_vers,
- retry_timeout,
- &msock);
- if (mclient)
- break;
- mount_server_addr.sin_port =
- htons(pm_mnt->pm_port);
- msock = RPC_ANYSOCK;
- case IPPROTO_TCP:
- mclient = clnttcp_create(&mount_server_addr,
- pm_mnt->pm_prog,
- pm_mnt->pm_vers,
- &msock, 0, 0);
- break;
- default:
- mclient = 0;
- }
-
- if (mclient) {
- /* try to mount hostname:dirname */
- mclient->cl_auth = authunix_create_default();
-
- /* make pointers in xdr_mountres3 NULL so
- * that xdr_array allocates memory for us
- */
- memset(&status, 0, sizeof(status));
-
- log_message("nfsmount: doing client call in nfs version: %ld", pm_mnt->pm_vers);
- if (pm_mnt->pm_vers == 3)
- clnt_stat = clnt_call(mclient,
- MOUNTPROC3_MNT,
- (xdrproc_t) xdr_dirpath,
- (caddr_t) &dirname,
- (xdrproc_t) xdr_mountres3,
- (caddr_t) &status,
- total_timeout);
- else
- 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)
- goto succeeded;
-
- if (prevt == 0)
- log_message(clnt_sperror(mclient, "mount"));
- auth_destroy(mclient->cl_auth);
- clnt_destroy(mclient);
- mclient = 0;
- close(msock);
- } else {
- if (prevt == 0)
- log_message(clnt_spcreateerror("mount"));
- }
- prevt = t;
-
- goto fail;
-
- succeeded:
- nfsvers = (pm_mnt->pm_vers < 2) ? 2 : pm_mnt->pm_vers;
-
- if (nfsvers == 2) {
- if (status.nfsv2.fhs_status != 0) {
- log_message("nfsmount: %s:%s failed, reason given by server: %s",
- hostname, dirname, nfs_strerror(status.nfsv2.fhs_status));
- goto fail;
- }
- memcpy(data.root.data,
- (char *) status.nfsv2.fhstatus_u.fhs_fhandle,
- NFS_FHSIZE);
-#if NFS_MOUNT_VERSION >= 4
- data.root.size = NFS_FHSIZE;
- memcpy(data.old_root.data,
- (char *) status.nfsv2.fhstatus_u.fhs_fhandle,
- NFS_FHSIZE);
-#endif
- } else {
-#if NFS_MOUNT_VERSION >= 4
- fhandle3 *fhandle;
- if (status.nfsv3.fhs_status != 0) {
- log_message("nfsmount: %s:%s failed, reason given by server: %s",
- hostname, dirname, nfs_strerror(status.nfsv3.fhs_status));
- goto fail;
- }
- fhandle = &status.nfsv3.mountres3_u.mountinfo.fhandle;
- memset(data.old_root.data, 0, NFS_FHSIZE);
- memset(&data.root, 0, sizeof(data.root));
- data.root.size = fhandle->fhandle3_len;
- memcpy(data.root.data,
- (char *) fhandle->fhandle3_val,
- fhandle->fhandle3_len);
-
- data.flags |= NFS_MOUNT_VER3;
-#endif
- }
-
- /* create nfs socket for kernel */
-
- if (tcp) {
- if (nfs_mount_version < 3) {
- log_message("NFS over TCP is not supported.");
- goto fail;
- }
- fsock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- } else
- 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;
- }
- if (port == 0) {
- server_addr.sin_port = PMAPPORT;
- port = pmap_getport(&server_addr, nfsprog, nfsvers,
- tcp ? IPPROTO_TCP : IPPROTO_UDP);
-#if 1
- /* Here we check to see if user is mounting with the
- * tcp option. If so, and if the portmap returns a
- * '0' for port (service unavailable), we then notify
- * the user, and retry with udp.
- */
- if (port == 0 && tcp == 1) {
- log_message("NFS server reported TCP not available, retrying with UDP...");
- tcp = 0;
- goto retry_mount;
- }
-#endif
-
- if (port == 0)
- port = NFS_PORT;
-#ifdef NFS_MOUNT_DEBUG
- else
- log_message("used portmapper to find NFS port");
-#endif
- }
-#ifdef NFS_MOUNT_DEBUG
- log_message("using port %d for nfs deamon", port);
-#endif
- server_addr.sin_port = htons(port);
- /*
- * connect() the socket for kernels 1.3.10 and below only,
- * to avoid problems with multihomed hosts.
- * --Swen
- */
- if (linux_version_code() <= 66314
- && connect(fsock, (struct sockaddr *) &server_addr,
- sizeof (server_addr)) < 0) {
- log_perror("nfs connect");
- goto fail;
- }
-
- /* prepare data structure for kernel */
-
- data.fd = fsock;
- 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 retval;
-}
-
-/*
- * We need to translate between nfs status return values and
- * the local errno values which may not be the same.
- *
- * Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de>: change errno:
- * "after #include <errno.h> the symbol errno is reserved for any use,
- * it cannot even be used as a struct tag or field name".
- */
-
-#ifndef EDQUOT
-#define EDQUOT ENOSPC
-#endif
-
-static struct {
- enum nfsstat stat;
- int errnum;
-} nfs_errtbl[] = {
- { NFS_OK, 0 },
- { NFSERR_PERM, EPERM },
- { NFSERR_NOENT, ENOENT },
- { NFSERR_IO, EIO },
- { NFSERR_NXIO, ENXIO },
- { NFSERR_ACCES, EACCES },
- { NFSERR_EXIST, EEXIST },
- { NFSERR_NODEV, ENODEV },
- { NFSERR_NOTDIR, ENOTDIR },
- { NFSERR_ISDIR, EISDIR },
-#ifdef NFSERR_INVAL
- { NFSERR_INVAL, EINVAL }, /* that Sun forgot */
-#endif
- { NFSERR_FBIG, EFBIG },
- { NFSERR_NOSPC, ENOSPC },
- { NFSERR_ROFS, EROFS },
- { NFSERR_NAMETOOLONG, ENAMETOOLONG },
- { NFSERR_NOTEMPTY, ENOTEMPTY },
- { NFSERR_DQUOT, EDQUOT },
- { NFSERR_STALE, ESTALE },
-#ifdef EWFLUSH
- { NFSERR_WFLUSH, EWFLUSH },
-#endif
- /* Throw in some NFSv3 values for even more fun (HP returns these) */
- { 71, EREMOTE },
-
- { -1, EIO }
-};
-
-static char *nfs_strerror(int stat)
-{
- int i;
- static char buf[256];
-
- for (i = 0; nfs_errtbl[i].stat != (unsigned)-1; i++) {
- if (nfs_errtbl[i].stat == (unsigned)stat)
- return strerror(nfs_errtbl[i].errnum);
- }
- sprintf(buf, "unknown nfs status return value: %d", stat);
- return buf;
-}
-
diff --git a/mdk-stage1/nfsmount.h b/mdk-stage1/nfsmount.h
deleted file mode 100644
index a27e8a8d7..000000000
--- a/mdk-stage1/nfsmount.h
+++ /dev/null
@@ -1,331 +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, char **mount_opts);
-
-
-#ifdef __cplusplus
-extern "C" {
-#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 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
-#include <asm/types.h>
-#define MNTPATHLEN 1024
-#define MNTNAMLEN 255
-#define FHSIZE 32
-#define FHSIZE3 64
-
-typedef char fhandle[FHSIZE];
-
-typedef struct {
- u_int fhandle3_len;
- char *fhandle3_val;
-} fhandle3;
-
-enum mountstat3 {
- MNT_OK = 0,
- MNT3ERR_PERM = 1,
- MNT3ERR_NOENT = 2,
- MNT3ERR_IO = 5,
- MNT3ERR_ACCES = 13,
- MNT3ERR_NOTDIR = 20,
- MNT3ERR_INVAL = 22,
- MNT3ERR_NAMETOOLONG = 63,
- MNT3ERR_NOTSUPP = 10004,
- MNT3ERR_SERVERFAULT = 10006,
-};
-typedef enum mountstat3 mountstat3;
-
-struct fhstatus {
- u_int fhs_status;
- union {
- fhandle fhs_fhandle;
- } fhstatus_u;
-};
-typedef struct fhstatus fhstatus;
-
-struct mountres3_ok {
- fhandle3 fhandle;
- struct {
- u_int auth_flavours_len;
- int *auth_flavours_val;
- } auth_flavours;
-};
-typedef struct mountres3_ok mountres3_ok;
-
-struct mountres3 {
- mountstat3 fhs_status;
- union {
- mountres3_ok mountinfo;
- } mountres3_u;
-};
-typedef struct mountres3 mountres3;
-
-typedef char *dirpath;
-
-typedef char *name;
-
-typedef struct mountbody *mountlist;
-
-struct mountbody {
- name ml_hostname;
- dirpath ml_directory;
- mountlist ml_next;
-};
-typedef struct mountbody mountbody;
-
-typedef struct groupnode *groups;
-
-struct groupnode {
- name gr_name;
- groups gr_next;
-};
-typedef struct groupnode groupnode;
-
-typedef struct exportnode *exports;
-
-struct exportnode {
- dirpath ex_dir;
- groups ex_groups;
- exports ex_next;
-};
-typedef struct exportnode exportnode;
-
-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;
-#endif /*!_rpcsvc_mount_h*/
-
-#define MOUNTPROG 100005
-#define MOUNTVERS 1
-
-#if defined(__STDC__) || defined(__cplusplus)
-#define MOUNTPROC_NULL 0
-extern void * mountproc_null_1(void *, CLIENT *);
-extern void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT 1
-extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP 2
-extern mountlist * mountproc_dump_1(void *, CLIENT *);
-extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT 3
-extern void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL 4
-extern void * mountproc_umntall_1(void *, CLIENT *);
-extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT 5
-extern exports * mountproc_export_1(void *, CLIENT *);
-extern exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL 6
-extern exports * mountproc_exportall_1(void *, CLIENT *);
-extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
-
-#else /* K&R C */
-#define MOUNTPROC_NULL 0
-extern void * mountproc_null_1();
-extern void * mountproc_null_1_svc();
-#define MOUNTPROC_MNT 1
-extern fhstatus * mountproc_mnt_1();
-extern fhstatus * mountproc_mnt_1_svc();
-#define MOUNTPROC_DUMP 2
-extern mountlist * mountproc_dump_1();
-extern mountlist * mountproc_dump_1_svc();
-#define MOUNTPROC_UMNT 3
-extern void * mountproc_umnt_1();
-extern void * mountproc_umnt_1_svc();
-#define MOUNTPROC_UMNTALL 4
-extern void * mountproc_umntall_1();
-extern void * mountproc_umntall_1_svc();
-#define MOUNTPROC_EXPORT 5
-extern exports * mountproc_export_1();
-extern exports * mountproc_export_1_svc();
-#define MOUNTPROC_EXPORTALL 6
-extern exports * mountproc_exportall_1();
-extern exports * mountproc_exportall_1_svc();
-extern int mountprog_1_freeresult ();
-#endif /* K&R C */
-#define MOUNTVERS_POSIX 2
-
-#if defined(__STDC__) || defined(__cplusplus)
-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 7
-extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
-extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
-extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
-
-#else /* K&R 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 7
-extern ppathcnf * mountproc_pathconf_2();
-extern ppathcnf * mountproc_pathconf_2_svc();
-extern int mountprog_2_freeresult ();
-#endif /* K&R C */
-#define MOUNT_V3 3
-
-#if defined(__STDC__) || defined(__cplusplus)
-#define MOUNTPROC3_NULL 0
-extern void * mountproc3_null_3(void *, CLIENT *);
-extern void * mountproc3_null_3_svc(void *, struct svc_req *);
-#define MOUNTPROC3_MNT 1
-extern mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
-extern mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC3_DUMP 2
-extern mountlist * mountproc3_dump_3(void *, CLIENT *);
-extern mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
-#define MOUNTPROC3_UMNT 3
-extern void * mountproc3_umnt_3(dirpath *, CLIENT *);
-extern void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC3_UMNTALL 4
-extern void * mountproc3_umntall_3(void *, CLIENT *);
-extern void * mountproc3_umntall_3_svc(void *, struct svc_req *);
-#define MOUNTPROC3_EXPORT 5
-extern exports * mountproc3_export_3(void *, CLIENT *);
-extern exports * mountproc3_export_3_svc(void *, struct svc_req *);
-extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
-
-#else /* K&R C */
-#define MOUNTPROC3_NULL 0
-extern void * mountproc3_null_3();
-extern void * mountproc3_null_3_svc();
-#define MOUNTPROC3_MNT 1
-extern mountres3 * mountproc3_mnt_3();
-extern mountres3 * mountproc3_mnt_3_svc();
-#define MOUNTPROC3_DUMP 2
-extern mountlist * mountproc3_dump_3();
-extern mountlist * mountproc3_dump_3_svc();
-#define MOUNTPROC3_UMNT 3
-extern void * mountproc3_umnt_3();
-extern void * mountproc3_umnt_3_svc();
-#define MOUNTPROC3_UMNTALL 4
-extern void * mountproc3_umntall_3();
-extern void * mountproc3_umntall_3_svc();
-#define MOUNTPROC3_EXPORT 5
-extern exports * mountproc3_export_3();
-extern exports * mountproc3_export_3_svc();
-extern int mountprog_3_freeresult ();
-#endif /* K&R C */
-
-/* the xdr functions */
-
-#if defined(__STDC__) || defined(__cplusplus)
-extern bool_t xdr_fhandle (XDR *, fhandle);
-extern bool_t xdr_fhandle3 (XDR *, fhandle3*);
-extern bool_t xdr_mountstat3 (XDR *, mountstat3*);
-extern bool_t xdr_fhstatus (XDR *, fhstatus*);
-extern bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
-extern bool_t xdr_mountres3 (XDR *, mountres3*);
-extern bool_t xdr_dirpath (XDR *, dirpath*);
-extern bool_t xdr_name (XDR *, name*);
-extern bool_t xdr_mountlist (XDR *, mountlist*);
-extern bool_t xdr_mountbody (XDR *, mountbody*);
-extern bool_t xdr_groups (XDR *, groups*);
-extern bool_t xdr_groupnode (XDR *, groupnode*);
-extern bool_t xdr_exports (XDR *, exports*);
-extern bool_t xdr_exportnode (XDR *, exportnode*);
-extern bool_t xdr_ppathcnf (XDR *, ppathcnf*);
-
-#else /* K&R C */
-extern bool_t xdr_fhandle ();
-extern bool_t xdr_fhandle3 ();
-extern bool_t xdr_mountstat3 ();
-extern bool_t xdr_fhstatus ();
-extern bool_t xdr_mountres3_ok ();
-extern bool_t xdr_mountres3 ();
-extern bool_t xdr_dirpath ();
-extern bool_t xdr_name ();
-extern bool_t xdr_mountlist ();
-extern bool_t xdr_mountbody ();
-extern bool_t xdr_groups ();
-extern bool_t xdr_groupnode ();
-extern bool_t xdr_exports ();
-extern bool_t xdr_exportnode ();
-extern bool_t xdr_ppathcnf ();
-
-#endif /* K&R C */
-
-#ifdef __cplusplus
-}
-#endif
-
-#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 046ab29dd..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 $@; exit 1; }
-
-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 27ec62845..000000000
--- a/mdk-stage1/pci-resource/update-pci-ids.pl
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use MDK::Common;
-
-require '/usr/bin/merge2pcitable.pl';
-my $pci = 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 */
-};
-
-struct pci_module_map_full {
- unsigned short vendor; /* PCI vendor id */
- unsigned short device; /* PCI device id */
- unsigned short subvendor; /* PCI subvendor id */
- unsigned short subdevice; /* PCI subdevice id */
- const char *name; /* PCI human readable name */
- const char *module; /* module to load */
-};
-
-';
-
-my %t = (
- network => 'network/main|gigabit',
- medias => 'disk/scsi|hardware_raid',
-);
-
-foreach my $type (keys %t) {
- my @modules = chomp_(`perl ../../kernel/modules.pl pci_modules4stage1:"$t{$type}"`);
-
- my (@entries, @entries_full);
-
- foreach my $k (sort keys %$pci) {
- my $v = $pci->{$k};
- member($v->[0], @modules) or next;
- $k =~ /^(....)(....)(....)(....)/;
- my $values = { vendor => $1, device => $2, subvendor => $3, subdevice => $4, driver => $v->[0], description => $v->[1] };
- if ($values->{subdevice} eq 'ffff' && $values->{subvendor} eq 'ffff') {
- push @entries, $values;
- } else {
- push @entries_full, $values;
- }
- }
-
- print "#ifndef DISABLE_".uc($type)."
-struct pci_module_map ${type}_pci_ids[] = {
-";
- printf qq|\t{ 0x%s, 0x%s, "%s", "%s" },\n|, $_->{vendor}, $_->{device}, $_->{description}, $_->{driver}
- foreach @entries;
- print "};
-unsigned int ${type}_num_ids = sizeof(${type}_pci_ids) / sizeof(struct pci_module_map);
-";
-
- print "
-struct pci_module_map_full ${type}_pci_ids_full[] = {
-";
- printf qq|\t{ 0x%s, 0x%s, 0x%s, 0x%s, "%s", "%s" },\n|, $_->{vendor}, $_->{device}, $_->{subvendor}, $_->{subdevice}, $_->{description}, $_->{driver}
- foreach @entries_full;
- print "};
-unsigned int ${type}_num_ids_full = sizeof(${type}_pci_ids_full) / sizeof(struct pci_module_map_full);
-
-#endif
-
-";
-}
diff --git a/mdk-stage1/pcmcia_/Makefile b/mdk-stage1/pcmcia_/Makefile
deleted file mode 100644
index b247b1397..000000000
--- a/mdk-stage1/pcmcia_/Makefile
+++ /dev/null
@@ -1,37 +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.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-all: libpcmcia.a
-
-clean:
- rm -f *.o libpcmcia.a
-
-FLAGS = -D__linux__ -Wall -Werror -Os -fomit-frame-pointer -pipe -c -I.. -D_BSD_SOURCE
-
-
-OBJS = probe.o cardmgr.o lex_config.o yacc_config.o
-
-
-libpcmcia.a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(FLAGS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/pcmcia_/bulkmem.h b/mdk-stage1/pcmcia_/bulkmem.h
deleted file mode 100644
index 7748d4432..000000000
--- a/mdk-stage1/pcmcia_/bulkmem.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Definitions for bulk memory services
- *
- * bulkmem.h 1.13 2001/08/24 12:16: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 General 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 ea3ff127e..000000000
--- a/mdk-stage1/pcmcia_/cardmgr.c
+++ /dev/null
@@ -1,1652 +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.29.tar.bz2
- *
- * Licence of this code follows:
- *
- */
-/*======================================================================
-
- PCMCIA Card Manager daemon
-
- cardmgr.c 1.161 2001/08/24 12:19:19
-
- 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 General 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__
-#include <pcmcia/u_compat.h>
-#endif
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-//mdk-stage1// #include <syslog.h>
-//mdk-stage1// #include <getopt.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>
-//mdk-stage1// #include <pcmcia/config.h>
-#include <pcmcia_/cs_types.h>
-#include <pcmcia_/cs.h>
-#include <pcmcia_/cistpl.h>
-#include <pcmcia_/ds.h>
-
-#include "cardmgr.h"
-
-#include "../log.h"
-#include "modules.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_HOTPLUG 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];
-
-/* Default path for config file, device scripts */
-#ifdef ETC
-static char *configpath = ETC;
-#else
-static char *configpath = "/etc/pcmcia";
-#endif
-
-/* Default path for pid file */
-//mdk-stage1// static char *pidfile = "/var/run/cardmgr.pid";
-
-#ifdef __linux__
-/* Default path for finding modules */
-//mdk-stage1// static char *modpath = NULL;
-#endif
-
-/* Default path for socket info table */
-static char *stabfile;
-
-/* If set, don't generate beeps when cards are inserted */
-//mdk-stage1// static int be_quiet = 0;
-
-/* If set, use modprobe instead of insmod */
-//mdk-stage1// static int do_modprobe = 0;
-
-/* If set, configure already inserted cards, then exit */
-//mdk-stage1// static int one_pass = 0;
-
-/* Extra message logging? */
-//mdk-stage1// static int verbose = 0;
-
-/*====================================================================*/
-
-#ifdef __linux__
-
-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) {
- 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;
-}
-
-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;
-}
-
-#endif /* __linux__ */
-
-int open_sock(int sock, int mode)
-{
-#ifdef __linux__
- dev_t dev = (major<<8)+sock;
- return open_dev(dev, mode);
-#endif
-#ifdef __BEOS__
- int fd;
- char fn[B_OS_NAME_LENGTH];
- sprintf(fn, "/dev/pcmcia/sock%d", sock);
- return open(fn, (mode & S_IWRITE) ? O_RDWR: O_RDONLY);
-#endif
-}
-
-/*======================================================================
-
- 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.
-
-======================================================================*/
-
-#ifdef __linux__
-
-#include <linux/major.h>
-#include <scsi/scsi.h>
-//mdk-stage1// #define VERSION(v,p,s) (((v)<<16)+(p<<8)+s)
-//mdk-stage1// #if (LINUX_VERSION_CODE < VERSION(2,1,126))
-//mdk-stage1// #define SCSI_DISK0_MAJOR SCSI_DISK_MAJOR
-//mdk-stage1// #endif
-
-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;
-}
-#endif
-
-/*====================================================================*/
-
-#define BEEP_TIME 150
-#define BEEP_OK 1000
-#define BEEP_WARN 2000
-#define BEEP_ERR 4000
-
-#ifdef __linux__
-
-//mdk-stage1// #include <sys/kd.h>
-//mdk-stage1//
-static void beep(unsigned int ms, unsigned int freq)
-{
-//mdk-stage1// int fd, arg;
-//mdk-stage1//
-//mdk-stage1// if (be_quiet)
-//mdk-stage1// return;
-//mdk-stage1// fd = open("/dev/console", O_RDWR);
-//mdk-stage1// if (fd < 0)
-//mdk-stage1// return;
-//mdk-stage1// arg = (ms << 16) | freq;
-//mdk-stage1// ioctl(fd, KDMKTONE, arg);
-//mdk-stage1// close(fd);
-//mdk-stage1// usleep(ms*1000);
-}
-
-#endif /* __linux__ */
-
-#ifdef __BEOS__
-static void beep(unsigned int ms, unsigned int freq)
-{
- if (!be_quiet) system("/bin/beep");
-}
-#endif
-
-/*====================================================================*/
-
-//mdk-stage1// static void write_pid(void)
-//mdk-stage1// {
-//mdk-stage1// FILE *f;
-//mdk-stage1// f = fopen(pidfile, "w");
-//mdk-stage1// if (f == NULL)
-//mdk-stage1// syslog(LOG_WARNING, "could not open %s: %m", pidfile);
-//mdk-stage1// else {
-//mdk-stage1// fprintf(f, "%d\n", getpid());
-//mdk-stage1// fclose(f);
-//mdk-stage1// }
-//mdk-stage1// }
-
-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;
- }
-#ifndef __BEOS__
- if (flock(fileno(f), LOCK_EX) != 0) {
- log_message("CM: flock(stabfile) failed: %m");
- return;
- }
-#endif
- for (i = 0; i < sockets; i++) {
- s = &socket[i];
- fprintf(f, "Socket %d: ", i);
- if (!(s->state & SOCKET_PRESENT)) {
- fprintf(f, "empty\n");
-//mdk-stage1// } else if (s->state & SOCKET_HOTPLUG) {
-//mdk-stage1// fprintf(f, "CardBus hotplug device\n");
- } else if (!s->card) {
- fprintf(f, "unsupported card\n");
- } else {
- fprintf(f, "%s\n", 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);
-#ifndef __BEOS__
- flock(fileno(f), LOCK_UN);
-#endif
- 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;
-}
-
-/*======================================================================
-
- Code to fetch a 2.4 kernel's hot plug PCI driver list
-
- This is distasteful but is the best I could come up with.
-
-======================================================================*/
-
-#ifdef __linux__
-
-typedef struct pci_id {
- u_short vendor, device;
- struct pci_id *next;
-} pci_id_t;
-
-static int get_pci_id(int ns, pci_id_t *id)
-{
- socket_info_t *s = &socket[ns];
- config_info_t config;
-
- config.Function = config.ConfigBase = 0;
- if ((ioctl(s->fd, DS_GET_CONFIGURATION_INFO, &config) != 0) ||
- (config.IntType != INT_CARDBUS) || !config.ConfigBase)
- return 0;
- id->vendor = config.ConfigBase & 0xffff;
- id->device = config.ConfigBase >> 16;
- return 1;
-}
-
-#endif /* __linux__ */
-
-/*====================================================================*/
-
-//mdk-stage1// static void log_card_info(cistpl_vers_1_t *vers,
-//mdk-stage1// cistpl_manfid_t *manfid,
-//mdk-stage1// cistpl_funcid_t *funcid,
-//mdk-stage1// pci_id_t *pci_id)
-//mdk-stage1// {
-//mdk-stage1// char v[256] = "";
-//mdk-stage1// int i;
-//mdk-stage1// static char *fn[] = {
-//mdk-stage1// "multi", "memory", "serial", "parallel", "fixed disk",
-//mdk-stage1// "video", "network", "AIMS", "SCSI"
-//mdk-stage1// };
-//mdk-stage1//
-//mdk-stage1// if (vers) {
-//mdk-stage1// for (i = 0; i < vers->ns; i++)
-//mdk-stage1// sprintf(v+strlen(v), "%s\"%s\"",
-//mdk-stage1// (i>0) ? ", " : "", vers->str+vers->ofs[i]);
-//mdk-stage1// syslog(LOG_INFO, " product info: %s", v);
-//mdk-stage1// } else {
-//mdk-stage1// syslog(LOG_INFO, " no product info available");
-//mdk-stage1// }
-//mdk-stage1// *v = '\0';
-//mdk-stage1// if (manfid->manf != 0)
-//mdk-stage1// sprintf(v, " manfid: 0x%04x, 0x%04x",
-//mdk-stage1// manfid->manf, manfid->card);
-//mdk-stage1// if (funcid->func != 0xff)
-//mdk-stage1// sprintf(v+strlen(v), " function: %d (%s)", funcid->func,
-//mdk-stage1// fn[funcid->func]);
-//mdk-stage1// if (strlen(v) > 0) syslog(LOG_INFO, "%s", v);
-//mdk-stage1// if (pci_id->vendor != 0)
-//mdk-stage1// syslog(LOG_INFO, " PCI id: 0x%04x, 0x%04x",
-//mdk-stage1// pci_id->vendor, pci_id->device);
-//mdk-stage1// }
-
-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;
- int i, ret, 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;
-
- for (card = root_card; card; card = card->next) {
-
- if (card->ident_type &
- ~(VERS_1_IDENT|MANFID_IDENT|TUPLE_IDENT))
- continue;
-
- if (card->ident_type & VERS_1_IDENT) {
- if (vers == NULL)
- continue;
- 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)
- continue;
- }
-
- if (card->ident_type & MANFID_IDENT) {
- if ((manfid.manf != card->manfid.manf) ||
- (manfid.card != card->manfid.card))
- continue;
- }
-
- if (card->ident_type & 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) continue;
- arg.tuple.TupleOffset = card->id.tuple.ofs;
- ret = ioctl(s->fd, DS_GET_TUPLE_DATA, &arg);
- if (ret != 0) continue;
- if (strncmp((char *)arg.tuple_parse.data,
- card->id.tuple.info,
- strlen(card->id.tuple.info)) != 0)
- continue;
- }
-
- break; /* we have a match */
- }
- }
-
- /* Check PCI vendor/device info */
- status.Function = 0;
- ioctl(s->fd, DS_GET_STATUS, &status);
- if (status.CardState & CS_EVENT_CB_DETECT) {
- if (get_pci_id(ns, &pci_id)) {
- if (!card) {
- for (card = root_card; card; card = card->next)
- if ((card->ident_type == PCI_IDENT) &&
- (pci_id.vendor == card->manfid.manf) &&
- (pci_id.device == card->manfid.card))
- break;
- }
- } else {
- /* this is a 2.4 kernel; hotplug handles these cards */
-//mdk-stage1// s->state |= SOCKET_HOTPLUG;
- log_message("CM: socket %d: CardBus hotplug device", ns);
- //beep(BEEP_TIME, BEEP_OK);
-//mdk-stage1// return NULL;
- }
- }
-
- /* 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);
- beep(BEEP_TIME, BEEP_OK);
-//mdk-stage1// if (verbose) log_card_info(vers, &manfid, &funcid, &pci_id);
- return card;
- }
-
- 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);
-//mdk-stage1// if (one_pass) return NULL;
- beep(BEEP_TIME, BEEP_ERR);
-//mdk-stage1// log_card_info(vers, &manfid, &funcid, &pci_id);
- return NULL;
- } else {
- card = blank_card;
- log_message("CM: socket %d: %s", ns, card->name);
- beep(BEEP_TIME, BEEP_WARN);
- return card;
- }
-}
-
-/*====================================================================*/
-
-static int load_config(void)
-{
- if (chdir(configpath) != 0) {
- log_message("CM: chdir to %s failed: %m", configpath);
- return -1;
- }
- if (parse_configfile("config") != 0) {
- log_message("CM: parsing of config file failed: %m");
- return -1;
- }
- if (root_device == NULL)
- log_message("CM: no device drivers defined");
- if ((root_card == NULL) && (root_func == NULL))
- log_message("CM: no cards defined");
- return 0;
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void free_card(card_info_t *card)
-//mdk-stage1// {
-//mdk-stage1// if (card && (--card->refs == 0)) {
-//mdk-stage1// int i;
-//mdk-stage1// free(card->name);
-//mdk-stage1// switch(card->ident_type) {
-//mdk-stage1// case VERS_1_IDENT:
-//mdk-stage1// for (i = 0; i < card->id.vers.ns; i++)
-//mdk-stage1// free(card->id.vers.pi[i]);
-//mdk-stage1// break;
-//mdk-stage1// case TUPLE_IDENT:
-//mdk-stage1// free(card->id.tuple.info);
-//mdk-stage1// break;
-//mdk-stage1// default:
-//mdk-stage1// break;
-//mdk-stage1// }
-//mdk-stage1// free(card);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void free_device(device_info_t *dev)
-//mdk-stage1// {
-//mdk-stage1// if (dev && (--dev->refs == 0)) {
-//mdk-stage1// int i;
-//mdk-stage1// for (i = 0; i < dev->modules; i++) {
-//mdk-stage1// free(dev->module[i]);
-//mdk-stage1// if (dev->opts[i]) free(dev->opts[i]);
-//mdk-stage1// }
-//mdk-stage1// if (dev->class) free(dev->class);
-//mdk-stage1// free(dev);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void free_mtd(mtd_ident_t *mtd)
-//mdk-stage1// {
-//mdk-stage1// if (mtd && (--mtd->refs == 0)) {
-//mdk-stage1// free(mtd->name);
-//mdk-stage1// free(mtd->module);
-//mdk-stage1// free(mtd);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void free_config(void)
-//mdk-stage1// {
-//mdk-stage1// while (root_adjust != NULL) {
-//mdk-stage1// adjust_list_t *adj = root_adjust;
-//mdk-stage1// root_adjust = root_adjust->next;
-//mdk-stage1// free(adj);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// while (root_device != NULL) {
-//mdk-stage1// device_info_t *dev = root_device;
-//mdk-stage1// root_device = root_device->next;
-//mdk-stage1// free_device(dev);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// while (root_card != NULL) {
-//mdk-stage1// card_info_t *card = root_card;
-//mdk-stage1// root_card = root_card->next;
-//mdk-stage1// free_card(card);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// while (root_func != NULL) {
-//mdk-stage1// card_info_t *card = root_func;
-//mdk-stage1// root_func = root_func->next;
-//mdk-stage1// free_card(card);
-//mdk-stage1// }
-//mdk-stage1// blank_card = NULL;
-//mdk-stage1//
-//mdk-stage1// while (root_mtd != NULL) {
-//mdk-stage1// mtd_ident_t *mtd = root_mtd;
-//mdk-stage1// root_mtd = root_mtd->next;
-//mdk-stage1// free_mtd(mtd);
-//mdk-stage1// }
-//mdk-stage1// default_mtd = NULL;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static int execute(char *msg, char *cmd)
-//mdk-stage1// {
-//mdk-stage1// int ret;
-//mdk-stage1// FILE *f;
-//mdk-stage1// char line[256];
-//mdk-stage1//
-//mdk-stage1// syslog(LOG_INFO, "executing: '%s'", cmd);
-//mdk-stage1// strcat(cmd, " 2>&1");
-//mdk-stage1// f = popen(cmd, "r");
-//mdk-stage1// while (fgets(line, 255, f)) {
-//mdk-stage1// line[strlen(line)-1] = '\0';
-//mdk-stage1// syslog(LOG_INFO, "+ %s", line);
-//mdk-stage1// }
-//mdk-stage1// ret = pclose(f);
-//mdk-stage1// if (WIFEXITED(ret)) {
-//mdk-stage1// if (WEXITSTATUS(ret))
-//mdk-stage1// syslog(LOG_INFO, "%s exited with status %d",
-//mdk-stage1// msg, WEXITSTATUS(ret));
-//mdk-stage1// return WEXITSTATUS(ret);
-//mdk-stage1// } else
-//mdk-stage1// syslog(LOG_INFO, "%s exited on signal %d",
-//mdk-stage1// msg, WTERMSIG(ret));
-//mdk-stage1// return -1;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static int execute_on_dev(char *action, char *class, char *dev)
-//mdk-stage1// {
-//mdk-stage1// /* Fixed length strings are ok here */
-//mdk-stage1// char msg[128], cmd[128];
-//mdk-stage1//
-//mdk-stage1// sprintf(msg, "%s cmd", action);
-//mdk-stage1// sprintf(cmd, "./%s %s %s", class, action, dev);
-//mdk-stage1// return execute(msg, cmd);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static int execute_on_all(char *cmd, char *class, int sn, int fn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// bind_info_t *bind;
-//mdk-stage1// int ret = 0;
-//mdk-stage1// for (bind = s->bind[fn]; bind != NULL; bind = bind->next)
-//mdk-stage1// if (bind->name[0] && (bind->name[2] != '#'))
-//mdk-stage1// ret |= execute_on_dev(cmd, class, bind->name);
-//mdk-stage1// return ret;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// #ifdef __linux__
-//mdk-stage1//
-//mdk-stage1// typedef struct module_list_t {
-//mdk-stage1// char *mod;
-//mdk-stage1// int usage;
-//mdk-stage1// struct module_list_t *next;
-//mdk-stage1// } module_list_t;
-//mdk-stage1//
-//mdk-stage1// static module_list_t *module_list = NULL;
-//mdk-stage1//
-//mdk-stage1// static int try_insmod(char *mod, char *opts)
-//mdk-stage1// {
-//mdk-stage1// char *cmd = malloc(strlen(mod) + strlen(modpath) +
-//mdk-stage1// (opts ? strlen(opts) : 0) + 30);
-//mdk-stage1// int ret;
-//mdk-stage1//
-//mdk-stage1// strcpy(cmd, "insmod ");
-//mdk-stage1// if (strchr(mod, '/') != NULL)
-//mdk-stage1// sprintf(cmd+7, "%s/%s.o", modpath, mod);
-//mdk-stage1// else
-//mdk-stage1// sprintf(cmd+7, "%s/pcmcia/%s.o", modpath, mod);
-//mdk-stage1// if (access(cmd+7, R_OK) != 0) {
-//mdk-stage1// syslog(LOG_INFO, "module %s not available", cmd+7);
-//mdk-stage1// free(cmd);
-//mdk-stage1// return -1;
-//mdk-stage1// }
-//mdk-stage1// if (opts) {
-//mdk-stage1// strcat(cmd, " ");
-//mdk-stage1// strcat(cmd, opts);
-//mdk-stage1// }
-//mdk-stage1// ret = execute("insmod", cmd);
-//mdk-stage1// free(cmd);
-//mdk-stage1// return ret;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static int try_modprobe(char *mod, char *opts)
-//mdk-stage1// {
-//mdk-stage1// char *cmd = malloc(strlen(mod) + (opts ? strlen(opts) : 0) + 20);
-//mdk-stage1// char *s = strrchr(mod, '/');
-//mdk-stage1// int ret;
-//mdk-stage1//
-//mdk-stage1// sprintf(cmd, "modprobe %s", (s) ? s+1 : mod);
-//mdk-stage1// if (opts) {
-//mdk-stage1// strcat(cmd, " ");
-//mdk-stage1// strcat(cmd, opts);
-//mdk-stage1// }
-//mdk-stage1// ret = execute("modprobe", cmd);
-//mdk-stage1// free(cmd);
-//mdk-stage1// return ret;
-//mdk-stage1// }
-
-static void install_module(char *mod, char *opts)
-{
- my_insmod(mod, ANY_DRIVER_TYPE, opts);
-//mdk-stage1// module_list_t *ml;
-//mdk-stage1//
-//mdk-stage1// for (ml = module_list; ml != NULL; ml = ml->next)
-//mdk-stage1// if (strcmp(mod, ml->mod) == 0) break;
-//mdk-stage1// if (ml == NULL) {
-//mdk-stage1// ml = (module_list_t *)malloc(sizeof(struct module_list_t));
-//mdk-stage1// ml->mod = mod;
-//mdk-stage1// ml->usage = 0;
-//mdk-stage1// ml->next = module_list;
-//mdk-stage1// module_list = ml;
-//mdk-stage1// }
-//mdk-stage1// ml->usage++;
-//mdk-stage1// if (ml->usage != 1)
-//mdk-stage1// return;
-//mdk-stage1//
-//mdk-stage1// #ifdef __linux__
-//mdk-stage1// if (access("/proc/bus/pccard/drivers", R_OK) == 0) {
-//mdk-stage1// FILE *f = fopen("/proc/bus/pccard/drivers", "r");
-//mdk-stage1// if (f) {
-//mdk-stage1// char a[61], s[33];
-//mdk-stage1// while (fgets(a, 60, f)) {
-//mdk-stage1// int is_kernel;
-//mdk-stage1// sscanf(a, "%s %d", s, &is_kernel);
-//mdk-stage1// if (strcmp(s, mod) != 0) continue;
-//mdk-stage1// /* If it isn't a module, we won't try to rmmod */
-//mdk-stage1// ml->usage += is_kernel;
-//mdk-stage1// fclose(f);
-//mdk-stage1// return;
-//mdk-stage1// }
-//mdk-stage1// fclose(f);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// #endif
-//mdk-stage1//
-//mdk-stage1// if (do_modprobe) {
-//mdk-stage1// if (try_modprobe(mod, opts) != 0)
-//mdk-stage1// try_insmod(mod, opts);
-//mdk-stage1// } else {
-//mdk-stage1// if (try_insmod(mod, opts) != 0)
-//mdk-stage1// try_modprobe(mod, opts);
-//mdk-stage1// }
-}
-
-//mdk-stage1// static void remove_module(char *mod)
-//mdk-stage1// {
-//mdk-stage1// char *s, cmd[128];
-//mdk-stage1// module_list_t *ml;
-//mdk-stage1//
-//mdk-stage1// for (ml = module_list; ml != NULL; ml = ml->next)
-//mdk-stage1// if (strcmp(mod, ml->mod) == 0) break;
-//mdk-stage1// if (ml != NULL) {
-//mdk-stage1// ml->usage--;
-//mdk-stage1// if (ml->usage == 0) {
-//mdk-stage1// /* Strip off leading path names */
-//mdk-stage1// s = strrchr(mod, '/');
-//mdk-stage1// s = (s) ? s+1 : mod;
-//mdk-stage1// sprintf(cmd, do_modprobe ? "modprobe -r %s" : "rmmod %s", s);
-//mdk-stage1// execute(do_modprobe ? "modprobe" : "rmmod", cmd);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// #endif /* __linux__ */
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// #ifdef __BEOS__
-//mdk-stage1//
-//mdk-stage1// #define install_module(a,b)
-//mdk-stage1// #define remove_module(a)
-//mdk-stage1//
-//mdk-stage1// static void republish_driver(char *mod)
-//mdk-stage1// {
-//mdk-stage1// int fd = open("/dev", O_RDWR);
-//mdk-stage1// write(fd, mod, strlen(mod));
-//mdk-stage1// close(fd);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// #endif /* __BEOS__ */
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-
-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%x: %s",
- attr ? "Attribute" : "Common", 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("CM: bind MTD '%s' to region at 0x%x failed: %m",
- (char *)mtd_info.dev_info, 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 != NULL) && (s->card != blank_card))
- return;
-
- log_message("CM: initializing socket %d", sn);
- card = lookup_card(sn);
- if (s->state & SOCKET_HOTPLUG) {
- write_stab();
- return;
- }
- /* 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);
-
-#ifdef __linux__
- /* 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]);
- }
-#endif
-
- /* 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);
- beep(BEEP_TIME, BEEP_ERR);
- write_stab();
- return;
- }
- }
-
-#ifdef __BEOS__
- republish_driver(dev[i]->module[0]);
-#endif
-
- 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);
- beep(BEEP_TIME, BEEP_ERR);
- write_stab();
- return;
- }
- tail = &s->bind[i];
- while (ret == 0) {
- bind_info_t *old;
-#ifdef __linux__
- if ((strlen(bind->name) > 3) && (bind->name[2] == '#'))
- xlate_scsi_name(bind);
-#endif
- 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();
- }
-
-//mdk-stage1// /* Run "start" commands */
-//mdk-stage1// for (i = ret = 0; i < card->bindings; i++)
-//mdk-stage1// if (dev[i]->class)
-//mdk-stage1// ret |= execute_on_all("start", dev[i]->class, sn, i);
-//mdk-stage1// beep(BEEP_TIME, (ret) ? BEEP_ERR : BEEP_OK);
-
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static int do_check(int sn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// card_info_t *card;
-//mdk-stage1// device_info_t **dev;
-//mdk-stage1// int i, ret;
-//mdk-stage1//
-//mdk-stage1// card = s->card;
-//mdk-stage1// if (card == NULL)
-//mdk-stage1// return 0;
-//mdk-stage1//
-//mdk-stage1// /* Run "check" commands */
-//mdk-stage1// dev = card->device;
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (dev[i]->class) {
-//mdk-stage1// ret = execute_on_all("check", dev[i]->class, sn, i);
-//mdk-stage1// if (ret != 0)
-//mdk-stage1// return CS_IN_USE;
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// return 0;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void do_remove(int sn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// card_info_t *card;
-//mdk-stage1// device_info_t **dev;
-//mdk-stage1// bind_info_t *bind;
-//mdk-stage1// int i, j;
-//mdk-stage1//
-//mdk-stage1// if (verbose) syslog(LOG_INFO, "shutting down socket %d", sn);
-//mdk-stage1//
-//mdk-stage1// card = s->card;
-//mdk-stage1// if (card == NULL)
-//mdk-stage1// goto done;
-//mdk-stage1//
-//mdk-stage1// /* Run "stop" commands */
-//mdk-stage1// dev = card->device;
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (dev[i]->class) {
-//mdk-stage1// execute_on_all("stop", dev[i]->class, sn, i);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /* unbind driver instances */
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (s->bind[i]) {
-//mdk-stage1// if (ioctl(s->fd, DS_UNBIND_REQUEST, s->bind[i]) != 0)
-//mdk-stage1// syslog(LOG_INFO, "unbind '%s' from socket %d failed: %m",
-//mdk-stage1// (char *)s->bind[i]->dev_info, sn);
-//mdk-stage1// while (s->bind[i]) {
-//mdk-stage1// bind = s->bind[i];
-//mdk-stage1// s->bind[i] = bind->next;
-//mdk-stage1// free(bind);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// for (i = 0; (s->mtd[i] != NULL); i++) {
-//mdk-stage1// bind_info_t b;
-//mdk-stage1// strcpy(b.dev_info, s->mtd[i]->module);
-//mdk-stage1// b.function = 0;
-//mdk-stage1// if (ioctl(s->fd, DS_UNBIND_REQUEST, &b) != 0)
-//mdk-stage1// syslog(LOG_INFO, "unbind MTD '%s' from socket %d failed: %m",
-//mdk-stage1// s->mtd[i]->module, sn);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /* remove kernel modules in inverse order */
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// for (j = dev[i]->modules-1; j >= 0; j--)
-//mdk-stage1// remove_module(dev[i]->module[j]);
-//mdk-stage1// free_device(dev[i]);
-//mdk-stage1// }
-//mdk-stage1// /* Remove any MTD's bound to this socket */
-//mdk-stage1// for (i = 0; (s->mtd[i] != NULL); i++) {
-//mdk-stage1// remove_module(s->mtd[i]->module);
-//mdk-stage1// free_mtd(s->mtd[i]);
-//mdk-stage1// s->mtd[i] = NULL;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// done:
-//mdk-stage1// beep(BEEP_TIME, BEEP_OK);
-//mdk-stage1// free_card(card);
-//mdk-stage1// s->card = NULL;
-//mdk-stage1// write_stab();
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void do_suspend(int sn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// card_info_t *card;
-//mdk-stage1// device_info_t **dev;
-//mdk-stage1// int i, ret;
-//mdk-stage1//
-//mdk-stage1// card = s->card;
-//mdk-stage1// if (card == NULL)
-//mdk-stage1// return;
-//mdk-stage1// dev = card->device;
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (dev[i]->class) {
-//mdk-stage1// ret = execute_on_all("suspend", dev[i]->class, sn, i);
-//mdk-stage1// if (ret != 0)
-//mdk-stage1// beep(BEEP_TIME, BEEP_ERR);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void do_resume(int sn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// card_info_t *card;
-//mdk-stage1// device_info_t **dev;
-//mdk-stage1// int i, ret;
-//mdk-stage1//
-//mdk-stage1// card = s->card;
-//mdk-stage1// if (card == NULL)
-//mdk-stage1// return;
-//mdk-stage1// dev = card->device;
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (dev[i]->class) {
-//mdk-stage1// ret = execute_on_all("resume", dev[i]->class, sn, i);
-//mdk-stage1// if (ret != 0)
-//mdk-stage1// beep(BEEP_TIME, BEEP_ERR);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-
-/*====================================================================*/
-
-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;
- }
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void free_resources(void)
-//mdk-stage1// {
-//mdk-stage1// adjust_list_t *al;
-//mdk-stage1// int fd = socket[0].fd;
-//mdk-stage1//
-//mdk-stage1// for (al = root_adjust; al; al = al->next) {
-//mdk-stage1// if (al->adj.Action == ADD_MANAGED_RESOURCE) {
-//mdk-stage1// al->adj.Action = REMOVE_MANAGED_RESOURCE;
-//mdk-stage1// ioctl(fd, DS_ADJUST_RESOURCE_INFO, &al->adj);
-//mdk-stage1// } else if ((al->adj.Action == REMOVE_MANAGED_RESOURCE) &&
-//mdk-stage1// (al->adj.Resource == RES_IRQ)) {
-//mdk-stage1// al->adj.Action = ADD_MANAGED_RESOURCE;
-//mdk-stage1// ioctl(fd, DS_ADJUST_RESOURCE_INFO, &al->adj);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// }
-
-/*====================================================================*/
-
-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 %p-%p",
- (char *)al->adj.resource.memory.Base,
- (char *)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: %m", tmp);
- }
- }
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static int cleanup_files = 0;
-//mdk-stage1//
-//mdk-stage1// static void fork_now(void)
-//mdk-stage1// {
-//mdk-stage1// int ret;
-//mdk-stage1// if ((ret = fork()) > 0) {
-//mdk-stage1// cleanup_files = 0;
-//mdk-stage1// exit(0);
-//mdk-stage1// }
-//mdk-stage1// if (ret == -1)
-//mdk-stage1// syslog(LOG_ERR, "forking: %m");
-//mdk-stage1// if (setsid() < 0)
-//mdk-stage1// syslog(LOG_ERR, "detaching from tty: %m");
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void done(void)
-//mdk-stage1// {
-//mdk-stage1// syslog(LOG_INFO, "exiting");
-//mdk-stage1// if (cleanup_files) {
-//mdk-stage1// unlink(pidfile);
-//mdk-stage1// unlink(stabfile);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// /* most recent signal */
-//mdk-stage1// static int caught_signal = 0;
-//mdk-stage1//
-//mdk-stage1// static void catch_signal(int sig)
-//mdk-stage1// {
-//mdk-stage1// caught_signal = sig;
-//mdk-stage1// if (signal(sig, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_INFO, "signal(%d): %m", sig);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void handle_signal(void)
-//mdk-stage1// {
-//mdk-stage1// int i;
-//mdk-stage1// switch (caught_signal) {
-//mdk-stage1// case SIGTERM:
-//mdk-stage1// case SIGINT:
-//mdk-stage1// for (i = 0; i < sockets; i++)
-//mdk-stage1// if ((socket[i].state & SOCKET_PRESENT) &&
-//mdk-stage1// (do_check(i) == 0)) do_remove(i);
-//mdk-stage1// free_resources();
-//mdk-stage1// exit(0);
-//mdk-stage1// break;
-//mdk-stage1// case SIGHUP:
-//mdk-stage1// free_resources();
-//mdk-stage1// free_config();
-//mdk-stage1// syslog(LOG_INFO, "re-loading config file");
-//mdk-stage1// load_config();
-//mdk-stage1// adjust_resources();
-//mdk-stage1// break;
-//mdk-stage1// #ifdef SIGPWR
-//mdk-stage1// case SIGPWR:
-//mdk-stage1// break;
-//mdk-stage1// #endif
-//mdk-stage1// }
-//mdk-stage1// }
-
-/*====================================================================*/
-
-static int init_sockets(void)
-{
- int fd, i;
- servinfo_t serv;
-
-#ifdef __linux__
- 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;
- }
-#endif
- 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: watching %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 (generally harmless)");
- } else {
- log_message("CM: could not get CS revision info!");
- return -1;
- }
- adjust_resources();
- return 0;
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// int main(int argc, char *argv[])
-//mdk-stage1// {
-//mdk-stage1// int optch, errflg;
-//mdk-stage1// int i, max_fd, ret, event, pass;
-//mdk-stage1// int delay_fork = 0;
-//mdk-stage1// struct timeval tv;
-//mdk-stage1// fd_set fds;
-//mdk-stage1//
-//mdk-stage1// if (access("/var/lib/pcmcia", R_OK) == 0) {
-//mdk-stage1// stabfile = "/var/lib/pcmcia/stab";
-//mdk-stage1// } else {
-//mdk-stage1// stabfile = "/var/run/stab";
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// errflg = 0;
-//mdk-stage1// while ((optch = getopt(argc, argv, "Vqdvofc:m:p:s:")) != -1) {
-//mdk-stage1// switch (optch) {
-//mdk-stage1// case 'V':
-//mdk-stage1// fprintf(stderr, "cardmgr version " CS_RELEASE "\n");
-//mdk-stage1// return 0;
-//mdk-stage1// break;
-//mdk-stage1// case 'q':
-//mdk-stage1// be_quiet = 1; break;
-//mdk-stage1// case 'v':
-//mdk-stage1// verbose = 1; break;
-//mdk-stage1// case 'o':
-//mdk-stage1// one_pass = 1; break;
-//mdk-stage1// case 'f':
-//mdk-stage1// delay_fork = 1; break;
-//mdk-stage1// case 'c':
-//mdk-stage1// configpath = strdup(optarg); break;
-//mdk-stage1// #ifdef __linux__
-//mdk-stage1// case 'd':
-//mdk-stage1// do_modprobe = 1; break;
-//mdk-stage1// case 'm':
-//mdk-stage1// modpath = strdup(optarg); break;
-//mdk-stage1// #endif
-//mdk-stage1// case 'p':
-//mdk-stage1// pidfile = strdup(optarg); break;
-//mdk-stage1// case 's':
-//mdk-stage1// stabfile = strdup(optarg); break;
-//mdk-stage1// default:
-//mdk-stage1// errflg = 1; break;
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// if (errflg || (optind < argc)) {
-//mdk-stage1// fprintf(stderr, "usage: %s [-V] [-q] [-v] [-d] [-o] [-f] "
-//mdk-stage1// "[-c configpath] [-m modpath]\n "
-//mdk-stage1// "[-p pidfile] [-s stabfile]\n", argv[0]);
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// #ifdef DEBUG
-//mdk-stage1// openlog("cardmgr", LOG_PID|LOG_PERROR, LOG_DAEMON);
-//mdk-stage1// #else
-//mdk-stage1// openlog("cardmgr", LOG_PID|LOG_CONS, LOG_DAEMON);
-//mdk-stage1// close(0); close(1); close(2);
-//mdk-stage1// if (!delay_fork && !one_pass)
-//mdk-stage1// fork_now();
-//mdk-stage1// #endif
-//mdk-stage1//
-//mdk-stage1// syslog(LOG_INFO, "starting, version is " CS_RELEASE);
-//mdk-stage1// atexit(&done);
-//mdk-stage1// putenv("PATH=/bin:/sbin:/usr/bin:/usr/sbin");
-//mdk-stage1// if (verbose)
-//mdk-stage1// putenv("VERBOSE=1");
-//mdk-stage1//
-//mdk-stage1// #ifdef __linux__
-//mdk-stage1// if (modpath == NULL) {
-//mdk-stage1// if (access("/lib/modules/preferred", X_OK) == 0)
-//mdk-stage1// modpath = "/lib/modules/preferred";
-//mdk-stage1// else {
-//mdk-stage1// struct utsname utsname;
-//mdk-stage1// if (uname(&utsname) != 0) {
-//mdk-stage1// syslog(LOG_ERR, "uname(): %m");
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// }
-//mdk-stage1// modpath = (char *)malloc(strlen(utsname.release)+14);
-//mdk-stage1// sprintf(modpath, "/lib/modules/%s", utsname.release);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// if (access(modpath, X_OK) != 0)
-//mdk-stage1// syslog(LOG_INFO, "cannot access %s: %m", modpath);
-//mdk-stage1// /* We default to using modprobe if it is available */
-//mdk-stage1// do_modprobe |= (access("/sbin/modprobe", X_OK) == 0);
-//mdk-stage1// #endif /* __linux__ */
-//mdk-stage1//
-//mdk-stage1// load_config();
-//mdk-stage1//
-//mdk-stage1// if (init_sockets() != 0)
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1//
-//mdk-stage1// /* If we've gotten this far, then clean up pid and stab at exit */
-//mdk-stage1// write_pid();
-//mdk-stage1// write_stab();
-//mdk-stage1// cleanup_files = 1;
-//mdk-stage1//
-//mdk-stage1// if (signal(SIGHUP, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_ERR, "signal(SIGHUP): %m");
-//mdk-stage1// if (signal(SIGTERM, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_ERR, "signal(SIGTERM): %m");
-//mdk-stage1// if (signal(SIGINT, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_ERR, "signal(SIGINT): %m");
-//mdk-stage1// #ifdef SIGPWR
-//mdk-stage1// if (signal(SIGPWR, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_ERR, "signal(SIGPWR): %m");
-//mdk-stage1// #endif
-//mdk-stage1//
-//mdk-stage1// for (i = max_fd = 0; i < sockets; i++)
-//mdk-stage1// max_fd = (socket[i].fd > max_fd) ? socket[i].fd : max_fd;
-//mdk-stage1//
-//mdk-stage1// /* First select() call: poll, don't wait */
-//mdk-stage1// tv.tv_sec = tv.tv_usec = 0;
-//mdk-stage1//
-//mdk-stage1// /* Wait for sockets in setup-pending state to settle */
-//mdk-stage1// if (one_pass || delay_fork)
-//mdk-stage1// wait_for_pending();
-//mdk-stage1//
-//mdk-stage1// for (pass = 0; ; pass++) {
-//mdk-stage1// FD_ZERO(&fds);
-//mdk-stage1// for (i = 0; i < sockets; i++)
-//mdk-stage1// FD_SET(socket[i].fd, &fds);
-//mdk-stage1//
-//mdk-stage1// while ((ret = select(max_fd+1, &fds, NULL, NULL,
-//mdk-stage1// ((pass == 0) ? &tv : NULL))) < 0) {
-//mdk-stage1// if (errno == EINTR) {
-//mdk-stage1// handle_signal();
-//mdk-stage1// } else {
-//mdk-stage1// syslog(LOG_ERR, "select(): %m");
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// for (i = 0; i < sockets; i++) {
-//mdk-stage1// if (!FD_ISSET(socket[i].fd, &fds))
-//mdk-stage1// continue;
-//mdk-stage1// ret = read(socket[i].fd, &event, 4);
-//mdk-stage1// if ((ret == -1) && (errno != EAGAIN))
-//mdk-stage1// syslog(LOG_INFO, "read(%d): %m\n", i);
-//mdk-stage1// if (ret != 4)
-//mdk-stage1// continue;
-//mdk-stage1//
-//mdk-stage1// switch (event) {
-//mdk-stage1// case CS_EVENT_CARD_REMOVAL:
-//mdk-stage1// socket[i].state = 0;
-//mdk-stage1// do_remove(i);
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_EJECTION_REQUEST:
-//mdk-stage1// ret = do_check(i);
-//mdk-stage1// if (ret == 0) {
-//mdk-stage1// socket[i].state = 0;
-//mdk-stage1// do_remove(i);
-//mdk-stage1// }
-//mdk-stage1// write(socket[i].fd, &ret, 4);
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_CARD_INSERTION:
-//mdk-stage1// case CS_EVENT_INSERTION_REQUEST:
-//mdk-stage1// socket[i].state |= SOCKET_PRESENT;
-//mdk-stage1// case CS_EVENT_CARD_RESET:
-//mdk-stage1// socket[i].state |= SOCKET_READY;
-//mdk-stage1// do_insert(i);
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_RESET_PHYSICAL:
-//mdk-stage1// socket[i].state &= ~SOCKET_READY;
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_PM_SUSPEND:
-//mdk-stage1// do_suspend(i);
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_PM_RESUME:
-//mdk-stage1// do_resume(i);
-//mdk-stage1// break;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// if (one_pass)
-//mdk-stage1// exit(EXIT_SUCCESS);
-//mdk-stage1// if (delay_fork) {
-//mdk-stage1// fork_now();
-//mdk-stage1// write_pid();
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// } /* repeat */
-//mdk-stage1// return 0;
-//mdk-stage1// }
-
-
-
-static void cardmgr_fail(void)
-{
- log_message("CM: cardmgr: failed");
-}
-
-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", 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 1d002e972..000000000
--- a/mdk-stage1/pcmcia_/cardmgr.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * cardmgr.h 1.37 2001/08/24 12:19: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 General 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;
-
-#define VERS_1_IDENT 0x0001
-#define MANFID_IDENT 0x0002
-#define TUPLE_IDENT 0x0010
-#define FUNC_IDENT 0x0020
-#define BLANK_IDENT 0x0040
-#define PCI_IDENT 0x0080
-#define EXCL_IDENT 0x00f0
-
-typedef struct card_info_t {
- char *name;
- int ident_type;
- union {
- vers_ident_t vers;
- tuple_ident_t tuple;
- func_ident_t func;
- } id;
- manfid_ident_t manfid;
- 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 49d7fa2de..000000000
--- a/mdk-stage1/pcmcia_/cirrus.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * cirrus.h 1.10 2001/08/24 12:15:33
- *
- * 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 General 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 1d4cac20e..000000000
--- a/mdk-stage1/pcmcia_/cistpl.h
+++ /dev/null
@@ -1,604 +0,0 @@
-/*
- * cistpl.h 1.35 2001/08/24 12:16: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 General 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_/cs.h b/mdk-stage1/pcmcia_/cs.h
deleted file mode 100644
index dea6937eb..000000000
--- a/mdk-stage1/pcmcia_/cs.h
+++ /dev/null
@@ -1,465 +0,0 @@
-/*
- * cs.h 1.73 2001/08/24 12:16: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 General 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
-#define INT_ZOOMED_VIDEO 0x08
-
-/* 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 a6b56b6bf..000000000
--- a/mdk-stage1/pcmcia_/cs_types.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * cs_types.h 1.19 2001/08/24 12:16: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 General 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 a7223e2c6..000000000
--- a/mdk-stage1/pcmcia_/driver_ops.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * driver_ops.h 1.16 2001/08/24 12:16:13
- *
- * 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 General 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 d191b09d6..000000000
--- a/mdk-stage1/pcmcia_/ds.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * ds.h 1.57 2001/08/24 12:16:13
- *
- * 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 General 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 27ee5837c..000000000
--- a/mdk-stage1/pcmcia_/i82365.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * i82365.h 1.21 2001/08/24 12:15:33
- *
- * 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 General 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 2f990618d..000000000
--- a/mdk-stage1/pcmcia_/lex_config.c
+++ /dev/null
@@ -1,2053 +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 )
-
-//mdk-stage1// #define unput(c) yyunput( c, yytext_ptr )
-
-/* 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.40 2001/08/24 12:21:25
- *
- * 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 General 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
-//mdk-stage1// static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#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 = NULL, *yy_bp = NULL;
- 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;
- }
-
-
-//mdk-stage1// #ifndef YY_NO_UNPUT
-//mdk-stage1// #ifdef YY_USE_PROTOS
-//mdk-stage1// static void yyunput( int c, register char *yy_bp )
-//mdk-stage1// #else
-//mdk-stage1// static void yyunput( c, yy_bp )
-//mdk-stage1// int c;
-//mdk-stage1// register char *yy_bp;
-//mdk-stage1// #endif
-//mdk-stage1// {
-//mdk-stage1// register char *yy_cp = yy_c_buf_p;
-//mdk-stage1//
-//mdk-stage1// /* undo effects of setting up yytext */
-//mdk-stage1// *yy_cp = yy_hold_char;
-//mdk-stage1//
-//mdk-stage1// if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-//mdk-stage1// { /* need to shift things up to make room */
-//mdk-stage1// /* +2 for EOB chars. */
-//mdk-stage1// register int number_to_move = yy_n_chars + 2;
-//mdk-stage1// register char *dest = &yy_current_buffer->yy_ch_buf[
-//mdk-stage1// yy_current_buffer->yy_buf_size + 2];
-//mdk-stage1// register char *source =
-//mdk-stage1// &yy_current_buffer->yy_ch_buf[number_to_move];
-//mdk-stage1//
-//mdk-stage1// while ( source > yy_current_buffer->yy_ch_buf )
-//mdk-stage1// *--dest = *--source;
-//mdk-stage1//
-//mdk-stage1// yy_cp += (int) (dest - source);
-//mdk-stage1// yy_bp += (int) (dest - source);
-//mdk-stage1// yy_current_buffer->yy_n_chars =
-//mdk-stage1// yy_n_chars = yy_current_buffer->yy_buf_size;
-//mdk-stage1//
-//mdk-stage1// if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-//mdk-stage1// YY_FATAL_ERROR( "flex scanner push-back overflow" );
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// *--yy_cp = (char) c;
-//mdk-stage1//
-//mdk-stage1//
-//mdk-stage1// yytext_ptr = yy_bp;
-//mdk-stage1// yy_hold_char = *yy_cp;
-//mdk-stage1// yy_c_buf_p = yy_cp;
-//mdk-stage1// }
-//mdk-stage1// #endif /* ifndef YY_NO_UNPUT */
-
-
-#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_/merge_from_pcitable b/mdk-stage1/pcmcia_/merge_from_pcitable
deleted file mode 100755
index 27cda239b..000000000
--- a/mdk-stage1/pcmcia_/merge_from_pcitable
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/perl
-
-# This program will show on stdout yenta_socket stuff from pcitable
-# which is not in probe.c
-
-use MDK::Common;
-
-my @probelines = cat_('probe.c');
-my $status = 0;
-foreach (@probelines) {
- if ($status == 0) {
- /^pci_id_t pci_id\[\] = {/ and $status = 1;
- } elsif ($status == 1) {
- /^\s*{\s*0x([\da-f]+),\s*0x([\da-f]+),\s*"([^"]*)",\s*"([^"]*)"\s*}/
- and push @probes, { vendor => $1, device => $2, tag => $3, name => $4, vd => "$1$2" };
- /^};/ and last;
- }
-}
-
-require '/usr/bin/merge2pcitable.pl';
-my $drivers = read_pcitable("/usr/share/ldetect-lst/pcitable");
-
-foreach my $k (sort keys %$drivers) {
- $v = $drivers->{$k};
- $k =~ /^(....)(....)/;
- push @pcitable, { vendor => $1, device => $2, driver => $v->[0], name => $v->[1], vd => "$1$2" };
-}
-
-my @res;
-print "Missing in `probe.c':\n";
-foreach my $p (@pcitable) {
- next if $p->{driver} ne 'yenta_socket';
- member($p->{vd}, map { $_->{vd} } @probes) or
- push @res, " { 0x$p->{vendor}, 0x$p->{device}, \"..\", \"$p->{name}\" },\n";
-}
-print sort @res;
-@res = ();
-print "\n";
-
-print "Missing in pcitable:\n";
-foreach my $p (@probes) {
- my @r = grep { $_->{vd} eq $p->{vd} } @pcitable;
- @r > 1 and die "duplicate entry in pcitable <$p->{vd}>\n";
- if (!@r || @r && $r[0]->{driver} ne 'yenta_socket') {
- push @res, "0x$p->{vendor}\t0x$p->{device}\t\"yenta_socket\"\t\"" . (@r ? $r[0]->{name} : '(COMPLETELY MISSING)') . "\"\n";
- @r and $r[0]->{driver} ne 'unknown' and print STDERR "WARNING, driver for <$p->{vd}> was <$r[0]->{driver}>\n";
- }
-}
-print sort @res;
-@res = ();
-print "\n";
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_/probe.c b/mdk-stage1/pcmcia_/probe.c
deleted file mode 100644
index bd1707b4f..000000000
--- a/mdk-stage1/pcmcia_/probe.c
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000-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.
- *
- *
- * Code comes from /anonymous@projects.sourceforge.net:/pub/pcmcia-cs/pcmcia-cs-3.1.29.tar.bz2
- */
-
-/*======================================================================
-
- PCMCIA controller probe
-
- probe.c 1.55 2001/08/24 12:19: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 General 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>
-
-//mdk-stage1// #include <pcmcia/config.h>
-#include "log.h"
-#include "pcmcia.h"
-
-/*====================================================================*/
-
-//mdk-stage1// #ifdef CONFIG_PCI
-
-typedef struct {
- u_short vendor, device;
- char *modname;
- char *name;
-} pci_id_t;
-
-pci_id_t pci_id[] = {
- { 0x1013, 0x1100, "i82365", "Cirrus Logic CL 6729" },
- { 0x1013, 0x1110, "yenta_socket", "Cirrus Logic PD 6832" },
- { 0x10b3, 0xb106, "yenta_socket", "SMC 34C90" },
- { 0x1180, 0x0465, "yenta_socket", "Ricoh RL5C465" },
- { 0x1180, 0x0466, "yenta_socket", "Ricoh RL5C466" },
- { 0x1180, 0x0475, "yenta_socket", "Ricoh RL5C475" },
- { 0x1180, 0x0476, "yenta_socket", "Ricoh RL5C476" },
- { 0x1180, 0x0477, "yenta_socket", "Ricoh RL5C477" },
- { 0x1180, 0x0478, "yenta_socket", "Ricoh RL5C478" },
- { 0x104c, 0xac12, "yenta_socket", "Texas Instruments PCI1130" },
- { 0x104c, 0xac13, "yenta_socket", "Texas Instruments PCI1031" },
- { 0x104c, 0xac15, "yenta_socket", "Texas Instruments PCI1131" },
- { 0x104c, 0xac1a, "yenta_socket", "Texas Instruments PCI1210" },
- { 0x104c, 0xac1e, "yenta_socket", "Texas Instruments PCI1211" },
- { 0x104c, 0xac17, "yenta_socket", "Texas Instruments PCI1220" },
- { 0x104c, 0xac19, "yenta_socket", "Texas Instruments PCI1221" },
- { 0x104c, 0xac1c, "yenta_socket", "Texas Instruments PCI1225" },
- { 0x104c, 0xac16, "yenta_socket", "Texas Instruments PCI1250" },
- { 0x104c, 0xac1d, "yenta_socket", "Texas Instruments PCI1251A" },
- { 0x104c, 0xac1f, "yenta_socket", "Texas Instruments PCI1251B" },
- { 0x104c, 0xac50, "yenta_socket", "Texas Instruments PCI1410" },
- { 0x104c, 0xac51, "yenta_socket", "Texas Instruments PCI1420" },
- { 0x104c, 0xac1b, "yenta_socket", "Texas Instruments PCI1450" },
- { 0x104c, 0xac52, "yenta_socket", "Texas Instruments PCI1451" },
- { 0x104c, 0xac56, "yenta_socket", "Texas Instruments PCI1510" },
- { 0x104c, 0xac55, "yenta_socket", "Texas Instruments PCI1520" },
- { 0x104c, 0xac54, "yenta_socket", "Texas Instruments PCI1620" },
- { 0x104c, 0xac41, "yenta_socket", "Texas Instruments PCI4410" },
- { 0x104c, 0xac40, "yenta_socket", "Texas Instruments PCI4450" },
- { 0x104c, 0xac42, "yenta_socket", "Texas Instruments PCI4451" },
- { 0x104c, 0xac44, "yenta_socket", "Texas Instruments PCI4510" },
- { 0x104c, 0xac46, "yenta_socket", "Texas Instruments PCI4520" },
- { 0x104c, 0xac49, "yenta_socket", "Texas Instruments PCI7410" },
- { 0x104c, 0xac47, "yenta_socket", "Texas Instruments PCI7510" },
- { 0x104c, 0xac48, "yenta_socket", "Texas Instruments PCI7610" },
- { 0x1217, 0x6729, "i82365", "O2 Micro 6729" },
- { 0x1217, 0x673a, "i82365", "O2 Micro 6730" },
- { 0x1217, 0x6832, "yenta_socket", "O2 Micro 6832/6833" },
- { 0x1217, 0x6836, "yenta_socket", "O2 Micro 6836/6860" },
- { 0x1217, 0x6872, "yenta_socket", "O2 Micro 6812" },
- { 0x1217, 0x6925, "yenta_socket", "O2 Micro 6922" },
- { 0x1217, 0x6933, "yenta_socket", "O2 Micro 6933" },
- { 0x1217, 0x6972, "yenta_socket", "O2 Micro 6912" },
- { 0x1179, 0x0603, "i82365", "Toshiba ToPIC95-A" },
- { 0x1179, 0x060a, "yenta_socket", "Toshiba ToPIC95-B" },
- { 0x1179, 0x060f, "yenta_socket", "Toshiba ToPIC97" },
- { 0x1179, 0x0617, "yenta_socket", "Toshiba ToPIC100" },
- { 0x119b, 0x1221, "i82365", "Omega Micro 82C092G" },
- { 0x8086, 0x1221, "i82092", "Intel 82092AA_0" },
- { 0x8086, 0x1222, "i82092", "Intel 82092AA_1" },
- { 0x1524, 0x1211, "yenta_socket", "ENE 1211" },
- { 0x1524, 0x1225, "yenta_socket", "ENE 1225" },
- { 0x1524, 0x1410, "yenta_socket", "ENE 1410" },
- { 0x1524, 0x1411, "yenta_socket", "ENE Technology CB1411" },
- { 0x1524, 0x1420, "yenta_socket", "ENE 1420" },
-};
-#define PCI_COUNT (sizeof(pci_id)/sizeof(pci_id_t))
-
-char * driver = NULL;
-
-static int pci_probe(void)
-{
- char s[256], *name = NULL;
- u_int device, vendor, i;
- FILE *f;
-
-//mdk-stage1// if (!module)
- log_message("PCMCIA: probing PCI bus..");
-
- if ((f = fopen("/proc/bus/pci/devices", "r")) != NULL) {
- 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;
- driver = pci_id[i].modname;
- }
- }
- }
-//mdk-stage1// else if ((f = fopen("/proc/pci", "r")) != NULL) {
-//mdk-stage1// while (fgets(s, 256, f) != NULL) {
-//mdk-stage1// t = strstr(s, "Device id=");
-//mdk-stage1// if (t) {
-//mdk-stage1// device = strtoul(t+10, NULL, 16);
-//mdk-stage1// t = strstr(s, "Vendor id=");
-//mdk-stage1// vendor = strtoul(t+10, NULL, 16);
-//mdk-stage1// for (i = 0; i < PCI_COUNT; i++)
-//mdk-stage1// if ((vendor == pci_id[i].vendor) &&
-//mdk-stage1// (device == pci_id[i].device)) break;
-//mdk-stage1// } else
-//mdk-stage1// for (i = 0; i < PCI_COUNT; i++)
-//mdk-stage1// if (strstr(s, pci_id[i].tag) != NULL) break;
-//mdk-stage1// if (i != PCI_COUNT) {
-//mdk-stage1// name = pci_id[i].name;
-//mdk-stage1// break;
-//mdk-stage1// } else {
-//mdk-stage1// t = strstr(s, "CardBus bridge");
-//mdk-stage1// if (t != NULL) {
-//mdk-stage1// name = t + 16;
-//mdk-stage1// t = strchr(s, '(');
-//mdk-stage1// t[-1] = '\0';
-//mdk-stage1// break;
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
- fclose(f);
-
- if (name) {
-//mdk-stage1// if (module)
-//mdk-stage1// printf("i82365\n");
-//mdk-stage1// else
- log_message("\t%s found, 2 sockets (driver %s).", name, driver);
- return 0;
- } else {
-//mdk-stage1// if (!module)
- log_message("\tnot found.");
- return -ENODEV;
- }
-}
-//mdk-stage1// #endif
-
-/*====================================================================*/
-
-//mdk-stage1// #ifdef CONFIG_ISA
-//mdk-stage1//
-//mdk-stage1// #ifdef __GLIBC__
-#include <sys/io.h>
-//mdk-stage1// #else
-//mdk-stage1// #include <asm/io.h>
-//mdk-stage1// #endif
-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);
-}
-
-int i365_probe(void)
-{
- int val, sock, done;
- char *name = "i82365sl";
-
-//mdk-stage1// if (!module)
- log_message("PCMCIA: probing for Intel PCIC (ISA)..");
-//mdk-stage1// if (verbose) printf("\n");
-
- 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);
-//mdk-stage1// if (verbose)
-//mdk-stage1// printf(" ident(%d)=%#2.2x", sock, val);
- 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;
- }
-
-//mdk-stage1// if (verbose) printf("\n ");
- if (sock == 0) {
-//mdk-stage1// if (!module)
- 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";
- }
- }
-
-//mdk-stage1// if (module)
-//mdk-stage1// printf("i82365\n");
-//mdk-stage1// else
- printf("\t%s found, %d sockets.\n", name, sock);
- return 0;
-
-} /* i365_probe */
-
-//mdk-stage1//#endif /* CONFIG_ISA */
-
-/*====================================================================*/
-
-//mdk-stage1//#ifdef CONFIG_ISA
-
-#include "tcic.h"
-
-//mdk-stage1//static ioaddr_t tcic_base = TCIC_BASE;
-
-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;
-}
-
-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;
-
-//mdk-stage1// if (!module)
- log_message("\tat %#3.3x: ", base); fflush(stdout);
-
- /* 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;
-}
-
-int tcic_probe(void)
-{
- int sock, id;
-
-//mdk-stage1// if (!module)
- log_message("PCMCIA: probing for Databook TCIC-2 (ISA).."); fflush(stdout);
-
- 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) {
-//mdk-stage1// if (!module)
- log_message("\tnot found.");
- return -ENODEV;
- }
-
-//mdk-stage1// if (module)
-//mdk-stage1// printf("tcic\n");
-//mdk-stage1// else {
- 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(" found at %#6x, %d sockets.", TCIC_BASE, sock);
-//mdk-stage1// }
- return 0;
-
-} /* tcic_probe */
-
-//mdk-stage1// #endif /* CONFIG_ISA */
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// int main(int argc, char *argv[])
-//mdk-stage1// {
-//mdk-stage1// int optch, errflg;
-//mdk-stage1// extern char *optarg;
-//mdk-stage1// int verbose = 0, module = 0;
-//mdk-stage1//
-//mdk-stage1// errflg = 0;
-//mdk-stage1// while ((optch = getopt(argc, argv, "t:vxm")) != -1) {
-//mdk-stage1// switch (optch) {
-//mdk-stage1// #ifdef CONFIG_ISA
-//mdk-stage1// case 't':
-//mdk-stage1// tcic_base = strtoul(optarg, NULL, 0); break;
-//mdk-stage1// #endif
-//mdk-stage1// case 'v':
-//mdk-stage1// verbose = 1; break;
-//mdk-stage1// case 'm':
-//mdk-stage1// module = 1; break;
-//mdk-stage1// default:
-//mdk-stage1// errflg = 1; break;
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// if (errflg || (optind < argc)) {
-//mdk-stage1// fprintf(stderr, "usage: %s [-t tcic_base] [-v] [-m]\n", argv[0]);
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// #ifdef CONFIG_PCI
-//mdk-stage1// if (pci_probe(verbose, module) == 0)
-//mdk-stage1// exit(EXIT_SUCCESS);
-//mdk-stage1// #endif
-//mdk-stage1// #ifdef CONFIG_ISA
-//mdk-stage1// if (i365_probe(verbose, module) == 0)
-//mdk-stage1// exit(EXIT_SUCCESS);
-//mdk-stage1// else if (tcic_probe(verbose, module, tcic_base) == 0)
-//mdk-stage1// exit(EXIT_SUCCESS);
-//mdk-stage1// #endif
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// return 0;
-//mdk-stage1// }
-
-
-char * pcmcia_probe(void)
-{
- if (!pci_probe())
- return driver;
- 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 cad193885..000000000
--- a/mdk-stage1/pcmcia_/tcic.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * tcic.h 1.15 2001/08/24 12:15:34
- *
- * 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 General 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 3be8f28bc..000000000
--- a/mdk-stage1/pcmcia_/version.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* version.h 1.101 2001/08/09 12:29:14 (David Hinds) */
-
-#define CS_RELEASE "3.1.29"
-#define CS_RELEASE_CODE 0x311d
diff --git a/mdk-stage1/pcmcia_/vg468.h b/mdk-stage1/pcmcia_/vg468.h
deleted file mode 100644
index 93dc00b37..000000000
--- a/mdk-stage1/pcmcia_/vg468.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * vg468.h 1.14 2001/08/24 12:15:34
- *
- * 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 General 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 79ec16eb5..000000000
--- a/mdk-stage1/pcmcia_/yacc_config.c
+++ /dev/null
@@ -1,1015 +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.53 2001/08/24 12:21:34
- *
- * 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 General 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;
-}
-
-#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 yylex(void);
-int
-yyparse()
-{
- 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 & EXCL_IDENT) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-4].card->ident_type = MANFID_IDENT;
- yyvsp[-4].card->manfid.manf = yyvsp[-2].num;
- yyvsp[-4].card->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->manfid.manf = yyvsp[-2].num;
- yyvsp[-4].card->manfid.card = yyvsp[0].num;
- }
-break;
-case 33:
-#line 264 "yacc_config.y"
-{
- if (yyvsp[-2].card->ident_type & EXCL_IDENT) {
- 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/.cvsignore b/mdk-stage1/ppp/.cvsignore
deleted file mode 100644
index c258b925d..000000000
--- a/mdk-stage1/ppp/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-pppd-bin
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 46bef52bb..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) && !defined(__dietlibc__)
-#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/.cvsignore b/mdk-stage1/ppp/pppd/.cvsignore
deleted file mode 100644
index 476ef2253..000000000
--- a/mdk-stage1/ppp/pppd/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-pppd
-pppd-DIET
diff --git a/mdk-stage1/ppp/pppd/Makefile b/mdk-stage1/ppp/pppd/Makefile
deleted file mode 100644
index 682ad08c1..000000000
--- a/mdk-stage1/ppp/pppd/Makefile
+++ /dev/null
@@ -1,49 +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
-
-
-TARGETS = pppd
-
-BINTARGET = ../pppd-bin
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a $(BINTARGET) pppd
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer -DDO_BSD_COMPRESS=0 -D_linux_=1 -DHAVE_MMAP -DNO_DRAND48 -D_BSD_SOURCE -D_GNU_SOURCE
-
-INCS = -I../include -I.
-
-ifeq (GLIBC, $(L))
-LIBS = -static -lcrypt
-endif
-
-
-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-linux.o ipxcp.o multilink.o tdb.o tty.o
-
-
-pppd: $(OBJS)
- $(DIET) gcc -o $@ $^ $(LIBS)
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(FLAGS) $(INCS) $(INCLUDES) -c $< -o $@
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 5f95a2982..000000000
--- a/mdk-stage1/ppp/pppd/auth.c
+++ /dev/null
@@ -1,1939 +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"
-
-#include <time.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;
- u_int32_t a, mask, 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 {
- printf("*** getnetbyname is unsupported, please report bug! ***\n");
- return;
- }
-
- 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 3f64357ed..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 1682dee03..000000000
--- a/mdk-stage1/ppp/pppd/magic.c
+++ /dev/null
@@ -1,88 +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 <stdlib.h>
-#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 c074938cd..000000000
--- a/mdk-stage1/ppp/pppd/main.c
+++ /dev/null
@@ -1,1846 +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());
- {
- int argc = 0;
- char * argv[500];
- char * ptr = program;
- while (ptr != NULL) {
- argv[argc] = ptr;
- argc++;
- ptr = strchr(ptr, ' ');
- if (ptr) {
- ptr[0] = '\0';
- ptr++;
- }
- }
- argv[argc] = NULL;
- execv(argv[0], argv);
- error("could not exec %s: %m", program);
- 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 0b8de3aae..000000000
--- a/mdk-stage1/ppp/pppd/md5.c
+++ /dev/null
@@ -1,309 +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 <stdlib.h>
-#include <string.h>
-
-#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 c30b07e0a..000000000
--- a/mdk-stage1/ppp/pppd/multilink.c
+++ /dev/null
@@ -1,397 +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 <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <ctype.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 1921d9ec5..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 e80784567..000000000
--- a/mdk-stage1/ppp/pppd/pathnames.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * define path names
- *
- * $Id$
- */
-
-#define _PATH_VARRUN "/var/run/"
-#define _PATH_DEVNULL "/dev/null"
-#define _ROOT_PATH
-
-#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/resolv.conf"
-
-#define _PATH_USEROPT ".ppprc"
-
-#define _PATH_PPPDB _ROOT_PATH _PATH_VARRUN "pppd.tdb"
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 3ab92dfba..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 (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(__dietlibc__)
-#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 5861d8980..000000000
--- a/mdk-stage1/ppp/pppd/utils.c
+++ /dev/null
@@ -1,949 +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"
-#include <time.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 *);
-#if !defined(__powerpc__) && !defined(__x86_64__)
- 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 4a1b9a0dc..000000000
--- a/mdk-stage1/probing.c
+++ /dev/null
@@ -1,718 +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 only SCSI, NET, CPQ, USB Controllers) devices (autoprobe for PCI and USB)
- * (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 <sys/mount.h>
-#include "stage1.h"
-
-#include "log.h"
-#include "frontend.h"
-#include "modules.h"
-#include "pci-resource/pci-ids.h"
-#ifdef ENABLE_USB
-#include "usb-resource/usb-ids.h"
-#endif
-
-#include "probing.h"
-
-
-struct media_info {
- char * name;
- char * model;
- enum media_type type;
-};
-
-
-static void warning_insmod_failed(enum insmod_return r)
-{
- if (IS_AUTOMATIC && r == INSMOD_FAILED_FILE_NOT_FOUND)
- return;
- if (r != INSMOD_OK) {
- if (r == INSMOD_FAILED_FILE_NOT_FOUND)
- stg1_error_message("This floppy doesn't contain the driver.");
- else
- 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
-
-void discovered_device(enum driver_type type,
- unsigned short vendor, unsigned short device, unsigned short subvendor, unsigned short subdevice,
- const char * description, const char * driver)
-{
- log_message("PCI: device %04x %04x %04x %04x is \"%s\", driver is %s", vendor, device, subvendor, subdevice, description, driver);
-#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", description);
- wait_msg = 1;
- } else
- stg1_info_message("About to load driver for SCSI adapter:\n \n%s", description);
- failed = my_insmod(driver, 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", description);
- prepare_intf_descr(description);
- warning_insmod_failed(my_insmod(driver, NETWORK_DEVICES, NULL));
- if (intf_descr_for_discover) /* for modules providing more than one net intf */
- net_discovered_interface(NULL);
- }
-#endif
-#ifdef ENABLE_USB
- if (type == USB_CONTROLLERS)
- my_insmod(driver, USB_CONTROLLERS, NULL);
-#endif
-}
-
-#ifdef ENABLE_USB
-void probe_that_type(enum driver_type type, enum media_bus bus)
-#else
-void probe_that_type(enum driver_type type, enum media_bus bus __attribute__ ((unused)))
-#endif
-{
- /* ---- PCI probe ---------------------------------------------- */
- {
- FILE * f = NULL;
- unsigned int len = 0;
- unsigned int len_full = 0;
- char buf[200];
- struct pci_module_map * pcidb = NULL;
- struct pci_module_map_full * pcidb_full = NULL;
-
- switch (type) {
-#ifndef DISABLE_PCIADAPTERS
-#ifndef DISABLE_MEDIAS
- static int already_probed_scsi_adapters = 0;
- case SCSI_ADAPTERS:
- if (already_probed_scsi_adapters)
- goto end_pci_probe;
- already_probed_scsi_adapters = 1;
- pcidb = medias_pci_ids;
- len = medias_num_ids;
- pcidb_full = medias_pci_ids_full;
- len_full = medias_num_ids_full;
- break;
-#endif
-#ifndef DISABLE_NETWORK
- case NETWORK_DEVICES:
- pcidb = network_pci_ids;
- len = network_num_ids;
- pcidb_full = network_pci_ids_full;
- len_full = network_num_ids_full;
- break;
-#endif
-#endif
-#ifdef ENABLE_USB
- static int already_probed_usb_controllers = 0;
- case USB_CONTROLLERS:
- if (already_probed_usb_controllers || IS_NOAUTO)
- goto end_pci_probe;
- already_probed_usb_controllers = 1;
- pcidb = usb_pci_ids;
- len = usb_num_ids;
- break;
-#endif
- default:
- goto end_pci_probe;
- }
-
- if (IS_EXPERT && type != USB_CONTROLLERS) {
- ask_insmod(type);
- return;
- }
-
- if (!(f = fopen("/proc/bus/pci/devices", "rb"))) {
- log_message("PCI: could not open proc file");
- goto end_pci_probe;
- }
-
- while (1) {
- unsigned int i;
- unsigned short vendor, device, subvendor, subdevice, devbusfn;
- subvendor = 0xFFFF;
-
- if (!fgets(buf, sizeof(buf), f)) break;
-
- sscanf(buf, "%hx %x", &devbusfn, &i);
- device = i;
- vendor = i >> 16;
-
- for (i = 0; i < len_full; i++)
- if (pcidb_full[i].vendor == vendor && pcidb_full[i].device == device) {
- if (subvendor == 0xFFFF) {
- int bus = devbusfn >> 8;
- int device_p = (devbusfn & 0xff) >> 3;
- int function = (devbusfn & 0xff) & 0x07;
- char file[100];
- int sf;
- log_message("PCI: device %04x %04x needs full pci probe", vendor, device);
- sprintf(file, "/proc/bus/pci/%02x/%02x.%d", bus, device_p, function);
- if ((sf = open(file, O_RDONLY)) == -1) {
- log_message("PCI: could not open file for full probe (%s)", file);
- continue;
- }
- if (read(sf, buf, 48) == -1) {
- log_message("PCI: could not read 48 bytes from %s", file);
- close(sf);
- continue;
- }
- close(sf);
- memcpy(&subvendor, buf+44, 2);
- memcpy(&subdevice, buf+46, 2);
- log_message("PCI: device is actually %04x %04x %04x %04x", vendor, device, subvendor, subdevice);
- }
- if (pcidb_full[i].subvendor == subvendor && pcidb_full[i].subdevice == subdevice) {
- discovered_device(type, vendor, device, subvendor, subdevice, pcidb_full[i].name, pcidb_full[i].module);
- goto next_pci_device;
- }
- }
-
- for (i = 0; i < len; i++)
- if (pcidb[i].vendor == vendor && pcidb[i].device == device) {
- discovered_device(type, vendor, device, 0xFFFF, 0xFFFF, pcidb[i].name, pcidb[i].module);
- goto next_pci_device;
- }
- next_pci_device:;
- }
- end_pci_probe:;
- if (f)
- fclose(f);
- }
-
-
-#ifdef ENABLE_USB
- /* ---- USB probe ---------------------------------------------- */
- if ((bus == BUS_USB || bus == BUS_ANY) && !(IS_NOAUTO)) {
- static int already_probed_usb_controllers = 0;
- static int already_mounted_usbdev = 0;
-
- FILE * f = NULL;
- int len = 0;
- char buf[200];
- struct usb_module_map * usbdb = NULL;
-
- if (!already_probed_usb_controllers) {
- already_probed_usb_controllers = 1;
- probe_that_type(USB_CONTROLLERS, BUS_ANY);
- }
-
- if (!already_mounted_usbdev) {
- already_mounted_usbdev = 1;
- my_insmod("usb-storage", SCSI_ADAPTERS, NULL);
- if (module_already_present("ieee1394"))
- my_insmod("sbp2", SCSI_ADAPTERS, NULL);
- if (mount("/proc/bus/usb", "/proc/bus/usb", "usbdevfs", 0, NULL)) {
- log_message("USB: couldn't mount /proc/bus/usb");
- goto end_usb_probe;
- }
- wait_message("Detecting USB devices.");
- sleep(4); /* sucking background work */
- my_insmod("usbkbd", ANY_DRIVER_TYPE, NULL);
- my_insmod("keybdev", ANY_DRIVER_TYPE, NULL);
- remove_wait_message();
- }
-
- if (!(f = fopen("/proc/bus/usb/devices", "rb"))) {
- log_message("USB: could not open proc file");
- goto end_usb_probe;
- }
-
- switch (type) {
- case NETWORK_DEVICES:
- usbdb = usb_usb_ids;
- len = usb_usb_num_ids;
- break;
- default:
- goto end_usb_probe;
- }
-
- while (1) {
- int i, vendor, id;
-
- if (!fgets(buf, sizeof(buf), f)) break;
-
- if (sscanf(buf, "P: Vendor=%x ProdID=%x", &vendor, &id) != 2)
- continue;
-
- for (i = 0; i < len; i++) {
- if (usbdb[i].vendor == vendor && usbdb[i].id == id) {
- log_message("USB: device %04x %04x is \"%s\" (%s)", vendor, id, usbdb[i].name, usbdb[i].module);
-#ifndef DISABLE_NETWORK
- if (type == NETWORK_DEVICES) {
- stg1_info_message("About to load driver for usb network device:\n \n%s", usbdb[i].name);
- prepare_intf_descr(usbdb[i].name);
- warning_insmod_failed(my_insmod(usbdb[i].module, NETWORK_DEVICES, NULL));
- if (intf_descr_for_discover) /* for modules providing more than one net intf */
- net_discovered_interface(NULL);
- }
-#endif
-
- }
- }
- }
- end_usb_probe:;
- if (f)
- fclose(f);
- }
-#endif
-}
-
-
-#ifndef DISABLE_MEDIAS
-static struct media_info * medias = NULL;
-
-static void find_media(enum media_bus bus)
-{
- char b[50];
- char buf[5000];
- struct media_info tmp[50];
- int count = 0;
- int fd;
-
- if (medias)
- free(medias); /* that does not free the strings, by the way */
-
- if (bus == BUS_SCSI || bus == BUS_USB || bus == BUS_ANY)
- probe_that_type(SCSI_ADAPTERS, bus);
-
- /* ----------------------------------------------- */
- if (bus != BUS_IDE && bus != BUS_ANY)
- goto find_media_after_ide;
- log_message("looking for ide media");
-
- strcpy(b, "/proc/ide/hd");
- for (b[12] = 'a'; b[12] <= 't'; 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);
- count++;
- }
-
- find_media_after_ide:
- /* ----------------------------------------------- */
- if (bus != BUS_SCSI && bus != BUS_USB && bus != BUS_ANY)
- goto find_media_after_scsi;
- 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, "sr%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);
- count++;
- }
-
- state = SCSI_HOST;
- }
-
- start = next;
- }
-
- end_scsi:;
- }
-
- /* ----------------------------------------------- */
- log_message("looking for Compaq Smart Array media");
- {
- char * procfiles[] = { "/proc/driver/cpqarray/ida0", "/proc/driver/cciss/cciss0", // 2.4 style
- "/proc/array/ida", "/proc/cciss/cciss", // 2.2 style
- NULL };
- static char cpq_descr[] = "Compaq RAID logical disk";
- char ** procfile = procfiles;
- FILE * f;
- while (procfile && *procfile && (f = fopen(*procfile, "rb"))) {
- while (fgets(buf, sizeof(buf), f)) {
- if (ptr_begins_static_str(buf, "ida/") || ptr_begins_static_str(buf, "cciss/")) {
- char * end = strchr(buf, ':');
- if (!end)
- log_message("Inconsistency in %s, line:\n%s", *procfile, buf);
- else {
- *end = '\0';
- tmp[count].name = strdup(buf);
- tmp[count].type = DISK;
- tmp[count].model = cpq_descr;
- log_message("CPQ: found %s", tmp[count].name);
- count++;
- }
- }
- }
- fclose(f);
- procfile++;
- }
- }
-
- /* ----------------------------------------------- */
- log_message("looking for DAC960");
- {
- FILE * f;
- if ((f = fopen("/tmp/syslog", "rb"))) {
- while (fgets(buf, sizeof(buf), f)) {
- char * start;
- if ((start = strstr(buf, "/dev/rd/"))) {
- char * end = strchr(start, ':');
- if (!end)
- log_message("Inconsistency in syslog, line:\n%s", buf);
- else {
- *end = '\0';
- tmp[count].name = strdup(start+5);
- tmp[count].type = DISK;
- start = end + 2;
- end = strchr(start, ',');
- if (end) {
- *end = '\0';
- tmp[count].model = strdup(start);
- } else
- tmp[count].model = "(unknown)";
- log_message("DAC960: found %s (%s)", tmp[count].name, tmp[count].model);
- count++;
- }
- }
- }
- fclose(f);
- }
- }
- find_media_after_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, enum media_bus bus)
-{
- struct media_info * m;
- char * tmp_names[50];
- char * tmp_models[50];
- int count;
-
- find_media(bus);
-
- 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", "eth4", "eth5",
- "tr0",
- "plip0", "plip1", "plip2",
- "fddi0",
-#ifdef ENABLE_USB
- "usb0", "usb1", "usb2", "usb3",
-#endif
- 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, BUS_ANY);
- }
-
- 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 ce107b752..000000000
--- a/mdk-stage1/probing.h
+++ /dev/null
@@ -1,38 +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, USB_CONTROLLERS, ANY_DRIVER_TYPE };
-
-enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_ANY };
-
-void get_medias(enum media_type media, char *** names, char *** models, enum media_bus bus);
-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);
-void probe_that_type(enum driver_type type, enum media_bus bus);
-
-#endif
diff --git a/mdk-stage1/rescue-gui.c b/mdk-stage1/rescue-gui.c
deleted file mode 100644
index dbe12cb4a..000000000
--- a/mdk-stage1/rescue-gui.c
+++ /dev/null
@@ -1,236 +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.
- *
- */
-
-#include <stdlib.h>
-#define _USE_BSD
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include <sys/ioctl.h>
-#include <linux/unistd.h>
-#include <sys/select.h>
-
-#include "config-stage1.h"
-#include "frontend.h"
-#include "tools.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"
-#if defined(__x86_64__) || defined(__ppc64__)
- ":/lib64:/usr/lib64:/usr/X11R6/lib64:/mnt/lib64:/mnt/usr/lib64:/mnt/usr/X11R6/lib64"
-#endif
- ,
- "HOME=/",
- "TERM=linux",
- "TERMINFO=/etc/terminfo",
- NULL
-};
-
-/* pause() already exists and causes the invoking process to sleep
- until a signal is received */
-static void PAUSE(void) {
- unsigned char t;
- fflush(stdout);
- read(0, &t, 1);
-}
-
-
-/* ------ UUURGH this is duplicated from `init.c', don't edit here........ */
-static inline _syscall3(int, reboot, int, magic, int, magic2, int, flag);
-#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; };
-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) {
- printf("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);
- }
-}
-/* ------ UUURGH -- end */
-
-
-/* ------ UUURGH -- this is dirrrrrttttyyyyyy */
-void probe_that_type(void) {}
-
-
-int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)))
-{
- enum return_type results;
-
- char install_bootloader[] = "Re-install Boot Loader";
-#ifdef __i386__
- char restore_ms_boot[] = "Restore Windows Boot Loader";
-#endif
- char mount_parts[] = "Mount your partitions under /mnt";
- char go_to_console[] = "Go to console";
- char reboot_[] = "Reboot";
- char doc[] = "Doc: what's addressed by this Rescue?";
-
- char * actions[] = { install_bootloader,
-#ifdef __i386__
- restore_ms_boot,
-#endif
- mount_parts, go_to_console, reboot_, doc, NULL };
- char * choice;
-
- init_frontend("Welcome to " DISTRIB_NAME " Rescue (" VERSION ") " __DATE__ " " __TIME__);
-
- do {
- int pid;
- char * binary = NULL;
-
- choice = "";
- results = ask_from_list("Please choose the desired action.", actions, &choice);
-
- if (ptr_begins_static_str(choice, install_bootloader)) {
- binary = "/usr/bin/install_bootloader";
- }
-#ifdef __i386__
- if (ptr_begins_static_str(choice, restore_ms_boot)) {
- binary = "/usr/bin/restore_ms_boot";
- }
-#endif
- if (ptr_begins_static_str(choice, mount_parts)) {
- binary = "/usr/bin/guessmounts";
- }
- if (ptr_begins_static_str(choice, reboot_)) {
- finish_frontend();
- unmount_filesystems();
- printf("rebooting system\n");
- sleep(2);
- reboot(0xfee1dead, 672274793, 0x01234567);
- }
- if (ptr_begins_static_str(choice, doc)) {
- binary = "/usr/bin/rescue-doc";
- }
-
- if (binary) {
- int wait_status;
- suspend_to_console();
- if (!(pid = fork())) {
-
- char * child_argv[2];
- child_argv[0] = binary;
- child_argv[1] = NULL;
-
- execve(child_argv[0], child_argv, env);
- printf("Can't execute binary (%s)\n<press Enter>\n", binary);
- PAUSE();
-
- return 33;
- }
- while (wait4(-1, &wait_status, 0, NULL) != pid) {};
- printf("<press Enter to return to Rescue GUI>");
- PAUSE();
- resume_from_suspend();
- if (!WIFEXITED(wait_status) || WEXITSTATUS(wait_status) != 0) {
- error_message("Program exited abnormally (return code %d).", WEXITSTATUS(wait_status));
- if (WIFSIGNALED(wait_status))
- error_message("(received signal %d)", WTERMSIG(wait_status));
- }
- }
-
- } while (results == RETURN_OK && !ptr_begins_static_str(choice, go_to_console));
-
- finish_frontend();
- printf("Bye.\n");
-
- return 0;
-}
diff --git a/mdk-stage1/rp-pppoe/.cvsignore b/mdk-stage1/rp-pppoe/.cvsignore
deleted file mode 100644
index 1f345b56b..000000000
--- a/mdk-stage1/rp-pppoe/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-pppoe-bin
diff --git a/mdk-stage1/rp-pppoe/README b/mdk-stage1/rp-pppoe/README
deleted file mode 100644
index 269fc16be..000000000
--- a/mdk-stage1/rp-pppoe/README
+++ /dev/null
@@ -1,87 +0,0 @@
-pppoe: a PPP-over-Ethernet redirector for pppd
-Copyright (C) 2001 Roaring Penguin Software Inc.
-
-Much inspiration from an earlier client by Luke Stras.
-
-The MSS clamping was inspired by mssclampfw by Marc Boucher <marc@mbsi.ca>
-with acknowledgements to Rebel.com (http://www.rebel.com). However, the
-actual MSS clamping code is original and is licensed under the GPL, unlike
-the original mssclampfw.
-
-Introduction
-============
-
-pppoe is a user-space redirector which permits the use of PPPoE
-(Point-to-Point Over Ethernet) with Linux. PPPoE is used by many
-ADSL service providers.
-
-Installation
-============
-
-Requirements
-------------
-
-1) Linux 2.2.9 or later on Intel, Sparc or PowerPC. It may work on
- Alpha, too -- anyone care to let me know?
-
- OR
-
- Linux 2.0.36 or later.
-
- OR
-
- FreeBSD, NetBSD or OpenBSD with BPF support. I have access only
- to FreeBSD. In general, I can't answer questions about the *BSD's
- as well as I can about Linux.
-
-
-2) pppd 2.3.10 or later. Versions 2.3.7 and later work unless you use
- demand-dialling. For demand dialling, you *must* use 2.3.10 or later.
-
-QUICKSTART
-----------
-
-If you're lucky, the "quickstart" method will work. After unpacking
-the archive, become root and type:
-
- ./go
-
-This should configure, compile and install the software and set up your
-ADSL connection. You'll have to answer a few questions along the way.
-
-If you want the GUI wrapper, type:
-
- ./go-gui
-
-If ./go and ./go-gui didn't work, read the rest of this README.
-
-Compiling
----------
-
-Compile and install pppd if you don't already have it. Then:
-
-1) Unpack:
-
- $ tar xzvf rp-pppoe-xxx.tar.gz
-
-2) Change to source directory:
-
- $ cd src
-
-3) Configure:
-
- $ ./configure
-
-4) Compile:
-
- $ make
-
-4) Install (this step must be done as root)
-
- # make install
-
-5) Now read doc/HOW-TO-CONNECT
-
---
-David F. Skoll <dfs@roaringpenguin.com> | Roaring Penguin Software Inc.
-http://www.roaringpenguin.com | Linux and UNIX Specialists \ No newline at end of file
diff --git a/mdk-stage1/rp-pppoe/configs/firewall-masq b/mdk-stage1/rp-pppoe/configs/firewall-masq
deleted file mode 100644
index cb16fbecf..000000000
--- a/mdk-stage1/rp-pppoe/configs/firewall-masq
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-#
-# firewall-masq This script sets up firewall rules for a machine
-# acting as a masquerading gateway
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-
-# Interface to Internet
-EXTIF=ppp+
-
-ANY=0.0.0.0/0
-
-ipchains -P input ACCEPT
-ipchains -P output ACCEPT
-ipchains -P forward DENY
-
-ipchains -F forward
-ipchains -F input
-ipchains -F output
-
-# Deny TCP and UDP packets to privileged ports
-ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
-ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
-
-# Deny TCP connection attempts
-ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
-
-# Deny ICMP echo-requests
-ipchains -A input -l -i $EXTIF -s $ANY echo-request -p icmp -j DENY
-
-# Do masquerading
-ipchains -A forward -j MASQ
-echo 1 > /proc/sys/net/ipv4/ip_forward
diff --git a/mdk-stage1/rp-pppoe/configs/firewall-standalone b/mdk-stage1/rp-pppoe/configs/firewall-standalone
deleted file mode 100644
index bcb1e92b1..000000000
--- a/mdk-stage1/rp-pppoe/configs/firewall-standalone
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-#
-# firewall-standalone This script sets up firewall rules for a standalone
-# machine
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-
-# Interface to Internet
-EXTIF=ppp+
-
-ANY=0.0.0.0/0
-
-ipchains -P input ACCEPT
-ipchains -P output ACCEPT
-ipchains -P forward DENY
-
-ipchains -F forward
-ipchains -F input
-ipchains -F output
-
-# Deny TCP and UDP packets to privileged ports
-ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
-ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
-
-# Deny TCP connection attempts
-ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
-
-# Deny ICMP echo-requests
-ipchains -A input -l -i $EXTIF -s $ANY echo-request -p icmp -j DENY
-
diff --git a/mdk-stage1/rp-pppoe/configs/pap-secrets b/mdk-stage1/rp-pppoe/configs/pap-secrets
deleted file mode 100644
index f4483a723..000000000
--- a/mdk-stage1/rp-pppoe/configs/pap-secrets
+++ /dev/null
@@ -1,9 +0,0 @@
-# Edit this file and place it in /etc/ppp/pap-secrets
-
-#User #Server #Password #IP
-bxxxxx@sympatico.ca * my_password *
-
-# Replace bxxxxx@sympatico.ca with your Sympatico user-ID
-# Replace my_password with your Sympatico password
-
-# For Magma, use xxyyzz@magma.ca
diff --git a/mdk-stage1/rp-pppoe/configs/pppoe-server-options b/mdk-stage1/rp-pppoe/configs/pppoe-server-options
deleted file mode 100644
index 8319870ac..000000000
--- a/mdk-stage1/rp-pppoe/configs/pppoe-server-options
+++ /dev/null
@@ -1,5 +0,0 @@
-# PPP options for the PPPoE server
-require-pap
-login
-lcp-echo-interval 10
-lcp-echo-failure 2
diff --git a/mdk-stage1/rp-pppoe/configs/pppoe.conf b/mdk-stage1/rp-pppoe/configs/pppoe.conf
deleted file mode 100644
index 9f77b913c..000000000
--- a/mdk-stage1/rp-pppoe/configs/pppoe.conf
+++ /dev/null
@@ -1,126 +0,0 @@
-#***********************************************************************
-#
-# pppoe.conf
-#
-# Configuration file for rp-pppoe. Edit as appropriate and install in
-# /etc/ppp/pppoe.conf
-#
-# NOTE: This file is used by the adsl-start, adsl-stop, adsl-connect and
-# adsl-status shell scripts. It is *not* used in any way by the
-# "pppoe" executable.
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# $Id$
-#***********************************************************************
-
-# When you configure a variable, DO NOT leave spaces around the "=" sign.
-
-# Ethernet card connected to ADSL modem
-ETH=eth1
-
-# ADSL user name. You may have to supply "@provider.com" Sympatico
-# users in Canada do need to include "@sympatico.ca"
-# Sympatico uses PAP authentication. Make sure /etc/ppp/pap-secrets
-# contains the right username/password combination.
-# For Magma, use xxyyzz@magma.ca
-USER=bxxxnxnx@sympatico.ca
-
-# Bring link up on demand? Default is to leave link up all the time.
-# If you want the link to come up on demand, set DEMAND to a number indicating
-# the idle time after which the link is brought down.
-DEMAND=no
-#DEMAND=300
-
-# DNS type: SERVER=obtain from server; SPECIFY=use DNS1 and DNS2;
-# NOCHANGE=do not adjust.
-DNSTYPE=SERVER
-
-# Obtain DNS server addresses from the peer (recent versions of pppd only)
-USEPEERDNS=yes
-
-DNS1=
-DNS2=
-
-### ONLY TOUCH THE FOLLOWING SETTINGS IF YOU'RE AN EXPERT
-
-# How long adsl-start waits for a new PPP interface to appear before
-# concluding something went wrong. If you use 0, then adsl-start
-# exits immediately with a successful status and does not wait for the
-# link to come up. Time is in seconds.
-#
-# WARNING WARNING WARNING:
-#
-# If you are using rp-pppoe on a physically-inaccessible host, set
-# CONNECT_TIMEOUT to 0. This makes SURE that the machine keeps trying
-# to connect forever after adsl-start is called. Otherwise, it will
-# give out after CONNECT_TIMEOUT seconds and will not attempt to
-# connect again, making it impossible to reach.
-CONNECT_TIMEOUT=30
-
-# How often in seconds adsl-start polls to check if link is up
-CONNECT_POLL=2
-
-# Specific desired AC Name
-ACNAME=
-
-# Specific desired service name
-SERVICENAME=
-
-# Character to echo at each poll. Use PING="" if you don't want
-# anything echoed
-PING="."
-
-# File where the adsl-connect script writes its process-ID.
-# Three files are actually used:
-# $PIDFILE contains PID of adsl-connect script
-# $PIDFILE.pppoe contains PID of pppoe process
-# $PIDFILE.pppd contains PID of pppd process
-CF_BASE=`basename $CONFIG`
-PIDFILE="/var/run/$CF_BASE-adsl.pid"
-
-# Do you want to use synchronous PPP? "yes" or "no". "yes" is much
-# easier on CPU usage, but may not work for you. It is safer to use
-# "no", but you may want to experiment with "yes". "yes" is generally
-# safe on Linux machines with the n_hdlc line discipline; unsafe on others.
-SYNCHRONOUS=no
-
-# Do you want to clamp the MSS? Here's how to decide:
-# - If you have only a SINGLE computer connected to the ADSL modem, choose
-# "no".
-# - If you have a computer acting as a gateway for a LAN, choose "1412".
-# The setting of 1412 is safe for either setup, but uses slightly more
-# CPU power.
-CLAMPMSS=1412
-#CLAMPMSS=no
-
-# LCP echo interval and failure count.
-LCP_INTERVAL=20
-LCP_FAILURE=3
-
-# PPPOE_TIMEOUT should be about 4*LCP_INTERVAL
-PPPOE_TIMEOUT=80
-
-# Firewalling: One of NONE, STANDALONE or MASQUERADE
-FIREWALL=NONE
-
-# Linux kernel-mode plugin for pppd. If you want to try the kernel-mode
-# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
-LINUX_PLUGIN=
-
-# Any extra arguments to pass to pppoe. Normally, use a blank string
-# like this:
-PPPOE_EXTRA=""
-
-# Rumour has it that "Citizen's Communications" with a 3Com
-# HomeConnect ADSL Modem DualLink requires these extra options:
-# PPPOE_EXTRA="-f 3c12:3c13 -S ISP"
-
-# Any extra arguments to pass to pppd. Normally, use a blank string
-# like this:
-PPPD_EXTRA=""
-
-
diff --git a/mdk-stage1/rp-pppoe/doc/CHANGES b/mdk-stage1/rp-pppoe/doc/CHANGES
deleted file mode 100644
index 9afce027d..000000000
--- a/mdk-stage1/rp-pppoe/doc/CHANGES
+++ /dev/null
@@ -1,177 +0,0 @@
-Changes from Version 2.8 to 3.0:
-
-- Many small improvements to server. Server now only makes one
- discovery socket, systemwide, with addition of "-n" option to pppoe.
-
-- Fixes for compilation problems on BSD, Solaris and some Linux platforms.
-
-- Added "-p" option to pppoe-server to allow you to specify a pool of
- IP addresses to assign to clients.
-
-- Added GUI system (tkpppoe). This work was funded by Iospan
- Wireless, Inc. The GUI includes a Set-UID wrapper (pppoe-wrapper)
- which allows ordinary users to control a link (if so authorized.)
- I believe the wrapper script is secure, but please audit the
- source code (gui/wrapper.c) if you have any concerns.
-
-- Changes to scripts and pppoe.conf. DNS setup is now dynamic (happens
- each time adsl-connect runs.)
-
-- Made relay.c check packet lengths rigorously; made it throw out Ethernet
- frame padding on session packets as well as discovery packets.
-
-Changes from Version 2.7 to 2.8:
-
-- Added init scripts for TurboLinux, courtesy of Yasuhiro Sumi.
-
-- Made relay.c check packet lengths rigorously; made it throw out Ethernet
- frame padding on discovery packets.
-
-*** NOTE: 2.7 was not released publicly
-
-Changes from Version 2.6 to 2.7:
-
-- Completely restructured source file tree.
-
-- Much internal restructuring to eliminate a bunch of global variables.
-
-- adsl-connect now executes /etc/ppp/adsl-lost whenever connection is dropped
- or cannot be established.
-
-- Split pppoe.c into pppoe.c and discovery.c.
-
-- Added relay agent (pppoe-relay).
-
-- Made adsl-connect script use the "-U" (host-unique) option to better support
- multiple PPPoE links.
-
-- Added support for kernel-mode PPPoE (EXPERIMENTAL, UNSUPPORTED!)
-
-- Added "-o" option to PPPoE server; encoded server PID in pppoe-server
- cookie.
-
-Changes from Version 2.5 to 2.6:
-
-- Code should now compile cleanly on Caldera and Slackware Linux
-
-- Fixed rp-pppoe.spec file to work on Mandrake and Red Hat.
-
-- Deleted some obsolete files
-
-- Fixed bug in Solaris/x86 port (thanks to Philippe Levan)
-
-- Made shell scripts nicer under Solaris (again, Philippe Levan)
-
-- Made adsl-status look under /var/run and /etc/ppp for PID files. Should
- fix problems with NetBSD.
-
-- Added PPPD_EXTRA to pppoe.conf; made the PID file depend on the config
- file name. This makes it easier to run multiple PPPoE sessions.
-
-Changes from Version 2.4 to 2.5:
-
-- Tested for zero-length TCP option-length field, and for reverse-packing
- of type/code bitfields. Thanks to Robert Schlabbach for pointing out
- these problems.
-
-- Set umask to 077 in adsl-setup.in to protect created files like
- /etc/ppp/pap-secrets.
-
-Changes from Version 2.3 to 2.4:
-
-- Fixed spec file to automatically add .gz extension to man files as required
-
-- Tightened firewall rules.
-
-- Better check for /var/run in adsl-status; minor shell script fixes and
- cleanups for NetBSD and Solaris.
-
-- Added FAQ to HOW-TO-CONNECT regarding running a script each time a
- connection is made.
-
-Changes from Version 2.2 to 2.3:
-
-- Fixed the init script to create/remove /var/lock/subsys/adsl (patch
- courtesy of Charley Carter.)
-
-- Added support (under Linux) for N_HDLC line discipline which should
- greatly reduce CPU usage. My tests show it cuts CPU usage in half.
- My 486 DX2/66 gets 800 kb/s at 22% CPU usage.
-
-- adsl-connect uses "setsid" (if available) so that adsl-stop doesn't kill
- its caller. There is (IMO) a bug in pppd which kills all processes in
- its process group if the "pty" option is used. The setsid program gets
- around this bug, on Linux at least.
-
-- Port to Solaris, courtesy of David Holland.
-
-- Renamed spec file from "spec" to "rp-pppoe.spec" and made some cleanups.
- NOTE: Red Hat, in their infinite wisdom, decided to make the new RPM
- compress man pages automatically. You may have problems building RPM's
- from source unless you get the latest rpm package and make sure it
- compresses man pages.
-
-Changes from Version 2.1 to 2.2:
-
-- Added "-f" option to pppoe to allow use of any Ethernet frame type
- for PPPoE. USE WITH CAUTION -- this is a workaround for broken DSL
- providers, not something you should monkey with freely!
-
-- Added pppoe-sniff program to help expose non-standard PPPoE implementations.
-
-Changes from Version 2.0 to 2.1:
-
-- Fixed minor bugs in bounds-checking
-
-- Modified adsl-status to use output of "netstat -r -n" to determine whether
- or not link is up. This should make it independent of locale, I hope!
-
-- Added "-k" and "-d" options to pppoe.
-
-Changes from Version 1.9 to 2.0:
-
-- Addition of pppoe-server
-
-- Massive internal code restructuring
-
-- Zealous bounds-checking everywhere.
-
-- adsl-setup now quotes user name and password in /etc/ppp/pap-secrets.
-
-- Ported to OpenBSD, FreeBSD and NetBSD, courtesy of Geoff Mottram
- and Yannis Sismanis.
-
-- Rearranged adsl-* shell scripts, courtesy of Heiko Schlittermann.
-
-- Fixed bug in which Host-Uniq did not work if access concentrator sent
- a cookie.
-
-- Addition of SuSE-specific "init" script, courtesy of Gary Cameron.
-
-Changes from Version 1.8 to 1.9:
-
-- Added some more documentation to HOW-TO-CONNECT
-
-- Demand-dialling option now works correctly
-
-- SIGHUP terminates pppoe after sending a PADT to the access concentrator
-
-- Minor cleanups to connection shell scripts
-
-Changes from Version 1.7 to 1.8:
-
-- Added demand-dialling option
-
-- Clarified HOW-TO-CONNECT
-
-- Added adsl-status script
-
-- Added "restart" and "status" options to Red Hat /etc/rc.d/init.d/adsl script
-
-- Made adsl-setup check for existence of pppd
-
-- Wildcarded external interface in firewall rules
-
-- Made pppoe send a PADT frame if connection is terminated
-
-$Id$
diff --git a/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT b/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT
deleted file mode 100644
index 3e888af69..000000000
--- a/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT
+++ /dev/null
@@ -1,295 +0,0 @@
-$Id$
-
-This package lets you connect a Linux machine to Sympatico HSE or Magma's
-high-speed service using a Nortel 1-meg modem.
-
-Follow these steps and you should have your high-speed service up and running.
-
-0. Install the rp-pppoe-software
---------------------------------
-
-You should have already done this by the time you're reading this. If not,
-go back and read README.
-
-1. Set up your Ethernet hardware
---------------------------------
-
-First, make sure the Ethernet card you intend to use with the modem is
-visible to the Linux kernel. Just how to do this is beyond the scope
-of this document. However, if the card is the only Ethernet card in
-the system, executing:
-
- ifconfig eth0
-
-should display something like this:
-
- eth0 Link encap:Ethernet HWaddr 00:60:67:62:31:D4
-
-plust some more lines. Your HWaddr will be different. As long as you see
-the HWaddr line, your card should be working.
-
-DO NOT assign an IP address to the Ethernet card. DO NOT configure the
-card to come up at boot time.
-
-2. Configure various files
---------------------------
-
-Several files need editing. The easiest way to do this is to run
-the following command as root:
-
- adsl-setup
-
-Answer the questions and you should be all set. If you want to know what
-goes on behind the scenes, continue reading this document. If you don't
-care and your connection works, stop reading. :-)
-
-3. Edit pap-secrets
--------------------
-
-Edit the "pap-secrets" file, inserting your proper user-ID and password.
-Install the file (or copy the relevant lines) to /etc/ppp/pap-secrets.
-Your ISP may use CHAP authentication. In this case, add the line to
-/etc/ppp/chap-secrets.
-
-4. Edit /etc/ppp/pppoe.conf
------------------------------
-
-The file /etc/ppp/pppoe.conf contains configuration information for the
-ADSL connection. You need to edit the following items:
-
-- Change ETH=eth1 to the correct Ethernet device for your modem.
-- Change USER=bxxxnxnx@sympatico.ca to your proper ADSL user-ID.
-
-Don't edit any of the other settings unless you're an expert.
-
-5. Set up DNS
--------------
-
-If you are using DNS servers supplied by your ISP, edit the file
-/etc/resolv.conf to contain these lines:
-
- nameserver ip_addr_of_first_dns_server
- nameserver ip_addr_of_second_dns_server
-
-For example:
-
- nameserver 204.101.251.1
- nameserver 204.101.251.2
-
-
-6. Firewall your machine
-------------------------
-
-MAKE SURE YOU FIREWALL YOUR MACHINE. A sample firewall script is given
-in the shell script "firewall" To install the script:
-
-a) Copy it to /etc/rc.d/init.d/firewall
-b) Type: chkconfig firewall on
-c) Start the firewall: sh /etc/rc.d/init.d/firewall start
-
-(The above procedure works ONLY on Red Hat-like systems.)
-
-You may want to tweak the script somewhat.
-
-7. Bring up the connection at boot time
----------------------------------------
-
-On a Red Hat system, the installation procedure should have installed
-a script called /etc/rc.d/init.d/adsl. To bring up the connection
-at boot time, just type this command as root:
-
- chkconfig --add adsl
-
-On non-Red-Hat systems, add this line to the end
-of /etc/rc.d/rc.local:
-
- /usr/sbin/adsl-start
-
-8. Configure LAN Hosts
-----------------------
-
-If you have a LAN behind the firewall, you have to lower the TCP
-maximum segment size from the normal 1460 to 1452 (or better, 1412.)
-You have two options: Either set the MTU of all the interfaces on
-other hosts on the LAN to 1452, or use the "-m 1412" option to pppoe.
-The "-m" option for pppoe is far simpler and makes it easier to add
-hosts to the LAN, but consumes some extra CPU time.
-
-If you want to manually configure the LAN hosts, here's how:
-
-In Linux, use: "ifconfig eth0 mtu 1452". For best results, put this
-in an /etc/rc.d/rc.local script.
-
-For Windows, machines, see http://lan.cns.ksu.edu/OS/WIN95/slip95.htm.
-Set the MaxMTU to 1452.
-
-9. Commands to control the ADSL link
-------------------------------------
-
-As root, bring up the link by typing: adsl-start
-As root, bring down the link by typing: adsl-stop
-
-That's it!
-
---
-David F. Skoll <dfs@roaringpenguin.com> | Roaring Penguin Software Inc.
-http://www.roaringpenguin.com | Linux and UNIX Specialists
-
-PROBLEMS! DAVE, IT DOESN'T WORK!
----------------------------------
-
-Here are some problems PPPoE users have encountered.
-
------------------------------------------------------------------------------
-A) Can't see the Ethernet interface
-
-Well, I can't really help you here. To use these instructions, you must
-have Linux working to the point where it recognizes your Ethernet card.
-If you type "ifconfig ethx" and you get back a HWAddr value, your Ethernet
-card is probably OK. But I really can't help with hardware configuration
-issues.
-
------------------------------------------------------------------------------
-B) Connection seems to come up, but I can't browse the web or ping anything
-
-You probably don't have DNS set up. See step 6.
-
------------------------------------------------------------------------------
-C) Can't compile PPPoE
-
-I have only tested compilation on 2.2-kernel machines. Make sure you have
-"make", the C compiler and all development header files installed.
-
------------------------------------------------------------------------------
-D) pppd complains about (i) "unknown option pty" or (ii) "pty option precludes
- specifying device name"
-
-(i) Your pppd is too old. You need at least 2.3.7.
-(ii) Your /etc/ppp/options file is not empty. Empty it!
-
------------------------------------------------------------------------------
-E) pppoe dies with the log message "Message too long"
-
-You set the MTU of the Ethernet interface connected to the ADSL modem
-to less than 1500. Don't do that.
-
------------------------------------------------------------------------------
-F) Internal hosts can't see the Internet
-
-Do you have masquerading set up? I can't help you in great detail, but
-see the IPCHAINS-HOWTO and the IP-Masquerade mini-HOWTO.
-
------------------------------------------------------------------------------
-G) Authentication fails
-
-Make sure you have the right secret in /etc/ppp/pap-secrets. Your ISP
-may be using CHAP; it won't hurt to copy the line to /etc/ppp/chap-secrets.
-
-Also, MAKE SURE that /etc/ppp/options is EMPTY. The "adsl-connect" script
-supplies all required options on the command line; additional options
-in /etc/ppp/options may mess things up.
-
------------------------------------------------------------------------------
-H) VPN software does not work
-
-If you are using VPN software on a Windows or Linux machine with another
-Linux machine running PPPoE as the gateway, you MUST NOT use the "-m" option
-to pppoe. This alters IP packets, which will break any VPN which uses IPSec.
-In /etc/ppp/pppoe.conf, set CLAMPMSS to "no". You'll also have to reduce
-the MTU on the hosts behind the gateway to 1452.
-
------------------------------------------------------------------------------
-I) I can browse some web sites just fine, but others stall forever.
-
-There is probably a buggy router or firewall between you and the Web server.
-One possible workaround: In /etc/ppp/pppoe.conf, find the line which reads:
-
- CLAMPMSS=1412
-
-Try lowering the 1412 until it works (go down in steps of 100 or so.) Each
-time you lower the value, you have to restart your connection like this:
-
- adsl-stop; adsl-start
-
-This should work around buggy routers which do not support Path MTU discovery.
-
------------------------------------------------------------------------------
-J) Whenever I connect using ADSL, my internal LAN no longer sees the gateway
-
-You are more than likely running a 2.0.X Linux kernel. To solve this
-problem, give the Ethernet card connected to the DSL modem a fake IP
-address. For example, if eth0 is your internal LAN card and eth1 goes to
-the DSL modem, do something like this:
-
- ifconfig eth1 10.0.0.1 netmask 255.255.255.0
-
-(You may have to choose a different IP address; experiment.)
------------------------------------------------------------------------------
-K) How can I run a script every time I connect and get a new IP address?
-
-Put the script in /etc/ppp/ip-up. See the pppd(8) man page.
------------------------------------------------------------------------------
-L) Nothing works!
-
-You may need to put your Ethernet card in half-duplex, 10Mb/s mode to
-work with the DSL modem. You may have to run a DOS program to do this,
-or pass special parameters to the Linux driver.
-
-Some providers object to attempts to set the MRU or MTU. Try removing
-"mtu 1492 mru 1492" from PPP_STD_OPTIONS in the adsl-connect script.
-This problem has been seen with an ISP in Hong Kong.
-
-Your DSL provider may be using non-standard PPPoE frames or require
-something special in the Service-Name field. If you have two computers,
-you can try sniffing out these values with the "pppoe-sniff" program.
-Type "man pppoe-sniff" for details. If you don't have two computers,
-you'll have to ask your DSL provider if it uses non-standard PPPoE frames
-or special Service-Name fields. Good luck getting an answer...
-
-If pppoe-sniff indicates that nothing is amiss, make sure the Ethernet
-card associated with the ADSL modem does NOT have a valid IP address.
-(NOTE: For 2.0 kernels, you may have to give it a fake IP address
-which is not on your internal subnet. Something like 192.168.42.42
-might work if you are not using 192.168.42.*)
-
-If you are using synchronous PPP on a slow machine, try switching to
-asynchronous PPP.
-
-Make sure no entries in the routing table go through the Ethernet card
-connected to the ADSL modem. You might want to add these lines in
-adsl-connect:
-
- ifconfig ethx down
- ifconfig ethx up mtu 1500
-
-which should reset things to sane values.
-
-#######################################################################
-# WHEN ALL ELSE FAILS: #
-#######################################################################
-
-If you are completely unable to connect, run the adsl-start script in
-debugging mode. If you are using bash as your shell (if you don't
-know what your shell is, it's probably bash), type this:
-
- DEBUG=1 adsl-start
-
-In tcsh or csh, use:
-
- setenv DEBUG 1; adsl-start
-
-Then follow the instructions to mail the debugging file to me. PLEASE
-DON'T DO THIS until you have exhausted all other avenues; rp-pppoe is
-free software and it costs me time and money to help people with
-problems. While I don't mind doing this, I do mind it if you don't
-make an effort to fix the problem yourself first.
-
-WARNING: If you run adsl-start in debugging mode and you manage to
-connect, your connection will be extremely slow and huge amounts of
-data will quickly fill your /tmp directory. Do not use debugging mode
-unless you really cannot get your connection to work.
-
-Be aware that debugging mode produces hex dumps which potentially reveal
-your user name and password. If the debugging output includes packets
-labeled "PPPOE Session", you may wish to remove these packets from the
-dump before mailing it to me.
diff --git a/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE b/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE
deleted file mode 100644
index 454c4b870..000000000
--- a/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE
+++ /dev/null
@@ -1,39 +0,0 @@
-RP-PPPoE now supports kernel-mode PPPoE on Linux kernels 2.4.x. However,
-the default "./go" build procedure does not make kernel-mode support.
-
-Here's what you need to do:
-
-1) Download Michal Ostrowski's patched version of pppd which supports
-a PPPoE plugin. The latest version as of this writing is
-at http://www.math.uwaterloo.ca/~mostrows/ in
-http://www.math.uwaterloo.ca/~mostrows/ppp-2.4.0-pppoe4.tgz. It is
-also mirrored at http://www.roaringpenguin.com/pppoe/
-
-2) Unpack that version of pppd and build and install it.
-
-3) In the rp-pppoe directory, change to src/ and type:
-
- ./configure --enable-plugin=/path/to/ppp-tree
-
-Here, /path/to/ppp-tree is where you unpacked the pppd software. It
-should be the directory named ppp-2.4.0.pppoe
-
-4) Type make; make install
-
-5) Edit /etc/ppp/pppoe.conf to include this line:
-
- LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
-
-6) Make sure your kernel was built with support for PPP, PPPOX and that
-all modules are locatable by modprobe. Make sure you have a /dev/ppp
-device:
-
- mknod /dev/ppp c 108 0
-
-After that, adsl-start should use kernel-mode PPPoE.
-
-This code is experimental and unsupported. Use at your own risk.
-
---
-David F. Skoll <dfs@roaringpenguin.com>
-
diff --git a/mdk-stage1/rp-pppoe/doc/LICENSE b/mdk-stage1/rp-pppoe/doc/LICENSE
deleted file mode 100644
index 9ed341535..000000000
--- a/mdk-stage1/rp-pppoe/doc/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, 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
-
- Appendix: 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., 675 Mass Ave, Cambridge, MA 02139, 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/mdk-stage1/rp-pppoe/doc/PROBLEMS b/mdk-stage1/rp-pppoe/doc/PROBLEMS
deleted file mode 100644
index f0b7d7d59..000000000
--- a/mdk-stage1/rp-pppoe/doc/PROBLEMS
+++ /dev/null
@@ -1,3 +0,0 @@
-Problems?
-
-See the last section of HOW-TO-CONNECT.
diff --git a/mdk-stage1/rp-pppoe/go b/mdk-stage1/rp-pppoe/go
deleted file mode 100755
index 305ac9ee4..000000000
--- a/mdk-stage1/rp-pppoe/go
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-#***********************************************************************
-#
-# go
-#
-# Quick-start shell script to set up ADSL
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#***********************************************************************
-
-# Figure out directory of script
-MYDIR=`dirname $0`
-cd $MYDIR/src
-
-echo "Running ./configure..."
-./configure
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like ./configure failed."
- exit 1
-fi
-
-echo "Running make..."
-make
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make failed."
- exit 1
-fi
-
-echo "Running make install..."
-make install
-
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make install failed."
- exit 1
-fi
-
-for i in a a a a a a a a a a a a a a a a a a a a a a a a a a a a ; do
- echo ""
-done
-
-sh ../scripts/adsl-setup
diff --git a/mdk-stage1/rp-pppoe/go-gui b/mdk-stage1/rp-pppoe/go-gui
deleted file mode 100755
index ddce984fd..000000000
--- a/mdk-stage1/rp-pppoe/go-gui
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/sh
-#***********************************************************************
-#
-# go-gui
-#
-# Quick-start shell script to set up ADSL and GUI wrapper
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#***********************************************************************
-
-# GUI only works on Linux
-if test "`uname`" != "Linux" ; then
- echo "Sorry, the GUI only works on Linux."
- exit 1
-fi
-
-# Figure out directory of script
-MYDIR=`dirname $0`
-cd $MYDIR/src
-
-echo "Running ./configure..."
-./configure
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like ./configure failed."
- exit 1
-fi
-
-echo "Running make..."
-make
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make failed."
- exit 1
-fi
-
-echo "Running make install..."
-make install
-
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make install failed."
- exit 1
-fi
-
-echo "Building GUI wrapper..."
-cd ../gui
-make
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make failed."
- exit 1
-fi
-
-echo "Installing GUI..."
-make install
-
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make install failed."
- exit 1
-fi
-
-# Install entry in KDE menu
-if test -n "$KDEDIR" ; then
- echo "Installing KDE menu entry Internet : TkPPPoE..."
- mkdir -p "$KDEDIR/share/applnk/Internet"
- cat <<EOF > "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
-# KDE Config File
-[KDE Desktop Entry]
-Name=TkPPPoE
-Comment=Start/Stop ADSL connections
-Exec=tkpppoe
-Terminal=0
-Type=Application
-EOF
-fi
-
-# Install entry in GNOME menus
-GNOMEDIR=`gnome-config --datadir 2>/dev/null`
-if test -n "$GNOMEDIR" ; then
- echo "Installing GNOME menu entry Internet : TkPPPoE..."
- mkdir -p "$GNOMEDIR/gnome/apps/Internet"
-cat <<EOF > "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
-[Desktop Entry]
-Name=TkPPPoE
-Comment=Start/Stop ADSL connections
-Exec=tkpppoe
-Terminal=0
-Type=Application
-EOF
-fi
-echo "Running GUI configuration tool..."
-tkpppoe &
-exit 0
diff --git a/mdk-stage1/rp-pppoe/gui/Makefile.in b/mdk-stage1/rp-pppoe/gui/Makefile.in
deleted file mode 100644
index a9b0844c0..000000000
--- a/mdk-stage1/rp-pppoe/gui/Makefile.in
+++ /dev/null
@@ -1,64 +0,0 @@
-# @configure_input@
-#***********************************************************************
-#
-# Makefile
-#
-# Makefile for GUI for Roaring Penguin's Linux user-space PPPoE client.
-#
-# Copyright (C) 2001 Roaring Penguin Software Inc.
-#
-# This program may be distributed according to the terms of the GNU
-# General Public License, version 2 or (at your option) any later version.
-#
-# $Id$
-#***********************************************************************
-DEFINES=
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-mandir=@mandir@
-install=@INSTALL@
-install_dir=@INSTALL@ -d
-sbindir=@sbindir@
-bindir=@bindir@
-
-ADSL_START_PATH=@sbindir@/adsl-start
-ADSL_STOP_PATH=@sbindir@/adsl-stop
-ADSL_STATUS_PATH=@sbindir@/adsl-status
-
-PATHS='-DADSL_START_PATH="$(ADSL_START_PATH)"' '-DADSL_STOP_PATH="$(ADSL_STOP_PATH)"' '-DADSL_STATUS_PATH="$(ADSL_STATUS_PATH)"'
-
-CFLAGS= @CFLAGS@ $(DEFINES) $(PATHS)
-
-all: pppoe-wrapper
- @echo ""
- @echo "Type 'make install' as root to install the software."
-
-pppoe-wrapper: wrapper.o
- @CC@ -o pppoe-wrapper wrapper.o
-
-wrapper.o: wrapper.c
- @CC@ $(CFLAGS) -c -o wrapper.o wrapper.c
-
-install: all
- -mkdir -p $(RPM_INSTALL_ROOT)$(sbindir)
- -mkdir -p $(RPM_INSTALL_ROOT)$(bindir)
- -mkdir -p $(RPM_INSTALL_ROOT)/etc/ppp/rp-pppoe-gui
- $(install) -m 4755 -s pppoe-wrapper $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 tkpppoe $(RPM_INSTALL_ROOT)$(bindir)
- -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man1
- $(install) -m 644 pppoe-wrapper.1 $(RPM_INSTALL_ROOT)$(mandir)/man1
- $(install) -m 644 tkpppoe.1 $(RPM_INSTALL_ROOT)$(mandir)/man1
- -mkdir -p $(RPM_INSTALL_ROOT)/usr/share/rp-pppoe-gui
- for i in tkpppoe.html mainwin-busy.png mainwin-nonroot.png mainwin.png props-advanced.png props-basic.png props-nic.png props-options.png ; do \
- $(install) -m 644 html/$$i $(RPM_INSTALL_ROOT)/usr/share/rp-pppoe-gui; \
- done
-
-clean:
- rm -f *.o *~ pppoe-wrapper
-
-distclean: clean
- rm -f Makefile tkpppoe
-
-.PHONY: clean
-
-.PHONY: distclean
diff --git a/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html b/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html
deleted file mode 100644
index 51aadb895..000000000
--- a/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.14-5.0 i686) [Netscape]">
- <title>TkPPPoE Manual</title>
-</head>
-<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#59188E" alink="#FF0000">
-
-<center>
-<h1>tkpppoe - A GUI for managing PPPoE Connections</h1>
-</center>
-
-<h1>Introduction</h1>
-
-TkPPPoE is a graphical user interface for managing PPPoE connections. It
-performs two different functions:
-<ul>
-<li>TkPPPoE lets you <em>define</em> connection properties. This step must
-be done as root.
-<li>TkPPPoE lets you <em>start and stop</em> PPPoE connections. This step
-may be done as a normal user, depending on how you configured the connection.
-</ul>
-
-<h1>Defining Connections</h1>
-
-To define connections, start TkPPPoE as root. You can do this from
-a terminal by typing <code>tkpppoe</code>, or from the KDE or GNOME menus
-by selecting <b>Internet : TkPPPoE</b>. The following window pops up:
-
-<p>
-<center><img src="mainwin.png" width="361" height="73" alt="Main Window">
-</center>
-
-<p>
-Because you have not yet defined any connections, the connection property
-window also pops up:
-
-<p>
-<center><img src="props-basic.png" width="440" height="259" alt="Connection Properties - Basic">
-</center>
-
-You can pop up the connection property window at any time by clicking
-<b>New Connection...</b> You can edit the properties of an existing
-connection by selecting the connection's name and clicking
-<b>Properties...</b>
-<h4>Basic Information</h4>
-
-Let's fill in the basic information:
-<ul>
-<li>For <b>Connection Name</b>, enter a unique name for this connection. It
-can be anything you like, but must contain only letters, numbers, underscores
-or dashes. In particular, it can't contain spaces. If you have only one
-PPPoE connection, a good name is <b>Default</b>.
-<li>For <b>User Name</b>, enter the user name supplied by your ISP. Enter
-only the user name; do not enter an "@isp.com" part.
-<li>For <b>Network</b>, you may have to enter your ISP's domain name.
-(For example, <b>isp.com</b>.) Some DSL providers add this to your user
-name; others do not. You may have to experiment a bit. The two most likely
-choices are your ISP's domain name, or blank. Try both.
-<li>For <b>Password</b>, enter the password your ISP provided you with.
-</ul>
-
-<h4>NIC and DNS</h4>
-Click on the <b>NIC and DNS</b> tab:
-
-<p>
-<center><img src="props-nic.png" width="440" height="259" alt="Connection Properties - NIC and DNS"></center>
-<p>
-<ul>
-<li>For <b>Ethernet Interface</b>, enter the Ethernet interface connected
-to the DSL modem. It is something like <b>eth0</b> or <b>eth1</b>. Click
-on <b>...</b> to browse a list of detected Ethernet interfaces.
-<li>For <b>DNS Setup</b>, you have three options:
-<ol>
-<li><b>From Server</b> means that the system will obtain DNS information from
-the PPPoE server. This is the correct choice for most ISPs.
-<li><b>Specify</b> means that you will enter the IP addresses of your DNS
-servers manually. In this case, enter the addresses in the <b>Primary DNS</b>
-and <b>Secondary DNS</b> entries.
-<li><b>Do not Adjust</b> means that you want RP-PPPoE to leave your
-DNS setup alone. Use this if you are running your own caching DNS server
-or know that you don't want the DNS setup touched.
-</ol>
-</ul>
-
-<h4>Options</h4>
-Click on the <b>Options</b> tab:
-
-<p>
-<center><img src="props-options.png" width="440" height="259" alt="Connection Properties - Options"></center>
-<p>
-<ul>
-<li>If you want ordinary users to be able to start and stop this connection,
-enable <b>Allow use by non-root users</b>. If you do not enable this,
-non-root users will be able to monitor the connection, but not control it.
-<li>If you want to use synchronous PPP, enable <b>Use synchronous PPP</b>.
-This is recommended as it conserves CPU usage, but may not work on some
-(misconfigured) Linux kernels.
-<li>For <b>Firewalling</b>, you have three options:
-<ol>
-<li><b>Stand-Alone</b> installs a simple firewall ruleset for stand-alone
-machines. Use this if you have only a single computer connected to the DSL
-modem.
-<li><b>Masquerading</b> installs a simple firewall ruleset for using
-your Linux computer as an Internet sharing device. If you have two Ethernet
-cards, you can connect one card to the DSL modem and the other to an
-internal LAN. The masquerading firewall ruleset lets internal machines
-share the DSL connection.
-<li><b>None</b>. If you already have your own firewall rules, or you wish
-to run servers on your machine, select None. This is <em>not recommended</em>
-unless you take steps to secure your machine, and know what you are doing.
-</ol>
-</ul>
-
-<h4>Advanced</h4>
-Click on the <b>Advanced</b> tab:
-
-<p>
-<center><img src="props-advanced.png" width="440" height="259" alt="Connection Properties - Advanced"></center>
-<p>
-
-In most cases, you can leave <b>AC-Name</b> and <b>Service-Name</b> blank.
-In some cases, your ISP may require you to enter information in these fields;
-contact your ISP for more information.
-
-<h1>Controlling Connections</h1>
-For these examples, run <code>tkpppoe</code> as a normal user (not root).
-The main window appears like this:
-
-<p>
-<center><img src="mainwin-nonroot.png" width="206" height="73" alt="Main Window - Non-root">
-</center>
-<p>
-<ul>
-<li>To start a connection, press <b>Start</b>. The two LEDs flash red
-and grey. If the connection is established, they turn green.
-<li>To stop a connection, press <b>Stop</b>.
-</ul>
-
-<p>The two rectangles to the right of the connection name are the
-<em>status LEDs</em>. The top LED corresponds to transmitted data and
-the bottom to received. The LEDs are colored as follows:
-<ul>
-<li>Grey -- connection is not established.
-<li>Flashing red/grey -- connection is being started.
-<li>Green -- connection is up, but idle.
-<li>Yellow -- connection is up and data is being sent or received.
-<li>Red -- connection has been lost, but the system is trying to reestablish it.
-</ul>
-
-<p>
-When a connection is established, two graphs appear:
-
-<p>
-<center><img src="mainwin-busy.png" width="206" height="73" alt="Main Window - Established Connection">
-</center>
-<p>
-
-The left (red) graph shows transmitted packets and the average
-transmission speed (in bits per second) over the sample time. The
-right (green) graph shows received packets.
-
-<h1>Miscellaneous Information</h1>
-<ul>
-<li>The connection menu has an entry called <b>User's Manual</b> which
-will pop up this user manual (if you have Netscape installed.)
-<li>You can define multiple PPPoE connections, but you should not use
-more than one simultaneuously unless you feel comfortable editing scripts
-and setting up routing tables. By default, TkPPPoE tries to add a default
-route for connections. This does not work well with multiple simultaneous
-connections.
-<li>If you exit from TkPPPoE, connections which are up remain up. You
-have to explicitly stop connections if you want them terminated.
-</ul>
-<hr>
-<a href="http://www.roaringpenguin.com/pppoe/">TkPPPoE</a> is Copyright 2001 by <a href="http://www.roaringpenguin.com">Roaring Penguin Software Inc</a> and
-is licensed under the GNU General Public License.
-<p>Screenshots show TkPPPoE running under the <a href="http://www.xfce.org">XFCE</a> desktop, a lightweight UNIX and Linux desktop.
-</body>
-</html>
diff --git a/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1 b/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1
deleted file mode 100644
index 4fbf2bce2..000000000
--- a/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1
+++ /dev/null
@@ -1,45 +0,0 @@
-.\" $Id$
-.TH PPPOE-WRAPPER 1 "26 February 2001"
-.UC 4
-.SH NAME
-pppoe-wrapper \- SUID wrapper for starting and stopping PPPoE connections.
-.SH SYNOPSIS
-.B pppoe-wrapper start linkname
-.P
-.B pppoe-wrapper stop linkname
-.P
-.B pppoe-wrapper status linkname
-
-.SH DESCRIPTION
-\fBpppoe-wrapper\fR is a small SUID program which allows non-root users
-to start and stop PPPoE links. It operates as follows:
-
-.TP
-.B o
-First, \fIlinkname\fR is sanity-checked. Too-long names and names containing
-illegal characters are rejected.
-
-.TP
-.B o
-Second, \fBpppoe-wrapper\fR opens the file \fB/etc/ppp/rp-pppoe-gui/\fR\fIlinkname\fR for reading. If that file does not contain the line:
-.nf
-
- NONROOT=OK
-
-.fi
-then \fBpppoe-wrapper\fR fails.
-
-.TP
-.B o
-Otherwise, \fBpppoe-wrapper\fR runs \fBadsl-start\fR, \fBadsl-stop\fR or
-\fBadsl-status\fR with the above filename as its single argument.
-
-.SH AUTHOR
-\fBpppoe-wrapper\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-status(8), tkpppoe(1)
-
-
diff --git a/mdk-stage1/rp-pppoe/gui/tkpppoe.1 b/mdk-stage1/rp-pppoe/gui/tkpppoe.1
deleted file mode 100644
index 183476568..000000000
--- a/mdk-stage1/rp-pppoe/gui/tkpppoe.1
+++ /dev/null
@@ -1,36 +0,0 @@
-.\" $Id$
-.TH TKPPPOE 1 "26 February 2001"
-.UC 4
-.SH NAME
-tkpppoe \- Graphical interface for controlling rp-pppoe
-.SH SYNOPSIS
-.B tkpppoe
-
-.SH DESCRIPTION
-\fBtkpppoe\fR is a graphical program for controlling PPPoE links.
-It works with the RP-PPPoE package and has its own HTML manual.
-
-.SH FILES
-
-.TP
-.B /etc/ppp/rp-pppoe-gui/connection-info
-Contains connection information. This file is not human-editable.
-
-.TP
-.B /etc/ppp/rp-pppoe-gui/passwd
-Contains passwords for each connection. This file is not human-editable.
-
-.TP
-.B /etc/ppp/rp-pppoe-gui/conf.*
-These configuration files are used by \fBadsl-start\fR. They are
-generated anew by \fBtkpppoe\fR each time a change is made to a
-connection's properties.
-
-.SH AUTHOR
-\fBtkpppoe\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), pppoe-wrapper(8).
-
diff --git a/mdk-stage1/rp-pppoe/gui/tkpppoe.in b/mdk-stage1/rp-pppoe/gui/tkpppoe.in
deleted file mode 100755
index 37dbf8cc1..000000000
--- a/mdk-stage1/rp-pppoe/gui/tkpppoe.in
+++ /dev/null
@@ -1,2891 +0,0 @@
-#!/bin/sh
-# -*-Mode: TCL;-*-
-
-#--------------------------------------------------------------
-# tkpppoe
-#
-# A graphical front-end for configuring and using rp-pppoe.
-#
-# Copyright (C) 2001 by Roaring Penguin Software Inc.
-# This file may be distributed under the terms of the GNU General Public
-# License, Version 2, or (at your option) any later version.
-#
-# The "Roaring Penguin" logo is a trademark of Roaring Penguin Software Inc.
-#
-# http://www.roaringpenguin.com
-#
-#--------------------------------------------------------------
-
-# $Id$
-
-# the next line restarts using wish \
-umask 022; \
-exec wish "$0" "$@" || clear; echo "*****"; echo "Cannot find 'wish' -- you need Tcl/Tk installed to run this program"; exit 1
-
-# Set app name
-tk appname TkPPPoE
-
-# Set this to one if you want to allow multiple instances of TkPPPoE
-set AllowMultipleInstances 0
-
-# Check for other instances
-if {"[tk appname]" != "TkPPPoE"} {
- # Must be another instance running...
- if {!$AllowMultipleInstances} {
- send TkPPPoE AnotherInstance
- exit 0
- }
-}
-
-# Location of config directory
-set ConfigDir /etc/ppp/rp-pppoe-gui
-
-# Are we running as root?
-set Admin 0
-
-# Location of connection info file
-set ConnectionInfoFile [file join $ConfigDir connection-info]
-
-# Location of password file
-set PasswordFile [file join $ConfigDir passwd]
-
-# Location of "already run" file
-set AlreadyRunFile [file join $ConfigDir gui-already-run]
-
-# Connection information
-set ConnectionInfo {}
-
-# Connection options
-set OPTS(nonroot) 0
-set OPTS(sync) 1
-
-# Location of wrapper
-set Wrapper "@WRAPPER@"
-
-# Timer token for UpdateConnectionState
-set UpdateToken {}
-
-# Update interval in milliseconds
-set UpdateInterval 500
-
-# Packet counters for signalling activity
-set Packets(in) 0
-set Packets(out) 0
-set Bytes(in) 0
-set Bytes(out) 0
-set MeasureTime 0
-
-# Set up some options to make it look better
-option add *Button.borderWidth 1
-option add *Button.Pad 1
-option add *Menubutton.borderWidth 1
-option add *Menubutton.Pad 1
-option add *Entry.Background white
-
-# Array holding help strings for windows
-array set HelpData {}
-
-bind HelpWin <Enter> "HelpWindowEntered %W"
-bind HelpWin <Leave> "HelpWindowLeft %W"
-
-proc AnotherInstance {} {
- wm deiconify .
- raise .
-}
-
-#***********************************************************************
-# %PROCEDURE: HelpWindowEntered
-# %ARGUMENTS:
-# w -- window
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Looks for procedure in HelpData; evals it if found.
-#***********************************************************************
-proc HelpWindowEntered { w } {
- global HelpData
- if {[info exists HelpData($w)]} {
- set cmd "$HelpData($w) Enter"
- uplevel #0 $cmd
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: HelpWindowLeft
-# %ARGUMENTS:
-# w -- window
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Looks for procedure in HelpData; evals it if found.
-#***********************************************************************
-proc HelpWindowLeft { w } {
- global HelpData
- if {[info exists HelpData($w)]} {
- set cmd "$HelpData($w) Leave"
- uplevel #0 $cmd
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: RegisterHelpWindow
-# %ARGUMENTS:
-# w -- window we need help about
-# helptext -- the help text
-# win -- window in which to put help messages
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Sets things up so help text appears in "$win" when mouse enters "$w"
-#***********************************************************************
-proc RegisterHelpWindow {w helptext win} {
- global HelpData
- set tags [bindtags $w]
- if {[lsearch -exact $tags HelpWin] < 0} {
- lappend tags HelpWin
- bindtags $w $tags
- }
- set HelpData($w) [list HelpInTextWin $helptext $win]
-}
-
-#***********************************************************************
-# %PROCEDURE: HelpInTextWin
-# %ARGUMENTS:
-# text -- help text
-# tw -- window in which to write text
-# what -- one of "Enter" or "Leave"
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Clears out $tw; if $what is "Enter", puts $text in $tw.
-#***********************************************************************
-proc HelpInTextWin {text tw what} {
- $tw configure -state normal
- $tw delete 1.0 end
- if {"$what" == "Enter"} {
- $tw insert end $text
- }
- $tw configure -state disabled
-}
-
-
-#***********************************************************************
-# %PROCEDURE: drawLogo
-# %ARGUMENTS:
-# c -- canvas to draw logo in
-# bg -- background color of canvas
-# pencolor -- color of the word "Penguin"
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Draws Roaring Penguin logo in a Tcl canvas
-#***********************************************************************
-proc drawLogo { c bg {pengcolor #6699cc} } {
- $c create polygon 372.249 5.182 361.23 5.519 \
- 346.164 8.892 316.482 20.023 305.463 17.774 296.468 \
- 19.573 288.935 24.97 282.864 33.177 267.348 55.102 \
- 254.531 77.814 236.204 125.26 225.635 174.844 \
- 221.026 226.113 213.605 228.025 208.658 232.634 \
- 225.523 240.28 250.708 243.316 282.752 242.416 \
- 320.079 238.818 330.985 193.17 338.181 146.735 \
- 338.743 99.963 335.483 76.577 329.524 53.191 345.602 \
- 48.131 353.135 45.995 359.768 41.048 342.679 43.184 \
- 324.689 40.036 334.583 28.905 348.3 18.674 372.249 \
- 5.182 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create line 372.249 5.182 361.23 5.519 \
- 346.164 8.892 316.482 20.023 305.463 17.774 296.468 \
- 19.573 288.935 24.97 282.864 33.177 267.348 55.102 \
- 254.531 77.814 236.204 125.26 225.635 174.844 \
- 221.026 226.113 213.605 228.025 208.658 232.634 \
- 225.523 240.28 250.708 243.316 282.752 242.416 \
- 320.079 238.818 330.985 193.17 338.181 146.735 \
- 338.743 99.963 335.483 76.577 329.524 53.191 345.602 \
- 48.131 353.135 45.995 359.768 41.048 342.679 43.184 \
- 324.689 40.036 334.583 28.905 348.3 18.674 372.249 \
- 5.182 -tags logo
-
- $c create polygon 298.605 109.632 290.734 \
- 159.328 282.752 182.939 271.958 205.65 262.851 \
- 171.133 263.75 138.752 264.537 164.5 271.958 192.833 \
- 286.687 157.192 298.605 109.632 -fill #ffffff \
- -outline {} -width 1 -tags logo
-
- $c create line 298.605 109.632 290.734 159.328 \
- 282.752 182.939 271.958 205.65 262.851 171.133 \
- 263.75 138.752 264.537 164.5 271.958 192.833 286.687 \
- 157.192 298.605 109.632 -tags logo
-
- $c create polygon 312.546 30.592 315.132 35.876 \
- 310.747 39.586 308.161 34.414 312.546 30.592 -fill \
- #ffffff -outline {} -width 1 -tags logo
-
- $c create line 312.546 30.592 315.132 35.876 \
- 310.747 39.586 308.161 34.414 312.546 30.592 -tags logo
-
- $c create polygon 328.624 54.427 322.665 58.7 \
- 314.458 61.286 289.16 59.15 284.55 74.665 285.338 \
- 90.181 303.214 98.951 308.499 106.259 310.523 \
- 116.378 305.913 130.208 312.771 141.563 308.049 \
- 167.76 299.729 192.158 279.041 238.593 313.558 \
- 233.871 327.388 185.75 335.033 139.989 335.82 96.253 \
- 328.624 54.427 -fill #ffffff -outline {} -width 1 -tags logo
-
- $c create line 328.624 54.427 322.665 58.7 \
- 314.458 61.286 289.16 59.15 284.55 74.665 285.338 \
- 90.181 303.214 98.951 308.499 106.259 310.523 \
- 116.378 305.913 130.208 312.771 141.563 308.049 \
- 167.76 299.729 192.158 279.041 238.593 313.558 \
- 233.871 327.388 185.75 335.033 139.989 335.82 96.253 \
- 328.624 54.427 -tags logo
-
- $c create polygon 53.837 185.412 54.399 185.862 \
- 53.837 188.223 54.399 188.673 53.837 188.673 53.837 \
- 189.572 53.837 190.472 53.387 191.034 52.938 192.833 \
- 50.577 195.644 49.677 196.656 49.677 197.105 48.215 \
- 198.455 47.316 198.904 46.866 198.904 44.505 200.816 \
- 43.606 200.366 42.594 201.265 42.144 201.715 41.245 \
- 202.277 40.795 202.727 40.345 202.277 39.783 202.277 \
- 36.972 203.177 36.522 203.177 36.073 203.177 35.623 \
- 203.627 34.723 203.627 34.161 203.627 34.161 204.076 \
- 30.901 204.526 28.54 205.538 26.291 205.088 25.729 \
- 205.088 24.829 205.088 24.38 204.526 23.93 204.526 \
- 23.48 204.526 22.918 205.088 22.918 206.437 22.918 \
- 206.887 22.918 207.337 22.468 207.337 22.468 208.798 \
- 22.018 209.248 22.018 211.16 22.018 211.609 21.569 \
- 213.521 21.119 215.769 21.569 216.781 20.669 218.13 \
- 20.669 219.592 20.669 220.042 20.107 220.941 20.107 \
- 221.953 20.107 223.752 19.657 225.664 19.208 226.113 \
- 19.657 227.013 18.308 230.835 17.858 240.167 17.296 \
- 248.15 17.296 249.05 16.846 250.062 15.947 250.062 \
- 15.048 250.062 15.048 250.511 12.686 251.86 12.237 \
- 251.86 11.675 251.411 11.675 250.511 11.675 246.689 \
- 11.225 245.339 11.225 243.878 10.775 240.617 11.225 \
- 239.268 11.225 238.818 10.775 238.256 10.325 237.357 \
- 10.325 236.007 9.876 232.634 9.876 231.735 9.876 \
- 231.285 9.876 230.835 9.876 230.386 9.876 229.824 \
- 9.426 229.374 9.426 226.113 9.876 226.113 9.876 \
- 225.664 9.426 224.202 9.426 223.752 9.426 223.302 \
- 10.325 221.953 9.426 220.941 9.426 219.592 9.426 \
- 219.142 9.426 218.58 9.426 217.681 9.426 217.231 \
- 9.426 216.781 8.864 216.332 8.864 214.42 8.864 \
- 213.97 8.414 213.521 8.414 210.148 8.414 209.248 \
- 7.964 207.899 8.414 205.988 8.414 204.526 7.065 \
- 201.265 7.515 200.816 9.426 201.715 10.325 201.265 \
- 10.775 200.816 10.775 198.904 11.225 198.005 11.225 \
- 197.555 10.775 197.555 9.876 196.094 9.426 194.744 \
- 7.515 194.295 6.615 193.845 6.053 193.845 5.153 \
- 193.283 3.804 191.484 3.804 190.022 3.804 189.572 \
- 3.804 189.123 3.242 188.673 3.242 186.762 3.804 \
- 185.412 4.254 184.85 4.704 184.4 7.964 180.24 10.325 \
- 178.779 11.225 178.779 12.237 177.879 14.036 176.98 \
- 15.497 175.968 21.569 173.607 22.918 173.157 23.48 \
- 173.157 24.38 172.707 24.829 172.707 29.102 171.808 \
- 29.551 171.808 30.001 171.358 31.35 170.796 31.913 \
- 171.358 32.362 170.796 39.783 171.358 40.345 170.796 \
- 42.144 171.358 47.766 174.619 48.778 176.418 49.227 \
- 176.418 49.677 176.98 50.127 176.98 51.588 178.329 \
- 52.038 179.228 52.488 180.69 52.038 181.14 52.038 \
- 181.59 52.488 182.039 52.938 182.039 53.387 182.601 \
- 53.837 183.051 53.837 183.501 53.837 185.412 -fill \
- $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 42.594 222.853 43.156 221.953 \
- 41.694 222.403 39.783 224.202 39.783 224.764 39.783 \
- 225.214 40.345 225.214 41.245 224.202 41.694 223.752 \
- 42.594 222.853 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 58.559 234.096 59.009 234.096 \
- 59.009 234.546 58.559 234.995 58.559 235.445 57.21 \
- 236.907 56.648 237.806 52.938 241.067 52.038 241.629 \
- 52.038 242.079 51.026 242.529 50.577 242.978 50.127 \
- 242.978 49.227 244.44 45.405 246.239 44.055 246.689 \
- 43.606 246.689 43.606 247.251 42.144 247.251 41.694 \
- 247.7 40.795 247.7 38.434 248.15 36.522 248.15 \
- 35.173 247.7 34.161 246.689 33.711 246.239 32.812 \
- 244.44 32.362 241.629 32.812 239.718 32.812 239.268 \
- 33.711 234.995 36.522 229.824 35.623 228.474 35.623 \
- 227.013 36.522 225.664 37.534 224.202 38.883 222.853 \
- 41.694 220.492 42.594 219.592 43.156 219.592 43.606 \
- 219.142 45.405 217.681 45.967 217.681 46.416 217.231 \
- 48.778 215.769 52.038 214.87 53.387 214.42 54.849 \
- 214.87 55.299 214.87 56.198 215.769 56.198 217.681 \
- 56.198 218.58 54.399 221.953 53.837 222.853 53.837 \
- 223.302 53.387 223.752 50.577 226.113 49.677 226.563 \
- 47.316 228.474 43.156 230.386 41.245 230.835 40.795 \
- 230.835 40.345 230.835 39.333 230.835 38.883 230.835 \
- 38.883 229.824 39.783 229.374 40.795 228.474 41.694 \
- 228.025 42.594 227.575 45.967 227.013 46.866 226.563 \
- 50.127 224.764 51.588 223.302 52.488 221.953 52.488 \
- 220.492 52.488 219.142 51.026 218.13 49.677 218.13 \
- 48.778 218.13 47.766 219.142 47.316 219.142 47.316 \
- 219.592 46.866 219.592 45.967 220.941 44.505 221.953 \
- 44.055 222.403 43.606 222.853 42.594 223.752 41.694 \
- 225.664 41.245 225.664 41.245 226.113 40.345 226.563 \
- 39.333 227.575 39.333 228.474 38.434 229.374 36.522 \
- 233.197 35.623 236.457 35.623 237.357 35.623 238.256 \
- 35.173 241.067 35.623 242.079 36.522 243.428 37.534 \
- 243.878 37.984 244.44 38.434 244.89 38.883 244.89 \
- 39.783 245.339 43.156 245.339 45.967 244.44 49.227 \
- 242.529 50.127 241.629 50.577 241.067 54.399 238.818 \
- 54.399 238.256 54.399 237.806 56.198 236.907 58.559 \
- 234.096 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 92.289 248.6 92.739 249.05 \
- 92.289 249.05 91.84 249.05 90.94 248.6 90.378 248.6 \
- 89.478 247.7 89.029 247.251 88.129 246.689 87.117 \
- 245.789 85.768 244.89 85.318 244.44 85.768 244.44 \
- 85.318 242.529 84.756 242.079 84.756 240.617 84.756 \
- 240.167 84.756 239.718 84.756 239.268 83.857 236.457 \
- 83.407 234.096 83.407 233.197 83.407 231.735 83.407 \
- 223.302 83.407 221.391 82.957 220.941 82.508 221.953 \
- 80.596 226.113 80.146 226.563 80.146 227.013 79.697 \
- 228.025 79.135 228.474 79.697 228.474 76.324 234.096 \
- 75.874 234.995 75.424 236.457 74.975 236.457 74.975 \
- 236.907 74.975 237.357 74.075 239.268 73.513 239.718 \
- 73.063 240.167 72.613 241.067 72.164 242.529 71.714 \
- 242.529 71.714 243.878 70.252 245.789 69.803 246.689 \
- 68.903 246.689 68.903 247.251 67.891 247.7 66.542 \
- 247.7 66.092 247.7 65.643 247.7 65.08 247.251 65.08 \
- 246.689 65.08 245.789 64.631 242.079 65.08 242.079 \
- 64.631 241.629 65.08 241.067 65.08 238.818 64.631 \
- 237.806 64.631 236.457 64.631 234.546 64.631 233.197 \
- 64.631 232.634 64.631 232.185 64.631 231.735 64.631 \
- 228.924 64.631 227.575 64.631 225.664 64.631 225.214 \
- 64.631 224.764 64.631 223.302 64.631 217.231 65.08 \
- 216.332 65.643 215.769 69.803 214.87 70.252 215.32 \
- 70.252 216.332 70.252 217.681 70.252 218.58 69.803 \
- 219.142 69.803 220.492 69.353 220.941 69.353 221.391 \
- 68.903 221.953 68.903 225.664 68.453 226.563 68.453 \
- 228.025 68.453 228.474 67.891 228.924 67.891 230.835 \
- 68.453 236.457 68.453 237.806 68.453 238.818 68.453 \
- 240.617 68.453 241.067 68.903 241.067 68.903 241.629 \
- 69.353 241.629 70.702 241.067 70.702 240.617 71.264 \
- 240.167 71.264 239.268 72.164 238.256 73.063 236.457 \
- 74.525 234.546 74.975 233.197 76.324 230.835 77.336 \
- 229.824 78.235 227.575 78.235 227.013 78.685 226.563 \
- 78.685 225.664 79.135 225.214 79.697 224.764 79.697 \
- 224.202 80.146 222.403 81.046 220.941 81.945 217.681 \
- 82.957 215.769 85.318 214.87 85.768 214.87 87.567 \
- 214.42 87.567 215.769 87.117 216.332 87.567 216.781 \
- 88.129 219.592 87.567 219.592 87.567 220.492 87.567 \
- 221.391 87.567 224.764 87.567 225.664 87.567 226.113 \
- 87.117 226.113 87.117 227.575 87.567 229.374 88.579 \
- 235.445 89.029 239.268 89.029 239.718 89.029 241.067 \
- 89.478 242.529 89.478 242.978 89.928 243.878 89.928 \
- 244.44 90.378 244.89 90.94 246.239 92.289 248.6 \
- -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 117.587 220.492 118.037 \
- 222.403 117.587 222.853 117.587 224.764 116.687 \
- 226.113 116.687 227.013 116.238 228.025 114.776 \
- 229.374 113.877 231.285 112.865 231.735 109.154 \
- 234.995 106.343 236.457 105.444 237.357 103.982 \
- 237.806 103.083 238.256 102.633 238.818 102.183 \
- 238.818 101.172 239.268 99.822 239.718 98.361 \
- 239.268 97.461 239.718 96.562 239.268 96.0 238.818 \
- 95.55 238.818 94.201 236.907 94.201 235.445 94.201 \
- 233.646 94.65 233.197 94.65 232.634 95.1 232.185 \
- 95.1 231.735 95.55 231.735 96.0 230.386 97.461 \
- 228.025 97.461 227.575 98.361 226.563 99.822 224.764 \
- 101.172 223.302 101.172 222.853 102.633 221.391 \
- 103.083 220.941 104.432 219.592 103.982 218.58 \
- 103.982 217.231 103.982 216.781 103.982 215.32 \
- 104.432 214.42 103.982 210.148 103.982 209.698 \
- 103.982 209.248 104.432 208.798 104.432 207.899 \
- 104.432 205.988 104.432 205.538 104.994 203.177 \
- 104.994 202.277 104.994 201.265 104.994 200.816 \
- 104.994 200.366 104.994 199.916 105.894 199.467 \
- 106.343 198.904 106.793 198.455 107.243 198.904 \
- 108.255 198.904 108.255 199.467 108.705 199.467 \
- 108.705 202.727 108.255 204.076 108.255 205.538 \
- 108.255 205.988 107.805 205.988 107.805 206.887 \
- 107.805 209.698 107.243 210.71 106.793 212.059 \
- 106.343 214.87 106.343 215.32 106.343 215.769 \
- 105.894 217.681 106.343 217.681 106.793 217.681 \
- 107.243 217.231 108.705 215.32 109.604 215.32 \
- 110.054 214.42 110.054 213.97 110.616 213.97 110.616 \
- 214.42 111.965 214.87 112.415 214.87 112.865 215.32 \
- 114.326 216.332 116.238 217.681 116.687 218.58 \
- 117.137 219.592 117.587 220.042 117.587 220.492 \
- -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 123.658 258.944 123.658 \
- 259.394 123.658 260.293 123.658 261.755 123.658 \
- 262.654 123.658 263.104 123.209 266.364 123.209 \
- 267.376 122.759 269.175 122.309 269.737 121.859 \
- 271.087 121.859 271.536 121.859 271.986 121.297 \
- 271.986 121.297 272.548 120.847 273.448 120.398 \
- 273.448 120.398 273.897 118.486 276.259 118.037 \
- 276.708 117.587 277.608 117.137 278.17 116.687 \
- 278.17 115.675 278.62 115.675 279.069 113.427 \
- 280.419 112.865 280.981 112.415 280.981 111.965 \
- 281.43 110.054 282.33 109.154 282.33 108.705 282.78 \
- 108.255 282.78 107.805 283.229 104.994 283.792 \
- 104.432 283.792 103.982 283.792 103.533 283.792 \
- 103.083 283.792 102.633 283.792 102.183 283.792 \
- 101.172 283.792 100.722 283.792 99.822 283.792 98.81 \
- 283.792 96.562 282.33 96.0 282.78 95.1 281.88 94.201 \
- 281.43 91.84 279.969 92.289 279.519 92.289 278.62 \
- 93.751 279.069 93.751 279.519 94.201 279.519 94.65 \
- 279.969 95.1 279.969 96.0 280.981 98.81 281.88 \
- 101.172 281.88 101.621 281.88 102.633 281.88 103.083 \
- 281.88 103.533 281.88 104.432 281.43 104.994 281.88 \
- 105.444 281.43 106.793 281.43 107.805 280.981 \
- 108.705 280.419 109.154 280.419 109.604 279.969 \
- 110.054 279.969 110.616 279.969 111.066 279.519 \
- 112.865 278.17 113.427 277.608 113.877 277.608 \
- 113.877 277.158 114.326 277.158 114.326 276.708 \
- 114.776 276.259 115.226 276.259 116.238 274.347 \
- 116.687 274.347 116.687 273.897 117.587 272.998 \
- 117.587 272.548 118.037 271.986 119.498 267.826 \
- 120.398 265.015 120.398 262.204 119.948 259.843 \
- 119.948 259.394 119.948 258.944 119.498 257.482 \
- 118.486 254.222 118.037 253.772 117.587 251.86 \
- 115.675 249.05 115.226 248.6 114.776 248.15 113.877 \
- 247.251 111.965 246.239 111.515 246.239 110.616 \
- 246.239 110.054 246.239 109.154 246.239 107.243 \
- 247.251 106.343 247.251 105.444 247.7 104.994 247.7 \
- 103.083 248.15 102.183 248.6 101.621 248.6 101.172 \
- 249.05 100.722 249.499 99.822 250.062 98.361 250.062 \
- 97.461 249.499 97.012 249.499 96.562 249.05 96.562 \
- 248.6 97.012 248.15 99.822 245.789 100.272 245.339 \
- 101.621 244.44 101.621 243.878 102.183 243.428 \
- 102.633 243.428 102.633 242.978 103.982 241.629 \
- 103.982 241.067 103.982 240.617 103.982 240.167 \
- 105.444 239.268 108.705 236.907 108.705 236.457 \
- 109.154 236.457 110.054 235.445 111.066 234.546 \
- 112.415 234.096 112.865 233.646 113.427 233.646 \
- 113.877 233.646 113.877 234.096 114.326 234.995 \
- 114.776 235.445 114.776 236.457 114.326 237.357 \
- 113.427 238.818 112.415 239.268 112.415 240.167 \
- 111.965 240.167 111.515 240.617 110.054 241.629 \
- 110.054 242.079 109.604 242.529 108.705 242.978 \
- 110.054 242.978 113.427 242.079 114.326 242.529 \
- 115.226 242.978 116.687 244.44 119.048 246.689 \
- 119.498 247.7 119.498 248.15 119.948 248.6 119.948 \
- 249.05 120.398 249.05 120.398 249.499 120.847 \
- 249.499 120.847 250.062 121.297 250.511 121.297 \
- 251.411 121.859 252.31 122.759 252.872 122.759 \
- 254.222 122.759 254.671 123.658 258.494 123.658 \
- 258.944 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 147.607 215.769 148.506 215.32 \
- 148.506 217.231 148.506 217.681 148.506 218.13 \
- 148.956 218.58 148.506 220.492 148.506 220.941 \
- 148.506 222.853 148.956 224.764 148.956 226.113 \
- 148.506 226.563 148.956 226.563 148.506 228.924 \
- 148.956 229.824 148.956 231.285 148.506 232.185 \
- 148.956 232.634 148.956 233.646 149.405 234.995 \
- 148.956 234.995 149.405 235.445 149.405 236.907 \
- 149.405 237.357 149.968 238.818 150.867 240.167 \
- 150.867 240.617 151.317 242.079 152.216 243.428 \
- 153.228 245.339 154.128 245.789 155.027 246.239 \
- 156.939 245.789 157.388 246.239 156.489 246.689 \
- 155.027 247.7 154.128 247.7 153.228 247.7 152.216 \
- 247.7 151.767 247.7 150.867 247.251 150.417 246.239 \
- 149.405 246.239 148.056 245.339 147.607 244.44 \
- 147.157 243.428 145.695 241.629 145.695 240.617 \
- 145.245 240.167 145.245 239.718 144.796 238.256 \
- 144.346 236.907 144.346 235.445 143.784 234.546 \
- 143.784 233.197 143.784 232.185 143.784 230.835 \
- 143.334 229.824 143.784 229.374 143.334 229.374 \
- 143.334 228.474 142.884 230.386 141.985 231.735 \
- 140.973 233.197 140.523 234.096 140.523 234.546 \
- 140.523 234.995 139.624 236.457 139.174 237.806 \
- 138.162 239.718 137.263 241.067 136.813 242.079 \
- 135.913 242.978 134.452 244.89 134.002 245.789 \
- 133.552 245.789 132.091 246.689 131.191 247.251 \
- 129.73 248.15 129.28 248.15 128.38 247.7 128.38 \
- 248.15 126.919 247.7 126.019 247.251 125.12 246.239 \
- 125.12 245.339 124.67 244.89 124.67 244.44 124.67 \
- 243.428 124.67 242.529 124.67 241.067 124.67 239.718 \
- 125.12 239.268 124.67 239.268 124.67 238.256 125.12 \
- 237.806 125.12 237.357 125.12 236.907 125.12 236.007 \
- 125.12 234.096 125.57 233.197 125.57 232.185 126.019 \
- 232.185 126.019 231.285 126.019 230.386 126.019 \
- 229.374 126.469 228.474 126.469 227.013 126.469 \
- 225.214 126.019 225.214 126.469 225.214 126.019 \
- 223.302 126.019 221.953 126.019 220.492 125.57 \
- 220.042 125.12 219.592 124.108 219.142 123.209 \
- 219.142 121.859 220.042 121.297 220.042 120.398 \
- 220.941 119.498 221.391 119.048 221.391 118.486 \
- 221.953 118.037 221.953 118.037 221.391 118.486 \
- 220.941 119.498 220.042 120.847 219.142 122.759 \
- 217.681 124.108 216.781 125.12 215.769 126.469 \
- 214.87 126.919 214.87 127.481 214.87 128.38 214.87 \
- 128.83 214.87 129.73 214.87 129.73 215.769 130.292 \
- 215.769 130.742 216.781 130.742 217.681 130.292 \
- 219.142 130.292 221.953 130.292 223.302 130.292 \
- 224.202 129.73 225.214 129.28 227.013 128.83 227.575 \
- 129.28 227.575 129.28 228.474 128.83 229.374 129.28 \
- 229.824 129.28 230.386 128.83 231.735 128.38 234.096 \
- 128.38 234.995 127.931 236.457 127.931 239.268 \
- 127.931 240.167 127.931 241.629 128.83 242.978 \
- 129.28 243.878 129.73 244.44 130.742 244.44 131.191 \
- 244.44 132.091 244.44 133.103 243.878 134.002 \
- 242.978 134.902 242.079 135.351 241.067 135.913 \
- 240.167 136.363 239.268 136.813 238.818 137.263 \
- 237.806 137.712 236.907 138.162 235.445 138.724 \
- 234.546 139.174 233.646 139.624 232.634 140.523 \
- 230.835 140.973 228.924 141.535 227.013 142.435 \
- 225.664 142.884 223.302 143.334 221.391 143.334 \
- 220.941 143.334 219.142 144.346 217.681 144.796 \
- 216.781 145.695 216.332 146.595 216.332 147.607 \
- 215.769 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 165.371 241.067 165.371 \
- 241.067 164.921 243.878 164.921 246.239 163.46 \
- 246.689 161.211 247.251 160.649 247.251 160.199 \
- 244.44 160.199 243.878 160.199 243.428 160.199 \
- 242.079 160.199 240.167 160.199 239.718 159.749 \
- 239.268 160.199 237.806 159.749 237.357 159.749 \
- 236.007 159.749 230.835 159.749 229.824 159.749 \
- 228.924 159.749 226.113 159.749 225.664 159.749 \
- 223.752 159.749 222.853 159.749 218.58 159.749 \
- 218.13 159.749 217.681 160.199 217.231 161.661 \
- 216.781 162.11 216.781 162.56 216.781 163.46 216.781 \
- 164.022 219.142 163.46 222.403 163.46 222.853 163.46 \
- 224.202 163.46 225.664 163.46 226.563 163.46 227.013 \
- 163.46 228.924 163.01 230.835 163.01 232.634 163.46 \
- 233.197 164.022 232.634 164.472 232.634 164.921 \
- 232.185 164.921 231.735 165.371 231.735 165.821 \
- 232.185 165.371 233.646 165.821 236.007 165.371 \
- 238.256 165.371 238.818 165.371 240.617 165.371 \
- 241.067 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 165.821 214.42 166.833 215.32 \
- 166.271 215.32 165.821 216.332 165.371 216.332 \
- 165.371 216.781 165.821 217.681 165.821 218.13 \
- 165.371 219.142 165.371 220.042 164.921 222.853 \
- 165.371 224.764 164.921 225.664 165.371 227.575 \
- 165.371 228.474 164.921 228.474 164.472 227.575 \
- 164.472 226.113 164.022 224.764 164.472 224.202 \
- 164.472 223.752 164.472 222.403 164.921 214.87 \
- 164.472 213.521 164.472 212.959 164.472 212.509 \
- 164.022 212.509 163.46 212.509 163.01 212.959 162.56 \
- 212.959 161.661 212.959 161.211 212.059 161.211 \
- 211.609 160.649 211.609 160.199 209.698 160.649 \
- 208.349 163.46 206.437 164.472 206.437 165.821 \
- 207.899 165.821 208.349 166.833 210.148 166.833 \
- 210.71 165.821 211.609 165.371 212.059 165.371 \
- 212.959 165.821 213.97 165.821 214.42 -fill $pengcolor \
- -outline {} -width 1 -tags logo
-
- $c create polygon 201.462 248.6 201.462 249.05 \
- 201.012 249.05 200.563 249.05 200.001 248.6 199.551 \
- 248.6 198.651 247.7 197.752 247.251 196.74 246.689 \
- 196.29 245.789 194.379 244.89 194.379 244.44 194.379 \
- 242.529 193.929 242.079 193.479 240.617 193.479 \
- 240.167 193.929 239.718 193.479 239.268 193.03 \
- 236.457 192.58 234.096 192.58 233.197 192.58 231.735 \
- 192.58 223.302 192.58 221.391 192.13 220.941 191.568 \
- 221.953 189.769 226.113 189.319 226.563 189.319 \
- 227.013 188.757 228.025 188.307 228.474 188.757 \
- 228.474 185.497 234.096 185.047 234.995 184.597 \
- 236.457 184.147 236.457 184.147 236.907 184.147 \
- 237.357 183.136 239.268 182.686 239.268 182.686 \
- 239.718 182.236 240.167 181.786 241.067 181.337 \
- 242.529 180.887 242.529 180.887 243.878 179.425 \
- 245.789 178.975 246.689 178.076 246.689 178.076 \
- 247.251 177.064 247.7 175.715 247.7 175.265 247.7 \
- 174.703 247.7 174.253 247.251 174.253 246.689 \
- 174.253 245.789 173.804 242.079 174.253 242.079 \
- 173.804 241.629 173.804 241.067 173.804 238.818 \
- 173.804 237.806 173.804 236.457 173.354 234.546 \
- 173.354 233.197 173.804 232.634 173.804 232.185 \
- 173.804 231.735 173.804 228.924 173.354 227.575 \
- 173.804 227.575 173.804 225.664 173.804 225.214 \
- 173.804 224.764 173.804 223.302 173.804 217.231 \
- 174.253 216.332 174.703 215.769 178.526 214.87 \
- 179.425 215.32 179.425 216.332 179.425 217.681 \
- 179.425 218.58 178.975 219.142 178.526 220.492 \
- 178.526 220.941 178.076 221.391 178.076 221.953 \
- 178.076 225.664 177.514 226.563 177.514 228.025 \
- 177.064 228.474 177.064 228.924 177.064 230.835 \
- 177.514 236.457 177.064 237.806 177.514 237.806 \
- 177.514 238.818 177.514 240.617 177.514 241.067 \
- 178.076 241.629 178.526 241.629 179.425 241.067 \
- 179.875 240.617 179.875 240.167 180.325 239.268 \
- 181.337 238.256 182.236 236.457 183.698 234.546 \
- 184.147 233.197 185.497 230.835 186.509 229.824 \
- 187.408 227.575 187.408 227.013 187.408 226.563 \
- 187.858 225.664 188.307 225.214 188.757 224.764 \
- 188.757 224.202 189.319 222.403 190.219 220.941 \
- 191.118 217.681 192.13 215.769 194.379 214.87 \
- 194.941 214.87 196.74 214.42 196.74 215.769 196.29 \
- 215.769 196.29 216.332 196.29 216.781 196.74 219.592 \
- 196.74 220.492 196.29 221.391 196.74 224.764 196.29 \
- 225.664 196.29 226.113 196.29 227.575 196.74 229.374 \
- 197.19 235.445 198.202 239.268 198.202 239.718 \
- 198.202 241.067 198.202 242.529 198.651 242.978 \
- 199.101 243.878 199.101 244.44 199.551 244.89 \
- 200.001 246.239 201.462 248.6 -fill $pengcolor -outline \
- {} -width 1 -tags logo
-
- $c create polygon 71.714 185.412 71.714 110.869 \
- 81.496 110.869 82.845 110.981 83.969 111.431 85.094 \
- 112.106 86.105 113.118 86.893 114.467 87.567 116.041 \
- 88.017 117.39 88.242 118.065 88.467 118.852 88.579 \
- 119.639 88.804 120.538 88.916 121.438 89.029 122.337 \
- 89.141 123.349 89.254 124.361 89.366 125.485 89.366 \
- 126.61 89.478 127.734 89.478 128.971 89.478 130.208 \
- 89.478 131.444 89.478 132.456 89.478 133.468 89.478 \
- 134.48 89.366 135.492 89.254 136.391 89.254 137.291 \
- 89.141 138.19 89.029 139.09 88.916 139.877 88.804 \
- 140.664 88.691 141.451 88.579 142.238 88.354 143.362 \
- 88.129 144.374 87.904 145.386 87.567 146.398 87.342 \
- 147.297 87.005 148.197 86.668 148.984 86.218 149.771 \
- 87.005 151.233 87.342 152.02 87.68 152.919 87.904 \
- 153.931 88.129 154.943 88.129 155.505 88.354 156.854 \
- 88.354 157.641 88.354 158.428 88.467 159.328 88.467 \
- 160.34 88.467 161.352 88.467 162.476 88.579 163.6 \
- 88.579 164.837 88.579 166.186 88.579 166.973 88.691 \
- 167.873 88.804 168.885 88.916 169.897 89.029 171.021 \
- 89.029 172.258 89.029 173.719 89.029 175.068 89.029 \
- 176.305 89.029 177.542 89.141 178.554 89.141 179.566 \
- 89.141 180.353 89.141 181.14 89.254 181.814 89.366 \
- 182.714 89.478 183.051 89.478 185.412 83.857 185.412 \
- 83.857 184.738 83.744 183.951 83.744 183.276 83.744 \
- 182.489 83.744 180.803 83.857 179.791 83.857 178.891 \
- 83.857 177.879 83.857 176.867 83.857 175.743 83.857 \
- 174.619 83.857 173.27 83.857 172.033 83.744 170.908 \
- 83.744 170.009 83.632 169.109 83.632 168.322 83.52 \
- 166.973 83.407 166.524 83.407 166.186 83.407 165.062 \
- 83.407 164.05 83.295 163.151 83.295 162.251 83.295 \
- 161.464 83.182 160.789 82.957 159.553 81.945 158.203 \
- 80.596 157.754 76.886 157.754 76.886 185.412 71.714 \
- 185.412 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 92.289 148.309 92.289 147.185 \
- 92.289 146.061 92.289 145.049 92.402 143.924 92.402 \
- 142.8 92.402 141.788 92.402 140.664 92.514 139.652 \
- 92.514 138.64 92.627 137.628 92.627 136.616 92.739 \
- 135.717 92.739 134.705 92.851 133.805 92.964 132.793 \
- 92.964 131.894 93.076 130.995 93.301 129.196 93.414 \
- 128.409 93.526 127.509 93.639 126.722 93.751 125.935 \
- 93.863 125.148 93.976 124.361 94.313 122.787 94.426 \
- 122.112 94.65 121.325 94.763 120.651 95.1 119.301 \
- 95.55 117.615 96.112 116.041 96.674 114.692 97.236 \
- 113.455 97.799 112.443 98.361 111.544 99.035 110.757 \
- 99.71 110.082 100.385 109.632 101.059 109.295 \
- 101.846 109.07 102.633 108.958 104.207 109.295 \
- 104.882 109.632 105.556 110.082 106.231 110.757 \
- 106.906 111.544 107.468 112.443 108.03 113.455 \
- 108.592 114.692 109.154 116.041 109.604 117.615 \
- 110.054 119.301 110.279 119.976 110.616 121.325 \
- 110.841 122.112 110.953 122.787 111.178 123.574 \
- 111.403 125.148 111.628 125.935 111.74 126.722 \
- 111.853 127.622 111.965 128.409 112.078 129.308 \
- 112.19 130.208 112.302 130.995 112.415 132.006 \
- 112.64 133.805 112.752 134.817 112.865 135.717 \
- 112.977 136.729 112.977 137.741 113.089 138.752 \
- 113.089 139.764 113.202 140.776 113.202 141.788 \
- 113.314 142.912 113.314 143.924 113.314 145.049 \
- 113.427 146.061 113.427 147.185 113.427 148.309 \
- 113.427 149.546 113.314 150.783 113.314 151.907 \
- 113.314 153.032 113.314 154.156 113.202 155.28 \
- 113.202 156.405 113.089 157.529 113.089 158.541 \
- 112.977 159.553 112.865 160.565 112.752 161.576 \
- 112.64 162.588 112.527 163.6 112.415 164.5 112.302 \
- 165.512 112.19 166.411 112.078 167.311 111.965 \
- 168.21 111.853 169.109 111.628 169.897 111.515 \
- 170.796 111.403 171.583 111.178 172.37 111.066 \
- 173.157 110.616 174.731 110.504 175.518 110.279 \
- 176.193 110.054 176.98 109.604 178.666 109.154 \
- 180.128 108.592 181.59 108.03 182.826 107.468 \
- 183.951 106.906 184.963 106.231 185.75 105.556 \
- 186.424 104.882 186.986 104.207 187.436 103.42 \
- 187.661 102.633 187.661 101.846 187.661 101.059 \
- 187.436 100.385 186.986 99.71 186.424 99.035 185.75 \
- 98.361 184.963 97.799 183.951 97.236 182.826 96.674 \
- 181.59 96.112 180.128 95.55 178.666 95.1 176.98 \
- 94.988 176.193 94.763 175.518 94.538 174.731 94.426 \
- 173.944 94.088 172.37 93.976 171.583 93.863 170.796 \
- 93.639 169.897 93.526 169.109 93.414 168.21 93.301 \
- 167.311 93.189 166.411 93.076 165.512 92.964 164.5 \
- 92.964 163.6 92.851 162.588 92.739 161.576 92.627 \
- 160.565 92.627 159.553 92.514 158.541 92.514 157.529 \
- 92.514 156.405 92.402 155.28 92.402 154.156 92.402 \
- 153.032 92.289 151.907 92.289 150.783 92.289 149.546 \
- 92.289 148.309 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 121.859 110.869 127.481 \
- 110.869 134.902 185.412 129.28 185.412 127.931 \
- 171.808 120.847 171.808 119.948 185.412 114.326 \
- 185.412 121.859 110.869 -fill #000000 -outline {} \
- -width 1 -tags logo
-
- $c create polygon 137.263 185.412 137.263 \
- 110.869 147.157 110.869 148.394 110.981 149.518 \
- 111.431 150.417 112.106 151.317 113.118 152.104 \
- 114.467 152.778 116.041 153.228 117.39 153.341 \
- 118.065 153.566 118.852 153.903 120.538 154.015 \
- 121.438 154.128 122.337 154.24 123.349 154.353 \
- 124.361 154.465 125.485 154.465 126.61 154.577 \
- 127.734 154.577 128.971 154.577 130.208 154.577 \
- 131.444 154.577 132.456 154.577 133.468 154.577 \
- 134.48 154.577 135.492 154.577 136.391 154.577 \
- 137.291 154.577 138.19 154.465 139.09 154.465 \
- 139.877 154.353 140.664 154.24 141.451 154.128 \
- 142.238 153.903 143.362 153.678 144.374 153.341 \
- 145.386 153.003 146.398 152.554 147.297 152.216 \
- 148.197 151.767 148.984 151.317 149.771 152.104 \
- 151.233 152.441 152.02 152.778 152.919 153.003 \
- 153.931 153.228 154.943 153.341 155.505 153.453 \
- 156.854 153.566 157.641 153.678 158.428 153.79 \
- 159.328 153.903 160.34 154.015 161.352 154.015 \
- 162.476 154.128 163.6 154.128 164.837 154.128 \
- 166.186 154.128 166.973 154.128 167.873 154.128 \
- 168.885 154.128 169.897 154.128 171.021 154.128 \
- 172.258 154.128 173.719 154.24 175.068 154.24 \
- 176.305 154.353 177.542 154.353 178.554 154.465 \
- 179.566 154.577 180.353 154.69 181.14 154.69 181.814 \
- 154.915 182.714 155.027 183.051 155.027 185.412 \
- 149.405 185.412 149.405 184.738 149.293 183.951 \
- 149.293 183.276 149.181 182.489 149.181 180.803 \
- 149.068 179.791 149.068 178.891 149.068 177.879 \
- 149.068 176.867 148.956 175.743 148.956 174.619 \
- 148.956 173.27 148.956 172.033 148.956 170.908 \
- 148.956 170.009 148.956 169.109 148.956 168.322 \
- 148.956 166.973 148.956 166.524 148.956 166.186 \
- 148.956 165.062 148.843 164.05 148.731 163.151 \
- 148.618 162.251 148.506 161.464 148.394 160.789 \
- 148.056 159.553 147.269 158.203 146.145 157.754 \
- 142.435 157.754 142.435 185.412 137.263 185.412 \
- -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 158.4 185.412 158.4 110.869 \
- 164.022 110.869 164.022 185.412 158.4 185.412 -fill \
- #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 168.182 185.412 168.182 \
- 110.869 173.804 110.869 177.514 135.267 177.739 \
- 136.054 177.851 136.954 177.964 137.853 178.076 \
- 138.752 178.301 139.539 178.413 140.439 178.526 \
- 141.338 178.751 143.137 178.975 144.037 179.088 \
- 144.824 179.2 145.723 179.313 146.623 179.425 147.41 \
- 179.538 148.422 179.763 149.321 179.875 150.333 \
- 180.1 151.233 180.212 152.132 180.437 153.032 180.55 \
- 154.043 180.774 154.943 180.887 155.842 180.999 \
- 156.742 181.224 157.754 181.337 158.653 181.337 \
- 157.641 181.224 156.629 181.224 155.617 181.224 \
- 154.606 181.224 153.594 181.112 152.582 181.112 \
- 151.682 181.112 150.67 180.999 149.771 180.999 \
- 148.759 180.999 147.86 180.887 146.96 180.887 \
- 145.948 180.887 145.049 180.887 144.149 180.887 \
- 143.25 180.887 142.125 180.887 141.114 180.887 \
- 140.102 180.887 139.09 180.887 138.078 180.887 \
- 137.178 180.887 136.166 180.887 135.267 180.887 \
- 134.368 180.887 133.468 180.887 132.569 180.887 \
- 131.669 180.887 130.882 180.887 130.095 180.887 \
- 110.869 185.946 110.869 185.946 185.412 180.325 \
- 185.412 176.165 160.565 176.052 159.778 175.94 \
- 158.99 175.827 158.203 175.602 156.517 175.49 \
- 155.617 175.378 154.718 175.265 153.931 175.153 \
- 153.032 175.04 152.02 174.928 151.12 174.703 150.221 \
- 174.591 149.321 174.478 148.422 174.366 147.41 \
- 174.141 146.51 174.028 145.611 173.804 144.599 \
- 173.691 143.587 173.579 142.575 173.354 141.676 \
- 173.241 140.551 173.017 139.539 172.904 138.528 \
- 172.904 139.539 172.904 140.551 173.017 141.563 \
- 173.017 142.575 173.017 143.587 173.129 144.599 \
- 173.129 145.498 173.129 146.51 173.241 147.41 \
- 173.241 148.422 173.241 149.321 173.354 150.221 \
- 173.354 151.233 173.354 152.132 173.354 153.144 \
- 173.354 154.156 173.354 155.055 173.354 156.067 \
- 173.354 156.967 173.354 157.866 173.354 158.766 \
- 173.354 159.553 173.354 160.452 173.354 161.239 \
- 173.354 162.026 173.354 162.926 173.354 185.412 \
- 168.182 185.412 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 206.184 185.412 205.622 \
- 175.968 205.397 177.092 205.172 178.217 204.948 \
- 179.228 204.61 180.128 204.385 181.027 204.048 \
- 181.814 203.823 182.489 203.486 183.164 203.149 \
- 183.838 202.811 184.4 202.024 185.75 201.125 186.762 \
- 200.113 187.436 199.101 187.661 198.089 187.549 \
- 197.19 186.986 196.29 186.087 195.391 184.85 194.941 \
- 184.176 194.491 183.389 194.042 182.489 193.592 \
- 181.477 193.255 180.465 192.805 179.341 192.467 \
- 178.217 192.13 176.98 191.905 176.193 191.68 175.406 \
- 191.568 174.619 191.456 173.832 191.231 172.932 \
- 191.118 172.145 191.006 171.246 190.781 169.559 \
- 190.669 168.66 190.556 167.648 190.444 166.748 \
- 190.331 165.736 190.219 164.725 190.106 163.825 \
- 189.994 162.926 189.994 162.026 189.882 161.127 \
- 189.769 160.227 189.769 159.215 189.657 158.316 \
- 189.544 157.304 189.544 156.405 189.432 155.393 \
- 189.432 154.381 189.319 153.369 189.319 152.357 \
- 189.319 151.345 189.319 150.333 189.319 149.321 \
- 189.319 148.197 189.319 146.96 189.319 145.948 \
- 189.319 144.824 189.319 143.7 189.319 142.688 \
- 189.432 141.563 189.432 140.551 189.544 139.539 \
- 189.544 138.528 189.544 137.516 189.657 136.504 \
- 189.769 135.492 189.769 134.592 189.882 133.581 \
- 189.994 132.681 189.994 131.782 190.106 130.882 \
- 190.219 129.983 190.331 129.083 190.556 127.397 \
- 190.669 126.61 190.781 125.823 191.006 124.923 \
- 191.118 124.136 191.231 123.462 191.568 121.887 \
- 191.793 121.213 191.905 120.426 192.13 119.751 \
- 192.58 117.952 193.142 116.378 193.704 114.917 \
- 194.266 113.567 194.941 112.443 195.616 111.431 \
- 196.29 110.532 196.965 109.857 197.752 109.295 \
- 198.426 108.845 199.214 108.62 200.001 108.508 \
- 201.799 108.958 202.699 109.407 203.374 110.194 \
- 204.161 111.094 204.835 112.218 205.51 113.567 \
- 206.184 115.141 206.634 116.491 206.859 117.165 \
- 206.971 117.952 207.421 119.526 207.534 120.426 \
- 207.758 121.325 207.871 122.225 207.983 123.124 \
- 208.096 124.136 208.208 125.036 208.321 126.047 \
- 208.433 127.172 208.545 128.184 208.658 129.308 \
- 208.77 130.32 208.77 131.557 208.883 132.681 208.995 \
- 133.805 204.273 133.805 204.161 132.681 203.936 \
- 131.557 203.711 130.432 203.486 129.533 203.261 \
- 128.633 202.924 127.734 202.699 126.947 202.362 \
- 126.385 201.35 124.586 200.001 124.024 199.438 \
- 124.136 198.989 124.361 198.426 124.923 197.977 \
- 125.598 197.527 126.497 197.077 127.622 196.628 \
- 128.971 196.29 130.545 196.178 131.219 195.953 \
- 132.681 195.84 133.356 195.728 134.143 195.616 \
- 134.93 195.503 135.829 195.278 137.516 195.278 \
- 138.303 195.166 139.315 195.166 140.214 195.053 \
- 141.114 195.053 142.125 194.941 143.137 194.941 \
- 144.149 194.941 145.161 194.941 146.173 194.941 \
- 147.297 194.941 148.309 194.941 149.546 194.941 \
- 150.67 194.941 151.907 194.941 152.919 195.053 \
- 154.043 195.053 155.168 195.166 156.18 195.166 \
- 157.192 195.278 158.091 195.391 159.103 195.391 \
- 160.002 195.503 160.902 195.616 161.801 195.728 \
- 162.588 195.84 163.375 196.065 164.162 196.178 \
- 164.949 196.29 165.736 196.628 167.198 197.077 \
- 168.547 197.527 169.672 197.977 170.571 198.426 \
- 171.246 198.989 171.808 199.438 172.145 200.001 \
- 172.258 200.9 171.92 201.575 171.246 202.249 170.009 \
- 202.811 168.547 203.149 167.76 203.374 166.973 \
- 203.598 166.186 203.823 165.399 204.048 164.5 \
- 204.273 163.488 204.385 162.476 204.498 161.464 \
- 204.61 160.34 204.723 159.103 200.001 159.103 \
- 200.001 145.049 209.445 145.049 209.445 185.412 \
- 206.184 185.412 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 148.506 261.305 148.506 \
- 263.554 143.784 263.554 143.784 261.305 143.671 \
- 260.068 143.334 259.394 142.772 259.056 141.985 \
- 258.944 141.085 259.056 140.523 259.394 140.074 \
- 261.755 140.074 263.104 140.523 264.678 141.085 \
- 265.465 141.985 266.364 146.145 270.637 147.607 \
- 271.874 148.506 272.998 148.843 274.01 148.956 \
- 275.359 148.956 277.158 148.843 278.507 148.506 \
- 279.632 147.944 280.643 147.157 281.43 146.482 \
- 281.88 145.695 282.218 144.796 282.442 143.784 \
- 282.667 142.659 282.78 141.535 282.78 140.298 282.78 \
- 139.286 282.78 138.387 282.667 137.6 282.442 136.925 \
- 282.218 136.363 281.88 135.576 281.093 135.014 \
- 280.194 134.564 278.957 134.452 277.608 134.452 \
- 275.359 139.624 275.359 139.624 277.608 139.736 \
- 279.069 140.074 279.969 141.535 280.419 142.659 \
- 280.081 143.334 279.519 143.671 278.62 143.784 \
- 277.158 143.784 275.809 143.671 275.022 143.334 \
- 274.235 142.772 273.448 141.985 272.548 137.263 \
- 267.376 136.251 266.364 135.351 265.465 135.014 \
- 264.565 134.902 263.554 134.902 261.755 135.014 \
- 260.518 135.464 259.506 136.026 258.719 136.813 \
- 257.932 137.488 257.595 138.275 257.145 139.174 \
- 256.92 140.186 256.695 141.31 256.583 142.435 \
- 256.583 143.447 256.583 144.458 256.583 145.245 \
- 256.695 145.92 256.92 147.157 257.482 147.719 \
- 258.157 148.169 258.944 148.394 260.068 148.506 \
- 261.305 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 165.821 270.187 165.821 \
- 276.708 165.821 277.833 165.708 278.957 165.483 \
- 279.856 165.259 280.643 164.921 281.318 164.472 \
- 281.88 163.909 282.218 163.235 282.555 162.448 \
- 282.667 161.548 282.78 160.536 282.78 159.3 282.78 \
- 158.175 282.78 157.051 282.78 156.151 282.667 \
- 155.364 282.555 154.69 282.218 154.128 281.88 \
- 153.678 281.318 153.341 280.643 153.116 279.856 \
- 152.891 278.845 152.778 277.833 152.778 276.708 \
- 152.778 270.187 152.778 269.063 152.891 268.051 \
- 153.116 267.264 153.341 266.589 154.128 265.465 \
- 155.364 264.678 156.151 264.453 157.051 264.228 \
- 158.063 264.116 159.3 264.116 160.424 264.116 \
- 161.548 264.228 162.448 264.453 163.235 264.678 \
- 163.909 265.015 164.472 265.465 164.921 265.915 \
- 165.483 267.264 165.708 268.051 165.821 269.063 \
- 165.821 270.187 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 177.514 256.583 177.514 \
- 258.494 177.064 258.494 176.165 258.606 175.715 \
- 258.944 175.378 259.281 175.265 259.843 175.265 \
- 264.565 177.514 264.565 177.514 266.927 175.265 \
- 266.927 175.265 282.78 170.543 282.78 170.543 \
- 266.927 168.632 266.927 168.632 264.565 170.543 \
- 264.565 170.543 261.305 170.655 259.843 170.993 \
- 258.606 171.442 257.707 171.892 257.032 173.579 \
- 256.358 174.703 256.133 176.165 256.133 176.727 \
- 256.133 177.064 256.133 177.514 256.583 -fill \
- #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 185.946 259.843 185.946 \
- 264.565 188.757 264.565 188.757 266.927 185.946 \
- 266.927 185.946 278.62 186.171 279.407 186.509 \
- 279.969 187.071 280.306 187.858 280.419 188.307 \
- 280.419 188.757 280.419 188.757 282.78 188.645 \
- 282.78 188.307 282.78 187.183 282.78 186.509 282.78 \
- 185.159 282.78 183.923 282.555 182.911 282.33 \
- 182.236 281.88 181.786 281.206 181.561 280.419 \
- 181.337 279.407 181.337 278.17 181.337 266.927 \
- 179.425 266.927 179.425 264.565 181.337 264.565 \
- 181.337 261.305 185.946 259.843 -fill #000000 \
- -outline {} -width 1 -tags logo
-
- $c create polygon 190.219 264.565 194.379 \
- 264.565 196.29 279.519 196.74 279.519 199.101 \
- 264.565 204.723 264.565 207.084 279.519 207.534 \
- 279.519 209.895 264.565 213.605 264.565 209.895 \
- 282.78 204.723 282.78 201.912 267.376 201.462 \
- 267.376 199.101 282.78 193.479 282.78 190.219 \
- 264.565 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 229.121 269.175 229.121 282.78 \
- 224.848 282.78 224.848 280.981 224.061 281.768 \
- 223.049 282.33 221.925 282.667 220.688 282.78 \
- 219.564 282.78 218.44 282.555 217.54 282.33 216.866 \
- 281.88 216.528 281.318 216.191 280.531 216.079 \
- 279.632 215.966 278.62 215.966 275.359 216.079 \
- 274.347 216.978 272.998 217.877 272.548 218.44 \
- 272.211 219.114 271.986 219.789 271.761 220.688 \
- 271.536 221.588 271.424 222.6 271.311 223.724 \
- 271.199 224.848 271.087 224.848 269.175 224.736 \
- 267.826 224.399 266.927 223.612 266.477 222.487 \
- 266.364 221.7 266.477 221.138 266.927 220.688 \
- 268.726 220.688 269.175 216.416 269.175 216.528 \
- 267.938 216.753 266.702 217.203 265.69 217.877 \
- 265.015 218.44 264.678 219.114 264.453 219.901 \
- 264.228 220.801 264.116 221.925 264.116 223.049 \
- 264.116 224.061 264.116 225.073 264.116 225.86 \
- 264.228 226.535 264.453 227.659 265.015 228.334 \
- 265.69 228.783 266.702 229.008 267.938 229.121 \
- 269.175 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 243.175 264.565 243.175 \
- 266.927 242.725 266.927 241.601 266.927 240.701 \
- 267.151 239.914 267.489 239.352 267.826 239.015 \
- 268.276 238.678 268.95 238.565 269.737 238.453 \
- 270.637 238.453 282.78 233.731 282.78 233.731 \
- 264.565 238.453 264.565 238.453 265.915 239.352 \
- 265.128 240.364 264.565 242.163 264.116 242.725 \
- 264.565 243.175 264.565 -fill #000000 -outline {} \
- -width 1 -tags logo
-
- $c create polygon 258.129 270.187 258.129 \
- 274.347 249.696 274.347 249.696 278.17 249.809 \
- 279.294 250.146 279.969 250.708 280.643 251.607 \
- 280.981 252.732 280.643 253.406 279.969 253.744 \
- 279.294 253.969 278.17 253.969 276.708 258.129 \
- 276.708 258.129 277.608 258.129 278.957 257.904 \
- 280.081 257.454 281.093 256.779 281.88 256.217 \
- 282.218 254.643 282.667 253.744 282.78 252.732 \
- 282.78 251.607 282.78 250.371 282.78 249.359 282.78 \
- 248.459 282.667 247.672 282.442 246.436 281.88 \
- 245.986 281.318 245.649 280.643 245.424 279.856 \
- 245.199 278.957 245.086 277.833 244.974 276.708 \
- 244.974 270.187 245.086 269.063 245.199 268.051 \
- 245.311 267.264 245.649 266.589 245.986 265.915 \
- 246.436 265.465 246.998 265.015 247.672 264.678 \
- 248.459 264.453 249.359 264.228 250.371 264.116 \
- 251.607 264.116 252.732 264.116 253.744 264.228 \
- 254.756 264.453 255.543 264.678 256.217 265.015 \
- 256.779 265.465 257.229 265.915 257.566 266.589 \
- 257.791 267.264 258.016 268.051 258.129 269.063 \
- 258.129 270.187 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 272.183 256.583 277.355 \
- 256.583 277.355 282.78 272.183 282.78 272.183 \
- 256.583 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 295.569 268.726 295.569 282.78 \
- 290.959 282.78 290.959 269.175 290.847 268.051 \
- 290.509 267.376 289.947 266.702 289.048 266.364 \
- 287.923 266.702 287.136 267.376 287.024 268.051 \
- 287.136 269.175 287.136 282.78 282.527 282.78 \
- 282.527 264.565 286.687 264.565 287.136 265.915 \
- 288.036 265.128 289.048 264.565 290.172 264.228 \
- 291.409 264.116 292.533 264.116 293.433 264.341 \
- 294.107 264.565 294.669 265.015 295.344 266.477 \
- 295.569 267.489 295.569 268.726 -fill #000000 \
- -outline {} -width 1 -tags logo
-
- $c create polygon 312.434 269.737 312.434 \
- 270.637 308.274 270.637 308.274 269.175 308.161 \
- 267.826 307.824 266.927 307.262 266.477 306.363 \
- 266.364 305.576 266.477 305.013 266.927 304.676 \
- 267.826 304.564 269.175 304.564 278.17 304.676 \
- 279.294 305.013 279.969 306.363 280.981 307.262 \
- 280.643 307.824 279.969 307.937 279.294 307.824 \
- 278.17 307.824 276.259 312.434 276.259 312.434 \
- 277.608 312.434 278.957 312.209 280.081 311.759 \
- 281.093 311.085 281.88 310.523 282.218 309.173 \
- 282.667 308.386 282.78 307.374 282.78 306.363 282.78 \
- 305.238 282.78 304.226 282.78 303.327 282.667 \
- 302.427 282.442 301.753 282.218 301.191 281.88 \
- 300.853 281.318 300.516 280.643 300.179 279.856 \
- 299.954 278.957 299.841 277.833 299.841 276.708 \
- 299.841 270.187 299.841 269.063 299.954 268.051 \
- 300.179 267.264 300.404 266.589 301.191 265.465 \
- 302.427 264.678 303.327 264.453 304.226 264.228 \
- 305.238 264.116 306.363 264.116 307.374 264.116 \
- 308.386 264.228 309.173 264.453 309.96 264.678 \
- 310.523 265.015 311.085 265.465 311.759 266.252 \
- 312.209 267.264 312.434 268.388 312.434 269.737 \
- -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 316.706 279.069 320.866 \
- 279.069 320.866 282.78 316.706 282.78 316.706 \
- 279.069 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 48.215 186.312 48.215 185.412 \
- 47.766 184.4 47.766 183.501 47.316 183.501 47.316 \
- 182.601 46.416 181.59 46.416 181.14 45.967 180.24 \
- 45.405 179.791 44.955 179.228 44.055 178.329 43.606 \
- 177.879 43.156 177.43 42.144 176.98 41.694 176.418 \
- 41.245 175.968 38.883 175.068 36.972 174.169 36.522 \
- 174.169 35.173 173.607 34.723 174.169 31.913 173.607 \
- 31.913 174.169 29.551 173.607 29.551 174.169 28.54 \
- 174.169 28.09 174.619 27.19 174.169 27.19 174.619 \
- 26.741 174.619 25.729 175.068 23.93 175.518 22.918 \
- 175.068 22.468 175.518 20.669 176.418 19.657 176.418 \
- 15.048 178.779 14.036 179.228 12.686 180.24 12.237 \
- 180.69 11.225 181.59 10.775 182.039 10.325 182.601 \
- 10.775 182.601 10.325 184.4 10.775 184.85 11.225 \
- 186.312 14.036 188.223 14.485 188.673 16.846 190.022 \
- 17.296 190.472 17.296 191.034 15.947 191.933 15.048 \
- 192.383 14.485 192.833 14.036 193.283 13.136 193.845 \
- 12.237 194.295 12.686 195.644 12.686 196.094 12.237 \
- 197.555 12.237 198.005 11.675 198.904 12.237 200.816 \
- 12.237 202.277 12.237 204.526 11.675 205.988 12.237 \
- 205.988 12.237 206.437 12.237 207.337 12.686 208.349 \
- 12.686 209.248 13.136 209.698 12.686 211.16 13.136 \
- 212.509 13.136 213.521 13.586 215.32 13.586 216.781 \
- 13.586 217.681 14.036 220.492 14.485 222.403 15.048 \
- 222.853 15.947 222.853 15.947 222.403 16.397 221.953 \
- 16.846 216.781 17.296 215.32 17.858 211.609 18.308 \
- 210.71 18.308 210.148 18.308 209.248 17.858 208.798 \
- 17.858 207.899 18.308 206.437 18.308 205.538 18.308 \
- 205.088 18.308 203.627 16.846 203.627 15.947 203.177 \
- 15.947 202.727 15.947 202.277 16.397 201.715 16.846 \
- 201.715 17.858 201.715 18.308 201.715 18.758 201.265 \
- 18.308 200.816 17.858 199.916 18.308 198.455 17.858 \
- 198.455 17.858 193.283 19.208 192.383 20.107 191.933 \
- 21.569 191.484 22.018 191.484 22.918 192.383 22.918 \
- 192.833 23.48 192.833 23.93 198.005 23.48 199.467 \
- 23.93 202.277 25.279 202.277 29.551 202.727 30.001 \
- 202.277 30.901 202.277 31.913 202.277 35.623 201.265 \
- 36.522 201.265 36.972 200.816 37.984 200.816 38.883 \
- 200.816 39.333 200.366 40.345 199.916 40.795 199.916 \
- 42.594 198.455 44.055 198.005 44.055 197.555 44.505 \
- 197.105 46.416 195.644 46.416 194.744 46.866 194.295 \
- 47.316 193.845 47.766 193.283 47.316 192.833 48.215 \
- 190.472 48.215 190.022 48.215 189.572 48.215 188.673 \
- 48.215 187.211 48.215 186.762 48.215 186.312 -fill \
- $bg -outline {} -width 1 -tags logo
-
- $c create polygon 76.886 142.688 81.046 142.688 \
- 82.508 142.35 83.407 140.889 83.632 140.327 83.969 \
- 138.865 84.082 137.965 84.194 137.066 84.307 136.054 \
- 84.307 134.93 84.307 133.805 84.307 132.456 84.194 \
- 131.332 84.082 130.208 83.857 129.308 83.632 128.409 \
- 83.407 127.734 82.395 126.272 81.046 125.823 76.886 \
- 125.823 76.886 142.688 -fill $bg -outline {} -width \
- 1 -tags logo
-
- $c create polygon 97.461 148.309 97.461 149.546 \
- 97.461 150.783 97.461 152.02 97.574 153.144 97.574 \
- 154.268 97.686 155.28 97.686 156.405 97.799 157.416 \
- 97.799 158.316 97.911 159.328 98.023 160.227 98.136 \
- 161.127 98.361 162.701 98.473 163.488 98.586 164.275 \
- 98.698 164.949 98.81 165.736 99.373 167.535 99.822 \
- 169.109 100.497 170.234 101.059 171.133 101.846 \
- 171.583 102.633 171.808 104.095 171.133 104.769 \
- 170.234 105.332 169.109 105.894 167.535 106.343 \
- 165.736 106.456 164.949 106.681 164.275 106.793 \
- 163.488 106.906 162.701 107.018 161.914 107.243 \
- 160.227 107.355 159.328 107.355 158.316 107.468 \
- 157.416 107.58 156.405 107.58 155.28 107.693 154.268 \
- 107.693 153.144 107.693 152.02 107.693 150.783 \
- 107.805 149.546 107.805 148.309 107.805 147.073 \
- 107.693 145.836 107.693 144.711 107.693 143.587 \
- 107.693 142.463 107.58 141.338 107.58 140.327 \
- 107.468 139.315 107.355 138.303 107.355 137.403 \
- 107.243 136.504 107.131 135.604 106.906 133.918 \
- 106.793 133.131 106.681 132.456 106.456 131.669 \
- 106.343 130.995 105.894 129.196 105.332 127.622 \
- 104.769 126.497 104.095 125.598 103.42 125.148 \
- 102.633 124.923 101.846 125.148 101.059 125.598 \
- 100.497 126.497 99.822 127.622 99.373 129.196 98.81 \
- 130.995 98.698 131.669 98.586 132.456 98.473 133.131 \
- 98.361 133.918 98.248 134.817 98.023 136.504 97.911 \
- 137.403 97.799 138.303 97.799 139.315 97.686 140.327 \
- 97.686 141.338 97.574 142.463 97.574 143.587 97.461 \
- 144.711 97.461 145.836 97.461 147.073 97.461 148.309 \
- -fill $bg -outline {} -width 1 -tags logo
-
- $c create polygon 122.309 156.292 126.919 \
- 156.292 124.67 130.545 122.309 156.292 -fill $bg \
- -outline {} -width 1 -tags logo
-
- $c create polygon 142.435 142.688 146.145 \
- 142.688 147.607 142.35 148.506 140.889 148.731 \
- 140.327 149.068 138.865 149.181 137.965 149.293 \
- 137.066 149.405 136.054 149.405 134.93 149.405 \
- 133.805 149.405 132.456 149.405 131.332 149.405 \
- 130.208 149.293 129.308 149.181 128.409 148.956 \
- 127.734 148.056 126.272 146.595 125.823 142.435 \
- 125.823 142.435 142.688 -fill $bg -outline {} -width \
- 1 -tags logo
-
- $c create polygon 111.515 228.924 111.515 \
- 227.575 111.066 225.664 108.705 221.391 108.255 \
- 220.042 108.255 219.142 108.255 218.58 108.255 \
- 218.13 107.805 217.681 106.793 218.58 104.994 \
- 220.941 104.432 221.953 102.633 224.202 102.183 \
- 224.764 101.621 225.214 99.822 228.474 97.461 \
- 233.197 97.461 234.096 97.461 234.995 97.911 235.445 \
- 98.361 236.007 99.822 236.457 102.633 236.457 \
- 104.432 235.445 105.894 234.995 106.343 234.546 \
- 106.793 234.546 107.805 233.646 110.616 230.835 \
- 111.515 229.824 111.515 229.374 111.515 228.924 \
- -fill $bg -outline {} -width 1 -tags logo
-
- $c create polygon 161.211 269.175 160.986 \
- 267.826 160.649 266.927 160.199 266.477 159.3 \
- 266.364 158.4 266.477 157.838 266.927 157.613 \
- 267.826 157.388 269.175 157.388 278.17 157.613 \
- 279.294 157.838 279.969 159.3 280.981 160.199 \
- 280.643 160.649 279.969 160.986 279.294 161.211 \
- 278.17 161.211 269.175 -fill $bg -outline {} -width \
- 1 -tags logo
-
- $c create polygon 224.848 273.448 223.836 \
- 273.448 222.825 273.56 222.15 273.673 221.588 \
- 273.897 220.913 274.684 220.688 275.809 220.688 \
- 278.17 220.801 279.294 221.138 279.969 221.7 280.643 \
- 222.487 280.981 223.612 280.643 224.399 279.969 \
- 224.736 279.294 224.848 278.17 224.848 273.448 -fill \
- $bg -outline {} -width 1 -tags logo
-
- $c create polygon 253.969 269.175 253.744 \
- 267.826 253.406 266.927 252.732 266.477 251.607 \
- 266.364 250.708 266.477 250.146 266.927 249.696 \
- 269.175 249.696 272.548 253.969 272.548 253.969 \
- 269.175 -fill $bg -outline {} -width 1 -tags logo
-
-}
-
-#***********************************************************************
-# %PROCEDURE: LoadConnectionInfo
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Loads the connection information into the global ConnectionInfo variable
-#***********************************************************************
-proc LoadConnectionInfo {} {
- global ConnectionInfoFile ConnectionInfo PasswordFile
- set ConnectionInfo {}
- if {![file exists $ConnectionInfoFile]} {
- return
- }
- set problem [catch {
- set fp [open $ConnectionInfoFile "r"]
- while {1} {
- if {[gets $fp line] < 0} {
- break
- }
- set line [string trim $line]
- if {[string match "#*" $line]} {
- continue
- }
- if {"$line" == ""} {
- continue
- }
- set ConnectionInfo $line
- break
- }
- close $fp
- } err]
- if {$problem} {
- tk_dialog .err Error "Error loading configuration file: $err" error 0 OK
- }
- # Try loading and merging passwords if the password file is readable
- if {![file readable $PasswordFile]} {
- return
- }
-
- set fp [open $PasswordFile "r"]
- while {1} {
- if {[gets $fp line] < 0} {
- break
- }
- set line [string trim $line]
- if {[string match "#*" $line]} {
- continue
- }
- if {"$line" == ""} {
- continue
- }
- set passwords $line
- break
- }
- close $fp
-
- # Merge passwords
- foreach thing $passwords {
- set name [value $thing ConnectionName]
- set password [value $thing Password]
- set conn [GetConnection $name]
- if {"$conn" != ""} {
- lappend conn Password $password
- ReplaceConnection $conn
- }
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: GetConnection
-# %ARGUMENTS:
-# name -- name of connection
-# %RETURNS:
-# key/value pair listing connection configuration, or "" if not found.
-#***********************************************************************
-proc GetConnection { name } {
- global ConnectionInfo
- foreach thing $ConnectionInfo {
- if {[value $thing ConnectionName] == "$name"} {
- return $thing
- }
- }
- return ""
-}
-
-
-#***********************************************************************
-# %PROCEDURE: DeleteConnection
-# %ARGUMENTS:
-# name -- name of connection
-# %RETURNS:
-# Nothing, but deletes connection named "$name"
-#***********************************************************************
-proc DeleteConnection { name } {
- global ConnectionInfo ConfigDir
- set newInfo {}
- set found 0
- foreach thing $ConnectionInfo {
- if {[value $thing ConnectionName] == "$name"} {
- set found 1
- } else {
- lappend newInfo $thing
- }
- }
- if {!$found} {
- return
- }
- set ConnectionInfo $newInfo
- SaveConnectionInfo
-
- # Delete the config file
- set fname [file join $ConfigDir conf.$name]
- catch { file delete $fname }
-
- BuildConnectionMenu
- if {[GetCurrentConnection] == $name} {
- if {[llength $ConnectionInfo] == 0} {
- SwitchConnection ""
- } else {
- set name [value [lindex $ConnectionInfo 0] ConnectionName]
- SwitchConnection $name
- }
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: ReplaceConnection
-# %ARGUMENTS:
-# conn -- new name/value pairs
-# %RETURNS:
-# Nothing, but replaces connection in ConnectionInfo. If no such
-# connection exists, appends new connection.
-#***********************************************************************
-proc ReplaceConnection { conn } {
- global ConnectionInfo
- set name [value $conn ConnectionName]
- set newInfo {}
- set found 0
- foreach thing $ConnectionInfo {
- if {[value $thing ConnectionName] == "$name"} {
- lappend newInfo $conn
- set found 1
- } else {
- lappend newInfo $thing
- }
- }
- if {!$found} {
- lappend newInfo $conn
- }
- set ConnectionInfo $newInfo
-}
-
-proc DeletePPPoEConnection {} {
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- return
- }
- set ans [tk_dialog .confirm "Confirm Deletion - RP-PPPoE" "Are you sure you wish to delete the connection `$conn'?" warning 0 No Yes]
- if {$ans} {
- DeleteConnection $conn
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: CreateMainDialog
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Creates the main window
-#***********************************************************************
-proc CreateMainDialog {} {
- global ConnectionInfoFile
- global ConnectionInfo
- global Admin
- wm title . "RP-PPPoE"
- wm iconname . "PPPoE"
- frame .f1
- label .l1 -text "Connection: "
- menubutton .m1 -text "" -indicatoron 1 -menu .m1.menu -relief raised
- menu .m1.menu -tearoff 0
- pack .l1 .m1 -in .f1 -side left -expand 0 -fill x
- canvas .c -width 40 -height 20
- pack .c -in .f1 -side left -expand 0 -fill none
-
- # Draw the LED's
- .c create rectangle 10 1 30 8 -outline "#808080" -fill "#A0A0A0" -tags xmitrect
- .c create rectangle 10 10 30 18 -outline "#808080" -fill "#A0A0A0" -tags recvrect
-
- frame .buttons
- button .start -text "Start" -command "StartPPPoEConnection"
- button .stop -text "Stop" -command "StopPPPoEConnection"
- button .exit -text "Exit" -command "exit"
- canvas .graph -width 1 -height 1
- if {[file writable $ConnectionInfoFile]} {
- set Admin 1
- pack .f1 -side top -expand 1 -fill both
- pack .buttons -side top -expand 0 -fill x
- button .delete -text "Delete" -command "DeletePPPoEConnection"
- button .new -text "New Connection..." -command "NewPPPoEConnection"
- button .props -text "Properties..." -command "EditConnectionProps"
- pack .graph -in .f1 -side left -expand 1 -fill both
- pack .start .stop .delete .props .new .exit -in .buttons -side left -expand 0 -fill none
- } else {
- set Admin 0
- pack .f1 -side top -expand 0 -fill x
- pack .buttons -side top -expand 1 -fill both
- pack .start .stop .exit -in .buttons -side left -expand 0 -fill none
- pack .graph -in .buttons -side left -expand 1 -fill both
- }
-
- LoadConnectionInfo
- BuildConnectionMenu
- # If no connections exist, pop up new connection dialog
- if {[llength $ConnectionInfo] == 0} {
- SwitchConnection ""
- if {$Admin} {
- update idletasks
- NewPPPoEConnection
- } else {
- tk_dialog .note Note "Note: There are no connections defined. You must run this program as root to define connections" warning 0 OK
- }
- } else {
- set con [lindex $ConnectionInfo 0]
- set name [value $con ConnectionName]
- SwitchConnection $name
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: GetCurrentConnection
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# The name of the current connection in the GUI.
-#***********************************************************************
-proc GetCurrentConnection {} {
- .m1 cget -text
-}
-
-#***********************************************************************
-# %PROCEDURE: value
-# %ARGUMENTS:
-# lst -- a list of key/value pairs
-# key -- key we're looking for
-# %RETURNS:
-# value corresponding to $key, or "" if not found.
-#***********************************************************************
-proc value { lst key } {
- set idx [lsearch -exact $lst $key]
- if {$idx >= 0} {
- return [lindex $lst [expr $idx+1]]
- }
- return ""
-}
-
-#***********************************************************************
-# %PROCEDURE: SwitchConnection
-# %ARGUMENTS:
-# name -- new connection name
-# %DESCRIPTION:
-# Makes $name the active connection
-#***********************************************************************
-proc SwitchConnection { name } {
- .m1 configure -text $name
- SetButtonStates
- UpdateConnectionState 0
-}
-
-#***********************************************************************
-# %PROCEDURE: EditConnectionProps
-# %ARGUMENTS:
-# None
-# %DESCRIPTION:
-# Pops up edit window for current connection
-#***********************************************************************
-proc EditConnectionProps {} {
- global ConnectionInfo
- set conn [GetCurrentConnection]
- NewPPPoEConnection $conn
-}
-
-#***********************************************************************
-# %PROCEDURE: FillConnectionGui
-# %ARGUMENTS:
-# w -- connection property GUI
-# name -- name of connection
-# %DESCRIPTION:
-# Fills GUI with values corresponding to $name.
-#***********************************************************************
-proc FillConnectionGui { w name } {
- global ConnectionInfo
- set found [GetConnection $name]
- if {"$found" != ""} {
- ListToSetupGui $w $found
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: BuildConnectionMenu
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Builds the connection menu
-#***********************************************************************
-proc BuildConnectionMenu {} {
- global ConnectionInfo
- .m1.menu delete 0 end
- foreach connection $ConnectionInfo {
- set name [value $connection ConnectionName]
- .m1.menu add command -label $name -command [list SwitchConnection $name]
- }
- .m1.menu add separator
- .m1.menu add command -label "User's Manual" -command Help
-}
-
-#***********************************************************************
-# %PROCEDURE: SetButtonStates
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Enables or disables buttons, as appropriate
-#***********************************************************************
-proc SetButtonStates {} {
- global Admin
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- .start configure -state disabled
- .stop configure -state disabled
- catch {
- .delete configure -state disabled
- .props configure -state disabled
- .new configure -state normal
- }
- } else {
- foreach {startstop updown interface} [GetConnectionStatus $conn] {break}
- if {"$startstop" == "started"} {
- .start configure -state disabled
- .stop configure -state normal
- } else {
- .start configure -state normal
- .stop configure -state disabled
- }
- catch {
- .delete configure -state normal
- .props configure -state normal
- .new configure -state normal
- }
- if {!$Admin} {
- set ok [value [GetConnection $conn] NonrootOK]
- if {!$ok} {
- .start configure -state disabled
- .stop configure -state disabled
- }
- }
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: GetEthernetInterfaces
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# A list of Ethernet interfaces
-#***********************************************************************
-proc GetEthernetInterfaces {} {
- set ifs {}
- set fp [open "|/sbin/ifconfig" "r"]
- while {[gets $fp line] >= 0} {
- if {[regexp {^eth[0-9]+} $line eth]} {
- lappend ifs $eth
- }
- }
- return $ifs
-}
-
-#***********************************************************************
-# %PROCEDURE: StartPPPoEConnection
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Starts currently-selected PPPoE connection.
-#***********************************************************************
-proc StartPPPoEConnection {} {
- global Wrapper
- global StartState
- global UpdateToken
-
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- return
- }
-
- if {"$UpdateToken" != ""} {
- after cancel $UpdateToken
- set UpdateToken ""
- }
-
- catch { unset StartState }
- set StartState(chars) ""
- set StartState(status) ""
- set StartState(msg) ""
- set StartState(flip) 0
-
- set fp [open "|$Wrapper start $conn" "r"]
-
- # Set fileevent
- fileevent $fp readable [list StartFPReadable $fp]
-
- LockGui $fp
- vwait StartState(status)
- UnlockGui
-
- if {$StartState(status) == "failed"} {
- tk_dialog .err Error "Error starting connection: $StartState(msg)" error 0 OK
- }
- SetButtonStates
- UpdateConnectionState 0
-}
-
-proc LockGui { fp } {
- .start configure -state disabled
- .stop configure -state normal -command [list AbortConnection $fp]
- .exit configure -state disabled
- .m1 configure -state disabled
- grab set .stop
-}
-
-proc UnlockGui {} {
- .start configure -state normal
- .stop configure -state disabled -command StopPPPoEConnection
- .exit configure -state normal
- .m1 configure -state normal
- grab release .stop
-}
-
-proc AbortConnection { fp } {
- global StartState
- catch { StopPPPoEConnection }
- catch { close $fp }
- set StartState(msg) "Connection aborted by user"
- set StartState(status) "failed"
-}
-
-#***********************************************************************
-# %PROCEDURE: StartFPReadable
-# %ARGUMENTS:
-# fp -- file handle
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Called when the "adsl-start" file handle is readable.
-#***********************************************************************
-proc StartFPReadable { fp } {
- global StartState
- set char [read $fp 1]
- if {$char == ""} {
- set uhoh [catch {close $fp} err]
- if {$uhoh} {
- set StartState(status) "failed"
- set StartState(msg) $err
- } else {
- set StartState(status) "succeeded"
- }
- return
- }
- append StartState(chars) $char
- if {$StartState(flip)} {
- ConnectionStateDown
- } else {
- ConnectionStateOff
- }
- set StartState(flip) [expr 1 - $StartState(flip)]
-}
-
-#***********************************************************************
-# %PROCEDURE: StopPPPoEConnection
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Stops currently-selected PPPoE connection.
-#***********************************************************************
-proc StopPPPoEConnection {} {
- global Wrapper
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- return
- }
- set fp [open "|$Wrapper stop $conn" "r"]
- while {1} {
- set char [read $fp 1]
- if {"$char" == ""} {
- break;
- }
- }
- set uhoh [catch {close $fp} err]
- if {$uhoh} {
- # Ignore a common error
- if {![string match "*appears to have died*" $err]} {
- tk_dialog .err Error "Error stopping connection: $err" error 0 OK
- }
- }
- SetButtonStates
- UpdateConnectionState 0
-}
-
-#***********************************************************************
-# %PROCEDURE: NewPPPoEConnection
-# %ARGUMENTS:
-# name -- if supplied, we're editing the existing connection "name"
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Creates a new PPPoE connection
-#***********************************************************************
-proc NewPPPoEConnection {{name ""}} {
- set w .newcon
- if {[winfo exists $w]} {
- wm deiconify $w
- raise $w
- return
- }
-
- toplevel $w
- if {"$name" == ""} {
- wm title $w "New Connection - RP-PPPoE"
- wm iconname $w "New Connection"
- } else {
- wm title $w "Edit Connection - RP-PPPoE"
- wm iconname $w "Edit Connection"
- }
- wm withdraw $w
-
- tabnotebook_create $w.tn
- set basic [tabnotebook_page $w.tn "Basic"]
- set interface [tabnotebook_page $w.tn "NIC and DNS"]
- set opts [tabnotebook_page $w.tn "Options"]
- set advanced [tabnotebook_page $w.tn "Advanced"]
-
- # ----------- BASIC PAGE -------------
- label $w.lconName -text "Connection Name: " -anchor e
- if {"$name" != ""} {
- label $w.conName -text $name -anchor w
- } else {
- entry $w.conName -width 15
- RegisterHelpWindow $w.lconName "Enter a name for this connection. It can contain letters, numbers, undescores and the minus-sign." $w.help
- RegisterHelpWindow $w.conName "Enter a name for this connection. It can contain letters, numbers, undescores and the minus-sign." $w.help
- }
-
- label $w.luser -text "User Name: " -anchor e
- entry $w.user -width 15
- RegisterHelpWindow $w.luser "Enter your user name. Do not add a domain-name after the user name." $w.help
- RegisterHelpWindow $w.user "Enter your user name. Do not add a domain-name after the user name." $w.help
-
- label $w.lnet -text "Network: " -anchor e
- entry $w.network -width 15
- RegisterHelpWindow $w.lnet "Some ISP's require you to enter their domain-name here (e.g. \"sympatico.ca\")." $w.help
- RegisterHelpWindow $w.network "Some ISP's require you to enter their domain-name here (e.g. \"sympatico.ca\")." $w.help
-
- label $w.lpass -text "Password: " -anchor e
- entry $w.pass -width 15 -show "*"
- RegisterHelpWindow $w.lpass "Enter your password." $w.help
- RegisterHelpWindow $w.pass "Enter your password." $w.help
-
- grid $w.lconName $w.conName -in $basic -sticky nsew
- grid $w.luser $w.user -in $basic -sticky nsew
- grid $w.lnet $w.network -in $basic -sticky nsew
- grid $w.lpass $w.pass -in $basic -sticky nsew
- grid columnconfigure $basic 1 -weight 1
-
- # ----------- INTERFACES PAGE -------------
- set ifs {}
- catch {set ifs [GetEthernetInterfaces]}
-
- label $w.lifname -text "Ethernet Interface: " -anchor e
- entry $w.ifname -width 8
- RegisterHelpWindow $w.lifname "Enter Ethernet interface to which DSL modem is attached." $w.help
- RegisterHelpWindow $w.ifname "Enter Ethernet interface to which DSL modem is attached." $w.help
-
- if {[llength $ifs] > 0} {
- menubutton $w.ifmb -relief raised -text "..." -menu $w.ifmb.menu
- RegisterHelpWindow $w.ifmb "Browse detected Ethernet interface names." $w.help
- menu $w.ifmb.menu -tearoff 0
- foreach if $ifs {
- $w.ifmb.menu add command -label $if -command "$w.ifname delete 0 end; $w.ifname insert end [list $if]"
- }
- grid $w.lifname $w.ifname $w.ifmb -in $interface -sticky nsew
- } else {
- grid $w.lifname $w.ifname - -in $interface -sticky nsew
- }
-
- label $w.ldns -text "DNS Setup: " -anchor e
- menubutton $w.dns -text "From Server" -menu $w.dns.menu -relief raised -indicatoron 1
- menu $w.dns.menu -tearoff 0
- foreach thing {"From Server" "Specify" "Do not Adjust"} {
- $w.dns.menu add command -label $thing -command [list SetDNSOption $w $thing]
- }
- RegisterHelpWindow $w.ldns "DNS server options:\n'From Server' - Let PPPoE server specify DNS servers\n'Specify' - Enter IP addresses of DNS servers yourself\n'Do not Adjust' - Leave your DNS setup alone." $w.help
- RegisterHelpWindow $w.dns "DNS server options:\n'From Server' - Let PPPoE server specify DNS servers\n'Specify' - Enter IP addresses of DNS servers yourself\n'Do not Adjust' - Leave your DNS setup alone." $w.help
-
- label $w.ldns1 -text "Primary DNS: " -anchor e
- entry $w.dns1 -width 16
- RegisterHelpWindow $w.ldns1 "Enter the IP address of the primary DNS server." $w.help
- RegisterHelpWindow $w.dns1 "Enter the IP address of the primary DNS server." $w.help
- label $w.ldns2 -text "Secondary DNS: " -anchor e
- entry $w.dns2 -width 16
- RegisterHelpWindow $w.ldns2 "Enter the IP address of the secondary DNS server." $w.help
- RegisterHelpWindow $w.dns2 "Enter the IP address of the secondary DNS server." $w.help
-
- SetDNSOption $w "From Server"
- grid $w.ldns $w.dns - -in $interface -sticky nsew
- grid $w.ldns1 $w.dns1 - -in $interface -sticky nsew
- grid $w.ldns2 $w.dns2 - -in $interface -sticky nsew
-
- # If only one Ethernet interface, select it by default
- if {[llength $ifs] == 1} {
- $w.ifname insert end [lindex $ifs 0]
- }
-
- grid columnconfigure $interface 1 -weight 1
- # ----------- OPTS PAGE -------------
- checkbutton $w.nonroot -text "Allow use by non-root users" -variable OPTS(nonroot) -anchor w
- RegisterHelpWindow $w.nonroot "If enabled, ordinary users can start and stop this connection." $w.help
- checkbutton $w.sync -text "Use synchronous PPP" -variable OPTS(sync) -anchor w
- RegisterHelpWindow $w.sync "Use synchronous PPP (recommended -- easier on the CPU.)" $w.help
- label $w.lfw -text "Firewalling: " -anchor e
- if {[llength $ifs] == 1} {
- set defaultFW "Stand-Alone"
- } else {
- set defaultFW "Masquerading"
- }
- menubutton $w.fw -text $defaultFW -menu $w.fw.menu -indicatoron 1 -relief raised
- menu $w.fw.menu -tearoff 0
- foreach type {Stand-Alone Masquerading None} {
- $w.fw.menu add command -label $type -command [list $w.fw configure -text $type]
- }
-
- RegisterHelpWindow $w.lfw "Firewalling options:\nStand-Alone - A stand-alone machine.\nMasquerading - A gateway machine used for Internet sharing.\nNone - Use if you already have your own firewall rules or want to run servers." $w.help
- RegisterHelpWindow $w.fw "Firewalling options:\nStand-Alone - A stand-alone machine.\nMasquerading - A gateway machine used for Internet sharing.\nNone - Use if you already have your own firewall rules or want to run servers." $w.help
- grid $w.nonroot - -in $opts -sticky nsew
- grid $w.sync - -in $opts -sticky nsew
- grid $w.lfw $w.fw -in $opts -sticky nsw
- grid columnconfigure $opts 1 -weight 1
-
- # ----------- ADVANCED PAGE -------------
- label $w.lsn -text "Service-Name: " -anchor e
- entry $w.servicename -width 24
-
- label $w.lac -text "AC-Name: " -anchor e
- entry $w.acname -width 24
-
- RegisterHelpWindow $w.lac "Enter access concentrator name if required. Most ISPs do not require this; try leaving it blank." $w.help
- RegisterHelpWindow $w.acname "Enter access concentrator name if required. Most ISPs do not require this; try leaving it blank." $w.help
- grid $w.lsn $w.servicename -in $advanced -sticky nsew
- grid $w.lac $w.acname -in $advanced -sticky nsew
- RegisterHelpWindow $w.lsn "Enter service name if required. Most ISPs do not require this; try leaving it blank." $w.help
- RegisterHelpWindow $w.servicename "Enter service name if required. Most ISPs do not require this; try leaving it blank." $w.help
-
- grid columnconfigure $advanced 1 -weight 1
-
- # ----------- BUTTONS -------------
- frame $w.buttons
- button $w.ok -text "OK" -command [list NewPPPoEConnectionOK $name $w]
- button $w.cancel -text "Cancel" -command [list destroy $w]
- pack $w.ok $w.cancel -in $w.buttons -expand 0 -fill none -side left
-
- pack $w.tn -side top -expand 1 -fill both
-
- text $w.help -width 60 -wrap word -state disabled -height 6
- pack $w.help -side top -expand 0 -fill both
- pack $w.buttons -side top -expand 0 -fill x
-
- # If we're editing existing connection, fill GUI with current values
- if {"$name" != ""} {
- FillConnectionGui $w $name
- }
- wm deiconify $w
- update idletasks
- raise $w
-}
-
-#***********************************************************************
-# %PROCEDURE: SetDNSOption
-# %ARGUMENTS:
-# w -- connection-editing window
-# opt -- value of DNS option
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Adjusts GUI for specified option
-#***********************************************************************
-proc SetDNSOption { w opt } {
- $w.dns configure -text $opt
- if {"$opt" == "Specify"} {
- $w.dns1 configure -state normal -background white
- $w.dns2 configure -state normal -background white
- } else {
- $w.dns1 configure -state disabled -background "#d9d9d9"
- $w.dns2 configure -state disabled -background "#d9d9d9"
- }
-}
-
-# ----------------------------------------------------------------------
-# Tabbed notebook code from "Effective Tcl/Tk Programming"
-# ----------------------------------------------------------------------
-# EXAMPLE: tabnotebook that can dial up pages
-# ----------------------------------------------------------------------
-# Effective Tcl/Tk Programming
-# Mark Harrison, DSC Communications Corp.
-# Michael McLennan, Bell Labs Innovations for Lucent Technologies
-# Addison-Wesley Professional Computing Series
-# ======================================================================
-# Copyright (c) 1996-1997 Lucent Technologies Inc. and Mark Harrison
-# ======================================================================
-
-option add *Tabnotebook.tabs.background #666666 widgetDefault
-option add *Tabnotebook.margin 6 widgetDefault
-option add *Tabnotebook.tabColor #a6a6a6 widgetDefault
-option add *Tabnotebook.activeTabColor #d9d9d9 widgetDefault
-option add *Tabnotebook.tabFont \
- -*-helvetica-bold-r-normal--*-120-* widgetDefault
-
-proc tabnotebook_create {win} {
- global tnInfo
-
- frame $win -class Tabnotebook
- canvas $win.tabs -highlightthickness 0
- pack $win.tabs -fill x
-
- notebook_create $win.notebook
- pack $win.notebook -expand yes -fill both
-
- set tnInfo($win-tabs) ""
- set tnInfo($win-current) ""
- set tnInfo($win-pending) ""
- return $win
-}
-
-proc tabnotebook_page {win name} {
- global tnInfo
-
- set page [notebook_page $win.notebook $name]
- lappend tnInfo($win-tabs) $name
-
- if {$tnInfo($win-pending) == ""} {
- set id [after idle [list tabnotebook_refresh $win]]
- set tnInfo($win-pending) $id
- }
- return $page
-}
-
-proc tabnotebook_refresh {win} {
- global tnInfo
-
- $win.tabs delete all
-
- set margin [option get $win margin Margin]
- set color [option get $win tabColor Color]
- set font [option get $win tabFont Font]
- set x 2
- set maxh 0
-
- foreach name $tnInfo($win-tabs) {
- set id [$win.tabs create text \
- [expr $x+$margin+2] [expr -0.5*$margin] \
- -anchor sw -text $name -font $font \
- -tags [list $name]]
-
- set bbox [$win.tabs bbox $id]
- set wd [expr [lindex $bbox 2]-[lindex $bbox 0]]
- set ht [expr [lindex $bbox 3]-[lindex $bbox 1]]
- if {$ht > $maxh} {
- set maxh $ht
- }
-
- $win.tabs create polygon 0 0 $x 0 \
- [expr $x+$margin] [expr -$ht-$margin] \
- [expr $x+$margin+$wd] [expr -$ht-$margin] \
- [expr $x+$wd+2*$margin] 0 \
- 2000 0 2000 10 0 10 \
- -outline black -fill $color \
- -tags [list $name tab tab-$name]
-
- $win.tabs raise $id
-
- $win.tabs bind $name <ButtonPress-1> \
- [list tabnotebook_display $win $name]
-
- set x [expr $x+$wd+2*$margin]
- }
- set height [expr $maxh+2*$margin]
- $win.tabs move all 0 $height
-
- $win.tabs configure -width $x -height [expr $height+4]
-
- if {$tnInfo($win-current) != ""} {
- tabnotebook_display $win $tnInfo($win-current)
- } else {
- tabnotebook_display $win [lindex $tnInfo($win-tabs) 0]
- }
- set tnInfo($win-pending) ""
-}
-
-proc tabnotebook_display {win name} {
- global tnInfo
-
- notebook_display $win.notebook $name
-
- set normal [option get $win tabColor Color]
- $win.tabs itemconfigure tab -fill $normal
-
- set active [option get $win activeTabColor Color]
- $win.tabs itemconfigure tab-$name -fill $active
- $win.tabs raise $name
-
- set tnInfo($win-current) $name
-}
-
-# ----------------------------------------------------------------------
-# EXAMPLE: simple notebook that can dial up pages
-# ----------------------------------------------------------------------
-# Effective Tcl/Tk Programming
-# Mark Harrison, DSC Communications Corp.
-# Michael McLennan, Bell Labs Innovations for Lucent Technologies
-# Addison-Wesley Professional Computing Series
-# ======================================================================
-# Copyright (c) 1996-1997 Lucent Technologies Inc. and Mark Harrison
-# ======================================================================
-
-option add *Notebook.borderWidth 2 widgetDefault
-option add *Notebook.relief sunken widgetDefault
-
-proc notebook_create {win} {
- global nbInfo
-
- frame $win -class Notebook
- pack propagate $win 0
-
- set nbInfo($win-count) 0
- set nbInfo($win-pages) ""
- set nbInfo($win-current) ""
- return $win
-}
-
-proc notebook_page {win name} {
- global nbInfo
-
- set page "$win.page[incr nbInfo($win-count)]"
- lappend nbInfo($win-pages) $page
- set nbInfo($win-page-$name) $page
-
- frame $page
-
- if {$nbInfo($win-count) == 1} {
- after idle [list notebook_display $win $name]
- }
- return $page
-}
-
-proc notebook_display {win name} {
- global nbInfo
-
- set page ""
- if {[info exists nbInfo($win-page-$name)]} {
- set page $nbInfo($win-page-$name)
- } elseif {[winfo exists $win.page$name]} {
- set page $win.page$name
- }
- if {$page == ""} {
- error "bad notebook page \"$name\""
- }
-
- notebook_fix_size $win
-
- if {$nbInfo($win-current) != ""} {
- pack forget $nbInfo($win-current)
- }
- pack $page -expand yes -fill both
- set nbInfo($win-current) $page
-}
-
-proc notebook_fix_size {win} {
- global nbInfo
-
- update idletasks
-
- set maxw 0
- set maxh 0
- foreach page $nbInfo($win-pages) {
- set w [winfo reqwidth $page]
- if {$w > $maxw} {
- set maxw $w
- }
- set h [winfo reqheight $page]
- if {$h > $maxh} {
- set maxh $h
- }
- }
- set bd [$win cget -borderwidth]
- set maxw [expr $maxw+2*$bd]
- set maxh [expr $maxh+2*$bd]
- $win configure -width $maxw -height $maxh
-}
-
-#***********************************************************************
-# %PROCEDURE: SetupGuiToList
-# %ARGUMENTS:
-# w -- the PPPoE connection setup window
-# %RETURNS:
-# A list of (name value) pairs for the connection.
-# %DESCRIPTION:
-# Reads values from the GUI; makes a list.
-#***********************************************************************
-proc SetupGuiToList { w } {
- global OPTS
- set ans {}
- if {[catch {lappend ans ConnectionName [$w.conName get]}]} {
- lappend ans ConnectionName [$w.conName cget -text]
- }
- lappend ans UserName [$w.user get]
- lappend ans NetworkName [$w.network get]
- lappend ans Password [$w.pass get]
- lappend ans Interface [$w.ifname get]
- lappend ans DNSType [$w.dns cget -text]
- lappend ans DNS1 [$w.dns1 get]
- lappend ans DNS2 [$w.dns2 get]
- lappend ans NonrootOK $OPTS(nonroot)
- lappend ans Sync $OPTS(sync)
- lappend ans FirewallType [$w.fw cget -text]
- lappend ans ServiceName [$w.servicename get]
- lappend ans ACName [$w.acname get]
-
- # Validate
- set name [value $ans ConnectionName]
- if {![regexp -nocase {^[-a-z0-9_]+$} $name]} {
- error "Connection name must be non-blank and contain only letters, digits, `_' and `-'"
- }
-
- # Check DNS
- set type [value $ans DNSType]
- if {"$type" == "Specify"} {
- set dns [value $ans DNS1]
- if {![regexp {[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+} "$dns"]} {
- error "Primary DNS entry must consist of four dot-separated decimal numbers"
- }
- set dns [value $ans DNS2]
- if {"$dns" != "" && ![regexp {[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+} "$dns"]} {
- error "Secondary DNS entry must consist of four dot-separated decimal numbers"
- }
- }
- return $ans
-}
-
-#***********************************************************************
-# %PROCEDURE: ListToSetupGui
-# %ARGUMENTS:
-# w -- the PPPoE connection setup window
-# lst -- a list of name/value pairs
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Updates GUI to reflect lst
-#***********************************************************************
-proc ListToSetupGui { w lst } {
- global OPTS
- foreach {key value} $lst {
- switch -exact -- $key {
- ConnectionName {
- catch {
- $w.conName delete 0 end
- $w.conName insert end $value
- }
- catch {
- $w.conName configure -text $value
- }
- }
- UserName {
- $w.user delete 0 end
- $w.user insert end $value
- }
- NetworkName {
- $w.network delete 0 end
- $w.network insert end $value
- }
- Password {
- $w.pass delete 0 end
- $w.pass insert end $value
- }
- Interface {
- $w.ifname delete 0 end
- $w.ifname insert end $value
- }
- DNSType {
- SetDNSOption $w $value
- }
- DNS1 {
- set oldstate [$w.dns1 cget -state]
- $w.dns1 configure -state normal
- $w.dns1 delete 0 end
- $w.dns1 insert end $value
- $w.dns1 configure -state $oldstate
- }
- DNS2 {
- set oldstate [$w.dns2 cget -state]
- $w.dns2 configure -state normal
- $w.dns2 delete 0 end
- $w.dns2 insert end $value
- $w.dns2 configure -state $oldstate
- }
- NonrootOK {
- set OPTS(nonroot) $value
- }
- Sync {
- set OPTS(sync) $value
- }
- FirewallType {
- $w.fw configure -text $value
- }
- ServiceName {
- $w.servicename delete 0 end
- $w.servicename insert end $value
- }
- ACName {
- $w.acname delete 0 end
- $w.acname insert end $value
- }
- }
- }
-}
-
-proc NewPPPoEConnectionOK { name w } {
- if {[catch {set conn [SetupGuiToList $w]} err]} {
- tk_dialog .err "Invalid Parameters" "$err" error 0 OK
- return
- }
- if {"$name" == ""} {
- set name [value $conn ConnectionName]
- set tmp [GetConnection $name]
- if {"$tmp" != ""} {
- tk_dialog .err "Connection Exists" "The connection `$name' already exists. Pick another name." error 0 OK
- return
- }
- }
- ReplaceConnection $conn
- SaveConnectionInfo
- BuildConnectionMenu
- SwitchConnection $name
- destroy $w
-}
-
-proc SaveConnectionInfo {} {
- global ConnectionInfo ConnectionInfoFile PasswordFile
- set fp [open "$ConnectionInfoFile.new" "w"]
- puts $fp "# RP-PPPoE GUI Configuration Information."
- puts $fp "# This file may *look* human-editable, but it is NOT."
- puts $fp "# So, you with the text editor: Keep away from this file."
- puts $fp "#"
- set expunged {}
- set passwords {}
- foreach thing $ConnectionInfo {
- set name [value $thing ConnectionName]
- set password [value $thing Password]
- set pwindex [lsearch -exact $thing Password]
- set safe [lreplace $thing $pwindex [expr $pwindex+1]]
- set pwd [list ConnectionName $name Password $password]
- lappend expunged $safe
- lappend passwords $pwd
- }
- puts $fp $expunged
- close $fp
- set fp [open "$PasswordFile.new" "w"]
- exec chmod 600 "$PasswordFile.new"
- puts $fp "# RP-PPPoE GUI Configuration Information."
- puts $fp "# This file may *look* human-editable, but it is NOT."
- puts $fp "# So, you with the text editor: Keep away from this file."
- puts $fp "#"
- puts $fp $passwords
- close $fp
- file rename -force "$ConnectionInfoFile.new" "$ConnectionInfoFile"
- file rename -force "$PasswordFile.new" "$PasswordFile"
-
- # Generate config files for adsl-start for each connection
- foreach thing $ConnectionInfo {
- GenerateConfigFile $thing
- }
-
- # Now update /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
- foreach thing $ConnectionInfo {
- GenerateSecretsEntry $thing
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: ReadShellEscapedWord
-# %ARGUMENTS:
-# str -- a string
-# %RETURNS:
-# A two-element list -- the first element is a shell-escaped word
-# extracted from $str, just the way pppd parses /etc/ppp/pap-secrets.
-# The second element is the remaining portion of $str
-#***********************************************************************
-proc ReadShellEscapedWord { str } {
- set ans {}
- set rest $str
-
- # Chew up leading spaces
- set rest [string trimleft $rest]
-
- # If first char is a quote, read until a quote
- if {"[string index $rest 0]" == "\""} {
- set rest [string range $rest 1 end]
- set nextquote [string first "\"" $rest]
- # If no following quote, pretend we haven't seen a quote, I guess.
- if {$nextquote >= 0} {
- set ans [string range $rest 0 [expr $nextquote-1]]
- set rest [string range $rest [expr $nextquote+1] end]
- return [list $ans $rest]
- }
- }
-
- # Not a quote; chew through the string until an unescaped space
- while {[string length $rest] > 0} {
- set char [string index $rest 0]
- set rest [string range $rest 1 end]
- # Sneaky test for whitespace in Tcl 8.0
- if {"[string trim $char]" == ""} {
- return [list $ans $rest]
- }
- if {"$char" == "\\"} {
- set char [string index $rest 0]
- set rest [string range $rest 1 end]
- }
- append ans $char
- }
- return [list $ans $rest]
-}
-
-
-#***********************************************************************
-# %PROCEDURE: GenerateSecretsEntry
-# %ARGUMENTS:
-# conn -- a connection key/value list
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Adds entries to /etc/ppp/pap-secrets and /etc/ppp/chap-secrets.
-#***********************************************************************
-proc GenerateSecretsEntry { conn } {
- set user [value $conn UserName]
- set net [value $conn NetworkName]
- set password [value $conn Password]
- if {"$net" != ""} {
- set user "$user@$net"
- }
- GenerateSecretsEntryForFile $user $password "/etc/ppp/pap-secrets"
- GenerateSecretsEntryForFile $user $password "/etc/ppp/chap-secrets"
-}
-
-#***********************************************************************
-# %PROCEDURE: GenerateSecretsEntryForFile
-# %ARGUMENTS:
-# user -- user name
-# password -- password
-# fname -- file to add entry to.
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Adds entries to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets.
-#***********************************************************************
-proc GenerateSecretsEntryForFile { user password fname } {
- # Copy $fname to $fname.new
- set out [open "$fname.new" "w"]
- exec chmod go-rwx "$fname.new"
- if {[file exists $fname]} {
- set in [open $fname "r"]
- while {[gets $in line] >= 0} {
- set trimmed [string trim $line]
- if {"$trimmed" == ""} {
- puts $out $line
- continue
- }
- if {[string match "#*" $trimmed]} {
- puts $out $line
- continue
- }
-
- # Read the user name off the line; copy it unless it's our
- # user name.
- foreach {word dummy} [ReadShellEscapedWord $line] {break}
- if {$word != $user} {
- puts $out $line
- }
- }
- close $in
- }
-
- # Now add our line
- set user [ShellEscape $user]
- set password [ShellEscape $password]
- puts $out "$user\t*\t$password\t*"
- close $out
- file rename -force $fname.new $fname
-}
-
-#***********************************************************************
-# %PROCEDURE: ShellEscape
-# %ARGUMENTS:
-# str
-# %RETURNS:
-# A version of $str with shell meta-characters escaped
-#***********************************************************************
-proc ShellEscape { str } {
- set ans ""
- foreach char [split $str ""] {
- if {[string first $char "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_+=-@./"] >= 0} {
- append ans $char
- } else {
- append ans "\\$char"
- }
- }
- return $ans
-}
-
-
-#***********************************************************************
-# %PROCEDURE: GenerateConfigFile
-# %ARGUMENTS:
-# conn -- a connection key/value list
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Generates a configuration file for adsl-start and friends under
-# /etc/ppp/rp-pppoe-gui
-#***********************************************************************
-proc GenerateConfigFile { conn } {
- global ConfigDir
- set name [value $conn ConnectionName]
- set fname [file join $ConfigDir conf.$name]
- set fp [open "$fname.new" w]
- puts $fp "# Configuration file for connection `$name'."
- puts $fp "# Automatically generated. Do not edit by hand."
- puts $fp ""
- foreach {var val} $conn {
- switch -exact $var {
- UserName {
- set net [value $conn NetworkName]
- if {"$net" != ""} {
- set user "$val@$net"
- } else {
- set user "$val"
- }
- puts $fp [ShellEscape "USER=$user"]
- }
- Interface {
- puts $fp [ShellEscape "ETH=$val"]
- }
- DNSType {
- if {"$val" == "From Server"} {
- puts $fp "DNSTYPE=SERVER"
- puts $fp "USEPEERDNS=yes"
- } elseif {"$val" == "Specify"} {
- puts $fp "DNSTYPE=SPECIFY"
- puts $fp "USEPEERDNS=no"
- } else {
- puts $fp "DNSTYPE=NOCHANGE"
- puts $fp "USEPEERDNS=no"
- }
- }
- DNS1 {
- puts $fp [ShellEscape "DNS1=$val"]
- }
- DNS2 {
- puts $fp [ShellEscape "DNS2=$val"]
- }
- NonrootOK {
- if {$val} {
- puts $fp "NONROOT=OK"
- }
- }
- ACName {
- puts $fp [ShellEscape "ACNAME=$val"]
- }
- ServiceName {
- puts $fp [ShellEscape "SERVICENAME=$val"]
- }
- FirewallType {
- if {"$val" == "None"} {
- puts $fp "FIREWALL=NONE"
- } elseif {"$val" == "Masquerading"} {
- puts $fp "FIREWALL=MASQUERADE"
- } else {
- puts $fp "FIREWALL=STANDALONE"
- }
- }
- Sync {
- if {$val} {
- puts $fp "SYNCHRONOUS=yes"
- } else {
- puts $fp "SYNCHRONOUS=no"
- }
- }
- }
- }
- puts $fp "CONNECT_TIMEOUT=30"
- puts $fp "CONNECT_POLL=1"
- puts $fp "FORCEPING=\".\""
- puts $fp "PIDFILE=/var/run/adsl-$name.pid"
- puts $fp "CLAMPMSS=1412"
- puts $fp "LCP_INTERVAL=20"
- puts $fp "LCP_FAILURE=3"
- puts $fp "PPPOE_TIMEOUT=80"
- puts $fp "LINUX_PLUGIN="
- puts $fp "DEMAND=no"
- close $fp
- file rename -force "$fname.new" "$fname"
-}
-
-#***********************************************************************
-# %PROCEDURE: GetConnectionStatus
-# %ARGUMENTS:
-# conn -- connection name
-# %RETURNS:
-# A three-element list:
-# {started/stopped up/down if}
-# If first element is "started", then connection has been started.
-# If second element is "up", then connection is up.
-# If connection is up, third element is PPP interface.
-#***********************************************************************
-proc GetConnectionStatus { conn } {
- set pidfile "/var/run/adsl-$conn.pid"
-
- # Check for PID file
- if {![file readable $pidfile]} {
- return {stopped down ""}
- }
- set fp [open $pidfile "r"]
- gets $fp pid
- close $fp
-
- # Check if process is dead
- if {![file exists "/proc/$pid"]} {
- # The pppd might still be running... doh...
- if {![file readable "$pidfile.pppd"]} {
- return {stopped down ""}
- }
- set fp [open "$pidfile.pppd" "r"]
- gets $fp pid
- close $fp
- if {![file exists "/proc/$pid"]} {
- return {stopped down ""}
- }
- }
-
- # Now get PID of pppd
- if {![file readable "$pidfile.pppd"]} {
- return {started down ""}
- }
- set fp [open "$pidfile.pppd" "r"]
- gets $fp pid
- close $fp
-
- # Find interface to which it corresponds
- set pppdfiles [glob -nocomplain "/var/run/ppp*.pid"]
- set found {}
- foreach file $pppdfiles {
- set fp [open $file "r"]
- gets $fp ifpid
- close $fp
- if {$ifpid == $pid} {
- set found [file rootname [file tail $file]]
- break
- }
- }
- if {"$found" == ""} {
- return {started down ""}
- }
- return [list started up $found]
-}
-
-#***********************************************************************
-# %PROCEDURE: UpdateConnectionState
-# %ARGUMENTS:
-# fromAfter -- if 1, was called from an "after" callback.
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Updates the "LED" displays; periodically reschedules itself to keep
-# updating display.
-#***********************************************************************
-proc UpdateConnectionState {{fromAfter 1}} {
- global UpdateToken
- global Packets
- global Bytes
- global UpdateInterval
- global MeasureTime
- if {$fromAfter} {
- set UpdateToken ""
- }
-
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- ConnectionStateOff
- ResetGraph
- if {"$UpdateToken" != ""} {
- after cancel $UpdateToken
- set UpdateToken {}
- }
- return
- }
-
- foreach {startstop updown interface} [GetConnectionStatus $conn] {break}
- if {"$startstop" == "stopped"} {
- ConnectionStateOff
- ResetGraph
- } elseif {"$updown" == "down"} {
- ConnectionStateDown
- ResetGraph
- } else {
- # Get the packet counts
- set found 0
- set fp [open "/proc/net/dev" "r"]
- while {[gets $fp line] >= 0} {
- if {![string match "*$interface:*" $line]} {
- continue
- }
- set colon [string first ":" $line]
- if {$colon < 0} {
- continue
- }
- set line [string range $line [expr $colon+1] end]
- set found 1
- set MeasureTime [clock seconds]
- break
- }
- close $fp
- if {$found} {
- foreach {rbytes rpacks rerrs rdrop rfifo rframe rcomp rmulti tbytes tpacks} $line {break}
- if {!$fromAfter} {
- set Packets(in) $rpacks
- set Packets(out) $tpacks
- set Bytes(in) $rbytes
- set Bytes(out) $tbytes
- ConnectionStateUp
- ResetGraph
- } else {
- if {$rpacks != $Packets(in)} {
- ConnectionReceiveActive
- } else {
- ConnectionReceiveUp
- }
- if {$tpacks != $Packets(out)} {
- ConnectionTransmitActive
- } else {
- ConnectionTransmitUp
- }
- set Packets(in) $rpacks
- set Packets(out) $tpacks
- set Bytes(in) $rbytes
- set Bytes(out) $tbytes
- UpdateGraph
- }
- } else {
- ConnectionStateUp
- ResetGraph
- }
- }
- if {"$UpdateToken" == ""} {
- set UpdateToken [after $UpdateInterval UpdateConnectionState]
- }
- if {$fromAfter} {
- SetButtonStates
- }
-}
-
-proc ConnectionStateOff {} {
- .c itemconfigure xmitrect -fill "#A0A0A0"
- .c itemconfigure recvrect -fill "#A0A0A0"
-}
-
-proc ConnectionStateDown {} {
- .c itemconfigure xmitrect -fill "#A00000"
- .c itemconfigure recvrect -fill "#A00000"
-}
-
-proc ConnectionStateUp {} {
- .c itemconfigure xmitrect -fill "#00D000"
- .c itemconfigure recvrect -fill "#00D000"
-}
-
-proc ConnectionTransmitActive {} {
- .c itemconfigure xmitrect -fill "#FFFF00"
-}
-
-proc ConnectionTransmitUp {} {
- .c itemconfigure xmitrect -fill "#00D000"
-}
-
-proc ConnectionReceiveActive {} {
- .c itemconfigure recvrect -fill "#FFFF00"
-}
-
-proc ConnectionReceiveUp {} {
- .c itemconfigure recvrect -fill "#00D000"
-}
-
-proc ResetGraph {} {
- global GraphPoints
- set GraphPoints(in) {}
- set GraphPoints(out) {}
- set GraphPoints(times) {}
- .graph delete all
- UpdateGraph
-}
-
-proc UpdateGraph {} {
- global GraphPoints Bytes UpdateInterval MeasureTime
- lappend GraphPoints(times) $MeasureTime
- lappend GraphPoints(in) $Bytes(in)
- lappend GraphPoints(out) $Bytes(out)
-
- set w [winfo width .graph]
- set w2 [expr $w/2]
-
- set h [winfo height .graph]
- set toChop [expr [llength $GraphPoints(in)] - $w2 - 1]
- if {$toChop > 0} {
- set GraphPoints(in) [lrange $GraphPoints(in) $toChop end]
- }
- set toChop [expr [llength $GraphPoints(out)] - $w2 - 1]
- if {$toChop > 0} {
- set GraphPoints(out) [lrange $GraphPoints(out) $toChop end]
- }
- set toChop [expr [llength $GraphPoints(times)] - $w2 - 1]
- if {$toChop > 0} {
- set GraphPoints(times) [lrange $GraphPoints(times) $toChop end]
- }
-
- set prev [lindex $GraphPoints(in) 0]
- set incoords {}
- set outcoords {}
- set inmax 0
- set outmax 0
- foreach thing [lrange $GraphPoints(in) 1 end] {
- set diff [expr $thing - $prev]
- set prev $thing
- lappend incoords $diff
- if {$diff > $inmax} {
- set inmax $diff
- }
- }
-
- set prev [lindex $GraphPoints(out) 0]
- foreach thing [lrange $GraphPoints(out) 1 end] {
- set diff [expr $thing - $prev]
- set prev $thing
- lappend outcoords $diff
- if {$diff > $outmax} {
- set outmax $diff
- }
- }
-
- if {$inmax == 0} { set inmax 1 }
- if {$outmax == 0} { set outmax 1 }
- # Draw the transmit line
- set x 0
- set hh [expr $h-4]
- set scaled {}
- foreach thing $outcoords {
- lappend scaled $x [expr double($h) - 2 - (double($hh) * double($thing) / double($outmax))]
- incr x
- }
-
- .graph delete all
- if {[llength $scaled] >= 4} {
- eval ".graph create line $scaled -fill #A00000"
- set bits [expr 8.0 * ([lindex $GraphPoints(out) end] - [lindex $GraphPoints(out) 0])]
- set timediff [expr [lindex $GraphPoints(times) end] - [lindex $GraphPoints(times) 0]]
- if {$timediff != 0} {
- set bps [Pretty [expr double($bits) / $timediff]]
- .graph create text 2 2 -anchor nw -font fixed -text "$bps"
- }
- }
-
- # Draw the receive line
- set x $w2
- set scaled {}
- foreach thing $incoords {
- lappend scaled $x [expr double($h) - 2 - (double($hh) * double($thing) / double($inmax))]
- incr x
- }
-
- if {[llength $scaled] >= 4} {
- eval ".graph create line $scaled -fill #00A000"
- set bits [expr 8.0 * ([lindex $GraphPoints(in) end] - [lindex $GraphPoints(in) 0])]
- set timediff [expr [lindex $GraphPoints(times) end] - [lindex $GraphPoints(times) 0]]
- if {$timediff != 0} {
- set bps [Pretty [expr double($bits) / $timediff]]
- .graph create text [expr $w2+2] 2 -anchor nw -font fixed -text "$bps"
- }
- }
-}
-
-proc Pretty { n } {
- if {$n < 0} {
- return "***"
- }
- if {$n < 1000} {
- return [format "%.1f" $n]
- }
- set n [expr $n/1000.0]
- if {$n < 1000} {
- return [format "%.1fk" $n]
- }
- set n [expr $n/1000.0]
- if {$n < 1000} {
- return [format "%.1fM" $n]
- }
- set n [expr $n/1000.0]
- return [format "%.1fG" $n]
-}
-
-#***********************************************************************
-# %PROCEDURE: Help
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Opens help page
-#***********************************************************************
-proc Help {} {
- if {![file readable /usr/share/rp-pppoe-gui/tkpppoe.html]} {
- tk_dialog .err Error "Help file '/usr/share/rp-pppoe-gui/tkpppoe.html' is not installed" error 0 OK
- return
- }
- catch { exec /bin/sh -c "netscape -remote 'openURL(/usr/share/rp-pppoe-gui/tkpppoe.html)' || netscape /usr/share/rp-pppoe-gui/tkpppoe.html" > /dev/null 2>/dev/null & }
-}
-
-
-
-#***********************************************************************
-# %PROCEDURE: doLogo
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Does the logo thing
-#***********************************************************************
-proc doLogo {} {
- global AlreadyRunFile ConfigDir
- if {[file exists $AlreadyRunFile]} {
- return
- }
- catch { file mkdir $ConfigDir }
- catch { close [open $AlreadyRunFile "w"] }
- canvas .c -width 374 -height 286 -bg #FFFFCC
- pack .c
- drawLogo .c #FFFFCC
-
- # Funky effect
- .c create text 4 4 -anchor nw -text "Welcome to RP-PPPoE" \
- -fill red -font {-family times -size -24 -weight bold} -tags pppoe
- .c lower pppoe
-
- .c move logo -300 0
-
- update idletasks
-
- for {set i 0} {$i < 15} {incr i} {
- .c move logo 20 0
- update idletasks
- after 25
- }
-
- .c create text 4 28 -anchor nw -text "http://www.roaringpenguin.com" \
- -fill red -font {-family courier -size -14 -weight bold}
- update idletasks
- after 2500
-}
-
-doLogo
-catch { destroy .c }
-
-# Try creating an empty config file if none exists
-if {![file readable $ConnectionInfoFile]} {
- catch { file mkdir $ConfigDir }
- catch {
- set fp [open $ConnectionInfoFile "w"]
- close $fp
- }
-}
-
-CreateMainDialog
diff --git a/mdk-stage1/rp-pppoe/gui/wrapper.c b/mdk-stage1/rp-pppoe/gui/wrapper.c
deleted file mode 100644
index e2b99662a..000000000
--- a/mdk-stage1/rp-pppoe/gui/wrapper.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/* -*-Mode: C;-*- */
-
-/***********************************************************************
-*
-* wrapper.c
-*
-* C wrapper designed to run SUID root for controlling PPPoE connections.
-*
-* Copyright (C) 2001 by Roaring Penguin Software Inc.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#define _SVID_SOURCE 1 /* For putenv */
-#define _POSIX_SOURCE 1 /* For fileno */
-#define _BSD_SOURCE 1 /* For setreuid */
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#define CONN_NAME_LEN 64
-#define LINELEN 512
-
-static char const *adsl_start = ADSL_START_PATH;
-static char const *adsl_stop = ADSL_STOP_PATH;
-static char const *adsl_status = ADSL_STATUS_PATH;
-
-/**********************************************************************
- *%FUNCTION: PathOK
- *%ARGUMENTS:
- * fname -- a file name.
- *%RETURNS:
- * 1 if path to fname is secure; 0 otherwise.
- *%DESCRIPTION:
- * Makes sure ownership/permissions of file and parent directories
- * are safe.
- **********************************************************************/
-static int
-PathOK(char const *fname)
-{
- char path[LINELEN];
- struct stat buf;
- char const *slash;
-
- if (strlen(fname) > LINELEN) {
- fprintf(stderr, "Pathname '%s' too long\n", fname);
- return 0;
- }
-
- /* Must be absolute path */
- if (*fname != '/') {
- fprintf(stderr, "Unsafe path '%s' not absolute\n", fname);
- return 0;
- }
-
- /* Check root directory */
- if (stat("/", &buf) < 0) {
- perror("stat");
- return 0;
- }
- if (buf.st_uid) {
- fprintf(stderr, "SECURITY ALERT: Root directory (/) not owned by root\n");
- return 0;
- }
- if (buf.st_mode & (S_IWGRP | S_IWOTH)) {
- fprintf(stderr, "SECURITY ALERT: Root directory (/) writable by group or other\n");
- return 0;
- }
-
- /* Check each component */
- slash = fname;
-
- while(*slash) {
- slash = strchr(slash+1, '/');
- if (!slash) {
- slash = fname + strlen(fname);
- }
- memcpy(path, fname, slash-fname);
- path[slash-fname] = 0;
- if (stat(path, &buf) < 0) {
- perror("stat");
- return 0;
- }
- if (buf.st_uid) {
- fprintf(stderr, "SECURITY ALERT: '%s' not owned by root\n", path);
- return 0;
- }
-
- if (buf.st_mode & (S_IWGRP | S_IWOTH)) {
- fprintf(stderr, "SECURITY ALERT: '%s' writable by group or other\n",
- path);
- return 0;
- }
- }
- return 1;
-}
-
-/**********************************************************************
- *%FUNCTION: CleanEnvironment
- *%ARGUMENTS:
- * envp -- environment passed to main
- *%RETURNS:
- * Nothing
- *%DESCRIPTION:
- * Deletes all environment variables; makes safe environment
- **********************************************************************/
-static void
-CleanEnvironment(char *envp[])
-{
- envp[0] = NULL;
- putenv("PATH=/bin:/usr/bin:/sbin:/usr/sbin");
-}
-
-/**********************************************************************
- *%FUNCTION: main
- *%ARGUMENTS:
- * argc, argv -- usual suspects
- * Usage: pppoe-wrapper {start|stop|status} {connection_name}
- *%RETURNS:
- * Whatever adsl-start, adsl-stop or adsl-status returns.
- *%DESCRIPTION:
- * Runs adsl-start, adsl-stop or adsl-status on given connection if
- * non-root users are allowed to do it.
- **********************************************************************/
-int
-main(int argc, char *argv[])
-{
- int amRoot;
- char *cp;
- char fname[64+CONN_NAME_LEN];
- char line[LINELEN+1];
- int allowed = 0;
-
- FILE *fp;
-
- extern char **environ;
-
- /* Clean out environment */
- CleanEnvironment(environ);
-
- /* Are we root? */
- amRoot = (getuid() == 0);
-
- /* Validate arguments */
- if (argc != 3) {
- fprintf(stderr, "Usage: %s {start|stop|status} connection_name\n",
- argv[0]);
- exit(1);
- }
-
- if (strcmp(argv[1], "start") &&
- strcmp(argv[1], "stop") &&
- strcmp(argv[1], "status")) {
- fprintf(stderr, "Usage: %s {start|stop|status} connection_name\n",
- argv[0]);
- exit(1);
- }
-
- /* Connection name can be at most CONN_NAME_LEN chars; alpha, num, underscore */
- if (strlen(argv[2]) > CONN_NAME_LEN) {
- fprintf(stderr, "%s: Connection name '%s' too long.\n",
- argv[0], argv[2]);
- exit(1);
- }
-
- for (cp = argv[2]; *cp; cp++) {
- if (!strchr("abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789_-", *cp)) {
- fprintf(stderr, "%s: Connection name '%s' contains illegal character '%c'\n", argv[0], argv[2], *cp);
- exit(1);
- }
- }
-
- /* Open the connection file */
- sprintf(fname, "/etc/ppp/rp-pppoe-gui/conf.%s", argv[2]);
- /* Check path sanity */
- if (!PathOK(fname)) {
- exit(1);
- }
-
- fp = fopen(fname, "r");
- if (!fp) {
- fprintf(stderr, "%s: Could not open '%s': %s\n",
- argv[0], fname, strerror(errno));
- exit(1);
- }
-
- /* Check if non-root users can control it */
- if (amRoot) {
- allowed = 1;
- } else {
- while (!feof(fp)) {
- if (!fgets(line, LINELEN, fp)) {
- break;
- }
- if (!strcmp(line, "NONROOT=OK\n")) {
- allowed = 1;
- break;
- }
- }
- }
- fclose(fp);
-
- if (!allowed) {
- fprintf(stderr, "%s: Non-root users are not permitted to control connection '%s'\n", argv[0], argv[2]);
- exit(1);
- }
-
- /* Become root with setuid() to defeat is-root checks in shell scripts */
- if (setreuid(0, 0) < 0) {
- perror("setreuid");
- exit(1);
- }
-
- /* It's OK -- do it. */
- if (!strcmp(argv[1], "start")) {
- if (!PathOK(adsl_start)) exit(1);
- execl(adsl_start, "adsl-start", fname, NULL);
- } else if (!strcmp(argv[1], "stop")) {
- if (!PathOK(adsl_stop)) exit(1);
- execl(adsl_stop, "adsl-stop", fname, NULL);
- } else {
- if (!PathOK(adsl_status)) exit(1);
- execl(adsl_status, "adsl-status", fname, NULL);
- }
- fprintf(stderr, "%s: execl: %s\n", argv[0], strerror(errno));
- exit(1);
-}
diff --git a/mdk-stage1/rp-pppoe/man/adsl-connect.8 b/mdk-stage1/rp-pppoe/man/adsl-connect.8
deleted file mode 100644
index 1b34a74e5..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-connect.8
+++ /dev/null
@@ -1,66 +0,0 @@
-.\" $Id$
-.TH ADSL-CONNECT 8 "21 February 2000"
-.UC 4
-.SH NAME
-adsl-connect \- Shell script to manage a PPPoE link
-
-.SH SYNOPSIS
-.B adsl-connect \fR[\fIconfig_file\fR]
-.P
-.B adsl-connect \fR\fIinterface user\fR [\fIconfig_file\fR]
-
-
-.SH DESCRIPTION
-\fBadsl-connect\fR is a shell script which manages an ADSL connection
-using the Roaring Penguin user-space PPPoE client. If you omit
-\fIconfig_file\fR, the default file \fB/etc/ppp/pppoe.conf\fR is used.
-If you supply \fIinterface\fR and \fIuser\fR, then they override the
-Ethernet interface and user-name settings in the configuration file.
-.P
-Note that normally, you should \fInot\fR invoke \fBadsl-connect\fR
-directly. Instead, use \fBadsl-start\fR to bring up the ADSL connection.
-.P
-\fBadsl-connect\fR first reads a configuration file. It then brings
-up a PPPoE connection. If the connection ever drops, a message is logged
-to syslog, and \fBadsl-connect\fR re-establishes the connection. In addition,
-each time the connection is dropped or cannot be established,
-\fBadsl-connect\fR executes the script \fB/etc/ppp/adsl-lost\fR if it
-exists and is executable.
-
-.P
-The shell script \fBadsl-stop\fR causes \fBadsl-connect\fR to break out
-of its loop, bring the connection down, and exit.
-
-.SH TECHNICAL DETAILS
-\fBadsl-connect\fR uses the following shell variables from the
-configuration file:
-
-.TP
-.B ETH
-The Ethernet interface connected to the ADSL modem (for example, eth0).
-
-.TP
-.B USER
-The ADSL user-id (for example, b1xxnxnx@sympatico.ca).
-
-.TP
-.B PIDFILE
-A file in which to write the process-ID of the adsl-connect process
-(for example, \fB/var/run/pppoe.pid\fR). Two additional files
-($PIDFILE.pppd and $PIDFILE.pppoe) hold the process-ID's of the
-\fBpppd\fR and \fBpppoe\fR processes, respectively.
-
-.P
-By using different configuration files with different PIDFILE
-settings, you can manage multiple PPPoE connections. Just specify the
-configuration file as an argument to \fBadsl-start\fR and
-\fBadsl-stop\fR.
-
-.SH AUTHOR
-\fBadsl-connect\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-start(8), adsl-stop(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/adsl-setup.8 b/mdk-stage1/rp-pppoe/man/adsl-setup.8
deleted file mode 100644
index 9e78fa547..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-setup.8
+++ /dev/null
@@ -1,23 +0,0 @@
-.\" $Id$
-.TH ADSL-SETUP 8 "21 February 2000"
-.UC 4
-.SH NAME
-adsl-setup \- Shell script to configure Roaring Penguin PPPoE client
-.SH SYNOPSIS
-.B adsl-setup
-
-.SH DESCRIPTION
-\fBadsl-setup\fR is a shell script which prompts you for various pieces
-of information and sets up an /etc/ppp/pppoe.conf configuration script
-for the \fBadsl-start\fR, \fBadsl-stop\fR and \fBadsl-connect\fR scripts.
-
-.SH AUTHOR
-\fBadsl-setup\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8),
-pppoe.conf(5), adsl-status(8), pppoe-sniff(8), pppoe-relay(8),
-pppoe-server(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/adsl-start.8 b/mdk-stage1/rp-pppoe/man/adsl-start.8
deleted file mode 100644
index 87250b381..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-start.8
+++ /dev/null
@@ -1,27 +0,0 @@
-.\" $Id$
-.TH ADSL-START 8 "21 February 2000"
-.UC 4
-.SH NAME
-adsl-start \- Shell script to bring up a PPPoE link
-.SH SYNOPSIS
-.B adsl-start \fR[\fIconfig_file\fR]
-.P
-.B adsl-start \fR\fIinterface user\fR [\fIconfig_file\fR]
-
-.SH DESCRIPTION
-\fBadsl-start\fR is a shell script which starts the Roaring Penguin
-user-space PPPoE client. If you omit \fIconfig_file\fR, the default
-file \fB/etc/ppp/pppoe.conf\fR is used. If you supply
-\fIinterface\fR and \fIuser\fR, then they override the Ethernet interface
-and user-name settings in the configuration file.
-
-.SH AUTHOR
-\fBadsl-start\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8),
-pppoe-server(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/adsl-status.8 b/mdk-stage1/rp-pppoe/man/adsl-status.8
deleted file mode 100644
index 2114d461e..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-status.8
+++ /dev/null
@@ -1,25 +0,0 @@
-.\" $Id$
-.TH ADSL-STATUS 8 "16 March 2000"
-.UC 4
-.SH NAME
-adsl-status \- Shell script to report on status of PPPoE link
-.SH SYNOPSIS
-.B adsl-status \fR[\fIconfig_file\fR]
-
-.SH DESCRIPTION
-\fBadsl-status\fR is a shell script which checks the status of the
-PPPoE link established by the Roaring Penguin user-space PPPoE client.
-If you omit \fIconfig_file\fR, the default file
-\fB/etc/ppp/pppoe.conf\fR is used.
-
-.SH AUTHOR
-\fBadsl-status\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-start(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-adsl-setup(8), adsl-stop(8), pppoe-sniff(8), pppoe-relay(8),
-pppoe-server(8)
-
-
diff --git a/mdk-stage1/rp-pppoe/man/adsl-stop.8 b/mdk-stage1/rp-pppoe/man/adsl-stop.8
deleted file mode 100644
index 2ac7fef8e..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-stop.8
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" $Id$
-.TH ADSL-STOP 8 "21 February 2000"
-.UC 4
-.SH NAME
-adsl-stop \- Shell script to shut down a PPPoE link
-.SH SYNOPSIS
-.B adsl-stop \fR[\fIconfig_file\fR]
-
-.SH DESCRIPTION
-\fBadsl-stop\fR is a shell script which stops the Roaring Penguin
-user-space PPPoE client. If you omit \fIconfig_file\fR, the default
-file \fB/etc/ppp/pppoe.conf\fR is used.
-
-.SH AUTHOR
-\fBadsl-stop\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-start(8), adsl-connect(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8), pppoe-server(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-relay.8 b/mdk-stage1/rp-pppoe/man/pppoe-relay.8
deleted file mode 100644
index 5f79b09a1..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe-relay.8
+++ /dev/null
@@ -1,124 +0,0 @@
-.\" $Id$
-.TH PPPOE-RELAY 8 "26 January 2001"
-.\""
-.UC 4
-.SH NAME
-pppoe-relay \- user-space PPPoE relay agent.
-.SH SYNOPSIS
-.B pppoe-relay \fR[\fIoptions\fR]
-
-.SH DESCRIPTION
-\fBpppoe-relay\fR is a user-space relay agent for PPPoE
-(Point-to-Point Protocol over Ethernet) for Linux. \fBpppoe-relay\fR
-works in concert with the \fBpppoe\fR client and \fBpppoe-server\fR
-server. See the OPERATION section later in this manual for
-details on how \fBpppoe-relay\fR works.
-
-.SH OPTIONS
-.TP
-.B \-S \fIinterface\fR
-Adds the Ethernet interface \fIinterface\fR to the list of interfaces
-managed by \fBpppoe-relay\fR. Only PPPoE servers may be connected to
-this interface.
-
-.TP
-.B \-C \fIinterface\fR
-Adds the Ethernet interface \fIinterface\fR to the list of interfaces
-managed by \fBpppoe-relay\fR. Only PPPoE clients may be connected to
-this interface.
-
-.TP
-.B \-B \fIinterface\fR
-Adds the Ethernet interface \fIinterface\fR to the list of interfaces
-managed by \fBpppoe-relay\fR. Both PPPoE clients and servers may be
-connected to this interface.
-
-.TP
-.B \-n \fInum\fR
-Allows at most \fInum\fR concurrent PPPoE sessions. If not specified,
-the default is 5000. \fInum\fR can range from 1 to 65534.
-
-.TP
-.B \-i \fItimeout\fR
-Specifies the session idle timeout. If both peers in a session are idle
-for more than \fItimeout\fR seconds, the session is terminated.
-If \fItimeout\fR is specified as zero, sessions will never be terminated
-because of idleness.
-
-Note that the idle-session expiry routine is never run more frequently than
-every 30 seconds, so the timeout is approximate. The default value for
-\fItimeout\fR is 600 seconds (10 minutes.)
-
-.TP
-.B \-F
-The \fB\-F\fR option causes \fBpppoe-relay\fR \fInot\fR to fork into the
-background; instead, it remains in the foreground.
-
-.TP
-.B \-h
-The \fB\-h\fR option prints a brief usage message and exits.
-
-.SH OPERATION
-
-\fBpppoe-relay\fR listens for incoming PPPoE PADI frames on all interfaces
-specified with \fB-B\fR or \fB-C\fR options. When a PADI frame appears,
-\fBpppoe-relay\fR adds a Relay-Session-ID tag and broadcasts the PADI
-on all interfaces specified with \fB-B\fR or \fB-S\fR options (except the
-interface on which the frame arrived.)
-
-Any PADO frames received are relayed back to the client which sent the
-PADI (assuming they contain valid Relay-Session-ID tags.) Likewise,
-PADR frames from clients are relayed back to the matching access
-concentrator.
-
-When a PADS frame is received, \fBpppoe-relay\fR enters the two peers'
-MAC addresses and session-ID's into a hash table. (The session-ID seen
-by the access concentrator may be different from that seen by the client;
-\fBpppoe-relay\fR must renumber sessions to avoid the possibility of duplicate
-session-ID's.) Whenever either peer sends a session frame, \fBpppoe-relay\fR
-looks up the session entry in the hash table and relays the frame to
-the correct peer.
-
-When a PADT frame is received, \fBpppoe-relay\fR relays it to the peer
-and deletes the session entry from its hash table.
-
-If a client and server crash (or frames are lost), PADT frames may never
-be sent, and \fBpppoe-relay\fR's hash table can fill up with stale sessions.
-Therefore, a session-cleaning routine runs periodically, and removes old
-sessions from the hash table. A session is considered "old" if no traffic
-has been seen within \fItimeout\fR seconds. When a session is deleted because
-of a timeout, a PADT frame is sent to each peer to make certain that they
-are aware the session has been killed.
-
-.SH EXAMPLE INVOCATIONS
-
-.nf
-pppoe-relay -C eth0 -S eth1
-.fi
-
-The example above relays frames between PPPoE clients on the eth0 network
-and PPPoE servers on the eth1 network.
-
-.nf
-pppoe-relay -B eth0 -B eth1
-.fi
-
-This example is a transparent relay -- frames are relayed between any mix
-of clients and servers on the eth0 and eth1 networks.
-
-.nf
-pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3
-.fi
-
-This example relays frames between servers on the eth0 network and
-clients on the eth1, eth2 and eth3 networks.
-
-.SH AUTHORS
-\fBpppoe-relay\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-server.8 b/mdk-stage1/rp-pppoe/man/pppoe-server.8
deleted file mode 100644
index aacf11f1f..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe-server.8
+++ /dev/null
@@ -1,123 +0,0 @@
-.\" $Id$
-.TH PPPOE-SERVER 8 "3 July 2000"
-.\""
-.UC 4
-.SH NAME
-pppoe-server \- user-space PPPoE server
-.SH SYNOPSIS
-.B pppoe-server \fR[\fIoptions\fR]
-
-.SH DESCRIPTION
-\fBpppoe-server\fR is a user-space server for PPPoE (Point-to-Point Protocol
-over Ethernet) for Linux and other UNIX systems. \fBpppoe-server\fR works in
-concert with the \fBpppoe\fR client to respond to PPPoE discovery packets
-and set up PPPoE sessions.
-
-.SH OPTIONS
-.TP
-.B \-F
-The \fB\-F\fR option causes \fBpppoe-server\fR not to fork and become a
-daemon. The default is to fork and become a daemon.
-
-.TP
-.B \-I \fIinterface\fR
-The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
-it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
-before you start \fBpppoe-server\fR, but should \fInot\fR be configured to have
-an IP address.
-
-.TP
-.B \-T \fItimeout\fR
-This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
-details.
-
-.TP
-.B \-C \fIac_name\fR
-Specifies which name to report as the access concentrator name. If not
-supplied, the host name is used.
-
-.TP
-.B \-m \fIMSS\fR
-This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
-details.
-
-.TP
-.B \-s
-This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
-details. In addition, it causes \fBpppd\fR to be invoked with the
-\fIsync\fR option.
-
-.TP
-.B \-L \fIip\fR
-Sets the local IP address. This is passed to spawned \fBpppd\fR processes.
-If not specified, the default is 10.0.0.1.
-
-.TP
-.B \-R \fIip\fR
-Sets the starting remote IP address. As sessions are established,
-IP addresses are assigned starting from \fIip\fR. \fBpppoe-server\fR
-automatically keeps track of the pool of addresses and passes a
-valid remote IP address to \fBpppd\fR. If not specified, a starting address
-of 10.67.15.1 is used.
-
-.TP
-.B \-N \fInum\fR
-Allows at most \fInum\fR concurrent PPPoE sessions. If not specified,
-the default is 64.
-
-.TP
-.B \-p \fIfname\fR
-Reads the specified file \fIfname\fR which is a text file consisting of
-one IP address per line. These IP addresses will be assigned to clients.
-The number of sessions allowed will equal the number of addresses found
-in the file. The \fB\-p\fR option overrides both \fB\-R\fR and \fB\-N\fR.
-
-.TP
-.B \-o \fIoffset\fR
-Instead of numbering PPPoE sessions starting at 1, they will be numbered
-starting at \fIoffset\fR+1. This allows you to run multiple servers on
-a given machine; just make sure that their session numbers do not
-overlap.
-
-.TP
-.B \-f disc:sess
-The \fB\-f\fR option sets the Ethernet frame types for PPPoE discovery
-and session frames. The types are specified as hexadecimal numbers
-separated by a colon. Standard PPPoE uses frame types 8863:8864.
-\fIYou should not use this option\fR unless you are absolutely sure
-the peer you are dealing with uses non-standard frame types.
-
-.TP
-.B \-h
-The \fB\-h\fR option prints a brief usage message and exits.
-
-.SH OPERATION
-
-\fBpppoe-server\fR listens for incoming PPPoE discovery packets. When
-a session is established, it spawns a \fBpppd\fR process. The following
-options are passed to \fBpppd\fR:
-
-.nf
-nodetach noaccomp nobsdcom nodeflate nopcomp novj novjccomp
-default-asyncmap
-.fi
-
-In addition, the local and remote IP address are set based on the
-\fB\-L\fR and \fB\-R\fR options. The \fBpty\fR option is supplied along
-with a \fBpppoe\fR command to initiate the PPPoE session. Finally,
-additional \fBpppd\fR options can be placed in the file
-\fB/etc/ppp/pppoe-server-options\fR (which must exist, even if it is just
-empty!)
-
-Note that \fBpppoe-server\fR is meant mainly for testing PPPoE clients.
-It is \fInot\fR a high-performance server meant for production use.
-
-.SH AUTHORS
-\fBpppoe-server\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-sniff.8 b/mdk-stage1/rp-pppoe/man/pppoe-sniff.8
deleted file mode 100644
index 431830a22..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe-sniff.8
+++ /dev/null
@@ -1,77 +0,0 @@
-.\" $Id$
-.TH PPPOE-SNIFF 8 "3 July 2000"
-.\""
-.UC 4
-.SH NAME
-pppoe-sniff \- examine network for non-standard PPPoE frames
-.SH SYNOPSIS
-.B pppoe-sniff \fR[\fIoptions\fR]
-
-.SH DESCRIPTION
-\fBpppoe-sniff\fR listens for likely-looking PPPoE PADR and session frames
-and deduces extra options required for \fBpppoe(8)\fR to work.
-
-Some DSL providers seem to use non-standard frame types for PPPoE frames,
-and/or require a certain value in the Service-Name field. It is often
-easier to sniff those values from a machine which can successfully connect
-rather than try to pry them out of the DSL provider.
-
-To use \fBpppoe-sniff\fR, you need two computers, a DSL modem and
-an Ethernet hub (\fInot\fR an Ethernet switch.)
-
-If the DSL modem normally connects directly to your computer's
-Ethernet card, connect it to the "uplink" port on the Ethernet hub.
-Plug two computers into normal ports on the hub. On one computer, run
-whatever software the DSL provider gave you on whatever operating
-system the DSL provider supports. On the other computer, run Linux and
-log in as root.
-
-On the Linux machine, put the Ethernet interface into promiscuous mode
-and start \fBpppoe-sniff\fR. If the ethernet interface is \fIeth0\fR,
-for example, type these commands:
-
-.nf
- ifconfig eth0 promisc
- pppoe-sniff -I eth0
-.fi
-
-On the other machine, start your DSL connection as usual. After a short
-time, \fBpppoe-sniff\fR should print recommendations for the value
-of \fBPPPOE_EXTRA\fR. Set this value in \fB/etc/ppp/pppoe.conf\fR.
-If \fBpppoe-sniff\fR indicates that something special is required in
-\fBPPPOE_EXTRA\fR, please e-mail this to \fBpppoe@roaringpenguin.com\fR
-along with the name of your ISP and the manufacturer and model number of
-your DSL modem. This information will be collated and provided on the
-PPPoE web page for users who do not have two computers.
-
-After \fBpppoe-sniff\fR finishes (or you stop it if it seems hung),
-remember to turn off promiscuous mode:
-
-.nf
- ifconfig eth0 -promisc
-.fi
-
-.SH OPTIONS
-.TP
-.B \-I \fIinterface\fR
-The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
-it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
-and in promiscuous mode before you start \fBpppoe-sniff\fR.
-
-.TP
-.B \-V
-The \fB\-V\fR option causes \fBpppoe-sniff\fR to print its version number and
-exit.
-
-.SH BUGS
-\fBpppoe-sniff\fR only works on Linux.
-
-.SH AUTHORS
-\fBpppoe-sniff\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-server(8), pppoe-relay(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe.8 b/mdk-stage1/rp-pppoe/man/pppoe.8
deleted file mode 100644
index 999c3d2ed..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe.8
+++ /dev/null
@@ -1,236 +0,0 @@
-.\" $Id$
-.TH PPPOE 8 "3 July 2000"
-.UC 4
-.SH NAME
-pppoe \- user-space PPPoE client.
-.SH SYNOPSIS
-.B pppd pty 'pppoe \fR[\fIpppoe_options\fR]\fB' \fR[\fIpppd_options\fR]
-.P
-.B pppoe -A \fR[\fIpppoe_options\fR]
-.SH DESCRIPTION
-\fBpppoe\fR is a user-space client for PPPoE (Point-to-Point Protocol
-over Ethernet) for Linux and other UNIX systems. \fBpppoe\fR works in
-concert with the \fBpppd\fR PPP daemon to provide a PPP connection
-over Ethernet, as is used by many ADSL service providers.
-
-.SH OPTIONS
-.TP
-.B \-I \fIinterface\fR
-The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
-it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
-before you start \fBpppoe\fR, but should \fInot\fR be configured to have
-an IP address.
-
-.TP
-.B \-T \fItimeout\fR
-The \fB\-T\fR option causes \fBpppoe\fR to exit if no session traffic
-is detected for \fItimeout\fR seconds. I recommend that you use this
-option as an extra safety measure, but if you do, you should make sure
-that PPP generates enough traffic so the timeout will normally not be
-triggered. The best way to do this is to use the
-\fIlcp-echo-interval\fR option to \fBpppd\fR. You should set the
-PPPoE timeout to be about four times the LCP echo interval.
-
-.TP
-.B \-D \fIfile_name\fR
-The \fB\-D\fR option causes every packet to be dumped to the specified
-\fIfile_name\fR. This is intended for debugging only; it produces huge
-amounts of output and greatly reduces performance.
-
-.TP
-.B \-V
-The \fB\-V\fR option causes \fBpppoe\fR to print its version number and
-exit.
-
-.TP
-.B \-A
-The \fB\-A\fR option causes \fBpppoe\fR to send a PADI packet and then print
-the names of access concentrators in each PADO packet it receives. Do not
-use this option in conjunction with \fBpppd\fR; the \fB\-A\fR option is
-meant to be used interactively to give interesting information about the
-access concentrator.
-
-.TP
-.B \-S \fIservice_name\fR
-Specifies the desired service name. \fBpppoe\fR will only initiate sessions
-with access concentrators which can provide the specified service. In
-most cases, you should \fInot\fR specify this option. Use it only if you
-know that there are multiple access concentrators or know that you need a
-specific service name.
-
-.TP
-.B \-C \fIac_name\fR
-Specifies the desired access concentrator name. \fBpppoe\fR will only
-initiate sessions with the specified access concentrator. In
-most cases, you should \fInot\fR specify this option. Use it only if you
-know that there are multiple access concentrators. If both the
-\fB\-S\fR and \fB\-C\fR options are specified, they must \fIboth\fR match
-for \fBpppoe\fR to initiate a session.
-
-.TP
-.B \-U
-Causes \fBpppoe\fR to use the Host-Uniq tag in its discovery packets. This
-lets you run multiple \fBpppoe\fR daemons without having their discovery
-packets interfere with one another. You must supply this option to
-\fIall\fR \fBpppoe\fR daemons if you intend to run multiple daemons
-simultaneously.
-
-.TP
-.B \-s
-Causes \fBpppoe\fR to use \fIsynchronous\fR PPP encapsulation. If you
-use this option, then you \fImust\fR use the \fBsync\fR option with
-\fBpppd\fR. You are encouraged to use this option if it works, because
-it greatly reduces the CPU overhead of \fBpppoe\fR. However, it
-MAY be unreliable on slow machines -- there is a race condition between
-pppd writing data and pppoe reading it. For this reason, the default
-setting is asynchronous. If you encounter bugs or crashes with Synchronous
-PPP, turn it off -- don't e-mail me for support!
-
-.TP
-.B \-m \fIMSS\fR
-Causes \fBpppoe\fR to \fIclamp\fR the TCP maximum segment size at the specified
-value. Because of PPPoE overhead, the maximum segment size for PPPoE is
-smaller than for normal Ethernet encapsulation. This could cause problems
-for machines on a LAN behind a gateway using PPPoE. If you have a LAN
-behind a gateway, and the gateway connects to the Internet using PPPoE,
-you are strongly recommended to use a \fB\-m 1412\fR option. This avoids
-having to set the MTU on all the hosts on the LAN.
-
-.TP
-.B \-p \fIfile\fR
-Causes \fBpppoe\fR to write its process-ID to the specified file. This
-can be used to locate and kill \fBpppoe\fR processes.
-
-.TP
-.B \-e \fIsess:mac\fR
-Causes \fBpppoe\fR to skip the discovery phase and move directly to the
-session phase. The session is given by \fIsess\fR and the MAC address of
-the peer by \fImac\fR. This mode is \fInot\fR meant for normal use; it
-is designed only for \fBpppoe-server\fR(8).
-
-.TP
-.B \-n
-Causes \fBpppoe\fR not to open a discovery socket. This mode is
-\fInot\fR meant for normal use; it is designed only for
-\fBpppoe-server\fR(8).
-
-.TP
-.B \-k
-Causes \fBpppoe\fR to terminate an existing session by sending a PADT frame,
-and then exit. You must use the \fB\-e\fR option in conjunction with this
-option to specify the session to kill. This may be useful for killing
-sessions when a buggy peer does not realize the session has ended.
-
-.TP
-.B \-d
-Causes \fBpppoe\fR to perform discovery and then exit, after printing
-session information to standard output. The session information is printed
-in exactly the format expected by the \fB\-e\fR option. This option lets
-you initiate a PPPoE discovery, perform some other work, and then start
-the actual PPP session. \fIBe careful\fR; if you use this option in a loop,
-you can create many sessions, which may annoy your peer.
-
-.TP
-.B \-f disc:sess
-The \fB\-f\fR option sets the Ethernet frame types for PPPoE discovery
-and session frames. The types are specified as hexadecimal numbers
-separated by a colon. Standard PPPoE uses frame types 8863:8864.
-\fIYou should not use this option\fR unless you are absolutely sure
-the peer you are dealing with uses non-standard frame types. If your
-ISP uses non-standard frame types, complain!
-
-.TP
-.B \-h
-The \fB\-h\fR option causes \fBpppoe\fR to print usage information and
-exit.
-
-.SH PPPOE BACKGROUND
-
-PPPoE (Point-to-Point Protocol over Ethernet) is described in RFC 2516
-and is a protocol which allows the session abstraction to be maintained
-over bridged Ethernet networks.
-
-PPPoE works by encapsulating PPP frames in Ethernet frames. The protocol
-has two distinct stages: The \fIdiscovery\fR and the \fIsession\fR stage.
-
-In the discovery stage, the host broadcasts a special PADI (PPPoE
-Active Discovery Initiation) frame to discover any \fIaccess
-concentrators\fR. The access concentrators (typically, only one
-access concentrator) reply with PADO (PPPoE Active Discovery Offer)
-packets, announcing their presence and the services they offer. The
-host picks one of the access concentrators and transmits a PADR (PPPoE
-Active Discovery Request) packet, asking for a session. The access
-concentrator replies with a PADS (PPPoE Active Discovery
-Session-Confirmation) packet. The protocol then moves to the session stage.
-
-In the session stage, the host and access concentrator exchange PPP frames
-embedded in Ethernet frames. The normal Ethernet MTU is 1500 bytes, but
-the PPPoE overhead plus two bytes of overhead for the encapsulated PPP
-frame mean that the MTU of the PPP interface is at most 1492 bytes.
-This causes \fIall kinds of problems\fR if you are using a Linux machine
-as a firewall and interfaces behind the firewall have an MTU greater than
-1492. In fact, to be safe, I recommend setting the MTU of machines
-behind the firewall to 1412, to allow for worst-case TCP and IP options
-in their respective headers.
-
-Normally, PPP uses the Link Control Protocol (LCP) to shut down a PPP
-link. However, the PPPoE specification allows the link to be shut down
-with a special PADT (PPPoE Active Discovery Terminate) packet. This client
-recognizes this packet and will correctly terminate if a terminate request
-is received for the PPP session.
-
-.SH DESIGN GOALS
-
-My design goals for this PPPoE client were as follows, in descending order
-of importance:
-
-.TP
-.B o
-It must work.
-
-.TP
-.B o
-It must be a user-space program and not a kernel patch.
-
-.TP
-.B o
-The code must be easy to read and maintain.
-
-.TP
-.B o
-It must be fully compliant with RFC 2516, the proposed PPPoE standard.
-
-.TP
-.B o
-It must never hang up forever -- if the connection is broken, it must
-detect this and exit, allowing a wrapper script to restart the connection.
-
-.TP
-.B o
-It must be fairly efficient.
-
-.P
-I believe I have achieved all of these goals, but (of course) am open
-to suggestions, patches and ideas. See my home page,
-http://www.roaringpenguin.com, for contact information.
-
-.SH NOTES
-
-For best results, you must give \fBpppd\fR an mtu option of
-1492. I have observed problems with excessively-large frames
-unless I set this option. Also, if \fBpppoe\fR is running on a firewall
-machine, all machines behind the firewall should have MTU's of 1412.
-
-If you have problems, check your system logs. \fBpppoe\fR logs interesting
-things to syslog. You may have to turn on logging of \fIdebug\fR-level
-messages for complete diagnosis.
-
-.SH AUTHORS
-\fBpppoe\fR was written by David F. Skoll <dfs@roaringpenguin.com>,
-with much inspiration from an earlier version by Luke Stras.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe.conf.5 b/mdk-stage1/rp-pppoe/man/pppoe.conf.5
deleted file mode 100644
index 731fd98d4..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe.conf.5
+++ /dev/null
@@ -1,168 +0,0 @@
-.\" $Id$
-.\""
-.TH PPPOE.CONF 5 "21 February 2000"
-.UC 4
-.SH NAME
-pppoe.conf \- Configuration file used by \fBadsl-start\fR(8),
-\fBadsl-stop\fR(8), \fBadsl-status(8)\fR and \fBadsl-connect\fR(8).
-
-.SH DESCRIPTION
-\fB/etc/ppp/pppoe.conf\fR is a shell script which contains configuration
-information for Roaring Penguin's ADSL scripts. Note that \fBpppoe.conf\fR
-is used only by the various adsl-* shell scripts, not by \fBpppoe\fR
-itself.
-
-\fBpppoe.conf\fR consists of a sequence of shell variable assignments.
-The variables and their meanings are:
-
-.TP
-.B ETH
-The Ethernet interface connected to the ADSL modem (for example, eth0).
-
-.TP
-.B USER
-The ADSL user-id (for example, b1xxnxnx@sympatico.ca).
-
-.TP
-.B SERVICENAME
-If this is not blank, then it is passed with the \fB\-S\fR option to
-\fBpppoe\fR. It specifies a service name to ask for. Usually, you
-should leave it blank.
-
-.TP
-.B ACNAME
-If this is not blank, then it is passed with the \fB\-C\fR option to
-\fBpppoe\fR. It specifies the name of the access concentrator to connect
-to. Usually, you should leave it blank.
-
-.TP
-.B DEMAND
-If set to a number, the link is activated on demand and brought down
-after after \fBDEMAND\fR seconds. If set to \fBno\fR, the link is kept
-up all the time rather than being activated on demand.
-
-.TP
-.B DNSTYPE
-One of \fBNOCHANGE\fR, \fBSPECIFY\fR or \fBSERVER\fR. If
-set to NOCHANGE, \fBadsl-connect\fR will not adjust the DNS setup in
-any way. If set to SPECIFY, it will re-write /etc/resolv.conf with
-the values of DNS1 and DNS2. If set to \fBSERVER\fR, it will
-supply the \fIusepeerdns\fR option to \fBpppd\fR, and make a symlink
-from /etc/resolv.conf to /etc/ppp/resolv.conf.
-
-.TP
-.B DNS1, DNS2
-IP addresses of DNS servers if you use DNSTYPE=SPECIFY.
-
-.TP
-.B NONROOT
-If the line \fBNONROOT=OK\fR (exactly like that; no whitespace or comments)
-appears in the configuration file, then \fBpppoe-wrapper\fR will allow
-non-root users to bring the conneciton up or down. The wrapper is installed
-only if you installed the rp-pppoe-gui package.
-
-.TP
-.B USEPEERDNS
-If set to "yes", then \fBadsl-connect\fR will supply the \fIusepeerdns\fR
-option to \fBpppd\fR, which causes it to obtain DNS server addresses
-from the peer and create a new \fB/etc/resolv.conf\fR file. Otherwise,
-\fBadsl-connect\fR will not supply this option, and \fBpppd\fR will not
-modify \fB/etc/resolv.conf\fR.
-
-.TP
-.B CONNECT_POLL
-How often (in seconds) \fBadsl-start\fR should check to see if a new PPP
-interface has come up. If this is set to 0, the \fBadsl-start\fR simply
-initiates the PPP session, but does not wait to see if it comes up
-successfully.
-
-.TP
-.B CONNECT_TIMEOUT
-How long (in seconds) \fBadsl-start\fR should wait for a new PPP interface
-to come up before concluding that \fBadsl-connect\fR has failed and killing
-the session.
-
-.TP
-.B PING
-A character which is echoed every \fBCONNECT_POLL\fR seconds while
-\fBadsl-start\fR is waiting for the PPP interface to come up.
-
-.TP
-.B FORCEPING
-A character which is echoed every \fBCONNECT_POLL\fR seconds while
-\fBadsl-start\fR is waiting for the PPP interface to come up. Similar
-to \fBPING\fR, but the character is echoed even if \fBadsl-start\fR's
-standard output is not a tty.
-
-.TP
-.B PIDFILE
-A file in which to write the process-ID of the adsl-connect process
-(for example, \fB/var/run/pppoe.pid\fR). Two additional files
-($PIDFILE.pppd and $PIDFILE.pppoe) hold the process-ID's of the
-\fBpppd\fR and \fBpppoe\fR processes, respectively.
-
-.TP
-.B SYNCHRONOUS
-An indication of whether or not to use synchronous PPP (\fByes\fR or
-\fBno\fR). Synchronous PPP is safe on Linux machines with the n_hdlc
-line discipline. (If you have a file called "n_hdlc.o" in your
-modules directory, you have the line discipline.) It is \fInot
-recommended\fR on other machines or on Linux machines without the
-n_hdlc line discipline due to some known and unsolveable race
-conditions in a user-mode client.
-
-.TP
-.B CLAMPMSS
-The value at which to "clamp" the advertised MSS for TCP sessions. The
-default of 1412 should be fine.
-
-.TP
-.B LCP_INTERVAL
-How often (in seconds) \fBpppd\fR sends out LCP echo-request packets.
-
-.TP
-.B LCP_FAILURE
-How many unanswered LCP echo-requests must occur before \fBpppd\fR
-concludes the link is dead.
-
-.TP
-.B PPPOE_TIMEOUT
-If this many seconds elapse without any activity seen by \fBpppoe\fR,
-then \fBpppoe\fR exits.
-
-.TP
-.B FIREWALL
-One of NONE, STANDALONE or MASQUERADE. If NONE, then \fBadsl-connect\fR does
-not add any firewall rules. If STANDALONE, then it clears existing firewall
-rules and sets up basic rules for a standalone machine. If MASQUERADE, then
-it clears existing firewall rules and sets up basic rules for an Internet
-gateway. If you run services on your machine, these simple firewall scripts
-are inadequate; you'll have to make your own firewall rules and set FIREWALL
-to NONE.
-
-.TP
-.B PPPOE_EXTRA
-Any extra arguments to pass to \fBpppoe\fR
-
-.TP
-.B PPPD_EXTRA
-Any extra arguments to pass to \fBpppd\fR
-
-.TP
-.B LINUX_PLUGIN
-If non-blank, the full path of the Linux kernel-mode PPPoE plugin
-(typically \fB/etc/ppp/plugins/rp-pppoe.so\fR.) This forces
-\fBadsl-connect\fR to use kernel-mode PPPoE on Linux 2.4.x systems.
-This code is experimental and unsupported. Use of the plugin causes
-\fBadsl-connect\fR to ignore CLAMPMSS, PPPOE_EXTRA, SYNCHRONOUS and
-PPPOE_TIMEOUT.
-
-.P
-By using different configuration files with different PIDFILE
-settings, you can manage multiple PPPoE connections. Just specify the
-configuration file as an argument to \fBadsl-start\fR and \fBadsl-stop\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-connect(8), adsl-start(8), adsl-stop(8), pppd(8), adsl-setup(8),
-pppoe-wrapper(8)
-
diff --git a/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec b/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec
deleted file mode 100644
index 3222a602e..000000000
--- a/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec
+++ /dev/null
@@ -1,98 +0,0 @@
-Summary: PPP Over Ethernet (xDSL support)
-Name: rp-pppoe-gui
-Version: 3.0
-%if %(%{expand:test %{_vendor} != mandrake ; echo $?})
-Release: 1mdk
-%else
-Release: 1
-%endif
-Copyright: GPL
-Group: System Environment/Daemons
-Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-3.0.tar.gz
-Url: http://www.roaringpenguin.com/pppoe/
-Packager: David F. Skoll <dfs@roaringpenguin.com>
-BuildRoot: /tmp/pppoe-build
-Vendor: Roaring Penguin Software Inc.
-Requires: ppp >= 2.3.7
-Requires: rp-pppoe >= 3.0
-
-%description
-This is a graphical wrapper around the rp-pppoe PPPoE client. PPPoE is
-a protocol used by many DSL Internet Service Providers.
-
-%prep
-umask 022
-mkdir -p $RPM_BUILD_ROOT
-cd $RPM_BUILD_ROOT
-rm -rf $RPM_BUILD_ROOT/rp-pppoe-%{version}
-zcat $RPM_SOURCE_DIR/rp-pppoe-%{version}.tar.gz | tar xvf -
-cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/src
-./configure --mandir=%{_mandir}
-
-%build
-cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/gui
-make
-
-%install
-cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/gui
-make install RPM_INSTALL_ROOT=$RPM_BUILD_ROOT
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post
-# Install entry in KDE menu
-if test -n "$KDEDIR" ; then
- mkdir -p "$KDEDIR/share/applnk/Internet"
- cat <<EOF > "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
-# KDE Config File
-[KDE Desktop Entry]
-Name=TkPPPoE
-Comment=Start/Stop ADSL connections
-Exec=tkpppoe
-Terminal=0
-Type=Application
-EOF
-fi
-
-# Install entry in GNOME menus
-GNOMEDIR=`gnome-config --datadir 2>/dev/null`
-if test -n "$GNOMEDIR" ; then
- mkdir -p "$GNOMEDIR/gnome/apps/Internet"
-cat <<EOF > "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
-[Desktop Entry]
-Name=TkPPPoE
-Comment=Start/Stop ADSL connections
-Exec=tkpppoe
-Terminal=0
-Type=Application
-EOF
-fi
-
-%postun
-# Remove KDE menu entry
-if test -n "$KDEDIR" ; then
- rm -f "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
-fi
-
-# Remove GNOME menu entry
-GNOMEDIR=`gnome-config --datadir 2>/dev/null`
-if test -n "$GNOMEDIR" ; then
- rm -f "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
-fi
-
-%files
-%defattr(-,root,root)
-%dir /etc/ppp/rp-pppoe-gui
-/usr/sbin/pppoe-wrapper
-/usr/bin/tkpppoe
-%{_mandir}/man1/tkpppoe.1*
-%{_mandir}/man1/pppoe-wrapper.1*
-/usr/share/rp-pppoe-gui/tkpppoe.html
-/usr/share/rp-pppoe-gui/mainwin-busy.png
-/usr/share/rp-pppoe-gui/mainwin-nonroot.png
-/usr/share/rp-pppoe-gui/mainwin.png
-/usr/share/rp-pppoe-gui/props-advanced.png
-/usr/share/rp-pppoe-gui/props-basic.png
-/usr/share/rp-pppoe-gui/props-nic.png
-/usr/share/rp-pppoe-gui/props-options.png
diff --git a/mdk-stage1/rp-pppoe/rp-pppoe.spec b/mdk-stage1/rp-pppoe/rp-pppoe.spec
deleted file mode 100644
index 622e3bb80..000000000
--- a/mdk-stage1/rp-pppoe/rp-pppoe.spec
+++ /dev/null
@@ -1,71 +0,0 @@
-Summary: PPP Over Ethernet (xDSL support)
-Name: rp-pppoe
-Version: 3.0
-%if %(%{expand:test %{_vendor} != mandrake ; echo $?})
-Release: 1mdk
-%else
-Release: 1
-%endif
-Copyright: GPL
-Group: System Environment/Daemons
-Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-3.0.tar.gz
-Url: http://www.roaringpenguin.com/pppoe/
-Packager: David F. Skoll <dfs@roaringpenguin.com>
-BuildRoot: /tmp/pppoe-build
-Vendor: Roaring Penguin Software Inc.
-Requires: ppp >= 2.3.7
-
-%description
-PPPoE (Point-to-Point Protocol over Ethernet) is a protocol used by
-many ADSL Internet Service Providers. Roaring Penguin has a free
-client for Linux systems to connect to PPPoE service providers.
-
-The client is a user-mode program and does not require any kernel
-modifications. It is fully compliant with RFC 2516, the official PPPoE
-specification.
-
-%prep
-%setup
-cd src
-./configure --mandir=%{_mandir}
-
-%build
-cd src
-make
-
-%install
-cd src
-make install RPM_INSTALL_ROOT=$RPM_BUILD_ROOT
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(-,root,root)
-%doc doc/CHANGES doc/HOW-TO-CONNECT doc/LICENSE doc/KERNEL-MODE-PPPOE README
-%config /etc/ppp/pppoe.conf
-%config /etc/ppp/pppoe-server-options
-%config /etc/ppp/firewall-masq
-%config /etc/ppp/firewall-standalone
-/etc/ppp/plugins/*
-/usr/sbin/pppoe
-/usr/sbin/pppoe-server
-/usr/sbin/pppoe-sniff
-/usr/sbin/pppoe-relay
-/usr/sbin/adsl-connect
-/usr/sbin/adsl-start
-/usr/sbin/adsl-stop
-/usr/sbin/adsl-setup
-/usr/sbin/adsl-status
-%{_mandir}/man5/pppoe.conf.5*
-%{_mandir}/man8/pppoe.8*
-%{_mandir}/man8/pppoe-server.8*
-%{_mandir}/man8/pppoe-relay.8*
-%{_mandir}/man8/pppoe-sniff.8*
-%{_mandir}/man8/adsl-connect.8*
-%{_mandir}/man8/adsl-start.8*
-%{_mandir}/man8/adsl-stop.8*
-%{_mandir}/man8/adsl-status.8*
-%{_mandir}/man8/adsl-setup.8*
-/etc/rc.d/init.d/adsl
-
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-connect.in b/mdk-stage1/rp-pppoe/scripts/adsl-connect.in
deleted file mode 100755
index 85dfb3d8d..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-connect.in
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/bin/sh
-# @configure_input@
-#***********************************************************************
-#
-# adsl-connect
-#
-# Shell script to connect to an ADSL provider using PPPoE
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# Usage: adsl-connect [config_file]
-# adsl-connect interface user [config_file]
-# Second form overrides USER and ETH from config file.
-# If config_file is omitted, defaults to /etc//ppp/pppoe.conf
-#
-#***********************************************************************
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-localstatedir=/var
-
-# Paths to programs
-IFCONFIG=/sbin/ifconfig
-PPPD=@PPPD@
-SETSID=@SETSID@
-PPPOE=@sbindir@/pppoe
-LOGGER="/usr/bin/logger -t `basename $0`"
-
-# Must be root
-if test "`@ID@ -u`" != 0 ; then
- echo "$0: You must be root to run this script" >& 2
- exit 1
-fi
-
-if test "$SETSID" != "" -a ! -x "$SETSID"; then
- SETSID=""
-fi
-
-CONFIG=/etc//ppp/pppoe.conf
-USER=""
-ETH=""
-
-# Sort out command-line arguments
-case "$#" in
- 1)
- CONFIG="$1"
- ;;
- 3)
- CONFIG="$3"
- ;;
-esac
-
-if test ! -f "$CONFIG" -o ! -r "$CONFIG" ; then
- echo "$0: Cannot read configuration file '$CONFIG'" >& 2
- exit 1
-fi
-
-. $CONFIG
-
-PPPOE_PIDFILE="$PIDFILE.pppoe"
-PPPD_PIDFILE="$PIDFILE.pppd"
-
-# Check for command-line overriding of ETH and USER
-case "$#" in
- 2|3)
- ETH="$1"
- USER="$2"
- ;;
-esac
-
-# Check that config file is sane
-if test "$USER" = "" ; then
- echo "$0: Check '$CONFIG' -- no setting for USER" >& 2
- exit 1
-fi
-if test "$ETH" = "" ; then
- echo "$0: Check '$CONFIG' -- no setting for ETH" >& 2
- exit 1
-fi
-
-PPPD_PID=0
-
-# Catch common error
-if test "$DEBUG" = "1" ; then
- echo "*** If you want to use DEBUG, invoke adsl-start, not adsl-connect."
- exit 1
-fi
-
-if test "$DEBUG" != "" ; then
- if test "$LINUX_PLUGIN" != "" ; then
- echo "Cannot use DEBUG mode and LINUX_PLUGIN at the same time."
- echo "Kernel-mode PPPoE is experimental and unsupported."
- exit 1
- fi
- echo "* The following section identifies your Ethernet interface" >> $DEBUG
- echo "* and user name. Some ISP's need 'username'; others" >> $DEBUG
- echo "* need 'username@isp.com'. Try both" >> $DEBUG
- echo "ETH=$ETH; USER=$USER" >> $DEBUG
- echo "---------------------------------------------" >> $DEBUG
-fi
-
-# MTU of Ethernet card attached to modem MUST be 1500. This apparently
-# fails on some *BSD's, so we'll only do it under Linux
-
-if test `uname -s` = Linux ; then
- $IFCONFIG $ETH up mtu 1500
- # For 2.4 kernels. Will fail on 2.2.x, but who cares?
- modprobe ppp_generic > /dev/null 2>&1
- modprobe ppp_async > /dev/null 2>&1
- modprobe ppp_synctty > /dev/null 2>&1
- if test -n "$LINUX_PLUGIN" ; then
- modprobe pppox > /dev/null 2>&1
- modprobe pppoe > /dev/null 2>&1
- fi
-fi
-
-if test "$SYNCHRONOUS" = "yes" ; then
- PPPOE_SYNC=-s
- PPPD_SYNC=sync
- # Increase the chances of it working on Linux...
- if test `uname -s` = Linux ; then
- modprobe n_hdlc > /dev/null 2>&1
- fi
-else
- PPPOE_SYNC=""
- PPPD_SYNC=""
-fi
-
-if test -n "$ACNAME" ; then
- ACNAME="-C $ACNAME"
-fi
-
-if test -n "$SERVICENAME" ; then
- SERVICENAME="-S $SERVICENAME"
-fi
-
-if test "$CLAMPMSS" = "no" ; then
- CLAMPMSS=""
-else
- CLAMPMSS="-m $CLAMPMSS"
-fi
-
-# If DNSTYPE is SERVER, we must use "usepeerdns" option to pppd.
-if test "$DNSTYPE" = "SERVER" ; then
- USEPEERDNS=yes
-fi
-
-if test "$USEPEERDNS" = "yes" ; then
- USEPEERDNS="usepeerdns"
-else
- USEPEERDNS=""
-fi
-
-# Backward config file compatibility
-if test "$DEMAND" = "" ; then
- DEMAND=no
-fi
-
-if test "$DEMAND" = "no" ; then
- DEMAND=""
-else
- DEMAND="demand persist idle $DEMAND 10.112.112.112:10.112.112.113 ipcp-accept-remote ipcp-accept-local connect true noipdefault ktune"
-fi
-
-case "$FIREWALL" in
- STANDALONE)
- . /etc/ppp/firewall-standalone
- ;;
- MASQUERADE)
- . /etc/ppp/firewall-masq
- ;;
-esac
-
-# If we're using kernel-mode PPPoE on Linux...
-if test "$LINUX_PLUGIN" != "" ; then
- PLUGIN_OPTS="plugin $LINUX_PLUGIN $ETH"
- modprobe pppoe > /dev/null 2>&1
-fi
-
-# Standard PPP options we always use
-PPP_STD_OPTIONS="$PLUGIN_OPTS noipdefault noauth default-asyncmap defaultroute hide-password nodetach $USEPEERDNS local mtu 1492 mru 1492 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp user $USER lcp-echo-interval $LCP_INTERVAL lcp-echo-failure $LCP_FAILURE $PPPD_EXTRA"
-
-# Jigger DNS if required...
-if test "$DNSTYPE" = "SERVER" ; then
- # Sorry, dude...
- rm -f /etc/resolv.conf
- ln -s /etc/ppp/resolv.conf /etc/resolv.conf
-elif test "$DNSTYPE" = "SPECIFY" ; then
- # Sorry, dude...
- rm -f /etc/resolv.conf
- echo "nameserver $DNS1" > /etc/resolv.conf
- if test -n "$DNS2" ; then
- echo "nameserver $DNS2" >> /etc/resolv.conf
- fi
-fi
-
-# PPPoE invocation
-PPPOE_CMD="$PPPOE -p $PPPOE_PIDFILE -I $ETH -T $PPPOE_TIMEOUT -U $PPPOE_SYNC $CLAMPMSS $ACNAME $SERVICENAME $PPPOE_EXTRA"
-if test "$DEBUG" != "" ; then
- if test "$DEMAND" != "" ; then
- echo "(Turning off DEMAND for debugging purposes)"
- DEMAND=""
- fi
- echo "* The following section shows the pppd command we will invoke" >> $DEBUG
- echo "pppd invocation" >> $DEBUG
- echo "$SETSID $PPPD pty '$PPPOE_CMD' $PPP_STD_OPTIONS $PPPD_SYNC debug" >> $DEBUG
- echo "---------------------------------------------" >> $DEBUG
- $SETSID $PPPD pty "$PPPOE_CMD -D $DEBUG-0" \
- $PPP_STD_OPTIONS \
- $PPPD_SYNC \
- debug >> $DEBUG 2>&1
- echo "---------------------------------------------" >> $DEBUG
- echo "* The following section is an extract from your log." >> $DEBUG
- echo "* Look for error messages from pppd, such as" >> $DEBUG
- echo "* a lack of kernel support for PPP, authentication failure" >> $DEBUG
- echo "* etc." >> $DEBUG
- echo "Extract from /var/log/messages" >> $DEBUG
- grep 'ppp' /var/log/messages | tail -150 >> $DEBUG
- date >> $DEBUG
- echo "---------------------------------------------" >> $DEBUG
- echo "* The following section is a dump of the packets" >> $DEBUG
- echo "* sent and received by rp-pppoe. If you don't see" >> $DEBUG
- echo "* any output, it's an Ethernet driver problem. If you only" >> $DEBUG
- echo "* see three PADI packets and nothing else, check your cables" >> $DEBUG
- echo "* and modem. Make sure the modem lights flash when you try" >> $DEBUG
- echo "* to connect. Check that your Ethernet card is in" >> $DEBUG
- echo "* half-duplex, 10Mb/s mode. If all else fails," >> $DEBUG
- echo "* try using pppoe-sniff." >> $DEBUG
- echo "rp-pppoe debugging dump" >> $DEBUG
- cat $DEBUG-0 >> $DEBUG
- rm -f $DEBUG-0
- for i in 1 2 3 4 5 6 7 8 9 10 ; do
- echo ""
- echo ""
- echo ""
- done
- echo "*** Finished debugging run. Please review the file"
- echo "*** '$DEBUG' and try to"
- echo "*** figure out what is going on."
- echo "***"
- echo "*** Unfortunately, we can NO LONGER accept debugging"
- echo "*** output for analysis. Please do not send this to"
- echo "*** Roaring Penguin; it is too time-consuming for"
- echo "*** us to deal with all the analyses we have been sent."
- exit 0
-fi
-
-echo $$ > $PIDFILE
-
-while [ true ] ; do
- if test "$LINUX_PLUGIN" != "" ; then
- $SETSID $PPPD $PPP_STD_OPTIONS $DEMAND &
- echo "$!" > $PPPD_PIDFILE
- else
- $SETSID $PPPD pty "$PPPOE_CMD" \
- $PPP_STD_OPTIONS \
- $DEMAND \
- $PPPD_SYNC &
- echo "$!" > $PPPD_PIDFILE
- fi
- wait
-
- # Run /etc/ppp/adsl-lost if it exists
- test -x /etc/ppp/adsl-lost && /etc/ppp/adsl-lost
-
- # Re-establish the connection
- $LOGGER -p daemon.notice \
- "ADSL connection lost; attempting re-connection."
-
- # Wait a bit in case a problem causes tons of log messages :-)
- sleep 5
-done
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in b/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in
deleted file mode 100755
index 936f5fba7..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-#
-# adsl This script starts or stops an ADSL connection
-#
-# chkconfig: 2345 99 01
-# description: Connects to ADSL provider
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-# Modifed to work with SuSE 6.4 linux by Gary Cameron.
-#
-# Source function library.
-#. /etc/rc.d/init.d/functions # For red hat?
-. /etc/rc.config # For SuSE, enables setting from /etc/rc.config
-
-#Tweak this
-restart_time=120
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-START=@sbindir@/adsl-start
-STOP=@sbindir@/adsl-stop
-STATUS=@sbindir@/adsl-status
-
-test "$ADSL_START" = "yes" || exit 0
-
-# The echo return value for success (defined in /etc/rc.config).
-return=$rc_done
-case "$1" in
- start)
- echo -n "Bringing up ADSL link"
- $START > /dev/null 2>&1 || return=$rc_failed
- echo -e "$return"
- ;;
-
- stop)
- echo -n "Shutting down ADSL link"
- $STOP > /dev/null 2>&1 || return=$rc_failed
- echo -e "$return"
- ;;
-
- restart)
- $0 stop
- echo "Waiting" $restart_time "seconds for the host to reset itself"
- sleep $restart_time #Note: Need time for host to reset itself
- $0 start
- ;;
-
- status)
- $STATUS
- ;;
-
- *)
- echo "Usage: adsl {start|stop|restart|status}"
- exit 1
-esac
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in b/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in
deleted file mode 100755
index 3b22f1345..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-#
-# adsl This script starts or stops an ADSL connection
-#
-# chkconfig: 2345 99 01
-# description: Connects to ADSL provider
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-
-# Source function library if it exists
-test -r /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-START=@sbindir@/adsl-start
-STOP=@sbindir@/adsl-stop
-STATUS=@sbindir@/adsl-status
-case "$1" in
- start)
- echo -n "Bringing up ADSL link: "
-
- $START
- if [ $? = 0 ] ; then
- echo success
- touch /var/lock/subsys/adsl
- else
- echo failure
- fi
- ;;
-
- stop)
- echo -n "Shutting down ADSL link: "
-
- $STOP > /dev/null 2>&1
- if [ $? = 0 ] ; then
- echo success
- rm -f /var/lock/subsys/adsl
- else
- echo failure
- fi
- ;;
-
- restart)
- $0 stop
- $0 start
- ;;
-
- status)
- $STATUS
- ;;
-
- *)
- echo "Usage: adsl {start|stop|restart|status}"
- exit 1
-esac
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init.in b/mdk-stage1/rp-pppoe/scripts/adsl-init.in
deleted file mode 100755
index ab9146fd3..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-init.in
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/sh
-#
-# adsl This script starts or stops an ADSL connection
-#
-# chkconfig: 2345 99 01
-# description: Connects to ADSL provider
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-
-# Source function library if it exists
-test -r /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-START=@sbindir@/adsl-start
-STOP=@sbindir@/adsl-stop
-STATUS=@sbindir@/adsl-status
-case "$1" in
- start)
- echo -n "Bringing up ADSL link"
-
- $START
- if [ $? = 0 ] ; then
- touch /var/lock/subsys/adsl
- echo_success
- else
- echo_failure
- fi
- echo ""
- ;;
-
- stop)
- echo -n "Shutting down ADSL link"
-
- $STOP > /dev/null 2>&1
- if [ $? = 0 ] ; then
- rm -f /var/lock/subsys/adsl
- echo_success
- else
- echo_failure
- fi
- echo ""
- ;;
-
- restart)
- $0 stop
- $0 start
- ;;
-
- status)
- $STATUS
- ;;
-
- *)
- echo "Usage: adsl {start|stop|restart|status}"
- exit 1
-esac
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-setup.in b/mdk-stage1/rp-pppoe/scripts/adsl-setup.in
deleted file mode 100755
index a8c7fa039..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-setup.in
+++ /dev/null
@@ -1,346 +0,0 @@
-#!/bin/sh
-#***********************************************************************
-#
-# adsl-setup
-#
-# All-purpose slicing/dicing shell script to configure rp-pppoe.
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#***********************************************************************
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-IFCONFIG=/sbin/ifconfig
-PPPD=@PPPD@
-PPPOE=@sbindir@/pppoe
-ECHO=@ECHO@
-LOGGER="/usr/bin/logger -t `basename $0`"
-
-CONFIG=/etc/ppp/pppoe.conf
-
-# Protect created files
-umask 077
-
-copy() {
- cp $1 $2
- if [ "$?" != 0 ] ; then
- $ECHO "*** Error copying $1 to $2"
- $ECHO "*** Quitting."
- exit 1
- fi
-}
-
-$ECHO "Welcome to the Roaring Penguin ADSL client setup. First, I will run"
-$ECHO "some checks on your system to make sure the PPPoE client is installed"
-$ECHO "properly..."
-$ECHO ""
-
-# Must be root
-if [ "`@ID@ -u`" != 0 ] ; then
- $ECHO "$0: Sorry, you must be root to run this script"
- exit 1
-fi
-
-# Prototype config file must exist
-if [ ! -r "$CONFIG" ] ; then
- $ECHO "Oh, dear, I don't see the file '$CONFIG' anywhere. Please"
- $ECHO "re-install the PPPoE client."
- exit 1
-fi
-
-# Must have pppd
-if [ ! -x $PPPD ] ; then
- $ECHO "Oops, I can't execute the program '$PPPD'. You"
- $ECHO "must install the PPP software suite, version 2.3.10 or later."
- exit 1
-fi
-
-. $CONFIG
-
-if [ "$DEMAND" = "" ] ; then
- DEMAND=no
-fi
-
-# pppoe must exist
-if [ ! -x "$PPPOE" ] ; then
- $ECHO "Oh, dear, I can't execute the program '$PPPOE'. Please"
- $ECHO "re-install the rp-pppoe client."
- exit 1
-fi
-
-$ECHO "Looks good! Now, please enter some information:"
-
-while [ true ] ; do
- $ECHO ""
- $ECHO "USER NAME"
- $ECHO ""
- $ECHO -n ">>> Enter your PPPoE user name (default $USER): "
- read U
-
- if [ "$U" = "" ] ; then
- U="$USER"
- fi
-
- # Under Linux, "fix" the default interface if eth1 is not available
- if test `uname -s` = "Linux" ; then
- $IFCONFIG $ETH > /dev/null 2>&1 || ETH=eth0
- fi
- $ECHO ""
- $ECHO "INTERFACE"
- $ECHO ""
- $ECHO ">>> Enter the Ethernet interface connected to the ADSL modem"
- $ECHO "For Solaris, this is likely to be something like /dev/hme0."
- $ECHO "For Linux, it will be ethn, where 'n' is a number."
- $ECHO -n "(default $ETH): "
- read E
-
- if [ "$E" = "" ] ; then
- E="$ETH"
- fi
-
- $ECHO ""
- $ECHO "Do you want the link to come up on demand, or stay up continuously?"
- $ECHO "If you want it to come up on demand, enter the idle time in seconds"
- $ECHO "after which the link should be dropped. If you want the link to"
- $ECHO "stay up permanently, enter 'no' (two letters, lower-case.)"
- $ECHO "NOTE: Demand-activated links do not interact well with dynamic IP"
- $ECHO "addresses. You may have some problems with demand-activated links."
- $ECHO -n ">>> Enter the demand value (default $DEMAND): "
- read D
- if [ "$D" = "" ] ; then
- D=$DEMAND
- fi
-
- $ECHO ""
- $ECHO "DNS"
- $ECHO ""
- $ECHO "Please enter the IP address of your ISP's primary DNS server."
- $ECHO "If your ISP claims that 'the server will provide DNS addresses',"
- $ECHO "enter 'server' (all lower-case) here."
- $ECHO "If you just press enter, I will assume you know what you are"
- $ECHO "doing and not modify your DNS setup."
- $ECHO -n ">>> Enter the DNS information here: "
-
- read DNS1
-
-
- if [ "$DNS1" != "" ] ; then
- if [ "$DNS1" != "server" ] ; then
- $ECHO "Please enter the IP address of your ISP's secondary DNS server."
- $ECHO "If you just press enter, I will assume there is only one DNS server."
- $ECHO -n ">>> Enter the secondary DNS server address here: "
- read DNS2
- fi
- fi
-
- while [ true ] ; do
- $ECHO ""
- $ECHO "PASSWORD"
- $ECHO ""
- stty -echo
- $ECHO -n ">>> Please enter your PPPoE password: "
- read PWD1
- $ECHO ""
- $ECHO -n ">>> Please re-enter your PPPoE password: "
- read PWD2
- $ECHO ""
- stty echo
- if [ "$PWD1" = "$PWD2" ] ; then
- break
- fi
-
- $ECHO -n ">>> Sorry, the passwords do not match. Try again? (y/n)"
- read ANS
- case "$ANS" in
- N|No|NO|Non|n|no|non)
- $ECHO "OK, quitting. Bye."
- exit 1
- esac
- done
-
- # Firewalling
- $ECHO ""
- $ECHO "FIREWALLING"
- $ECHO ""
- if test `uname -s` != "Linux" ; then
- $ECHO "Sorry, firewalling is only supported under Linux. Consult"
- $ECHO "your operating system manuals for details on setting up"
- $ECHO "packet filters for your system."
- FIREWALL=NONE
- else
- $ECHO "Please choose the firewall rules to use. Note that these rules are"
- $ECHO "very basic. You are strongly encouraged to use a more sophisticated"
- $ECHO "firewall setup; however, these will provide basic security. If you"
- $ECHO "are running any servers on your machine, you must choose 'NONE' and"
- $ECHO "set up firewalling yourself. Otherwise, the firewall rules will deny"
- $ECHO "access to all standard servers like Web, e-mail, ftp, etc. If you"
- $ECHO "are using SSH, the rules will block outgoing SSH connections which"
- $ECHO "allocate a privileged source port."
- $ECHO ""
- while [ true ] ; do
- $ECHO "The firewall choices are:"
- $ECHO "0 - NONE: This script will not set any firewall rules. You are responsible"
- $ECHO " for ensuring the security of your machine. You are STRONGLY"
- $ECHO " recommended to use some kind of firewall rules."
- $ECHO "1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation"
- $ECHO "2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway"
- $ECHO " for a LAN"
- $ECHO -n ">>> Choose a type of firewall (0-2): "
- read a
- if [ "$a" = 0 -o "$a" = 1 -o "$a" = 2 ] ; then
- break
- fi
- $ECHO "Please enter a number from 0 to 2"
- done
-
- case "$a" in
- 0)
- FIREWALL=NONE
- ;;
- 1)
- FIREWALL=STANDALONE
- ;;
- 2)
- FIREWALL=MASQUERADE
- ;;
- esac
- fi
-
- $ECHO ""
- $ECHO "** Summary of what you entered **"
- $ECHO ""
- $ECHO "Ethernet Interface: $E"
- $ECHO "User name: $U"
- if [ "$D" = "no" ] ; then
- $ECHO "Activate-on-demand: No"
- else
- $ECHO "Activate-on-demand: Yes; idle timeout = $D seconds"
- fi
-
- if [ "$DNS1" != "" ] ; then
- if [ "$DNS1" = "server" ] ; then
- $ECHO "DNS addresses: Supplied by ISP's server"
- else
- $ECHO "Primary DNS: $DNS1"
- if [ "$DNS2" != "" ] ; then
- $ECHO "Secondary DNS: $DNS2"
- fi
- fi
- else
- $ECHO "DNS: Do not adjust"
- fi
- $ECHO "Firewalling: $FIREWALL"
- $ECHO ""
- while [ true ] ; do
- $ECHO -n '>>> Accept these settings and adjust configuration files (y/n)? '
- read ANS
- case "ANS" in
- Y|y|yes|Yes|oui|Oui)
- ANS=y
- ;;
- N|n|no|No|non|Non)
- ANS=n
- ;;
- esac
- if [ "$ANS" = "y" -o "$ANS" = "n" ] ; then
- break
- fi
- done
- if [ "$ANS" = "y" ] ; then
- break
- fi
-done
-
-# Adjust configuration files. First to $CONFIG
-
-$ECHO "Adjusting $CONFIG"
-
-copy $CONFIG $CONFIG-bak
-if [ "$DNS1" = "server" ] ; then
- DNSTYPE=SERVER
- DNS1=""
- USEPEERDNS=yes
-else
- USEPEERDNS=no
- if [ "$DNS1" = "" ] ; then
- DNSTYPE=NOCHANGE
- else
- DNSTYPE=SPECIFY
- fi
-fi
-
-# Where is pppd likely to put its pid?
-if [ -d /var/run ] ; then
- VARRUN=/var/run
-else
- VARRUN=/etc/ppp
-fi
-
-# Some #$(*& ISP's use a slash in the user name...
-sed -e "s&^USER=.*&USER='$U'&" \
- -e "s&^ETH=.*&ETH='$E'&" \
- -e "s&^PIDFILE=.*&PIDFILE=\"$VARRUN/\$CF_BASE-adsl.pid\"&" \
- -e "s/^FIREWALL=.*/FIREWALL=$FIREWALL/" \
- -e "s/^DEMAND=.*/DEMAND=$D/" \
- -e "s/^DNSTYPE=.*/DNSTYPE=$DNSTYPE/" \
- -e "s/^DNS1=.*/DNS1=$DNS1/" \
- -e "s/^DNS2=.*/DNS2=$DNS2/" \
- -e "s/^USEPEERDNS=.*/USEPEERDNS=$USEPEERDNS/" \
- < $CONFIG-bak > $CONFIG
-
-if [ $? != 0 ] ; then
- $ECHO "** Error modifying $CONFIG"
- $ECHO "** Quitting"
- exit 1
-fi
-
-if [ "$DNS1" != "" ] ; then
- if [ "$DNS1" != "server" ] ; then
- $ECHO "Adjusting /etc/resolv.conf"
- if [ -r /etc/resolv.conf ] ; then
- grep -s "MADE-BY-RP-PPPOE" /etc/resolv.conf > /dev/null 2>&1
- if [ "$?" != 0 ] ; then
- $ECHO " (But first backing it up to /etc/resolv.conf-bak)"
- copy /etc/resolv.conf /etc/resolv.conf-bak
- fi
- fi
- $ECHO "# MADE-BY-RP-PPPOE" > /etc/resolv.conf
- $ECHO "nameserver $DNS1" >> /etc/resolv.conf
- if [ "$DNS2" != "" ] ; then
- $ECHO "nameserver $DNS2" >> /etc/resolv.conf
- fi
- fi
-fi
-
-$ECHO "Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets"
-if [ -r /etc/ppp/pap-secrets ] ; then
- $ECHO " (But first backing it up to /etc/ppp/pap-secrets-bak)"
- copy /etc/ppp/pap-secrets /etc/ppp/pap-secrets-bak
-else
- cp /dev/null /etc/ppp/pap-secrets-bak
-fi
-if [ -r /etc/ppp/chap-secrets ] ; then
- $ECHO " (But first backing it up to /etc/ppp/chap-secrets-bak)"
- copy /etc/ppp/chap-secrets /etc/ppp/chap-secrets-bak
-else
- cp /dev/null /etc/ppp/chap-secrets-bak
-fi
-
-egrep -v "^$U|^\"$U\"" /etc/ppp/pap-secrets-bak > /etc/ppp/pap-secrets
-$ECHO "\"$U\" * \"$PWD1\"" >> /etc/ppp/pap-secrets
-egrep -v "^$U|^\"$U\"" /etc/ppp/chap-secrets-bak > /etc/ppp/chap-secrets
-$ECHO "\"$U\" * \"$PWD1\"" >> /etc/ppp/chap-secrets
-
-$ECHO ""
-$ECHO ""
-$ECHO ""
-$ECHO "Congratulations, it should be all set up!"
-$ECHO ""
-$ECHO "Type 'adsl-start' to bring up your ADSL link and 'adsl-stop' to bring"
-$ECHO "it down. Type 'adsl-status' to see the link status."
-exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-start.in b/mdk-stage1/rp-pppoe/scripts/adsl-start.in
deleted file mode 100755
index 33251a851..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-start.in
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/bin/sh
-# @configure_input@
-#***********************************************************************
-#
-# adsl-start
-#
-# Shell script to bring up an ADSL connection
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# Usage: adsl-start [config_file]
-# adsl-start interface user [config_file]
-# Second form overrides USER and ETH from config file.
-# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
-#
-#***********************************************************************
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-CONNECT=@sbindir@/adsl-connect
-ECHO=@ECHO@
-IFCONFIG=/sbin/ifconfig
-
-# Defaults
-CONFIG=/etc/ppp/pppoe.conf
-USER=""
-ETH=""
-ME=`basename $0`
-# Must be root
-if [ "`@ID@ -u`" != 0 ] ; then
- $ECHO "$ME: You must be root to run this script" >& 2
- exit 1
-fi
-
-# Debugging
-if [ "$DEBUG" = "1" ] ; then
- $ECHO "*** Running in debug mode... please be patient..."
- DEBUG=/tmp/pppoe-debug-$$
- export DEBUG
- mkdir $DEBUG
- if [ "$?" != 0 ] ; then
- $ECHO "Could not create directory $DEBUG... exiting"
- exit 1
- fi
- DEBUG=$DEBUG/pppoe-debug.txt
-
- # Initial debug output
- $ECHO "---------------------------------------------" > $DEBUG
- $ECHO "* The following section contains information about your system" >> $DEBUG
- date >> $DEBUG
- $ECHO "Output of uname -a" >> $DEBUG
- uname -a >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- $ECHO "* The following section contains information about your network" >> $DEBUG
- $ECHO "* interfaces. The one you chose for PPPoE should contain the words:" >> $DEBUG
- $ECHO "* 'UP' and 'RUNNING'. If it does not, you probably have an Ethernet" >> $DEBUG
- $ECHO "* driver problem." >> $DEBUG
- $ECHO "Output of ifconfig -a" >> $DEBUG
- $IFCONFIG -a >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- if [ "`uname -s`" = "Linux" ] ; then
- $ECHO "* The following section contains information about kernel modules" >> $DEBUG
- $ECHO "* If the module for your Ethernet card is 'tulip', you might" >> $DEBUG
- $ECHO "* want to look for an updated version at http://www.scyld.com" >> $DEBUG
- $ECHO "Output of lsmod" >> $DEBUG
- lsmod >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- fi
- $ECHO "* The following section lists your routing table." >> $DEBUG
- $ECHO "* If you have an entry which starts with '0.0.0.0', you probably" >> $DEBUG
- $ECHO "* have defined a default route and gateway, and pppd will" >> $DEBUG
- $ECHO "* not create a default route using your ISP. Try getting" >> $DEBUG
- $ECHO "* rid of this route." >> $DEBUG
- $ECHO "Output of netstat -n -r" >> $DEBUG
- netstat -n -r >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- $ECHO "Contents of /etc/resolv.conf" >> $DEBUG
- $ECHO "* The following section lists DNS setup." >> $DEBUG
- $ECHO "* If you can browse by IP address, but not name, suspect" >> $DEBUG
- $ECHO "* a DNS problem." >> $DEBUG
- cat /etc/resolv.conf >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- $ECHO "* The following section lists /etc/ppp/options." >> $DEBUG
- $ECHO "* You should have NOTHING in that file." >> $DEBUG
- $ECHO "Contents of /etc/ppp/options" >> $DEBUG
- cat /etc/ppp/options >> $DEBUG 2>/dev/null
- $ECHO "---------------------------------------------" >> $DEBUG
-else
- DEBUG=""
-fi
-
-# Sort out command-line arguments
-case "$#" in
- 1)
- CONFIG="$1"
- ;;
- 3)
- CONFIG="$3"
- ;;
-esac
-
-if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
- $ECHO "$ME: Cannot read configuration file '$CONFIG'" >& 2
- exit 1
-fi
-
-. $CONFIG
-
-# Check for command-line overriding of ETH and USER
-case "$#" in
- 2|3)
- ETH="$1"
- USER="$2"
- ;;
-esac
-
-# Check for pidfile
-if [ -r "$PIDFILE" ] ; then
- PID=`cat "$PIDFILE"`
- # Check if still running
- kill -0 $PID > /dev/null 2>&1
- if [ $? = 0 ] ; then
- $ECHO "$ME: There already seems to be an ADSL connection up (PID $PID)" >& 2
- exit 1
- fi
- # Delete bogus PIDFILE
- rm -f "$PIDFILE" "$PIDFILE.pppd" "$PIDFILE.pppoe" "$PIDFILE.start"
-fi
-
-echo $$ > $PIDFILE.start
-
-# Start the connection in the background unless we're debugging
-if [ "$DEBUG" != "" ] ; then
- $CONNECT "$@"
- exit 0
-fi
-
-$CONNECT "$@" > /dev/null 2>&1 &
-CONNECT_PID=$!
-
-if [ "$CONNECT_TIMEOUT" = "" -o "$CONNECT_TIMEOUT" = 0 ] ; then
- exit 0
-fi
-
-# Don't monitor connection if dial-on-demand
-if [ "$DEMAND" != "" -a "$DEMAND" != "no" ] ; then
- exit 0
-fi
-
-# Monitor connection
-TIME=0
-while [ true ] ; do
- @sbindir@/adsl-status $CONFIG > /dev/null 2>&1
-
- # Looks like the interface came up
- if [ $? = 0 ] ; then
- # Print newline if standard input is a TTY
- tty -s && $ECHO " Connected!"
- exit 0
- fi
-
- if test -n "$FORCEPING" ; then
- $ECHO -n "$FORCEPING"
- else
- tty -s && $ECHO -n "$PING"
- fi
- sleep $CONNECT_POLL
- TIME=`expr $TIME + $CONNECT_POLL`
- if [ $TIME -gt $CONNECT_TIMEOUT ] ; then
- break
- fi
-done
-
-$ECHO "TIMED OUT" >& 2
-# Timed out! Kill the adsl-connect process and quit
-kill $CONNECT_PID > /dev/null 2>&1
-exit 1
-
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-status b/mdk-stage1/rp-pppoe/scripts/adsl-status
deleted file mode 100755
index 18b100ab2..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-status
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/sh
-#***********************************************************************
-#
-# adsl-status
-#
-# Shell script to report on status of ADSL connection
-#
-# Copyright (C) 2000-2001 Roaring Penguin Software Inc.
-#
-# $Id$
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# Usage: adsl-status [config_file]
-# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
-#
-#***********************************************************************
-
-# Defaults
-CONFIG=/etc/ppp/pppoe.conf
-
-case "$#" in
- 1)
- CONFIG="$1"
- ;;
-esac
-
-if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
- echo "$0: Cannot read configuration file '$CONFIG'" >& 2
- exit 1
-fi
-
-. $CONFIG
-
-PPPOE_PIDFILE="$PIDFILE.pppoe"
-PPPD_PIDFILE="$PIDFILE.pppd"
-
-if [ "$DEMAND" != "no" ] ; then
- echo "Note: You have enabled demand-connection; adsl-status may be inaccurate."
-fi
-
-# If no PPPOE_PIDFILE, connection is down, unless we're using the Linux plugin
-if [ "$LINUX_PLUGIN" = "" ] ; then
- if [ ! -r "$PPPOE_PIDFILE" ] ; then
- echo "adsl-status: Link is down (can't read pppoe PID file $PPPOE_PIDFILE)"
- exit 1
- fi
-fi
-
-# If no PPPD_PIDFILE, something fishy!
-if [ ! -r "$PPPD_PIDFILE" ] ; then
- echo "adsl-status: Link is down (can't read pppd PID file $PPPD_PIDFILE)"
- exit 1
-fi
-
-PPPD_PID=`cat "$PPPD_PIDFILE"`
-
-# Sigh. Some versions of pppd put PID files in /var/run; others put them
-# in /etc/ppp. Since it's too messy to figure out what pppd does, we
-# try both locations.
-for i in /etc/ppp/ppp*.pid /var/run/ppp*.pid ; do
- if [ -r $i ] ; then
- PID=`cat $i`
- if [ "$PID" = "$PPPD_PID" ] ; then
- IF=`basename $i .pid`
- netstat -rn | grep " ${IF}\$" > /dev/null
- # /sbin/ifconfig $IF | grep "UP.*POINTOPOINT" > /dev/null
- if [ "$?" != "0" ] ; then
- echo "adsl-status: Link is attached to $IF, but $IF is down"
- exit 1
- fi
- echo "adsl-status: Link is up and running on interface $IF"
- /sbin/ifconfig $IF
- exit 0
- fi
- fi
-done
-
-echo "adsl-status: Link is down -- could not find interface corresponding to"
-echo "pppd pid $PPPD_PID"
-exit 1 \ No newline at end of file
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-stop.in b/mdk-stage1/rp-pppoe/scripts/adsl-stop.in
deleted file mode 100755
index af0867573..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-stop.in
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/sh
-# @configure_input@
-#***********************************************************************
-#
-# adsl-stop
-#
-# Shell script to bring down an ADSL connection
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# Usage: adsl-stop [config_file]
-# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
-#
-#***********************************************************************
-
-ME="`basename $0`"
-LOGGER="/usr/bin/logger -t $ME"
-CONFIG="$1"
-if [ "$CONFIG" = "" ] ; then
- CONFIG=/etc/ppp/pppoe.conf
-fi
-
-if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
- echo "$ME: Cannot read configuration file '$CONFIG'" >& 2
- exit 1
-fi
-
-. $CONFIG
-
-PPPOE_PIDFILE="$PIDFILE.pppoe"
-PPPD_PIDFILE="$PIDFILE.pppd"
-STARTPID="$PIDFILE.start"
-
-# Backward config file compatibility
-if test "$DEMAND" = "" ; then
- DEMAND=no
-fi
-
-# Ignore SIGTERM
-trap "" 15
-
-# Check for pidfile
-if [ -r "$PIDFILE" ] ; then
- PID=`cat $PIDFILE`
-
- # Check if still running
- kill -0 $PID > /dev/null 2>&1
- if [ $? != 0 ] ; then
- echo "$ME: The adsl-connect script (PID $PID) appears to have died" >& 2
- fi
-
- # Kill pppd, which should in turn kill pppoe
- if [ -r "$PPPD_PIDFILE" ] ; then
- PPPD_PID=`cat "$PPPD_PIDFILE"`
- $LOGGER -p daemon.notice "Killing pppd"
- echo "Killing pppd ($PPPD_PID)"
- kill $PPPD_PID > /dev/null 2>&1 || exit 1
- fi
-
- # Kill adsl-start
- PIDS=`cat $STARTPID`
- kill -0 $PIDS > /dev/null 2>&1
- if [ $? = 0 ] ; then
- $LOGGER -p daemon.notice "Killing adsl-connect"
- kill $PIDS > /dev/null 2>&1
- fi
-
- # Kill adsl-connect
- $LOGGER -p daemon.notice "Killing adsl-connect"
- echo "Killing adsl-connect ($PID)"
- kill $PID > /dev/null 2>&1
-
- rm -f "$PIDFILE" "$PPPD_PIDFILE" "$PPPOE_PIDFILE" "$STARTPID"
-else
- echo "$ME: No ADSL connection appears to be running" >&2
- exit 1
-fi
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/src/.cvsignore b/mdk-stage1/rp-pppoe/src/.cvsignore
deleted file mode 100644
index a59197332..000000000
--- a/mdk-stage1/rp-pppoe/src/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-pppoe
-pppoe-DIET
diff --git a/mdk-stage1/rp-pppoe/src/Makefile b/mdk-stage1/rp-pppoe/src/Makefile
deleted file mode 100644
index 11d2684d6..000000000
--- a/mdk-stage1/rp-pppoe/src/Makefile
+++ /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.
- #
- #*****************************************************************************
-
-top_dir = ../..
-
-include $(top_dir)/Makefile.common
-
-
-TARGETS = pppoe
-
-BINTARGET = ../pppoe-bin
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a $(BINTARGET) pppoe
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer '-DPPPOE_PATH="/sbin/pppoe"' '-DPPPD_PATH="/sbin/pppd"' '-DVERSION="3.0-stg1"'
-
-ifeq (GLIBC, $(L))
-EXTRA_LDFLAGS = -static
-endif
-
-OBJS = pppoe.o if.o debug.o common.o ppp.o discovery.o
-
-pppoe: $(OBJS)
- $(DIET) gcc -o $@ $^ $(EXTRA_LDFLAGS)
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(FLAGS) $(INCLUDES) $(INCS) -c $< -o $@
diff --git a/mdk-stage1/rp-pppoe/src/Makefile.in b/mdk-stage1/rp-pppoe/src/Makefile.in
deleted file mode 100644
index 8eee012cb..000000000
--- a/mdk-stage1/rp-pppoe/src/Makefile.in
+++ /dev/null
@@ -1,257 +0,0 @@
-# @configure_input@
-#***********************************************************************
-#
-# Makefile
-#
-# Makefile for Roaring Penguin's Linux user-space PPPoE client.
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# This program may be distributed according to the terms of the GNU
-# General Public License, version 2 or (at your option) any later version.
-#
-# $Id$
-#***********************************************************************
-
-# Version is set ONLY IN THE MAKEFILE! Don't delete this!
-VERSION=3.0
-
-DEFINES=
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-mandir=@mandir@
-docdir=@prefix@/doc/rp-pppoe-$(VERSION)
-install=@INSTALL@
-install_dir=@INSTALL@ -d
-sbindir=@sbindir@
-
-# Plugin for pppd on Linux
-LINUX_KERNELMODE_PLUGIN=@LINUX_KERNELMODE_PLUGIN@
-PPPD_INCDIR=@PPPD_INCDIR@
-
-# PPPoE relay -- currently only supported on Linux
-PPPOE_RELAY=@PPPOE_RELAY@
-
-# Program paths
-PPPOE_PATH=$(sbindir)/pppoe
-PPPD_PATH=@PPPD@
-
-# Kernel-mode plugin gets installed here.
-PLUGIN_DIR=/etc/ppp/plugins
-PLUGIN_PATH=$(PLUGIN_DIR)/rp-pppoe.so
-
-# Configuration file paths
-PPPOESERVER_PPPD_OPTIONS=/etc/ppp/pppoe-server-options
-
-PATHS='-DPPPOE_PATH="$(PPPOE_PATH)"' '-DPPPD_PATH="$(PPPD_PATH)"' \
- '-DPLUGIN_PATH="$(PLUGIN_PATH)"' \
- '-DPPPOE_SERVER_OPTIONS="$(PPPOESERVER_PPPD_OPTIONS)"'
-
-CFLAGS= @CFLAGS@ $(DEFINES) $(PATHS)
-TARGETS=@TARGETS@
-
-all: $(TARGETS)
- @echo ""
- @echo "Type 'make install' as root to install the software."
-
-pppoe-sniff: pppoe-sniff.o if.o common.o debug.o
- @CC@ -o pppoe-sniff pppoe-sniff.o if.o common.o debug.o $(LIBS)
-
-pppoe-server: pppoe-server.o if.o debug.o common.o md5.o
- @CC@ -o pppoe-server pppoe-server.o if.o debug.o common.o md5.o $(LIBS)
-
-pppoe: pppoe.o if.o debug.o common.o ppp.o discovery.o
- @CC@ -o pppoe pppoe.o if.o debug.o common.o ppp.o discovery.o $(LIBS)
-
-pppoe-relay: relay.o if.o debug.o common.o
- @CC@ -o pppoe-relay relay.o if.o debug.o common.o $(LIBS)
-
-pppoe.o: pppoe.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe.o pppoe.c
-
-discovery.o: discovery.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o discovery.o discovery.c
-
-ppp.o: ppp.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o ppp.o ppp.c
-
-md5.o: md5.c md5.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o md5.o md5.c
-
-pppoe-server.o: pppoe-server.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe-server.o pppoe-server.c
-
-pppoe-sniff.o: pppoe-sniff.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe-sniff.o pppoe-sniff.c
-
-if.o: if.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o if.o if.c
-
-common.o: common.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o common.o common.c
-
-debug.o: debug.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o debug.o debug.c
-
-relay.o: relay.c relay.h pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o relay.o relay.c
-
-# Linux-specific plugin
-rp-pppoe.so: plugin/libplugin.a plugin/plugin.o
- @CC@ -o rp-pppoe.so -shared plugin/plugin.o plugin/libplugin.a
-
-plugin/plugin.o: plugin.c
- @CC@ '-DVERSION="$(VERSION)"' -I$(PPPD_INCDIR) -c -o plugin/plugin.o -fPIC plugin.c
-
-plugin/libplugin.a: plugin/discovery.o plugin/if.o plugin/common.o plugin/debug.o
- ar -rc $@ $^
-
-plugin/discovery.o: discovery.c
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/discovery.o -fPIC discovery.c
-
-plugin/if.o: if.c
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/if.o -fPIC if.c
-
-plugin/debug.o: debug.c
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/debug.o -fPIC debug.c
-
-plugin/common.o: common.c
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/common.o -fPIC common.c
-
-install: all
- -mkdir -p $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 -s pppoe $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 -s pppoe-server $(RPM_INSTALL_ROOT)$(sbindir)
- if test -x pppoe-relay ; then $(install) -m 755 -s pppoe-relay $(RPM_INSTALL_ROOT)$(sbindir); fi
- $(install) -m 755 -s pppoe-sniff $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-connect $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-start $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-status $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-stop $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-setup $(RPM_INSTALL_ROOT)$(sbindir)
- -mkdir -p $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../doc/CHANGES $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../doc/KERNEL-MODE-PPPOE $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../doc/HOW-TO-CONNECT $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../doc/LICENSE $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../README $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../configs/pap-secrets $(RPM_INSTALL_ROOT)$(docdir)
- -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man8
- for i in $(TARGETS) ; do \
- if test -f ../man/$$i.8 ; then \
- $(install) -m 644 ../man/$$i.8 $(RPM_INSTALL_ROOT)$(mandir)/man8 || exit 1; \
- fi; \
- done
- $(install) -m 644 ../man/adsl-start.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- $(install) -m 644 ../man/adsl-stop.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- $(install) -m 644 ../man/adsl-status.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- $(install) -m 644 ../man/adsl-connect.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- $(install) -m 644 ../man/adsl-setup.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man5
- $(install) -m 644 ../man/pppoe.conf.5 $(RPM_INSTALL_ROOT)$(mandir)/man5
- -mkdir -p $(RPM_INSTALL_ROOT)/etc/ppp
- -mkdir -p $(RPM_INSTALL_ROOT)$(PLUGIN_DIR)
- -echo "# Directory created by rp-pppoe for kernel-mode plugin" > $(RPM_INSTALL_ROOT)$(PLUGIN_DIR)/README
- @if test -r rp-pppoe.so; then $(install) -m 755 rp-pppoe.so $(RPM_INSTALL_ROOT)$(PLUGIN_DIR); fi
- @for i in pppoe.conf firewall-standalone firewall-masq ; do \
- if [ ! -f $(RPM_INSTALL_ROOT)/etc/ppp/$$i ] ; then \
- $(install) -m 644 ../configs/$$i $(RPM_INSTALL_ROOT)/etc/ppp ; \
- else \
- echo "NOT overwriting existing $(RPM_INSTALL_ROOT)/etc/ppp/$$i" ;\
- $(install) -m 644 ../configs/$$i $(RPM_INSTALL_ROOT)/etc/ppp/$$i-$(VERSION) ;\
- fi ;\
- done
- @if [ ! -f $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS) ] ; then \
- $(install) -m 644 ../configs/pppoe-server-options $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS) ; \
- else \
- echo "NOT overwriting existing $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS)"; \
- $(install) -m 644 ../configs/pppoe-server-options $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS)-example ; \
- fi
- @if [ -f /etc/redhat-release ] ; then \
- echo "Looks like a Red Hat system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
- mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
- $(install) -m 755 ../scripts/adsl-init $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
- fi
- @if [ -f /etc/turbolinux-release ] ; then \
- echo "Looks like a TurboLinux system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
- mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
- $(install) -m 755 adsl-init-turbolinux $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
- fi
- @if [ -f /etc/SuSE-release ] ; then \
- echo "Looks like a SuSE Linux system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
- mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
- $(install) -m 755 ../scripts/adsl-init-suse $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
- fi
- @echo ""
- @echo "Type 'adsl-setup' to configure the software."
-
-distro:
- cd ..; \
- rm -rf rp-pppoe-$(VERSION) ; \
- mkdir rp-pppoe-$(VERSION) || exit 1; \
- for i in README go go-gui rp-pppoe.spec rp-pppoe-gui.spec; do \
- cp $$i rp-pppoe-$(VERSION) || exit 1; \
- done ; \
- mkdir rp-pppoe-$(VERSION)/gui || exit 1; \
- for i in Makefile.in tkpppoe.in wrapper.c tkpppoe.1 pppoe-wrapper.1 ; do \
- cp gui/$$i rp-pppoe-$(VERSION)/gui || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/gui/html || exit 1; \
- for i in mainwin-busy.png mainwin-nonroot.png mainwin.png props-advanced.png props-basic.png props-nic.png props-options.png tkpppoe.html ; do \
- cp gui/html/$$i rp-pppoe-$(VERSION)/gui/html || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/configs || exit 1; \
- for i in firewall-masq firewall-standalone pap-secrets pppoe-server-options pppoe.conf ; do \
- cp configs/$$i rp-pppoe-$(VERSION)/configs || exit 1; \
- done ; \
- mkdir rp-pppoe-$(VERSION)/doc || exit 1; \
- for i in CHANGES KERNEL-MODE-PPPOE HOW-TO-CONNECT LICENSE PROBLEMS ; do \
- cp doc/$$i rp-pppoe-$(VERSION)/doc || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/man || exit 1; \
- for i in adsl-connect.8 adsl-setup.8 adsl-start.8 adsl-status.8 adsl-stop.8 pppoe-server.8 pppoe-sniff.8 pppoe.8 pppoe-relay.8 pppoe.conf.5 ; do \
- cp man/$$i rp-pppoe-$(VERSION)/man || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/scripts || exit 1; \
- for i in adsl-connect.in adsl-init-suse.in adsl-init-turbolinux.in adsl-init.in adsl-setup.in adsl-start.in adsl-stop.in adsl-status ; do \
- cp scripts/$$i rp-pppoe-$(VERSION)/scripts || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/src || exit 1; \
- for i in Makefile.in install-sh common.c config.h.in configure configure.in debug.c discovery.c if.c md5.c md5.h ppp.c pppoe-server.c pppoe-sniff.c pppoe.c pppoe.h plugin.c relay.c relay.h ; do \
- cp src/$$i rp-pppoe-$(VERSION)/src || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/src/plugin || exit 1; \
- tar cvf rp-pppoe-$(VERSION).tar rp-pppoe-$(VERSION)/* ; \
- gzip -f -v -9 rp-pppoe-$(VERSION).tar ; \
-
-rpms: distro
- cp ../rp-pppoe-$(VERSION).tar.gz /usr/src/redhat/SOURCES
- cd ..; \
- rpm -ba rp-pppoe.spec; \
- rpm -ba rp-pppoe-gui.spec
-
-clean:
- rm -f *.o pppoe pppoe-sniff pppoe-server core rp-pppoe.so plugin/*.o plugin/libplugin.a *~
-
-distclean: clean
- rm -f Makefile config.h config.cache config.log config.status
- rm -f ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-setup ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux
-
-update-version:
- sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
- sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
- sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
- sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
- sed -e 's+^Requires: rp-pppoe >=.*$$+Requires: rp-pppoe >= $(VERSION)+' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
-
-# Convenience target for David! Don't try to use this one.
-km:
- ./configure --enable-plugin=/home/dfs/Archive/PPP/ppp-2.4.0.pppoe4-patched-dfs
-
-.PHONY: update-version
-
-.PHONY: clean
-
-.PHONY: distclean
-
-.PHONY: rpms
diff --git a/mdk-stage1/rp-pppoe/src/common.c b/mdk-stage1/rp-pppoe/src/common.c
deleted file mode 100644
index b27302104..000000000
--- a/mdk-stage1/rp-pppoe/src/common.c
+++ /dev/null
@@ -1,485 +0,0 @@
-/***********************************************************************
-*
-* common.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Common functions used by PPPoE client and server
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-/**********************************************************************
-*%FUNCTION: parsePacket
-*%ARGUMENTS:
-* packet -- the PPPoE discovery packet to parse
-* func -- function called for each tag in the packet
-* extra -- an opaque data pointer supplied to parsing function
-*%RETURNS:
-* 0 if everything went well; -1 if there was an error
-*%DESCRIPTION:
-* Parses a PPPoE discovery packet, calling "func" for each tag in the packet.
-* "func" is passed the additional argument "extra".
-***********************************************************************/
-int
-parsePacket(PPPoEPacket *packet, ParseFunc *func, void *extra)
-{
- UINT16_t len = ntohs(packet->length);
- unsigned char *curTag;
- UINT16_t tagType, tagLen;
-
- if (packet->ver != 1) {
- syslog(LOG_ERR, "Invalid PPPoE version (%d)", (int) packet->ver);
- return -1;
- }
- if (packet->type != 1) {
- syslog(LOG_ERR, "Invalid PPPoE type (%d)", (int) packet->type);
- return -1;
- }
-
- /* Do some sanity checks on packet */
- if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */
- syslog(LOG_ERR, "Invalid PPPoE packet length (%u)", len);
- return -1;
- }
-
- /* Step through the tags */
- curTag = packet->payload;
- while(curTag - packet->payload < len) {
- /* Alignment is not guaranteed, so do this by hand... */
- tagType = (((UINT16_t) curTag[0]) << 8) +
- (UINT16_t) curTag[1];
- tagLen = (((UINT16_t) curTag[2]) << 8) +
- (UINT16_t) curTag[3];
- if (tagType == TAG_END_OF_LIST) {
- return 0;
- }
- if ((curTag - packet->payload) + tagLen + TAG_HDR_SIZE > len) {
- syslog(LOG_ERR, "Invalid PPPoE tag length (%u)", tagLen);
- return -1;
- }
- func(tagType, tagLen, curTag+TAG_HDR_SIZE, extra);
- curTag = curTag + TAG_HDR_SIZE + tagLen;
- }
- return 0;
-}
-
-/**********************************************************************
-*%FUNCTION: findTag
-*%ARGUMENTS:
-* packet -- the PPPoE discovery packet to parse
-* type -- the type of the tag to look for
-* tag -- will be filled in with tag contents
-*%RETURNS:
-* A pointer to the tag if one of the specified type is found; NULL
-* otherwise.
-*%DESCRIPTION:
-* Looks for a specific tag type.
-***********************************************************************/
-unsigned char *
-findTag(PPPoEPacket *packet, UINT16_t type, PPPoETag *tag)
-{
- UINT16_t len = ntohs(packet->length);
- unsigned char *curTag;
- UINT16_t tagType, tagLen;
-
- if (packet->ver != 1) {
- syslog(LOG_ERR, "Invalid PPPoE version (%d)", (int) packet->ver);
- return NULL;
- }
- if (packet->type != 1) {
- syslog(LOG_ERR, "Invalid PPPoE type (%d)", (int) packet->type);
- return NULL;
- }
-
- /* Do some sanity checks on packet */
- if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */
- syslog(LOG_ERR, "Invalid PPPoE packet length (%u)", len);
- return NULL;
- }
-
- /* Step through the tags */
- curTag = packet->payload;
- while(curTag - packet->payload < len) {
- /* Alignment is not guaranteed, so do this by hand... */
- tagType = (((UINT16_t) curTag[0]) << 8) +
- (UINT16_t) curTag[1];
- tagLen = (((UINT16_t) curTag[2]) << 8) +
- (UINT16_t) curTag[3];
- if (tagType == TAG_END_OF_LIST) {
- return NULL;
- }
- if ((curTag - packet->payload) + tagLen + TAG_HDR_SIZE > len) {
- syslog(LOG_ERR, "Invalid PPPoE tag length (%u)", tagLen);
- return NULL;
- }
- if (tagType == type) {
- memcpy(tag, curTag, tagLen + TAG_HDR_SIZE);
- return curTag;
- }
- curTag = curTag + TAG_HDR_SIZE + tagLen;
- }
- return NULL;
-}
-
-/**********************************************************************
-*%FUNCTION: printErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog.
-***********************************************************************/
-void
-printErr(char const *str)
-{
- fprintf(stderr, "pppoe: %s\n", str);
- syslog(LOG_ERR, "%s", str);
-}
-
-
-/**********************************************************************
-*%FUNCTION: strDup
-*%ARGUMENTS:
-* str -- string to copy
-*%RETURNS:
-* A malloc'd copy of str. Exits if malloc fails.
-***********************************************************************/
-char *
-strDup(char const *str)
-{
- char *copy = malloc(strlen(str)+1);
- if (!copy) {
- rp_fatal("strdup failed");
- }
- strcpy(copy, str);
- return copy;
-}
-
-/**********************************************************************
-*%FUNCTION: computeTCPChecksum
-*%ARGUMENTS:
-* ipHdr -- pointer to IP header
-* tcpHdr -- pointer to TCP header
-*%RETURNS:
-* The computed TCP checksum
-***********************************************************************/
-UINT16_t
-computeTCPChecksum(unsigned char *ipHdr, unsigned char *tcpHdr)
-{
- UINT32_t sum = 0;
- UINT16_t count = ipHdr[2] * 256 + ipHdr[3];
- unsigned char *addr = tcpHdr;
- unsigned char pseudoHeader[12];
-
- /* Count number of bytes in TCP header and data */
- count -= (ipHdr[0] & 0x0F) * 4;
-
- memcpy(pseudoHeader, ipHdr+12, 8);
- pseudoHeader[8] = 0;
- pseudoHeader[9] = ipHdr[9];
- pseudoHeader[10] = (count >> 8) & 0xFF;
- pseudoHeader[11] = (count & 0xFF);
-
- /* Checksum the pseudo-header */
- sum += * (UINT16_t *) pseudoHeader;
- sum += * ((UINT16_t *) (pseudoHeader+2));
- sum += * ((UINT16_t *) (pseudoHeader+4));
- sum += * ((UINT16_t *) (pseudoHeader+6));
- sum += * ((UINT16_t *) (pseudoHeader+8));
- sum += * ((UINT16_t *) (pseudoHeader+10));
-
- /* Checksum the TCP header and data */
- while (count > 1) {
- sum += * (UINT16_t *) addr;
- addr += 2;
- count -= 2;
- }
- if (count > 0) {
- sum += *addr;
- }
-
- while(sum >> 16) {
- sum = (sum & 0xffff) + (sum >> 16);
- }
- return (UINT16_t) (~sum & 0xFFFF);
-}
-
-/**********************************************************************
-*%FUNCTION: clampMSS
-*%ARGUMENTS:
-* packet -- PPPoE session packet
-* dir -- either "incoming" or "outgoing"
-* clampMss -- clamp value
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Clamps MSS option if TCP SYN flag is set.
-***********************************************************************/
-void
-clampMSS(PPPoEPacket *packet, char const *dir, int clampMss)
-{
- unsigned char *tcpHdr;
- unsigned char *ipHdr;
- unsigned char *opt;
- unsigned char *endHdr;
- unsigned char *mssopt = NULL;
- UINT16_t csum;
-
- int len;
-
- /* Is it IPv4? */
- if (packet->payload[0] != 0x00 ||
- packet->payload[1] != 0x21) {
- /* Nope, ignore it */
- return;
- }
-
- ipHdr = packet->payload + 2;
-
- /* Is it too short? */
- len = (int) ntohs(packet->length);
- if (len < 42) {
- /* 20 byte IP header; 20 byte TCP header; 2 byte PPP protocol */
- return;
- }
-
- /* Verify once more that it's IPv4 */
- if ((ipHdr[0] & 0xF0) != 0x40) {
- return;
- }
-
- /* Is it a fragment that's not at the beginning of the packet? */
- if ((ipHdr[6] & 0x1F) || ipHdr[7]) {
- /* Yup, don't touch! */
- return;
- }
- /* Is it TCP? */
- if (ipHdr[9] != 0x06) {
- return;
- }
-
- /* Get start of TCP header */
- tcpHdr = ipHdr + (ipHdr[0] & 0x0F) * 4;
-
- /* Is SYN set? */
- if (!(tcpHdr[13] & 0x02)) {
- return;
- }
-
- /* Compute and verify TCP checksum -- do not touch a packet with a bad
- checksum */
- csum = computeTCPChecksum(ipHdr, tcpHdr);
- if (csum) {
- syslog(LOG_ERR, "Bad TCP checksum %x", (unsigned int) csum);
-
- /* Upper layers will drop it */
- return;
- }
-
- /* Look for existing MSS option */
- endHdr = tcpHdr + ((tcpHdr[12] & 0xF0) >> 2);
- opt = tcpHdr + 20;
- while (opt < endHdr) {
- if (!*opt) break; /* End of options */
- switch(*opt) {
- case 1:
- opt++;
- break;
-
- case 2:
- if (opt[1] != 4) {
- /* Something fishy about MSS option length. */
- syslog(LOG_ERR,
- "Bogus length for MSS option (%u) from %u.%u.%u.%u",
- (unsigned int) opt[1],
- (unsigned int) ipHdr[12],
- (unsigned int) ipHdr[13],
- (unsigned int) ipHdr[14],
- (unsigned int) ipHdr[15]);
- return;
- }
- mssopt = opt;
- break;
- default:
- if (opt[1] < 2) {
- /* Someone's trying to attack us? */
- syslog(LOG_ERR,
- "Bogus TCP option length (%u) from %u.%u.%u.%u",
- (unsigned int) opt[1],
- (unsigned int) ipHdr[12],
- (unsigned int) ipHdr[13],
- (unsigned int) ipHdr[14],
- (unsigned int) ipHdr[15]);
- return;
- }
- opt += (opt[1]);
- break;
- }
- /* Found existing MSS option? */
- if (mssopt) break;
- }
-
- /* If MSS exists and it's low enough, do nothing */
- if (mssopt) {
- unsigned mss = mssopt[2] * 256 + mssopt[3];
- if (mss <= clampMss) {
- return;
- }
-
- mssopt[2] = (((unsigned) clampMss) >> 8) & 0xFF;
- mssopt[3] = ((unsigned) clampMss) & 0xFF;
- } else {
- /* No MSS option. Don't add one; we'll have to use 536. */
- return;
- }
-
- /* Recompute TCP checksum */
- tcpHdr[16] = 0;
- tcpHdr[17] = 0;
- csum = computeTCPChecksum(ipHdr, tcpHdr);
- (* (UINT16_t *) (tcpHdr+16)) = csum;
-}
-
-/***********************************************************************
-*%FUNCTION: sendPADT
-*%ARGUMENTS:
-* conn -- PPPoE connection
-* msg -- if non-NULL, extra error message to include in PADT packet.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADT packet
-***********************************************************************/
-void
-sendPADT(PPPoEConnection *conn, char const *msg)
-{
- PPPoEPacket packet;
- unsigned char *cursor = packet.payload;
-
- UINT16_t plen = 0;
-
- /* Do nothing if no session established yet */
- if (!conn->session) return;
-
- /* Do nothing if no discovery socket */
- if (conn->discoverySocket < 0) return;
-
- memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
- memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
-
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- packet.ver = 1;
- packet.type = 1;
- packet.code = CODE_PADT;
- packet.session = conn->session;
-
- /* Reset Session to zero so there is no possibility of
- recursive calls to this function by any signal handler */
- conn->session = 0;
-
- /* If we're using Host-Uniq, copy it over */
- if (conn->useHostUniq) {
- PPPoETag hostUniq;
- pid_t pid = getpid();
- hostUniq.type = htons(TAG_HOST_UNIQ);
- hostUniq.length = htons(sizeof(pid));
- memcpy(hostUniq.payload, &pid, sizeof(pid));
- memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
- cursor += sizeof(pid) + TAG_HDR_SIZE;
- plen += sizeof(pid) + TAG_HDR_SIZE;
- }
-
- /* Copy error message */
- if (msg) {
- PPPoETag err;
- size_t elen = strlen(msg);
- err.type = htons(TAG_GENERIC_ERROR);
- err.length = htons(elen);
- strcpy(err.payload, msg);
- memcpy(cursor, &err, elen + TAG_HDR_SIZE);
- cursor += elen + TAG_HDR_SIZE;
- plen += elen + TAG_HDR_SIZE;
- }
-
- /* Copy cookie and relay-ID if needed */
- if (conn->cookie.type) {
- CHECK_ROOM(cursor, packet.payload,
- ntohs(conn->cookie.length) + TAG_HDR_SIZE);
- memcpy(cursor, &conn->cookie, ntohs(conn->cookie.length) + TAG_HDR_SIZE);
- cursor += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
- plen += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
- }
-
- if (conn->relayId.type) {
- CHECK_ROOM(cursor, packet.payload,
- ntohs(conn->relayId.length) + TAG_HDR_SIZE);
- memcpy(cursor, &conn->relayId, ntohs(conn->relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
- }
-
- packet.length = htons(plen);
- sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "SENT");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
- syslog(LOG_INFO,"Sent PADT");
-}
-
-/**********************************************************************
-*%FUNCTION: parseLogErrs
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks error tags out of a packet and logs them.
-***********************************************************************/
-void
-parseLogErrs(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- switch(type) {
- case TAG_SERVICE_NAME_ERROR:
- syslog(LOG_ERR, "PADT: Service-Name-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADT: Service-Name-Error: %.*s\n", (int) len, data);
- break;
- case TAG_AC_SYSTEM_ERROR:
- syslog(LOG_ERR, "PADT: System-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADT: System-Error: %.*s\n", (int) len, data);
- break;
- case TAG_GENERIC_ERROR:
- syslog(LOG_ERR, "PADT: Generic-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADT: Generic-Error: %.*s\n", (int) len, data);
- break;
- }
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/config.h b/mdk-stage1/rp-pppoe/src/config.h
deleted file mode 100644
index e3adf4353..000000000
--- a/mdk-stage1/rp-pppoe/src/config.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/* config.h. Generated automatically by configure. */
-/* config.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-/* #undef const */
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-/* #undef pid_t */
-
-/* Define as the return type of signal handlers (int or void). */
-#define RETSIGTYPE void
-
-/* Define if the setvbuf function takes the buffering type as its second
- argument and the buffer pointer as the third, as on System V
- before release 3. */
-/* #undef SETVBUF_REVERSED */
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define if your <sys/time.h> declares struct tm. */
-/* #undef TM_IN_SYS_TIME */
-
-#define HAVE_STRUCT_SOCKADDR_LL 1
-
-/* The number of bytes in a unsigned int. */
-#define SIZEOF_UNSIGNED_INT 4
-
-/* The number of bytes in a unsigned long. */
-#define SIZEOF_UNSIGNED_LONG 4
-
-/* The number of bytes in a unsigned short. */
-#define SIZEOF_UNSIGNED_SHORT 2
-
-/* Define if you have the select function. */
-#define HAVE_SELECT 1
-
-/* Define if you have the socket function. */
-#define HAVE_SOCKET 1
-
-/* Define if you have the strerror function. */
-#define HAVE_STRERROR 1
-
-/* Define if you have the strtol function. */
-#define HAVE_STRTOL 1
-
-/* Define if you have the <asm/types.h> header file. */
-#define HAVE_ASM_TYPES_H 1
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <getopt.h> header file. */
-#define HAVE_GETOPT_H 1
-
-/* Define if you have the <linux/if_ether.h> header file. */
-#define HAVE_LINUX_IF_ETHER_H 1
-
-/* Define if you have kernel-mode PPPoE in Linux file. */
-/* #undef HAVE_LINUX_KERNEL_PPPOE */
-
-/* Define if you have the <linux/if_packet.h> header file. */
-#define HAVE_LINUX_IF_PACKET_H 1
-
-/* Define if you have the <linux/if_pppox.h> header file. */
-#define HAVE_LINUX_IF_PPPOX_H 1
-
-/* Define if you have the <net/bpf.h> header file. */
-#define HAVE_NET_BPF_H 1
-
-/* Define if you have the <net/if_arp.h> header file. */
-//#define HAVE_NET_IF_ARP_H 1
-
-/* Define if you have the <net/ethernet.h> header file. */
-#define HAVE_NET_ETHERNET_H 1
-
-/* Define if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H 1
-
-/* Define if you have the <linux/if.h> header file. */
-#define HAVE_LINUX_IF_H 1
-
-/* Define if you have the <net/if_dl.h> header file. */
-/* #undef HAVE_NET_IF_DL_H */
-
-/* Define if you have the <net/if_ether.h> header file. */
-/* #undef HAVE_NET_IF_ETHER_H */
-
-/* Define if you have the <net/if_types.h> header file. */
-/* #undef HAVE_NET_IF_TYPES_H */
-
-/* Define if you have the <netinet/if_ether.h> header file. */
-//#define HAVE_NETINET_IF_ETHER_H 1
-
-/* Define if you have the <netpacket/packet.h> header file. */
-#define HAVE_NETPACKET_PACKET_H 1
-
-/* Define if you have the <sys/cdefs.h> header file. */
-#define HAVE_SYS_CDEFS_H 1
-
-/* Define if you have the <sys/dlpi.h> header file. */
-/* #undef HAVE_SYS_DLPI_H */
-
-/* Define if you have the <sys/ioctl.h> header file. */
-#define HAVE_SYS_IOCTL_H 1
-
-/* Define if you have the <sys/param.h> header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define if you have the <sys/uio.h> header file. */
-#define HAVE_SYS_UIO_H 1
-
-/* Define if you have the <syslog.h> header file. */
-#define HAVE_SYSLOG_H 1
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define if you have the N_HDLC line discipline in linux/termios.h */
-#define HAVE_N_HDLC 1
-
-/* Define if bitfields are packed in reverse order */
-#define PACK_BITFIELDS_REVERSED 1
diff --git a/mdk-stage1/rp-pppoe/src/config.h.in b/mdk-stage1/rp-pppoe/src/config.h.in
deleted file mode 100644
index e3340389d..000000000
--- a/mdk-stage1/rp-pppoe/src/config.h.in
+++ /dev/null
@@ -1,134 +0,0 @@
-/* config.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef pid_t
-
-/* Define as the return type of signal handlers (int or void). */
-#undef RETSIGTYPE
-
-/* Define if the setvbuf function takes the buffering type as its second
- argument and the buffer pointer as the third, as on System V
- before release 3. */
-#undef SETVBUF_REVERSED
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Define if your <sys/time.h> declares struct tm. */
-#undef TM_IN_SYS_TIME
-
-#undef HAVE_STRUCT_SOCKADDR_LL
-
-/* The number of bytes in a unsigned int. */
-#undef SIZEOF_UNSIGNED_INT
-
-/* The number of bytes in a unsigned long. */
-#undef SIZEOF_UNSIGNED_LONG
-
-/* The number of bytes in a unsigned short. */
-#undef SIZEOF_UNSIGNED_SHORT
-
-/* Define if you have the select function. */
-#undef HAVE_SELECT
-
-/* Define if you have the socket function. */
-#undef HAVE_SOCKET
-
-/* Define if you have the strerror function. */
-#undef HAVE_STRERROR
-
-/* Define if you have the strtol function. */
-#undef HAVE_STRTOL
-
-/* Define if you have the <asm/types.h> header file. */
-#undef HAVE_ASM_TYPES_H
-
-/* Define if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define if you have the <linux/if_ether.h> header file. */
-#undef HAVE_LINUX_IF_ETHER_H
-
-/* Define if you have kernel-mode PPPoE in Linux file. */
-#undef HAVE_LINUX_KERNEL_PPPOE
-
-/* Define if you have the <linux/if_packet.h> header file. */
-#undef HAVE_LINUX_IF_PACKET_H
-
-/* Define if you have the <linux/if_pppox.h> header file. */
-#undef HAVE_LINUX_IF_PPPOX_H
-
-/* Define if you have the <net/bpf.h> header file. */
-#undef HAVE_NET_BPF_H
-
-/* Define if you have the <net/if_arp.h> header file. */
-#undef HAVE_NET_IF_ARP_H
-
-/* Define if you have the <net/ethernet.h> header file. */
-#undef HAVE_NET_ETHERNET_H
-
-/* Define if you have the <net/if.h> header file. */
-#undef HAVE_NET_IF_H
-
-/* Define if you have the <linux/if.h> header file. */
-#undef HAVE_LINUX_IF_H
-
-/* Define if you have the <net/if_dl.h> header file. */
-#undef HAVE_NET_IF_DL_H
-
-/* Define if you have the <net/if_ether.h> header file. */
-#undef HAVE_NET_IF_ETHER_H
-
-/* Define if you have the <net/if_types.h> header file. */
-#undef HAVE_NET_IF_TYPES_H
-
-/* Define if you have the <netinet/if_ether.h> header file. */
-#undef HAVE_NETINET_IF_ETHER_H
-
-/* Define if you have the <netpacket/packet.h> header file. */
-#undef HAVE_NETPACKET_PACKET_H
-
-/* Define if you have the <sys/cdefs.h> header file. */
-#undef HAVE_SYS_CDEFS_H
-
-/* Define if you have the <sys/dlpi.h> header file. */
-#undef HAVE_SYS_DLPI_H
-
-/* Define if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/uio.h> header file. */
-#undef HAVE_SYS_UIO_H
-
-/* Define if you have the <syslog.h> header file. */
-#undef HAVE_SYSLOG_H
-
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define if you have the N_HDLC line discipline in linux/termios.h */
-#undef HAVE_N_HDLC
-
-/* Define if bitfields are packed in reverse order */
-#undef PACK_BITFIELDS_REVERSED
diff --git a/mdk-stage1/rp-pppoe/src/configure b/mdk-stage1/rp-pppoe/src/configure
deleted file mode 100755
index eede451a1..000000000
--- a/mdk-stage1/rp-pppoe/src/configure
+++ /dev/null
@@ -1,2356 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_default_prefix=/usr
-ac_help="$ac_help
- --enable-plugin=pppd_src_path build pppd plugin"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=pppoe.c
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:536: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:566: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test -z "$CC"; then
- case "`uname -s`" in
- *win32* | *WIN32*)
- # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:617: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="cl"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- ;;
- esac
- fi
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:649: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 660 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:691: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:696: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-else
- GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:724: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-
-
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:758: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 773 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:779: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 790 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:796: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
-#line 807 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:838: checking for ANSI C header files" >&5
-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 843 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- ac_cv_header_stdc=yes
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 868 "configure"
-#include "confdefs.h"
-#include <string.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "memchr" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 886 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "free" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-if test "$cross_compiling" = yes; then
- :
-else
- cat > conftest.$ac_ext <<EOF
-#line 907 "configure"
-#include "confdefs.h"
-#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int main () { int i; for (i = 0; i < 256; i++)
-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
-exit (0); }
-
-EOF
-if { (eval echo configure:918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- :
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_header_stdc=no
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_header_stdc" 1>&6
-if test $ac_cv_header_stdc = yes; then
- cat >> confdefs.h <<\EOF
-#define STDC_HEADERS 1
-EOF
-
-fi
-
-echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:942: checking for sys/wait.h that is POSIX.1 compatible" >&5
-if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 947 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <sys/wait.h>
-#ifndef WEXITSTATUS
-#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
-#endif
-#ifndef WIFEXITED
-#define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
-#endif
-int main() {
-int s;
-wait (&s);
-s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
-; return 0; }
-EOF
-if { (eval echo configure:963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_header_sys_wait_h=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_sys_wait_h=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6
-if test $ac_cv_header_sys_wait_h = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_SYS_WAIT_H 1
-EOF
-
-fi
-
-for ac_hdr in fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h net/if_arp.h netinet/if_ether.h getopt.h sys/uio.h sys/param.h fcntl.h net/bpf.h netpacket/packet.h net/ethernet.h asm/types.h linux/if_packet.h linux/if_ether.h linux/if_pppox.h sys/socket.h sys/cdefs.h linux/if.h net/if.h net/if_dl.h net/if_ether.h net/if_types.h netinet/if_ether.h net/if_types.h net/if_dl.h sys/dlpi.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:987: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 992 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:997: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1025: checking for working const" >&5
-if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1030 "configure"
-#include "confdefs.h"
-
-int main() {
-
-/* Ultrix mips cc rejects this. */
-typedef int charset[2]; const charset x;
-/* SunOS 4.1.1 cc rejects this. */
-char const *const *ccp;
-char **p;
-/* NEC SVR4.0.2 mips cc rejects this. */
-struct point {int x, y;};
-static struct point const zero = {0,0};
-/* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in an arm
- of an if-expression whose if-part is not a constant expression */
-const char *g = "string";
-ccp = &g + (g ? g-g : 0);
-/* HPUX 7.0 cc rejects these. */
-++ccp;
-p = (char**) ccp;
-ccp = (char const *const *) p;
-{ /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
-}
-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
-}
-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
-}
-{ /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
-}
-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
-}
-
-; return 0; }
-EOF
-if { (eval echo configure:1079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_c_const=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_c_const=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_c_const" 1>&6
-if test $ac_cv_c_const = no; then
- cat >> confdefs.h <<\EOF
-#define const
-EOF
-
-fi
-
-echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:1100: checking for pid_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1105 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_type_pid_t=yes
-else
- rm -rf conftest*
- ac_cv_type_pid_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_pid_t" 1>&6
-if test $ac_cv_type_pid_t = no; then
- cat >> confdefs.h <<\EOF
-#define pid_t int
-EOF
-
-fi
-
-echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1133: checking whether time.h and sys/time.h may both be included" >&5
-if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1138 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-int main() {
-struct tm *tp;
-; return 0; }
-EOF
-if { (eval echo configure:1147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_header_time=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_time=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_time" 1>&6
-if test $ac_cv_header_time = yes; then
- cat >> confdefs.h <<\EOF
-#define TIME_WITH_SYS_TIME 1
-EOF
-
-fi
-
-echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:1168: checking whether struct tm is in sys/time.h or time.h" >&5
-if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1173 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <time.h>
-int main() {
-struct tm *tp; tp->tm_sec;
-; return 0; }
-EOF
-if { (eval echo configure:1181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_struct_tm=time.h
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_struct_tm=sys/time.h
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_struct_tm" 1>&6
-if test $ac_cv_struct_tm = sys/time.h; then
- cat >> confdefs.h <<\EOF
-#define TM_IN_SYS_TIME 1
-EOF
-
-fi
-
-
-# Extract the first word of "echo", so it can be a program name with args.
-set dummy echo; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1205: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_ECHO'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$ECHO" in
- /*)
- ac_cv_path_ECHO="$ECHO" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_ECHO="$ECHO" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="/usr/ucb/bin:$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_ECHO="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_ECHO" && ac_cv_path_ECHO=""""
- ;;
-esac
-fi
-ECHO="$ac_cv_path_ECHO"
-if test -n "$ECHO"; then
- echo "$ac_t""$ECHO" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-$ECHO -n "checking for struct sockaddr_ll... "
-cat > conftest.$ac_ext <<EOF
-#line 1241 "configure"
-#include "confdefs.h"
-#include <asm/types.h>
-#include <linux/if_packet.h>
-#include <linux/if_ether.h>
-
-int main() {
-struct sockaddr_ll sa;
-; return 0; }
-EOF
-if { (eval echo configure:1251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_struct_sockaddr_ll=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_struct_sockaddr_ll=no
-fi
-rm -f conftest*
-$ECHO $ac_cv_struct_sockaddr_ll
-if test "$ac_cv_struct_sockaddr_ll" = yes ; then
-cat >> confdefs.h <<\EOF
-#define HAVE_STRUCT_SOCKADDR_LL 1
-EOF
-
-fi
-
-$ECHO -n "checking for N_HDLC line discipline... "
-cat > conftest.$ac_ext <<EOF
-#line 1271 "configure"
-#include "confdefs.h"
-#include <linux/termios.h>
-int main() {
-int x = N_HDLC;
-; return 0; }
-EOF
-if { (eval echo configure:1278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_n_hdlc=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_n_hdlc=no
-fi
-rm -f conftest*
-$ECHO $ac_cv_n_hdlc
-if test "$ac_cv_n_hdlc" = yes ; then
-cat >> confdefs.h <<\EOF
-#define HAVE_N_HDLC 1
-EOF
-
-fi
-
-# Check whether --enable-plugin or --disable-plugin was given.
-if test "${enable_plugin+set}" = set; then
- enableval="$enable_plugin"
- ac_cv_pluginpath=$enableval
-else
- ac_cv_pluginpath=no
-fi
-
-
-LINUX_KERNELMODE_PLUGIN=""
-PPPD_INCDIR=""
-if test "$ac_cv_header_linux_if_pppox_h" = yes ; then
- if test "$ac_cv_pluginpath" != no ; then
- LINUX_KERNELMODE_PLUGIN=rp-pppoe.so
- PPPD_INCDIR=$ac_cv_pluginpath
- fi
-fi
-
-
-
-
-PPPOE_RELAY=""
-if test "`uname -s`" = "Linux" ; then
- PPPOE_RELAY=pppoe-relay
-fi
-
-
-echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:1324: checking for 8-bit clean memcmp" >&5
-if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_memcmp_clean=no
-else
- cat > conftest.$ac_ext <<EOF
-#line 1332 "configure"
-#include "confdefs.h"
-
-main()
-{
- char c0 = 0x40, c1 = 0x80, c2 = 0x81;
- exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
-}
-
-EOF
-if { (eval echo configure:1342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_func_memcmp_clean=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_func_memcmp_clean=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
-test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
-
-echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
-echo "configure:1360: checking whether setvbuf arguments are reversed" >&5
-if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1368 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-/* If setvbuf has the reversed format, exit 0. */
-main () {
- /* This call has the arguments reversed.
- A reversed system may check and see that the address of main
- is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */
- if (setvbuf(stdout, _IOLBF, (char *) main, BUFSIZ) != 0)
- exit(1);
- putc('\r', stdout);
- exit(0); /* Non-reversed systems segv here. */
-}
-EOF
-if { (eval echo configure:1382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_func_setvbuf_reversed=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_func_setvbuf_reversed=no
-fi
-rm -fr conftest*
-fi
-
-rm -f core core.* *.core
-fi
-
-echo "$ac_t""$ac_cv_func_setvbuf_reversed" 1>&6
-if test $ac_cv_func_setvbuf_reversed = yes; then
- cat >> confdefs.h <<\EOF
-#define SETVBUF_REVERSED 1
-EOF
-
-fi
-
-echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1406: checking return type of signal handlers" >&5
-if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1411 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-#undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
-
-int main() {
-int i;
-; return 0; }
-EOF
-if { (eval echo configure:1428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_type_signal=void
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_type_signal=int
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_type_signal" 1>&6
-cat >> confdefs.h <<EOF
-#define RETSIGTYPE $ac_cv_type_signal
-EOF
-
-
-for ac_func in select socket strerror strtol
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1449: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1454 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1532: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-echo $ac_n "checking size of unsigned short""... $ac_c" 1>&6
-echo "configure:1586: checking size of unsigned short" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_short'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1594 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof(unsigned short));
- exit(0);
-}
-EOF
-if { (eval echo configure:1605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_sizeof_unsigned_short=`cat conftestval`
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_sizeof_unsigned_short=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_unsigned_short" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_UNSIGNED_SHORT $ac_cv_sizeof_unsigned_short
-EOF
-
-
-echo $ac_n "checking size of unsigned int""... $ac_c" 1>&6
-echo "configure:1625: checking size of unsigned int" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_int'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1633 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof(unsigned int));
- exit(0);
-}
-EOF
-if { (eval echo configure:1644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_sizeof_unsigned_int=`cat conftestval`
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_sizeof_unsigned_int=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_unsigned_int" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int
-EOF
-
-
-echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6
-echo "configure:1664: checking size of unsigned long" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1672 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof(unsigned long));
- exit(0);
-}
-EOF
-if { (eval echo configure:1683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_sizeof_unsigned_long=`cat conftestval`
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_sizeof_unsigned_long=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_unsigned_long" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
-EOF
-
-
-
-# Extract the first word of "pppd", so it can be a program name with args.
-set dummy pppd; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1706: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_PPPD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$PPPD" in
- /*)
- ac_cv_path_PPPD="$PPPD" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_PPPD="$PPPD" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_PPPD="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_PPPD" && ac_cv_path_PPPD="NOTFOUND"
- ;;
-esac
-fi
-PPPD="$ac_cv_path_PPPD"
-if test -n "$PPPD"; then
- echo "$ac_t""$PPPD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-# Extract the first word of "setsid", so it can be a program name with args.
-set dummy setsid; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1743: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_SETSID'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$SETSID" in
- /*)
- ac_cv_path_SETSID="$SETSID" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_SETSID="$SETSID" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_SETSID="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_SETSID" && ac_cv_path_SETSID=""""
- ;;
-esac
-fi
-SETSID="$ac_cv_path_SETSID"
-if test -n "$SETSID"; then
- echo "$ac_t""$SETSID" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-# Extract the first word of "id", so it can be a program name with args.
-set dummy id; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1780: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_ID'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$ID" in
- /*)
- ac_cv_path_ID="$ID" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_ID="$ID" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="/usr/xpg4/bin:$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_ID="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_ID" && ac_cv_path_ID=""""
- ;;
-esac
-fi
-ID="$ac_cv_path_ID"
-if test -n "$ID"; then
- echo "$ac_t""$ID" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-$ECHO -n "checking for Linux 2.4.X kernel-mode PPPoE support..."
-if test "`uname -s`" = "Linux" ; then
-if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1820 "configure"
-#include "confdefs.h"
-#include <sys/socket.h>
-#include <net/ethernet.h>
-#include <linux/if.h>
-#include <linux/if_pppox.h>
-int main()
-{
- if (socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OE) >= 0) return 0; else return 1;
-}
-
-EOF
-if { (eval echo configure:1832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_linux_kernel_pppoe=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_linux_kernel_pppoe=no
-fi
-rm -fr conftest*
-fi
-
-else
- ac_cv_linux_kernel_pppoe=no
-fi
-
-$ECHO $ac_cv_linux_kernel_pppoe
-if test "$ac_cv_linux_kernel_pppoe" = yes ; then
- cat >> confdefs.h <<\EOF
-#define HAVE_LINUX_KERNEL_PPPOE 1
-EOF
-
-fi
-
-if test "$GCC" = yes; then
- CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -ansi -pedantic"
-fi
-
-if test "$PPPD" = "NOTFOUND"; then
- $ECHO ""
- $ECHO "*** Oops! I couldn't find pppd, the PPP daemon anywhere."
- $ECHO "*** You must install pppd, version 2.3.10 or later."
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
-fi
-
-
-PPPD_VERSION=`$PPPD --version 2>&1 | awk '{print $NF}'`
-
-case "$PPPD_VERSION" in
-1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6)
- $ECHO ""
- $ECHO "*** Oops! Your version of pppd is $PPPD_VERSION, which is too old."
- $ECHO "*** You need at least 2.3.7 (2.3.10 or newer recommended.)"
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
- ;;
-
-2.3.7|2.3.8|2.3.9)
- $ECHO ""
- $ECHO "*** Warning. Your version of pppd is $PPPD_VERSION. You will"
- $ECHO "*** not be able to use connect-on-demand. Upgrade to pppd"
- $ECHO "*** 2.3.10 or newer if you need connect-on-demand."
- $ECHO ""
- ;;
-
-2*|3*|4*|5*|6*|7*|8*|9*)
- ;;
-
-*)
- $ECHO ""
- $ECHO "*** Oops. I cannot figure out what version of pppd you have."
- $ECHO "*** All I got back was '$PPPD_VERSION'"
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
- ;;
-esac
-
-$ECHO -n "checking packing order of bit fields... "
-if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1905 "configure"
-#include "confdefs.h"
-
-union foo {
- struct bar {
- unsigned int ver:4;
- unsigned int type:4;
- } bb;
- unsigned char baz;
-};
-
-int
-main(void)
-{
- union foo x;
- x.bb.ver = 1;
- x.bb.type = 2;
- if (x.baz == 0x21) {
- return 1;
- } else if (x.baz == 0x12) {
- return 0;
- } else {
- return 2;
- }
-}
-EOF
-if { (eval echo configure:1931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- PACK=normal
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- PACK=rev
-fi
-rm -fr conftest*
-fi
-
-
-if test "$PACK" = "rev" ; then
- $ECHO "reversed"
- cat >> confdefs.h <<\EOF
-#define PACK_BITFIELDS_REVERSED 1
-EOF
-
-else
- $ECHO "normal"
-fi
-
-# Sigh... got to fix this up for tcl
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Fully resolve WRAPPER for Tcl script.
-WRAPPER=${sbindir}/pppoe-wrapper
-eval "WRAPPER=${WRAPPER}"
-eval "WRAPPER=${WRAPPER}"
-
-
-# Determine what targets to build
-TARGETS="pppoe pppoe-server"
-
-# pppoe-sniff is built only on Linux and Solaris
-if test "$ac_cv_header_linux_if_packet_h" = "yes" -o "$ac_cv_header_sys_dlpi_h" = "yes" ; then
- TARGETS="$TARGETS pppoe-sniff"
-fi
-
-# pppoe-relay is built only on Linux
-if test "$ac_cv_header_linux_if_packet_h" = "yes" ; then
- TARGETS="$TARGETS pppoe-relay"
-fi
-
-# plugin is built only if we have kernel support
-if test -n "$LINUX_KERNELMODE_PLUGIN" ; then
- TARGETS="$TARGETS $LINUX_KERNELMODE_PLUGIN"
-fi
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@CC@%$CC%g
-s%@CPP@%$CPP%g
-s%@ECHO@%$ECHO%g
-s%@LINUX_KERNELMODE_PLUGIN@%$LINUX_KERNELMODE_PLUGIN%g
-s%@PPPD_INCDIR@%$PPPD_INCDIR%g
-s%@PPPOE_RELAY@%$PPPOE_RELAY%g
-s%@LIBOBJS@%$LIBOBJS%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@PPPD@%$PPPD%g
-s%@SETSID@%$SETSID%g
-s%@ID@%$ID%g
-s%@WRAPPER@%$WRAPPER%g
-s%@TARGETS@%$TARGETS%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='\([ ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
- CONFIG_HEADERS="config.h"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- echo creating $ac_file
-
- rm -f conftest.frag conftest.in conftest.out
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h. And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
- ac_lines=`grep -c . conftest.vals`
- # grep -c gives empty output for an empty file on some AIX systems.
- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
- # Write a limited-size here document to conftest.frag.
- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
- echo 'CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-' >> $CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
- rm -f conftest.vals
- mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
- rm -f conftest.frag conftest.h
- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
- cat conftest.in >> conftest.h
- rm -f conftest.in
- if cmp -s $ac_file conftest.h 2>/dev/null; then
- echo "$ac_file is unchanged"
- rm -f conftest.h
- else
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- fi
- rm -f $ac_file
- mv conftest.h $ac_file
- fi
-fi; done
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-
-$ECHO ""
-$ECHO "On this platform, the following targets will be built:"
-$ECHO " $TARGETS"
-$ECHO ""
-$ECHO "Type 'make' to compile the software."
diff --git a/mdk-stage1/rp-pppoe/src/configure.in b/mdk-stage1/rp-pppoe/src/configure.in
deleted file mode 100644
index c11690179..000000000
--- a/mdk-stage1/rp-pppoe/src/configure.in
+++ /dev/null
@@ -1,231 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(pppoe.c)
-
-AC_CONFIG_HEADER(config.h)
-
-AC_PREFIX_DEFAULT(/usr)
-
-dnl Checks for programs.
-AC_PROG_CC
-
-dnl Checks for libraries.
-
-dnl Checks for header files.
-AC_HEADER_STDC
-AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h net/if_arp.h netinet/if_ether.h getopt.h sys/uio.h sys/param.h fcntl.h net/bpf.h netpacket/packet.h net/ethernet.h asm/types.h linux/if_packet.h linux/if_ether.h linux/if_pppox.h sys/socket.h sys/cdefs.h linux/if.h net/if.h net/if_dl.h net/if_ether.h net/if_types.h netinet/if_ether.h net/if_types.h net/if_dl.h sys/dlpi.h )
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_TYPE_PID_T
-AC_HEADER_TIME
-AC_STRUCT_TM
-
-dnl Check for an echo which supports -n -- another hack for Solaris
-AC_PATH_PROG(ECHO, echo, "", /usr/ucb/bin:$PATH)
-
-dnl Check for sockaddr_ll
-$ECHO -n "checking for struct sockaddr_ll... "
-AC_TRY_COMPILE([#include <asm/types.h>
-#include <linux/if_packet.h>
-#include <linux/if_ether.h>
-], [struct sockaddr_ll sa;],
-ac_cv_struct_sockaddr_ll=yes, ac_cv_struct_sockaddr_ll=no)
-$ECHO $ac_cv_struct_sockaddr_ll
-if test "$ac_cv_struct_sockaddr_ll" = yes ; then
-AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL)
-fi
-
-dnl Check for N_HDLC line discipline
-$ECHO -n "checking for N_HDLC line discipline... "
-AC_TRY_COMPILE([#include <linux/termios.h>],
- [int x = N_HDLC;],
- ac_cv_n_hdlc=yes, ac_cv_n_hdlc=no)
-$ECHO $ac_cv_n_hdlc
-if test "$ac_cv_n_hdlc" = yes ; then
-AC_DEFINE(HAVE_N_HDLC)
-fi
-
-AC_ARG_ENABLE(plugin, [ --enable-plugin=pppd_src_path build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no)
-
-dnl Determine whether or not to build Linux pppd plugin
-LINUX_KERNELMODE_PLUGIN=""
-PPPD_INCDIR=""
-if test "$ac_cv_header_linux_if_pppox_h" = yes ; then
- if test "$ac_cv_pluginpath" != no ; then
- LINUX_KERNELMODE_PLUGIN=rp-pppoe.so
- PPPD_INCDIR=$ac_cv_pluginpath
- fi
-fi
-
-AC_SUBST(LINUX_KERNELMODE_PLUGIN)
-AC_SUBST(PPPD_INCDIR)
-
-dnl Determine whether or not to build PPPoE relay
-PPPOE_RELAY=""
-if test "`uname -s`" = "Linux" ; then
- PPPOE_RELAY=pppoe-relay
-fi
-AC_SUBST(PPPOE_RELAY)
-
-dnl Checks for library functions.
-AC_FUNC_MEMCMP
-AC_FUNC_SETVBUF_REVERSED
-AC_TYPE_SIGNAL
-AC_CHECK_FUNCS(select socket strerror strtol)
-AC_PROG_INSTALL
-
-dnl Integer sizes
-AC_CHECK_SIZEOF(unsigned short)
-AC_CHECK_SIZEOF(unsigned int)
-AC_CHECK_SIZEOF(unsigned long)
-
-dnl Check for location of pppd
-AC_PATH_PROG(PPPD, pppd, NOTFOUND, $PATH:/sbin:/usr/sbin:/usr/local/sbin)
-
-dnl Check for setsid (probably Linux-specific)
-AC_PATH_PROG(SETSID, setsid, "", $PATH:/sbin:/usr/sbin:/usr/local/sbin)
-
-dnl Check for an "id" which accepts "-u" option -- hack for Solaris.
-AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH)
-
-dnl Check for Linux-specific kernel support for PPPoE
-$ECHO -n "checking for Linux 2.4.X kernel-mode PPPoE support..."
-if test "`uname -s`" = "Linux" ; then
-AC_TRY_RUN([#include <sys/socket.h>
-#include <net/ethernet.h>
-#include <linux/if.h>
-#include <linux/if_pppox.h>
-int main()
-{
- if (socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OE) >= 0) return 0; else return 1;
-}
-], ac_cv_linux_kernel_pppoe=yes, ac_cv_linux_kernel_pppoe=no)
-else
- ac_cv_linux_kernel_pppoe=no
-fi
-
-$ECHO $ac_cv_linux_kernel_pppoe
-if test "$ac_cv_linux_kernel_pppoe" = yes ; then
- AC_DEFINE(HAVE_LINUX_KERNEL_PPPOE)
-fi
-
-dnl GCC warning level
-if test "$GCC" = yes; then
- CFLAGS="$CFLAGS -Wall -Wstrict-prototypes"
-fi
-
-dnl If we couldn't find pppd, die
-if test "$PPPD" = "NOTFOUND"; then
- $ECHO ""
- $ECHO "*** Oops! I couldn't find pppd, the PPP daemon anywhere."
- $ECHO "*** You must install pppd, version 2.3.10 or later."
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
-fi
-
-dnl Figure out pppd version. 2.3.7 to 2.3.9 -- issue warning. Less than
-dnl 2.3.7 -- stop
-
-PPPD_VERSION=`$PPPD --version 2>&1 | awk '{print $NF}'`
-
-case "$PPPD_VERSION" in
-1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6)
- $ECHO ""
- $ECHO "*** Oops! Your version of pppd is $PPPD_VERSION, which is too old."
- $ECHO "*** You need at least 2.3.7 (2.3.10 or newer recommended.)"
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
- ;;
-
-2.3.7|2.3.8|2.3.9)
- $ECHO ""
- $ECHO "*** Warning. Your version of pppd is $PPPD_VERSION. You will"
- $ECHO "*** not be able to use connect-on-demand. Upgrade to pppd"
- $ECHO "*** 2.3.10 or newer if you need connect-on-demand."
- $ECHO ""
- ;;
-
-2*|3*|4*|5*|6*|7*|8*|9*)
- ;;
-
-*)
- $ECHO ""
- $ECHO "*** Oops. I cannot figure out what version of pppd you have."
- $ECHO "*** All I got back was '$PPPD_VERSION'"
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
- ;;
-esac
-
-dnl Figure out packing order of structures
-$ECHO -n "checking packing order of bit fields... "
-AC_TRY_RUN([
-union foo {
- struct bar {
- unsigned int ver:4;
- unsigned int type:4;
- } bb;
- unsigned char baz;
-};
-
-int
-main(void)
-{
- union foo x;
- x.bb.ver = 1;
- x.bb.type = 2;
- if (x.baz == 0x21) {
- return 1;
- } else if (x.baz == 0x12) {
- return 0;
- } else {
- return 2;
- }
-}], PACK=normal, PACK=rev)
-
-if test "$PACK" = "rev" ; then
- $ECHO "reversed"
- AC_DEFINE(PACK_BITFIELDS_REVERSED)
-else
- $ECHO "normal"
-fi
-
-# Sigh... got to fix this up for tcl
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Fully resolve WRAPPER for Tcl script.
-WRAPPER=${sbindir}/pppoe-wrapper
-eval "WRAPPER=${WRAPPER}"
-eval "WRAPPER=${WRAPPER}"
-AC_SUBST(WRAPPER)
-
-# Determine what targets to build
-TARGETS="pppoe pppoe-server"
-
-# pppoe-sniff is built only on Linux and Solaris
-if test "$ac_cv_header_linux_if_packet_h" = "yes" -o "$ac_cv_header_sys_dlpi_h" = "yes" ; then
- TARGETS="$TARGETS pppoe-sniff"
-fi
-
-# pppoe-relay is built only on Linux
-if test "$ac_cv_header_linux_if_packet_h" = "yes" ; then
- TARGETS="$TARGETS pppoe-relay"
-fi
-
-# plugin is built only if we have kernel support
-if test -n "$LINUX_KERNELMODE_PLUGIN" ; then
- TARGETS="$TARGETS $LINUX_KERNELMODE_PLUGIN"
-fi
-
-AC_SUBST(TARGETS)
-
-AC_OUTPUT(Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe)
-
-$ECHO ""
-$ECHO "On this platform, the following targets will be built:"
-$ECHO " $TARGETS"
-$ECHO ""
-$ECHO "Type 'make' to compile the software."
diff --git a/mdk-stage1/rp-pppoe/src/debug.c b/mdk-stage1/rp-pppoe/src/debug.c
deleted file mode 100644
index 052dca6c7..000000000
--- a/mdk-stage1/rp-pppoe/src/debug.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/***********************************************************************
-*
-* debug.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Functions for printing debugging information
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-#include <sys/time.h>
-#include <time.h>
-#include <unistd.h>
-#include <ctype.h>
-
-/**********************************************************************
-*%FUNCTION: dumpHex
-*%ARGUMENTS:
-* fp -- file to dump to
-* buf -- buffer to dump
-* len -- length of data
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Dumps buffer to fp in an easy-to-read format
-***********************************************************************/
-void
-dumpHex(FILE *fp, unsigned char const *buf, int len)
-{
- int i;
- int base;
-
- if (!fp) return;
-
- /* do NOT dump PAP packets */
- if (len >= 2 && buf[0] == 0xC0 && buf[1] == 0x23) {
- fprintf(fp, "(PAP Authentication Frame -- Contents not dumped)\n");
- return;
- }
-
- for (base=0; base<len; base += 16) {
- for (i=base; i<base+16; i++) {
- if (i < len) {
- fprintf(fp, "%02x ", (unsigned) buf[i]);
- } else {
- fprintf(fp, " ");
- }
- }
- fprintf(fp, " ");
- for (i=base; i<base+16; i++) {
- if (i < len) {
- if (isprint(buf[i])) {
- fprintf(fp, "%c", buf[i]);
- } else {
- fprintf(fp, ".");
- }
- } else {
- break;
- }
- }
- fprintf(fp, "\n");
- }
-}
-
-/**********************************************************************
-*%FUNCTION: dumpPacket
-*%ARGUMENTS:
-* fp -- file to dump to
-* packet -- a PPPoE packet
-* dir -- either SENT or RCVD
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Dumps the PPPoE packet to fp in an easy-to-read format
-***********************************************************************/
-void
-dumpPacket(FILE *fp, PPPoEPacket *packet, char const *dir)
-{
- int len = ntohs(packet->length);
-
- /* Sheesh... printing times is a pain... */
- struct timeval tv;
- time_t now;
- int millisec;
- struct tm *lt;
- char timebuf[256];
-
- UINT16_t type = etherType(packet);
- if (!fp) return;
- gettimeofday(&tv, NULL);
- now = (time_t) tv.tv_sec;
- millisec = tv.tv_usec / 1000;
- lt = localtime(&now);
- strftime(timebuf, 256, "%H:%M:%S", lt);
- fprintf(fp, "%s.%03d %s PPPoE ", timebuf, millisec, dir);
- if (type == Eth_PPPOE_Discovery) {
- fprintf(fp, "Discovery (%x) ", (unsigned) type);
- } else if (type == Eth_PPPOE_Session) {
- fprintf(fp, "Session (%x) ", (unsigned) type);
- } else {
- fprintf(fp, "Unknown (%x) ", (unsigned) type);
- }
-
- switch(packet->code) {
- case CODE_PADI: fprintf(fp, "PADI "); break;
- case CODE_PADO: fprintf(fp, "PADO "); break;
- case CODE_PADR: fprintf(fp, "PADR "); break;
- case CODE_PADS: fprintf(fp, "PADS "); break;
- case CODE_PADT: fprintf(fp, "PADT "); break;
- case CODE_SESS: fprintf(fp, "SESS "); break;
- }
-
- fprintf(fp, "sess-id %d length %d\n",
- (int) ntohs(packet->session),
- len);
-
- /* Ugly... I apologize... */
- fprintf(fp,
- "SourceAddr %02x:%02x:%02x:%02x:%02x:%02x "
- "DestAddr %02x:%02x:%02x:%02x:%02x:%02x\n",
- (unsigned) packet->ethHdr.h_source[0],
- (unsigned) packet->ethHdr.h_source[1],
- (unsigned) packet->ethHdr.h_source[2],
- (unsigned) packet->ethHdr.h_source[3],
- (unsigned) packet->ethHdr.h_source[4],
- (unsigned) packet->ethHdr.h_source[5],
- (unsigned) packet->ethHdr.h_dest[0],
- (unsigned) packet->ethHdr.h_dest[1],
- (unsigned) packet->ethHdr.h_dest[2],
- (unsigned) packet->ethHdr.h_dest[3],
- (unsigned) packet->ethHdr.h_dest[4],
- (unsigned) packet->ethHdr.h_dest[5]);
- dumpHex(fp, packet->payload, ntohs(packet->length));
-}
diff --git a/mdk-stage1/rp-pppoe/src/discovery.c b/mdk-stage1/rp-pppoe/src/discovery.c
deleted file mode 100644
index fc3568db5..000000000
--- a/mdk-stage1/rp-pppoe/src/discovery.c
+++ /dev/null
@@ -1,629 +0,0 @@
-/***********************************************************************
-*
-* discovery.c
-*
-* Perform PPPoE discovery
-*
-* Copyright (C) 1999 by Roaring Penguin Software Inc.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef USE_LINUX_PACKET
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#endif
-
-#include <signal.h>
-
-/**********************************************************************
-*%FUNCTION: parseForHostUniq
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data.
-* extra -- user-supplied pointer. This is assumed to be a pointer to int.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* If a HostUnique tag is found which matches our PID, sets *extra to 1.
-***********************************************************************/
-void
-parseForHostUniq(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- int *val = (int *) extra;
- if (type == TAG_HOST_UNIQ && len == sizeof(pid_t)) {
- pid_t tmp;
- memcpy(&tmp, data, len);
- if (tmp == getpid()) {
- *val = 1;
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: packetIsForMe
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-* packet -- a received PPPoE packet
-*%RETURNS:
-* 1 if packet is for this PPPoE daemon; 0 otherwise.
-*%DESCRIPTION:
-* If we are using the Host-Unique tag, verifies that packet contains
-* our unique identifier.
-***********************************************************************/
-int
-packetIsForMe(PPPoEConnection *conn, PPPoEPacket *packet)
-{
- int forMe = 0;
-
- /* If we're not using the Host-Unique tag, then accept the packet */
- if (!conn->useHostUniq) return 1;
-
- parsePacket(packet, parseForHostUniq, &forMe);
- return forMe;
-}
-
-/**********************************************************************
-*%FUNCTION: parsePADOTags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data. Should point to a PacketCriteria structure
-* which gets filled in according to selected AC name and service
-* name.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADO packet
-***********************************************************************/
-void
-parsePADOTags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- struct PacketCriteria *pc = (struct PacketCriteria *) extra;
- PPPoEConnection *conn = pc->conn;
- int i;
-
- switch(type) {
- case TAG_AC_NAME:
- if (conn->printACNames) {
- printf("Access-Concentrator: %.*s\n", (int) len, data);
- }
- if (conn->acName && len == strlen(conn->acName) &&
- !strncmp((char *) data, conn->acName, len)) {
- pc->acNameOK = 1;
- }
- break;
- case TAG_SERVICE_NAME:
- if (conn->printACNames && len > 0) {
- printf(" Service-Name: %.*s\n", (int) len, data);
- }
- if (conn->serviceName && len == strlen(conn->serviceName) &&
- !strncmp((char *) data, conn->serviceName, len)) {
- pc->serviceNameOK = 1;
- }
- break;
- case TAG_AC_COOKIE:
- if (conn->printACNames) {
- printf("Got a cookie:");
- /* Print first 20 bytes of cookie */
- for (i=0; i<len && i < 20; i++) {
- printf(" %02x", (unsigned) data[i]);
- }
- if (i < len) printf("...");
- printf("\n");
- }
- conn->cookie.type = htons(type);
- conn->cookie.length = htons(len);
- memcpy(conn->cookie.payload, data, len);
- break;
- case TAG_RELAY_SESSION_ID:
- if (conn->printACNames) {
- printf("Got a Relay-ID:");
- /* Print first 20 bytes of relay ID */
- for (i=0; i<len && i < 20; i++) {
- printf(" %02x", (unsigned) data[i]);
- }
- if (i < len) printf("...");
- printf("\n");
- }
- conn->relayId.type = htons(type);
- conn->relayId.length = htons(len);
- memcpy(conn->relayId.payload, data, len);
- break;
- case TAG_SERVICE_NAME_ERROR:
- if (conn->printACNames) {
- printf("Got a Service-Name-Error tag: %.*s\n", (int) len, data);
- } else {
- syslog(LOG_ERR, "PADO: Service-Name-Error: %.*s", (int) len, data);
- exit(1);
- }
- break;
- case TAG_AC_SYSTEM_ERROR:
- if (conn->printACNames) {
- printf("Got a System-Error tag: %.*s\n", (int) len, data);
- } else {
- syslog(LOG_ERR, "PADO: System-Error: %.*s", (int) len, data);
- exit(1);
- }
- break;
- case TAG_GENERIC_ERROR:
- if (conn->printACNames) {
- printf("Got a Generic-Error tag: %.*s\n", (int) len, data);
- } else {
- syslog(LOG_ERR, "PADO: Generic-Error: %.*s", (int) len, data);
- exit(1);
- }
- break;
- }
-}
-
-/**********************************************************************
-*%FUNCTION: parsePADSTags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data (pointer to PPPoEConnection structure)
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADS packet
-***********************************************************************/
-void
-parsePADSTags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- PPPoEConnection *conn = (PPPoEConnection *) extra;
- switch(type) {
- case TAG_SERVICE_NAME:
- syslog(LOG_DEBUG, "PADS: Service-Name: '%.*s'", (int) len, data);
- break;
- case TAG_SERVICE_NAME_ERROR:
- syslog(LOG_ERR, "PADS: Service-Name-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADS: Service-Name-Error: %.*s\n", (int) len, data);
- exit(1);
- case TAG_AC_SYSTEM_ERROR:
- syslog(LOG_ERR, "PADS: System-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADS: System-Error: %.*s\n", (int) len, data);
- exit(1);
- case TAG_GENERIC_ERROR:
- syslog(LOG_ERR, "PADS: Generic-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADS: Generic-Error: %.*s\n", (int) len, data);
- exit(1);
- case TAG_RELAY_SESSION_ID:
- conn->relayId.type = htons(type);
- conn->relayId.length = htons(len);
- memcpy(conn->relayId.payload, data, len);
- break;
- }
-}
-
-/***********************************************************************
-*%FUNCTION: sendPADI
-*%ARGUMENTS:
-* conn -- PPPoEConnection structure
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADI packet
-***********************************************************************/
-void
-sendPADI(PPPoEConnection *conn)
-{
- PPPoEPacket packet;
- unsigned char *cursor = packet.payload;
- PPPoETag *svc = (PPPoETag *) (&packet.payload);
- UINT16_t namelen = 0;
- UINT16_t plen;
-
- if (conn->serviceName) {
- namelen = (UINT16_t) strlen(conn->serviceName);
- }
- plen = TAG_HDR_SIZE + namelen;
- CHECK_ROOM(cursor, packet.payload, plen);
-
- /* Set destination to Ethernet broadcast address */
- memset(packet.ethHdr.h_dest, 0xFF, ETH_ALEN);
- memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
-
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- packet.ver = 1;
- packet.type = 1;
- packet.code = CODE_PADI;
- packet.session = 0;
-
- svc->type = TAG_SERVICE_NAME;
- svc->length = htons(namelen);
- CHECK_ROOM(cursor, packet.payload, namelen+TAG_HDR_SIZE);
-
- if (conn->serviceName) {
- memcpy(svc->payload, conn->serviceName, strlen(conn->serviceName));
- }
- cursor += namelen + TAG_HDR_SIZE;
-
- /* If we're using Host-Uniq, copy it over */
- if (conn->useHostUniq) {
- PPPoETag hostUniq;
- pid_t pid = getpid();
- hostUniq.type = htons(TAG_HOST_UNIQ);
- hostUniq.length = htons(sizeof(pid));
- memcpy(hostUniq.payload, &pid, sizeof(pid));
- CHECK_ROOM(cursor, packet.payload, sizeof(pid) + TAG_HDR_SIZE);
- memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
- cursor += sizeof(pid) + TAG_HDR_SIZE;
- plen += sizeof(pid) + TAG_HDR_SIZE;
- }
-
- packet.length = htons(plen);
-
- sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "SENT");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: waitForPADO
-*%ARGUMENTS:
-* conn -- PPPoEConnection structure
-* timeout -- how long to wait (in seconds)
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Waits for a PADO packet and copies useful information
-***********************************************************************/
-void
-waitForPADO(PPPoEConnection *conn, int timeout)
-{
- fd_set readable;
- int r;
- struct timeval tv;
- PPPoEPacket packet;
- int len;
-
- struct PacketCriteria pc;
- pc.conn = conn;
- pc.acNameOK = (conn->acName) ? 0 : 1;
- pc.serviceNameOK = (conn->serviceName) ? 0 : 1;
-
- do {
- if (BPF_BUFFER_IS_EMPTY) {
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
-
- FD_ZERO(&readable);
- FD_SET(conn->discoverySocket, &readable);
-
- while(1) {
- r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
- if (r >= 0 || errno != EINTR) break;
- }
- if (r < 0) {
- fatalSys("select (waitForPADO)");
- }
- if (r == 0) return; /* Timed out */
- }
-
- /* Get the packet */
- receivePacket(conn->discoverySocket, &packet, &len);
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- continue;
- }
-
-#ifdef USE_BPF
- /* If it's not a Discovery packet, loop again */
- if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
-#endif
-
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
- /* If it's not for us, loop again */
- if (!packetIsForMe(conn, &packet)) continue;
-
- if (packet.code == CODE_PADO) {
- if (NOT_UNICAST(packet.ethHdr.h_source)) {
- printErr("Ignoring PADO packet from non-unicast MAC address");
- continue;
- }
- conn->numPADOs++;
- if (conn->printACNames) {
- printf("--------------------------------------------------\n");
- }
- parsePacket(&packet, parsePADOTags, &pc);
- if (pc.acNameOK && pc.serviceNameOK) {
- memcpy(conn->peerEth, packet.ethHdr.h_source, ETH_ALEN);
- if (conn->printACNames) {
- printf("AC-Ethernet-Address: %02x:%02x:%02x:%02x:%02x:%02x\n",
- (unsigned) conn->peerEth[0],
- (unsigned) conn->peerEth[1],
- (unsigned) conn->peerEth[2],
- (unsigned) conn->peerEth[3],
- (unsigned) conn->peerEth[4],
- (unsigned) conn->peerEth[5]);
- continue;
- }
- conn->discoveryState = STATE_RECEIVED_PADO;
- break;
- }
- }
- } while (conn->discoveryState != STATE_RECEIVED_PADO);
-}
-
-/***********************************************************************
-*%FUNCTION: sendPADR
-*%ARGUMENTS:
-* conn -- PPPoE connection structur
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADR packet
-***********************************************************************/
-void
-sendPADR(PPPoEConnection *conn)
-{
- PPPoEPacket packet;
- PPPoETag *svc = (PPPoETag *) packet.payload;
- unsigned char *cursor = packet.payload;
-
- UINT16_t namelen = 0;
- UINT16_t plen;
-
- if (conn->serviceName) {
- namelen = (UINT16_t) strlen(conn->serviceName);
- }
- plen = TAG_HDR_SIZE + namelen;
- CHECK_ROOM(cursor, packet.payload, plen);
-
- memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
- memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
-
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- packet.ver = 1;
- packet.type = 1;
- packet.code = CODE_PADR;
- packet.session = 0;
-
- svc->type = TAG_SERVICE_NAME;
- svc->length = htons(namelen);
- if (conn->serviceName) {
- memcpy(svc->payload, conn->serviceName, namelen);
- }
- cursor += namelen + TAG_HDR_SIZE;
-
- /* If we're using Host-Uniq, copy it over */
- if (conn->useHostUniq) {
- PPPoETag hostUniq;
- pid_t pid = getpid();
- hostUniq.type = htons(TAG_HOST_UNIQ);
- hostUniq.length = htons(sizeof(pid));
- memcpy(hostUniq.payload, &pid, sizeof(pid));
- CHECK_ROOM(cursor, packet.payload, sizeof(pid)+TAG_HDR_SIZE);
- memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
- cursor += sizeof(pid) + TAG_HDR_SIZE;
- plen += sizeof(pid) + TAG_HDR_SIZE;
- }
-
- /* Copy cookie and relay-ID if needed */
- if (conn->cookie.type) {
- CHECK_ROOM(cursor, packet.payload,
- ntohs(conn->cookie.length) + TAG_HDR_SIZE);
- memcpy(cursor, &conn->cookie, ntohs(conn->cookie.length) + TAG_HDR_SIZE);
- cursor += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
- plen += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
- }
-
- if (conn->relayId.type) {
- CHECK_ROOM(cursor, packet.payload,
- ntohs(conn->relayId.length) + TAG_HDR_SIZE);
- memcpy(cursor, &conn->relayId, ntohs(conn->relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
- }
-
- packet.length = htons(plen);
- sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "SENT");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: waitForPADS
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-* timeout -- how long to wait (in seconds)
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Waits for a PADS packet and copies useful information
-***********************************************************************/
-void
-waitForPADS(PPPoEConnection *conn, int timeout)
-{
- fd_set readable;
- int r;
- struct timeval tv;
- PPPoEPacket packet;
- int len;
-
- do {
- if (BPF_BUFFER_IS_EMPTY) {
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
-
- FD_ZERO(&readable);
- FD_SET(conn->discoverySocket, &readable);
-
- while(1) {
- r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
- if (r >= 0 || errno != EINTR) break;
- }
- if (r < 0) {
- fatalSys("select (waitForPADS)");
- }
- if (r == 0) return;
- }
-
- /* Get the packet */
- receivePacket(conn->discoverySocket, &packet, &len);
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- continue;
- }
-
-#ifdef USE_BPF
- /* If it's not a Discovery packet, loop again */
- if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
-#endif
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-
- /* If it's not from the AC, it's not for me */
- if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) continue;
-
- /* If it's not for us, loop again */
- if (!packetIsForMe(conn, &packet)) continue;
-
- /* Is it PADS? */
- if (packet.code == CODE_PADS) {
- /* Parse for goodies */
- parsePacket(&packet, parsePADSTags, conn);
- conn->discoveryState = STATE_SESSION;
- break;
- }
- } while (conn->discoveryState != STATE_SESSION);
-
- /* Don't bother with ntohs; we'll just end up converting it back... */
- conn->session = packet.session;
-
- syslog(LOG_INFO, "PPP session is %d", (int) ntohs(conn->session));
-
- /* RFC 2516 says session id MUST NOT be zero or 0xFFFF */
- if (ntohs(conn->session) == 0 || ntohs(conn->session) == 0xFFFF) {
- syslog(LOG_ERR, "Access concentrator used a session value of %x -- the AC is violating RFC 2516", (unsigned int) ntohs(conn->session));
- }
-}
-
-/**********************************************************************
-*%FUNCTION: discovery
-*%ARGUMENTS:
-* conn -- PPPoE connection info structure
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Performs the PPPoE discovery phase
-***********************************************************************/
-void
-discovery(PPPoEConnection *conn)
-{
- int padiAttempts = 0;
- int padrAttempts = 0;
- int timeout = PADI_TIMEOUT;
-
- /* Skip discovery and don't open discovery socket? */
- if (conn->skipDiscovery && conn->noDiscoverySocket) {
- conn->discoveryState = STATE_SESSION;
- return;
- }
-
- conn->discoverySocket =
- openInterface(conn->ifName, Eth_PPPOE_Discovery, conn->myEth);
-
- /* Skip discovery? */
- if (conn->skipDiscovery) {
- conn->discoveryState = STATE_SESSION;
- if (conn->killSession) {
- sendPADT(conn, "RP-PPPoE: Session killed manually");
- exit(0);
- }
- return;
- }
-
- do {
- padiAttempts++;
- if (padiAttempts > MAX_PADI_ATTEMPTS) {
- rp_fatal("Timeout waiting for PADO packets");
- }
- sendPADI(conn);
- conn->discoveryState = STATE_SENT_PADI;
- waitForPADO(conn, timeout);
-
- /* If we're just probing for access concentrators, don't do
- exponential backoff. This reduces the time for an unsuccessful
- probe to 15 seconds. */
- if (!conn->printACNames) {
- timeout *= 2;
- }
- if (conn->printACNames && conn->numPADOs) {
- break;
- }
- } while (conn->discoveryState == STATE_SENT_PADI);
-
- /* If we're only printing access concentrator names, we're done */
- if (conn->printACNames) {
- printf("--------------------------------------------------\n");
- exit(0);
- }
-
- timeout = PADI_TIMEOUT;
- do {
- padrAttempts++;
- if (padrAttempts > MAX_PADI_ATTEMPTS) {
- rp_fatal("Timeout waiting for PADS packets");
- }
- sendPADR(conn);
- conn->discoveryState = STATE_SENT_PADR;
- waitForPADS(conn, timeout);
- timeout *= 2;
- } while (conn->discoveryState == STATE_SENT_PADR);
-
- /* We're done. */
- conn->discoveryState = STATE_SESSION;
- return;
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/if.c b/mdk-stage1/rp-pppoe/src/if.c
deleted file mode 100644
index fec09b273..000000000
--- a/mdk-stage1/rp-pppoe/src/if.c
+++ /dev/null
@@ -1,1092 +0,0 @@
-/***********************************************************************
-*
-* if.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Functions for opening a raw socket and reading/writing raw Ethernet frames.
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_NETPACKET_PACKET_H
-#include <netpacket/packet.h>
-#elif defined(HAVE_LINUX_IF_PACKET_H)
-#include <linux/if_packet.h>
-#endif
-
-#ifdef HAVE_NET_ETHERNET_H
-#include <net/ethernet.h>
-#endif
-
-#ifdef HAVE_ASM_TYPES_H
-#include <asm/types.h>
-#endif
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef HAVE_NET_IF_ARP_H
-#include <net/if_arp.h>
-#endif
-
-#ifdef USE_DLPI
-
-#include <limits.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/dlpi.h>
-#include <sys/bufmod.h>
-#include <stdio.h>
-#include <signal.h>
-#include <stropts.h>
-
-/* function declarations */
-
-void dlpromisconreq( int fd, u_long level);
-void dlinforeq(int fd);
-void dlunitdatareq(int fd, u_char *addrp, int addrlen, u_long minpri, u_long maxpri, u_char *datap, int datalen);
-void dlinfoack(int fd, char *bufp);
-void dlbindreq(int fd, u_long sap, u_long max_conind, u_long service_mode, u_long conn_mgmt, u_long xidtest);
-void dlattachreq(int fd, u_long ppa);
-void dlokack(int fd, char *bufp);
-void dlbindack(int fd, char *bufp);
-int strioctl(int fd, int cmd, int timout, int len, char *dp);
-void strgetmsg(int fd, struct strbuf *ctlp, struct strbuf *datap, int *flagsp, char *caller);
-void sigalrm(int sig);
-void expecting(int prim, union DL_primitives *dlp);
-char *dlprim(u_long prim);
-
-/* #define DL_DEBUG */
-
-static int dl_abssaplen;
-static int dl_saplen;
-static int dl_addrlen;
-
-#endif
-
-#ifdef USE_BPF
-#include <net/bpf.h>
-#include <fcntl.h>
-
-unsigned char *bpfBuffer; /* Packet filter buffer */
-int bpfLength = 0; /* Packet filter buffer length */
-int bpfSize = 0; /* Number of unread bytes in buffer */
-int bpfOffset = 0; /* Current offset in bpfBuffer */
-#endif
-
-/* Initialize frame types to RFC 2516 values. Some broken peers apparently
- use different frame types... sigh... */
-
-UINT16_t Eth_PPPOE_Discovery = ETH_PPPOE_DISCOVERY;
-UINT16_t Eth_PPPOE_Session = ETH_PPPOE_SESSION;
-
-/**********************************************************************
-*%FUNCTION: etherType
-*%ARGUMENTS:
-* packet -- a received PPPoE packet
-*%RETURNS:
-* ethernet packet type (see /usr/include/net/ethertypes.h)
-*%DESCRIPTION:
-* Checks the ethernet packet header to determine its type.
-* We should only be receveing DISCOVERY and SESSION types if the BPF
-* is set up correctly. Logs an error if an unexpected type is received.
-* Note that the ethernet type names come from "pppoe.h" and the packet
-* packet structure names use the LINUX dialect to maintain consistency
-* with the rest of this file. See the BSD section of "pppoe.h" for
-* translations of the data structure names.
-***********************************************************************/
-UINT16_t
-etherType(PPPoEPacket *packet)
-{
- UINT16_t type = (UINT16_t) ntohs(packet->ethHdr.h_proto);
- if (type != Eth_PPPOE_Discovery && type != Eth_PPPOE_Session) {
- syslog(LOG_ERR, "Invalid ether type 0x%x", type);
- }
- return type;
-}
-
-#ifdef USE_BPF
-/**********************************************************************
-*%FUNCTION: getHWaddr
-*%ARGUMENTS:
-* ifname -- name of interface
-* hwaddr -- buffer for ehthernet address
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Locates the Ethernet hardware address for an interface.
-***********************************************************************/
-void
-getHWaddr(int sock, char const *ifname, unsigned char *hwaddr)
-{
- char inbuf[8192];
- const struct sockaddr_dl *sdl;
- struct ifconf ifc;
- struct ifreq ifreq, *ifr;
- int i;
- int found = 0;
-
- ifc.ifc_len = sizeof(inbuf);
- ifc.ifc_buf = inbuf;
- if (ioctl(sock, SIOCGIFCONF, &ifc) < 0) {
- fatalSys("SIOCGIFCONF");
- }
- ifr = ifc.ifc_req;
- ifreq.ifr_name[0] = '\0';
- for (i = 0; i < ifc.ifc_len; ) {
- ifr = (struct ifreq *)((caddr_t)ifc.ifc_req + i);
- i += sizeof(ifr->ifr_name) +
- (ifr->ifr_addr.sa_len > sizeof(struct sockaddr)
- ? ifr->ifr_addr.sa_len
- : sizeof(struct sockaddr));
- if (ifr->ifr_addr.sa_family == AF_LINK) {
- sdl = (const struct sockaddr_dl *) &ifr->ifr_addr;
- if ((sdl->sdl_type == IFT_ETHER) &&
- (sdl->sdl_alen == ETH_ALEN) &&
- !strncmp(ifname, ifr->ifr_name, sizeof(ifr->ifr_name))) {
- if (found) {
- char buffer[256];
- sprintf(buffer, "interface %.16s has more than one ethernet address", ifname);
- rp_fatal(buffer);
- } else {
- found = 1;
- memcpy(hwaddr, LLADDR(sdl), ETH_ALEN);
- }
- }
- }
- }
- if (!found) {
- char buffer[256];
- sprintf(buffer, "interface %.16s has no ethernet address", ifname);
- rp_fatal(buffer);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: initFilter
-*%ARGUMENTS:
-* fd -- file descriptor of BSD device
-* type -- Ethernet frame type (0 for watch mode)
-* hwaddr -- buffer with ehthernet address
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Initializes the packet filter rules.
-***********************************************************************/
-void
-initFilter(int fd, UINT16_t type, unsigned char *hwaddr)
-{
- /* Packet Filter Instructions:
- * Note that the ethernet type names come from "pppoe.h" and are
- * used here to maintain consistency with the rest of this file. */
- static struct bpf_insn bpfRun[] = { /* run PPPoE */
- BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 12), /* ethernet type */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ETH_PPPOE_SESSION, 5, 0),
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ETH_PPPOE_DISCOVERY, 0, 9),
- BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 0), /* first word of dest. addr */
-#define PPPOE_BCAST_CMPW 4 /* offset of word compare */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 2),
- BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 4), /* next 1/2 word of dest. */
-#define PPPOE_BCAST_CMPH 6 /* offset of 1/2 word compare */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 4, 0),
- BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 0), /* first word of dest. addr */
-#define PPPOE_FILTER_CMPW 8 /* offset of word compare */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 3),
- BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 4), /* next 1/2 word of dest. */
-#define PPPOE_FILTER_CMPH 10 /* offset of 1/rd compare */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 1),
- BPF_STMT(BPF_RET+BPF_K, (u_int) -1), /* keep packet */
- BPF_STMT(BPF_RET+BPF_K, 0), /* drop packet */
- };
-
- /* Fix the potentially varying parts */
- bpfRun[1].code = (u_short) BPF_JMP+BPF_JEQ+BPF_K;
- bpfRun[1].jt = 5;
- bpfRun[1].jf = 0;
- bpfRun[1].k = Eth_PPPOE_Session;
-
- bpfRun[2].code = (u_short) BPF_JMP+BPF_JEQ+BPF_K;
- bpfRun[2].jt = 0;
- bpfRun[2].jf = 9;
- bpfRun[2].k = Eth_PPPOE_Discovery;
-
- {
- struct bpf_insn bpfInsn[sizeof(bpfRun) / sizeof(bpfRun[0])];
- struct bpf_program bpfProgram;
- memcpy(bpfInsn, bpfRun, sizeof(bpfRun));
- bpfInsn[PPPOE_BCAST_CMPW].k = ((0xff << 24) | (0xff << 16) |
- (0xff << 8) | 0xff);
- bpfInsn[PPPOE_BCAST_CMPH].k = ((0xff << 8) | 0xff);
- bpfInsn[PPPOE_FILTER_CMPW].k = ((hwaddr[0] << 24) | (hwaddr[1] << 16) |
- (hwaddr[2] << 8) | hwaddr[3]);
- bpfInsn[PPPOE_FILTER_CMPH].k = ((hwaddr[4] << 8) | hwaddr[5]);
- bpfProgram.bf_len = (sizeof(bpfInsn) / sizeof(bpfInsn[0]));
- bpfProgram.bf_insns = &bpfInsn[0];
-
- /* Apply the filter */
- if (ioctl(fd, BIOCSETF, &bpfProgram) < 0) {
- fatalSys("ioctl(BIOCSETF)");
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: openInterface
-*%ARGUMENTS:
-* ifname -- name of interface
-* type -- Ethernet frame type (0 for any frame type)
-* hwaddr -- if non-NULL, set to the hardware address
-*%RETURNS:
-* A file descriptor for talking with the Ethernet card. Exits on error.
-* Note that the Linux version of this routine returns a socket instead.
-*%DESCRIPTION:
-* Opens a BPF on an interface for all PPPoE traffic (discovery and
-* session). If 'type' is 0, uses promiscuous mode to watch any PPPoE
-* traffic on this network.
-***********************************************************************/
-int
-openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
-{
- static int fd = -1;
- char bpfName[32];
- u_int optval;
- struct bpf_version bpf_ver;
- struct ifreq ifr;
- int sock;
- int i;
-
- /* BSD only opens one socket for both Discovery and Session packets */
- if (fd >= 0) {
- return fd;
- }
-
- /* Find a free BPF device */
- for (i = 0; i < 256; i++) {
- sprintf(bpfName, "/dev/bpf%d", i);
- if (((fd = open(bpfName, O_RDWR, 0)) >= 0) ||
- (errno != EBUSY)) {
- break;
- }
- }
- if (fd < 0) {
- switch (errno) {
- case EACCES: /* permission denied */
- {
- char buffer[256];
- sprintf(buffer, "Cannot open %.32s -- pppoe must be run as root.", bpfName);
- rp_fatal(buffer);
- }
- break;
- case EBUSY:
- case ENOENT: /* no such file */
- if (i == 0) {
- rp_fatal("No /dev/bpf* devices (check your kernel configuration for BPF support)");
- } else {
- rp_fatal("All /dev/bpf* devices are in use");
- }
- break;
- }
- fatalSys(bpfName);
- }
-
- if ((sock = socket(AF_LOCAL, SOCK_DGRAM, 0)) < 0) {
- fatalSys("socket");
- }
-
- /* Check that the interface is up */
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) {
- fatalSys("ioctl(SIOCGIFFLAGS)");
- }
- if ((ifr.ifr_flags & IFF_UP) == 0) {
- char buffer[256];
- sprintf(buffer, "Interface %.16s is not up\n", ifname);
- rp_fatal(buffer);
- }
-
- /* Fill in hardware address and initialize the packet filter rules */
- if (hwaddr == NULL) {
- rp_fatal("openInterface: no hwaddr arg.");
- }
- getHWaddr(sock, ifname, hwaddr);
- initFilter(fd, type, hwaddr);
-
- /* Sanity check on MTU -- apparently does not work on OpenBSD */
-#if !defined(__OpenBSD__)
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock, SIOCGIFMTU, &ifr) < 0) {
- fatalSys("ioctl(SIOCGIFMTU)");
- }
- if (ifr.ifr_mtu < ETH_DATA_LEN) {
- char buffer[256];
- sprintf(buffer, "Interface %.16s has MTU of %d -- should be %d. You may have serious connection problems.",
- ifname, ifr.ifr_mtu, ETH_DATA_LEN);
- printErr(buffer);
- }
-#endif
-
- /* done with the socket */
- if (close(sock) < 0) {
- fatalSys("close");
- }
-
- /* Check the BPF version number */
- if (ioctl(fd, BIOCVERSION, &bpf_ver) < 0) {
- fatalSys("ioctl(BIOCVERSION)");
- }
- if ((bpf_ver.bv_major != BPF_MAJOR_VERSION) ||
- (bpf_ver.bv_minor < BPF_MINOR_VERSION)) {
- char buffer[256];
- sprintf(buffer, "Unsupported BPF version: %d.%d (kernel: %d.%d)",
- BPF_MAJOR_VERSION, BPF_MINOR_VERSION,
- bpf_ver.bv_major, bpf_ver.bv_minor);
- rp_fatal(buffer);
- }
-
- /* allocate a receive packet buffer */
- if (ioctl(fd, BIOCGBLEN, &bpfLength) < 0) {
- fatalSys("ioctl(BIOCGBLEN)");
- }
- if (!(bpfBuffer = (unsigned char *) malloc(bpfLength))) {
- rp_fatal("malloc");
- }
-
- /* reads should return as soon as there is a packet available */
- optval = 1;
- if (ioctl(fd, BIOCIMMEDIATE, &optval) < 0) {
- fatalSys("ioctl(BIOCIMMEDIATE)");
- }
-
- /* Bind the interface to the filter */
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(fd, BIOCSETIF, &ifr) < 0) {
- char buffer[256];
- sprintf(buffer, "ioctl(BIOCSETIF) can't select interface %.16s",
- ifname);
- rp_fatal(buffer);
- }
-
- syslog(LOG_INFO, "Interface=%.16s HWaddr=%02X:%02X:%02X:%02X:%02X:%02X Device=%.32s Buffer size=%d",
- ifname,
- hwaddr[0], hwaddr[1], hwaddr[2],
- hwaddr[3], hwaddr[4], hwaddr[5],
- bpfName, bpfLength);
- return fd;
-}
-
-#endif /* USE_BPF */
-
-#ifdef USE_LINUX_PACKET
-/**********************************************************************
-*%FUNCTION: openInterface
-*%ARGUMENTS:
-* ifname -- name of interface
-* type -- Ethernet frame type
-* hwaddr -- if non-NULL, set to the hardware address
-*%RETURNS:
-* A raw socket for talking to the Ethernet card. Exits on error.
-*%DESCRIPTION:
-* Opens a raw Ethernet socket
-***********************************************************************/
-int
-openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
-{
- int optval=1;
- int fd;
- struct ifreq ifr;
- int domain, stype;
-
-#ifdef HAVE_STRUCT_SOCKADDR_LL
- struct sockaddr_ll sa;
-#else
- struct sockaddr sa;
-#endif
-
- memset(&sa, 0, sizeof(sa));
-
-#ifdef HAVE_STRUCT_SOCKADDR_LL
- domain = PF_PACKET;
- stype = SOCK_RAW;
-#else
- domain = PF_INET;
- stype = SOCK_PACKET;
-#endif
-
- if ((fd = socket(domain, stype, htons(type))) < 0) {
- /* Give a more helpful message for the common error case */
- if (errno == EPERM) {
- rp_fatal("Cannot create raw socket -- pppoe must be run as root.");
- }
- fatalSys("socket");
- }
-
- if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval)) < 0) {
- fatalSys("setsockopt");
- }
-
- /* Fill in hardware address */
- if (hwaddr) {
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) {
- fatalSys("ioctl(SIOCGIFHWADDR)");
- }
- memcpy(hwaddr, ifr.ifr_hwaddr.sa_data, ETH_ALEN);
-#ifdef ARPHRD_ETHER
- if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) {
- char buffer[256];
- sprintf(buffer, "Interface %.16s is not Ethernet", ifname);
- rp_fatal(buffer);
- }
-#endif
- if (NOT_UNICAST(hwaddr)) {
- char buffer[256];
- sprintf(buffer,
- "Interface %.16s has broadcast/multicast MAC address??",
- ifname);
- rp_fatal(buffer);
- }
- }
-
- /* Sanity check on MTU */
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFMTU, &ifr) < 0) {
- fatalSys("ioctl(SIOCGIFMTU)");
- }
- if (ifr.ifr_mtu < ETH_DATA_LEN) {
- char buffer[256];
- sprintf(buffer, "Interface %.16s has MTU of %d -- should be %d. You may have serious connection problems.",
- ifname, ifr.ifr_mtu, ETH_DATA_LEN);
- printErr(buffer);
- }
-
-#ifdef HAVE_STRUCT_SOCKADDR_LL
- /* Get interface index */
- sa.sll_family = AF_PACKET;
- sa.sll_protocol = htons(type);
-
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
- fatalSys("ioctl(SIOCFIGINDEX): Could not get interface index");
- }
- sa.sll_ifindex = ifr.ifr_ifindex;
-
-#else
- strcpy(sa.sa_data, ifname);
-#endif
-
- /* We're only interested in packets on specified interface */
- if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
- fatalSys("bind");
- }
-
- return fd;
-}
-
-#endif /* USE_LINUX */
-
-/***********************************************************************
-*%FUNCTION: sendPacket
-*%ARGUMENTS:
-* sock -- socket to send to
-* pkt -- the packet to transmit
-* size -- size of packet (in bytes)
-*%RETURNS:
-* 0 on success; -1 on failure
-*%DESCRIPTION:
-* Transmits a packet
-***********************************************************************/
-int
-sendPacket(PPPoEConnection *conn, int sock, PPPoEPacket *pkt, int size)
-{
-#if defined(USE_BPF)
- if (write(sock, pkt, size) < 0) {
- sysErr("write (sendPacket)");
- return -1;
- }
-#elif defined(HAVE_STRUCT_SOCKADDR_LL)
- if (send(sock, pkt, size, 0) < 0) {
- sysErr("send (sendPacket)");
- return -1;
- }
-#else
-#ifdef USE_DLPI
-
-#define ABS(x) ((x) < 0 ? -(x) : (x))
-
- u_char addr[MAXDLADDR];
- u_char phys[MAXDLADDR];
- u_char sap[MAXDLADDR];
- u_char xmitbuf[MAXDLBUF];
- int data_size;
-
- short tmp_sap;
-
- tmp_sap = htons(pkt->ethHdr.h_proto);
- data_size = size - sizeof(struct ethhdr);
-
- memcpy((char *)phys, (char *)pkt->ethHdr.h_dest, ETHERADDRL);
- memcpy((char *)sap, (char *)&tmp_sap, sizeof(ushort_t));
- memcpy((char *)xmitbuf, (char *)pkt + sizeof(struct ethhdr), data_size);
-
- if (dl_saplen > 0) { /* order is sap+phys */
- (void) memcpy((char*)addr, (char*)&sap, dl_abssaplen);
- (void) memcpy((char*)addr+dl_abssaplen, (char*)phys, ETHERADDRL);
- } else { /* order is phys+sap */
- (void) memcpy((char*)addr, (char*)phys, ETHERADDRL);
- (void) memcpy((char*)addr+ETHERADDRL, (char*)&sap, dl_abssaplen);
- }
-
-#ifdef DL_DEBUG
- printf("%02x:%02x:%02x:%02x:%02x:%02x %02x:%02x\n",
- addr[0],addr[1],addr[2],addr[3],addr[4],addr[5],
- addr[6],addr[7]);
-#endif
-
- dlunitdatareq(sock, addr, dl_addrlen, 0, 0, xmitbuf, data_size);
-
-
-
-#else
- struct sockaddr sa;
-
- if (!conn) {
- rp_fatal("relay and server not supported on Linux 2.0 kernels");
- }
- strcpy(sa.sa_data, conn->ifName);
- if (sendto(sock, pkt, size, 0, &sa, sizeof(sa)) < 0) {
- sysErr("sendto (sendPacket)");
- return -1;
- }
-#endif
-#endif
- return 0;
-}
-
-#ifdef USE_BPF
-/***********************************************************************
-*%FUNCTION: clearPacketHeader
-*%ARGUMENTS:
-* pkt -- packet that needs its head clearing
-*%RETURNS:
-* nothing
-*%DESCRIPTION:
-* Clears a PPPoE packet header after a truncated packet has been
-* received. Insures that the packet will fail any integrity tests
-* and will be discarded by upper level routines. Also resets the
-* bpfSize and bpfOffset variables to force a new read on the next
-* call to receivePacket().
-***********************************************************************/
-void
-clearPacketHeader(PPPoEPacket *pkt)
-{
- bpfSize = bpfOffset = 0;
- memset(pkt, 0, HDR_SIZE);
-}
-#endif
-
-/***********************************************************************
-*%FUNCTION: receivePacket
-*%ARGUMENTS:
-* sock -- socket to read from
-* pkt -- place to store the received packet
-* size -- set to size of packet in bytes
-*%RETURNS:
-* >= 0 if all OK; < 0 if error
-*%DESCRIPTION:
-* Receives a packet
-***********************************************************************/
-int
-receivePacket(int sock, PPPoEPacket *pkt, int *size)
-{
-#ifdef USE_BPF
- struct bpf_hdr hdr;
- int seglen, copylen;
-
- if (bpfSize <= 0) {
- bpfOffset = 0;
- if ((bpfSize = read(sock, bpfBuffer, bpfLength)) < 0) {
- sysErr("read (receivePacket)");
- return -1;
- }
- }
- if (bpfSize < sizeof(hdr)) {
- syslog(LOG_ERR, "Truncated bpf packet header: len=%d", bpfSize);
- clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
- return 0;
- }
- memcpy(&hdr, bpfBuffer + bpfOffset, sizeof(hdr));
- if (hdr.bh_caplen != hdr.bh_datalen) {
- syslog(LOG_ERR, "Truncated bpf packet: caplen=%d, datalen=%d",
- hdr.bh_caplen, hdr.bh_datalen);
- clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
- return 0;
- }
- seglen = hdr.bh_hdrlen + hdr.bh_caplen;
- if (seglen > bpfSize) {
- syslog(LOG_ERR, "Truncated bpf packet: seglen=%d, bpfSize=%d",
- seglen, bpfSize);
- clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
- return 0;
- }
- seglen = BPF_WORDALIGN(seglen);
- *size = copylen = ((hdr.bh_caplen < sizeof(PPPoEPacket)) ?
- hdr.bh_caplen : sizeof(PPPoEPacket));
- memcpy(pkt, bpfBuffer + bpfOffset + hdr.bh_hdrlen, copylen);
- if (seglen >= bpfSize) {
- bpfSize = bpfOffset = 0;
- } else {
- bpfSize -= seglen;
- bpfOffset += seglen;
- }
-#else
-#ifdef USE_DLPI
- struct strbuf data;
- int flags = 0;
- int retval;
-
- data.buf = (char *) pkt;
- data.maxlen = MAXDLBUF;
- data.len = 0;
-
- if ((retval = getmsg(sock, NULL, &data, &flags)) < 0) {
- sysErr("read (receivePacket)");
- return -1;
- }
-
- *size = data.len;
-
-#else
- if ((*size = recv(sock, pkt, sizeof(PPPoEPacket), 0)) < 0) {
- sysErr("recv (receivePacket)");
- return -1;
- }
-#endif
-#endif
- return 0;
-}
-
-#ifdef USE_DLPI
-/**********************************************************************
-*%FUNCTION: openInterface
-*%ARGUMENTS:
-* ifname -- name of interface
-* type -- Ethernet frame type
-* hwaddr -- if non-NULL, set to the hardware address
-*%RETURNS:
-* A raw socket for talking to the Ethernet card. Exits on error.
-*%DESCRIPTION:
-* Opens a raw Ethernet socket
-***********************************************************************/
-int
-openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
-{
- int fd;
- long buf[MAXDLBUF];
-
- union DL_primitives *dlp;
-
- char base_dev[PATH_MAX];
- int ppa;
-
- if(strlen(ifname) > PATH_MAX) {
- rp_fatal("socket: string to long");
- }
-
- ppa = atoi(&ifname[strlen(ifname)-1]);
- strncpy(base_dev, ifname, PATH_MAX);
- base_dev[strlen(base_dev)-1] = '\0';
-
- if (( fd = open(base_dev, O_RDWR)) < 0) {
- /* Give a more helpful message for the common error case */
- if (errno == EPERM) {
- rp_fatal("Cannot create raw socket -- pppoe must be run as root.");
- }
- fatalSys("socket");
- }
-
- dlinforeq(fd);
- dlinfoack(fd, (char *)buf);
-
- dlp = (union DL_primitives*) buf;
-
- dl_abssaplen = ABS(dlp->info_ack.dl_sap_length);
- dl_saplen = dlp->info_ack.dl_sap_length;
- if (ETHERADDRL != (dlp->info_ack.dl_addr_length - dl_abssaplen))
- fatalSys("invalid destination physical address length");
- dl_addrlen = dl_abssaplen + ETHERADDRL;
-
- dlattachreq(fd, ppa);
- dlokack(fd, (char *)buf);
-
- dlbindreq(fd, type, 0, DL_CLDLS, 0, 0);
- dlbindack(fd, (char *)buf);
-
- if ( strioctl(fd, DLIOCRAW, -1, 0, NULL) < 0 ) {
- fatalSys("DLIOCRAW");
- }
-
- if (ioctl(fd, I_FLUSH, FLUSHR) < 0) fatalSys("I_FLUSH");
-
- return fd;
-}
-
-/* cloned from dlcommon.c */
-
-void dlpromisconreq(int fd, u_long level)
-{
- dl_promiscon_req_t promiscon_req;
- struct strbuf ctl;
- int flags;
-
- promiscon_req.dl_primitive = DL_PROMISCON_REQ;
- promiscon_req.dl_level = level;
-
- ctl.maxlen = 0;
- ctl.len = sizeof (promiscon_req);
- ctl.buf = (char *) &promiscon_req;
-
- flags = 0;
-
- if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
- fatalSys("dlpromiscon: putmsg");
-
-}
-
-void dlinforeq(int fd)
-{
- dl_info_req_t info_req;
- struct strbuf ctl;
- int flags;
-
- info_req.dl_primitive = DL_INFO_REQ;
-
- ctl.maxlen = 0;
- ctl.len = sizeof (info_req);
- ctl.buf = (char *) &info_req;
-
- flags = RS_HIPRI;
-
- if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
- fatalSys("dlinforeq: putmsg");
-}
-
-void dlunitdatareq(int fd, u_char *addrp, int addrlen, u_long minpri, u_long maxpri, u_char *datap, int datalen)
-{
- long buf[MAXDLBUF];
- union DL_primitives *dlp;
- struct strbuf data, ctl;
-
- dlp = (union DL_primitives*) buf;
-
- dlp->unitdata_req.dl_primitive = DL_UNITDATA_REQ;
- dlp->unitdata_req.dl_dest_addr_length = addrlen;
- dlp->unitdata_req.dl_dest_addr_offset = sizeof (dl_unitdata_req_t);
- dlp->unitdata_req.dl_priority.dl_min = minpri;
- dlp->unitdata_req.dl_priority.dl_max = maxpri;
-
- (void) memcpy(OFFADDR(dlp, sizeof (dl_unitdata_req_t)), addrp, addrlen);
-
- ctl.maxlen = 0;
- ctl.len = sizeof (dl_unitdata_req_t) + addrlen;
- ctl.buf = (char *) buf;
-
- data.maxlen = 0;
- data.len = datalen;
- data.buf = (char *) datap;
-
- if (putmsg(fd, &ctl, &data, 0) < 0)
- fatalSys("dlunitdatareq: putmsg");
-}
-
-void dlinfoack(int fd, char *bufp)
-{
- union DL_primitives *dlp;
- struct strbuf ctl;
- int flags;
-
- ctl.maxlen = MAXDLBUF;
- ctl.len = 0;
- ctl.buf = bufp;
-
- strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlinfoack");
-
- dlp = (union DL_primitives *) ctl.buf;
-
- expecting(DL_INFO_ACK, dlp);
-
- if (ctl.len < sizeof (dl_info_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlinfoack: response ctl.len too short: %d", ctl.len);
- rp_fatal(buffer);
- }
-
- if (flags != RS_HIPRI)
- rp_fatal("dlinfoack: DL_INFO_ACK was not M_PCPROTO");
-
- if (ctl.len < sizeof (dl_info_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlinfoack: short response ctl.len: %d", ctl.len);
- rp_fatal(buffer);
- }
-}
-
-void dlbindreq(int fd, u_long sap, u_long max_conind, u_long service_mode, u_long conn_mgmt, u_long xidtest)
-{
- dl_bind_req_t bind_req;
- struct strbuf ctl;
- int flags;
-
- bind_req.dl_primitive = DL_BIND_REQ;
- bind_req.dl_sap = sap;
- bind_req.dl_max_conind = max_conind;
- bind_req.dl_service_mode = service_mode;
- bind_req.dl_conn_mgmt = conn_mgmt;
- bind_req.dl_xidtest_flg = xidtest;
-
- ctl.maxlen = 0;
- ctl.len = sizeof (bind_req);
- ctl.buf = (char *) &bind_req;
-
- flags = 0;
-
- if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
- fatalSys("dlbindreq: putmsg");
-}
-
-void dlattachreq(int fd, u_long ppa)
-{
- dl_attach_req_t attach_req;
- struct strbuf ctl;
- int flags;
-
- attach_req.dl_primitive = DL_ATTACH_REQ;
- attach_req.dl_ppa = ppa;
-
- ctl.maxlen = 0;
- ctl.len = sizeof (attach_req);
- ctl.buf = (char *) &attach_req;
-
- flags = 0;
-
- if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
- fatalSys("dlattachreq: putmsg");
-}
-
-void dlokack(int fd, char *bufp)
-{
- union DL_primitives *dlp;
- struct strbuf ctl;
- int flags;
-
- ctl.maxlen = MAXDLBUF;
- ctl.len = 0;
- ctl.buf = bufp;
-
- strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlokack");
-
- dlp = (union DL_primitives *) ctl.buf;
-
- expecting(DL_OK_ACK, dlp);
-
- if (ctl.len < sizeof (dl_ok_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlokack: response ctl.len too short: %d", ctl.len);
- rp_fatal(buffer);
- }
-
- if (flags != RS_HIPRI)
- rp_fatal("dlokack: DL_OK_ACK was not M_PCPROTO");
-
- if (ctl.len < sizeof (dl_ok_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlokack: short response ctl.len: %d", ctl.len);
- rp_fatal(buffer);
- }
-}
-
-void dlbindack(int fd, char *bufp)
-{
- union DL_primitives *dlp;
- struct strbuf ctl;
- int flags;
-
- ctl.maxlen = MAXDLBUF;
- ctl.len = 0;
- ctl.buf = bufp;
-
- strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlbindack");
-
- dlp = (union DL_primitives *) ctl.buf;
-
- expecting(DL_BIND_ACK, dlp);
-
- if (flags != RS_HIPRI)
- rp_fatal("dlbindack: DL_OK_ACK was not M_PCPROTO");
-
- if (ctl.len < sizeof (dl_bind_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlbindack: short response ctl.len: %d", ctl.len);
- rp_fatal(buffer);
- }
-}
-
-int strioctl(int fd, int cmd, int timout, int len, char *dp)
-{
- struct strioctl sioc;
- int rc;
-
- sioc.ic_cmd = cmd;
- sioc.ic_timout = timout;
- sioc.ic_len = len;
- sioc.ic_dp = dp;
- rc = ioctl(fd, I_STR, &sioc);
-
- if (rc < 0)
- return (rc);
- else
- return (sioc.ic_len);
-}
-
-void strgetmsg(int fd, struct strbuf *ctlp, struct strbuf *datap, int *flagsp, char *caller)
-{
- int rc;
- static char errmsg[80];
-
- /*
- * Start timer.
- */
- (void) signal(SIGALRM, sigalrm);
- if (alarm(MAXWAIT) < 0) {
- (void) sprintf(errmsg, "%s: alarm", caller);
- fatalSys(errmsg);
- }
-
- /*
- * Set flags argument and issue getmsg().
- */
- *flagsp = 0;
- if ((rc = getmsg(fd, ctlp, datap, flagsp)) < 0) {
- (void) sprintf(errmsg, "%s: getmsg", caller);
- fatalSys(errmsg);
- }
-
- /*
- * Stop timer.
- */
- if (alarm(0) < 0) {
- (void) sprintf(errmsg, "%s: alarm", caller);
- fatalSys(errmsg);
- }
-
- /*
- * Check for MOREDATA and/or MORECTL.
- */
- if ((rc & (MORECTL | MOREDATA)) == (MORECTL | MOREDATA)) {
- char buffer[256];
- sprintf(buffer, "%s: MORECTL|MOREDATA", caller);
- rp_fatal(buffer);
- }
-
- if (rc & MORECTL) {
- char buffer[256];
- sprintf(buffer, "%s: MORECTL", caller);
- rp_fatal(buffer);
- }
-
- if (rc & MOREDATA) {
- char buffer[256];
- sprintf(buffer, "%s: MOREDATA", caller);
- rp_fatal(buffer);
- }
-
- /*
- * Check for at least sizeof (long) control data portion.
- */
- if (ctlp->len < sizeof (long)) {
- char buffer[256];
- sprintf(buffer, "getmsg: control portion length < sizeof (long): %d", ctlp->len);
- rp_fatal(buffer);
- }
-}
-
-void sigalrm(int sig)
-{
- (void) rp_fatal("sigalrm: TIMEOUT");
-}
-
-void expecting(int prim, union DL_primitives *dlp)
-{
- if (dlp->dl_primitive != (u_long)prim) {
- char buffer[256];
- sprintf(buffer, "expected %s got %s", dlprim(prim), dlprim(dlp->dl_primitive));
- rp_fatal(buffer);
- exit(1);
- }
-}
-
-char *dlprim(u_long prim)
-{
- static char primbuf[80];
-
- switch ((int)prim) {
- CASERET(DL_INFO_REQ);
- CASERET(DL_INFO_ACK);
- CASERET(DL_ATTACH_REQ);
- CASERET(DL_DETACH_REQ);
- CASERET(DL_BIND_REQ);
- CASERET(DL_BIND_ACK);
- CASERET(DL_UNBIND_REQ);
- CASERET(DL_OK_ACK);
- CASERET(DL_ERROR_ACK);
- CASERET(DL_SUBS_BIND_REQ);
- CASERET(DL_SUBS_BIND_ACK);
- CASERET(DL_UNITDATA_REQ);
- CASERET(DL_UNITDATA_IND);
- CASERET(DL_UDERROR_IND);
- CASERET(DL_UDQOS_REQ);
- CASERET(DL_CONNECT_REQ);
- CASERET(DL_CONNECT_IND);
- CASERET(DL_CONNECT_RES);
- CASERET(DL_CONNECT_CON);
- CASERET(DL_TOKEN_REQ);
- CASERET(DL_TOKEN_ACK);
- CASERET(DL_DISCONNECT_REQ);
- CASERET(DL_DISCONNECT_IND);
- CASERET(DL_RESET_REQ);
- CASERET(DL_RESET_IND);
- CASERET(DL_RESET_RES);
- CASERET(DL_RESET_CON);
- default:
- (void) sprintf(primbuf, "unknown primitive 0x%lx", prim);
- return (primbuf);
- }
-}
-
-#endif /* USE_DLPI */
diff --git a/mdk-stage1/rp-pppoe/src/install-sh b/mdk-stage1/rp-pppoe/src/install-sh
deleted file mode 100755
index 58719246f..000000000
--- a/mdk-stage1/rp-pppoe/src/install-sh
+++ /dev/null
@@ -1,238 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/src/md5.c b/mdk-stage1/rp-pppoe/src/md5.c
deleted file mode 100644
index 5b7a0d7b2..000000000
--- a/mdk-stage1/rp-pppoe/src/md5.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * This code implements the MD5 message-digest algorithm.
- * The algorithm is due to Ron Rivest. This code was
- * written by Colin Plumb in 1993, no copyright is claimed.
- * This code is in the public domain; do with it what you wish.
- *
- * Equivalent code is available from RSA Data Security, Inc.
- * This code has been tested against that, and is equivalent,
- * except that you don't need to include two pages of legalese
- * with every copy.
- *
- * To compute the message digest of a chunk of bytes, declare an
- * MD5Context structure, pass it to MD5Init, call MD5Update as
- * needed on buffers full of bytes, and then call MD5Final, which
- * will fill a supplied 16-byte array with the digest.
- */
-#include <string.h> /* for memcpy() */
-#include "md5.h"
-
-void byteReverse(unsigned char *buf, unsigned longs);
-
-/*
- * Note: this code is harmless on little-endian machines.
- */
-void byteReverse(unsigned char *buf, unsigned longs)
-{
- uint32 t;
- do {
- t = (uint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
- ((unsigned) buf[1] << 8 | buf[0]);
- *(uint32 *) buf = t;
- buf += 4;
- } while (--longs);
-}
-
-/*
- * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
- * initialization constants.
- */
-void MD5Init(struct MD5Context *ctx)
-{
- ctx->buf[0] = 0x67452301;
- ctx->buf[1] = 0xefcdab89;
- ctx->buf[2] = 0x98badcfe;
- ctx->buf[3] = 0x10325476;
-
- ctx->bits[0] = 0;
- ctx->bits[1] = 0;
-}
-
-/*
- * Update context to reflect the concatenation of another buffer full
- * of bytes.
- */
-void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
-{
- uint32 t;
-
- /* Update bitcount */
-
- t = ctx->bits[0];
- if ((ctx->bits[0] = t + ((uint32) len << 3)) < t)
- ctx->bits[1]++; /* Carry from low to high */
- ctx->bits[1] += len >> 29;
-
- t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
-
- /* Handle any leading odd-sized chunks */
-
- if (t) {
- unsigned char *p = (unsigned char *) ctx->in + t;
-
- t = 64 - t;
- if (len < t) {
- memcpy(p, buf, len);
- return;
- }
- memcpy(p, buf, t);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32 *) ctx->in);
- buf += t;
- len -= t;
- }
- /* Process data in 64-byte chunks */
-
- while (len >= 64) {
- memcpy(ctx->in, buf, 64);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32 *) ctx->in);
- buf += 64;
- len -= 64;
- }
-
- /* Handle any remaining bytes of data. */
-
- memcpy(ctx->in, buf, len);
-}
-
-/*
- * Final wrapup - pad to 64-byte boundary with the bit pattern
- * 1 0* (64-bit count of bits processed, MSB-first)
- */
-void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
-{
- unsigned count;
- unsigned char *p;
-
- /* Compute number of bytes mod 64 */
- count = (ctx->bits[0] >> 3) & 0x3F;
-
- /* Set the first char of padding to 0x80. This is safe since there is
- always at least one byte free */
- p = ctx->in + count;
- *p++ = 0x80;
-
- /* Bytes of padding needed to make 64 bytes */
- count = 64 - 1 - count;
-
- /* Pad out to 56 mod 64 */
- if (count < 8) {
- /* Two lots of padding: Pad the first block to 64 bytes */
- memset(p, 0, count);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32 *) ctx->in);
-
- /* Now fill the next block with 56 bytes */
- memset(ctx->in, 0, 56);
- } else {
- /* Pad block to 56 bytes */
- memset(p, 0, count - 8);
- }
- byteReverse(ctx->in, 14);
-
- /* Append length in bits and transform */
- ((uint32 *) ctx->in)[14] = ctx->bits[0];
- ((uint32 *) ctx->in)[15] = ctx->bits[1];
-
- MD5Transform(ctx->buf, (uint32 *) ctx->in);
- byteReverse((unsigned char *) ctx->buf, 4);
- memcpy(digest, ctx->buf, 16);
- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
-}
-
-#ifndef ASM_MD5
-
-/* The four core functions - F1 is optimized somewhat */
-
-/* #define F1(x, y, z) (x & y | ~x & z) */
-#define F1(x, y, z) (z ^ (x & (y ^ z)))
-#define F2(x, y, z) F1(z, x, y)
-#define F3(x, y, z) (x ^ y ^ z)
-#define F4(x, y, z) (y ^ (x | ~z))
-
-/* This is the central step in the MD5 algorithm. */
-#define MD5STEP(f, w, x, y, z, data, s) \
- ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )
-
-/*
- * The core of the MD5 algorithm, this alters an existing MD5 hash to
- * reflect the addition of 16 longwords of new data. MD5Update blocks
- * the data and converts bytes into longwords for this routine.
- */
-void MD5Transform(uint32 buf[4], uint32 const in[16])
-{
- register uint32 a, b, c, d;
-
- a = buf[0];
- b = buf[1];
- c = buf[2];
- d = buf[3];
-
- MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
- MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
- MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
- MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
- MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
- MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
- MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
- MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
- MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
- MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
- MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
- MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
- MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
- MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
- MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
- MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
-
- MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
- MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
- MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
- MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
- MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
- MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
- MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
- MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
- MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
- MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
- MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
- MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
- MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
- MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
- MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
- MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
-
- MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
- MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
- MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
- MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
- MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
- MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
- MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
- MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
- MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
- MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
- MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
- MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
- MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
- MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
- MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
- MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
-
- MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
- MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
- MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
- MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
- MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
- MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
- MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
- MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
- MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
- MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
- MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
- MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
- MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
- MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
- MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
- MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
-
- buf[0] += a;
- buf[1] += b;
- buf[2] += c;
- buf[3] += d;
-}
-
-#endif
diff --git a/mdk-stage1/rp-pppoe/src/md5.h b/mdk-stage1/rp-pppoe/src/md5.h
deleted file mode 100644
index e264f686d..000000000
--- a/mdk-stage1/rp-pppoe/src/md5.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef MD5_H
-#define MD5_H
-
-#ifdef __alpha
-typedef unsigned int uint32;
-#else
-typedef unsigned long uint32;
-#endif
-
-struct MD5Context {
- uint32 buf[4];
- uint32 bits[2];
- unsigned char in[64];
-};
-
-void MD5Init(struct MD5Context *context);
-void MD5Update(struct MD5Context *context, unsigned char const *buf,
- unsigned len);
-void MD5Final(unsigned char digest[16], struct MD5Context *context);
-void MD5Transform(uint32 buf[4], uint32 const in[16]);
-
-/*
- * This is needed to make RSAREF happy on some MS-DOS compilers.
- */
-typedef struct MD5Context MD5_CTX;
-
-#endif /* !MD5_H */
diff --git a/mdk-stage1/rp-pppoe/src/plugin.c b/mdk-stage1/rp-pppoe/src/plugin.c
deleted file mode 100644
index d1097e291..000000000
--- a/mdk-stage1/rp-pppoe/src/plugin.c
+++ /dev/null
@@ -1,397 +0,0 @@
-/***********************************************************************
-*
-* plugin.c
-*
-* pppd plugin for kernel-mode PPPoE on Linux
-*
-* Copyright (C) 2001 by Roaring Penguin Software Inc., Michal Ostrowski
-* and Jamal Hadi Salim.
-*
-* Much code and many ideas derived from pppoe plugin by Michal
-* Ostrowski and Jamal Hadi Salim, which carries this copyright:
-*
-* Copyright 2000 Michal Ostrowski <mostrows@styx.uwaterloo.ca>,
-* Jamal Hadi Salim <hadi@cyberus.ca>
-* Borrows heavily from the PPPoATM plugin by Mitchell Blank Jr.,
-* which is based in part on work from Jens Axboe and Paul Mackerras.
-*
-* 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.
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#define _GNU_SOURCE 1
-#include "pppoe.h"
-
-#include "pppd/pppd.h"
-#include "pppd/fsm.h"
-#include "pppd/lcp.h"
-#include "pppd/ipcp.h"
-#include "pppd/ccp.h"
-#include "pppd/pathnames.h"
-
-#include <linux/types.h>
-#include <syslog.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <net/ethernet.h>
-#include <net/if_arp.h>
-#include <linux/if_pppox.h>
-
-/* From sys-linux.c in pppd -- MUST FIX THIS! */
-extern int new_style_driver;
-
-static char *service = NULL;
-static char *acName = NULL;
-static char *existingSession = NULL;
-
-static option_t Options[] = {
- { "rp_pppoe_service", o_string, &service,
- "Desired PPPoE service name" },
- { "rp_pppoe_ac", o_string, &acName,
- "Desired PPPoE access concentrator name" },
- { "rp_pppoe_sess", o_string, &existingSession,
- "Attach to existing session (sessid:macaddr)" },
- { NULL }
-};
-int (*OldDevnameHook)(const char *name) = NULL;
-static PPPoEConnection *conn = NULL;
-
-/**********************************************************************
- * %FUNCTION: PPPOEInitDevice
- * %ARGUMENTS:
- * None
- * %RETURNS:
- *
- * %DESCRIPTION:
- * Initializes PPPoE device.
- ***********************************************************************/
-static int
-PPPOEInitDevice(void)
-{
- conn = malloc(sizeof(PPPoEConnection));
- if (!conn) {
- fatal("Could not allocate memory for PPPoE session");
- }
- memset(conn, 0, sizeof(PPPoEConnection));
- if (acName) {
- SET_STRING(conn->acName, acName);
- }
- if (service) {
- SET_STRING(conn->serviceName, acName);
- }
- SET_STRING(conn->ifName, devnam);
- conn->discoverySocket = -1;
- conn->sessionSocket = -1;
- conn->useHostUniq = 1;
- return 1;
-}
-
-/**********************************************************************
- * %FUNCTION: PPPOEConnectDevice
- * %ARGUMENTS:
- * None
- * %RETURNS:
- * Non-negative if all goes well; -1 otherwise
- * %DESCRIPTION:
- * Connects PPPoE device.
- ***********************************************************************/
-static int
-PPPOEConnectDevice(void)
-{
- struct sockaddr_pppox sp;
-
- strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam));
- if (existingSession) {
- unsigned int mac[ETH_ALEN];
- int i, ses;
- if (sscanf(existingSession, "%d:%x:%x:%x:%x:%x:%x",
- &ses, &mac[0], &mac[1], &mac[2],
- &mac[3], &mac[4], &mac[5]) != 7) {
- fatal("Illegal value for rp_pppoe_sess option");
- }
- conn->session = htons(ses);
- for (i=0; i<ETH_ALEN; i++) {
- conn->peerEth[i] = (unsigned char) mac[i];
- }
- } else {
- discovery(conn);
- if (conn->discoveryState != STATE_SESSION) {
- fatal("Unable to complete PPPoE Discovery");
- }
- }
-
- /* Make the session socket */
- conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM, PX_PROTO_OE);
- if (conn->sessionSocket < 0) {
- fatal("Failed to create PPPoE socket: %m");
- }
- sp.sa_family = AF_PPPOX;
- sp.sa_protocol = PX_PROTO_OE;
- sp.sa_addr.pppoe.sid = conn->session;
- memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ);
- memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN);
- if (connect(conn->sessionSocket, (struct sockaddr *) &sp,
- sizeof(struct sockaddr_pppox)) < 0) {
- fatal("Failed to connect PPPoE socket: %d %m", errno);
- return -1;
- }
- return conn->sessionSocket;
-}
-
-static void
-PPPOESendConfig(int unit,
- int mtu,
- u_int32_t asyncmap,
- int pcomp,
- int accomp)
-{
- int sock;
- struct ifreq ifr;
-
- if (mtu > MAX_PPPOE_MTU) {
- warn("Couldn't increase MTU to %d", mtu);
- }
- sock = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock < 0) {
- fatal("Couldn't create IP socket: %m");
- }
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_mtu = mtu;
- if (ioctl(sock, SIOCSIFMTU, &ifr) < 0) {
- fatal("ioctl(SIOCSIFMTU): %m");
- }
- (void) close (sock);
-}
-
-
-static void
-PPPOERecvConfig(int unit,
- int mru,
- u_int32_t asyncmap,
- int pcomp,
- int accomp)
-{
- if (mru > MAX_PPPOE_MTU) {
- error("Couldn't increase MRU to %d", mru);
- }
-}
-
-static void
-PPPOESetXaccm(int unit,
- ext_accm accm)
-{
- /* Do nothing */
-}
-
-/**********************************************************************
- * %FUNCTION: PPPOEDisconnectDevice
- * %ARGUMENTS:
- * None
- * %RETURNS:
- * Nothing
- * %DESCRIPTION:
- * Disconnects PPPoE device
- ***********************************************************************/
-static void
-PPPOEDisconnectDevice(void)
-{
- struct sockaddr_pppox sp;
-
- sp.sa_family = AF_PPPOX;
- sp.sa_protocol = PX_PROTO_OE;
- sp.sa_addr.pppoe.sid = 0;
- memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ);
- memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN);
- if (connect(conn->sessionSocket, (struct sockaddr *) &sp,
- sizeof(struct sockaddr_pppox)) < 0) {
- fatal("Failed to disconnect PPPoE socket: %d %m", errno);
- return;
- }
- close(conn->sessionSocket);
-}
-
-static int
-PPPOESetSpeed(const char *speed)
-{
- return 0;
-}
-
-static void
-PPPOEDeviceCheckHook(void)
-{
- if (!options_for_dev(_PATH_ETHOPT, devnam)) {
- exit(EXIT_OPTION_ERROR);
- }
-}
-
-/**********************************************************************
- * %FUNCTION: PPPoEDevnameHook
- * %ARGUMENTS:
- * name -- name of device
- * %RETURNS:
- * 1 if we will handle this device; 0 otherwise.
- * %DESCRIPTION:
- * Checks if name is a valid interface name; if so, returns 1. Also
- * sets up devnam (string representation of device) and sets devstat.st_mode
- * so S_ISCHR(devstat.st_mode) != 1 for internal pppd consumption.
- ***********************************************************************/
-static int
-PPPoEDevnameHook(const char *name)
-{
- int r = 1;
- int fd;
- struct ifreq ifr;
-
- /* Open a socket */
- if ((fd = socket(PF_PACKET, SOCK_RAW, 0)) < 0) {
- r = 0;
- }
-
- /* Try getting interface index */
- if (r) {
- strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
- r = 0;
- } else {
- if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) {
- r = 0;
- } else {
- if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) {
- error("Interface %s not Ethernet", name);
- r=0;
- }
- }
- }
- }
-
- /* Close socket */
- close(fd);
- if (r) {
- strncpy(devnam, name, sizeof(devnam));
- if (device_check_hook != PPPOEDeviceCheckHook) {
- devstat.st_mode = S_IFSOCK;
- device_init_hook = PPPOEInitDevice;
- setspeed_hook = PPPOESetSpeed;
- device_check_hook = PPPOEDeviceCheckHook;
- connect_device_hook = PPPOEConnectDevice;
- disconnect_device_hook = PPPOEDisconnectDevice;
- send_config_hook = PPPOESendConfig;
- recv_config_hook = PPPOERecvConfig;
- set_xaccm_hook = PPPOESetXaccm;
- modem = 0;
-
- lcp_allowoptions[0].neg_accompression = 0;
- lcp_wantoptions[0].neg_accompression = 0;
-
- lcp_allowoptions[0].neg_asyncmap = 0;
- lcp_wantoptions[0].neg_asyncmap = 0;
-
- lcp_allowoptions[0].neg_pcompression = 0;
- lcp_wantoptions[0].neg_pcompression = 0;
-
- ccp_allowoptions[0].deflate = 0 ;
- ccp_wantoptions[0].deflate = 0 ;
-
- ipcp_allowoptions[0].neg_vj=0;
- ipcp_wantoptions[0].neg_vj=0;
-
- ccp_allowoptions[0].bsd_compress = 0;
- ccp_wantoptions[0].bsd_compress = 0;
-
- PPPOEInitDevice();
- }
- return 1;
- }
-
- if (OldDevnameHook) r = OldDevnameHook(name);
- return r;
-}
-
-/**********************************************************************
- * %FUNCTION: plugin_init
- * %ARGUMENTS:
- * None
- * %RETURNS:
- * Nothing
- * %DESCRIPTION:
- * Initializes hooks for pppd plugin
- ***********************************************************************/
-void
-plugin_init(void)
-{
- if (!new_style_driver) {
- fatal("Linux kernel does not support PPPoE -- are you running 2.4.x?");
- }
- OldDevnameHook = setdevname_hook;
- setdevname_hook = PPPoEDevnameHook;
- add_options(Options);
-
- info("Roaring Penguin PPPoE Plugin Initialized");
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and syslog and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[1024];
- int i = errno;
- sprintf(buf, "%.256s: %.256s", str, strerror(i));
- printErr(buf);
- sprintf(buf, "RP-PPPoE: %.256s: %.256s", str, strerror(i));
- sendPADT(conn, buf);
- exit(1);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- char buf[1024];
- printErr(str);
- sprintf(buf, "RP-PPPoE: %.256s", str);
- sendPADT(conn, buf);
- exit(1);
-}
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- rp_fatal(str);
-}
diff --git a/mdk-stage1/rp-pppoe/src/ppp.c b/mdk-stage1/rp-pppoe/src/ppp.c
deleted file mode 100644
index 72020a76c..000000000
--- a/mdk-stage1/rp-pppoe/src/ppp.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/***********************************************************************
-*
-* ppp.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Functions for talking to PPP daemon
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_N_HDLC
-#ifndef N_HDLC
-#include <linux/termios.h>
-#endif
-#endif
-
-int PPPState;
-int PPPPacketSize;
-unsigned char PPPXorValue;
-
-UINT16_t 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
-};
-
-/**********************************************************************
-*%FUNCTION: syncReadFromPPP
-*%ARGUMENTS:
-* conn -- PPPoEConnection structure
-* packet -- buffer in which to place PPPoE packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reads from a synchronous PPP device and builds and transmits a PPPoE
-* packet
-***********************************************************************/
-void
-syncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet)
-{
- int r;
-#ifndef HAVE_N_HDLC
- struct iovec vec[2];
- unsigned char dummy[2];
- vec[0].iov_base = (void *) dummy;
- vec[0].iov_len = 2;
- vec[1].iov_base = (void *) packet->payload;
- vec[1].iov_len = ETH_DATA_LEN - PPPOE_OVERHEAD;
-
- /* Use scatter-read to throw away the PPP frame address bytes */
- r = readv(0, vec, 2);
-#else
- /* Bloody hell... readv doesn't work with N_HDLC line discipline... GRR! */
- unsigned char buf[ETH_DATA_LEN - PPPOE_OVERHEAD + 2];
- r = read(0, buf, ETH_DATA_LEN - PPPOE_OVERHEAD + 2);
- if (r >= 2) {
- memcpy(packet->payload, buf+2, r-2);
- }
-#endif
- if (r < 0) {
- /* Catch the Linux "select" bug */
- if (errno == EAGAIN) {
- rp_fatal("Linux select bug hit! This message is harmless, but please ask the Linux kernel developers to fix it.");
- }
- fatalSys("read (syncReadFromPPP)");
- }
- if (r == 0) {
- syslog(LOG_INFO, "end-of-file in syncReadFromPPP");
- sendPADT(conn, "RP-PPPoE: EOF in syncReadFromPPP");
- exit(0);
- }
-
- if (r < 2) {
- rp_fatal("too few characters read from PPP (syncReadFromPPP)");
- }
-
- sendSessionPacket(conn, packet, r-2);
-}
-
-/**********************************************************************
-*%FUNCTION: initPPP
-*%ARGUMENTS:
-* None
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Initializes the PPP state machine
-***********************************************************************/
-void
-initPPP(void)
-{
- PPPState = STATE_WAITFOR_FRAME_ADDR;
- PPPPacketSize = 0;
- PPPXorValue = 0;
-
-}
-/**********************************************************************
-*%FUNCTION: asyncReadFromPPP
-*%ARGUMENTS:
-* conn -- PPPoEConnection structure
-* packet -- buffer in which to place PPPoE packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reads from an async PPP device and builds a PPPoE packet to transmit
-***********************************************************************/
-void
-asyncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet)
-{
- unsigned char buf[READ_CHUNK];
- unsigned char *ptr = buf;
- unsigned char c;
-
- int r;
-
- r = read(0, buf, READ_CHUNK);
- if (r < 0) {
- fatalSys("read (asyncReadFromPPP)");
- }
-
- if (r == 0) {
- syslog(LOG_INFO, "end-of-file in asyncReadFromPPP");
- sendPADT(conn, "RP-PPPoE: EOF in asyncReadFromPPP");
- exit(0);
- }
-
- while(r) {
- if (PPPState == STATE_WAITFOR_FRAME_ADDR) {
- while(r) {
- --r;
- if (*ptr++ == FRAME_ADDR) {
- PPPState = STATE_DROP_PROTO;
- break;
- }
- }
- }
-
- /* Still waiting... */
- if (PPPState == STATE_WAITFOR_FRAME_ADDR) return;
-
- while(r && PPPState == STATE_DROP_PROTO) {
- --r;
- if (*ptr++ == (FRAME_CTRL ^ FRAME_ENC)) {
- PPPState = STATE_BUILDING_PACKET;
- }
- }
-
- if (PPPState == STATE_DROP_PROTO) return;
-
- /* Start building frame */
- while(r && PPPState == STATE_BUILDING_PACKET) {
- --r;
- c = *ptr++;
- switch(c) {
- case FRAME_ESC:
- PPPXorValue = FRAME_ENC;
- break;
- case FRAME_FLAG:
- if (PPPPacketSize < 2) {
- rp_fatal("Packet too short from PPP (asyncReadFromPPP)");
- }
- sendSessionPacket(conn, packet, PPPPacketSize-2);
- PPPPacketSize = 0;
- PPPXorValue = 0;
- PPPState = STATE_WAITFOR_FRAME_ADDR;
- break;
- default:
- if (PPPPacketSize >= ETH_DATA_LEN - 4) {
- syslog(LOG_ERR, "Packet too big! Check MTU on PPP interface");
- PPPPacketSize = 0;
- PPPXorValue = 0;
- PPPState = STATE_WAITFOR_FRAME_ADDR;
- } else {
- packet->payload[PPPPacketSize++] = c ^ PPPXorValue;
- PPPXorValue = 0;
- }
- }
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: pppFCS16
-*%ARGUMENTS:
-* fcs -- current fcs
-* cp -- a buffer's worth of data
-* len -- length of buffer "cp"
-*%RETURNS:
-* A new FCS
-*%DESCRIPTION:
-* Updates the PPP FCS.
-***********************************************************************/
-UINT16_t
-pppFCS16(UINT16_t fcs,
- unsigned char * cp,
- int len)
-{
- while (len--)
- fcs = (fcs >> 8) ^ fcstab[(fcs ^ *cp++) & 0xff];
-
- return (fcs);
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/pppoe-server.c b/mdk-stage1/rp-pppoe/src/pppoe-server.c
deleted file mode 100644
index e43e63553..000000000
--- a/mdk-stage1/rp-pppoe/src/pppoe-server.c
+++ /dev/null
@@ -1,1247 +0,0 @@
-/***********************************************************************
-*
-* pppoe.h
-*
-* Implementation of a user-space PPPoE server
-*
-* Copyright (C) 2000 Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-* $Id$
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "config.h"
-
-#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
-#define _POSIX_SOURCE 1 /* For sigaction defines */
-#endif
-
-#define _BSD_SOURCE 1 /* for gethostname */
-
-#include "pppoe.h"
-#include "md5.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#include <signal.h>
-
-/* Hack for daemonizing */
-#define CLOSEFD 64
-
-/* Max. 64 sessions by default */
-#define DEFAULT_MAX_SESSIONS 64
-
-/* A list of client sessions */
-struct ClientSession *Sessions = NULL;
-
-/* The number of session slots */
-size_t NumSessionSlots;
-
-/* Offset of first session */
-size_t SessOffset = 0;
-
-/* Socket for client's discovery phases */
-int Socket = -1;
-
-/* Pipe written on reception of SIGCHLD */
-int Pipe[2] = {-1, -1};
-int ReapPending = 0;
-
-/* Synchronous mode */
-int Synchronous = 0;
-
-/* Random seed for cookie generation */
-#define SEED_LEN 16
-#define MD5_LEN 16
-#define COOKIE_LEN (MD5_LEN + sizeof(pid_t)) /* Cookie is 16-byte MD5 + PID of server */
-
-unsigned char CookieSeed[SEED_LEN];
-
-/* Default interface if no -I option given */
-#define DEFAULT_IF "eth0"
-char *IfName = NULL;
-
-/* Access concentrator name */
-char *ACName = NULL;
-
-/* Options to pass to pppoe process */
-char PppoeOptions[SMALLBUF] = "";
-
-/* Our local IP address */
-unsigned char LocalIP[IPV4ALEN] = {10, 0, 0, 1};
-unsigned char RemoteIP[IPV4ALEN] = {10, 67, 15, 1}; /* Counter STARTS here */
-
-PPPoETag hostUniq;
-PPPoETag relayId;
-PPPoETag receivedCookie;
-PPPoETag requestedService;
-
-#define HOSTNAMELEN 256
-
-static void startPPPD(struct ClientSession *sess);
-static void sendErrorPADS(int sock, unsigned char *source, unsigned char *dest,
- int errorTag, char *errorMsg);
-
-#define CHECK_ROOM(cursor, start, len) \
-do {\
- if (((cursor)-(start))+(len) > MAX_PPPOE_PAYLOAD) { \
- syslog(LOG_ERR, "Would create too-long packet"); \
- return; \
- } \
-} while(0)
-
-/* Use Linux kernel-mode PPPoE? */
-int UseLinuxKernelModePPPoE = 0;
-
-/**********************************************************************
-*%FUNCTION: parseAddressPool
-*%ARGUMENTS:
-* fname -- name of file containing IP address pool.
-* install -- if true, install IP addresses in sessions.
-*%RETURNS:
-* Number of valid IP addresses found.
-*%DESCRIPTION:
-* Reads a list of IP addresses from a file.
-***********************************************************************/
-static int
-parseAddressPool(char const *fname, int install)
-{
- FILE *fp = fopen(fname, "r");
- int numAddrs = 0;
- unsigned int a, b, c, d;
-
- if (!fp) {
- sysErr("Cannot open address pool file");
- }
-
- while (!feof(fp)) {
- if ((fscanf(fp, "%u.%u.%u.%u", &a, &b, &c, &d) == 4) &&
- a < 256 && b < 256 && c < 256 && d < 256) {
- if (install) {
- Sessions[numAddrs].ip[0] = (unsigned char) a;
- Sessions[numAddrs].ip[1] = (unsigned char) b;
- Sessions[numAddrs].ip[2] = (unsigned char) c;
- Sessions[numAddrs].ip[3] = (unsigned char) d;
- }
- numAddrs++;
- }
- }
- if (!numAddrs) {
- rp_fatal("No valid ip addresses found in pool file");
- }
- return numAddrs;
-}
-
-/**********************************************************************
-*%FUNCTION: parsePADITags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADI packet
-***********************************************************************/
-void
-parsePADITags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- switch(type) {
- case TAG_SERVICE_NAME:
- /* Should do something -- currently ignored */
- break;
- case TAG_RELAY_SESSION_ID:
- relayId.type = htons(type);
- relayId.length = htons(len);
- memcpy(relayId.payload, data, len);
- break;
- case TAG_HOST_UNIQ:
- hostUniq.type = htons(type);
- hostUniq.length = htons(len);
- memcpy(hostUniq.payload, data, len);
- break;
- }
-}
-
-/**********************************************************************
-*%FUNCTION: parsePADRTags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADR packet
-***********************************************************************/
-void
-parsePADRTags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- switch(type) {
- case TAG_RELAY_SESSION_ID:
- relayId.type = htons(type);
- relayId.length = htons(len);
- memcpy(relayId.payload, data, len);
- break;
- case TAG_HOST_UNIQ:
- hostUniq.type = htons(type);
- hostUniq.length = htons(len);
- memcpy(hostUniq.payload, data, len);
- break;
- case TAG_AC_COOKIE:
- receivedCookie.type = htons(type);
- receivedCookie.length = htons(len);
- memcpy(receivedCookie.payload, data, len);
- break;
- case TAG_SERVICE_NAME:
- requestedService.type = htons(type);
- requestedService.length = htons(len);
- memcpy(requestedService.payload, data, len);
- break;
- }
-}
-
-/**********************************************************************
-*%FUNCTION: findSession
-*%ARGUMENTS:
-* pid -- PID of child which owns session. If PID is 0, searches for
-* empty session slots.
-*%RETURNS:
-* A pointer to the session, or NULL if no such session found.
-*%DESCRIPTION:
-* Searches for specified session.
-**********************************************************************/
-struct ClientSession *
-findSession(pid_t pid)
-{
- size_t i;
- for (i=0; i<NumSessionSlots; i++) {
- if (Sessions[i].pid == pid) {
- return &Sessions[i];
- }
- }
- return NULL;
-}
-
-/**********************************************************************
-*%FUNCTION: reapSessions
-*%ARGUMENTS:
-* myAddr -- my Ethernet address
-* sock -- my discovery socket
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reaps children which have exited and removes their sessions
-**********************************************************************/
-void
-reapSessions(unsigned char *myAddr, int sock)
-{
- int status;
- pid_t pid;
- struct ClientSession *session;
-
- /* Temporary structure for sending PADT's. */
- PPPoEConnection conn;
- memset(&conn, 0, sizeof(conn));
-
- /* Initialize fields of conn which do not depend on peer */
- memcpy(conn.myEth, myAddr, ETH_ALEN);
- conn.useHostUniq = 0;
- conn.discoverySocket = sock;
-
- while((pid = waitpid(-1, &status, WNOHANG)) > 0) {
- session = findSession(pid);
- if (!session) {
- syslog(LOG_ERR, "Child %d died but couldn't find session!",
- (int) pid);
- } else {
- syslog(LOG_INFO,
- "Session %d closed for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- conn.session = session->sess;
- memcpy(conn.peerEth, session->eth, ETH_ALEN);
- if (session->recvdPADT) {
- sendPADT(&conn, "RP-PPPoE: Received PADT from peer");
- } else {
- sendPADT(&conn, "RP-PPPoE: Child pppd process terminated");
- }
- session->pid = 0;
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and syslog and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[SMALLBUF];
- snprintf(buf, SMALLBUF, "%s: %s", str, strerror(errno));
- printErr(buf);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- printErr(str);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: genCookie
-*%ARGUMENTS:
-* peerEthAddr -- peer Ethernet address (6 bytes)
-* myEthAddr -- my Ethernet address (6 bytes)
-* seed -- random cookie seed to make things tasty (16 bytes)
-* cookie -- buffer which is filled with server PID and
-* md5 sum of previous items
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Forms the md5 sum of peer MAC address, our MAC address and seed, useful
-* in a PPPoE Cookie tag.
-***********************************************************************/
-void
-genCookie(unsigned char const *peerEthAddr,
- unsigned char const *myEthAddr,
- unsigned char const *seed,
- unsigned char *cookie)
-{
- struct MD5Context ctx;
- pid_t pid = getpid();
-
- MD5Init(&ctx);
- MD5Update(&ctx, peerEthAddr, ETH_ALEN);
- MD5Update(&ctx, myEthAddr, ETH_ALEN);
- MD5Update(&ctx, seed, SEED_LEN);
- MD5Final(cookie, &ctx);
- memcpy(cookie+MD5_LEN, &pid, sizeof(pid));
-}
-
-/**********************************************************************
-*%FUNCTION: processPADI
-*%ARGUMENTS:
-* sock -- Ethernet socket
-* myAddr -- my Ethernet address
-* packet -- PPPoE PADI packet
-* len -- length of received packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADO packet back to client
-***********************************************************************/
-void
-processPADI(int sock, unsigned char *myAddr,
- PPPoEPacket *packet, int len)
-{
- PPPoEPacket pado;
- PPPoETag acname;
- PPPoETag servname;
- PPPoETag cookie;
- size_t acname_len;
- unsigned char *cursor = pado.payload;
- UINT16_t plen;
-
- /* Ignore PADI's which don't come from a unicast address */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR, "PADI packet from non-unicast source address");
- return;
- }
-
- acname.type = htons(TAG_AC_NAME);
- acname_len = strlen(ACName);
- acname.length = htons(acname_len);
- memcpy(acname.payload, ACName, acname_len);
-
- servname.type = htons(TAG_SERVICE_NAME);
- servname.length = 0;
-
- relayId.type = 0;
- hostUniq.type = 0;
- parsePacket(packet, parsePADITags, NULL);
-
- /* Generate a cookie */
- cookie.type = htons(TAG_AC_COOKIE);
- cookie.length = htons(COOKIE_LEN);
- genCookie(packet->ethHdr.h_source, myAddr, CookieSeed, cookie.payload);
-
- /* Construct a PADO packet */
- memcpy(pado.ethHdr.h_dest, packet->ethHdr.h_source, ETH_ALEN);
- memcpy(pado.ethHdr.h_source, myAddr, ETH_ALEN);
- pado.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- pado.ver = 1;
- pado.type = 1;
- pado.code = CODE_PADO;
- pado.session = 0;
- plen = TAG_HDR_SIZE + acname_len;
-
- CHECK_ROOM(cursor, pado.payload, acname_len+TAG_HDR_SIZE);
- memcpy(cursor, &acname, acname_len + TAG_HDR_SIZE);
- cursor += acname_len + TAG_HDR_SIZE;
-
- CHECK_ROOM(cursor, pado.payload, TAG_HDR_SIZE);
- memcpy(cursor, &servname, TAG_HDR_SIZE);
- cursor += TAG_HDR_SIZE;
- plen += TAG_HDR_SIZE;
-
- CHECK_ROOM(cursor, pado.payload, TAG_HDR_SIZE + COOKIE_LEN);
- memcpy(cursor, &cookie, TAG_HDR_SIZE + COOKIE_LEN);
- cursor += TAG_HDR_SIZE + COOKIE_LEN;
- plen += TAG_HDR_SIZE + COOKIE_LEN;
-
- if (relayId.type) {
- CHECK_ROOM(cursor, pado.payload, ntohs(relayId.length) + TAG_HDR_SIZE);
- memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(relayId.length) + TAG_HDR_SIZE;
- }
- if (hostUniq.type) {
- CHECK_ROOM(cursor, pado.payload, ntohs(hostUniq.length)+TAG_HDR_SIZE);
- memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
- cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- }
- pado.length = htons(plen);
- sendPacket(NULL, sock, &pado, (int) (plen + HDR_SIZE));
-}
-
-/**********************************************************************
-*%FUNCTION: processPADT
-*%ARGUMENTS:
-* sock -- Ethernet socket
-* myAddr -- my Ethernet address
-* packet -- PPPoE PADT packet
-* len -- length of received packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Kills session whose session-ID is in PADT packet.
-***********************************************************************/
-void
-processPADT(int sock, unsigned char *myAddr,
- PPPoEPacket *packet, int len)
-{
- size_t i;
-
- /* Ignore PADT's not directed at us */
- if (memcmp(packet->ethHdr.h_dest, myAddr, ETH_ALEN)) return;
-
- /* Get session's index */
- i = ntohs(packet->session) - 1 - SessOffset;
- if (i >= NumSessionSlots) return;
- if (Sessions[i].sess != packet->session) {
- syslog(LOG_ERR, "Session index %u doesn't match session number %u",
- (unsigned int) i, (unsigned int) ntohs(packet->session));
- return;
- }
- if (Sessions[i].pid) {
- Sessions[i].recvdPADT = 1;
- parsePacket(packet, parseLogErrs, NULL);
- kill(Sessions[i].pid, SIGTERM);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: processPADR
-*%ARGUMENTS:
-* sock -- Ethernet socket
-* myAddr -- my Ethernet address
-* packet -- PPPoE PADR packet
-* len -- length of received packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADS packet back to client and starts a PPP session if PADR
-* packet is OK.
-***********************************************************************/
-void
-processPADR(int sock, unsigned char *myAddr,
- PPPoEPacket *packet, int len)
-{
- unsigned char cookieBuffer[COOKIE_LEN];
- struct ClientSession *cliSession;
- pid_t child;
- PPPoEPacket pads;
- unsigned char *cursor = pads.payload;
- UINT16_t plen;
- PPPoETag servname;
-
- /* Initialize some globals */
- relayId.type = 0;
- hostUniq.type = 0;
- receivedCookie.type = 0;
- requestedService.type = 0;
-
- /* Ignore PADR's not directed at us */
- if (memcmp(packet->ethHdr.h_dest, myAddr, ETH_ALEN)) return;
-
- /* Ignore PADR's from non-unicast addresses */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR, "PADR packet from non-unicast source address");
- return;
- }
-
- parsePacket(packet, parsePADRTags, NULL);
-
- /* Check that everything's cool */
- if (!receivedCookie.type) {
- /* Drop it -- do not send error PADS */
- return;
- }
-
- /* Is cookie kosher? */
- if (receivedCookie.length != htons(COOKIE_LEN)) {
- /* Drop it -- do not send error PADS */
- return;
- }
-
- genCookie(packet->ethHdr.h_source, myAddr, CookieSeed, cookieBuffer);
- if (memcmp(receivedCookie.payload, cookieBuffer, COOKIE_LEN)) {
- /* Drop it -- do not send error PADS */
- return;
- }
-
- /* Check service name -- we only offer service "" */
- if (!requestedService.type) {
- syslog(LOG_ERR, "Received PADR packet with no SERVICE_NAME tag");
- sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
- TAG_SERVICE_NAME_ERROR, "RP-PPPoE: Server: No service name tag");
- return;
- }
-
- if (requestedService.length) {
- syslog(LOG_ERR, "Received PADR packet asking for unsupported service %.*s", (int) ntohs(requestedService.length), requestedService.payload);
- sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
- TAG_SERVICE_NAME_ERROR, "RP-PPPoE: Server: Invalid service name tag");
- return;
- }
-
- /* Looks cool... find a slot for the session */
- cliSession = findSession(0);
- if (!cliSession) {
- syslog(LOG_ERR, "No client slots available (%02x:%02x:%02x:%02x:%02x:%02x)",
- (unsigned int) packet->ethHdr.h_source[0],
- (unsigned int) packet->ethHdr.h_source[1],
- (unsigned int) packet->ethHdr.h_source[2],
- (unsigned int) packet->ethHdr.h_source[3],
- (unsigned int) packet->ethHdr.h_source[4],
- (unsigned int) packet->ethHdr.h_source[5]);
- sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
- TAG_AC_SYSTEM_ERROR, "RP-PPPoE: Server: No client slots available");
- return;
- }
-
- /* Set up client session peer Ethernet address */
- memcpy(cliSession->eth, packet->ethHdr.h_source, ETH_ALEN);
- cliSession->recvdPADT = 0;
-
- /* Create child process, send PADS packet back */
- child = fork();
- if (child < 0) {
- sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
- TAG_AC_SYSTEM_ERROR, "RP-PPPoE: Server: Unable to start session process");
- return;
- }
- if (child != 0) {
- /* In the parent process. Mark pid in session slot */
- cliSession->pid = child;
- return;
- }
-
- /* In the child process. */
-
- /* pppd has a nasty habit of killing all processes in its process group.
- Start a new session to stop pppd from killing us! */
- setsid();
-
- /* Send PADS and Start pppd */
- memcpy(pads.ethHdr.h_dest, packet->ethHdr.h_source, ETH_ALEN);
- memcpy(pads.ethHdr.h_source, myAddr, ETH_ALEN);
- pads.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- pads.ver = 1;
- pads.type = 1;
- pads.code = CODE_PADS;
-
- pads.session = cliSession->sess;
- plen = 0;
-
- servname.type = htons(TAG_SERVICE_NAME);
- servname.length = 0;
-
- memcpy(cursor, &servname, TAG_HDR_SIZE);
- cursor += TAG_HDR_SIZE;
- plen += TAG_HDR_SIZE;
-
- if (relayId.type) {
- memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(relayId.length) + TAG_HDR_SIZE;
- }
- if (hostUniq.type) {
- memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
- cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- }
- pads.length = htons(plen);
- sendPacket(NULL, sock, &pads, (int) (plen + HDR_SIZE));
- startPPPD(cliSession);
-}
-
-/**********************************************************************
-*%FUNCTION: childHandler
-*%ARGUMENTS:
-* sig -- signal number
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Called by SIGCHLD. Writes one byte to Pipe to wake up the select
-* loop and cause reaping of dead sessions
-***********************************************************************/
-void
-childHandler(int sig)
-{
- if (!ReapPending) {
- ReapPending = 1;
- write(Pipe[1], &ReapPending, 1);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: usage
-*%ARGUMENTS:
-* argv0 -- argv[0] from main
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints usage instructions
-***********************************************************************/
-void
-usage(char const *argv0)
-{
- fprintf(stderr, "Usage: %s [options]\n", argv0);
- fprintf(stderr, "Options:\n");
-#ifdef USE_BPF
- fprintf(stderr, " -I if_name -- Specify interface (REQUIRED)\n");
-#else
- fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
- DEFAULT_IF);
-#endif
- fprintf(stderr, " -T timeout -- Specify inactivity timeout in seconds.\n");
- fprintf(stderr, " -C name -- Set access concentrator name.\n");
- fprintf(stderr, " -m MSS -- Clamp incoming and outgoing MSS options.\n");
- fprintf(stderr, " -L ip -- Set local IP address.\n");
- fprintf(stderr, " -R ip -- Set start address of remote IP pool.\n");
- fprintf(stderr, " -p fname -- Optain IP address pool from specified file.\n");
- fprintf(stderr, " -N num -- Allow 'num' concurrent sessions.\n");
- fprintf(stderr, " -o offset -- Assign session numbers starting at offset+1.\n");
- fprintf(stderr, " -f disc:sess -- Set Ethernet frame types (hex).\n");
- fprintf(stderr, " -s -- Use synchronous PPP mode.\n");
-#ifdef HAVE_LINUX_KERNEL_PPPOE
- fprintf(stderr, " -k -- Use kernel-mode PPPoE.\n");
-#endif
- fprintf(stderr, " -h -- Print usage information.\n\n");
- fprintf(stderr, "PPPoE-Server Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
- fprintf(stderr, "PPPoE-Server comes with ABSOLUTELY NO WARRANTY.\n");
- fprintf(stderr, "This is free software, and you are welcome to redistribute it\n");
- fprintf(stderr, "under the terms of the GNU General Public License, version 2\n");
- fprintf(stderr, "or (at your option) any later version.\n");
- fprintf(stderr, "http://www.roaringpenguin.com\n");
-}
-
-/**********************************************************************
-*%FUNCTION: main
-*%ARGUMENTS:
-* argc, argv -- usual suspects
-*%RETURNS:
-* Exit status
-*%DESCRIPTION:
-* Main program of PPPoE server
-***********************************************************************/
-int
-main(int argc, char **argv)
-{
-
- FILE *fp;
- int i;
- int opt;
- unsigned char myAddr[ETH_ALEN];
- PPPoEPacket packet;
- int len;
- int sock;
- int d[IPV4ALEN];
- int beDaemon = 1;
- struct sigaction act;
- int maxFD;
- unsigned int discoveryType, sessionType;
- char *addressPoolFname = NULL;
-
-#ifndef HAVE_LINUX_KERNEL_PPPOE
- char *options = "hI:C:L:R:T:m:FN:f:o:sp:";
-#else
- char *options = "hI:C:L:R:T:m:FN:f:o:skp:";
-#endif
-
- /* Initialize syslog */
- openlog("pppoe-server", LOG_PID, LOG_DAEMON);
-
- /* Default number of session slots */
- NumSessionSlots = DEFAULT_MAX_SESSIONS;
-
- /* Parse command-line options */
- while((opt = getopt(argc, argv, options)) != -1) {
- switch(opt) {
-#ifdef HAVE_LINUX_KERNEL_PPPOE
- case 'k':
- UseLinuxKernelModePPPoE = 1;
- break;
-#endif
- case 'p':
- addressPoolFname = optarg;
- break;
- case 's':
- Synchronous = 1;
- /* Pass the Synchronous option on to pppoe */
- snprintf(PppoeOptions + strlen(PppoeOptions),
- SMALLBUF-strlen(PppoeOptions),
- " -s");
- break;
- case 'f':
- if (sscanf(optarg, "%x:%x", &discoveryType, &sessionType) != 2) {
- fprintf(stderr, "Illegal argument to -f: Should be disc:sess in hex\n");
- exit(EXIT_FAILURE);
- }
- Eth_PPPOE_Discovery = (UINT16_t) discoveryType;
- Eth_PPPOE_Session = (UINT16_t) sessionType;
- /* This option gets passed to pppoe */
- snprintf(PppoeOptions + strlen(PppoeOptions),
- SMALLBUF-strlen(PppoeOptions),
- " -%c %s", opt, optarg);
- break;
- case 'F':
- beDaemon = 0;
- break;
- case 'N':
- if (sscanf(optarg, "%d", &opt) != 1) {
- usage(argv[0]);
- exit(EXIT_FAILURE);
- }
- if (opt <= 0) {
- fprintf(stderr, "-N: Value must be positive\n");
- exit(EXIT_FAILURE);
- }
- NumSessionSlots = opt;
- break;
- case 'o':
- if (sscanf(optarg, "%d", &opt) != 1) {
- usage(argv[0]);
- exit(EXIT_FAILURE);
- }
- if (opt < 0) {
- fprintf(stderr, "-o: Value must be non-negative\n");
- exit(EXIT_FAILURE);
- }
- SessOffset = (size_t) opt;
- break;
-
- case 'I':
- SET_STRING(IfName, optarg);
- break;
- case 'C':
- SET_STRING(ACName, optarg);
- break;
- case 'L':
- case 'R':
- /* Get local/remote IP address */
- if (sscanf(optarg, "%d.%d.%d.%d", &d[0], &d[1], &d[2], &d[3]) != 4) {
- usage(argv[0]);
- exit(EXIT_FAILURE);
- }
- for (i=0; i<IPV4ALEN; i++) {
- if (d[i] < 0 || d[i] > 255) {
- usage(argv[0]);
- exit(EXIT_FAILURE);
- }
- if (opt == 'L') {
- LocalIP[i] = (unsigned char) d[i];
- } else {
- RemoteIP[i] = (unsigned char) d[i];
- }
- }
- break;
- case 'T':
- case 'm':
- /* These just get passed to pppoe */
- snprintf(PppoeOptions + strlen(PppoeOptions),
- SMALLBUF-strlen(PppoeOptions),
- " -%c %s", opt, optarg);
- break;
- case 'h':
- usage(argv[0]);
- exit(EXIT_SUCCESS);
- }
- }
-
-#ifdef USE_LINUX_PACKET
-#ifndef HAVE_STRUCT_SOCKADDR_LL
- fprintf(stderr, "The PPPoE relay does not work on Linux 2.0 kernels.\n");
- exit(EXIT_FAILURE);
-#endif
-#endif
-
- if (!IfName) {
- IfName = DEFAULT_IF;
- }
-
- if (!ACName) {
- ACName = malloc(HOSTNAMELEN);
- if (gethostname(ACName, HOSTNAMELEN) < 0) {
- fatalSys("gethostname");
- }
- }
-
- /* If address pool filename given, count number of addresses */
- if (addressPoolFname) {
- NumSessionSlots = parseAddressPool(addressPoolFname, 0);
- }
-
- /* Max 65534 - SessOffset sessions */
- if (NumSessionSlots + SessOffset > 65534) {
- fprintf(stderr, "-N and -o options must add up to at most 65534\n");
- exit(EXIT_FAILURE);
- }
-
- /* Allocate memory for sessions */
- Sessions = calloc(NumSessionSlots, sizeof(struct ClientSession));
- if (!Sessions) {
- rp_fatal("Cannot allocate memory for session slots");
- }
-
- /* Fill in remote IP addresses from pool */
- if (addressPoolFname) {
- (void) parseAddressPool(addressPoolFname, 1);
- }
-
- /* For testing -- generate sequential remote IP addresses */
- for(i=0; i<NumSessionSlots; i++) {
- Sessions[i].pid = 0;
- Sessions[i].sess = htons(i+1+SessOffset);
-
- if (!addressPoolFname) {
- memcpy(Sessions[i].ip, RemoteIP, sizeof(RemoteIP));
-
- /* Increment IP */
- RemoteIP[3]++;
- if (!RemoteIP[3]) {
- RemoteIP[3] = 0;
- RemoteIP[2]++;
- if (!RemoteIP[2]) {
- RemoteIP[1]++;
- if (!RemoteIP[1]) {
- RemoteIP[0]++;
- }
- }
- }
- }
- }
-
- /* Daemonize -- UNIX Network Programming, Vol. 1, Stevens */
- if (beDaemon) {
- i = fork();
- if (i < 0) {
- fatalSys("fork");
- } else if (i != 0) {
- /* parent */
- exit(EXIT_SUCCESS);
- }
- setsid();
- signal(SIGHUP, SIG_IGN);
- i = fork();
- if (i < 0) {
- fatalSys("fork");
- } else if (i != 0) {
- exit(EXIT_SUCCESS);
- }
-
- chdir("/");
- closelog();
- for (i=0; i<CLOSEFD; i++) close(i);
- /* We nuked our syslog descriptor... */
- openlog("pppoe-server", LOG_PID, LOG_DAEMON);
- }
-
- /* Initialize our random cookie. Try /dev/urandom; if that fails,
- use PID and rand() */
- fp = fopen("/dev/urandom", "r");
- if (fp) {
- fread(&CookieSeed, 1, SEED_LEN, fp);
- fclose(fp);
- } else {
- CookieSeed[0] = getpid() & 0xFF;
- CookieSeed[1] = (getpid() >> 8) & 0xFF;
- for (i=2; i<SEED_LEN; i++) {
- CookieSeed[i] = (rand() >> (i % 9)) & 0xFF;
- }
- }
-
- sock = openInterface(IfName, Eth_PPPOE_Discovery, myAddr);
-
- /* Set signal handler for SIGCHLD */
- act.sa_handler = childHandler;
- sigemptyset(&act.sa_mask);
- act.sa_flags = SA_NOCLDSTOP | SA_RESTART;
- if (sigaction(SIGCHLD, &act, NULL) < 0) {
- fatalSys("sigaction");
- }
-
- /* Set up pipe for signal handler */
- if (pipe(Pipe) < 0) {
- fatalSys("pipe");
- }
-
- /* Main server loop */
- maxFD = sock;
- if (Pipe[0] > maxFD) maxFD = Pipe[0];
- maxFD++;
-
- for(;;) {
- fd_set readable;
- FD_ZERO(&readable);
- FD_SET(sock, &readable);
- FD_SET(Pipe[0], &readable);
-
- while(1) {
- i = select(maxFD, &readable, NULL, NULL, NULL);
- if (i >= 0 || errno != EINTR) break;
- }
- if (i < 0) {
- fatalSys("select");
- }
-
- if (FD_ISSET(Pipe[0], &readable)) {
- /* Clear pipe */
- char buf[SMALLBUF];
- read(Pipe[0], buf, SMALLBUF);
- }
-
- if (ReapPending) {
- ReapPending = 0;
- reapSessions(myAddr, sock);
- }
- if (!FD_ISSET(sock, &readable)) {
- continue;
- }
-
- if (receivePacket(sock, &packet, &len) < 0) {
- continue;
- }
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- continue;
- }
-
- /* Sanity check on packet */
- if (packet.ver != 1 || packet.type != 1) {
- /* Syslog an error */
- continue;
- }
- switch(packet.code) {
- case CODE_PADI:
- processPADI(sock, myAddr, &packet, len);
- break;
- case CODE_PADR:
- processPADR(sock, myAddr, &packet, len);
- break;
- case CODE_PADT:
- /* Kill the child */
- processPADT(sock, myAddr, &packet, len);
- break;
- case CODE_SESS:
- /* Ignore SESS -- children will handle them */
- break;
- case CODE_PADO:
- case CODE_PADS:
- /* Ignore PADO and PADS totally */
- break;
- default:
- /* Syslog an error */
- break;
- }
- }
- return 0;
-}
-
-/**********************************************************************
-*%FUNCTION: sendErrorPADS
-*%ARGUMENTS:
-* sock -- socket to write to
-* source -- source Ethernet address
-* dest -- destination Ethernet address
-* errorTag -- error tag
-* errorMsg -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADS packet with an error message
-***********************************************************************/
-void
-sendErrorPADS(int sock,
- unsigned char *source,
- unsigned char *dest,
- int errorTag,
- char *errorMsg)
-{
- PPPoEPacket pads;
- unsigned char *cursor = pads.payload;
- UINT16_t plen;
- PPPoETag err;
- int elen = strlen(errorMsg);
-
- memcpy(pads.ethHdr.h_dest, dest, ETH_ALEN);
- memcpy(pads.ethHdr.h_source, source, ETH_ALEN);
- pads.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- pads.ver = 1;
- pads.type = 1;
- pads.code = CODE_PADS;
-
- pads.session = htons(0);
- plen = 0;
-
- err.type = htons(errorTag);
- err.length = htons(elen);
-
- memcpy(err.payload, errorMsg, elen);
- memcpy(cursor, &err, TAG_HDR_SIZE+elen);
- cursor += TAG_HDR_SIZE + elen;
- plen += TAG_HDR_SIZE + elen;
-
- if (relayId.type) {
- memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(relayId.length) + TAG_HDR_SIZE;
- }
- if (hostUniq.type) {
- memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
- cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- }
- pads.length = htons(plen);
- sendPacket(NULL, sock, &pads, (int) (plen + HDR_SIZE));
-}
-
-
-/**********************************************************************
-*%FUNCTION: startPPPDUserMode
-*%ARGUMENTS:
-* session -- client session record
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Starts PPPD for user-mode PPPoE
-***********************************************************************/
-void
-startPPPDUserMode(struct ClientSession *session)
-{
- /* Leave some room */
- char *argv[20];
-
- char buffer[SMALLBUF];
-
- argv[0] = "pppd";
- argv[1] = "pty";
-
- snprintf(buffer, SMALLBUF, "%s -n -I %s -e %d:%02x:%02x:%02x:%02x:%02x:%02x%s",
- PPPOE_PATH, IfName,
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5],
- PppoeOptions);
- argv[2] = strdup(buffer);
- if (!argv[2]) {
- /* TODO: Send a PADT */
- exit(EXIT_FAILURE);
- }
-
- argv[3] = "file";
- argv[4] = PPPOE_SERVER_OPTIONS;
-
- snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d",
- (int) LocalIP[0], (int) LocalIP[1],
- (int) LocalIP[2], (int) LocalIP[3],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- syslog(LOG_INFO,
- "Session %d created for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- argv[5] = buffer; /* No need for strdup -- about to execv! */
- argv[6] = "nodetach";
- argv[7] = "noaccomp";
- argv[8] = "nobsdcomp";
- argv[9] = "nodeflate";
- argv[10] = "nopcomp";
- argv[11] = "novj";
- argv[12] = "novjccomp";
- argv[13] = "default-asyncmap";
- if (Synchronous) {
- argv[14] = "sync";
- argv[15] = NULL;
- } else {
- argv[14] = NULL;
- }
-
- execv(PPPD_PATH, argv);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: startPPPDLinuxKernelMode
-*%ARGUMENTS:
-* session -- client session record
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Starts PPPD for kernel-mode PPPoE on Linux
-***********************************************************************/
-void
-startPPPDLinuxKernelMode(struct ClientSession *session)
-{
- /* Leave some room */
- char *argv[20];
-
- char buffer[SMALLBUF];
-
- argv[0] = "pppd";
- argv[1] = "plugin";
- argv[2] = PLUGIN_PATH;
- argv[3] = IfName;
- snprintf(buffer, SMALLBUF, "%d:%02x:%02x:%02x:%02x:%02x:%02x",
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5]);
- argv[4] = "rp_pppoe_sess";
- argv[5] = strdup(buffer);
- if (!argv[5]) {
- /* TODO: Send a PADT */
- exit(EXIT_FAILURE);
- }
- argv[6] = "file";
- argv[7] = PPPOE_SERVER_OPTIONS;
-
- snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d",
- (int) LocalIP[0], (int) LocalIP[1],
- (int) LocalIP[2], (int) LocalIP[3],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- syslog(LOG_INFO,
- "Session %d created for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- argv[8] = buffer;
- argv[9] = "nodetach";
- argv[10] = "noaccomp";
- argv[11] = "nobsdcomp";
- argv[12] = "nodeflate";
- argv[13] = "nopcomp";
- argv[14] = "novj";
- argv[15] = "novjccomp";
- argv[16] = "default-asyncmap";
- argv[17] = NULL;
- execv(PPPD_PATH, argv);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: startPPPD
-*%ARGUMENTS:
-* session -- client session record
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Starts PPPD
-***********************************************************************/
-void
-startPPPD(struct ClientSession *session)
-{
- if (UseLinuxKernelModePPPoE) startPPPDLinuxKernelMode(session);
- else startPPPDUserMode(session);
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/pppoe-sniff.c b/mdk-stage1/rp-pppoe/src/pppoe-sniff.c
deleted file mode 100644
index aa796547b..000000000
--- a/mdk-stage1/rp-pppoe/src/pppoe-sniff.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/***********************************************************************
-*
-* pppoe-sniff.c
-*
-* Sniff a network for likely-looking PPPoE frames and deduce the value
-* to supply to PPPOE_EXTRA in /etc/ppp/pppoe.conf. USE AT YOUR OWN RISK.
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifdef USE_DLPI
-#include <sys/dlpi.h>
-/* function declarations */
-void dlpromisconreq( int fd, u_long level);
-void dlokack(int fd, char *bufp);
-#endif
-
-/* Default interface if no -I option given */
-#define DEFAULT_IF "eth0"
-
-/* Global vars */
-int SeenPADR = 0;
-int SeenSess = 0;
-UINT16_t SessType, DiscType;
-
-char *IfName = NULL; /* Interface name */
-char *ServiceName = NULL; /* Service name */
-
-/**********************************************************************
-*%FUNCTION: parsePADRTags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADR packet
-***********************************************************************/
-void
-parsePADRTags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- switch(type) {
- case TAG_SERVICE_NAME:
- ServiceName = malloc(len+1);
- if (ServiceName) {
- memcpy(ServiceName, data, len);
- ServiceName[len] = 0;
- }
- break;
- }
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
- exit(1);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- printErr(str);
- exit(1);
-}
-
-/**********************************************************************
-*%FUNCTION: usage
-*%ARGUMENTS:
-* argv0 -- program name
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints usage information and exits.
-***********************************************************************/
-void
-usage(char const *argv0)
-{
- fprintf(stderr, "Usage: %s [options]\n", argv0);
- fprintf(stderr, "Options:\n");
- fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
- DEFAULT_IF);
- fprintf(stderr, " -V -- Print version and exit.\n");
- fprintf(stderr, "\nPPPoE Version %s, Copyright (C) 2000 Roaring Penguin Software Inc.\n", VERSION);
- fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
- fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
- fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
- fprintf(stderr, "http://www.roaringpenguin.com\n");
- exit(0);
-}
-
-#if !defined(USE_LINUX_PACKET) && !defined(USE_DLPI)
-
-int
-main()
-{
- fprintf(stderr, "Sorry, pppoe-sniff works only on Linux.\n");
- return 1;
-}
-
-#else
-
-/**********************************************************************
-*%FUNCTION: main
-*%ARGUMENTS:
-* argc, argv -- count and values of command-line arguments
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Main program
-***********************************************************************/
-int
-main(int argc, char *argv[])
-{
- int opt;
- int sock;
- PPPoEPacket pkt;
- int size;
-#ifdef USE_DLPI
- long buf[MAXDLBUF];
-#endif
-
- while((opt = getopt(argc, argv, "I:V")) != -1) {
- switch(opt) {
- case 'I':
- SET_STRING(IfName, optarg);
- break;
- case 'V':
- printf("pppoe-sniff: Roaring Penguin PPPoE Version %s\n", VERSION);
- exit(0);
- default:
- usage(argv[0]);
- }
- }
-
- /* Pick a default interface name */
- if (!IfName) {
- IfName = DEFAULT_IF;
- }
-
- /* Open the interface */
-#ifdef USE_DLPI
- sock = openInterface(IfName, Eth_PPPOE_Discovery, NULL);
- dlpromisconreq(sock, DL_PROMISC_PHYS);
- dlokack(sock, (char *)buf);
- dlpromisconreq(sock, DL_PROMISC_SAP);
- dlokack(sock, (char *)buf);
-#else
-
- sock = openInterface(IfName, ETH_P_ALL, NULL);
-
-#endif
-
- /* We assume interface is in promiscuous mode -- use ifconfig to
- ensure this */
- fprintf(stderr, "Sniffing for PADR. Start your connection on another machine...\n");
- while (!SeenPADR) {
- if (receivePacket(sock, &pkt, &size) < 0) continue;
- if (ntohs(pkt.length) + HDR_SIZE > size) continue;
- if (pkt.ver != 1 || pkt.type != 1) continue;
- if (pkt.code != CODE_PADR) continue;
-
- /* Looks promising... parse it */
- if (parsePacket(&pkt, parsePADRTags, NULL) < 0) {
- continue;
- }
- DiscType = ntohs(pkt.ethHdr.h_proto);
- fprintf(stderr, "\nExcellent! Sniffed a likely-looking PADR.\n");
- break;
- }
-
- while (!SeenSess) {
- if (receivePacket(sock, &pkt, &size) < 0) continue;
- if (ntohs(pkt.length) + HDR_SIZE > size) continue;
- if (pkt.ver != 1 || pkt.type != 1) continue;
- if (pkt.code != CODE_SESS) continue;
-
- /* Cool! */
- SessType = ntohs(pkt.ethHdr.h_proto);
- break;
- }
-
- fprintf(stderr, "Wonderful! Sniffed a likely-looking session packet.\n");
- if ((ServiceName == NULL || *ServiceName == 0) &&
- DiscType == ETH_PPPOE_DISCOVERY &&
- SessType == ETH_PPPOE_SESSION) {
- fprintf(stderr, "\nGreat! It looks like a standard PPPoE service.\nYou should not need anything special in the configuration file.\n");
- return 0;
- }
-
- fprintf(stderr, "\nOK, looks like you need something special in the configuration file.\nTry this:\n\n");
- if (ServiceName != NULL && *ServiceName != 0) {
- fprintf(stderr, "SERVICENAME='%s'\n", ServiceName);
- }
- if (DiscType != ETH_PPPOE_DISCOVERY || SessType != ETH_PPPOE_SESSION) {
- fprintf(stderr, " PPPOE_EXTRA='-f %x:%x'\n", DiscType, SessType);
- }
- return 0;
-}
-
-#endif
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
-}
diff --git a/mdk-stage1/rp-pppoe/src/pppoe.c b/mdk-stage1/rp-pppoe/src/pppoe.c
deleted file mode 100644
index 8ffe37248..000000000
--- a/mdk-stage1/rp-pppoe/src/pppoe.c
+++ /dev/null
@@ -1,834 +0,0 @@
-/***********************************************************************
-*
-* pppoe.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Copyright (C) 2000-2001 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef USE_LINUX_PACKET
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#endif
-
-#include <signal.h>
-
-#ifdef HAVE_N_HDLC
-#ifndef N_HDLC
-#include <linux/termios.h>
-#endif
-#endif
-
-/* Default interface if no -I option given */
-#define DEFAULT_IF "eth0"
-
-/* Global variables -- options */
-int optInactivityTimeout = 0; /* Inactivity timeout */
-int optClampMSS = 0; /* Clamp MSS to this value */
-int optSkipSession = 0; /* Perform discovery, print session info
- and exit */
-
-PPPoEConnection *Connection = NULL; /* Must be global -- used
- in signal handler */
-/***********************************************************************
-*%FUNCTION: sendSessionPacket
-*%ARGUMENTS:
-* conn -- PPPoE connection
-* packet -- the packet to send
-* len -- length of data to send
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Transmits a session packet to the peer.
-***********************************************************************/
-void
-sendSessionPacket(PPPoEConnection *conn, PPPoEPacket *packet, int len)
-{
- packet->length = htons(len);
- if (optClampMSS) {
- clampMSS(packet, "outgoing", optClampMSS);
- }
- if (sendPacket(conn, conn->sessionSocket, packet, len + HDR_SIZE) < 0) {
- exit(EXIT_FAILURE);
- }
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, packet, "SENT");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-}
-
-#ifdef USE_BPF
-/**********************************************************************
-*%FUNCTION: sessionDiscoveryPacket
-*%ARGUMENTS:
-* packet -- the discovery packet that was received
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* We got a discovery packet during the session stage. This most likely
-* means a PADT.
-*
-* The BSD version uses a single socket for both discovery and session
-* packets. When a packet comes in over the wire once we are in
-* session mode, either syncReadFromEth() or asyncReadFromEth() will
-* have already read the packet and determined it to be a discovery
-* packet before passing it here.
-***********************************************************************/
-void
-sessionDiscoveryPacket(PPPoEPacket *packet)
-{
- /* Sanity check */
- if (packet->code != CODE_PADT) {
- return;
- }
-
- /* It's a PADT, all right. Is it for us? */
- if (packet->session != Connection->session) {
- /* Nope, ignore it */
- return;
- }
-
- syslog(LOG_INFO,
- "Session terminated -- received PADT from access concentrator");
- parsePacket(packet, parseLogErrs, NULL);
- exit(EXIT_SUCCESS);
-}
-#else
-/**********************************************************************
-*%FUNCTION: sessionDiscoveryPacket
-*%ARGUMENTS:
-* conn -- PPPoE connection
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* We got a discovery packet during the session stage. This most likely
-* means a PADT.
-***********************************************************************/
-void
-sessionDiscoveryPacket(PPPoEConnection *conn)
-{
- PPPoEPacket packet;
- int len;
-
- if (receivePacket(conn->discoverySocket, &packet, &len) < 0) {
- return;
- }
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
-
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-
- if (packet.code != CODE_PADT) {
- /* Not PADT; ignore it */
- return;
- }
-
- /* It's a PADT, all right. Is it for us? */
- if (packet.session != conn->session) {
- /* Nope, ignore it */
- return;
- }
-
- syslog(LOG_INFO,
- "Session terminated -- received PADT from peer");
- parsePacket(&packet, parseLogErrs, NULL);
- exit(EXIT_SUCCESS);
-}
-#endif /* USE_BPF */
-
-/**********************************************************************
-*%FUNCTION: session
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Handles the "session" phase of PPPoE
-***********************************************************************/
-void
-session(PPPoEConnection *conn)
-{
- fd_set readable;
- PPPoEPacket packet;
- struct timeval tv;
- struct timeval *tvp = NULL;
- int maxFD = 0;
- int r;
-
- /* Open a session socket */
- conn->sessionSocket = openInterface(conn->ifName, Eth_PPPOE_Session, conn->myEth);
-
- /* Prepare for select() */
- if (conn->sessionSocket > maxFD) maxFD = conn->sessionSocket;
- if (conn->discoverySocket > maxFD) maxFD = conn->discoverySocket;
- maxFD++;
-
- /* Fill in the constant fields of the packet to save time */
- memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
- memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Session);
- packet.ver = 1;
- packet.type = 1;
- packet.code = CODE_SESS;
- packet.session = conn->session;
-
- initPPP();
-
-#ifdef USE_BPF
- /* check for buffered session data */
- while (BPF_BUFFER_HAS_DATA) {
- if (conn->synchronous) {
- syncReadFromEth(conn, conn->sessionSocket, optClampMSS);
- } else {
- asyncReadFromEth(conn, conn->sessionSocket, optClampMSS);
- }
- }
-#endif
-
- for (;;) {
- if (optInactivityTimeout > 0) {
- tv.tv_sec = optInactivityTimeout;
- tv.tv_usec = 0;
- tvp = &tv;
- }
- FD_ZERO(&readable);
- FD_SET(0, &readable); /* ppp packets come from stdin */
- if (conn->discoverySocket >= 0) {
- FD_SET(conn->discoverySocket, &readable);
- }
- FD_SET(conn->sessionSocket, &readable);
- while(1) {
- r = select(maxFD, &readable, NULL, NULL, tvp);
- if (r >= 0 || errno != EINTR) break;
- }
- if (r < 0) {
- fatalSys("select (session)");
- }
- if (r == 0) { /* Inactivity timeout */
- syslog(LOG_ERR, "Inactivity timeout... something wicked happened");
- sendPADT(conn, "RP-PPPoE: Inactivity timeout");
- exit(EXIT_FAILURE);
- }
-
- /* Handle ready sockets */
- if (FD_ISSET(0, &readable)) {
- if (conn->synchronous) {
- syncReadFromPPP(conn, &packet);
- } else {
- asyncReadFromPPP(conn, &packet);
- }
- }
-
- if (FD_ISSET(conn->sessionSocket, &readable)) {
- do {
- if (conn->synchronous) {
- syncReadFromEth(conn, conn->sessionSocket, optClampMSS);
- } else {
- asyncReadFromEth(conn, conn->sessionSocket, optClampMSS);
- }
- } while (BPF_BUFFER_HAS_DATA);
- }
-
-#ifndef USE_BPF
- /* BSD uses a single socket, see *syncReadFromEth() */
- /* for calls to sessionDiscoveryPacket() */
- if (conn->discoverySocket >= 0) {
- if (FD_ISSET(conn->discoverySocket, &readable)) {
- sessionDiscoveryPacket(conn);
- }
- }
-#endif
-
- }
-}
-
-
-/***********************************************************************
-*%FUNCTION: sigPADT
-*%ARGUMENTS:
-* src -- signal received
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* If an established session exists send PADT to terminate from session
-* from our end
-***********************************************************************/
-void
-sigPADT(int src)
-{
- syslog(LOG_DEBUG,"Received signal %d.",(int)src);
- sendPADT(Connection, "RP-PPPoE: Received signal");
- exit(EXIT_SUCCESS);
-}
-
-/**********************************************************************
-*%FUNCTION: usage
-*%ARGUMENTS:
-* argv0 -- program name
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints usage information and exits.
-***********************************************************************/
-void
-usage(char const *argv0)
-{
- fprintf(stderr, "Usage: %s [options]\n", argv0);
- fprintf(stderr, "Options:\n");
-#ifdef USE_BPF
- fprintf(stderr, " -I if_name -- Specify interface (REQUIRED)\n");
-#else
- fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
- DEFAULT_IF);
-#endif
- fprintf(stderr, " -T timeout -- Specify inactivity timeout in seconds.\n");
- fprintf(stderr, " -D filename -- Log debugging information in filename.\n");
- fprintf(stderr, " -V -- Print version and exit.\n");
- fprintf(stderr, " -A -- Print access concentrator names and exit.\n");
- fprintf(stderr, " -S name -- Set desired service name.\n");
- fprintf(stderr, " -C name -- Set desired access concentrator name.\n");
- fprintf(stderr, " -U -- Use Host-Unique to allow multiple PPPoE sessions.\n");
- fprintf(stderr, " -s -- Use synchronous PPP encapsulation.\n");
- fprintf(stderr, " -m MSS -- Clamp incoming and outgoing MSS options.\n");
- fprintf(stderr, " -p pidfile -- Write process-ID to pidfile.\n");
- fprintf(stderr, " -e sess:mac -- Skip discovery phase; use existing session.\n");
- fprintf(stderr, " -n -- Do not open discovery socket.\n");
- fprintf(stderr, " -k -- Kill a session with PADT (requires -e)\n");
- fprintf(stderr, " -d -- Perform discovery, print session info and exit.\n");
- fprintf(stderr, " -f disc:sess -- Set Ethernet frame types (hex).\n");
- fprintf(stderr, " -h -- Print usage information.\n\n");
- fprintf(stderr, "PPPoE Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
- fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
- fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
- fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
- fprintf(stderr, "http://www.roaringpenguin.com\n");
- exit(EXIT_SUCCESS);
-}
-
-/**********************************************************************
-*%FUNCTION: main
-*%ARGUMENTS:
-* argc, argv -- count and values of command-line arguments
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Main program
-***********************************************************************/
-int
-main(int argc, char *argv[])
-{
- int opt;
- int n;
- unsigned int m[6]; /* MAC address in -e option */
- unsigned int s; /* Temporary to hold session */
- FILE *pidfile;
- unsigned int discoveryType, sessionType;
-
- PPPoEConnection conn;
-
-#ifdef HAVE_N_HDLC
- int disc = N_HDLC;
- long flags;
-#endif
-
- /* Initialize connection info */
- memset(&conn, 0, sizeof(conn));
- conn.discoverySocket = -1;
- conn.sessionSocket = -1;
-
- /* For signal handler */
- Connection = &conn;
-
- /* Initialize syslog */
- openlog("pppoe", LOG_PID, LOG_DAEMON);
-
- while((opt = getopt(argc, argv, "I:VAT:D:hS:C:Usm:np:e:kdf:")) != -1) {
- switch(opt) {
- case 'f':
- if (sscanf(optarg, "%x:%x", &discoveryType, &sessionType) != 2) {
- fprintf(stderr, "Illegal argument to -f: Should be disc:sess in hex\n");
- exit(EXIT_FAILURE);
- }
- Eth_PPPOE_Discovery = (UINT16_t) discoveryType;
- Eth_PPPOE_Session = (UINT16_t) sessionType;
- break;
- case 'd':
- optSkipSession = 1;
- break;
-
- case 'k':
- conn.killSession = 1;
- break;
-
- case 'n':
- /* Do not even open a discovery socket -- used when invoked
- by pppoe-server */
- conn.noDiscoverySocket = 1;
- break;
-
- case 'e':
- /* Existing session: "sess:xx:yy:zz:aa:bb:cc" where "sess" is
- session-ID, and xx:yy:zz:aa:bb:cc is MAC-address of peer */
- n = sscanf(optarg, "%u:%2x:%2x:%2x:%2x:%2x:%2x",
- &s, &m[0], &m[1], &m[2], &m[3], &m[4], &m[5]);
- if (n != 7) {
- fprintf(stderr, "Illegal argument to -e: Should be sess:xx:yy:zz:aa:bb:cc\n");
- exit(EXIT_FAILURE);
- }
-
- /* Copy MAC address of peer */
- for (n=0; n<6; n++) {
- conn.peerEth[n] = (unsigned char) m[n];
- }
-
- /* Convert session */
- conn.session = htons(s);
-
- /* Skip discovery phase! */
- conn.skipDiscovery = 1;
- break;
-
- case 'p':
- pidfile = fopen(optarg, "w");
- if (pidfile) {
- fprintf(pidfile, "%lu\n", (unsigned long) getpid());
- fclose(pidfile);
- }
- break;
- case 'S':
- SET_STRING(conn.serviceName, optarg);
- break;
- case 'C':
- SET_STRING(conn.acName, optarg);
- break;
- case 's':
- conn.synchronous = 1;
- break;
- case 'U':
- conn.useHostUniq = 1;
- break;
- case 'D':
- conn.debugFile = fopen(optarg, "w");
- if (!conn.debugFile) {
- fprintf(stderr, "Could not open %s: %s\n",
- optarg, strerror(errno));
- exit(EXIT_FAILURE);
- }
- fprintf(conn.debugFile, "rp-pppoe-%s\n", VERSION);
- fflush(conn.debugFile);
- break;
- case 'T':
- optInactivityTimeout = (int) strtol(optarg, NULL, 10);
- if (optInactivityTimeout < 0) {
- optInactivityTimeout = 0;
- }
- break;
- case 'm':
- optClampMSS = (int) strtol(optarg, NULL, 10);
- if (optClampMSS < 536) {
- fprintf(stderr, "-m: %d is too low (min 536)\n", optClampMSS);
- exit(EXIT_FAILURE);
- }
- if (optClampMSS > 1452) {
- fprintf(stderr, "-m: %d is too high (max 1452)\n", optClampMSS);
- exit(EXIT_FAILURE);
- }
- break;
- case 'I':
- SET_STRING(conn.ifName, optarg);
- break;
- case 'V':
- printf("Roaring Penguin PPPoE Version %s\n", VERSION);
- exit(EXIT_SUCCESS);
- case 'A':
- conn.printACNames = 1;
- break;
- case 'h':
- usage(argv[0]);
- break;
- default:
- usage(argv[0]);
- }
- }
-
- /* Pick a default interface name */
- if (!conn.ifName) {
-#ifdef USE_BPF
- fprintf(stderr, "No interface specified (-I option)\n");
- exit(EXIT_FAILURE);
-#else
- SET_STRING(conn.ifName, DEFAULT_IF);
-#endif
- }
-
- /* Set signal handlers: send PADT on TERM, HUP and INT */
- if (!conn.printACNames) {
- signal(SIGTERM, sigPADT);
- signal(SIGHUP, sigPADT);
- signal(SIGINT, sigPADT);
-
-#ifdef HAVE_N_HDLC
- if (conn.synchronous) {
- if (ioctl(0, TIOCSETD, &disc) < 0) {
- printErr("Unable to set line discipline to N_HDLC -- synchronous mode probably will fail");
- } else {
- syslog(LOG_INFO,
- "Changed pty line discipline to N_HDLC for synchronous mode");
- }
- /* There is a bug in Linux's select which returns a descriptor
- * as readable if N_HDLC line discipline is on, even if
- * it isn't really readable. This return happens only when
- * select() times out. To avoid blocking forever in read(),
- * make descriptor 0 non-blocking */
- flags = fcntl(0, F_GETFL);
- if (flags < 0) fatalSys("fcntl(F_GETFL)");
- if (fcntl(0, F_SETFL, (long) flags | O_NONBLOCK) < 0) {
- fatalSys("fcntl(F_SETFL)");
- }
- }
-#endif
-
- }
-
- discovery(&conn);
- if (optSkipSession) {
- printf("%u:%02x:%02x:%02x:%02x:%02x:%02x\n",
- ntohs(conn.session),
- conn.peerEth[0],
- conn.peerEth[1],
- conn.peerEth[2],
- conn.peerEth[3],
- conn.peerEth[4],
- conn.peerEth[5]);
- exit(EXIT_SUCCESS);
- }
- session(&conn);
- return 0;
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and syslog and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
- sendPADT(Connection, "RP-PPPoE: System call error");
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- char buf[1024];
- printErr(str);
- sprintf(buf, "RP-PPPoE: %.256s", str);
- sendPADT(Connection, buf);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: asyncReadFromEth
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-* sock -- Ethernet socket
-* clampMss -- if non-zero, do MSS-clamping
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reads a packet from the Ethernet interface and sends it to async PPP
-* device.
-***********************************************************************/
-void
-asyncReadFromEth(PPPoEConnection *conn, int sock, int clampMss)
-{
- PPPoEPacket packet;
- int len;
- int plen;
- int i;
- unsigned char pppBuf[4096];
- unsigned char *ptr = pppBuf;
- unsigned char c;
- UINT16_t fcs;
- unsigned char header[2] = {FRAME_ADDR, FRAME_CTRL};
- unsigned char tail[2];
-#ifdef USE_BPF
- int type;
-#endif
-
- if (receivePacket(sock, &packet, &len) < 0) {
- return;
- }
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-
-#ifdef USE_BPF
- /* Make sure this is a session packet before processing further */
- type = etherType(&packet);
- if (type == Eth_PPPOE_Discovery) {
- sessionDiscoveryPacket(&packet);
- } else if (type != Eth_PPPOE_Session) {
- return;
- }
-#endif
-
- /* Sanity check */
- if (packet.code != CODE_SESS) {
- syslog(LOG_ERR, "Unexpected packet code %d", (int) packet.code);
- return;
- }
- if (packet.ver != 1) {
- syslog(LOG_ERR, "Unexpected packet version %d", (int) packet.ver);
- return;
- }
- if (packet.type != 1) {
- syslog(LOG_ERR, "Unexpected packet type %d", (int) packet.type);
- return;
- }
- if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) {
- /* Not for us -- must be another session. This is not an error,
- so don't log anything. */
- return;
- }
-
- if (packet.session != conn->session) {
- /* Not for us -- must be another session. This is not an error,
- so don't log anything. */
- return;
- }
- plen = ntohs(packet.length);
- if (plen + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
- (int) plen, (int) len);
- return;
- }
-
- /* Clamp MSS */
- if (clampMss) {
- clampMSS(&packet, "incoming", clampMss);
- }
-
- /* Compute FCS */
- fcs = pppFCS16(PPPINITFCS16, header, 2);
- fcs = pppFCS16(fcs, packet.payload, plen) ^ 0xffff;
- tail[0] = fcs & 0x00ff;
- tail[1] = (fcs >> 8) & 0x00ff;
-
- /* Build a buffer to send to PPP */
- *ptr++ = FRAME_FLAG;
- *ptr++ = FRAME_ADDR;
- *ptr++ = FRAME_ESC;
- *ptr++ = FRAME_CTRL ^ FRAME_ENC;
-
- for (i=0; i<plen; i++) {
- c = packet.payload[i];
- if (c == FRAME_FLAG || c == FRAME_ADDR || c == FRAME_ESC || c < 0x20) {
- *ptr++ = FRAME_ESC;
- *ptr++ = c ^ FRAME_ENC;
- } else {
- *ptr++ = c;
- }
- }
- for (i=0; i<2; i++) {
- c = tail[i];
- if (c == FRAME_FLAG || c == FRAME_ADDR || c == FRAME_ESC || c < 0x20) {
- *ptr++ = FRAME_ESC;
- *ptr++ = c ^ FRAME_ENC;
- } else {
- *ptr++ = c;
- }
- }
- *ptr++ = FRAME_FLAG;
-
- /* Ship it out */
- if (write(1, pppBuf, (ptr-pppBuf)) < 0) {
- fatalSys("asyncReadFromEth: write");
- }
-}
-
-/**********************************************************************
-*%FUNCTION: syncReadFromEth
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-* sock -- Ethernet socket
-* clampMss -- if true, clamp MSS.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reads a packet from the Ethernet interface and sends it to sync PPP
-* device.
-***********************************************************************/
-void
-syncReadFromEth(PPPoEConnection *conn, int sock, int clampMss)
-{
- PPPoEPacket packet;
- int len;
- int plen;
- struct iovec vec[2];
- unsigned char dummy[2];
-#ifdef USE_BPF
- int type;
-#endif
-
- if (receivePacket(sock, &packet, &len) < 0) {
- return;
- }
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-
-#ifdef USE_BPF
- /* Make sure this is a session packet before processing further */
- type = etherType(&packet);
- if (type == Eth_PPPOE_Discovery) {
- sessionDiscoveryPacket(&packet);
- } else if (type != Eth_PPPOE_Session) {
- return;
- }
-#endif
-
- /* Sanity check */
- if (packet.code != CODE_SESS) {
- syslog(LOG_ERR, "Unexpected packet code %d", (int) packet.code);
- return;
- }
- if (packet.ver != 1) {
- syslog(LOG_ERR, "Unexpected packet version %d", (int) packet.ver);
- return;
- }
- if (packet.type != 1) {
- syslog(LOG_ERR, "Unexpected packet type %d", (int) packet.type);
- return;
- }
- if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) {
- /* Not for us -- must be another session. This is not an error,
- so don't log anything. */
- return;
- }
- if (packet.session != conn->session) {
- /* Not for us -- must be another session. This is not an error,
- so don't log anything. */
- return;
- }
- plen = ntohs(packet.length);
- if (plen + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
- (int) plen, (int) len);
- return;
- }
-
- /* Clamp MSS */
- if (clampMss) {
- clampMSS(&packet, "incoming", clampMss);
- }
-
- /* Ship it out */
- vec[0].iov_base = (void *) dummy;
- dummy[0] = FRAME_ADDR;
- dummy[1] = FRAME_CTRL;
- vec[0].iov_len = 2;
- vec[1].iov_base = (void *) packet.payload;
- vec[1].iov_len = plen;
-
- if (writev(1, vec, 2) < 0) {
- fatalSys("syncReadFromEth: write");
- }
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/pppoe.h b/mdk-stage1/rp-pppoe/src/pppoe.h
deleted file mode 100644
index da300c17d..000000000
--- a/mdk-stage1/rp-pppoe/src/pppoe.h
+++ /dev/null
@@ -1,331 +0,0 @@
-/***********************************************************************
-*
-* pppoe.h
-*
-* Declaration of various PPPoE constants
-*
-* Copyright (C) 2000 Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-* $Id$
-*
-***********************************************************************/
-
-#ifdef __sun__
-#define __EXTENSIONS__
-#endif
-
-#include "config.h"
-
-#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
-#define _POSIX_SOURCE 1 /* For sigaction defines */
-#endif
-
-#include <stdio.h> /* For FILE */
-#include <sys/types.h> /* For pid_t */
-
-/* How do we access raw Ethernet devices? */
-#undef USE_LINUX_PACKET
-#undef USE_BPF
-
-#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
-#define USE_LINUX_PACKET 1
-#elif defined(HAVE_NET_BPF_H)
-#define USE_BPF 1
-#elif defined(HAVE_SYS_DLPI_H)
-#define USE_DLPI
-#endif
-
-/* Sanity check */
-#if !defined(USE_BPF) && !defined(USE_LINUX_PACKET) && !defined(USE_DLPI)
-#error Unknown method for accessing raw Ethernet frames
-#endif
-
-#ifdef HAVE_SYS_CDEFS_H
-#include <sys/cdefs.h>
-#endif
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-/* Ugly header files on some Linux boxes... */
-#if defined(HAVE_LINUX_IF_H)
-#include <linux/if.h>
-#elif defined(HAVE_NET_IF_H)
-#include <net/if.h>
-#endif
-
-#ifdef HAVE_NET_IF_TYPES_H
-#include <net/if_types.h>
-#endif
-
-#ifdef HAVE_NET_IF_DL_H
-#include <net/if_dl.h>
-#endif
-
-/* I'm not sure why this is needed... I do not have OpenBSD */
-#if defined(__OpenBSD__)
-#include <net/ppp_defs.h>
-#include <net/if_ppp.h>
-#endif
-
-#ifdef USE_BPF
-extern int bpfSize;
-struct PPPoEPacketStruct;
-void sessionDiscoveryPacket(struct PPPoEPacketStruct *packet);
-#define BPF_BUFFER_IS_EMPTY (bpfSize <= 0)
-#define BPF_BUFFER_HAS_DATA (bpfSize > 0)
-#define ethhdr ether_header
-#define h_dest ether_dhost
-#define h_source ether_shost
-#define h_proto ether_type
-#define ETH_DATA_LEN ETHERMTU
-#define ETH_ALEN ETHER_ADDR_LEN
-#else
-#undef USE_BPF
-#define BPF_BUFFER_IS_EMPTY 1
-#define BPF_BUFFER_HAS_DATA 0
-#endif
-
-#ifdef USE_DLPI
-#include <sys/ethernet.h>
-#define ethhdr ether_header
-#define ETH_DATA_LEN ETHERMTU
-#define ETH_ALEN ETHERADDRL
-#define h_dest ether_dhost.ether_addr_octet
-#define h_source ether_shost.ether_addr_octet
-#define h_proto ether_type
-
-/* cloned from dltest.h */
-#define MAXDLBUF 8192
-#define MAXDLADDR 1024
-#define MAXWAIT 15
-#define OFFADDR(s, n) (u_char*)((char*)(s) + (int)(n))
-#define CASERET(s) case s: return ("s")
-
-#endif
-
-/* Define various integer types -- assumes a char is 8 bits */
-#if SIZEOF_UNSIGNED_SHORT == 2
-typedef unsigned short UINT16_t;
-#elif SIZEOF_UNSIGNED_INT == 2
-typedef unsigned int UINT16_t;
-#else
-#error Could not find a 16-bit integer type
-#endif
-
-#if SIZEOF_UNSIGNED_SHORT == 4
-typedef unsigned short UINT32_t;
-#elif SIZEOF_UNSIGNED_INT == 4
-typedef unsigned int UINT32_t;
-#elif SIZEOF_UNSIGNED_LONG == 4
-typedef unsigned long UINT32_t;
-#else
-#error Could not find a 16-bit integer type
-#endif
-
-#ifdef HAVE_LINUX_IF_ETHER_H
-#include <linux/if_ether.h>
-#endif
-
-#include <netinet/in.h>
-
-#ifdef HAVE_NETINET_IF_ETHER_H
-#include <sys/types.h>
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifndef HAVE_SYS_DLPI_H
-#include <netinet/if_ether.h>
-#endif
-#endif
-
-
-
-/* Ethernet frame types according to RFC 2516 */
-#define ETH_PPPOE_DISCOVERY 0x8863
-#define ETH_PPPOE_SESSION 0x8864
-
-/* But some brain-dead peers disobey the RFC, so frame types are variables */
-extern UINT16_t Eth_PPPOE_Discovery;
-extern UINT16_t Eth_PPPOE_Session;
-
-/* PPPoE codes */
-#define CODE_PADI 0x09
-#define CODE_PADO 0x07
-#define CODE_PADR 0x19
-#define CODE_PADS 0x65
-#define CODE_PADT 0xA7
-#define CODE_SESS 0x00
-
-/* PPPoE Tags */
-#define TAG_END_OF_LIST 0x0000
-#define TAG_SERVICE_NAME 0x0101
-#define TAG_AC_NAME 0x0102
-#define TAG_HOST_UNIQ 0x0103
-#define TAG_AC_COOKIE 0x0104
-#define TAG_VENDOR_SPECIFIC 0x0105
-#define TAG_RELAY_SESSION_ID 0x0110
-#define TAG_SERVICE_NAME_ERROR 0x0201
-#define TAG_AC_SYSTEM_ERROR 0x0202
-#define TAG_GENERIC_ERROR 0x0203
-
-/* Discovery phase states */
-#define STATE_SENT_PADI 0
-#define STATE_RECEIVED_PADO 1
-#define STATE_SENT_PADR 2
-#define STATE_SESSION 3
-#define STATE_TERMINATED 4
-
-/* How many PADI/PADS attempts? */
-#define MAX_PADI_ATTEMPTS 3
-
-/* Initial timeout for PADO/PADS */
-#define PADI_TIMEOUT 5
-
-/* States for scanning PPP frames */
-#define STATE_WAITFOR_FRAME_ADDR 0
-#define STATE_DROP_PROTO 1
-#define STATE_BUILDING_PACKET 2
-
-/* Special PPP frame characters */
-#define FRAME_ESC 0x7D
-#define FRAME_FLAG 0x7E
-#define FRAME_ADDR 0xFF
-#define FRAME_CTRL 0x03
-#define FRAME_ENC 0x20
-
-#define IPV4ALEN 4
-#define SMALLBUF 256
-
-/* A PPPoE Packet, including Ethernet headers */
-typedef struct PPPoEPacketStruct {
- struct ethhdr ethHdr; /* Ethernet header */
-#ifdef PACK_BITFIELDS_REVERSED
- unsigned int type:4; /* PPPoE Type (must be 1) */
- unsigned int ver:4; /* PPPoE Version (must be 1) */
-#else
- unsigned int ver:4; /* PPPoE Version (must be 1) */
- unsigned int type:4; /* PPPoE Type (must be 1) */
-#endif
- unsigned int code:8; /* PPPoE code */
- unsigned int session:16; /* PPPoE session */
- unsigned int length:16; /* Payload length */
- unsigned char payload[ETH_DATA_LEN]; /* A bit of room to spare */
-} PPPoEPacket;
-
-/* Header size of a PPPoE packet */
-#define PPPOE_OVERHEAD 6 /* type, code, session, length */
-#define HDR_SIZE (sizeof(struct ethhdr) + PPPOE_OVERHEAD)
-#define MAX_PPPOE_PAYLOAD (ETH_DATA_LEN - PPPOE_OVERHEAD)
-#define MAX_PPPOE_MTU (MAX_PPPOE_PAYLOAD - 2)
-
-/* PPPoE Tag */
-
-typedef struct PPPoETagStruct {
- unsigned int type:16; /* tag type */
- unsigned int length:16; /* Length of payload */
- unsigned char payload[ETH_DATA_LEN]; /* A LOT of room to spare */
-} PPPoETag;
-/* Header size of a PPPoE tag */
-#define TAG_HDR_SIZE 4
-
-/* Chunk to read from stdin */
-#define READ_CHUNK 4096
-
-/* Function passed to parsePacket */
-typedef void ParseFunc(UINT16_t type,
- UINT16_t len,
- unsigned char *data,
- void *extra);
-
-/* Structures used by PPPoE server */
-struct ClientSession {
- pid_t pid; /* PID of child handling session */
- unsigned char ip[IPV4ALEN]; /* IP address of peer */
- UINT16_t sess; /* Session number */
- unsigned char eth[ETH_ALEN]; /* Peer's Ethernet address */
- int recvdPADT; /* Peer sent a PADT */
-};
-
-#define PPPINITFCS16 0xffff /* Initial FCS value */
-
-/* Keep track of the state of a connection -- collect everything in
- one spot */
-
-typedef struct PPPoEConnectionStruct {
- int discoveryState; /* Where we are in discovery */
- int discoverySocket; /* Raw socket for discovery frames */
- int sessionSocket; /* Raw socket for session frames */
- unsigned char myEth[ETH_ALEN]; /* My MAC address */
- unsigned char peerEth[ETH_ALEN]; /* Peer's MAC address */
- UINT16_t session; /* Session ID */
- char *ifName; /* Interface name */
- char *serviceName; /* Desired service name, if any */
- char *acName; /* Desired AC name, if any */
- int synchronous; /* Use synchronous PPP */
- int useHostUniq; /* Use Host-Uniq tag */
- int printACNames; /* Just print AC names */
- int skipDiscovery; /* Skip discovery */
- int noDiscoverySocket; /* Don't even open discovery socket */
- int killSession; /* Kill session and exit */
- FILE *debugFile; /* Debug file for dumping packets */
- int numPADOs; /* Number of PADO packets received */
- PPPoETag cookie; /* We have to send this if we get it */
- PPPoETag relayId; /* Ditto */
-} PPPoEConnection;
-
-/* Structure used to determine acceptable PADO or PADS packet */
-struct PacketCriteria {
- PPPoEConnection *conn;
- int acNameOK;
- int serviceNameOK;
-};
-
-/* Function Prototypes */
-UINT16_t etherType(PPPoEPacket *packet);
-int openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr);
-int sendPacket(PPPoEConnection *conn, int sock, PPPoEPacket *pkt, int size);
-int receivePacket(int sock, PPPoEPacket *pkt, int *size);
-void fatalSys(char const *str);
-void rp_fatal(char const *str);
-void printErr(char const *str);
-void sysErr(char const *str);
-void dumpPacket(FILE *fp, PPPoEPacket *packet, char const *dir);
-void dumpHex(FILE *fp, unsigned char const *buf, int len);
-int parsePacket(PPPoEPacket *packet, ParseFunc *func, void *extra);
-void parseLogErrs(UINT16_t typ, UINT16_t len, unsigned char *data, void *xtra);
-void syncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet);
-void asyncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet);
-void asyncReadFromEth(PPPoEConnection *conn, int sock, int clampMss);
-void syncReadFromEth(PPPoEConnection *conn, int sock, int clampMss);
-char *strDup(char const *str);
-void sendPADT(PPPoEConnection *conn, char const *msg);
-void sendSessionPacket(PPPoEConnection *conn,
- PPPoEPacket *packet, int len);
-void initPPP(void);
-void clampMSS(PPPoEPacket *packet, char const *dir, int clampMss);
-UINT16_t computeTCPChecksum(unsigned char *ipHdr, unsigned char *tcpHdr);
-UINT16_t pppFCS16(UINT16_t fcs, unsigned char *cp, int len);
-void discovery(PPPoEConnection *conn);
-unsigned char *findTag(PPPoEPacket *packet, UINT16_t tagType,
- PPPoETag *tag);
-
-#define SET_STRING(var, val) do { if (var) free(var); var = strDup(val); } while(0);
-
-#define CHECK_ROOM(cursor, start, len) \
-do {\
- if (((cursor)-(start))+(len) > MAX_PPPOE_PAYLOAD) { \
- syslog(LOG_ERR, "Would create too-long packet"); \
- return; \
- } \
-} while(0)
-
-/* True if Ethernet address is broadcast or multicast */
-#define NOT_UNICAST(e) ((e[0] & 0x01) != 0)
-#define BROADCAST(e) ((e[0] & e[1] & e[2] & e[3] & e[4] & e[5]) == 0xFF)
-#define NOT_BROADCAST(e) ((e[0] & e[1] & e[2] & e[3] & e[4] & e[5]) != 0xFF)
diff --git a/mdk-stage1/rp-pppoe/src/relay.c b/mdk-stage1/rp-pppoe/src/relay.c
deleted file mode 100644
index 9738cb8a8..000000000
--- a/mdk-stage1/rp-pppoe/src/relay.c
+++ /dev/null
@@ -1,1541 +0,0 @@
-/***********************************************************************
-*
-* relay.c
-*
-* Implementation of PPPoE relay
-*
-* Copyright (C) 2001 Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-* $Id$
-*
-***********************************************************************/
-static char const RCSID[] =
-"$Id$";
-
-#define _GNU_SOURCE 1 /* For SA_RESTART */
-
-#include "relay.h"
-
-#include <signal.h>
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-
-/* Interfaces (max MAX_INTERFACES) */
-PPPoEInterface Interfaces[MAX_INTERFACES];
-int NumInterfaces;
-
-/* Relay info */
-int NumSessions;
-int MaxSessions;
-PPPoESession *AllSessions;
-PPPoESession *FreeSessions;
-PPPoESession *ActiveSessions;
-
-SessionHash *AllHashes;
-SessionHash *FreeHashes;
-SessionHash *Buckets[HASHTAB_SIZE];
-
-volatile unsigned int Epoch = 0;
-volatile unsigned int CleanCounter = 0;
-
-/* How often to clean up stale sessions? */
-#define MIN_CLEAN_PERIOD 30 /* Minimum period to run cleaner */
-#define TIMEOUT_DIVISOR 20 /* How often to run cleaner per timeout period */
-unsigned int CleanPeriod = MIN_CLEAN_PERIOD;
-
-/* How long a session can be idle before it is cleaned up? */
-unsigned int IdleTimeout = MIN_CLEAN_PERIOD * TIMEOUT_DIVISOR;
-
-/* Pipe for breaking select() to initiate periodic cleaning */
-int CleanPipe[2];
-
-/* Our relay: if_index followed by peer_mac */
-#define MY_RELAY_TAG_LEN (sizeof(int) + ETH_ALEN)
-
-/* Hack for daemonizing */
-#define CLOSEFD 64
-
-/**********************************************************************
-*%FUNCTION: keepDescriptor
-*%ARGUMENTS:
-* fd -- a file descriptor
-*%RETURNS:
-* 1 if descriptor should NOT be closed during daemonizing; 0 otherwise.
-***********************************************************************/
-static int
-keepDescriptor(int fd)
-{
- int i;
- if (fd == CleanPipe[0] || fd == CleanPipe[1]) return 1;
- for (i=0; i<NumInterfaces; i++) {
- if (fd == Interfaces[i].discoverySock ||
- fd == Interfaces[i].sessionSock) return 1;
- }
- return 0;
-}
-
-/**********************************************************************
-*%FUNCTION: addTag
-*%ARGUMENTS:
-* packet -- a PPPoE packet
-* tag -- tag to add
-*%RETURNS:
-* -1 if no room in packet; number of bytes added otherwise.
-*%DESCRIPTION:
-* Inserts a tag as the first tag in a PPPoE packet.
-***********************************************************************/
-int
-addTag(PPPoEPacket *packet, PPPoETag const *tag)
-{
- return insertBytes(packet, packet->payload, tag,
- ntohs(tag->length) + TAG_HDR_SIZE);
-}
-
-/**********************************************************************
-*%FUNCTION: insertBytes
-*%ARGUMENTS:
-* packet -- a PPPoE packet
-* loc -- location at which to insert bytes of data
-* bytes -- the data to insert
-* len -- length of data to insert
-*%RETURNS:
-* -1 if no room in packet; len otherwise.
-*%DESCRIPTION:
-* Inserts "len" bytes of data at location "loc" in "packet", moving all
-* other data up to make room.
-***********************************************************************/
-int
-insertBytes(PPPoEPacket *packet,
- unsigned char *loc,
- void const *bytes,
- int len)
-{
- int toMove;
- int plen = ntohs(packet->length);
- /* Sanity checks */
- if (loc < packet->payload ||
- loc > packet->payload + plen ||
- len + plen > MAX_PPPOE_PAYLOAD) {
- return -1;
- }
-
- toMove = (packet->payload + plen) - loc;
- memmove(loc+len, loc, toMove);
- memcpy(loc, bytes, len);
- packet->length = htons(plen + len);
- return len;
-}
-
-/**********************************************************************
-*%FUNCTION: removeBytes
-*%ARGUMENTS:
-* packet -- a PPPoE packet
-* loc -- location at which to remove bytes of data
-* len -- length of data to remove
-*%RETURNS:
-* -1 if there was a problem, len otherwise
-*%DESCRIPTION:
-* Removes "len" bytes of data from location "loc" in "packet", moving all
-* other data down to close the gap
-***********************************************************************/
-int
-removeBytes(PPPoEPacket *packet,
- unsigned char *loc,
- int len)
-{
- int toMove;
- int plen = ntohs(packet->length);
- /* Sanity checks */
- if (len < 0 || len > plen ||
- loc < packet->payload ||
- loc + len > packet->payload + plen) {
- return -1;
- }
-
- toMove = ((packet->payload + plen) - loc) - len;
- memmove(loc, loc+len, toMove);
- packet->length = htons(plen - len);
- return len;
-}
-
-/**********************************************************************
-*%FUNCTION: usage
-*%ARGUMENTS:
-* argv0 -- program name
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints usage information and exits.
-***********************************************************************/
-void
-usage(char const *argv0)
-{
- fprintf(stderr, "Usage: %s [options]\n", argv0);
- fprintf(stderr, "Options:\n");
- fprintf(stderr, " -S if_name -- Specify interface for PPPoE Server\n");
- fprintf(stderr, " -C if_name -- Specify interface for PPPoE Client\n");
- fprintf(stderr, " -B if_name -- Specify interface for both clients and server\n");
- fprintf(stderr, " -n nsess -- Maxmimum number of sessions to relay\n");
- fprintf(stderr, " -i timeout -- Idle timeout in seconds (0 = no timeout)\n");
- fprintf(stderr, " -F -- Do not fork into background\n");
- fprintf(stderr, " -h -- Print this help message\n");
-
- fprintf(stderr, "\nPPPoE Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
- fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
- fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
- fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
- fprintf(stderr, "http://www.roaringpenguin.com\n");
- exit(EXIT_SUCCESS);
-}
-
-/**********************************************************************
-*%FUNCTION: main
-*%ARGUMENTS:
-* argc, argv -- usual suspects
-*%RETURNS:
-* EXIT_SUCCESS or EXIT_FAILURE
-*%DESCRIPTION:
-* Main program. Options:
-* -C ifname -- Use interface for PPPoE clients
-* -S ifname -- Use interface for PPPoE servers
-* -B ifname -- Use interface for both clients and servers
-* -n sessions -- Maximum of "n" sessions
-***********************************************************************/
-int
-main(int argc, char *argv[])
-{
- int opt;
- int nsess = DEFAULT_SESSIONS;
- struct sigaction sa;
- int beDaemon = 1;
- openlog("pppoe-relay", LOG_PID, LOG_DAEMON);
-
- while((opt = getopt(argc, argv, "hC:S:B:n:i:F")) != -1) {
- switch(opt) {
- case 'h':
- usage(argv[0]);
- break;
- case 'F':
- beDaemon = 0;
- break;
- case 'C':
- addInterface(optarg, 1, 0);
- break;
- case 'S':
- addInterface(optarg, 0, 1);
- break;
- case 'B':
- addInterface(optarg, 1, 1);
- break;
- case 'i':
- if (sscanf(optarg, "%u", &IdleTimeout) != 1) {
- fprintf(stderr, "Illegal argument to -i: should be -i timeout\n");
- exit(EXIT_FAILURE);
- }
- CleanPeriod = IdleTimeout / TIMEOUT_DIVISOR;
- if (CleanPeriod < MIN_CLEAN_PERIOD) CleanPeriod = MIN_CLEAN_PERIOD;
- break;
- case 'n':
- if (sscanf(optarg, "%d", &nsess) != 1) {
- fprintf(stderr, "Illegal argument to -n: should be -n #sessions\n");
- exit(EXIT_FAILURE);
- }
- if (nsess < 1 || nsess > 65534) {
- fprintf(stderr, "Illegal argument to -n: must range from 1 to 65534\n");
- exit(EXIT_FAILURE);
- }
- break;
- default:
- usage(argv[0]);
- }
- }
-
-#ifdef USE_LINUX_PACKET
-#ifndef HAVE_STRUCT_SOCKADDR_LL
- fprintf(stderr, "The PPPoE relay does not work on Linux 2.0 kernels.\n");
- exit(EXIT_FAILURE);
-#endif
-#endif
-
- /* Check that at least two interfaces were defined */
- if (NumInterfaces < 2) {
- fprintf(stderr, "%s: Must define at least two interfaces\n",
- argv[0]);
- exit(EXIT_FAILURE);
- }
-
- /* Make a pipe for the cleaner */
- if (pipe(CleanPipe) < 0) {
- fatalSys("pipe");
- }
-
- /* Set up alarm handler */
- sa.sa_handler = alarmHandler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = SA_RESTART;
- if (sigaction(SIGALRM, &sa, NULL) < 0) {
- fatalSys("sigaction");
- }
-
- /* Allocate memory for sessions, etc. */
- initRelay(nsess);
-
- /* Daemonize -- UNIX Network Programming, Vol. 1, Stevens */
- if (beDaemon) {
- int i;
- i = fork();
- if (i < 0) {
- fatalSys("fork");
- } else if (i != 0) {
- /* parent */
- exit(0);
- }
- setsid();
- signal(SIGHUP, SIG_IGN);
- i = fork();
- if (i < 0) {
- fatalSys("fork");
- } else if (i != 0) {
- exit(0);
- }
-
- chdir("/");
- closelog();
- for (i=0; i<CLOSEFD; i++) {
- if (!keepDescriptor(i)) {
- close(i);
- }
- }
- /* We nuked our syslog descriptor... */
- openlog("pppoe-relay", LOG_PID, LOG_DAEMON);
- }
-
- /* Kick off SIGALRM if there is an idle timeout */
- if (IdleTimeout) alarm(1);
-
- /* Enter the relay loop */
- relayLoop();
-
- /* Shouldn't ever get here... */
- return EXIT_FAILURE;
-}
-
-/**********************************************************************
-*%FUNCTION: addInterface
-*%ARGUMENTS:
-* ifname -- interface name
-* clientOK -- true if this interface should relay PADI, PADR packets.
-* acOK -- true if this interface should relay PADO, PADS packets.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Opens an interface; sets up discovery and session sockets.
-***********************************************************************/
-void
-addInterface(char const *ifname,
- int clientOK,
- int acOK)
-{
- PPPoEInterface *i;
- if (NumInterfaces >= MAX_INTERFACES) {
- fprintf(stderr, "Too many interfaces (%d max)\n",
- MAX_INTERFACES);
- exit(EXIT_FAILURE);
- }
- i = &Interfaces[NumInterfaces++];
- strncpy(i->name, ifname, IFNAMSIZ);
- i->name[IFNAMSIZ] = 0;
-
- i->discoverySock = openInterface(ifname, Eth_PPPOE_Discovery, i->mac);
- i->sessionSock = openInterface(ifname, Eth_PPPOE_Session, NULL);
- i->clientOK = clientOK;
- i->acOK = acOK;
-}
-
-/**********************************************************************
-*%FUNCTION: initRelay
-*%ARGUMENTS:
-* nsess -- maximum allowable number of sessions
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Initializes relay hash table and session tables.
-***********************************************************************/
-void
-initRelay(int nsess)
-{
- int i;
- NumSessions = 0;
- MaxSessions = nsess;
-
- AllSessions = calloc(MaxSessions, sizeof(PPPoESession));
- if (!AllSessions) {
- rp_fatal("Unable to allocate memory for PPPoE session table");
- }
- AllHashes = calloc(MaxSessions*2, sizeof(SessionHash));
- if (!AllHashes) {
- rp_fatal("Unable to allocate memory for PPPoE hash table");
- }
-
- /* Initialize sessions in a linked list */
- AllSessions[0].prev = NULL;
- if (MaxSessions > 1) {
- AllSessions[0].next = &AllSessions[1];
- } else {
- AllSessions[0].next = NULL;
- }
- for (i=1; i<MaxSessions-1; i++) {
- AllSessions[i].prev = &AllSessions[i-1];
- AllSessions[i].next = &AllSessions[i+1];
- }
- if (MaxSessions > 1) {
- AllSessions[MaxSessions-1].prev = &AllSessions[MaxSessions-2];
- AllSessions[MaxSessions-1].next = NULL;
- }
-
- FreeSessions = AllSessions;
- ActiveSessions = NULL;
-
- /* Initialize session numbers which we hand out */
- for (i=0; i<MaxSessions; i++) {
- AllSessions[i].sesNum = htons((UINT16_t) i+1);
- }
-
- /* Initialize hashes in a linked list */
- AllHashes[0].prev = NULL;
- AllHashes[0].next = &AllHashes[1];
- for (i=1; i<2*MaxSessions-1; i++) {
- AllHashes[i].prev = &AllHashes[i-1];
- AllHashes[i].next = &AllHashes[i+1];
- }
- AllHashes[2*MaxSessions-1].prev = &AllHashes[2*MaxSessions-2];
- AllHashes[2*MaxSessions-1].next = NULL;
-
- FreeHashes = AllHashes;
-}
-
-/**********************************************************************
-*%FUNCTION: createSession
-*%ARGUMENTS:
-* ac -- Ethernet interface on access-concentrator side
-* cli -- Ethernet interface on client side
-* acMac -- Access concentrator's MAC address
-* cliMac -- Client's MAC address
-* acSess -- Access concentrator's session ID.
-*%RETURNS:
-* PPPoESession structure; NULL if one could not be allocated
-*%DESCRIPTION:
-* Initializes relay hash table and session tables.
-***********************************************************************/
-PPPoESession *
-createSession(PPPoEInterface const *ac,
- PPPoEInterface const *cli,
- unsigned char const *acMac,
- unsigned char const *cliMac,
- UINT16_t acSes)
-{
- PPPoESession *sess;
- SessionHash *acHash, *cliHash;
-
- if (NumSessions >= MaxSessions) {
- printErr("Maximum number of sessions reached -- cannot create new session");
- return NULL;
- }
-
- /* Grab a free session */
- sess = FreeSessions;
- FreeSessions = sess->next;
- NumSessions++;
-
- /* Link it to the active list */
- sess->next = ActiveSessions;
- if (sess->next) {
- sess->next->prev = sess;
- }
- ActiveSessions = sess;
- sess->prev = NULL;
-
- sess->epoch = Epoch;
-
- /* Get two hash entries */
- acHash = FreeHashes;
- cliHash = acHash->next;
- FreeHashes = cliHash->next;
-
- acHash->peer = cliHash;
- cliHash->peer = acHash;
-
- sess->acHash = acHash;
- sess->clientHash = cliHash;
-
- acHash->interface = ac;
- cliHash->interface = cli;
-
- memcpy(acHash->peerMac, acMac, ETH_ALEN);
- acHash->sesNum = acSes;
- acHash->ses = sess;
-
- memcpy(cliHash->peerMac, cliMac, ETH_ALEN);
- cliHash->sesNum = sess->sesNum;
- cliHash->ses = sess;
-
- addHash(acHash);
- addHash(cliHash);
-
- /* Log */
- syslog(LOG_INFO,
- "Opened session: server=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d), client=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d)",
- acHash->peerMac[0], acHash->peerMac[1],
- acHash->peerMac[2], acHash->peerMac[3],
- acHash->peerMac[4], acHash->peerMac[5],
- acHash->interface->name,
- ntohs(acHash->sesNum),
- cliHash->peerMac[0], cliHash->peerMac[1],
- cliHash->peerMac[2], cliHash->peerMac[3],
- cliHash->peerMac[4], cliHash->peerMac[5],
- cliHash->interface->name,
- ntohs(cliHash->sesNum));
-
- return sess;
-}
-
-/**********************************************************************
-*%FUNCTION: freeSession
-*%ARGUMENTS:
-* ses -- session to free
-* msg -- extra message to log on syslog.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Frees data used by a PPPoE session -- adds hashes and session back
-* to the free list
-***********************************************************************/
-void
-freeSession(PPPoESession *ses, char const *msg)
-{
- syslog(LOG_INFO,
- "Closed session: server=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d), client=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d): %s",
- ses->acHash->peerMac[0], ses->acHash->peerMac[1],
- ses->acHash->peerMac[2], ses->acHash->peerMac[3],
- ses->acHash->peerMac[4], ses->acHash->peerMac[5],
- ses->acHash->interface->name,
- ntohs(ses->acHash->sesNum),
- ses->clientHash->peerMac[0], ses->clientHash->peerMac[1],
- ses->clientHash->peerMac[2], ses->clientHash->peerMac[3],
- ses->clientHash->peerMac[4], ses->clientHash->peerMac[5],
- ses->clientHash->interface->name,
- ntohs(ses->clientHash->sesNum), msg);
-
- /* Unlink from active sessions */
- if (ses->prev) {
- ses->prev->next = ses->next;
- } else {
- ActiveSessions = ses->next;
- }
- if (ses->next) {
- ses->next->prev = ses->prev;
- }
-
- /* Link onto free list -- this is a singly-linked list, so
- we do not care about prev */
- ses->next = FreeSessions;
- FreeSessions = ses;
-
- unhash(ses->acHash);
- unhash(ses->clientHash);
- NumSessions--;
-}
-
-/**********************************************************************
-*%FUNCTION: unhash
-*%ARGUMENTS:
-* sh -- session hash to free
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Frees a session hash -- takes it out of hash table and puts it on
-* free list.
-***********************************************************************/
-void
-unhash(SessionHash *sh)
-{
- unsigned int b = hash(sh->peerMac, sh->sesNum) % HASHTAB_SIZE;
- if (sh->prev) {
- sh->prev->next = sh->next;
- } else {
- Buckets[b] = sh->next;
- }
-
- if (sh->next) {
- sh->next->prev = sh->prev;
- }
-
- /* Add to free list (singly-linked) */
- sh->next = FreeHashes;
- FreeHashes = sh;
-}
-
-/**********************************************************************
-*%FUNCTION: addHash
-*%ARGUMENTS:
-* sh -- a session hash
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Adds a SessionHash to the hash table
-***********************************************************************/
-void
-addHash(SessionHash *sh)
-{
- unsigned int b = hash(sh->peerMac, sh->sesNum) % HASHTAB_SIZE;
- sh->next = Buckets[b];
- sh->prev = NULL;
- if (sh->next) {
- sh->next->prev = sh;
- }
- Buckets[b] = sh;
-}
-
-/**********************************************************************
-*%FUNCTION: hash
-*%ARGUMENTS:
-* mac -- an Ethernet address
-* sesNum -- a session number
-*%RETURNS:
-* A hash value combining Ethernet address with session number.
-* Currently very simplistic; we may need to experiment with different
-* hash values.
-***********************************************************************/
-unsigned int
-hash(unsigned char const *mac, UINT16_t sesNum)
-{
- unsigned int ans1 =
- ((unsigned int) mac[0]) |
- (((unsigned int) mac[1]) << 8) |
- (((unsigned int) mac[2]) << 16) |
- (((unsigned int) mac[3]) << 24);
- unsigned int ans2 =
- ((unsigned int) sesNum) |
- (((unsigned int) mac[4]) << 16) |
- (((unsigned int) mac[5]) << 24);
- return ans1 ^ ans2;
-}
-
-/**********************************************************************
-*%FUNCTION: findSession
-*%ARGUMENTS:
-* mac -- an Ethernet address
-* sesNum -- a session number
-*%RETURNS:
-* The session hash for peer address "mac", session number sesNum
-***********************************************************************/
-SessionHash *
-findSession(unsigned char const *mac, UINT16_t sesNum)
-{
- unsigned int b = hash(mac, sesNum) % HASHTAB_SIZE;
- SessionHash *sh = Buckets[b];
- while(sh) {
- if (!memcmp(mac, sh->peerMac, ETH_ALEN) && sesNum == sh->sesNum) {
- return sh;
- }
- sh = sh->next;
- }
- return NULL;
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and syslog and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- printErr(str);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: relayLoop
-*%ARGUMENTS:
-* None
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Runs the relay loop. This function never returns
-***********************************************************************/
-void
-relayLoop()
-{
- fd_set readable, readableCopy;
- int maxFD;
- int i, r;
- int sock;
-
- /* Build the select set */
- FD_ZERO(&readable);
- maxFD = 0;
- for (i=0; i<NumInterfaces; i++) {
- sock = Interfaces[i].discoverySock;
- if (sock > maxFD) maxFD = sock;
- FD_SET(sock, &readable);
- sock = Interfaces[i].sessionSock;
- if (sock > maxFD) maxFD = sock;
- FD_SET(sock, &readable);
- if (CleanPipe[0] > maxFD) maxFD = CleanPipe[0];
- FD_SET(CleanPipe[0], &readable);
- }
- maxFD++;
- for(;;) {
- readableCopy = readable;
- for(;;) {
- r = select(maxFD, &readableCopy, NULL, NULL, NULL);
- if (r >= 0 || errno != EINTR) break;
- }
- if (r < 0) {
- sysErr("select (relayLoop)");
- continue;
- }
-
- /* Handle session packets first */
- for (i=0; i<NumInterfaces; i++) {
- if (FD_ISSET(Interfaces[i].sessionSock, &readableCopy)) {
- relayGotSessionPacket(&Interfaces[i]);
- }
- }
-
- /* Now handle discovery packets */
- for (i=0; i<NumInterfaces; i++) {
- if (FD_ISSET(Interfaces[i].discoverySock, &readableCopy)) {
- relayGotDiscoveryPacket(&Interfaces[i]);
- }
- }
-
- /* Handle the session-cleaning process */
- if (FD_ISSET(CleanPipe[0], &readableCopy)) {
- char dummy;
- CleanCounter = 0;
- read(CleanPipe[0], &dummy, 1);
- if (IdleTimeout) cleanSessions();
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: relayGotDiscoveryPacket
-*%ARGUMENTS:
-* iface -- interface on which packet is waiting
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a discovery packet.
-***********************************************************************/
-void
-relayGotDiscoveryPacket(PPPoEInterface const *iface)
-{
- PPPoEPacket packet;
- int size;
-
- if (receivePacket(iface->discoverySock, &packet, &size) < 0) {
- return;
- }
- /* Ignore unknown code/version */
- if (packet.ver != 1 || packet.type != 1) {
- return;
- }
-
- /* Validate length */
- if (ntohs(packet.length) + HDR_SIZE > size) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
-
- /* Drop Ethernet frame padding */
- if (size > ntohs(packet.length) + HDR_SIZE) {
- size = ntohs(packet.length) + HDR_SIZE;
- }
-
- switch(packet.code) {
- case CODE_PADT:
- relayHandlePADT(iface, &packet, size);
- break;
- case CODE_PADI:
- relayHandlePADI(iface, &packet, size);
- break;
- case CODE_PADO:
- relayHandlePADO(iface, &packet, size);
- break;
- case CODE_PADR:
- relayHandlePADR(iface, &packet, size);
- break;
- case CODE_PADS:
- relayHandlePADS(iface, &packet, size);
- break;
- default:
- syslog(LOG_ERR, "Discovery packet on %s with unknown code %d",
- iface->name, (int) packet.code);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: relayGotSessionPacket
-*%ARGUMENTS:
-* iface -- interface on which packet is waiting
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a session packet.
-***********************************************************************/
-void
-relayGotSessionPacket(PPPoEInterface const *iface)
-{
- PPPoEPacket packet;
- int size;
- SessionHash *sh;
- PPPoESession *ses;
-
- if (receivePacket(iface->sessionSock, &packet, &size) < 0) {
- return;
- }
-
- /* Ignore unknown code/version */
- if (packet.ver != 1 || packet.type != 1) {
- return;
- }
-
- /* Must be a session packet */
- if (packet.code != CODE_SESS) {
- syslog(LOG_ERR, "Session packet with code %d", (int) packet.code);
- return;
- }
-
- /* Ignore session packets whose destination address isn't ours */
- if (memcmp(packet.ethHdr.h_dest, iface->mac, ETH_ALEN)) {
- return;
- }
-
- /* Validate length */
- if (ntohs(packet.length) + HDR_SIZE > size) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
-
- /* Drop Ethernet frame padding */
- if (size > ntohs(packet.length) + HDR_SIZE) {
- size = ntohs(packet.length) + HDR_SIZE;
- }
-
- /* We're in business! Find the hash */
- sh = findSession(packet.ethHdr.h_source, packet.session);
- if (!sh) {
- /* Don't log this. Someone could be running the client and the
- relay on the same box. */
- return;
- }
-
- /* Relay it */
- ses = sh->ses;
- ses->epoch = Epoch;
- sh = sh->peer;
- packet.session = sh->sesNum;
- memcpy(packet.ethHdr.h_source, sh->interface->mac, ETH_ALEN);
- memcpy(packet.ethHdr.h_dest, sh->peerMac, ETH_ALEN);
-#if 0
- fprintf(stderr, "Relaying %02x:%02x:%02x:%02x:%02x:%02x(%s:%d) to %02x:%02x:%02x:%02x:%02x:%02x(%s:%d)\n",
- sh->peer->peerMac[0], sh->peer->peerMac[1], sh->peer->peerMac[2],
- sh->peer->peerMac[3], sh->peer->peerMac[4], sh->peer->peerMac[5],
- sh->peer->interface->name, ntohs(sh->peer->sesNum),
- sh->peerMac[0], sh->peerMac[1], sh->peerMac[2],
- sh->peerMac[3], sh->peerMac[4], sh->peerMac[5],
- sh->interface->name, ntohs(sh->sesNum));
-#endif
- sendPacket(NULL, sh->interface->sessionSock, &packet, size);
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADT
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADT packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADT packet.
-***********************************************************************/
-void
-relayHandlePADT(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- SessionHash *sh;
- PPPoESession *ses;
-
- sh = findSession(packet->ethHdr.h_source, packet->session);
- if (!sh) {
- return;
- }
- /* Relay the PADT to the peer */
- sh = sh->peer;
- ses = sh->ses;
- packet->session = sh->sesNum;
- memcpy(packet->ethHdr.h_source, sh->interface->mac, ETH_ALEN);
- memcpy(packet->ethHdr.h_dest, sh->peerMac, ETH_ALEN);
- sendPacket(NULL, sh->interface->sessionSock, packet, size);
-
- /* Destroy the session */
- freeSession(ses, "Received PADT");
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADI
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADI packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADI packet.
-***********************************************************************/
-void
-relayHandlePADI(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- PPPoETag tag;
- unsigned char *loc;
- int i, r;
-
- int ifIndex;
-
- /* Can a client legally be behind this interface? */
- if (!iface->clientOK) {
- syslog(LOG_ERR,
- "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Source address must be unicast */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR,
- "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Destination address must be broadcast */
- if (NOT_BROADCAST(packet->ethHdr.h_dest)) {
- syslog(LOG_ERR,
- "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not to a broadcast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Get array index of interface */
- ifIndex = iface - Interfaces;
-
- loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
- if (!loc) {
- tag.type = htons(TAG_RELAY_SESSION_ID);
- tag.length = htons(MY_RELAY_TAG_LEN);
- memcpy(tag.payload, &ifIndex, sizeof(ifIndex));
- memcpy(tag.payload+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
- /* Add a relay tag if there's room */
- r = addTag(packet, &tag);
- if (r < 0) return;
- size += r;
- } else {
- /* We do not re-use relay-id tags. Drop the frame. The RFC says the
- relay agent SHOULD return a Generic-Error tag, but this does not
- make sense for PADI packets. */
- return;
- }
-
- /* Broadcast the PADI on all AC-capable interfaces except the interface
- on which it came */
- for (i=0; i < NumInterfaces; i++) {
- if (iface == &Interfaces[i]) continue;
- if (!Interfaces[i].acOK) continue;
- memcpy(packet->ethHdr.h_source, Interfaces[i].mac, ETH_ALEN);
- sendPacket(NULL, Interfaces[i].discoverySock, packet, size);
- }
-
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADO
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADO packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADO packet.
-***********************************************************************/
-void
-relayHandlePADO(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- PPPoETag tag;
- unsigned char *loc;
- int ifIndex;
- int acIndex;
-
- /* Can a server legally be behind this interface? */
- if (!iface->acOK) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- acIndex = iface - Interfaces;
-
- /* Source address must be unicast */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Destination address must be interface's MAC address */
- if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
- return;
- }
-
- /* Find relay tag */
- loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
- if (!loc) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* If it's the wrong length, ignore it */
- if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Extract interface index */
- memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
-
- if (ifIndex < 0 || ifIndex >= NumInterfaces ||
- !Interfaces[ifIndex].clientOK ||
- iface == &Interfaces[ifIndex]) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Replace Relay-ID tag with opposite-direction tag */
- memcpy(loc+TAG_HDR_SIZE, &acIndex, sizeof(acIndex));
- memcpy(loc+TAG_HDR_SIZE+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
-
- /* Set destination address to MAC address in relay ID */
- memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
-
- /* Set source address to MAC address of interface */
- memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
-
- /* Send the PADO to the proper client */
- sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADR
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADR packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADR packet.
-***********************************************************************/
-void
-relayHandlePADR(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- PPPoETag tag;
- unsigned char *loc;
- int ifIndex;
- int cliIndex;
-
- /* Can a client legally be behind this interface? */
- if (!iface->clientOK) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- cliIndex = iface - Interfaces;
-
- /* Source address must be unicast */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Destination address must be interface's MAC address */
- if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
- return;
- }
-
- /* Find relay tag */
- loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
- if (!loc) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* If it's the wrong length, ignore it */
- if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Extract interface index */
- memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
-
- if (ifIndex < 0 || ifIndex >= NumInterfaces ||
- !Interfaces[ifIndex].acOK ||
- iface == &Interfaces[ifIndex]) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Replace Relay-ID tag with opposite-direction tag */
- memcpy(loc+TAG_HDR_SIZE, &cliIndex, sizeof(cliIndex));
- memcpy(loc+TAG_HDR_SIZE+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
-
- /* Set destination address to MAC address in relay ID */
- memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
-
- /* Set source address to MAC address of interface */
- memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
-
- /* Send the PADR to the proper access concentrator */
- sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADS
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADS packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADS packet.
-***********************************************************************/
-void
-relayHandlePADS(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- PPPoETag tag;
- unsigned char *loc;
- int ifIndex;
- int acIndex;
- PPPoESession *ses = NULL;
- SessionHash *sh;
-
- /* Can a server legally be behind this interface? */
- if (!iface->acOK) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- acIndex = iface - Interfaces;
-
- /* Source address must be unicast */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Destination address must be interface's MAC address */
- if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
- return;
- }
-
- /* Find relay tag */
- loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
- if (!loc) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* If it's the wrong length, ignore it */
- if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Extract interface index */
- memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
-
- if (ifIndex < 0 || ifIndex >= NumInterfaces ||
- !Interfaces[ifIndex].clientOK ||
- iface == &Interfaces[ifIndex]) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* If session ID is zero, it's the AC respoding with an error.
- Just relay it; do not create a session */
- if (packet->session != htons(0)) {
- /* Check for existing session */
- sh = findSession(packet->ethHdr.h_source, packet->session);
- if (sh) ses = sh->ses;
-
- /* If already an existing session, assume it's a duplicate PADS. Send
- the frame, but do not create a new session. Is this the right
- thing to do? Arguably, should send an error to the client and
- a PADT to the server, because this could happen due to a
- server crash and reboot. */
-
- if (!ses) {
- /* Create a new session */
- ses = createSession(iface, &Interfaces[ifIndex],
- packet->ethHdr.h_source,
- loc + TAG_HDR_SIZE + sizeof(ifIndex), packet->session);
- if (!ses) {
- /* Can't allocate session -- send error PADS to client and
- PADT to server */
- PPPoETag hostUniq, *hu;
- if (findTag(packet, TAG_HOST_UNIQ, &hostUniq)) {
- hu = &hostUniq;
- } else {
- hu = NULL;
- }
- relaySendError(CODE_PADS, htons(0), &Interfaces[ifIndex],
- loc + TAG_HDR_SIZE + sizeof(ifIndex),
- hu, "RP-PPPoE: Relay: Unable to allocate session");
- relaySendError(CODE_PADT, packet->session, iface,
- packet->ethHdr.h_source, NULL,
- "RP-PPPoE: Relay: Unable to allocate session");
- return;
- }
- }
- /* Replace session number */
- packet->session = ses->sesNum;
- }
-
- /* Remove relay-ID tag */
- removeBytes(packet, loc, MY_RELAY_TAG_LEN + TAG_HDR_SIZE);
- size -= (MY_RELAY_TAG_LEN + TAG_HDR_SIZE);
-
- /* Set destination address to MAC address in relay ID */
- memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
-
- /* Set source address to MAC address of interface */
- memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
-
- /* Send the PADS to the proper client */
- sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
-}
-
-/**********************************************************************
-*%FUNCTION: relaySendError
-*%ARGUMENTS:
-* code -- PPPoE packet code (PADS or PADT, typically)
-* session -- PPPoE session number
-* iface -- interface on which to send frame
-* mac -- Ethernet address to which frame should be sent
-* hostUniq -- if non-NULL, a hostUniq tag to add to error frame
-* errMsg -- error message to insert into Generic-Error tag.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends either a PADS or PADT packet with a Generic-Error tag and an
-* error message.
-***********************************************************************/
-void
-relaySendError(unsigned char code,
- UINT16_t session,
- PPPoEInterface const *iface,
- unsigned char const *mac,
- PPPoETag const *hostUniq,
- char const *errMsg)
-{
- PPPoEPacket packet;
- PPPoETag errTag;
- int size;
-
- memcpy(packet.ethHdr.h_source, iface->mac, ETH_ALEN);
- memcpy(packet.ethHdr.h_dest, mac, ETH_ALEN);
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- packet.type = 1;
- packet.ver = 1;
- packet.code = code;
- packet.session = session;
- packet.length = htons(0);
- if (hostUniq) {
- if (addTag(&packet, hostUniq) < 0) return;
- }
- errTag.type = htons(TAG_GENERIC_ERROR);
- errTag.length = htons(strlen(errMsg));
- strcpy(errTag.payload, errMsg);
- if (addTag(&packet, &errTag) < 0) return;
- size = ntohs(packet.length) + HDR_SIZE;
- if (code == CODE_PADT) {
- sendPacket(NULL, iface->discoverySock, &packet, size);
- } else {
- sendPacket(NULL, iface->sessionSock, &packet, size);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: alarmHandler
-*%ARGUMENTS:
-* sig -- signal number
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* SIGALRM handler. Increments Epoch; if necessary, writes a byte of
-* data to the alarm pipe to trigger the stale-session cleaner.
-***********************************************************************/
-void
-alarmHandler(int sig)
-{
- alarm(1);
- Epoch++;
- CleanCounter++;
- if (CleanCounter == CleanPeriod) {
- write(CleanPipe[1], "", 1);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: cleanSessions
-*%ARGUMENTS:
-* None
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Goes through active sessions and cleans sessions idle for longer
-* than IdleTimeout seconds.
-***********************************************************************/
-void cleanSessions(void)
-{
- PPPoESession *cur, *next;
- cur = ActiveSessions;
- while(cur) {
- next = cur->next;
- if (Epoch - cur->epoch > IdleTimeout) {
- /* Send PADT to each peer */
- relaySendError(CODE_PADT, cur->acHash->sesNum,
- cur->acHash->interface,
- cur->acHash->peerMac, NULL,
- "RP-PPPoE: Relay: Session exceeded idle timeout");
- relaySendError(CODE_PADT, cur->clientHash->sesNum,
- cur->clientHash->interface,
- cur->clientHash->peerMac, NULL,
- "RP-PPPoE: Relay: Session exceeded idle timeout");
- freeSession(cur, "Idle Timeout");
- }
- cur = next;
- }
-}
diff --git a/mdk-stage1/rp-pppoe/src/relay.h b/mdk-stage1/rp-pppoe/src/relay.h
deleted file mode 100644
index d438a657f..000000000
--- a/mdk-stage1/rp-pppoe/src/relay.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
-*
-* relay.h
-*
-* Definitions for PPPoE relay
-*
-* Copyright (C) 2001 Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-* $Id$
-*
-***********************************************************************/
-
-#include "pppoe.h"
-
-/* Description for each active Ethernet interface */
-typedef struct InterfaceStruct {
- char name[IFNAMSIZ+1]; /* Interface name */
- int discoverySock; /* Socket for discovery frames */
- int sessionSock; /* Socket for session frames */
- int clientOK; /* Client requests allowed (PADI, PADR) */
- int acOK; /* AC replies allowed (PADO, PADS) */
- unsigned char mac[ETH_ALEN]; /* MAC address */
-} PPPoEInterface;
-
-/* Session state for relay */
-struct SessionHashStruct;
-typedef struct SessionStruct {
- struct SessionStruct *next; /* Free list link */
- struct SessionStruct *prev; /* Free list link */
- struct SessionHashStruct *acHash; /* Hash bucket for AC MAC/Session */
- struct SessionHashStruct *clientHash; /* Hash bucket for client MAC/Session */
- unsigned int epoch; /* Epoch when last activity was seen */
- UINT16_t sesNum; /* Session number assigned by relay */
-} PPPoESession;
-
-/* Hash table entry to find sessions */
-typedef struct SessionHashStruct {
- struct SessionHashStruct *next; /* Link in hash chain */
- struct SessionHashStruct *prev; /* Link in hash chain */
- struct SessionHashStruct *peer; /* Peer for this session */
- PPPoEInterface const *interface; /* Interface */
- unsigned char peerMac[ETH_ALEN]; /* Peer's MAC address */
- UINT16_t sesNum; /* Session number */
- PPPoESession *ses; /* Session data */
-} SessionHash;
-
-/* Function prototypes */
-
-void relayGotSessionPacket(PPPoEInterface const *i);
-void relayGotDiscoveryPacket(PPPoEInterface const *i);
-PPPoEInterface *findInterface(int sock);
-unsigned int hash(unsigned char const *mac, UINT16_t sesNum);
-SessionHash *findSession(unsigned char const *mac, UINT16_t sesNum);
-void deleteHash(SessionHash *hash);
-PPPoESession *createSession(PPPoEInterface const *ac,
- PPPoEInterface const *cli,
- unsigned char const *acMac,
- unsigned char const *cliMac,
- UINT16_t acSes);
-void freeSession(PPPoESession *ses, char const *msg);
-void addInterface(char const *ifname, int clientOK, int acOK);
-void usage(char const *progname);
-void initRelay(int nsess);
-void relayLoop(void);
-void addHash(SessionHash *sh);
-void unhash(SessionHash *sh);
-
-void relayHandlePADT(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-void relayHandlePADI(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-void relayHandlePADO(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-void relayHandlePADR(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-void relayHandlePADS(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-
-int addTag(PPPoEPacket *packet, PPPoETag const *tag);
-int insertBytes(PPPoEPacket *packet, unsigned char *loc,
- void const *bytes, int length);
-int removeBytes(PPPoEPacket *packet, unsigned char *loc,
- int length);
-void relaySendError(unsigned char code,
- UINT16_t session,
- PPPoEInterface const *iface,
- unsigned char const *mac,
- PPPoETag const *hostUniq,
- char const *errMsg);
-
-void alarmHandler(int sig);
-void cleanSessions(void);
-
-#define MAX_INTERFACES 8
-#define DEFAULT_SESSIONS 5000
-
-/* Hash table size -- a prime number; gives load factor of around 6
- for 65534 sessions */
-#define HASHTAB_SIZE 18917
diff --git a/mdk-stage1/slang/Makefile b/mdk-stage1/slang/Makefile
deleted file mode 100644
index 01700651d..000000000
--- a/mdk-stage1/slang/Makefile
+++ /dev/null
@@ -1,42 +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
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(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 4ade8eb64..000000000
--- a/mdk-stage1/stage1.c
+++ /dev/null
@@ -1,669 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000-2001 MandrakeSoft
- *
- * View the homepage: http://people.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 <linux/unistd.h>
-_syscall2(int,pivot_root,const char *,new_root,const char *,put_old)
-
-#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 "lomount.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;
-char * stage2_kickstart = NULL;
-
-
-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);
-}
-
-
-#ifdef SPAWN_SHELL
-static pid_t shell_pid = 0;
-
-/************************************************************
- * spawns a shell on console #2 */
-static void spawn_shell(void)
-{
- 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 (!(shell_pid = 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", 0) == -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();
-}
-
-
-#ifdef ENABLE_PCMCIA
-static void handle_pcmcia(char ** pcmcia_adapter)
-{
- if (kernel_version() == 2) {
- stg1_error_message("We now use kernel pcmcia support and this won't work with a 2.2 kernel.");
- return;
- }
-
- *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();
-
- if (IS_EXPERT)
- expert_third_party_modules();
-}
-#endif
-
-
-/************************************************************
- */
-
-static void 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();
-
-#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();
-}
-
-#ifdef MANDRAKE_MOVE
-int mandrake_move_pre(void)
-{
- log_message("move: creating %s directory and mounting as tmpfs", SLASH_LOCATION);
-
- if (scall(mkdir(SLASH_LOCATION, 0755), "mkdir"))
- return RETURN_ERROR;
-
- if (scall(mount("none", SLASH_LOCATION, "tmpfs", MS_MGC_VAL, NULL), "mount tmpfs"))
- return RETURN_ERROR;
-
- return RETURN_OK;
-}
-
-
-static enum return_type handle_clp(char* clp, char* live, char* location_live, char* location_mount, int* is_symlink, char* clp_tmpfs)
-{
- static int count = 0;
- if (access(clp, R_OK)) {
- log_message("no %s found (or disabled), trying to fallback on plain tree", clp);
- if (!access(live, R_OK)) {
- if (scall(symlink(location_live, location_mount), "symlink"))
- return RETURN_ERROR;
- *is_symlink = 1;
- return RETURN_OK;
- } else {
- log_message("move: can't find %s nor %s, proceeding hoping files will be there", clp, live);
- return RETURN_OK;
- }
- }
-
- if (clp_tmpfs) {
- int ret;
- char buf[5000];
- sprintf(buf, "Loading (part %d)...", ++count);
- init_progression(buf, file_size(clp));
- ret = copy_file(clp, clp_tmpfs, update_progression);
- end_progression();
- if (ret != RETURN_OK)
- return ret;
- clp = clp_tmpfs;
- }
-
- if (lomount(clp, location_mount, NULL, 1)) {
- stg1_error_message("Could not mount compressed loopback :(.");
- return RETURN_ERROR;
- }
-
- return RETURN_OK;
-}
-
-int mandrake_move_post(void)
-{
- FILE *f;
- char buf[5000];
- int fd;
- char rootdev[] = "0x0100";
- int boot__real_is_symlink_to_raw = 0;
- int always__real_is_symlink_to_raw = 0;
- int totem__real_is_symlink_to_raw = 0;
- int main__real_is_symlink_to_raw = 0;
-
- if (handle_clp(IMAGE_LOCATION "/live_tree_boot.clp", IMAGE_LOCATION "/live_tree_boot/usr/bin/runstage2.pl",
- IMAGE_LOCATION "/live_tree_boot", BOOT_LOCATION,
- &boot__real_is_symlink_to_raw, SLASH_LOCATION "/live_tree_boot.clp") != RETURN_OK)
- return RETURN_ERROR;
-
- if (handle_clp(IMAGE_LOCATION "/live_tree_always.clp", IMAGE_LOCATION "/live_tree_always/bin/bash",
- IMAGE_LOCATION "/live_tree_always", ALWAYS_LOCATION,
- &always__real_is_symlink_to_raw, SLASH_LOCATION "/live_tree_always.clp") != RETURN_OK)
- return RETURN_ERROR;
-
- if (handle_clp(IMAGE_LOCATION "/live_tree_totem.clp", IMAGE_LOCATION "/live_tree_totem/usr/bin/totem",
- IMAGE_LOCATION "/live_tree_totem", TOTEM_LOCATION,
- &totem__real_is_symlink_to_raw, SLASH_LOCATION "/live_tree_totem.clp") != RETURN_OK)
- return RETURN_ERROR;
-
- if (handle_clp(IMAGE_LOCATION "/live_tree.clp", IMAGE_LOCATION "/live_tree/etc/fstab",
- IMAGE_LOCATION "/live_tree", IMAGE_LOCATION_REAL,
- &main__real_is_symlink_to_raw, NULL) != RETURN_OK)
- return RETURN_ERROR;
-
- if (scall(!(f = fopen(IMAGE_LOCATION_REAL "/move/symlinks", "rb")), "fopen[" IMAGE_LOCATION_REAL "/move/symlinks]"))
- return RETURN_ERROR;
- while (fgets(buf, sizeof(buf), f)) {
- char oldpath[500], newpath[500];
- buf[strlen(buf)-1] = '\0'; // trim \n
- sprintf(oldpath, "%s%s", LIVE_LOCATION_REL, buf);
- sprintf(newpath, "%s%s", SLASH_LOCATION, buf);
- log_message("move: creating symlink %s -> %s", oldpath, newpath);
- if (scall(symlink(oldpath, newpath), "symlink"))
- return RETURN_ERROR;
- }
- fclose(f);
-
- // in case we didn't mount any clp, because gzloop.o is not available later in /lib/modules
- my_insmod("gzloop", ANY_DRIVER_TYPE, NULL);
-
- // hardcoded :(
- if (!access(TOTEM_LOCATION, R_OK)) {
- if (scall(symlink("/image_totem/usr", SLASH_LOCATION "/usr"), "symlink"))
- return RETURN_ERROR;
- } else
- // need a fallback in case we don't use image_totem.clp nor live_tree_totem, but we're in -u mode
- if (scall(symlink(LIVE_LOCATION_REL "/usr", SLASH_LOCATION "/usr"), "symlink"))
- return RETURN_ERROR;
-
- // need to create the few devices needed to start up stage2 in a decent manner, we can't symlink or they will keep CD busy
- // we need only the ones before mounting /dev as devfs
- if (scall(mkdir(SLASH_LOCATION "/dev", 0755), "mkdir"))
- return RETURN_ERROR;
- if (scall(!(f = fopen(IMAGE_LOCATION_REAL "/move/devices", "rb")), "fopen"))
- return RETURN_ERROR;
- while (fgets(buf, sizeof(buf), f)) {
- char name[500], path[500], type;
- int major, minor;
- sscanf(buf, "%s %c %d %d", name, &type, &major, &minor);
- sprintf(path, "%s%s", SLASH_LOCATION, name);
- log_message("move: creating device %s %c %d %d", path, type, major, minor);
- if (scall(mknod(path, type == 'c' ? S_IFCHR : S_IFBLK, makedev(major, minor)), "mknod"))
- return RETURN_ERROR;
- }
- fclose(f);
-
- if (boot__real_is_symlink_to_raw) {
- if (scall(unlink(BOOT_LOCATION), "unlink"))
- return RETURN_ERROR;
- if (scall(symlink(RAW_LOCATION_REL "/live_tree_boot", BOOT_LOCATION), "symlink"))
- return RETURN_ERROR;
- }
-
- if (always__real_is_symlink_to_raw) {
- if (scall(unlink(ALWAYS_LOCATION), "unlink"))
- return RETURN_ERROR;
- if (scall(symlink(RAW_LOCATION_REL "/live_tree_always", ALWAYS_LOCATION), "symlink"))
- return RETURN_ERROR;
- }
-
- if (totem__real_is_symlink_to_raw) {
- if (scall(unlink(TOTEM_LOCATION), "unlink"))
- return RETURN_ERROR;
- if (scall(symlink(RAW_LOCATION_REL "/live_tree_totem", TOTEM_LOCATION), "symlink"))
- return RETURN_ERROR;
- }
-
- if (main__real_is_symlink_to_raw) {
- if (scall(unlink(IMAGE_LOCATION_REAL), "unlink"))
- return RETURN_ERROR;
- if (scall(symlink(RAW_LOCATION_REL "/live_tree", IMAGE_LOCATION_REAL), "symlink"))
- return RETURN_ERROR;
- }
-
- mkdir(SLASH_LOCATION "/etc", 0755);
- copy_file("/etc/resolv.conf", SLASH_LOCATION "/etc/resolv.conf", NULL);
-
- if (IS_DEBUGSTAGE1)
- while (1);
-
- log_message("move: pivot_rooting");
- // trick so that kernel won't try to mount the root device when initrd exits
- if (scall((fd = open("/proc/sys/kernel/real-root-dev", O_WRONLY)) < 0, "open"))
- return RETURN_ERROR;
- if (scall(write(fd, rootdev, strlen(rootdev)) != (signed)strlen(rootdev), "write")) {
- close(fd);
- return RETURN_ERROR;
- }
- close(fd);
-
- if (scall(mkdir(SLASH_LOCATION "/stage1", 0755), "mkdir"))
- return RETURN_ERROR;
-
- if (scall(pivot_root(SLASH_LOCATION, SLASH_LOCATION "/stage1"), "pivot_root"))
- return RETURN_ERROR;
-
- return RETURN_OK;
-}
-#endif
-
-
-int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)), char **env)
-{
- char ** argptr;
- char * stage2_args[30];
-#ifdef ENABLE_PCMCIA
- char * pcmcia_adapter = NULL;
-#endif
-
- 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);
-#ifdef SPAWN_SHELL
- spawn_shell();
-#endif
- init_modules_insmoding();
- init_frontend("Welcome to " DISTRIB_NAME
-#ifdef MANDRAKE_MOVE
- ", "
-#else
- " (" VERSION ") "
-#endif
- __DATE__ " " __TIME__);
-
- if (IS_EXPERT)
- expert_third_party_modules();
-
- if (IS_UPDATEMODULES)
- update_modules();
-
-#ifdef ENABLE_PCMCIA
- if (!IS_NOAUTO)
- handle_pcmcia(&pcmcia_adapter);
-#endif
-
- if (IS_CHANGEDISK)
- stg1_info_message("You are starting the installation with an alternate booting method. "
- "Please change your disk, and insert the Installation disk.");
-
- if (IS_RESCUE && total_memory() < MEM_LIMIT_RESCUE) {
- stg1_error_message("You are starting the rescue with a low memory configuration. "
- "Our experience shows that your system may crash at any point "
- "or lock up for no apparent reason. Continue at "
- "your own risk. Alternatively, you may reboot your system now.");
- }
-
-#ifdef MANDRAKE_MOVE
- if (total_memory() < MEM_LIMIT_MOVE)
- stg1_error_message(DISTRIB_NAME " typically needs more than %d Mbytes of memory (detected %d Mbytes). You may proceed, but the machine may crash or lock up for no apparent reason. Continue at your own risk. Alternatively, you may reboot your system now.",
- MEM_LIMIT_MOVE, total_memory());
- if (mandrake_move_pre() != RETURN_OK)
- stg1_error_message("Fatal error when preparing MandrakeMove.");
-#endif
-
-#ifndef DISABLE_DISK
- if (IS_RECOVERY && streq(get_auto_value("method"), "cdrom")) {
- if (!process_recovery())
- method_select_and_prepare();
- } else
-#endif
- method_select_and_prepare();
-
- if (!IS_RAMDISK)
- if (symlink(IMAGE_LOCATION_REAL LIVE_LOCATION, STAGE2_LOCATION) != 0)
- log_perror("symlink from " IMAGE_LOCATION_REAL LIVE_LOCATION " to " STAGE2_LOCATION " failed");
-
- if (interactive_pid != 0)
- kill(interactive_pid, 9);
-
-#ifdef MANDRAKE_MOVE
- if (mandrake_move_post() != RETURN_OK)
- stg1_error_message("Fatal error when launching MandrakeMove.");
-#endif
-
- if (shell_pid != 0) {
- int fd;
- kill(shell_pid, 9);
- fd = open("/dev/tty2", O_RDWR);
- write(fd, "Killed\n", 7);
- close(fd);
- }
-
- finish_frontend();
- close_log();
-
-#ifndef MANDRAKE_MOVE
- if (IS_RESCUE)
-#endif
- return 66;
- if (IS_TESTING)
- return 0;
-
- argptr = stage2_args;
- *argptr++ = "/usr/bin/runinstall2";
- *argptr++ = "--method";
- *argptr++ = method_name;
-#ifdef ENABLE_PCMCIA
- if (pcmcia_adapter) {
- *argptr++ = "--pcmcia";
- *argptr++ = pcmcia_adapter;
- }
-#endif
- if (disable_modules)
- *argptr++ = "--blank";
- if (stage2_kickstart) {
- *argptr++ = "--kickstart";
- *argptr++ = stage2_kickstart;
- }
- *argptr++ = NULL;
-
- execve(stage2_args[0], stage2_args, grab_env());
-
- printf("error in exec of stage2 :-(\n");
- printf("trying to execute '/usr/bin/runinstall2' from the installation volume,\nthe following fatal error occurred\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 926f84151..000000000
--- a/mdk-stage1/stage1.h
+++ /dev/null
@@ -1,67 +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;
-extern char * stage2_kickstart;
-
-#define MODE_TESTING (1 << 0)
-#define MODE_EXPERT (1 << 1)
-#define MODE_RESCUE (1 << 3)
-#define MODE_AUTOMATIC (1 << 4)
-#define MODE_DEBUGSTAGE1 (1 << 6)
-#define MODE_SPECIAL_STAGE2 (1 << 8)
-#define MODE_RAMDISK (1 << 9)
-#define MODE_CHANGEDISK (1 << 10)
-#define MODE_UPDATEMODULES (1 << 11)
-#define MODE_NOAUTO (1 << 12)
-#define MODE_NETAUTO (1 << 13)
-#define MODE_RECOVERY (1 << 14)
-
-#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_DEBUGSTAGE1 (get_param(MODE_DEBUGSTAGE1))
-#define IS_SPECIAL_STAGE2 (get_param(MODE_SPECIAL_STAGE2))
-#define IS_RAMDISK (get_param(MODE_RAMDISK))
-#define IS_CHANGEDISK (get_param(MODE_CHANGEDISK))
-#define IS_UPDATEMODULES (get_param(MODE_UPDATEMODULES))
-#define IS_NOAUTO (get_param(MODE_NOAUTO))
-#define IS_NETAUTO (get_param(MODE_NETAUTO))
-#define IS_RECOVERY (get_param(MODE_RECOVERY))
-
-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 45d9177a2..000000000
--- a/mdk-stage1/stdio-frontend.c
+++ /dev/null
@@ -1,378 +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 <probing.h>
-
-#include "frontend.h"
-
-
-void init_frontend(char * welcome_msg)
-{
- printf(welcome_msg);
- printf("\n");
-}
-
-
-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;
- unsigned int 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)
-{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
- blocking_msg("> Error! ", msg, ap);
-}
-
-void vinfo_message(char *msg, va_list ap)
-{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
- 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;
-
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- 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)
-{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
- return ask_from_list_comments(msg, elems, NULL, choice);
-}
-
-
-enum return_type ask_yes_no(char *msg)
-{
- int j;
-
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- 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 UNUSED, void (*callback_func)(char ** strings) UNUSED)
-{
- int j, i = 0;
- char ** already_answers = NULL;
-
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- 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;
- }
-}
-
-
-void suspend_to_console(void) {}
-void resume_from_suspend(void) {}
diff --git a/mdk-stage1/tools.c b/mdk-stage1/tools.c
deleted file mode 100644
index 7724c6e72..000000000
--- a/mdk-stage1/tools.c
+++ /dev/null
@@ -1,503 +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 <errno.h>
-#include <sys/utsname.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, "changedisk")) set_param(MODE_CHANGEDISK);
- if (!strcmp(name, "updatemodules")) set_param(MODE_UPDATEMODULES);
- if (!strcmp(name, "rescue")) set_param(MODE_RESCUE);
- if (!strcmp(name, "noauto")) set_param(MODE_NOAUTO);
- if (!strcmp(name, "netauto")) set_param(MODE_NETAUTO);
- if (!strcmp(name, "recovery")) set_param(MODE_RECOVERY);
- if (!strcmp(name, "special_stage2")) set_param(MODE_SPECIAL_STAGE2);
- if (!strcmp(name, "debugstage1")) set_param(MODE_DEBUGSTAGE1);
- 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;
-}
-
-// warning, many things rely on the fact that:
-// - when failing it returns 0
-// - it stops on first non-digit char
-int charstar_to_int(const char * s)
-{
- int number = 0;
- while (*s && isdigit(*s)) {
- number = (number * 10) + (*s - '0');
- s++;
- }
- return number;
-}
-
-off_t file_size(const char * path)
-{
- struct stat statr;
- if (stat(path, &statr))
- return -1;
- else
- return statr.st_size;
-}
-
-int total_memory(void)
-{
- int value;
-
- /* drakx powered: use /proc/kcore and rounds every 4 Mbytes */
- value = 4 * ((int)((float)file_size("/proc/kcore") / 1024 / 1024 / 4 + 0.5));
- log_message("Total Memory: %d Mbytes", value);
-
- return value;
-}
-
-
-int ramdisk_possible(void)
-{
- if (total_memory() > (IS_RESCUE ? MEM_LIMIT_RESCUE : MEM_LIMIT_RAMDISK))
- return 1;
- else {
- log_message("warning, ramdisk is not possible due to low mem!");
- return 0;
- }
-}
-
-
-enum return_type copy_file(char * from, char * to, void (*callback_func)(int overall))
-{
- FILE * f_from, * f_to;
- size_t quantity __attribute__((aligned(16))), overall = 0;
- char buf[4096] __attribute__((aligned(4096)));
- int ret = RETURN_ERROR;
-
- log_message("copy_file: %s -> %s", from, to);
-
- if (!(f_from = fopen(from, "rb"))) {
- log_perror(from);
- return RETURN_ERROR;
- }
-
- if (!(f_to = fopen(to, "w"))) {
- log_perror(to);
- goto close_from;
- return RETURN_ERROR;
- }
-
- do {
- if ((quantity = fread(buf, 1, sizeof(buf), f_from)) > 0) {
- if (fwrite(buf, 1, quantity, f_to) != quantity) {
- log_message("short write (%s)", strerror(errno));
- goto cleanup;
- }
- }
- if (callback_func) {
- overall += quantity;
- callback_func(overall);
- }
- } while (!feof(f_from) && !ferror(f_from) && !ferror(f_to));
-
- if (ferror(f_from) || ferror(f_to)) {
- log_message("an error occured: %s", strerror(errno));
- goto cleanup;
- }
-
- ret = RETURN_OK;
-
- cleanup:
- fclose(f_to);
- close_from:
- fclose(f_from);
-
- return ret;
-}
-
-static void save_stuff_for_rescue(void)
-{
- copy_file("/etc/resolv.conf", STAGE2_LOCATION "/etc/resolv.conf", NULL);
-}
-
-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 that root=/dev/ram3 is actually passed to the kernel at boot time */
- int ram_fd;
- char buffer[32768];
- 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));
- BZ2_bzclose(st2); /* opened by gzdopen, but also closes the associated fd */
- close(ram_fd);
- remove_wait_message();
- stg1_error_message("Could not uncompress second stage ramdisk. "
- "This is probably an hardware error while reading the data. "
- "(this may be caused by a hardware failure or a Linux kernel bug)");
- 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", 1))
- 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;
- off_t size;
- 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 ((size = file_size(img_name)) == -1)
- return RETURN_ERROR;
- else
- return load_ramdisk_fd(st2_fd, 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;
-}
-
-int kernel_version(void)
-{
- struct utsname val;
- if (uname(&val)) {
- log_perror("uname failed");
- return -1;
- }
- return charstar_to_int(val.release + 2);
-}
-
-char * asprintf_(const char *msg, ...)
-{
- int n;
- char * s;
- va_list arg_ptr;
- va_start(arg_ptr, msg);
- n = vsnprintf(0, 1000000, msg, arg_ptr);
- va_start(arg_ptr, msg);
- if ((s = malloc(n + 1))) {
- vsnprintf(s, n + 1, msg, arg_ptr);
- va_end(arg_ptr);
- return s;
- }
- va_end(arg_ptr);
- return strdup("");
-}
-
-int scall_(int retval, char * msg, char * file, int line)
-{
- char tmp[5000];
- sprintf(tmp, "%s(%s:%d) failed", msg, file, line);
- if (retval)
- log_perror(tmp);
- return retval;
-}
diff --git a/mdk-stage1/tools.h b/mdk-stage1/tools.h
deleted file mode 100644
index be3883eb5..000000000
--- a/mdk-stage1/tools.h
+++ /dev/null
@@ -1,59 +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(const char * s);
-off_t file_size(const char * path);
-int total_memory(void);
-int ramdisk_possible(void);
-char * get_ramdisk_realname(void);
-enum return_type copy_file(char * from, char * to, void (*callback_func)(int overall));
-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);
-int kernel_version(void);
-char * asprintf_(const char *msg, ...);
-int scall_(int retval, char * msg, char * file, int line);
-#define scall(retval, msg) scall_(retval, msg, __FILE__, __LINE__)
-
-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(a,b) (!strcmp(a,b))
-
-#endif
diff --git a/mdk-stage1/url.c b/mdk-stage1/url.c
deleted file mode 100644
index d3b03f942..000000000
--- a/mdk-stage1/url.c
+++ /dev/null
@@ -1,513 +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)) != (ssize_t)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;
- int rc;
- int port = 21;
-
- if (!strcmp(name, "")) {
- name = "anonymous";
- password = "-drakx@";
- }
-
- if (strcmp(proxy, "")) {
- name = asprintf_("%s@%s", name, host);
- 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 * proxyprotocol, char * proxyname, char * proxyport)
-{
- 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: ";
- char * http_server_name;
- int http_server_port;
-
- if (proxyprotocol) {
- http_server_name = proxyname;
- http_server_port = atoi(proxyport);
- } else {
- http_server_name = hostname;
- http_server_port = 80;
- }
-
- log_message("HTTP: connecting to server %s:%i (%s)",
- http_server_name, http_server_port,
- proxyprotocol ? "proxy" : "no proxy");
-
- if ((rc = get_host_address(http_server_name, &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(http_server_port);
- destPort.sin_addr = serverAddress;
-
- if (connect(sock, (struct sockaddr *) &destPort, sizeof(destPort))) {
- close(sock);
- return FTPERR_FAILED_CONNECT;
- }
-
- buf = proxyprotocol ? asprintf_("GET %s://%s%s HTTP/0.9\r\nHost: %s\r\n\r\n", proxyprotocol, hostname, remotename, hostname)
- : asprintf_("GET %s HTTP/0.9\r\nHost: %s\r\n\r\n", remotename, hostname);
-
- 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 d4f7f3992..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, char * proxyprotocol, char * proxyname, char * proxyport);
-
-
-#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/mdk-stage1/usb-resource/.cvsignore b/mdk-stage1/usb-resource/.cvsignore
deleted file mode 100644
index a7d0cfa9a..000000000
--- a/mdk-stage1/usb-resource/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-usb-ids.h
diff --git a/mdk-stage1/usb-resource/Makefile b/mdk-stage1/usb-resource/Makefile
deleted file mode 100644
index eb80ce6da..000000000
--- a/mdk-stage1/usb-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: usb-ids.h
-
-usb-ids.h: /usr/share/ldetect-lst/usbtable update-usb-ids.pl
- perl update-usb-ids.pl > $@ || rm -f $@
-
-clean:
- rm -f usb-ids.h
diff --git a/mdk-stage1/usb-resource/update-usb-ids.pl b/mdk-stage1/usb-resource/update-usb-ids.pl
deleted file mode 100755
index ae934c1b5..000000000
--- a/mdk-stage1/usb-resource/update-usb-ids.pl
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use MDK::Common;
-
-require '/usr/bin/merge2pcitable.pl';
-my $pci = read_pcitable("/usr/share/ldetect-lst/pcitable");
-my $usb = read_pcitable("/usr/share/ldetect-lst/usbtable");
-
-print '
-
-
-struct usb_module_map {
- unsigned short vendor; /* vendor */
- unsigned short id; /* device */
- const char *name; /* human readable name */
- const char *module; /* module to load */
-};
-
-';
-
-print "struct pci_module_map usb_pci_ids[] = {
-
-";
-
-foreach my $k (sort keys %$pci) {
- my $v = $pci->{$k};
- $v->[0] =~ /^usb-|^ehci-hcd|^ohci1394/ or next;
- $k =~ /^(....)(....)/;
- printf qq|\t{ 0x%s, 0x%s, "", "%s" },\n|,
- $1, $2, $v->[0];
-}
-
-print "};
-int usb_num_ids=sizeof(usb_pci_ids)/sizeof(struct pci_module_map);
-";
-
-print "struct usb_module_map usb_usb_ids[] = {
-";
-
-my @modules = chomp_(`perl ../../kernel/modules.pl pci_modules4stage1:"network/usb disk/usb"`);
-
- foreach my $k (sort keys %$usb) {
- my $v = $usb->{$k};
- member($v->[0], @modules) or next;
- $k =~ /^(....)(....)/;
- printf qq|\t{ 0x%s, 0x%s, "%s", "%s" },\n|,
- $1, $2, $v->[1], $v->[0];
- }
-
- print "};
-int usb_usb_num_ids=sizeof(usb_usb_ids)/sizeof(struct usb_module_map);
-";
diff --git a/move/.cvsignore b/move/.cvsignore
deleted file mode 100644
index 0600e5070..000000000
--- a/move/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-runlevel_set
-*.rdz
-xwait
-.perl_checker.cache
diff --git a/move/Makefile b/move/Makefile
deleted file mode 100644
index 87dbcb5d9..000000000
--- a/move/Makefile
+++ /dev/null
@@ -1,139 +0,0 @@
-
-DEST_LIVETREE = /tmp/live_tree
-DEST_STAGE2 = $(DEST_LIVETREE)/usr/bin/stage2
-
-ISO = /BIG/mdkmove.iso
-
-DATA_FILES = devices symlinks directories-to-create etcfiles all-etcfiles keyfiles \
- BOOT-800-MOVE.jpg BOOT-1024-MOVE.jpg BOOT-1280-MOVE.jpg BOOT-1600-MOVE.jpg
-
-PROGRAM_FILES = etc-monitorer.pl tree/startkde_move tree/wait4x tree/netscape tree/alsa_default.pl
-LANG_FILES = $(shell perl -ne 'print $$1 if /ALLOWED_LANGS = qw\((.*)\)/' move.pm)
-
-STAGE1 = ../mdk-stage1
-INSTALL = ../perl-install
-
-INSTALL_FILES = install2.pm install_steps.pm install_any.pm install_interactive.pm install_steps_gtk.pm install_steps_interactive.pm install_messages.pm install_gtk.pm
-
-ARCH := $(shell arch | egrep "(x86_64|sparc64|s390x)")
-ifneq ("x$(ARCH)", "x")
-LIB_NAME = lib64
-else
-LIB_NAME = lib
-endif
-
-.PHONY: iso
-
-all: install
-
-build: xwait runlevel_set isolinux/boot.msg
- cd $(STAGE1) && ADDITIONAL_DEFS="-DMANDRAKE_MOVE" MOVE=1 make init stage1-full init-move
- sudo ./collect-directories-to-create.pl $(DEST_LIVETREE) > data/directories-to-create
- sudo find $(DEST_LIVETREE)/etc -type f | perl -pe 's|$(DEST_LIVETREE)||' > data/all-etcfiles
- $(MAKE) -C ../perl-install mo_files
-
-isolinux/boot.msg: data/isolinux-graphic.bmp
- lilo-bmp2mdk mode:0x103 progress:371,144,4,4,64+11 clear:600,800,64+127 pos:0,0 < $< > $@
-
-install: build
- #- todo: make_boot_img alike to create boot volume from ../mdk-stage1/stage1-cdrom (isolinux mandatory since stock kernel is so big)
- sudo cp -f $(STAGE1)/init-move $(DEST_LIVETREE)/sbin/init
-
- $(MAKE) -C ../perl-install/share/po install NAME=libDrakX DATADIR=$(DEST_LIVETREE)/usr/share
-
- sudo cp -f xwait $(DEST_LIVETREE)/usr/bin
- sudo cp -f runlevel_set $(DEST_LIVETREE)/usr/bin
- sudo cp -f runstage2 $(DEST_LIVETREE)/usr/bin/runstage2.pl
- sudo rm -rf $(DEST_STAGE2)
- sudo mkdir -p $(DEST_STAGE2)
- sudo sh -c 'echo 1 > $(DEST_STAGE2)/help.pm'
- sudo cp -f *.pm $(DEST_STAGE2)
- sudo cp -f $(addprefix $(INSTALL)/, $(INSTALL_FILES)) $(DEST_STAGE2)
- sudo cp -f $(PROGRAM_FILES) $(DEST_LIVETREE)/usr/bin
- sudo rm -f $(DEST_LIVETREE)/usr/bin/{halt,reboot} #- symlinks to consolehelper
- sudo cp -f tree/{halt,reboot} $(DEST_LIVETREE)/usr/bin
- sudo cp -f tree/X_move $(DEST_LIVETREE)/usr/X11R6/bin
- sudo cp -f tree/sound.initscript $(DEST_LIVETREE)/etc/init.d/sound
-
- sudo rm -rf $(DEST_LIVETREE)/usr/share/langs
- sudo mkdir -p $(DEST_LIVETREE)/usr/share/langs
- sudo cp -f $(patsubst %, $(INSTALL)/pixmaps/langs/lang-%.png, $(LANG_FILES)) $(DEST_LIVETREE)/usr/share/langs
-
- #- overwrite /usr/lib/libDrakX files of the live tree with those in CVS
- (cd $(DEST_LIVETREE)/usr/lib/libDrakX ; find -name "*.pm") | egrep -v 'ctxhelp|drakfirsttime' | (cd $(INSTALL) ; sudo cpio -pLumd $(DEST_LIVETREE)/usr/lib/libDrakX/)
-
- #- overwrite stuff.so of drakxtools because it doesn't contain C_DRAKX stuff
- sudo cp -f ../perl-install/c/blib/arch/auto/stuff/stuff.so $(DEST_LIVETREE)/usr/lib/libDrakX/auto/c/stuff
-
- #- overwrite MDK-Common
- sudo cp -f ../../soft/perl-MDK-Common/MDK/Common/*.pm $(DEST_LIVETREE)/usr/$(LIB_NAME)/perl5/vendor_perl/*/MDK/Common
-
- #- duplicated :(
- sudo perl -pi -e 's/#[-+].*//; $$_ = "\n" if (/^=(head|begin)/ .. /^=cut/) || /use (diagnostics|vars|strict)/' $(DEST_STAGE2)/*.pm `find $(DEST_LIVETREE)/usr/lib/libDrakX -name "*.pm"`
-
- sudo mkdir -p $(DEST_LIVETREE)/move
- sudo cp -f $(addprefix data/, $(DATA_FILES)) $(DEST_LIVETREE)/move
-
- sudo install -m 440 tree/sudoers $(DEST_LIVETREE)/etc
- sudo install -m 644 tree/mdk_move_boot_loop.desktop $(DEST_LIVETREE)/usr/share/autostart
- sudo install tree/{mdk_move_loop,mdk_totem,mdk_behind_totem} $(DEST_LIVETREE)/usr/bin
- sudo install -m 644 -D tree/mdk_totem.desktop $(DEST_LIVETREE)/etc/skel/Desktop/mdk_totem.desktop
- sudo install -m 644 tree/{kdedrc,konsolerc} $(DEST_LIVETREE)/usr/share/config
- sudo install -m 644 img/Mandrake.png $(DEST_LIVETREE)/usr/share/mdk/backgrounds
- sudo install -m 644 img/FE* $(DEST_LIVETREE)/usr/share/wallpapers
-
- grep ChangeLog $(INSTALL)/CVS/Entries > /tmp/version
- sudo cp -f /tmp/version $(DEST_LIVETREE)/usr/share/VERSION
-
-live_tree_boot:
- rm -f /tmp/live_tree*.clp
- ./make_live_tree_boot
- tools/fix-fc-cache.pl $(DEST_LIVETREE)
- $(MAKE) /tmp/live_tree_always.clp
- $(MAKE) /tmp/live_tree_boot.clp
- $(MAKE) /tmp/live_tree_totem.clp
- -$(MAKE) /tmp/live_tree_nvidia.clp
- $(MAKE) $(patsubst %, /tmp/live_tree_always_i18n_%.clp, $(LANG_FILES))
-
-un_live_tree_boot:
- ./make_live_tree_boot -u
- tools/fix-fc-cache.pl $(DEST_LIVETREE)
-
-iso: un_live_tree_boot install live_tree_boot
- rm -rf /tmp/iso /tmp/live_tree.clp
- mkdir /tmp/iso
- cp -a isolinux /tmp/iso
- rm -rf /tmp/iso/isolinux/CVS
- $(MAKE) /tmp/live_tree.clp
- mv /tmp/*.clp /tmp/iso
-
- touch /tmp/iso/isolinux/boot.cat
- find /tmp/iso/isolinux -type f -printf '%p 100\n' > /tmp/iso.sort ; echo '/tmp/iso/live_tree_boot.clp 5' >> /tmp/iso.sort
-# download version: MOVE10DO
-# complete version: MOVE10IN
- mkisofs -r -J -hide-rr-moved -nobak -cache-inodes -P MandrakeSoft -V 'MandrakeMove' -volset MOVE10IN -b isolinux/isolinux.bin -c isolinux/boot.cat -sort /tmp/iso.sort -no-emul-boot -boot-load-size 4 -boot-info-table -o $(ISO) /tmp/iso
- mv /tmp/iso/*.clp /tmp
- mkcd --addmd5 $(ISO)
-# cdrecord -v -eject dev=0,0,0 blank=fast gracetime=2 speed=99 $(ISO)
-# ftp://a:a@leia//BIG/mdkmove.iso
-
-xwait: %: %.c
- $(CC) $(CFLAGS) $< -L/usr/X11R6/$(LIB_NAME) -lX11 -o $@
-
-runlevel_set: %: %.c
- $(CC) $(CFLAGS) $< -o $@
-
-clean:
- rm -f xwait
-
-%.clp: %
- if [ -e $<.sort ]; then \
- mkisofs -R -sort $<.sort $< | create_compressed_fs - 65536 $@ 2000 2>/dev/null ; \
- else \
- mkisofs -R $< | create_compressed_fs - 65536 $@ 2000 2>/dev/null ; \
- fi
-
-check_dirs:
- for i in `cat data/*.dirs`; do grep /tmp/live_tree$$i/ data/*.list; done ||:
-
-# perl tools/busy-files-accesses --no-link --no-dir --full-dirs 'data/always.dirs data/boot.dirs data/totem.dirs' --already-have data/always.list
diff --git a/move/collect-directories-to-create.pl b/move/collect-directories-to-create.pl
deleted file mode 100755
index c6e208c57..000000000
--- a/move/collect-directories-to-create.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use MDK::Common;
-
-#- there are programs/packages which fail when the directory
-#- in which they try to write doesn't exist. better collect them
-#- at build time so that drakx startup can create them.
-
-my @list = map { if_(m|^\Q$ARGV[0]\E(.*)$|, $1) } `find $ARGV[0]/{etc,var} -type d`;
-my @final;
-foreach my $e (sort { length($b) <=> length($a) } @list) {
- any { /^\Q$e\E/ } @final and next;
- push @final, $e;
-}
-
-print "$_\n" foreach sort @final;
diff --git a/move/data/.cvsignore b/move/data/.cvsignore
deleted file mode 100644
index 865db0ade..000000000
--- a/move/data/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-all-etcfiles
-directories-to-create
diff --git a/move/data/BOOT-1024-MOVE.jpg b/move/data/BOOT-1024-MOVE.jpg
deleted file mode 100644
index 5847c47bb..000000000
--- a/move/data/BOOT-1024-MOVE.jpg
+++ /dev/null
Binary files differ
diff --git a/move/data/BOOT-1280-MOVE.jpg b/move/data/BOOT-1280-MOVE.jpg
deleted file mode 100644
index 04d219555..000000000
--- a/move/data/BOOT-1280-MOVE.jpg
+++ /dev/null
Binary files differ
diff --git a/move/data/BOOT-1600-MOVE.jpg b/move/data/BOOT-1600-MOVE.jpg
deleted file mode 100644
index 65379e8a5..000000000
--- a/move/data/BOOT-1600-MOVE.jpg
+++ /dev/null
Binary files differ
diff --git a/move/data/BOOT-800-MOVE.jpg b/move/data/BOOT-800-MOVE.jpg
deleted file mode 100644
index adcc6bcff..000000000
--- a/move/data/BOOT-800-MOVE.jpg
+++ /dev/null
Binary files differ
diff --git a/move/data/always.dirs b/move/data/always.dirs
deleted file mode 100644
index e69de29bb..000000000
--- a/move/data/always.dirs
+++ /dev/null
diff --git a/move/data/always.list b/move/data/always.list
deleted file mode 100644
index e1535de87..000000000
--- a/move/data/always.list
+++ /dev/null
@@ -1,144 +0,0 @@
-/tmp/live_tree/bin/bash
-/tmp/live_tree/bin/mount
-/tmp/live_tree/bin/umount
-/tmp/live_tree/etc/ld.so.cache
-/tmp/live_tree/etc/nsswitch.conf
-/tmp/live_tree/lib/libc-2.3.2.so
-/tmp/live_tree/lib/libc.so.6
-/tmp/live_tree/lib/libm-2.3.2.so
-/tmp/live_tree/lib/libm.so.6
-/tmp/live_tree/lib/libpthread-0.10.so
-/tmp/live_tree/lib/libpthread.so.0
-/tmp/live_tree/lib/librt-2.3.2.so
-/tmp/live_tree/lib/librt.so.1
-/tmp/live_tree/lib/libthread_db-1.0.so
-/tmp/live_tree/lib/ld-2.3.2.so
-/tmp/live_tree/lib/ld-linux.so.2
-/tmp/live_tree/lib/libdl.so.2
-/tmp/live_tree/lib/libdl-2.3.2.so
-/tmp/live_tree/lib/libgcc_s-3.3.1.so.1
-/tmp/live_tree/lib/libnsl-2.3.2.so
-/tmp/live_tree/lib/libnss_dns-2.3.2.so
-/tmp/live_tree/lib/libnss_files-2.3.2.so
-/tmp/live_tree/lib/libnss_nis-2.3.2.so
-/tmp/live_tree/lib/libnss_nisplus-2.3.2.so
-/tmp/live_tree/lib/libpam.so.0.77
-/tmp/live_tree/lib/libpam_misc.so.0.77
-/tmp/live_tree/lib/libpopt.so.0.0.0
-/tmp/live_tree/lib/libresolv-2.3.2.so
-/tmp/live_tree/lib/libtermcap.so.2
-/tmp/live_tree/lib/libtermcap.so.2.0.8
-/tmp/live_tree/lib/libutil-2.3.2.so
-/tmp/live_tree/lib/libz.so.1.1.4
-/tmp/live_tree/lib/security/pam_console_apply_devfsd.so
-/tmp/live_tree/sbin/cardmgr
-/tmp/live_tree/sbin/devfsd
-/tmp/live_tree/sbin/init
-/tmp/live_tree/sbin/klogd
-/tmp/live_tree/sbin/losetup
-/tmp/live_tree/sbin/syslogd
-/tmp/live_tree/usr/X11R6/bin/X_move
-/tmp/live_tree/usr/X11R6/bin/XFree86
-/tmp/live_tree/usr/X11R6/bin/xfs
-/tmp/live_tree/usr/X11R6/bin/xwait
-/tmp/live_tree/usr/X11R6/lib/X11/fonts/75dpi/helvB12-ISO8859-1.pcf.gz
-/tmp/live_tree/usr/X11R6/lib/X11/fonts/75dpi/helvB12.pcf.gz
-/tmp/live_tree/usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
-/tmp/live_tree/usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2
-/tmp/live_tree/usr/X11R6/lib/X11/locale/lib/common/xomGeneric.so.2
-/tmp/live_tree/usr/X11R6/lib/libGL.so.1.2
-/tmp/live_tree/usr/X11R6/lib/libICE.so.6.3
-/tmp/live_tree/usr/X11R6/lib/libSM.so.6.0
-/tmp/live_tree/usr/X11R6/lib/libX11.so.6.2
-/tmp/live_tree/usr/X11R6/lib/libXcursor.so.1.0
-/tmp/live_tree/usr/X11R6/lib/libXext.so.6.4
-/tmp/live_tree/usr/X11R6/lib/libXfont.so.1.4
-/tmp/live_tree/usr/X11R6/lib/libXft.so.2.1
-/tmp/live_tree/usr/X11R6/lib/libXmu.so.6.2
-/tmp/live_tree/usr/X11R6/lib/libXrender.so.1.2
-/tmp/live_tree/usr/X11R6/lib/libXt.so.6.0
-/tmp/live_tree/usr/X11R6/lib/libaudio.so.2.3
-/tmp/live_tree/usr/bin/artsd
-/tmp/live_tree/usr/bin/dnotify
-/tmp/live_tree/usr/bin/eject
-/tmp/live_tree/usr/bin/kdeinit
-/tmp/live_tree/usr/bin/kwrapper
-/tmp/live_tree/usr/bin/startkde
-/tmp/live_tree/usr/bin/startkde_move
-/tmp/live_tree/usr/bin/xwait
-/tmp/live_tree/usr/lib/GConf/2/libgconfbackend-xml.so
-/tmp/live_tree/usr/lib/dcopserver.so
-/tmp/live_tree/usr/lib/gconfd-2
-/tmp/live_tree/usr/lib/gconv/ISO8859-1.so
-/tmp/live_tree/usr/lib/gconv/ISO8859-15.so
-/tmp/live_tree/usr/lib/gtk-2.0/2.2.0/immodules/im-cedilla.so
-/tmp/live_tree/usr/lib/kde3/clock_panelapplet.so
-/tmp/live_tree/usr/lib/kde3/kded_kinetd.so
-/tmp/live_tree/usr/lib/kde3/kded_mountwatcher.so
-/tmp/live_tree/usr/lib/kde3/kickermenu_recentdocs.so
-/tmp/live_tree/usr/lib/kde3/kio_file.so
-/tmp/live_tree/usr/lib/kde3/konq_sound.so
-/tmp/live_tree/usr/lib/kde3/kwin_mandrake.so.0.0.0
-/tmp/live_tree/usr/lib/kde3/minipager_panelapplet.so
-/tmp/live_tree/usr/lib/kde3/plugins/styles/galaxy.so.0.0.0
-/tmp/live_tree/usr/lib/kde3/systemtray_panelapplet.so
-/tmp/live_tree/usr/lib/kde3/taskbar_panelapplet.so
-/tmp/live_tree/usr/lib/kded.so
-/tmp/live_tree/usr/lib/kdesktop.so
-/tmp/live_tree/usr/lib/khotkeys.so
-/tmp/live_tree/usr/lib/kicker.so
-/tmp/live_tree/usr/lib/klauncher.so
-/tmp/live_tree/usr/lib/knotify.so
-/tmp/live_tree/usr/lib/ksmserver.so
-/tmp/live_tree/usr/lib/kwin.so
-/tmp/live_tree/usr/lib/libDCOP.so.4.1.0
-/tmp/live_tree/usr/lib/libORBit-2.so.0.0.0
-/tmp/live_tree/usr/lib/libart_lgpl_2.so.2.3.16
-/tmp/live_tree/usr/lib/libartsbuilder.so.0.0.0
-/tmp/live_tree/usr/lib/libartsflow.so.1.0.0
-/tmp/live_tree/usr/lib/libartsflow_idl.so.1.0.0
-/tmp/live_tree/usr/lib/libartskde.so.1.1.0
-/tmp/live_tree/usr/lib/libartsmidi.so.0.0.0
-/tmp/live_tree/usr/lib/libartsmidi_idl.so.0.0.0
-/tmp/live_tree/usr/lib/libasound.so.2.0.0
-/tmp/live_tree/usr/lib/libaudiofile.so.0.0.2
-/tmp/live_tree/usr/lib/libaudiofilearts.so
-/tmp/live_tree/usr/lib/libexpat.so.0.4.0
-/tmp/live_tree/usr/lib/libfam.so.0.0.0
-/tmp/live_tree/usr/lib/libfontconfig.so.1.0.4
-/tmp/live_tree/usr/lib/libfreetype.so.6.3.3
-/tmp/live_tree/usr/lib/libgconf-2.so.4.1.0
-/tmp/live_tree/usr/lib/libglib-2.0.so.0.200.3
-/tmp/live_tree/usr/lib/libgmodule-2.0.so.0.200.3
-/tmp/live_tree/usr/lib/libgobject-2.0.so.0.200.3
-/tmp/live_tree/usr/lib/libgthread-2.0.so.0.200.3
-/tmp/live_tree/usr/lib/libjpeg.so.62.0.0
-/tmp/live_tree/usr/lib/libkcal.so.2.0.0
-/tmp/live_tree/usr/lib/libkdecore.so.4.1.0
-/tmp/live_tree/usr/lib/libkdefx.so.4.1.0
-/tmp/live_tree/usr/lib/libkdesu.so.4.1.0
-/tmp/live_tree/usr/lib/libkdeui.so.4.1.0
-/tmp/live_tree/usr/lib/libkickermain.so.1.0.0
-/tmp/live_tree/usr/lib/libkio.so.4.1.0
-/tmp/live_tree/usr/lib/libkmedia2_idl.so.1.0.0
-/tmp/live_tree/usr/lib/libkonq.so.4.1.0
-/tmp/live_tree/usr/lib/libkparts.so.2.1.0
-/tmp/live_tree/usr/lib/libmad.so.0.2.0
-/tmp/live_tree/usr/lib/libmcop.so.1.0.0
-/tmp/live_tree/usr/lib/libmcop_mt.so.1.0.0
-/tmp/live_tree/usr/lib/libmng.so.1.0.0
-/tmp/live_tree/usr/lib/libogg.so.0.4.0
-/tmp/live_tree/usr/lib/libpng.so.3.1.2.5
-/tmp/live_tree/usr/lib/libqtmcop.so.1.0.0
-/tmp/live_tree/usr/lib/libslp.so.1.0.0
-/tmp/live_tree/usr/lib/libsoundserver_idl.so.1.0.0
-/tmp/live_tree/usr/lib/libstdc++.so.5.0.5
-/tmp/live_tree/usr/lib/libtaskbar.so.1.1.0
-/tmp/live_tree/usr/lib/libtaskmanager.so.1.0.0
-/tmp/live_tree/usr/lib/libvorbis.so.0.2.0
-/tmp/live_tree/usr/lib/libvorbisenc.so.2.0.0
-/tmp/live_tree/usr/lib/libvorbisfile.so.3.0.0
-/tmp/live_tree/usr/lib/libxml2.so.2.5.11
-/tmp/live_tree/usr/lib/qt3/lib/libqt-mt.so.3.1.2
-/tmp/live_tree/usr/share/fonts/ttf/vera/Vera.ttf
-/tmp/live_tree/usr/share/fonts/ttf/vera/VeraBd.ttf
diff --git a/move/data/always_i18n.list b/move/data/always_i18n.list
deleted file mode 100644
index 0d66a80e1..000000000
--- a/move/data/always_i18n.list
+++ /dev/null
@@ -1,28 +0,0 @@
-/tmp/live_tree/usr/share/locale/__LANG__/LC_ADDRESS
-/tmp/live_tree/usr/share/locale/__LANG__/LC_COLLATE
-/tmp/live_tree/usr/share/locale/__LANG__/LC_CTYPE
-/tmp/live_tree/usr/share/locale/__LANG__/LC_IDENTIFICATION
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MEASUREMENT
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/GConf2.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/SYS_LC_MESSAGES
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/glib20.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/gtk20.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/kdelibs.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/kdesktop.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/khotkeys.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/kicker.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/kio_devices.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/knotify.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/ksmserver.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/kwin.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/libgnomeui-2.0.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/libkonq.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/libxine1.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MESSAGES/totem.mo
-/tmp/live_tree/usr/share/locale/__LANG__/LC_MONETARY
-/tmp/live_tree/usr/share/locale/__LANG__/LC_NAME
-/tmp/live_tree/usr/share/locale/__LANG__/LC_NUMERIC
-/tmp/live_tree/usr/share/locale/__LANG__/LC_PAPER
-/tmp/live_tree/usr/share/locale/__LANG__/LC_TELEPHONE
-/tmp/live_tree/usr/share/locale/__LANG__/LC_TIME
-/tmp/live_tree/usr/share/services/ksycoca-__LANG__
diff --git a/move/data/boot.dirs b/move/data/boot.dirs
deleted file mode 100644
index df381c82e..000000000
--- a/move/data/boot.dirs
+++ /dev/null
@@ -1,41 +0,0 @@
-/etc/X11/fs
-/etc/X11/xserver
-/etc/gtk-2.0
-/etc/pango
-/lib/modutils
-/usr/X11R6/lib/X11/locale/C
-/usr/X11R6/lib/modules/drivers/linux
-/usr/bin/stage2
-/usr/lib/libDrakX/Xconfig
-/usr/lib/libDrakX/auto/c
-/usr/lib/libDrakX/c
-/usr/lib/libDrakX/printer
-/usr/lib/libDrakX/sbus_probing
-/usr/lib/mcop/Arts
-/usr/lib/perl5/5.8.1/Exporter
-/usr/lib/perl5/5.8.1/i386-linux-thread-multi/CORE
-/usr/lib/perl5/5.8.1/i386-linux-thread-multi/File
-/usr/lib/perl5/5.8.1/i386-linux-thread-multi/auto/File
-/usr/lib/perl5/5.8.1/i386-linux-thread-multi/auto/Socket
-/usr/lib/perl5/5.8.1/warnings
-/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/Gtk2/Gdk
-/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/auto/Glib
-/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/auto/Gtk2
-/usr/share/applnk-mdk
-/usr/share/apps/clockapplet
-/usr/share/apps/kabc/plugins
-/usr/share/apps/kalarmdgui
-/usr/share/apps/kconf_update
-/usr/share/apps/kdesktop/DesktopLinks
-/usr/share/apps/kdisplay/app-defaults
-/usr/share/apps/khtml/css
-/usr/share/apps/knotify
-/usr/share/autostart
-/usr/share/icons/default
-/usr/share/icons/mdk-hicolor
-/usr/share/langs
-/usr/share/mimelnk
-/usr/share/nautilus
-/usr/share/servicetypes
-/usr/share/themes/Default/gtk-2.0
-/usr/share/themes/Galaxy/gtk-2.0
diff --git a/move/data/boot.list b/move/data/boot.list
deleted file mode 100644
index 3d1dd7887..000000000
--- a/move/data/boot.list
+++ /dev/null
@@ -1,790 +0,0 @@
-/tmp/live_tree/bin/bash
-/tmp/live_tree/bin/chmod
-/tmp/live_tree/bin/cp
-/tmp/live_tree/bin/cut
-/tmp/live_tree/bin/gawk
-/tmp/live_tree/bin/gettext
-/tmp/live_tree/bin/grep
-/tmp/live_tree/bin/gzip
-/tmp/live_tree/bin/id
-/tmp/live_tree/bin/loadkeys
-/tmp/live_tree/bin/ls
-/tmp/live_tree/bin/mkdir
-/tmp/live_tree/bin/rm
-/tmp/live_tree/bin/sed
-/tmp/live_tree/bin/touch
-/tmp/live_tree/bin/uname
-/tmp/live_tree/etc/DIR_COLORS
-/tmp/live_tree/etc/X11/fs
-/tmp/live_tree/etc/X11/xkb/compat/accessx
-/tmp/live_tree/etc/X11/xkb/compat/basic
-/tmp/live_tree/etc/X11/xkb/compat/complete
-/tmp/live_tree/etc/X11/xkb/compat/iso9995
-/tmp/live_tree/etc/X11/xkb/compat/misc
-/tmp/live_tree/etc/X11/xkb/compat/mousekeys
-/tmp/live_tree/etc/X11/xkb/compat/xfree86
-/tmp/live_tree/etc/X11/xkb/geometry/pc
-/tmp/live_tree/etc/X11/xkb/keycodes/aliases
-/tmp/live_tree/etc/X11/xkb/keycodes/xfree86
-/tmp/live_tree/etc/X11/xkb/rules/xfree86
-/tmp/live_tree/etc/X11/xkb/rules/xfree86.lst
-/tmp/live_tree/etc/X11/xkb/symbols/en_US
-/tmp/live_tree/etc/X11/xkb/symbols/gb
-/tmp/live_tree/etc/X11/xkb/symbols/iso9995-3
-/tmp/live_tree/etc/X11/xkb/symbols/srvr_ctrl
-/tmp/live_tree/etc/X11/xkb/symbols/us
-/tmp/live_tree/etc/X11/xkb/types/basic
-/tmp/live_tree/etc/X11/xkb/types/complete
-/tmp/live_tree/etc/X11/xkb/types/extra
-/tmp/live_tree/etc/X11/xkb/types/iso9995
-/tmp/live_tree/etc/X11/xkb/types/mousekeys
-/tmp/live_tree/etc/X11/xkb/types/pc
-/tmp/live_tree/etc/X11/xkb/xkbcomp
-/tmp/live_tree/etc/X11/xserver
-/tmp/live_tree/etc/bashrc
-/tmp/live_tree/etc/devfsd.conf
-/tmp/live_tree/etc/fonts/fonts.conf
-/tmp/live_tree/etc/fonts/local.conf
-/tmp/live_tree/etc/group
-/tmp/live_tree/etc/gtk-2.0
-/tmp/live_tree/etc/inputrc
-/tmp/live_tree/etc/ld.so.cache
-/tmp/live_tree/etc/login.defs
-/tmp/live_tree/etc/modules.devfs
-/tmp/live_tree/etc/nsswitch.conf
-/tmp/live_tree/etc/pam.d/other
-/tmp/live_tree/etc/pam.d/sudo
-/tmp/live_tree/etc/pam.d/system-auth
-/tmp/live_tree/etc/pam.d/xserver
-/tmp/live_tree/etc/pango
-/tmp/live_tree/etc/passwd
-/tmp/live_tree/etc/profile.d/10lang.sh
-/tmp/live_tree/etc/profile.d/alias.sh
-/tmp/live_tree/etc/profile.d/configure_keyboard.sh
-/tmp/live_tree/etc/profile.d/glib20.sh
-/tmp/live_tree/etc/profile.d/inputrc.sh
-/tmp/live_tree/etc/profile.d/kde3.sh
-/tmp/live_tree/etc/profile.d/msec.sh
-/tmp/live_tree/etc/profile.d/qtdir3.sh
-/tmp/live_tree/etc/profile.d/screen.sh
-/tmp/live_tree/etc/profile.d/ssh-client.sh
-/tmp/live_tree/etc/profile.d/tmpdir.sh
-/tmp/live_tree/etc/profile.d/xhost.sh
-/tmp/live_tree/etc/rc.d/init.d/functions
-/tmp/live_tree/etc/rc.d/init.d/syslog
-/tmp/live_tree/etc/rc.d/init.d/xfs
-/tmp/live_tree/etc/security/console.perms
-/tmp/live_tree/etc/security/fileshare.conf
-/tmp/live_tree/etc/security/pam_env.conf
-/tmp/live_tree/etc/services
-/tmp/live_tree/etc/shells
-/tmp/live_tree/etc/sudoers
-/tmp/live_tree/etc/syslog.conf
-/tmp/live_tree/lib/ld-2.3.2.so
-/tmp/live_tree/lib/libcom_err.so.2.1
-/tmp/live_tree/lib/libcrypt-2.3.2.so
-/tmp/live_tree/lib/libdl-2.3.2.so
-/tmp/live_tree/lib/libext2fs.so.2.4
-/tmp/live_tree/lib/libgcc_s-3.3.1.so.1
-/tmp/live_tree/lib/libintl.so.2.2.0
-/tmp/live_tree/lib/libnsl-2.3.2.so
-/tmp/live_tree/lib/libnss_dns-2.3.2.so
-/tmp/live_tree/lib/libnss_files-2.3.2.so
-/tmp/live_tree/lib/libnss_nis-2.3.2.so
-/tmp/live_tree/lib/libnss_nisplus-2.3.2.so
-/tmp/live_tree/lib/libpam.so.0.77
-/tmp/live_tree/lib/libpam_misc.so.0.77
-/tmp/live_tree/lib/libpcre.so.0.0.1
-/tmp/live_tree/lib/libpopt.so.0.0.0
-/tmp/live_tree/lib/libresolv-2.3.2.so
-/tmp/live_tree/lib/libtermcap.so.2.0.8
-/tmp/live_tree/lib/libutil-2.3.2.so
-/tmp/live_tree/lib/libz.so.1.1.4
-/tmp/live_tree/lib/modutils
-/tmp/live_tree/lib/security/pam_console.so
-/tmp/live_tree/lib/security/pam_console_apply_devfsd.so
-/tmp/live_tree/lib/security/pam_cracklib.so
-/tmp/live_tree/lib/security/pam_deny.so
-/tmp/live_tree/lib/security/pam_env.so
-/tmp/live_tree/lib/security/pam_limits.so
-/tmp/live_tree/lib/security/pam_permit.so
-/tmp/live_tree/lib/security/pam_rootok.so
-/tmp/live_tree/lib/security/pam_stack.so
-/tmp/live_tree/lib/security/pam_unix.so
-/tmp/live_tree/sbin/consoletype
-/tmp/live_tree/sbin/devfsd
-/tmp/live_tree/sbin/hotplug
-/tmp/live_tree/sbin/ifconfig
-/tmp/live_tree/sbin/init
-/tmp/live_tree/sbin/initlog
-/tmp/live_tree/sbin/insmod-24
-/tmp/live_tree/sbin/klogd
-/tmp/live_tree/sbin/losetup
-/tmp/live_tree/sbin/minilogd
-/tmp/live_tree/sbin/modprobe-24
-/tmp/live_tree/sbin/pam_console_apply
-/tmp/live_tree/sbin/service
-/tmp/live_tree/sbin/syslogd
-/tmp/live_tree/usr/X11R6/bin/XFree86
-/tmp/live_tree/usr/X11R6/bin/Xwrapper
-/tmp/live_tree/usr/X11R6/bin/iceauth
-/tmp/live_tree/usr/X11R6/bin/setxkbmap
-/tmp/live_tree/usr/X11R6/bin/xfs
-/tmp/live_tree/usr/X11R6/bin/xmodmap
-/tmp/live_tree/usr/X11R6/bin/xrdb
-/tmp/live_tree/usr/X11R6/bin/xset
-/tmp/live_tree/usr/X11R6/bin/xsetroot
-/tmp/live_tree/usr/X11R6/lib/X11/XErrorDB
-/tmp/live_tree/usr/X11R6/lib/X11/XKeysymDB
-/tmp/live_tree/usr/X11R6/lib/X11/locale/C
-/tmp/live_tree/usr/X11R6/lib/X11/locale/compose.dir
-/tmp/live_tree/usr/X11R6/lib/X11/locale/iso8859-1/Compose
-/tmp/live_tree/usr/X11R6/lib/X11/locale/iso8859-1/XI18N_OBJS
-/tmp/live_tree/usr/X11R6/lib/X11/locale/iso8859-1/XLC_LOCALE
-/tmp/live_tree/usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2
-/tmp/live_tree/usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2
-/tmp/live_tree/usr/X11R6/lib/X11/locale/lib/common/xomGeneric.so.2
-/tmp/live_tree/usr/X11R6/lib/X11/locale/locale.alias
-/tmp/live_tree/usr/X11R6/lib/X11/locale/locale.dir
-/tmp/live_tree/usr/X11R6/lib/X11/rgb.txt
-/tmp/live_tree/usr/X11R6/lib/libGL.so.1.2
-/tmp/live_tree/usr/X11R6/lib/libICE.so.6.3
-/tmp/live_tree/usr/X11R6/lib/libSM.so.6.0
-/tmp/live_tree/usr/X11R6/lib/libX11.so.6.2
-/tmp/live_tree/usr/X11R6/lib/libXcursor.so.1.0
-/tmp/live_tree/usr/X11R6/lib/libXext.so.6.4
-/tmp/live_tree/usr/X11R6/lib/libXfont.so.1.4
-/tmp/live_tree/usr/X11R6/lib/libXft.so.2.1
-/tmp/live_tree/usr/X11R6/lib/libXi.so.6.0
-/tmp/live_tree/usr/X11R6/lib/libXm.so.2.0.1
-/tmp/live_tree/usr/X11R6/lib/libXmu.so.6.2
-/tmp/live_tree/usr/X11R6/lib/libXmuu.so.1.0
-/tmp/live_tree/usr/X11R6/lib/libXp.so.6.2
-/tmp/live_tree/usr/X11R6/lib/libXrandr.so.2.0
-/tmp/live_tree/usr/X11R6/lib/libXrender.so.1.2
-/tmp/live_tree/usr/X11R6/lib/libXt.so.6.0
-/tmp/live_tree/usr/X11R6/lib/libXtst.so.6.1
-/tmp/live_tree/usr/X11R6/lib/libaudio.so.2.3
-/tmp/live_tree/usr/X11R6/lib/modules/drivers/linux
-/tmp/live_tree/usr/X11R6/lib/modules/drivers/nv_drv.o
-/tmp/live_tree/usr/X11R6/lib/modules/fonts/libbitmap.a
-/tmp/live_tree/usr/X11R6/lib/modules/fonts/libfreetype.a
-/tmp/live_tree/usr/X11R6/lib/modules/fonts/libtype1.a
-/tmp/live_tree/usr/X11R6/lib/modules/input/mouse_drv.o
-/tmp/live_tree/usr/X11R6/lib/modules/libddc.a
-/tmp/live_tree/usr/X11R6/lib/modules/libfb.a
-/tmp/live_tree/usr/X11R6/lib/modules/libi2c.a
-/tmp/live_tree/usr/X11R6/lib/modules/libpcidata.a
-/tmp/live_tree/usr/X11R6/lib/modules/libramdac.a
-/tmp/live_tree/usr/X11R6/lib/modules/libvgahw.a
-/tmp/live_tree/usr/X11R6/lib/modules/libxaa.a
-/tmp/live_tree/usr/X11R6/lib/modules/linux/libint10.a
-/tmp/live_tree/usr/bin/artsd
-/tmp/live_tree/usr/bin/artswrapper
-/tmp/live_tree/usr/bin/cpp-3.3.1
-/tmp/live_tree/usr/bin/dcopserver_shutdown
-/tmp/live_tree/usr/bin/dircolors
-/tmp/live_tree/usr/bin/dirname
-/tmp/live_tree/usr/bin/dumpkeys
-/tmp/live_tree/usr/bin/kab2kabc
-/tmp/live_tree/usr/bin/kde-config
-/tmp/live_tree/usr/bin/kdeinit
-/tmp/live_tree/usr/bin/killall
-/tmp/live_tree/usr/bin/krootwarning
-/tmp/live_tree/usr/bin/ksplash
-/tmp/live_tree/usr/bin/kwrapper
-/tmp/live_tree/usr/bin/lnusertemp
-/tmp/live_tree/usr/bin/locale
-/tmp/live_tree/usr/bin/mandrakegalaxy
-/tmp/live_tree/usr/bin/mandrakegalaxy.real
-/tmp/live_tree/usr/bin/mdk_move_loop
-/tmp/live_tree/usr/bin/mesg
-/tmp/live_tree/usr/bin/nspluginscan
-/tmp/live_tree/usr/bin/perl5.8.1
-/tmp/live_tree/usr/bin/runstage2.pl
-/tmp/live_tree/usr/bin/stage2
-/tmp/live_tree/usr/bin/startkde
-/tmp/live_tree/usr/bin/sudo
-/tmp/live_tree/usr/bin/suidperl
-/tmp/live_tree/usr/bin/test-windows-key
-/tmp/live_tree/usr/bin/tty
-/tmp/live_tree/usr/bin/whoami
-/tmp/live_tree/usr/bin/xwait
-/tmp/live_tree/usr/lib/dcopserver.la
-/tmp/live_tree/usr/lib/dcopserver.so
-/tmp/live_tree/usr/lib/gconv/ISO8859-1.so
-/tmp/live_tree/usr/lib/gconv/ISO8859-15.so
-/tmp/live_tree/usr/lib/gconv/gconv-modules
-/tmp/live_tree/usr/lib/gtk-2.0/2.2.0/engines/libgalaxy.so
-/tmp/live_tree/usr/lib/gtk-2.0/2.2.0/immodules/im-cedilla.so
-/tmp/live_tree/usr/lib/gtk-2.0/2.2.0/loaders/libpixbufloader-png.so
-/tmp/live_tree/usr/lib/kbd/consolefonts/lat0-16.psf.gz
-/tmp/live_tree/usr/lib/kbd/consoletrans/iso15.acm.gz
-/tmp/live_tree/usr/lib/kbd/consoletrans/iso15.sfm.gz
-/tmp/live_tree/usr/lib/kbuildsycoca.la
-/tmp/live_tree/usr/lib/kbuildsycoca.so
-/tmp/live_tree/usr/lib/kcminit.la
-/tmp/live_tree/usr/lib/kcminit.so
-/tmp/live_tree/usr/lib/kconf_update.la
-/tmp/live_tree/usr/lib/kconf_update.so
-/tmp/live_tree/usr/lib/kde3/clock_panelapplet.la
-/tmp/live_tree/usr/lib/kde3/clock_panelapplet.so
-/tmp/live_tree/usr/lib/kde3/kcm_access.la
-/tmp/live_tree/usr/lib/kde3/kcm_access.so
-/tmp/live_tree/usr/lib/kde3/kcm_arts.la
-/tmp/live_tree/usr/lib/kde3/kcm_arts.so
-/tmp/live_tree/usr/lib/kde3/kcm_bell.la
-/tmp/live_tree/usr/lib/kde3/kcm_bell.so
-/tmp/live_tree/usr/lib/kde3/kcm_energy.la
-/tmp/live_tree/usr/lib/kde3/kcm_energy.so
-/tmp/live_tree/usr/lib/kde3/kcm_input.la
-/tmp/live_tree/usr/lib/kde3/kcm_input.so
-/tmp/live_tree/usr/lib/kde3/kcm_keyboard.la
-/tmp/live_tree/usr/lib/kde3/kcm_keyboard.so
-/tmp/live_tree/usr/lib/kde3/kcm_keys.la
-/tmp/live_tree/usr/lib/kde3/kcm_keys.so
-/tmp/live_tree/usr/lib/kde3/kcm_konqhtml.la
-/tmp/live_tree/usr/lib/kde3/kcm_konqhtml.so
-/tmp/live_tree/usr/lib/kde3/kcm_laptop.la
-/tmp/live_tree/usr/lib/kde3/kcm_laptop.so
-/tmp/live_tree/usr/lib/kde3/kcm_style.la
-/tmp/live_tree/usr/lib/kde3/kcm_style.so
-/tmp/live_tree/usr/lib/kde3/kded_kinetd.la
-/tmp/live_tree/usr/lib/kde3/kded_kinetd.so
-/tmp/live_tree/usr/lib/kde3/kded_mountwatcher.la
-/tmp/live_tree/usr/lib/kde3/kded_mountwatcher.so
-/tmp/live_tree/usr/lib/kde3/kio_devices.la
-/tmp/live_tree/usr/lib/kde3/kio_devices.so
-/tmp/live_tree/usr/lib/kde3/kio_file.la
-/tmp/live_tree/usr/lib/kde3/kio_file.so
-/tmp/live_tree/usr/lib/kde3/konq_sound.la
-/tmp/live_tree/usr/lib/kde3/konq_sound.so
-/tmp/live_tree/usr/lib/kde3/kwin_mandrake.la
-/tmp/live_tree/usr/lib/kde3/kwin_mandrake.so.0.0.0
-/tmp/live_tree/usr/lib/kde3/minipager_panelapplet.la
-/tmp/live_tree/usr/lib/kde3/minipager_panelapplet.so
-/tmp/live_tree/usr/lib/kde3/plugins/styles/galaxy.so.0.0.0
-/tmp/live_tree/usr/lib/kde3/systemtray_panelapplet.la
-/tmp/live_tree/usr/lib/kde3/systemtray_panelapplet.so
-/tmp/live_tree/usr/lib/kde3/taskbar_panelapplet.la
-/tmp/live_tree/usr/lib/kde3/taskbar_panelapplet.so
-/tmp/live_tree/usr/lib/kded.la
-/tmp/live_tree/usr/lib/kded.so
-/tmp/live_tree/usr/lib/kdesktop.la
-/tmp/live_tree/usr/lib/kdesktop.so
-/tmp/live_tree/usr/lib/khotkeys.la
-/tmp/live_tree/usr/lib/khotkeys.so
-/tmp/live_tree/usr/lib/kicker.la
-/tmp/live_tree/usr/lib/kicker.so
-/tmp/live_tree/usr/lib/klauncher.la
-/tmp/live_tree/usr/lib/klauncher.so
-/tmp/live_tree/usr/lib/knotify.la
-/tmp/live_tree/usr/lib/knotify.so
-/tmp/live_tree/usr/lib/ksmserver.la
-/tmp/live_tree/usr/lib/ksmserver.so
-/tmp/live_tree/usr/lib/kwin.la
-/tmp/live_tree/usr/lib/kwin.so
-/tmp/live_tree/usr/lib/libDCOP.so.4.1.0
-/tmp/live_tree/usr/lib/libDrakX/Xconfig
-/tmp/live_tree/usr/lib/libDrakX/any.pm
-/tmp/live_tree/usr/lib/libDrakX/auto/c
-/tmp/live_tree/usr/lib/libDrakX/c
-/tmp/live_tree/usr/lib/libDrakX/c.pm
-/tmp/live_tree/usr/lib/libDrakX/class_discard.pm
-/tmp/live_tree/usr/lib/libDrakX/commands.pm
-/tmp/live_tree/usr/lib/libDrakX/common.pm
-/tmp/live_tree/usr/lib/libDrakX/detect_devices.pm
-/tmp/live_tree/usr/lib/libDrakX/devices.pm
-/tmp/live_tree/usr/lib/libDrakX/fs.pm
-/tmp/live_tree/usr/lib/libDrakX/fsedit.pm
-/tmp/live_tree/usr/lib/libDrakX/handle_configs.pm
-/tmp/live_tree/usr/lib/libDrakX/harddrake/sound.pm
-/tmp/live_tree/usr/lib/libDrakX/interactive.pm
-/tmp/live_tree/usr/lib/libDrakX/interactive/gtk.pm
-/tmp/live_tree/usr/lib/libDrakX/keyboard.pm
-/tmp/live_tree/usr/lib/libDrakX/lang.pm
-/tmp/live_tree/usr/lib/libDrakX/list_modules.pm
-/tmp/live_tree/usr/lib/libDrakX/log.pm
-/tmp/live_tree/usr/lib/libDrakX/loopback.pm
-/tmp/live_tree/usr/lib/libDrakX/modules.pm
-/tmp/live_tree/usr/lib/libDrakX/modules/interactive.pm
-/tmp/live_tree/usr/lib/libDrakX/mouse.pm
-/tmp/live_tree/usr/lib/libDrakX/network
-/tmp/live_tree/usr/lib/libDrakX/partition_table.pm
-/tmp/live_tree/usr/lib/libDrakX/partition_table/raw.pm
-/tmp/live_tree/usr/lib/libDrakX/printer
-/tmp/live_tree/usr/lib/libDrakX/run_program.pm
-/tmp/live_tree/usr/lib/libDrakX/sbus_probing
-/tmp/live_tree/usr/lib/libDrakX/services.pm
-/tmp/live_tree/usr/lib/libDrakX/steps.pm
-/tmp/live_tree/usr/lib/libDrakX/swap.pm
-/tmp/live_tree/usr/lib/libDrakX/timezone.pm
-/tmp/live_tree/usr/lib/libDrakX/ugtk2.pm
-/tmp/live_tree/usr/lib/libart_lgpl_2.so.2.3.16
-/tmp/live_tree/usr/lib/libartsbuilder.la
-/tmp/live_tree/usr/lib/libartsbuilder.so.0.0.0
-/tmp/live_tree/usr/lib/libartsflow.so.1.0.0
-/tmp/live_tree/usr/lib/libartsflow_idl.so.1.0.0
-/tmp/live_tree/usr/lib/libartskde.so.1.1.0
-/tmp/live_tree/usr/lib/libartsmidi.la
-/tmp/live_tree/usr/lib/libartsmidi.so.0.0.0
-/tmp/live_tree/usr/lib/libartsmidi_idl.so.0.0.0
-/tmp/live_tree/usr/lib/libasound.so.2.0.0
-/tmp/live_tree/usr/lib/libatk-1.0.so.0.400.0
-/tmp/live_tree/usr/lib/libaudiofile.so.0.0.2
-/tmp/live_tree/usr/lib/libaudiofilearts.la
-/tmp/live_tree/usr/lib/libaudiofilearts.so
-/tmp/live_tree/usr/lib/libbz2.so.1.0.0
-/tmp/live_tree/usr/lib/libconsole.so.0.0.0
-/tmp/live_tree/usr/lib/libcrack.so.2.7
-/tmp/live_tree/usr/lib/libctutils.so.0.0.0
-/tmp/live_tree/usr/lib/libelf-0.84.so
-/tmp/live_tree/usr/lib/libexpat.so.0.4.0
-/tmp/live_tree/usr/lib/libfam.so.0.0.0
-/tmp/live_tree/usr/lib/libfontconfig.so.1.0.4
-/tmp/live_tree/usr/lib/libfreetype.so.6.3.3
-/tmp/live_tree/usr/lib/libgdk-x11-2.0.so.0.200.4
-/tmp/live_tree/usr/lib/libgdk_pixbuf-2.0.so.0.200.4
-/tmp/live_tree/usr/lib/libglib-1.2.so.0.0.10
-/tmp/live_tree/usr/lib/libglib-2.0.so.0.200.3
-/tmp/live_tree/usr/lib/libgmodule-2.0.so.0.200.3
-/tmp/live_tree/usr/lib/libgobject-2.0.so.0.200.3
-/tmp/live_tree/usr/lib/libgthread-2.0.so.0.200.3
-/tmp/live_tree/usr/lib/libgtk-x11-2.0.so.0.200.4
-/tmp/live_tree/usr/lib/libjpeg.so.62.0.0
-/tmp/live_tree/usr/lib/libkabc.so.1.1.0
-/tmp/live_tree/usr/lib/libkcal.so.2.0.0
-/tmp/live_tree/usr/lib/libkdecore.so.4.1.0
-/tmp/live_tree/usr/lib/libkdefx.so.4.1.0
-/tmp/live_tree/usr/lib/libkdeprint.so.4.1.0
-/tmp/live_tree/usr/lib/libkdesu.so.4.1.0
-/tmp/live_tree/usr/lib/libkdeui.so.4.1.0
-/tmp/live_tree/usr/lib/libkhtml.so.4.1.0
-/tmp/live_tree/usr/lib/libkickermain.so.1.0.0
-/tmp/live_tree/usr/lib/libkio.so.4.1.0
-/tmp/live_tree/usr/lib/libkjs.so.1.0.0
-/tmp/live_tree/usr/lib/libkmedia2_idl.so.1.0.0
-/tmp/live_tree/usr/lib/libkmid.so.0.0.95
-/tmp/live_tree/usr/lib/libkonq.la
-/tmp/live_tree/usr/lib/libkonq.so.4.1.0
-/tmp/live_tree/usr/lib/libkparts.so.2.1.0
-/tmp/live_tree/usr/lib/libkutils.so.1.1.0
-/tmp/live_tree/usr/lib/libmad.so.0.2.0
-/tmp/live_tree/usr/lib/libmcop.so.1.0.0
-/tmp/live_tree/usr/lib/libmcop_mt.so.1.0.0
-/tmp/live_tree/usr/lib/libmng.so.1.0.0
-/tmp/live_tree/usr/lib/libogg.so.0.4.0
-/tmp/live_tree/usr/lib/libpango-1.0.so.0.200.5
-/tmp/live_tree/usr/lib/libpangox-1.0.so.0.200.5
-/tmp/live_tree/usr/lib/libpangoxft-1.0.so.0.200.5
-/tmp/live_tree/usr/lib/libpcreposix.so.0.0.0
-/tmp/live_tree/usr/lib/libpng.so.3.1.2.5
-/tmp/live_tree/usr/lib/libpng12.so.0.1.2.5
-/tmp/live_tree/usr/lib/libqtmcop.so.1.0.0
-/tmp/live_tree/usr/lib/librpm-4.2.so
-/tmp/live_tree/usr/lib/librpmdb-4.2.so
-/tmp/live_tree/usr/lib/librpmio-4.2.so
-/tmp/live_tree/usr/lib/libslp.so.1.0.0
-/tmp/live_tree/usr/lib/libsoundserver_idl.so.1.0.0
-/tmp/live_tree/usr/lib/libstdc++.so.5.0.5
-/tmp/live_tree/usr/lib/libtaskbar.so.1.1.0
-/tmp/live_tree/usr/lib/libtaskmanager.so.1.0.0
-/tmp/live_tree/usr/lib/libvcard.so.0.0.0
-/tmp/live_tree/usr/lib/libvorbis.so.0.2.0
-/tmp/live_tree/usr/lib/libvorbisenc.so.2.0.0
-/tmp/live_tree/usr/lib/libvorbisfile.so.3.0.0
-/tmp/live_tree/usr/lib/mcop/Arts
-/tmp/live_tree/usr/lib/mcop/CDDAPlayObject.mcopclass
-/tmp/live_tree/usr/lib/mcop/MP3PlayObject.mcopclass
-/tmp/live_tree/usr/lib/mcop/NULLPlayObject.mcopclass
-/tmp/live_tree/usr/lib/mcop/OGGPlayObject.mcopclass
-/tmp/live_tree/usr/lib/mcop/SplayPlayObject.mcopclass
-/tmp/live_tree/usr/lib/mcop/WAVPlayObject.mcopclass
-/tmp/live_tree/usr/lib/mcop/artsbuilder.mcopclass
-/tmp/live_tree/usr/lib/mcop/artsflow.mcopclass
-/tmp/live_tree/usr/lib/mcop/artsgui.mcopclass
-/tmp/live_tree/usr/lib/mcop/artsmidi.mcopclass
-/tmp/live_tree/usr/lib/mcop/artsmodules.mcopclass
-/tmp/live_tree/usr/lib/mcop/audiofilearts.mcopclass
-/tmp/live_tree/usr/lib/mcop/kmedia2.mcopclass
-/tmp/live_tree/usr/lib/mcop/soundserver.mcopclass
-/tmp/live_tree/usr/lib/mcop/x11globalcomm.mcopclass
-/tmp/live_tree/usr/lib/mcop/xinePlayObject.mcopclass
-/tmp/live_tree/usr/lib/pango/1.2.0/modules/pango-basic-xft.so
-/tmp/live_tree/usr/lib/perl5/5.8.1/AutoLoader.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/Carp.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/Exporter
-/tmp/live_tree/usr/lib/perl5/5.8.1/Exporter.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/CORE
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/Config.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/DynaLoader.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/File
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/Socket.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/XSLoader.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/_h2ph_pre.ph
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/asm/unistd.ph
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/auto/File
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/auto/Socket
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/bits/syscall.ph
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/lib.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/sys/syscall.ph
-/tmp/live_tree/usr/lib/perl5/5.8.1/i386-linux-thread-multi/syscall.ph
-/tmp/live_tree/usr/lib/perl5/5.8.1/overload.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/strict.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/unicore/Canonical.pl
-/tmp/live_tree/usr/lib/perl5/5.8.1/unicore/Exact.pl
-/tmp/live_tree/usr/lib/perl5/5.8.1/unicore/To/Lower.pl
-/tmp/live_tree/usr/lib/perl5/5.8.1/unicore/lib/SpacePer.pl
-/tmp/live_tree/usr/lib/perl5/5.8.1/utf8.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/utf8_heavy.pl
-/tmp/live_tree/usr/lib/perl5/5.8.1/vars.pm
-/tmp/live_tree/usr/lib/perl5/5.8.1/warnings
-/tmp/live_tree/usr/lib/perl5/5.8.1/warnings.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common/DataStructure.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common/File.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common/Func.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common/Globals.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common/Math.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common/String.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common/System.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/MDK/Common/Various.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/Glib.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/Gtk2.pm
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/Gtk2/Gdk
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/auto/Glib
-/tmp/live_tree/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi/auto/Gtk2
-/tmp/live_tree/usr/lib/qt3/lib/libqt-mt.so.3.1.2
-/tmp/live_tree/usr/sbin/ddcxinfos
-/tmp/live_tree/usr/sbin/fileshareset
-/tmp/live_tree/usr/sbin/pwconv
-/tmp/live_tree/usr/share/VERSION
-/tmp/live_tree/usr/share/application-registry/gnome-vfs.applications
-/tmp/live_tree/usr/share/applnk-mdk
-/tmp/live_tree/usr/share/applnk-mdk-simplified/.directory
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Administer your system/.directory
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Administer your system/Configure your computer.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Administer your system/KControl.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Administer your system/KFloppy.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Administer your system/kdepasswd.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Administer your system/kmix.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Administer your system/konsole.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Enjoy music & video/.directory
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Enjoy music & video/Listen to music files.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Enjoy music & video/Record sounds.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Enjoy music & video/Watch videos.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Home.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Kfind.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Play games/.directory
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Play games/Play ArmageTron.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Play games/Play Cannon Smash.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Play games/Play Chromium.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Play games/Play Frozen-Bubble.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Play games/Play LBreakout.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Play games/Play Tuxracer.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Read documentation/.directory
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Read documentation/Help.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Read documentation/Mandrake documentation in french.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Read documentation/Mandrake documentation in german.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Read documentation/Mandrake documentation in italian.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Read documentation/Mandrake documentation in spanish.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/.directory
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/Create a presentation.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/Create a spreadsheet.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/Create a text document.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/Create flowcharts and diagrams.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/Manage your finances.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/Manage your projects.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/kaddressbook.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/kalarm.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/kfax.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/knotes.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use office tools/korganizer.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/.directory
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/Chat using AIM, ICQ, MSN, Yahoo, Winpopup.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/Chat using IRC.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/Dialog using video conference.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/KMail.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/KNode.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/Kppp.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/kbear.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/konqbrowser.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/Use the Internet/quanta.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/View, modify, or create graphics/.directory
-/tmp/live_tree/usr/share/applnk-mdk-simplified/View, modify, or create graphics/Manage, show and print your photos.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/View, modify, or create graphics/Manipulate pictures.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/View, modify, or create graphics/kooka.desktop
-/tmp/live_tree/usr/share/applnk-mdk-simplified/View, modify, or create graphics/ksnapshot.desktop
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_adsr.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_atan_saturate.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_autopanner.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_brickwall.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_bus.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_capture_wav.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_cdelay.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_cflanger.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_data.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_delay.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_dtmf1.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_equalizer.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_fm.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_freeverb.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_moog.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_multi_add.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_noise.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_pitchshift.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_play_wave.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_pscale.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_pulse.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_rc.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_record.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_sequence.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_shelve_cutoff.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_sine.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_softsaw.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_square.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_stereobeep.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_tremolo.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_tri.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/example_xfade.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_chirpdrum.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_deepdrum.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_full_square.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_hihat.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_neworgan.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_nokind.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_organ2.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_simple_sin.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_simple_square.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_simple_tri.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_slide.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_slide1.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_square.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/instrument_tri.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/template_Empty_Structure.arts
-/tmp/live_tree/usr/share/apps/artsbuilder/examples/template_Instrument.arts
-/tmp/live_tree/usr/share/apps/clockapplet
-/tmp/live_tree/usr/share/apps/kabc/plugins
-/tmp/live_tree/usr/share/apps/kalarmdgui
-/tmp/live_tree/usr/share/apps/kconf_update
-/tmp/live_tree/usr/share/apps/kdesktop/DesktopLinks
-/tmp/live_tree/usr/share/apps/kdesktop/directory.autostart
-/tmp/live_tree/usr/share/apps/kdesktop/directory.desktop
-/tmp/live_tree/usr/share/apps/kdesktop/directory.trash
-/tmp/live_tree/usr/share/apps/kdisplay/app-defaults
-/tmp/live_tree/usr/share/apps/khtml/css
-/tmp/live_tree/usr/share/apps/khtml/khtml.rc
-/tmp/live_tree/usr/share/apps/khtml/khtml_popupmenu.rc
-/tmp/live_tree/usr/share/apps/kicker/applets/clockapplet.desktop
-/tmp/live_tree/usr/share/apps/kicker/applets/minipagerapplet.desktop
-/tmp/live_tree/usr/share/apps/kicker/applets/systemtrayapplet.desktop
-/tmp/live_tree/usr/share/apps/kicker/applets/taskbarapplet.desktop
-/tmp/live_tree/usr/share/apps/kicker/default-apps-mdk
-/tmp/live_tree/usr/share/apps/kicker/pics/disk1.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk10.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk2.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk3.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk4.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk5.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk6.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk7.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk8.png
-/tmp/live_tree/usr/share/apps/kicker/pics/disk9.png
-/tmp/live_tree/usr/share/apps/knotify
-/tmp/live_tree/usr/share/apps/ksplash/pics/splash_active_bar.png
-/tmp/live_tree/usr/share/apps/ksplash/pics/splash_bottom.png
-/tmp/live_tree/usr/share/apps/ksplash/pics/splash_inactive_bar.png
-/tmp/live_tree/usr/share/apps/ksplash/pics/splash_top.png
-/tmp/live_tree/usr/share/apps/kwin/eventsrc
-/tmp/live_tree/usr/share/autostart
-/tmp/live_tree/usr/share/config/kcmdisplayrc
-/tmp/live_tree/usr/share/config/kcookiejarrc
-/tmp/live_tree/usr/share/config/kdebug.areas
-/tmp/live_tree/usr/share/config/kdebugrc
-/tmp/live_tree/usr/share/config/kdedrc
-/tmp/live_tree/usr/share/config/kdeglobals
-/tmp/live_tree/usr/share/config/kdeprintrc
-/tmp/live_tree/usr/share/config/kdesktoprc
-/tmp/live_tree/usr/share/config/kdm/kdmrc
-/tmp/live_tree/usr/share/config/khotkeysrc
-/tmp/live_tree/usr/share/config/kickerrc
-/tmp/live_tree/usr/share/config/konsolerc
-/tmp/live_tree/usr/share/config/krootwarningrc
-/tmp/live_tree/usr/share/config/kwritedrc
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/actions/about_kde.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/actions/configure.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/actions/contents.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/actions/exit.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/actions/history_clear.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/apps/kicker.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/apps/kmail.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/apps/kmenu.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/apps/konqueror.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/apps/korganizer.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/filesystems/desktop.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/filesystems/file_broken.png
-/tmp/live_tree/usr/share/icons/crystalsvg/16x16/mimetypes/unknown.png
-/tmp/live_tree/usr/share/icons/crystalsvg/32x32/apps/kmail.png
-/tmp/live_tree/usr/share/icons/crystalsvg/32x32/apps/kmenu.png
-/tmp/live_tree/usr/share/icons/crystalsvg/32x32/apps/konqueror.png
-/tmp/live_tree/usr/share/icons/crystalsvg/32x32/apps/xapp.png
-/tmp/live_tree/usr/share/icons/crystalsvg/32x32/devices/nfs_mount.png
-/tmp/live_tree/usr/share/icons/crystalsvg/32x32/filesystems/desktop.png
-/tmp/live_tree/usr/share/icons/crystalsvg/32x32/filesystems/trashcan_empty.png
-/tmp/live_tree/usr/share/icons/crystalsvg/32x32/mimetypes/unknown.png
-/tmp/live_tree/usr/share/icons/crystalsvg/index.desktop
-/tmp/live_tree/usr/share/icons/default
-/tmp/live_tree/usr/share/icons/hicolor/index.desktop
-/tmp/live_tree/usr/share/icons/home-mdk.png
-/tmp/live_tree/usr/share/icons/large/documentation-mdk.png
-/tmp/live_tree/usr/share/icons/large/mandrake-club.png
-/tmp/live_tree/usr/share/icons/large/mandrake-expert-mdk.png
-/tmp/live_tree/usr/share/icons/large/mandrake-store-mdk.png
-/tmp/live_tree/usr/share/icons/large/mcc-mdk.png
-/tmp/live_tree/usr/share/icons/mandrakegalaxy.png
-/tmp/live_tree/usr/share/icons/mdk-hicolor
-/tmp/live_tree/usr/share/icons/mini/home-mdk.png
-/tmp/live_tree/usr/share/icons/mini/ooo_calc.png
-/tmp/live_tree/usr/share/icons/mini/ooo_writer.png
-/tmp/live_tree/usr/share/icons/ooo_calc.png
-/tmp/live_tree/usr/share/icons/ooo_writer.png
-/tmp/live_tree/usr/share/langs
-/tmp/live_tree/usr/share/ldetect-lst/Cards+
-/tmp/live_tree/usr/share/ldetect-lst/MonitorsDB
-/tmp/live_tree/usr/share/ldetect-lst/pcitable
-/tmp/live_tree/usr/share/locale/l10n/C/entry.desktop
-/tmp/live_tree/usr/share/mdk/backgrounds/Mandrake.png
-/tmp/live_tree/usr/share/mdk/kde/bookmarks.xml
-/tmp/live_tree/usr/share/mdk/mandrakegalaxy/mdkgalaxy.html
-/tmp/live_tree/usr/share/mdk/screensaver/3.png
-/tmp/live_tree/usr/share/mimelnk
-/tmp/live_tree/usr/share/nautilus
-/tmp/live_tree/usr/share/services/about.protocol
-/tmp/live_tree/usr/share/services/ark_part.desktop
-/tmp/live_tree/usr/share/services/audiocd.protocol
-/tmp/live_tree/usr/share/services/bmp.kimgio
-/tmp/live_tree/usr/share/services/bzip.protocol
-/tmp/live_tree/usr/share/services/bzip2.protocol
-/tmp/live_tree/usr/share/services/cgi.protocol
-/tmp/live_tree/usr/share/services/devices.protocol
-/tmp/live_tree/usr/share/services/eps.kimgio
-/tmp/live_tree/usr/share/services/file.protocol
-/tmp/live_tree/usr/share/services/finger.protocol
-/tmp/live_tree/usr/share/services/fish.protocol
-/tmp/live_tree/usr/share/services/floppy.protocol
-/tmp/live_tree/usr/share/services/fontthumbnail.desktop
-/tmp/live_tree/usr/share/services/ftp.protocol
-/tmp/live_tree/usr/share/services/ghelp.protocol
-/tmp/live_tree/usr/share/services/gif.kimgio
-/tmp/live_tree/usr/share/services/gsthumbnail.desktop
-/tmp/live_tree/usr/share/services/gzip.protocol
-/tmp/live_tree/usr/share/services/help.protocol
-/tmp/live_tree/usr/share/services/htmlthumbnail.desktop
-/tmp/live_tree/usr/share/services/http.protocol
-/tmp/live_tree/usr/share/services/http_cache_cleaner.desktop
-/tmp/live_tree/usr/share/services/https.protocol
-/tmp/live_tree/usr/share/services/ico.kimgio
-/tmp/live_tree/usr/share/services/imagethumbnail.desktop
-/tmp/live_tree/usr/share/services/imap4.protocol
-/tmp/live_tree/usr/share/services/imaps.protocol
-/tmp/live_tree/usr/share/services/info.protocol
-/tmp/live_tree/usr/share/services/jpeg.kimgio
-/tmp/live_tree/usr/share/services/kaccess.desktop
-/tmp/live_tree/usr/share/services/katepart.desktop
-/tmp/live_tree/usr/share/services/kbearftp.protocol
-/tmp/live_tree/usr/share/services/kbeargftimportfilter.desktop
-/tmp/live_tree/usr/share/services/kbearkrusaderimportfilter.desktop
-/tmp/live_tree/usr/share/services/kbearncftpimportfilter.desktop
-/tmp/live_tree/usr/share/services/kbearoldimportfilter.desktop
-/tmp/live_tree/usr/share/services/kbearwincommanderimportfilter.desktop
-/tmp/live_tree/usr/share/services/kbearws_ftpimportfilter.desktop
-/tmp/live_tree/usr/share/services/kbzip2filter.desktop
-/tmp/live_tree/usr/share/services/kcertpart.desktop
-/tmp/live_tree/usr/share/services/kded
-/tmp/live_tree/usr/share/services/kdeprint_part.desktop
-/tmp/live_tree/usr/share/services/kfile_au.desktop
-/tmp/live_tree/usr/share/services/kfile_avi.desktop
-/tmp/live_tree/usr/share/services/kfile_font.desktop
-/tmp/live_tree/usr/share/services/kfile_m3u.desktop
-/tmp/live_tree/usr/share/services/kfile_mp3.desktop
-/tmp/live_tree/usr/share/services/kfile_ogg.desktop
-/tmp/live_tree/usr/share/services/kfile_rfc822.desktop
-/tmp/live_tree/usr/share/services/kfile_wav.desktop
-/tmp/live_tree/usr/share/services/kfindpart.desktop
-/tmp/live_tree/usr/share/services/kgzipfilter.desktop
-/tmp/live_tree/usr/share/services/khelpcenter.desktop
-/tmp/live_tree/usr/share/services/khtml.desktop
-/tmp/live_tree/usr/share/services/khtmlimage.desktop
-/tmp/live_tree/usr/share/services/kio_uiserver.desktop
-/tmp/live_tree/usr/share/services/kjavaappletviewer.desktop
-/tmp/live_tree/usr/share/services/klaptopdaemon.desktop
-/tmp/live_tree/usr/share/services/kmailservice.protocol
-/tmp/live_tree/usr/share/services/kmanpart.desktop
-/tmp/live_tree/usr/share/services/kmixctrl_restore.desktop
-/tmp/live_tree/usr/share/services/kmultipart.desktop
-/tmp/live_tree/usr/share/services/knewsservice.protocol
-/tmp/live_tree/usr/share/services/knotify.desktop
-/tmp/live_tree/usr/share/services/kntsrcfilepropsdlg.desktop
-/tmp/live_tree/usr/share/services/konq_aboutpage.desktop
-/tmp/live_tree/usr/share/services/konq_detailedlistview.desktop
-/tmp/live_tree/usr/share/services/konq_iconview.desktop
-/tmp/live_tree/usr/share/services/konq_infolistview.desktop
-/tmp/live_tree/usr/share/services/konq_multicolumnview.desktop
-/tmp/live_tree/usr/share/services/konq_sidebartng.desktop
-/tmp/live_tree/usr/share/services/konq_textview.desktop
-/tmp/live_tree/usr/share/services/konq_treeview.desktop
-/tmp/live_tree/usr/share/services/konqueror_config.desktop
-/tmp/live_tree/usr/share/services/konsole-script.desktop
-/tmp/live_tree/usr/share/services/konsolepart.desktop
-/tmp/live_tree/usr/share/services/korganizer
-/tmp/live_tree/usr/share/services/kpfpropertiesdialogplugin.desktop
-/tmp/live_tree/usr/share/services/kregexpeditorgui.desktop
-/tmp/live_tree/usr/share/services/krl.kimgio
-/tmp/live_tree/usr/share/services/kshorturifilter.desktop
-/tmp/live_tree/usr/share/services/ktexteditor_insertfile.desktop
-/tmp/live_tree/usr/share/services/ktexteditor_isearch.desktop
-/tmp/live_tree/usr/share/services/ktexteditor_kdatatool.desktop
-/tmp/live_tree/usr/share/services/kuriikwsfilter.desktop
-/tmp/live_tree/usr/share/services/kurisearchfilter.desktop
-/tmp/live_tree/usr/share/services/kwrited.desktop
-/tmp/live_tree/usr/share/services/kxkb.desktop
-/tmp/live_tree/usr/share/services/ldap.protocol
-/tmp/live_tree/usr/share/services/localdomainurifilter.desktop
-/tmp/live_tree/usr/share/services/mac.protocol
-/tmp/live_tree/usr/share/services/man.protocol
-/tmp/live_tree/usr/share/services/metainfo.protocol
-/tmp/live_tree/usr/share/services/nfs.protocol
-/tmp/live_tree/usr/share/services/nntp.protocol
-/tmp/live_tree/usr/share/services/pbm.kimgio
-/tmp/live_tree/usr/share/services/pgm.kimgio
-/tmp/live_tree/usr/share/services/picturethumbnail.desktop
-/tmp/live_tree/usr/share/services/png.kimgio
-/tmp/live_tree/usr/share/services/pop3.protocol
-/tmp/live_tree/usr/share/services/pop3s.protocol
-/tmp/live_tree/usr/share/services/ppm.kimgio
-/tmp/live_tree/usr/share/services/print.protocol
-/tmp/live_tree/usr/share/services/rlogin.protocol
-/tmp/live_tree/usr/share/services/rtsp.protocol
-/tmp/live_tree/usr/share/services/searchproviders
-/tmp/live_tree/usr/share/services/sftp.protocol
-/tmp/live_tree/usr/share/services/shellscript.desktop
-/tmp/live_tree/usr/share/services/smb.protocol
-/tmp/live_tree/usr/share/services/smtp.protocol
-/tmp/live_tree/usr/share/services/smtps.protocol
-/tmp/live_tree/usr/share/services/tar.protocol
-/tmp/live_tree/usr/share/services/telnet.protocol
-/tmp/live_tree/usr/share/services/textthumbnail.desktop
-/tmp/live_tree/usr/share/services/thumbnail.protocol
-/tmp/live_tree/usr/share/services/tiff.kimgio
-/tmp/live_tree/usr/share/services/useragentstrings
-/tmp/live_tree/usr/share/services/webcal.protocol
-/tmp/live_tree/usr/share/services/webdav.protocol
-/tmp/live_tree/usr/share/services/webdavs.protocol
-/tmp/live_tree/usr/share/services/xbm.kimgio
-/tmp/live_tree/usr/share/services/xpm.kimgio
-/tmp/live_tree/usr/share/services/xv.kimgio
-/tmp/live_tree/usr/share/services/zip.protocol
-/tmp/live_tree/usr/share/servicetypes
-/tmp/live_tree/usr/share/sounds/KDE_Startup.wav
-/tmp/live_tree/usr/share/themes/Default/gtk-2.0
-/tmp/live_tree/usr/share/themes/Galaxy/gtk-2.0
diff --git a/move/data/devices b/move/data/devices
deleted file mode 100644
index d409df63b..000000000
--- a/move/data/devices
+++ /dev/null
@@ -1,4 +0,0 @@
-/dev/console c 5 1
-/dev/tty4 c 4 4
-/dev/tty3 c 4 3
-/dev/tty2 c 4 2
diff --git a/move/data/etcfiles b/move/data/etcfiles
deleted file mode 100644
index 9f3b7134c..000000000
--- a/move/data/etcfiles
+++ /dev/null
@@ -1,31 +0,0 @@
-# READ directories/files that will be read (we let only non trivial things here)
-/etc/bonobo-activation
-/etc/esd.conf
-/etc/gimp
-/etc/gnucash
-/etc/host.conf
-/etc/imrc
-/etc/initlog.conf
-/etc/localtime
-/etc/openoffice
-/etc/rpc
-/etc/termcap
-/etc/tmdns.conf
-
-# OVERWRITE files that will be overwritten
-/etc/modules
-/etc/.pwd.lock
-/etc/inittab
-/etc/ppp/options
-/etc/ppp/chap-secrets
-/etc/ppp/pap-secrets
-/etc/ppp/pppoe.conf
-
-# DIR mandatory directories because files will be written in
-/etc/profile.d
-/etc/rpm
-/etc/sysconfig
-/etc/sysconfig/console/consolefonts
-/etc/sysconfig/console/consoletrans
-/etc/sysconfig/network-scripts
-/etc/X11/xinit.d
diff --git a/move/data/etcfiles-report b/move/data/etcfiles-report
deleted file mode 100644
index 0e8aa0908..000000000
--- a/move/data/etcfiles-report
+++ /dev/null
@@ -1,151 +0,0 @@
-read:
- /etc/DIR_COLORS
- /etc/X11/fs/config
- /etc/X11/xserver/SecurityPolicy
- /etc/bashrc
- /etc/bonobo-activation/bonobo-activation-config.xml
- /etc/cups/client.conf
- /etc/devfs/conf.d/dynamic.conf
- /etc/devfsd.conf
- /etc/dynamic/scripts/functions.script
- /etc/dynamic/scripts/part.script
- /etc/esd.conf
- /etc/fonts/fonts.conf
- /etc/fonts/local.conf
- /etc/fstab
- /etc/gconf/2/path
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/audio_codecs/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/audio_settings/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/call_forwarding/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/contacts/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/devices/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/gatekeeper/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/general/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/history/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/ldap/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/personal_data/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/ports/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/video_display/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/video_settings/%gconf.xml
- /etc/gconf/gconf.xml.defaults/apps/gnomemeeting/view/%gconf.xml
- /etc/gconf/gconf.xml.defaults/desktop/gnome/interface/%gconf.xml
- /etc/gconf/gconf.xml.defaults/desktop/gnome/sound/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/audio_settings/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/call_forwarding/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/contacts/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/devices/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/gatekeeper/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/general/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/history/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/ldap/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/personal_data/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/ports/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/video_display/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/video_settings/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/apps/gnomemeeting/view/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/desktop/gnome/interface/%gconf.xml
- /etc/gconf/gconf.xml.defaults/schemas/desktop/gnome/sound/%gconf.xml
- /etc/gimp/1.2/gimprc
- /etc/gimp/1.2/gimprc_user
- /etc/gimp/1.2/gtkrc
- /etc/gimp/1.2/gtkrc_user
- /etc/gimp/1.2/unitrc
- /etc/gnome-vfs-2.0/modules/cdda-module.conf
- /etc/gnome-vfs-2.0/modules/default-modules.conf
- /etc/gnome-vfs-2.0/modules/ssl-modules.conf
- /etc/gnucash/config
- /etc/group
- /etc/gtk-2.0/gdk-pixbuf.loaders
- /etc/gtk-2.0/gtk.immodules
- /etc/host.conf
- /etc/hotplug/blacklist
- /etc/hotplug/hotplug.functions
- /etc/hotplug/scsi.agent
- /etc/hotplug/usb.agent
- /etc/hotplug/usb.handmap
- /etc/hotplug/usb.usermap
- /etc/hotplug/usb/usb-storage
- /etc/imrc
- /etc/initlog.conf
- /etc/inittab
- /etc/inputrc
- /etc/ld.so.cache
- /etc/localtime
- /etc/login.defs
- /etc/modules
- /etc/modules.conf
- /etc/modules.devfs
- /etc/nsswitch.conf
- /etc/openoffice/autoresponse.conf
- /etc/openoffice/openoffice.conf
- /etc/pam.d/other
- /etc/pam.d/su
- /etc/pam.d/sudo
- /etc/pam.d/system-auth
- /etc/pam.d/xserver
- /etc/pango/pango.modules
- /etc/passwd
- /etc/passwd-
- /etc/profile.d/10lang.sh
- /etc/profile.d/alias.sh
- /etc/profile.d/configure_keyboard.sh
- /etc/profile.d/glib20.sh
- /etc/profile.d/inputrc.sh
- /etc/profile.d/kde3.sh
- /etc/profile.d/msec.sh
- /etc/profile.d/qtdir3.sh
- /etc/profile.d/screen.sh
- /etc/profile.d/ssh-client.sh
- /etc/profile.d/tmpdir.sh
- /etc/profile.d/xhost.sh
- /etc/rc.d/init.d/functions
- /etc/rc.d/init.d/mandrake_consmap
- /etc/rc.d/init.d/syslog
- /etc/rc.d/init.d/xfs
- /etc/resolv.conf
- /etc/rpc
- /etc/security/console.perms
- /etc/security/fileshare.conf
- /etc/security/limits.conf
- /etc/security/pam_env.conf
- /etc/services
- /etc/shells
- /etc/skel/.bash_logout
- /etc/skel/.bash_profile
- /etc/skel/.bashrc
- /etc/skel/.mailcap
- /etc/skel/.screenrc
- /etc/sudoers
- /etc/sysconfig/i18n
- /etc/sysconfig/init
- /etc/sysconfig/msec
- /etc/sysconfig/syslog
- /etc/sysconfig/usb
- /etc/syslog.conf
- /etc/termcap
- /etc/tmdns.conf
-wrote:
- /etc/group
- /etc/inittab
- /etc/modules
- /etc/modules.conf
- /etc/passwd
- /etc/passwd-
- /etc/sysconfig/i18n
-new:
- /etc/X11/XF86Config
- /etc/X11/XF86Config-4
- /etc/X11/XF86Config-4.old
- /etc/X11/XF86Config.old
- /etc/hosts
- /etc/mcc.conf
- /etc/profile.d/proxy.csh
- /etc/profile.d/proxy.sh
- /etc/rpm/macros
- /etc/shadow
- /etc/sysconfig/autologin
- /etc/sysconfig/console/consolefonts/lat0-16.psf.gz
- /etc/sysconfig/console/consoletrans/iso15.acm.gz
- /etc/sysconfig/console/consoletrans/iso15.sfm.gz
- /etc/sysconfig/network
- /etc/sysconfig/network-scripts/ifcfg-eth0
diff --git a/move/data/isolinux-graphic.bmp b/move/data/isolinux-graphic.bmp
deleted file mode 100644
index f2649d47e..000000000
--- a/move/data/isolinux-graphic.bmp
+++ /dev/null
Binary files differ
diff --git a/move/data/keyfiles b/move/data/keyfiles
deleted file mode 100644
index 6754e574b..000000000
--- a/move/data/keyfiles
+++ /dev/null
@@ -1,23 +0,0 @@
-/etc/fstab
-/etc/group
-/etc/modules
-/etc/modules.conf
-/etc/passwd
-/etc/resolv.conf
-/etc/sudoers
-/etc/cups/*
-/etc/devfs/conf.d/*
-/etc/profile.d/*
-/etc/sane.d/*
-/etc/sysconfig/*
-/etc/sysconfig/console/consolefonts/*
-/etc/sysconfig/console/consoletrans/*
-/etc/sysconfig/harddrake2/previous_hw
-/etc/sysconfig/network-scripts/*
-/etc/sysconfig/suspend-scripts/suspend.d/*
-/etc/X11/XF86Config
-/etc/X11/XF86Config-4
-/etc/X11/XF86Config-4.old
-/etc/X11/XF86Config.old
-/etc/X11/X
-/etc/rc.d/rc.local
diff --git a/move/data/nvidia.list b/move/data/nvidia.list
deleted file mode 100644
index a8c3560f9..000000000
--- a/move/data/nvidia.list
+++ /dev/null
@@ -1,3 +0,0 @@
-/tmp/live_tree/usr/lib/libGLcore.so.1
-/tmp/live_tree/usr/lib/libGLcore.so.1.0.4496
-/tmp/live_tree/usr/X11R6/lib/modules/extensions/libglx.so.1.0.4496
diff --git a/move/data/symlinks b/move/data/symlinks
deleted file mode 100644
index b6601d4e1..000000000
--- a/move/data/symlinks
+++ /dev/null
@@ -1,4 +0,0 @@
-/sbin
-/lib
-/bin
-/opt
diff --git a/move/data/totem.dirs b/move/data/totem.dirs
deleted file mode 100644
index bc73094f8..000000000
--- a/move/data/totem.dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/share/totem
-/usr/lib/xine
diff --git a/move/data/totem.list b/move/data/totem.list
deleted file mode 100644
index efb55da38..000000000
--- a/move/data/totem.list
+++ /dev/null
@@ -1,57 +0,0 @@
-/tmp/live_tree/bin/sleep
-/tmp/live_tree/usr/X11R6/lib/libXi.so.6.0
-/tmp/live_tree/usr/X11R6/lib/libXrandr.so.2.0
-/tmp/live_tree/usr/X11R6/lib/libXtst.so.6.1
-/tmp/live_tree/usr/bin/mdk_behind_totem
-/tmp/live_tree/usr/bin/totem
-/tmp/live_tree/usr/lib/gnome-vfs-2.0/modules/libfile.so
-/tmp/live_tree/usr/lib/gtk-2.0/2.2.0/engines/libgalaxy.so
-/tmp/live_tree/usr/lib/gtk-2.0/2.2.0/loaders/libpixbufloader-png.so
-/tmp/live_tree/usr/lib/kde3/kio_devices.so
-/tmp/live_tree/usr/lib/kde3/libkshorturifilter.so
-/tmp/live_tree/usr/lib/kde3/libkuriikwsfilter.so
-/tmp/live_tree/usr/lib/kde3/libkurisearchfilter.so
-/tmp/live_tree/usr/lib/kde3/liblocaldomainurifilter.so
-/tmp/live_tree/usr/lib/libIDL-2.so.0.0.0
-/tmp/live_tree/usr/lib/libORBitCosNaming-2.so.0.0.0
-/tmp/live_tree/usr/lib/libatk-1.0.so.0.400.0
-/tmp/live_tree/usr/lib/libbonobo-2.so.0.0.0
-/tmp/live_tree/usr/lib/libbonobo-activation.so.4.0.0
-/tmp/live_tree/usr/lib/libbonoboui-2.so.0.0.0
-/tmp/live_tree/usr/lib/libcrypto.so.0.9.7
-/tmp/live_tree/usr/lib/libcurl.so.2.0.2
-/tmp/live_tree/usr/lib/libesd.so.0.2.32
-/tmp/live_tree/usr/lib/libgdk-x11-2.0.so.0.200.4
-/tmp/live_tree/usr/lib/libgdk_pixbuf-2.0.so.0.200.4
-/tmp/live_tree/usr/lib/libglade-2.0.so.0.0.1
-/tmp/live_tree/usr/lib/libglade/2.0/libbonobo.so
-/tmp/live_tree/usr/lib/libglade/2.0/libgnome.so
-/tmp/live_tree/usr/lib/libgnome-2.so.0.400.0
-/tmp/live_tree/usr/lib/libgnome-desktop-2.so.2.1.8
-/tmp/live_tree/usr/lib/libgnomecanvas-2.so.0.400.0
-/tmp/live_tree/usr/lib/libgnomeui-2.so.0.400.0
-/tmp/live_tree/usr/lib/libgnomevfs-2.so.0.400.0
-/tmp/live_tree/usr/lib/libgtk-x11-2.0.so.0.200.4
-/tmp/live_tree/usr/lib/liblirc_client.so.0.0.0
-/tmp/live_tree/usr/lib/libpango-1.0.so.0.200.5
-/tmp/live_tree/usr/lib/libpangoft2-1.0.so.0.200.5
-/tmp/live_tree/usr/lib/libpangox-1.0.so.0.200.5
-/tmp/live_tree/usr/lib/libpangoxft-1.0.so.0.200.5
-/tmp/live_tree/usr/lib/libpng12.so.0.1.2.5
-/tmp/live_tree/usr/lib/libspeex.so.1.1.0
-/tmp/live_tree/usr/lib/libssl.so.0.9.7
-/tmp/live_tree/usr/lib/libstartup-notification-1.so.0.0.0
-/tmp/live_tree/usr/lib/libxine.so.1.7.1
-/tmp/live_tree/usr/lib/pango/1.2.0/modules/pango-basic-xft.so
-/tmp/live_tree/usr/lib/xine
-/tmp/live_tree/usr/share/alsa
-/tmp/live_tree/usr/share/totem
-/tmp/live_tree/usr/lib/gnome-vfs-2.0/modules/libcdda.so
-/tmp/live_tree/usr/lib/libcdda_interface.so.0
-/tmp/live_tree/usr/lib/libcdda_interface.so.0.9.8
-/tmp/live_tree/usr/lib/libcdda_paranoia.so.0
-/tmp/live_tree/usr/lib/libcdda_paranoia.so.0.9.8
-/tmp/live_tree/sbin/ifplugd
-/tmp/live_tree/sbin/dhcpcd
-/tmp/live_tree/sbin/dhclient
-/tmp/live_tree/sbin/zcip
diff --git a/move/doc/README b/move/doc/README
deleted file mode 100644
index 298ec9983..000000000
--- a/move/doc/README
+++ /dev/null
@@ -1,95 +0,0 @@
-MandrakeMove is Copyright (c) 2003 MandrakeSoft
-
-MandrakeMove 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.
-
-
- MandrakeMove README
-
-
- General overview.
-
-Mandrake Move is a "live" Mandrake Linux Discovery based system,
-an OS which boots off a removable device (a CDROM in our case)
-without needing any installation on hard drive (it doesn't need
-any harddrive in computer actually).
-
-Mandrake Move brings two main innovations:
-
-- ability to eject the CDROM which Move was booted from, still
- running a multimedia player, so that user can play
- ogg/mp3/vcd/avi/dvd discs without needing a second CDROM drive
-
-- transparently saving user and system data to a USB key
-
-
- Technical aspects.
-
- CDROM ejecting.
-
-Works by killing most unneeded running application (open-office,
-frozen-bubble, gimp, etc), then transfering X/kde/totem files
-(already pertaining to a loopback) into memory, then CDROM drive
-is not busy anymore.
-
- Paths of boot.
-
-MandrakeMove should work in three different paths of boot:
-
-- mode 1: no USB key
-
- automatic X configuration, DrakX starts up, asks for language,
- license, asks for a key (we answer we have no key), possibly
- for mouse and keyboard, username/password, auto-detects sound,
- printer and network devices, starts up KDE
-
- this is a normal live mode, nothing particular
-
-- mode 2: USB key but doesn't yet contain MandrakeMove files
-
- automatic X configuration, DrakX starts up, asks for language,
- license, set up configuration files on the key, possibly asks
- for mouse and keyboard, username/password, starts up KDE
-
- once KDE is booted, we are in full Move move, in which user
- data and system configuration data are saved on the usb key
-
- the USB key is mounted on /home, and some symlinks are created
- from a selection of /etc system files to a per-host directory
- on the USB key (based in /home/.sysconf)
-
- a daemon is monitoring modifications made to /etc, and
- transparently copy modified/new files to the USB key; hence
- Mandrake Move is much extensible, any modification on /etc will
- be saved
-
-- mode 3: USB key, contains MandrakeMove files
-
- - 3.1: we are running on the same machine
-
- DrakX GUI not even shows up as we use existing configuration
- files, we set up stuff of the usb key (/home etc) and we start
- up KDE
-
- - 3.2: we are running on another machine
-
- We use language, username/password, and homedir from USB key,
- but other system configuration need to be re-asked:
-
- automatic X configuration, DrakX starts up, possibly asks for
- mouse and keyboard, starts up KDE
-
-
-
- gc, pixel
diff --git a/move/doc/errata.1 b/move/doc/errata.1
deleted file mode 100644
index 8f8924bbf..000000000
--- a/move/doc/errata.1
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-<p align="justify">Some users have encountered problems
-installing or using MandrakeMove due to specific configuration
-situations that we did not have an opportunity to fully test.
-Please use the patches or recommendations included below for each
-scenario if it applies to you.</p>
-
-<p align="justify"><b>Note on using Patches:</b> To use any of
-the <i>patch.pl</i> patches that are noted below, you must copy the
-appropriate patch onto a floppy disk, with the name patch.pl.
-Then you can boot off of your CD-ROM with the "linux patch"
-command at the boot prompt (obtained by pressing F1 at the splash
-screen), and making sure that the floppy containing the patch is
-in the floppy disk drive.</p>
-
-
-<p>
-<a name="webcam"></a>
-
-<i>Error scenario:</i> <b>no program seem to see my webcam, whereas on
-regular Mandrake 9.2 it works perfectly (may apply to other USB
-devices as well).</b>
-
-<br><i>Why:</i> "hotplug" automatic loading of drivers is disabled due to a
-bug on our side.
-
-<br><i>Solution:</i> add the following to the last line of
-/etc/rc.d/rc.local :
-<pre>
-sysctl -w kernel.hotplug=/sbin/hotplug
-</pre>
-and be sure to plug your webcam after boot and KDE startup is
-finished, not before booting.
-
-<br><i>Solution for download version:</i> run the following
-command in a console at the end of KDE startup, and then plug in
-your webcam:
-<pre>
-sysctl -w kernel.hotplug=/sbin/hotplug
-</pre>
-
-</p>
-
diff --git a/move/etc-monitorer.pl b/move/etc-monitorer.pl
deleted file mode 100755
index 2f79b7a49..000000000
--- a/move/etc-monitorer.pl
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-
-sub outpend { my $f = shift; local *F; open F, ">>$f" or die "outpend in file $f failed: $!\n"; print F foreach @_ }
-sub logit { outpend "/var/log/etc-monitorer.log", sprintf("[%s] @_\n", chomp_(`date`)) }
-
-foreach my $dir (@ARGV) {
- my $destdir = '/home/.sysconf/' . cat_('/var/lib/machine_ident');
- my @etcfiles = glob_("$dir/*");
- foreach (@etcfiles) {
- if ($_ eq '/etc/sudoers' #- /etc/sudoers can't be a link
- || !-f
- || -l && readlink =~ m|^/|) { #- we want to trap relative symlinks only
- next;
- }
- my $dest = "$destdir$_";
- mkdir_p(dirname($dest)); #- case of newly created directories
- logit("restoring broken symlink $_ -> $dest");
- if (-l) {
- system("cp $_ $dest 2>/dev/null");
- } else {
- system("mv $_ $dest 2>/dev/null");
- }
- symlinkf($dest, $_);
- }
- foreach (difference2([ grep { -f && s/^\Q$destdir\E// } glob_("$destdir$dir/*") ], [ @etcfiles ])) {
- logit("removing $destdir$_ because of deleted $_");
- unlink "$destdir$_";
- }
-}
diff --git a/move/hack b/move/hack
deleted file mode 100755
index a62d20dac..000000000
--- a/move/hack
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-make DEST_LIVETREE=/opt/live_tree || exit 1
-./hack_boot_img all.rdz all
-cp -f all.rdz /tftpboot/gc/network.rdz
diff --git a/move/hack_boot_img b/move/hack_boot_img
deleted file mode 100755
index 1f95cce8e..000000000
--- a/move/hack_boot_img
+++ /dev/null
@@ -1,418 +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",
- usb => "stage1-usb",
- 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;
-
-chomp($main = `cat ../kernel/all.kernels/.main`);
-
- @kernels = $main;
-
-foreach (@kernels) {
- if ($img =~ /rdz$/) {
- initrd($mnt, "$img-$_");
- } else {
- $::{"boot_img_$arch"}->($mnt, "$img-$_", glob("../kernel/all.kernels/$_/boot/vmlinu*"));
- }
-}
-rename("$img-$main", "$img");
-
-sub install_stripped { _ "$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-with-busybox.tar.bz2";
-
- __ "$sudo umount $tmp $mnt 2>/dev/null";
- _ "dd if=/dev/zero of=$tmp bs=1k count=" . ($arch =~ /ia64/ ? 16386 : ($type eq "all" ? 6000 : 4000));
- _ "$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");
-
- if ($type eq "network" || $type eq "usb" || $type eq "all" || $type eq "other" || $type eq "blank") {
- install_stripped("$instdir/ppp/pppd-bin", "$mnt/sbin/pppd");
- install_stripped("$instdir/rp-pppoe/pppoe-bin", "$mnt/sbin/pppoe");
- _ "$sudo mknod $mnt/dev/ppp c 108 0";
- _ "$sudo mknod $mnt/dev/ptyp0 c 2 0";
- _ "$sudo mknod $mnt/dev/ttyp0 c 3 0";
- }
-
- my $ftype = $type =~ /^(all)$/ ? "pcmcia" : $type;
- if ($ftype eq "pcmcia") {
- _ "$sudo cp -a /etc/pcmcia $mnt/etc";
- _ "cp $mnt/etc/pcmcia/config /tmp/pcmcia_config_tmp";
- _ "../tools/patch_pcmcia_config.pl /tmp/pcmcia_config_tmp ../kernel/all.modules/$main/modules.dep";
- _ "sudo mv /tmp/pcmcia_config_tmp $mnt/etc/pcmcia/config";
- }
- my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)";
- $modz = "../kernel/all.modules$I/$ext";
- if ($type !~ /blank/) {
- _ "$sudo cp -f $modz/${ltype}_modules.mar $mnt/modules/modules$I.mar" ;
- _ "$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" .
-
-($type eq 'all' &&
-"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 Mandrake Linux 7.1
-
-Press <Enter> to install or upgrade a system 7mMandrake Linux7m
-");
-
- 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 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
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-atyfb
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=atyfb:vmode:17\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-aty128fb
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=aty128fb:vmode:17\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-text
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" text\"
-
-image = cd:,\\\\\\\\vmlinux
- label = rescue
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" rescue\"
-");
- #- 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/move/img/FE92-1024-MOVE1.jpg b/move/img/FE92-1024-MOVE1.jpg
deleted file mode 100644
index 4abb003a3..000000000
--- a/move/img/FE92-1024-MOVE1.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1024-MOVE2.jpg b/move/img/FE92-1024-MOVE2.jpg
deleted file mode 100644
index 46af01bec..000000000
--- a/move/img/FE92-1024-MOVE2.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1024-MOVE3.jpg b/move/img/FE92-1024-MOVE3.jpg
deleted file mode 100644
index 32c7debdc..000000000
--- a/move/img/FE92-1024-MOVE3.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1024-MOVE4.jpg b/move/img/FE92-1024-MOVE4.jpg
deleted file mode 100644
index d3340b9c9..000000000
--- a/move/img/FE92-1024-MOVE4.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1024-MOVE5.jpg b/move/img/FE92-1024-MOVE5.jpg
deleted file mode 100644
index c3e3fd7d0..000000000
--- a/move/img/FE92-1024-MOVE5.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1280-MOVE1.jpg b/move/img/FE92-1280-MOVE1.jpg
deleted file mode 100644
index cc11b0b0c..000000000
--- a/move/img/FE92-1280-MOVE1.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1280-MOVE2.jpg b/move/img/FE92-1280-MOVE2.jpg
deleted file mode 100644
index bee10753f..000000000
--- a/move/img/FE92-1280-MOVE2.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1280-MOVE3.jpg b/move/img/FE92-1280-MOVE3.jpg
deleted file mode 100644
index 17135e024..000000000
--- a/move/img/FE92-1280-MOVE3.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1280-MOVE4.jpg b/move/img/FE92-1280-MOVE4.jpg
deleted file mode 100644
index 545643e68..000000000
--- a/move/img/FE92-1280-MOVE4.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/FE92-1280-MOVE5.jpg b/move/img/FE92-1280-MOVE5.jpg
deleted file mode 100644
index cafbbcaf6..000000000
--- a/move/img/FE92-1280-MOVE5.jpg
+++ /dev/null
Binary files differ
diff --git a/move/img/Mandrake.png b/move/img/Mandrake.png
deleted file mode 100644
index 9afdde005..000000000
--- a/move/img/Mandrake.png
+++ /dev/null
Binary files differ
diff --git a/move/isolinux/.cvsignore b/move/isolinux/.cvsignore
deleted file mode 100644
index fc96f3d29..000000000
--- a/move/isolinux/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-boot.msg
-all.rdz
-cdrom.rdz
-isolinux.bin
-vmlinuz
diff --git a/move/isolinux/help.msg b/move/isolinux/help.msg
deleted file mode 100644
index 76dd34d78..000000000
--- a/move/isolinux/help.msg
+++ /dev/null
Binary files differ
diff --git a/move/isolinux/isolinux.cfg b/move/isolinux/isolinux.cfg
deleted file mode 100644
index f15c0c44f..000000000
--- a/move/isolinux/isolinux.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-default linux
-prompt 1
-timeout 150
-display boot.msg
-F1 help.msg
-F2 boot.msg
-
-label linux
- kernel vmlinuz
- append initrd=all.rdz acpi=ht quiet automatic=method:cdrom
-
-label acpi
- kernel vmlinuz
- append initrd=all.rdz quiet automatic=method:cdrom
diff --git a/move/isolinux/make.pl b/move/isolinux/make.pl
deleted file mode 100644
index fb88c46f6..000000000
--- a/move/isolinux/make.pl
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-
-output 'help.msg', pack("C*", 0x0E, 0x80, 0x03, 0x00),
-"
- 0aWelcome to 09Mandrake Move0a help07
-
-In most cases, the best way to get started is to simply press the 0e<Enter>07 key.
-If you experience problems, you can try to add on the command line :
-
- o 0fnoauto07 to disable automatic detection (generally used with 0fexpert07).
- o 0fupdatemodules07 to use the special update floppy containing modules updates.
- o 0fpatch07 to use a patch from the floppy (file named 09patch.pl07).
- o 0fcleankey07 to remove previously saved system config files from the USB key.
- o 0fwaitkey07 to wait 15 more seconds at boot time while detecting the USB key,
- that might be useful for some keys for which detection doesn't work nicely
- o 0fvirtual_key=09/dev/hda10f,09/key07 to use file 09/key07 on device 09/dev/hda107 as a
- virtual key instead of a physical one (must be an existing file containing
- a valid filesystem - e.g. a loopback).
-
-You can also pass some 0f<specific kernel options>07 to the Linux kernel.
-For example, try 0flinux mem=128M07 if your system has 128Mb of RAM but we
-don't detect the amount correctly.
-0cNOTE07: You cannot pass options to modules (SCSI, ethernet card) or devices
-such as CD-ROM drives in this way. If you need to do so, use expert mode.
-
-0c[F1-Help] [F2-Main]07\n";
diff --git a/move/make_live b/move/make_live
deleted file mode 100755
index f2375a2e2..000000000
--- a/move/make_live
+++ /dev/null
@@ -1,224 +0,0 @@
-#!/usr/bin/perl
-
-use lib "../perl-install";
-use common;
-use pkgs;
-
-my @ALLOWED_LANGS = split(' ', first(cat_('move.pm') =~ /ALLOWED_LANGS = qw\((.*)\)/));
-my @langs = map { /^../; $& } @ALLOWED_LANGS;
-
-@ARGV <= 1 or die "usage: make_live [live_location=/tmp/live_tree]\n";
-
-my $kernel_version = do {
- my @l = glob_('/export/Mandrake/RPMS/kernel-2.*');
- @l >= 1 or die "can't find kernel";
- @l <= 1 or die "too many kernels";
- first(`rpm -qp --qf '%{name}' $l[0]` =~ /kernel-(.*)/);
-};
-
-sub installPackages {
- output_p("$::prefix/etc/rpm/macros", "%_install_langs " . join(":", @langs) . "\n");
- rename '/etc/rpm/macros', '/etc/rpm/macros.';
- system('cp', "$::prefix/etc/rpm/macros", '/etc/rpm/macros');
-
- mkdir_p("$::prefix/var/lib/rpm");
- mkdir_p("$::prefix/root/drakx");
-
-
- undef *install_any::setDefaultPackages;
- *install_any::setDefaultPackages = sub {};
-
- undef *install_any::getFile;
- *install_any::getFile = sub {
- my ($f, $o_method) = @_;
- log::l("getFile $f:$o_method");
- open(my $F, '/export/' . install_any::relGetFile($f)) or return;
- $F;
- };
- install_any::setPackages(my $o = $::o = {
- prefix => $::prefix,
- meta_class => 'desktop',
- default_packages => [
- qw(XFree86-server XFree86-xfs XFree86-FBDev),
- qw(openssh-server), #- fred wants it
- qw(alsa-utils newt), #- newt
- qw(davfs nfs-utils samba-server sane-backends xsane xsane-gimp ntp),
- qw(acpi acpid), #- so that removing acpi=ht will work
- qw(mountloop), #- crypted folders
- qw(dnotify), #- notification of /etc changes
- qw(mandrake_doc-move-en mandrake_doc-move-fr mandrake_doc-move-drakxtools-en mandrake_doc-move-drakxtools-fr),
- qw(zcip dhcp-client dhcpcd ppp kdenetwork-kppp rp-pppoe pptp-adsl speedtouch speedtouch_mgmt nfs-utils-clients samba-client tmdns wireless-tools adiusbadsl pcmcia-cs), #- network conf
- qw(cups cups-drivers foomatic-db gimpprint hpoj libnet-snmp mtools mtoolsfm nmap printer-filters printer-testpages printer-utils scli xojpanel xpp), #- printer stuff
- qw(ATI_GLX NVIDIA_GLX),
- "kernel-smp-$kernel_version",
- qw(hcfpcimodem hsflinmodem ltmodem), "NVIDIA_nforce-$kernel_version",
- qw(xinput), #- for some mice
- qw(perl-Term-Readline-Gnu binutils emacs-X11 bash-completion), #- allow debugging move
- qw(openssh-askpass-gnome), #- openssh-askpass for mountloop doesn't allow to click on ok/cancel buttons
- qw(clanbomber freeciv-client freeciv-server crack-attack kdegames), #- more games
- qw(numlock shorewall),
- qw(xawtv zapping), #- tv apps
- ],
- });
-
- my %compssUsersChoice = map { $_ => 1 } map { @{$_->{flags}} } values %{$o->{compssUsers}};
- $compssUsersChoice{$_} = 1 foreach 'SYSTEM', 'DVD', 'USB', 'SOUND', 'BURNER', 'UTF8', 'DOCS', 'TV', '3D', 'INSTALL';
- $compssUsersChoice{qq(LOCALES"$_")} = 1 foreach @langs;
-
- pkgs::setSelectedFromCompssList($o->{packages}, \%compssUsersChoice, 4, 0);
-
- my @toInstall = pkgs::packagesToInstall($o->{packages});
- local $ENV{DURING_INSTALL} = 1;
- $ENV{LD_LIBRARY_PATH} = "/lib:/usr/lib:/usr/X11R6/lib:/usr/lib/qt3/lib";
- pkgs::install($::prefix, 0, \@toInstall, $o->{packages});
-
- eval { fs::umount("$::prefix/proc") };
-
- unlink "/etc/rpm/macros";
- rename "/etc/rpm/macros.", "/etc/rpm/macros";
-}
-
-sub config_X_proprietary_drivers {
- unlink "$::prefix/usr/lib/libGL.so";
-
- my %name_to_Driver = (NVIDIA_GLX => 'nvidia', ATI_GLX => 'fglrx');
-
- my $lib = 'libGL.so.1';
- symlinkf("/etc/X11/$lib", "$::prefix/usr/lib/$lib");
- foreach (keys %name_to_Driver) {
- my ($full_name) = run_program::rooted_get_stdout($::prefix, 'rpm', '-ql', $_) =~ m!/usr/lib/(\Q$lib\E\..*)! or die '';
- symlinkf($full_name, "$::prefix/usr/lib/$lib.$name_to_Driver{$_}");
- }
- #- remove the dirty hack done by NVIDIA_kernel-xxx proprietary package
- #- we do it by hand when needed
- substInFile { $_ = '' if /^nvidia$/ } "$::prefix/etc/modules";
-}
-
-my $cwd = chomp_(`pwd`);
-$::prefix = $ARGV[0] || '/tmp/live_tree';
-print "Making live in $::prefix directory.\n";
-
-eval { fs::umount("$::prefix/proc") };
-#eval { rm_rf($::prefix) };
-output_p("$::prefix/etc/fstab", "none /proc proc defaults 0 0\n");
-
-installPackages();
-
-run_program::rooted($::prefix, 'ldconfig');
-any::fix_broken_alternatives();
-run_program::rooted($::prefix, 'fc-cache'); #- generate cache in all directories mentioned in config file
-
-
- #- system
-
-eval { rm_rf("$::prefix/lib/i686") }; # de-complexify, use the default on any arch
-
-eval { config_X_proprietary_drivers() };
-
-substInFile {
- #- /lib is ro, for the moment we don't save, we'll see later if we may want to save (using /var/dev-state for example)
- s|.*lib/dev-state.*||;
-} "$::prefix/etc/devfsd.conf";
-
-substInFile {
- #- don't use shadow passwords since pwconv overwrites /etc/shadow hence contents will be lost for usb key
- s|\s*shadow||;
-} "$::prefix/etc/pam.d/system-auth";
-
-substInFile {
- #- remove this line which D-state mounting /home again
- #- we don't know what this line is for
- $_ = "# $_" if /Mounting other filesystems/;
-} "$::prefix/etc/init.d/netfs";
-
-#- remove services we start ourselves from chkconfig system
-substInFile {
- s|chkconfig:|chkconfig-disabled:|;
-} "$::prefix/etc/rc.d/init.d/$_" foreach qw(xfs dm devfsd syslog);
-
-#- we're not using sysv init, we need to replace these
-unlink "$::prefix/sbin/$_" foreach qw(halt reboot);
-
-#- provide a way for speedtouch users of free version to escape
-if (!-e "$::prefix/usr/share/speedtouch/mgmt.o") {
- symlink '/etc/mgmt.o', "$::prefix/usr/share/speedtouch/mgmt.o";
-}
-
-#- we don't want everyone to have the same ssh key :)
-system("rm -f $::prefix/etc/ssh/*key*");
-
-
- #- XFree
-
-#- don't want the relative path, prefering the absolute path
-symlinkf('/var/lib/xkb', "$::prefix/etc/X11/xkb/compiled");
-
-#- Xsession wants to start first-time
-unlink "$::prefix/usr/X11R6/bin/drakfw";
-
-
- #- KDE
-
-symlinkf('/etc/X11/ksycoca', "$::prefix/usr/share/services/ksycoca");
-
-unlink "$::prefix/usr/share/autostart/$_.desktop" foreach 'klipper', 'korgac', 'kalarmd.autostart';
-
-update_gnomekderc("$::prefix/usr/share/config/kdesktoprc", ScreenSaver => (Lock => 'true'));
-
-#- remove CD-based applications from simplified menu
-substInFile {
- foreach my $app (qw(kaudiocreator kscd k3b)) {
- s|.*command="$app".*||;
- }
-} "$::prefix/usr/lib/menu/simplified/mandrake_desk";
-
-#- remove "Login Manager" module from kcontrol, rpmdrake stuff
-unlink "$::prefix/usr/lib/menu/$_" foreach qw(kdebase-kdm rpmdrake);
-
-touch("$::prefix/etc/menu/enable_simplified");
-
-substInFile {
- s/mandrake_doc-(en|fr)/mandrake_doc-move-$1/g;
-} "$::prefix/usr/lib/menu/simplified/mandrake_desk";
-
-substInFile {
- s!/es/Starter.html/!/en/Starter.html/!;
-} "$::prefix/usr/share/mdk/mandrakegalaxy/mdkgalaxy-es.html";
-
-$ENV{LC_ALL} = 'en_US'; #- update-menus doesn't work when there is no locale (aka locale "C")
-run_program::rooted($::prefix, 'update-menus', '-n');
-
-run_program::rooted($::prefix, 'nspluginscan'); #- must be run before kbuildsycoca for the ksycoca to be flash plugin aware
-
-$ENV{HELP_BROWSER} = "kfmclient openProfile webbrowsing";
-$ENV{BROWSER} = "kfmclient openProfile webbrowsing";
-$ENV{DESKTOP} = "kde";
-foreach (@ALLOWED_LANGS) {
- $ENV{LC_ALL} = $_;
- run_program::rooted($::prefix, 'kbuildsycoca');
- cp_af("$::prefix/tmp/kde-root/ksycoca", "$::prefix/usr/share/services/ksycoca-$_");
-}
-
-
- #- Mandrake
-
-substInFile {
- s|Mandrake Linux release (\S+) \(.*\)|Mandrake Move release $1 (Moyoto)|;
-} "$::prefix/etc/mandrake-release";
-
-#- fix mandrake galaxy version download
-substInFile {
- s/Mandrake%20Control%20Center\.desktop/Configure%20your%20computer.desktop/;
- s/logiciels\.// if $next;
- $next = s/, et installez de nouveaux/.../;
-} "$::prefix/usr/share/mdk/mandrakegalaxy/mdkgalaxy-fr.html";
-
-#- remove uncessary wizards, especially from appearing in MCC
-unlink "$::prefix/usr/sbin/$_" foreach qw(drakautoinst drakboot drakfloppy drakgw drakedm drakfont rpmdrake MandrakeUpdate rpmdrake-remove edit-urpm-sources.pl);
-unlink "$::prefix/usr/bin/$_" foreach qw(userdrake);
-
-#- selecting language must be done from drakx anyway
-unlink "$::prefix/usr/bin/localedrake";
-
-#- drakxtools contains a broken unneeded file
-unlink "$::prefix/usr/lib/libDrakX/modem.pm";
diff --git a/move/make_live_tree_boot b/move/make_live_tree_boot
deleted file mode 100755
index 1af8d537e..000000000
--- a/move/make_live_tree_boot
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/usr/bin/perl
-
-use lib qw(../perl-install);
-use common;
-use lang;
-
-my $prefix = '/tmp/live_tree';
-my @ALLOWED_LANGS = split(' ', first(cat_('move.pm') =~ /ALLOWED_LANGS = qw\((.*)\)/));
-
-sub create_light_tree {
- my ($live_name, $list) = @_;
- my $light_prefix = $prefix . '_' . $live_name;
-
- -e $light_prefix and die "you can't make_live_tree_boot since one already exists
-Maybe you should remove it first with 'make_live_tree_boot -u'\n";
-
- foreach my $orig (@$list) {
- my $dest = $orig;
- $dest =~ s|^$prefix|$light_prefix|;
-
- mkdir_p(dirname($dest));
-
- if (-l $orig) {
- symlink readlink($orig), $dest;
- } else {
- my $link = $orig;
- $link =~ s|^$prefix|/image_$live_name|;
-
- rename $orig, $dest or die "moving $orig to $dest failed: $!\n";
- symlink $link, $orig or die "symlinking from $dest to $orig failed: $!\n";
- }
- }
-}
-
-sub create_totem_links {
- my ($live_name, $list) = @_;
- my $light_prefix = $prefix . '_' . $live_name;
-
- #- creating all the dirs, even when things are in the "always" tree
- foreach my $orig (@$list) {
- my $dest = $orig;
- $dest =~ s|^$prefix|$light_prefix|;
- mkdir_p(dirname($dest)) if ! (-e $dest || -l $dest);
-
- if (-l $orig) {
- symlink readlink($orig), $dest;
- }
- }
-
- foreach my $dir (chomp_(`cd $light_prefix ; find usr -type d`)) {
- foreach my $f (all("$prefix/$dir")) {
- my $link;
- my $fl = $f;
- while (my $l = readlink("$prefix/$dir/$fl")) {
- if ($l =~ /^\w/) {
- $fl = $l;
- next;
- } elsif ($l =~ m!^/!) {
- $link = $l;
- }
- last;
- }
- $link ||= "/image/$dir/$fl";
- symlink $link, "$light_prefix/$dir/$f";
- }
- }
-}
-
-sub remove_light_tree {
- my ($live_name, $list) = @_;
- my $light_prefix = $prefix . '_' . $live_name;
-
- -d $light_prefix or return;
-
- foreach my $dest (@$list) {
- my $orig = $dest;
- $orig =~ s|^$prefix|$light_prefix|;
-
- if (-l $orig) {
- unlink $orig;
- } elsif (-e $orig) {
- if (-e $dest && -s $dest != -s $orig) {
- warn "ERROR: $dest already exist, skipping\n";
- } elsif (!-d $dest || -l $dest) {
- unlink $dest or die "removing $dest failed: $!\n";
- rename $orig, $dest or die "moving $orig to $dest failed: $!\n";
- }
- }
- }
- rmdir($_) foreach reverse(chomp_(`find $light_prefix -type d`));
-
- if (-e $light_prefix) {
- unlink($_) foreach chomp_(`find $light_prefix -type l`);
-
- foreach my $orig (chomp_(`find $light_prefix -type f`)) {
- my $dest = $orig;
- $dest =~ s|^$light_prefix|$prefix|;
- if (my $orig2 = readlink($dest)) {
- $orig2 =~ s!/image_$live_name/!$light_prefix/! or next;
- $orig2 eq $orig or next;
- } else {
- next if -e $dest && -s $dest != -s $orig;
- }
- unlink $dest or die "removing $dest failed: $!\n";
- rename $orig, $dest or die "moving $orig to $dest failed: $!\n";
- }
- system("rm -rf $light_prefix/usr/bin/stage2/*.pm");
- system("rm -rf $light_prefix/usr/lib/libDrakX/*.pm");
- system("rm -rf $light_prefix/usr/share/langs/*.png");
-
- rmdir($_) foreach reverse(chomp_(`find $light_prefix -type d`));
- }
-
- if (-e $light_prefix) {
- print "still there:\n";
- system('find', $light_prefix);
- }
-}
-
-my @always_list = chomp_(cat_('data/always.list'));
-my @boot_list_orig = chomp_(cat_('data/boot.list'));
-my @totem_list_orig = chomp_(cat_('data/totem.list'));
-my @nvidia_list = chomp_(cat_('data/nvidia.list'));
-my @always_i18n_list = chomp_(cat_('data/always_i18n.list'));
-
-@always_list = uniq(@always_list, intersection(\@boot_list_orig, \@totem_list_orig));
-
-my @boot_list = difference2(\@boot_list_orig, \@always_list);
-my @totem_list = difference2(\@totem_list_orig, \@always_list);
-
-remove_light_tree('always', \@always_list);
-remove_light_tree('boot', \@boot_list);
-remove_light_tree('totem', \@totem_list);
-remove_light_tree('nvidia', \@nvidia_list);
-foreach my $lang (@ALLOWED_LANGS) {
- remove_light_tree("always_i18n_$lang", []);
-}
-
-if (!@ARGV) {
- create_light_tree('always', \@always_list);
- create_light_tree('boot', \@boot_list);
- create_light_tree('totem', \@totem_list);
- create_light_tree('nvidia', \@nvidia_list) if -e $nvidia_list[0];
- foreach my $lang (@ALLOWED_LANGS) {
- my $full_lang = lang::l2locale($lang);
- my ($short_lang) = $full_lang =~ /(..)/;
- my @list = map {
- my $s = $_;
- $s =~ s/__LANG__/$full_lang/;
- if (! -e $s) {
- $s = $_;
- $s =~ s/__LANG__/$short_lang/;
- }
- if (readlink($s) =~ m!^[^/]!) {
- system('cp', $s, "$s-");
- rename "$s-", $s;
- }
- if_(-e $s, $s);
- } @always_i18n_list;
- create_light_tree("always_i18n_$lang", \@list);
- }
- create_totem_links('totem', \@totem_list_orig);
-}
diff --git a/move/move.pm b/move/move.pm
deleted file mode 100644
index 01823fa98..000000000
--- a/move/move.pm
+++ /dev/null
@@ -1,703 +0,0 @@
-package move; # $Id$ $
-
-#- Copyright (c) 2003 MandrakeSoft
-#-
-#- 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 modules;
-use common;
-use fs;
-use fsedit;
-use run_program;
-use partition_table qw(:types);
-use swap;
-use log;
-use lang;
-use Digest::MD5 qw(md5_hex);
-
-my @ALLOWED_LANGS = qw(en_US fr es it de nl);
-my $key_disabled;
-
-my ($using_existing_user_config, $using_existing_host_config);
-my $key_sysconf = '/home/.sysconf';
-my $virtual_key_part;
-my $key_mountopts = 'umask=077,uid=501,gid=501,shortname=mixed,nobadchars';
-
-sub symlinkf_short {
- my ($dest, $file) = @_;
- if (my $l = readlink $dest) {
- $dest = $l if $l =~ m!^/!;
- }
- -d $file and log::l("$file already exists and is a directory! writing in directory may be needed, not overwriting"), return;
- symlinkf($dest, $file);
-}
-
-sub handle_etcfiles {
- my (@allowed_modes) = @_;
- #- non-trivial files listed from tools/scan-etc.pl
- foreach (chomp_(cat_('/image/move/etcfiles'))) {
- my $mode if 0;
- m|^# (\S+)| and $mode = $1;
- m|^/| && member($mode, @allowed_modes) and do {
- $mode eq 'READ' && !-e $_ and symlinkf_short("/image$_", $_);
- if ($mode eq 'OVERWRITE') {
- mkdir_p(dirname($_));
- run_program::run('cp', "/image$_", $_); #- need copy contents
- }
- $mode eq 'DIR' and mkdir_p $_;
- }
- }
-
-}
-
-sub handle_virtual_key {
- return if $key_disabled;
- if (my ($device, $file, $options) = cat_('/proc/cmdline') =~ /\bvirtual_key=([^,\s]+),([^,\s]+)(,\S+)?/) {
- log::l("using device=$device file=$file as a virtual key with options $options");
- my $dir = '/virtual_key_mount';
- mkdir $dir;
- run_program::run('mount', $device, $dir);
- $options =~ /format/ and run_program::run('mkdosfs', "$dir$file");
- require devices;
- my $loop = devices::find_free_loop();
- run_program::run('losetup', $loop, "$dir$file");
- run_program::run('mount', $loop, '/home', '-o', $key_mountopts);
- $virtual_key_part = { device => $loop, mntpoint => '/home', type => 0xc, isMounted => 1 };
- }
-}
-
-sub setup_userconf {
- my ($o) = @_;
- if (!@{$o->{users}} && `getent passwd 501` =~ /([^:]+):/) {
- log::l("passwd/501 is $1");
- $o->{users} = [ { name => $1 } ];
- $ENV{HOME} = "/home/$1"; #- used by lang::read() :-/
- print "using existing user configuration\n";
- $using_existing_user_config = 1;
- }
-}
-
-#- run very soon at stage2 start, setup things on tmpfs rw / that
-#- were not necessary to start stage2 itself (there were setup
-#- by stage1 of course)
-sub init {
- my ($o) = @_;
-
- $::testing and goto drakx_stuff;
-
- #- rw things
- mkdir "/$_" foreach qw(home mnt root root/tmp etc var);
-
- mkdir "/etc/$_" foreach qw(X11);
- touch '/etc/modules.conf';
- symlinkf "/proc/mounts", "/etc/mtab";
-
- #- these files need be writable but we need a sensible first contents
- run_program::run('cp', "/image/etc/$_", '/etc') foreach qw(passwd passwd- group sudoers fstab);
-
- #- these files are typically opened in read-write mode, we need them copied
- mkdir_p("/etc/$_"), run_program::run('cp', '-R', glob_("/image/etc/$_/*"), "/etc/$_")
- foreach qw(cups profile.d sysconfig devfs/conf.d);
-
- #- directories we badly need as non-links because files will be written in
- handle_etcfiles('DIR');
-
- #- for /etc/sysconfig/networking/ifcfg-lo
- mkdir "/etc/sysconfig/networking";
-
- #- ro things
- symlinkf_short("/image/etc/$_", "/etc/$_")
- foreach qw(alternatives man.config services shells pam.d security inputrc ld.so.conf
- DIR_COLORS bashrc profile init.d devfsd.conf gtk-2.0 pango fonts modules.devfs
- dynamic hotplug gnome-vfs-2.0 gnome-vfs-mime-magic gtk gconf menu menu-methods nsswitch.conf default login.defs
- skel ld.so.cache openoffice xinetd.d xinetd.conf syslog.conf sysctl.conf sysconfig/networking/ifcfg-lo
- ifplugd);
- symlinkf_short("/image/etc/X11/$_", "/etc/X11/$_")
- foreach qw(encodings.dir app-defaults applnk fs lbxproxy proxymngr rstart wmsession.d xinit xkb xserver xsm);
- symlinkf_short("/image/root/$_", "/root/$_") foreach qw(.bashrc);
-
- mkdir_p(dirname("/var/$_")), symlinkf_short("/image/var/$_", "/var/$_") foreach qw(lib/samba lib/rpm cache/gstreamer-0.6);
-
- #- non-trivial files/directories that need be readable, files that will be overwritten
- handle_etcfiles('READ', 'OVERWRITE');
-
- #- create remaining /etc and /var subdirectories if not already copied or symlinked,
- #- because programs most often won't try to create the missing subdir before trying
- #- to write a file, leading to obscure unexpected failures
- -d $_ or mkdir_p $_ foreach chomp_(cat_('/image/move/directories-to-create'));
-
- chmod 01777, '/tmp', '/var/tmp'; #- /var/tmp -> badly needed for printing from OOo
-
- #- remaining non existent /etc files are symlinked from the RO volume,
- #- better to have them RO than non existent.
- #- PB: problems arise when programs try to open then in O_WRONLY
- #- or O_RDWR -> in that case, they should be handled in the
- #- OVERWRITE section of data/etcfiles)
- foreach (chomp_(cat_('/image/move/all-etcfiles'))) {
- -f or symlinkf_short("/image$_", $_);
- }
-
- #- free up stage1 memory
- eval { fs::umount('/stage1/proc/bus/usb') };
- fs::umount($_) foreach qw(/stage1/proc /stage1);
-
- #- devfsd needed for devices accessed by old names
- fs::mount("none", "/dev", "devfs", 0);
- run_program::run('/sbin/devfsd', '/dev');
-
- -d '/lib/modules/' . c::kernel_version() or warn("ERROR: kernel package " . c::kernel_version() . " not installed\n"), c::_exit(1);
-
- $key_disabled = !-e '/cdrom/live_tree_nvidia.clp' && cat_('/proc/mounts') !~ /nfs/;
-
- run_program::run('/sbin/service', 'syslog', 'start');
- run_program::run('sysctl', '-w', 'kernel.hotplug=/bin/true');
- modules::load_category('bus/usb');
- eval { modules::load('usb-storage', 'sd_mod') };
- handle_virtual_key();
- $o->{pcmcia} ||= !$::noauto && c::pcmcia_probe();
- cat_('/proc/cmdline') =~ /\bwaitkey\b/ and sleep 15;
- install_steps::setupSCSI($o);
- run_program::run('sysctl', '-w', 'kernel.hotplug=/sbin/hotplug');
-
- key_mount($o);
- cat_('/proc/cmdline') =~ /\bcleankey\b/ and eval { rm_rf $key_sysconf, glob_('/home/.mdkmove*') };
- key_installfiles('simple');
- setup_userconf($o);
- if (-f '/etc/X11/X') {
- print "using existing host configuration\n";
- $using_existing_host_config = 1;
-
- #- so that /etc/devfsd/conf.d/mouse.conf is used and /dev/mouse created
- run_program::run('/sbin/service', 'devfsd', 'reload');
- }
- if (-s '/etc/sysconfig/i18n') {
- lang::set($o->{locale} = lang::read('', 0)); #- read ~/.i18n first if it exists
- install2::handleI18NClp();
- }
-
- touch '/var/run/rebootctl';
-
-drakx_stuff:
- $o->{steps}{$_} = { reachable => 1, text => $_ }
- foreach qw(initGraphical autoSelectLanguage handleI18NClp verifyKey configMove startMove);
- $o->{orderedSteps_orig} = $o->{orderedSteps};
- $o->{orderedSteps} = [ $using_existing_host_config ?
- qw(initGraphical verifyKey startMove)
- : $using_existing_user_config ?
- qw(initGraphical autoSelectLanguage verifyKey selectMouse selectKeyboard configMove startMove)
- : qw(initGraphical selectLanguage handleI18NClp acceptLicense verifyKey selectMouse selectKeyboard configMove startMove) ];
- $o->{steps}{first} = $o->{orderedSteps}[0];
-
- #- don't use shadow passwords since pwconv overwrites /etc/shadow hence contents will be lost for usb key
- delete $o->{authentication}{shadow};
-
- member($_, @ALLOWED_LANGS) or delete $lang::langs{$_} foreach keys %lang::langs;
-}
-
-sub lomount_clp {
- my ($name, $needed_file) = @_;
- my ($clp, $dir) = ("/cdrom/live_tree_$name.clp", "/image_$name");
-
- -e "$dir$needed_file" and return;
-
- if (! -e $clp || cat_('/proc/cmdline') =~ /\blive\b/) {
- symlink "/cdrom/live_tree_$name", $dir;
- return;
- }
-
- log::l("lomount_clp: lomounting $name");
-
- mkdir_p($dir);
- my $dev = devices::find_free_chloop();
- run_program::run('losetup', '-r', '-e', 'gz', $dev, $clp);
- run_program::run('mount', '-r', $dev, $dir);
-}
-
-sub install2::autoSelectLanguage {
- my $o = $::o;
-
- install_steps::selectLanguage($o);
-}
-
-sub install2::handleI18NClp {
- my $o = $::o;
-
- lomount_clp("always_i18n_$o->{locale}{lang}", '/usr');
-}
-
-sub key_parts {
- my ($o) = @_;
-
- return () if $key_disabled;
-
- my @keys = grep { detect_devices::isKeyUsb($_) } @{$o->{all_hds}{hds}};
- (fsedit::get_fstab(@keys), grep { detect_devices::isKeyUsb($_) } @{$o->{all_hds}{raw_hds}});
-}
-
-sub key_mount {
- my ($o, $o_reread) = @_;
-
- if ($o_reread) {
- $o->{all_hds} = fsedit::empty_all_hds();
- install_any::getHds($o, $o);
- }
- if ($virtual_key_part) {
- #- :/ merge_from_mtab didn't got my virtual key, need to add it manually
- push @{$o->{fstab}}, $virtual_key_part;
- }
-
- require fs;
- each_index {
- $_->{mntpoint} = $::i ? "/mnt/key$::i" : '/home';
- $_->{options} = $key_mountopts;
- eval { fs::mount_part($_); 1 } or delete $_->{mntpoint};
- } key_parts($o);
-}
-
-sub key_umount {
- my ($o) = @_;
- eval { fs::umount_part($_) foreach key_parts($o); 1 };
-}
-
-sub machine_ident {
- #- , c::get_hw_address('eth0'); before detect of network :(
- md5_hex(join '', (map { (split)[1] } cat_('/proc/bus/pci/devices')));
-}
-
-sub key_installfiles {
- my ($mode) = @_;
-
- my $done if 0;
- $done and return;
-
- mkdir $key_sysconf;
- my $sysconf = "$key_sysconf/" . machine_ident();
-
- my $copy_userinfo = sub {
- my (@files) = @_;
- my @etcpasswords = glob("$key_sysconf/*/etc/passwd");
- if (@etcpasswords > 1) {
- print "inconsistency: more than one /etc/passwd on key! can't proceed, please clean the key\n";
- exit 1;
- }
- return if !@etcpasswords;
- my ($path) = $etcpasswords[0] =~ m|(.*)/etc/passwd|;
- run_program::run('cp', '-f', "$path$_", $_) foreach @files;
- run_program::run('rm', '-f', $etcpasswords[0]);
- };
-
- if (!-d $sysconf) {
- if ($mode eq 'full') {
- log::l("key_installfiles: installing config files in $sysconf");
- mkdir $sysconf;
- foreach (chomp_(cat_('/image/move/keyfiles'))) {
- my $target_dir = $sysconf . dirname($_);
- mkdir_p($target_dir);
- if (/\*$/) {
- run_program::run('cp', glob_($_), $target_dir);
- symlinkf("$sysconf$_", $_) foreach glob($_);
- } else {
- run_program::run('cp', $_, "$sysconf$_");
- symlinkf("$sysconf$_", $_);
- }
- }
- run_program::run('cp', '/image/move/README.adding.more.files', $key_sysconf);
- $done = 1;
- } else {
- #- not in full mode and no host directory, grab user config from first existing host directory if possible
- log::l("key_installfiles: only looking for user config files");
- $copy_userinfo->(qw(/etc/passwd /etc/group /etc/sysconfig/i18n));
- }
- } else {
- log::l("key_installfiles: installing symlinks to key");
- if (!-e "$sysconf/etc/passwd") {
- log::l("key_installfiles: /etc/passwd not here, trying to copy from previous host boot");
- $copy_userinfo->(qw(/etc/passwd /etc/group));
- }
- foreach (chomp_(`find $sysconf -type f`)) {
- my ($path) = /^\Q$sysconf\E(.*)/;
- mkdir_p(dirname($path));
- symlinkf($_, $path);
- }
- $done = 1;
- $::o->{steps}{configMove}{done} = 1;
- }
-
- #- /etc/sudoers can't be a link
- unlink($_), run_program::run('cp', "/image$_", $_) foreach qw(/etc/sudoers);
-}
-
-sub reboot {
- output('/var/run/rebootctl', "reboot"); #- tell X_move to not respawn
- run_program::run('killall', 'X'); #- kill it ourselves to be sure that it won't lock console when killed by our init
- exit 0;
-}
-
-sub install2::verifyKey {
- my ($o) = $::o;
-
- log::l("automatic transparent key support is disabled"), return if $key_disabled;
-
- while (cat_('/proc/mounts') !~ m|\s/home\s|) {
-
- my $message = key_parts($o) ?
-N("Your USB key doesn't have any valid Windows (FAT) partitions.
-We need one to continue (beside, it's more standard so that you
-will be able to move and access your files from machines
-running Windows). Please plug in an USB key containing a
-Windows partition instead.
-
-
-You may also proceed without an USB key - you'll still be
-able to use Mandrake Move as a normal live Mandrake
-Operating System.") :
-N("We didn't detect any USB key on your system. If you
-plug in an USB key now, Mandrake Move will have the ability
-to transparently save the data in your home directory and
-system wide configuration, for next boot on this computer
-or another one. Note: if you plug in a key now, wait several
-seconds before detecting again.
-
-
-You may also proceed without an USB key - you'll still be
-able to use Mandrake Move as a normal live Mandrake
-Operating System.");
- $o->ask_okcancel_({ title => N("Need a key to save your data"),
- messages => formatAlaTeX($message),
- ok => N("Detect USB key again"),
- cancel => N("Continue without USB key") }) or return;
-
- key_mount($o, 'reread');
- }
-
- local *F;
- while (!open F, '>/home/.touched') {
-
- if (!key_umount($o)) {
- #- this case happens when the user boots with a write-protected key containing
- #- all user and host data, /etc/X11/X which is on key busyfies it
- $o->ask_okcancel_({ title => N("Key isn't writable"),
- messages => formatAlaTeX(
-N("The USB key seems to have write protection enabled, but we can't safely
-unplug it now.
-
-
-Click the button to reboot the machine, unplug it, remove write protection,
-plug the key again, and launch Mandrake Move again.")),
- ok => N("Reboot") });
- reboot();
- }
-
- modules::unload('usb-storage'); #- it won't notice change on write protection otherwise :/
-
- $o->ask_okcancel_({ title => N("Key isn't writable"),
- messages => formatAlaTeX(
-N("The USB key seems to have write protection enabled. Please
-unplug it, remove write protection, and then plug it again.")),
- ok => N("Retry"),
- cancel => N("Continue without USB key") }) or return;
-
- modules::load('usb-storage');
- sleep 2;
- key_mount($o, 'reread');
- }
- close F;
- unlink '/home/.touched';
-
- my $wait = $using_existing_host_config
- || $o->wait_message(N("Setting up USB key"), N("Please wait, setting up system configuration files on USB key..."));
- key_installfiles('full');
-
- setup_userconf($o);
-}
-
-sub enable_service {
- run_program::run('/sbin/chkconfig', '--level', 5, $_[0], 'on');
-}
-
-sub install2::configMove {
- my $o = $::o;
-
- #- just in case
- lomount_clp("always_i18n_$o->{locale}{lang}", '/usr');
-
- if (!$using_existing_user_config) {
- if (cat_('/proc/cmdline') =~ /\buser=(\w+)/) {
- $o->{users} = [ { name => $1 } ];
- } else {
- require any;
- any::ask_user_one($o, $o->{users} ||= [], $o->{security},
- additional_msg => N("Enter your user information, password will be used for screensaver"), noaccept => 1, needauser => 1, noicons => 1);
- }
- #- force uid/gid to 501 as it was used when mounting key, addUser may choose 502 when key already holds user data
- put_in_hash($o->{users}[0], { uid => 501, gid => 501 });
- require install_steps;
- install_steps::addUser($o);
- }
-
- $::noauto and goto after_autoconf;
-
- my $wait = $o->wait_message(N("Auto configuration"), N("Please wait, detecting and configuring devices..."));
-
- #- automatic printer, timezone, network configs
- require install_steps_interactive;
- if (cat_('/proc/mounts') !~ /nfs/) {
- install_steps_interactive::configureNetwork($o);
- enable_service('network');
- }
- enable_service('netfs');
- install_steps_interactive::summaryBefore($o);
-
- modules::load_category('multimedia/sound');
- enable_service('sound');
-
- detect_devices::isLaptop() or enable_service('numlock');
-
-after_autoconf:
- require timezone;
- timezone::write($o->{prefix}, $o->{timezone});
-
- $o->{useSupermount} = 1;
- fs::set_removable_mntpoints($o->{all_hds});
- fs::set_all_default_options($o->{all_hds}, %$o, lang::fs_options($o->{locale}));
-
- require install_any;
- install_any::write_fstab($o);
-
- modules::write_conf('');
- require mouse;
- mouse::write_conf($o, $o->{mouse}, 1); #- write xfree mouse conf
- detect_devices::install_addons('');
-
- {
- my $user = $o->{users}[0]{name};
- my $confdir = "/home/$user/.kde/share/config";
- mkdir_p($confdir);
- output("$confdir/kdeglobals", cat_("/usr/share/config/kdeglobals"));
- lang::configure_kdeglobals($o->{locale}, $confdir);
-
- run_program::run('chown', '-R', "$user.$user", "/home/$user/.kde");
- }
-
- foreach my $step (@{$o->{orderedSteps_orig}}) {
- next if member($step, @{$o->{orderedSteps}});
- while (my $f = shift @{$o->{steps}{$step}{toBeDone} || []}) {
- log::l("doing remaining toBeDone for undone step $step");
- eval { &$f() };
- $o->ask_warn(N("Error"), [
-N("An error occurred, but I don't know how to handle it nicely.
-Continue at your own risk."), formatError($@) ]) if $@;
- }
- }
-}
-
-sub install_TrueFS_in_home {
- my ($o) = @_;
-
- require fsedit;
- my $home = fsedit::mntpoint2part('/home', $o->{fstab}) or return;
-
- my %loopbacks = map {
- my $part = {
- type => 0x83,
- device => "/home/.mdkmove-$_",
- loopback_file => "/.mdkmove-$_", loopback_device => $home,
- mntpoint => "/home/$_/.mdkmove-truefs", size => 6 << 11,
- toFormat => ! -e "/home/.mdkmove-$_",
- };
- $_ => $part;
- } list_users();
- $home->{loopback} = [ values %loopbacks ];
- fsedit::recompute_loopbacks($o->{all_hds});
- fs::formatMount_all([], $home->{loopback}, $o->{prefix});
-
- foreach my $user (keys %loopbacks) {
- my $dir = $loopbacks{$user}{mntpoint};
-
- foreach (qw(.kde .openoffice)) {
- if (-d "/home/$user/$_" && ! -d "$dir/$_") {
- run_program::run('mv', "/home/$user/$_", "$dir/$_");
- }
- mkdir $_ foreach "/home/$user/$_", "$dir/$_";
-
- run_program::run('mount', '-o', 'bind', "$dir/$_", "/home/$user/$_");
- }
-
- my $cache = "/tmp/.$user-cache";
- foreach (qw(.kde/share/cache)) {
- mkdir_p("$cache/$_");
- mkdir_p("/home/$user/" . dirname($_));
- symlink "$cache/$_", "/home/$user/$_";
- }
- run_program::run('chown', '-R', "$user.$user", $dir);
- run_program::run('chown', '-R', "$user.$user", $cache);
-
- $ENV{XAUTHORITY} = "$dir/.Xauthority";
- $ENV{ICEAUTHORITY} = "$dir/.ICEauthority";
- }
-}
-
-sub errorInStep {
- my ($o, $err) = @_;
-
- if (!fsedit::mntpoint2part('/home', $o->{fstab})) {
- $o->ask_warn(N("Error"), [ N("An error occurred"), formatError($err) ]);
- return;
- }
-
- $o->ask_okcancel_({ title => N("Error"),
- messages => formatAlaTeX(
-N("An error occurred:
-
-
-%s
-
-This may come from corrupted system configuration files
-on the USB key, in this case removing them and then
-rebooting Mandrake Move would fix the problem. To do
-so, click on the corresponding button.
-
-
-You may also want to reboot and remove the USB key, or
-examine its contents under another OS, or even have
-a look at log files in console #3 and #4 to try to
-guess what's happening.", formatError($err))),
- ok => N("Remove system config files"),
- cancel => N("Simply reboot") }) or goto reboot;
- eval { rm_rf $key_sysconf };
-reboot:
- reboot();
-}
-
-sub install2::initGraphical {
- my $xdim = $::rootwidth;
- $xdim < 800 and $xdim = 800;
- $xdim > 1600 and $xdim = 1600;
- run_program::run('qiv', '--root', "/image/move/BOOT-$xdim-MOVE.jpg");
-
- *install_steps_interactive::errorInStep = \&errorInStep;
-}
-
-sub install2::startMove {
- my $o = $::o;
-
- $::WizardWindow->destroy if $::WizardWindow;
- require ugtk2;
- ugtk2::flush();
-
- #- get info from existing fstab. This won't do anything if we already wrote fstab in configMove
- fs::get_info_from_fstab($o->{all_hds}, '');
- foreach (fsedit::get_really_all_fstab($o->{all_hds})) {
- if (isSwap($_)) {
- eval { swap::swapon($_->{device}) };
- } elsif ($_->{mntpoint} && !$_->{isMounted} && !$::noauto) {
- mkdir_p($_->{mntpoint});
- run_program::run('mount', $_->{mntpoint});
- }
- }
-
- symlinkf("/usr/share/services/ksycoca-$o->{locale}{lang}", '/etc/X11/ksycoca');
-
- install_TrueFS_in_home($o);
-
- my $username = $o->{users}[0]{name};
- output('/var/run/console.lock', $username);
- output("/var/run/console/$username", 1);
- run_program::run('pam_console_apply');
-
- run_program::run('chown', "$username.root", '/var/run/rebootctl');
-
- touch '/var/run/utmp';
- run_program::run('runlevel_set', '5');
- foreach (glob('/etc/rc.d/rc5.d/*')) {
- next if member($_, qw(xfs dm devfsd syslog));
- next if /~$/;
- run_program::run($_, 'start');
- }
-
- #- allow user customisation of startup through /etc/rc.d/rc.local
- run_program::run('/etc/rc.d/rc.local');
-
- if (cat_('/proc/mounts') =~ m|\s/home\s|) {
- output '/var/lib/machine_ident', machine_ident();
- run_program::run('/usr/bin/etc-monitorer.pl', uniq map { dirname($_) } (chomp_(`find /etc -type f`),
- grep { readlink !~ m|^/| } chomp_(`find /etc -type l`)));
- run_program::raw({ detach => 1 }, '/usr/bin/dnotify', '-MCRD', '/etc', '-r', '-e', '/usr/bin/etc-monitorer.pl', '{}') or die "dnotify not found!";
- }
-
- #- password in screensaver doesn't make sense if we keep the shell
- if (cat_('/proc/cmdline') !~ /\bshell\b/) {
- kill 9, cat_('/var/run/drakx_shell.pid');
- output('/dev/tty2', "Killed\n");
- }
-
- if (fork()) {
- sleep 1;
- log::l("DrakX waves bye-bye");
-
- open STDOUT, ">/dev/tty10"; #- don't display startkde shit on first console
- open STDERR, ">/dev/tty10";
-
- my (undef, undef, $uid, $gid, undef, undef, undef, $home, $shell) = getpwnam($username);
- $( = $) = "$gid $gid";
- $< = $> = $uid;
- $ENV{LOGNAME} = $ENV{USER} = $username;
- $ENV{HOME} = $home;
- $ENV{SHELL} = $shell;
- $ENV{XDM_MANAGED} = '/var/run/rebootctl,maysd,mayfn,sched'; #- for reboot/halt availability of "logout" by kde
- $ENV{GDMSESSION} = 1; #- disable ~/.xsession-errors in Xsession (waste of usb key writes)
- $ENV{LD_LIBRARY_PATH} = "$home/lib";
- chdir;
- exec 'startkde_move';
- } else {
- exec 'xwait', '-permanent' or c::_exit(0);
- }
-}
-
-sub automatic_xconf {
- my ($o) = @_;
-
- if (!$using_existing_host_config) {
-
- log::l('automatic XFree configuration');
-
- any::devfssymlinkf($o->{mouse}, 'mouse');
- local $o->{mouse}{device} = 'mouse';
-
- require Xconfig::default;
- $o->{raw_X} = Xconfig::default::configure({ KEYBOARD => 'uk' }, $o->{mouse}); #- using uk instead of us for now to have less warnings
-
- require Xconfig::main;
- require class_discard;
- Xconfig::main::configure_everything_auto_install($o->{raw_X}, class_discard->new, {},
- { allowNVIDIA_rpms => [], allowATI_rpms => [], allowFB => $o->{allowFB} });
-
- my $card = Xconfig::card::from_raw_X($o->{raw_X});
- }
-
- my ($Driver) = cat_('/etc/X11/XF86Config-4') =~ /Section "Device".*Driver\s*"(.*?)"/s;
- if ($Driver eq 'nvidia') {
- modules::load('nvidia');
- lomount_clp('nvidia', '/usr/lib/libGLcore.so.1');
- }
- my $lib = 'libGL.so.1';
- symlinkf_short(-e "/usr/lib/$lib.$Driver" ? "/usr/lib/$lib.$Driver" : "/usr/X11R6/lib/$lib", "/etc/X11/$lib");
-}
-
-
-1;
diff --git a/move/pkgs.pm b/move/pkgs.pm
deleted file mode 100644
index 66f163504..000000000
--- a/move/pkgs.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-#- $Id$ $
-
-package urpm_pkg;
-
-sub flag_available {
- return 1;
-}
-
-
-package pkgs;
-use log;
-
-sub rpmDbOpen {
- #- install_steps:343
-}
-
-sub packageByName {
- #- install_steps:344
- return bless {}, 'urpm_pkg'; #- we'll need to call flag_available on it
-}
-
-sub selectPackage {
- #- install_steps:344
-}
-
-sub packagesToInstall {
- #- install_steps:346
- return ();
-}
-
-
-1;
diff --git a/move/runlevel_set.c b/move/runlevel_set.c
deleted file mode 100644
index 94f7b5933..000000000
--- a/move/runlevel_set.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <utmp.h>
-
-int main(int argc, char **argv)
-{
- struct utmp utmp;
-
- if (argc <= 1) {
- fprintf(stderr, "need an argument\n");
- return 1;
- }
-
- memset(&utmp, 0, sizeof(utmp));
- utmp.ut_type = RUN_LVL;
- utmp.ut_pid = argv[1][0];
-
- setutent();
- pututline(&utmp);
- endutent();
-
- return 0;
-}
diff --git a/move/runstage2 b/move/runstage2
deleted file mode 100755
index 373ebace4..000000000
--- a/move/runstage2
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/perl
-
-#- Copyright (c) 2003 MandrakeSoft
-#-
-#- 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 lib qw(../perl-install /usr/bin/stage2 /usr/lib/libDrakX);
-use install2;
-
-$::isStandalone = 0;
-install2::main(@ARGV, '--move');
-
-c::_exit(0);
diff --git a/move/todo b/move/todo
deleted file mode 100644
index 8a0f34158..000000000
--- a/move/todo
+++ /dev/null
@@ -1,39 +0,0 @@
- startup
-
-
- drakx
-
-what security level?
-
-resize .mdkmove-user loopback if it gets too stuffed
-
-put .mdkmove-user loopback file at the place it will be mouted so
-that user can't see the loop file on the filesystem and so can't
-shoot herself by removing it
-
-
- kde
-
-at startup:
- Can't get own host name. Your system is serveral misconfigured
-although "hostname" binary answers localhost.localdomain (set by
-sethostname from init of stage1)
-
-font of konsole still too large and non proportional (same
-problem as 9.2 it seems)
-
-
- system running
-
-Click on the Menu/Doc/Howtos > Fail
-
-
- usb key
-
-/etc/X11/X
- is a link but vfat doesn't handle links :(
-
-
- shutdown
-
-cd won't eject when there is an NFS mounted partition
diff --git a/move/tools/busy-files b/move/tools/busy-files
deleted file mode 100755
index 7426e785a..000000000
--- a/move/tools/busy-files
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-
-my @pids = grep { $_ ne $$ && /^(\d+)$/ } all('/proc');
-
-my @l = map {
- grep {
- $_ && !m!^(/proc/|/dev/|pipe:|socket:)!;
- } map { readlink($_) } "/proc/$_/exe", glob_("/proc/$_/fd/*");
-} @pids;
-
-push @l, grep { $_ } map { (split)[5] } map { cat_("/proc/$_/maps") } @pids;
-
-if ($ARGV[0] eq '--totem') {
- @l = grep { m!/(image(_boot)?|cdrom)/! } @l;
- $ARGV[0] = '--server';
-}
-foreach (uniq @l) {
- if ($ARGV[0] eq '--server') {
- s!/image(_always|_boot|_totem)?/!/tmp/live_tree/!;
- s!/cdrom/live_tree!/tmp/live_tree!;
- }
- print "$_\n";
-}
diff --git a/move/tools/busy-files-accesses b/move/tools/busy-files-accesses
deleted file mode 100644
index 241b68405..000000000
--- a/move/tools/busy-files-accesses
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-use Getopt::Long;
-
-GetOptions('no-link' => \ (my $no_link),
- 'no-dir' => \ (my $no_dir),
- 'full-dirs=s', \ (my $full_dirs),
- 'already-have=s', \ (my $already_have),
-);
-
-if ($full_dirs) {
- my @l = map { chomp_(MDK::Common::File::cat_or_die($_)) } split(' ', $full_dirs);
- $full_dirs = '/tmp/live_tree(' . join('|', map { quotemeta } @l) . ')/';
-}
-if ($already_have) {
- my @l = map { chomp_(MDK::Common::File::cat_or_die($_)) } split(' ', $already_have);
- $already_have = '(' . join('|', map { quotemeta } @l) . ')';
-}
-
-my ($file_list) = @ARGV;
-foreach my $file (cat_($file_list)) {
- chomp $file;
-
- $file =~ m!/tmp/live_tree! or next;
- $already_have && $file =~ /^$already_have$/ and next;
-
- if (-l $file ? !$no_link : -d $file ? !$no_dir : 1) {
- my $s = $full_dirs && $file =~ /^$full_dirs/ ? "/tmp/live_tree$1" : $file;
- push @l, $s;
- }
-}
-
-print "$_\n" foreach sort(uniq(@l));
diff --git a/move/tools/check-fc-cache.pl b/move/tools/check-fc-cache.pl
deleted file mode 100644
index 42902835f..000000000
--- a/move/tools/check-fc-cache.pl
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/perl
-
-# check if files are more recent (fc-cache will slow down starting of drakx)
-
-use MDK::Common;
-
-sub stat_ {
- my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat $_[0];
- max($mtime, $ctime);
-}
-
-my $prefix = $ARGV[0] || '/tmp/live_tree';
-
-my @conf = cat_("$prefix/etc/fonts/fonts.conf");
-
-foreach my $line (@conf) {
- while ($line =~ m|<dir>([^<]+)</dir|g) {
- my $dir = $1;
- $dir =~ m|^/| or next;
- print "dir $prefix$dir\n";
- foreach my $d (chomp_(`find $prefix$dir -type d 2>/dev/null`)) {
- my $ref = stat_("$d/fonts.cache-1");
- stat_($_) > $ref and print "\t$_\n" foreach glob("$d/*");
- }
- }
-}
-
diff --git a/move/tools/fix-fc-cache.pl b/move/tools/fix-fc-cache.pl
deleted file mode 100755
index e0eb19fa0..000000000
--- a/move/tools/fix-fc-cache.pl
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/perl
-
-# touch fontconfig cache files so that fc-cache will not slow down starting of drakx
-
-use MDK::Common;
-
-my $prefix = $ARGV[0] || '/tmp/live_tree';
-
-my @conf = cat_("$prefix/etc/fonts/fonts.conf");
-
-print "touching fontconfig cache files...\n";
-foreach my $line (@conf) {
- while ($line =~ m|<dir>([^<]+)</dir|g) {
- my $dir = $1;
- $dir =~ m|^/| or next;
- foreach my $d (chomp_(`find $prefix$dir -type d 2>/dev/null`)) {
- touch "$d/fonts.cache-1";
- }
- }
-}
-
diff --git a/move/tools/kernel-nfsd.patch b/move/tools/kernel-nfsd.patch
deleted file mode 100644
index 8f56eb697..000000000
--- a/move/tools/kernel-nfsd.patch
+++ /dev/null
@@ -1,61 +0,0 @@
---- linux-2.4.22/fs/nfsd/vfs.c.pix 2003-10-17 16:27:36.000000000 +0200
-+++ linux-2.4.22/fs/nfsd/vfs.c 2003-10-24 17:36:58.000000000 +0200
-@@ -418,6 +418,41 @@
-
-
-
-+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;
-+}
-+
-+static 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;
-+}
-+
-+static char *inet_ntoa(struct in_addr in) {
-+ static char buf[20];
-+ return inet_ntoa_r(in,buf);
-+}
-+
-+static void printk_debug_file_access(struct svc_rqst *rqstp, struct dentry *dentry) {
-+ printk("nfsd (%s): ", inet_ntoa(rqstp->rq_addr.sin_addr));
-+ while (1) {
-+ if (dentry == dentry->d_parent) break;
-+ printk("%s/", dentry->d_name.name);
-+ dentry = dentry->d_parent;
-+ }
-+ printk("\n");
-+}
-+
-+
- /*
- * Open an existing file or directory.
- * The access argument indicates the type of open (read/write/lock)
-@@ -489,6 +524,8 @@
- atomic_dec(&filp->f_count);
- }
- }
-+ if (err == 0) printk_debug_file_access(rqstp, dentry);
-+
- out_nfserr:
- if (err)
- err = nfserrno(err);
-@@ -1101,6 +1138,7 @@
- goto out_nfserr;
- *lenp = err;
- err = 0;
-+ printk_debug_file_access(rqstp, dentry);
- out:
- return err;
-
diff --git a/move/tools/nfs-accesses b/move/tools/nfs-accesses
deleted file mode 100755
index fed4aa181..000000000
--- a/move/tools/nfs-accesses
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-use Getopt::Long;
-
-my $first_file;
-my $log_file = '/var/log/kernel/warnings';
-
-GetOptions('no-link' => \ (my $no_link),
- 'no-dir' => \ (my $no_dir),
- 'full-dirs=s', \ (my $full_dirs),
- 'ip=s' => \ (my $wanted_ip),
- 'log-file=s' => \$log_file,
- 'first-file=s' => \ (my $first_file),
- 'from-time=s', => \ (my $from_time),
- );
-
-my @skipped_dirs = (
- '/usr/share/fonts',
- '/lib/modules/2.4.22-21mdk',
- '/usr/X11R6/lib/modules/extensions',
- '/usr/X11R6/lib/X11/fonts',
- '/usr/lib/kbd/keymaps',
- '/usr/share/locale',
- '/etc/skel',
- );
-
-my $skipped_dirs = '/tmp/live_tree(' . join('|', map { quotemeta } @skipped_dirs) . ')/';
-if ($full_dirs) {
- my @l = chomp_(map { MDK::Common::File::cat_or_die($_) } split(' ', $full_dirs));
- $full_dirs = '/tmp/live_tree(' . join('|', map { quotemeta } @l) . ')/';
-}
-
-open(my $F, "tac $log_file |");
-
-my @l;
-while (<$F>) {
- my ($time, $ip, $rfile) = /(\d+:\d+:\d+).*kernel: nfsd \((.*?)\): (.*)/ or next;
-
- if ($wanted_ip) {
- $wanted_ip eq $ip or next;
- } else {
- warn "choosing $ip\n";
- $wanted_ip = $ip;
- }
- my $file = join('/', '', reverse split('/', $rfile));
-
- last if $file =~ m!/tmp/live_tree/move/(devices|symlinks)!;
- last if $from_time && $time le $from_time;
-
- if ($file !~ /^$skipped_dirs/) {
- if (-l $file ? !$no_link : -d $file ? !$no_dir : 1) {
- my $s = $full_dirs && $file =~ /^$full_dirs/ ? "/tmp/live_tree$1" : $file;
- unshift @l, $s;
- }
- }
- last if $first_file && ($file eq "/tmp/live_tree$first_file" || $rfile eq $first_file);
-}
-
-print "$_\n" foreach sort(uniq(@l));
diff --git a/move/tools/scan-etc.pl b/move/tools/scan-etc.pl
deleted file mode 100755
index 66415d4de..000000000
--- a/move/tools/scan-etc.pl
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/perl
-
-# To be used replacing move::init handling of etc files with:
-#
-# system("cp -a /image/etc /");
-# symlinkf "/proc/mounts", "/etc/mtab";
-# system("find /etc -type f > /tmp/filelist");
-# touch '/dummy';
-# m|^/var| && !-d $_ and mkdir_p $_ foreach chomp_(cat_('/image/move/directories-to-create'));
-# sleep 2;
-# goto meuh;
-
-use MDK::Common;
-
-sub stat_ {
- my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat $_[0];
- [ $atime, max($mtime, $ctime) ];
-}
-
-our $reference = (stat_('/dummy'))->[0];
-
-our @old_filelist = chomp_(cat_("/tmp/filelist"));
-foreach (chomp_(`find /etc -type f`)) {
- if (!member($_, @old_filelist)) {
- push @new, $_;
- } else {
- $times = stat_($_);
- $times->[0] > $reference and push @read, $_;
- $times->[1] > $reference and push @wrote, $_;
- }
-}
-
-print "read:\n";
-print "\t$_\n" foreach sort @read;
-
-print "wrote:\n";
-print "\t$_\n" foreach sort @wrote;
-
-print "new:\n";
-print "\t$_\n" foreach sort @new;
-
diff --git a/move/tree/X_move b/move/tree/X_move
deleted file mode 100755
index dde4bcc32..000000000
--- a/move/tree/X_move
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-ok=0
-lastdate1=0
-lastdate0=0
-while [ "$ok" == 0 -a ! -s /var/run/rebootctl ]; do
- lastdate2=$lastdate1
- lastdate1=$lastdate0
- lastdate0=`date +%s`
- if [ `expr $lastdate0 - $lastdate2` -lt 40 ]; then
- echo "X server respawning too fast :(, dropping to a shell"
- bash
- fi
- X $@
- ok=$?
-done
diff --git a/move/tree/alsa_default.pl b/move/tree/alsa_default.pl
deleted file mode 100755
index 0ad89c264..000000000
--- a/move/tree/alsa_default.pl
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/perl
-
-# state machine:
-if (/\s*control\./) {
- ($min, $max) = (0, 0);
-} elsif (/\s*name '/) {
- # skip masks
- $ignore = /\s*name '.*(3D Control|mask|Exchange DAC|Output Jack)/;
-} elsif (!$ignore) {
- if (/s*comment.range '(\d+) - (\d+)'/) {
- ($min, $max) = ($1, $2);
- } elsif (/s*value/) {
- # enable switches (we should really blacklist sb live and the like):
- s/(value\w*\S*)\s* false/\1 true/;
- # set volume to 67%:
- my $val = int($max*0.6);
- s/(value\w*\S*)\s* 0/\1 $val/
- }
-}
diff --git a/move/tree/halt b/move/tree/halt
deleted file mode 100755
index c8431ac03..000000000
--- a/move/tree/halt
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-echo "halt" > /var/run/rebootctl
-sudo killall -USR1 startkde_move
-sudo killall X
diff --git a/move/tree/kdedrc b/move/tree/kdedrc
deleted file mode 100644
index a58482a55..000000000
--- a/move/tree/kdedrc
+++ /dev/null
@@ -1,7 +0,0 @@
-[General]
-CheckSycoca=false
-CheckUpdates=false
-CheckHostname=false
-
-[Move]
-Rebuild=false
diff --git a/move/tree/konsolerc b/move/tree/konsolerc
deleted file mode 100644
index fb7658ad3..000000000
--- a/move/tree/konsolerc
+++ /dev/null
@@ -1,19 +0,0 @@
-[Desktop Entry]
-ActiveSession=0
-DefaultSession=shell.desktop
-Height 600=410
-Width 800=582
-bellmode=1
-defaultfont=Fixed,13,-1,5,48,0,0,0,1,0
-history=0
-historyenabled=true
-keytab=default
-
-[konsole-mainwindow#1 Toolbar style]
-Hidden=false
-IconSize=22
-IconText=IconOnly
-Index=0
-NewLine=false
-Offset=-1
-Position=Bottom
diff --git a/move/tree/mdk_behind_totem b/move/tree/mdk_behind_totem
deleted file mode 100755
index 62618ea93..000000000
--- a/move/tree/mdk_behind_totem
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/bash
-
-ok=1
-
-while [ -n "$1" ]; do
- case "$1" in
- --boot-loop)
- boot_loop="$2"
- shift
- shift
- ;;
- --main-loop)
- main_loop="$2"
- shift
- shift
- ;;
- --totem-pid)
- totem_pid="$2"
- shift
- shift
- ;;
- *)
- ok=''
- shift
- esac
-done
-
-if [ -z "$totem_pid" -o -z "$ok" ]; then
- printf "Usage: mdk_behind_totem [--boot-loop <loop>] [--main-loop <loop>] --totem-pid <pid>\n"
- exit 1
-fi
-
-exec &> /tmp/mdk_behind_totem.log
-
-trap 'umount_cd' USR1
-
-umount_cd() {
- echo umount_cd
-
- umount /image_boot
- losetup -d /dev/$boot_loop
-
- ln -sf /image_always/lib /
-
- if [ -L /image ]; then
- rm -f /image
- else
- umount /image && \
- /image_always/sbin/losetup -d /dev/$main_loop || { mount_cd; kill $totem_pid; exec mdk_totem; }
- fi
-
- /image_always/usr/bin/eject
-}
-
-mount_cd() {
- echo mount_cd
- if [ -e /cdrom/live_tree.clp ]; then
- /image_always/sbin/losetup -r -e gz /dev/$main_loop /cdrom/live_tree.clp
- /image_always/bin/mount -r /dev/$main_loop /image
- else
- ln -sf /cdrom/live_tree /image
- fi
-
- losetup -r -e gz /dev/$boot_loop /cdrom/live_tree_boot.clp
- mount -r /dev/$boot_loop /image_boot
-
- ln -sf /image/lib /
-
- mdk_move_loop to_cdrom always always_i18n totem nvidia
-
- # tell kicker that it should refetch menu's icons
- dcop kicker ksycoca notifyDatabaseChanged '(' ')'
-}
-
-while [ -e "/proc/$totem_pid" ]; do
- echo "waiting..."
- /image_totem/bin/sleep 1
-done
-
-mount_cd
diff --git a/move/tree/mdk_move_boot_loop.desktop b/move/tree/mdk_move_boot_loop.desktop
deleted file mode 100644
index 5d82a7875..000000000
--- a/move/tree/mdk_move_boot_loop.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Move Move Loop
-Exec=mdk_move_loop to_cdrom always always_i18n boot totem
-Type=Application
-Terminal=0
-X-KDE-autostart-after=panel
-X-KDE-autostart-after=mdkhtmlbrowser
-X-KDE-StartupNotify=false
diff --git a/move/tree/mdk_move_loop b/move/tree/mdk_move_loop
deleted file mode 100755
index 76aca6dbe..000000000
--- a/move/tree/mdk_move_loop
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/perl
-
-sub name2file {
- my ($name) = @_;
- "live_tree_$name.clp";
-}
-
-sub get_file2loop {
- my %file2loop;
- foreach (0 .. 9) {
- my ($file) = `sudo losetup /dev/chloop$_ 2>/dev/null` =~ m!\([^)]*/([^)]*)\)! or last;
- $file2loop{$file} = "chloop$_";
- }
- %file2loop;
-}
-
-sub to_memory {
- my ($loop, $file) = @_;
-
- return if -e "/tmp/$file";
-
- if (-e "/$file") {
- system("sudo mv /$file /tmp");
- } else {
- system("sudo cp /cdrom/$file /tmp");
- }
- system("sudo losetup /dev/$loop /tmp/$file");
-}
-
-sub to_cdrom {
- my ($loop, $file) = @_;
- my $f = -e "/$file" ? "/$file" : -e "/tmp/$file" ? "/tmp/$file" : return;
- system("sudo losetup /dev/$loop /cdrom/$file");
- system("sudo rm $f");
-}
-
-sub usage() { die "usage: mdk_move_loop <to_cdrom | to_memory> [names ...]\n" }
-
-my ($direction, @names) = @ARGV;
-my $f = $direction eq 'to_memory' && \&to_memory || $direction eq 'to_cdrom' && \&to_cdrom;
-$f && @names or usage();
-
-my %file2loop = get_file2loop(@names);
-
-foreach my $name (@names) {
- if ($name eq 'always_i18n') {
- /(always_i18n.*)\.clp/ and $name = $1 foreach keys %file2loop;
- }
- my $file = name2file($name);
- my $loop = $file2loop{$file} or next;
- $f->($loop, $file);
-}
-
-if ($ENV{GIVE_LOOP}) {
- print "$_=$file2loop{$_}\n" foreach keys %file2loop;
-}
diff --git a/move/tree/mdk_totem b/move/tree/mdk_totem
deleted file mode 100755
index ca172baa2..000000000
--- a/move/tree/mdk_totem
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/perl
-
-use lib qw(../../perl-install /usr/lib/libDrakX);
-use common;
-use interactive;
-
-sub busy_pids_and_files() {
- my @pids = grep { $_ ne $$ && /^(\d+)$/ } all('/proc');
-
- map {
-
- my @l1 = grep {
- $_ && !m!^(/proc/|/dev/|pipe:|socket:)!;
- } map { readlink($_) } "/proc/$_/exe", glob_("/proc/$_/fd/*");
-
- my @l2 = grep { $_ } map { (split)[5] } cat_("/proc/$_/maps");
-
- if (my @l = grep { m!^/(image(_boot)?|cdrom/live_tree)/! } @l1, @l2) {
- my $cmdline = join(' ', split('\0', cat_("/proc/$_/cmdline")));
- my $exe = readlink("/proc/$_/exe");
- { pid => $_, cmdline => $cmdline, exe => $exe, files => [ sort(uniq(@l)) ] };
- } else {
- ();
- }
- } @pids;
-}
-
-sub remove_simple_daemons {
- my (@busy) = @_;
- foreach (@busy) {
- $_->{to_restart} = 'kdeinit kicker' if $_->{cmdline} =~ m!\b(kicker)\b!;
- $_->{to_kill} = $_->{cmdline} =~ m!\b(kdesud|kded|kio_uiserver|klaptopdaemon|artsd|portmap)\b!;
- }
- my @auto_killed = grep { $_->{to_restart} || $_->{to_kill} } @busy;
-
- if (@auto_killed) {
- kill 15, map { $_->{pid} } @auto_killed;
- sleep 1;
-
- $_ and system($_) foreach map { $_->{to_restart} } @auto_killed;
-
- @busy = busy_pids_and_files(); #- update list
- }
- @busy;
-}
-
-my $in = interactive->vnew;
-
-my @busy = busy_pids_and_files();
-
-my $needed_processes = join('|', map { quotemeta }
- 'init',
- 'xfs',
- 'kdeinit: Running...',
- '/etc/X11/X',
- '/sbin/devfsd',
- );
-
-if (!$ENV{DEBUG} && find { $_->{cmdline} =~ /^($needed_processes)/ } @busy) {
- exec 'totem' if $in->ask_okcancel('', N("You can only run with no CDROM support"));
- $in->exit(1);
-}
-
-@busy = remove_simple_daemons(@busy);
-if (@busy) {
- warn '*' x 80, "\n";
- warn join("\n", "$_->{exe} ($_->{cmdline}) =>", map { " $_" } @{$_->{files}}) . "\n" foreach @busy;
- warn '*' x 80, "\n";
-
- my @progs = map {
- my $s = $_->{cmdline};
- $s =~ s!^/usr/bin/perl\s+([^-]\S*).*!$1!;
- $s =~ s!/.*/!!;
- $s =~ s!^kdeinit:\s+(\S+).*!$1!;
- $s =~ s!\s.*!!;
- $s;
- } @busy;
-
- my $choice = 'quit';
- my @l = my %l = (
- kill => N("Kill those programs"),
- keep => N("No CDROM support"),
- );
-
- $in->ask_from_({
- title => N("Error"),
- messages => N("You can't use another CDROM when the following programs are running:
-%s", join(", ", uniq(sort @progs))) },
- [ { type => 'list', val => \$choice, list => first(list2kv(@l)), format => sub { $l{$_[0]} } } ]) or $in->exit;
-
- if ($choice eq 'keep') {
- exec 'totem' or $in->exit;
- } else {
- system('sudo', 'kill', map { $_->{pid} } @busy);
- sleep 2;
- system('sudo', 'kill', '-9', map { $_->{pid} } @busy);
- }
-}
-
-my %file2loop = do {
- my $_w = $in->wait_message('', N("Copying to memory to allow removing the CDROM"));
- `GIVE_LOOP=1 mdk_move_loop to_memory always always_i18n totem nvidia` =~ /(.*?)=(.*)/g;
-};
-
-ugtk2::gtkset_mousecursor_normal(); #- for restoring a normal in any case
-ugtk2::flush();
-
-my $totem_pid = $$;
-
-if (my $pid = fork()) {
- $ENV{MDKMOVE} = $pid;
- $ENV{G_BROKEN_FILENAMES} = 1;
- exec 'totem';
-} else {
- exec 'sudo', 'mdk_behind_totem',
- '--boot-loop', $file2loop{'live_tree_boot.clp'},
- '--main-loop', $file2loop{'live_tree.clp'},
- '--totem-pid', $totem_pid;
-}
diff --git a/move/tree/mdk_totem.desktop b/move/tree/mdk_totem.desktop
deleted file mode 100644
index 85511c1db..000000000
--- a/move/tree/mdk_totem.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Name=Multimedia Player for CDs/DVDs
-Comment=Play movies and songs
-Exec=mdk_totem
-Icon=totem.png
-Type=Application
-Terminal=false
-
-Name[fr]=Lecteur Multimdia pour CDs/DVDs
-Name[it]=Lettore Multimediale di CD/DVDs
-Name[de]=Multimedia-Player fr CDs/DVDs
-Name[es]=Reproductor multimedios para CD/DVD
diff --git a/move/tree/netscape b/move/tree/netscape
deleted file mode 100755
index 922d33bc5..000000000
--- a/move/tree/netscape
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-$BROWSER "$@"
diff --git a/move/tree/reboot b/move/tree/reboot
deleted file mode 100755
index b4b1d4ede..000000000
--- a/move/tree/reboot
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-echo "reboot" > /var/run/rebootctl
-sudo killall -USR1 startkde_move
-sudo killall X
diff --git a/move/tree/sound.initscript b/move/tree/sound.initscript
deleted file mode 100755
index 756f22398..000000000
--- a/move/tree/sound.initscript
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/sh
-# (c) MandrakeSoft, Chmouel Boudjnah <chmouel@mandrakesoft.com>
-# $Id$
-#
-# sound: This shell script launch the sound on your system.
-#
-# chkconfig: 2345 18 69
-# description: This shell script launch the sound on your system.
-
-. /etc/rc.d/init.d/functions
-
-PKLVL=$(cut -f1 /proc/sys/kernel/printk)
-sysctl -n -w kernel.printk=0
-
-function start_mixer () {
- # ALSA
- if [ -d /proc/asound ] && [ -x /usr/sbin/alsactl ]; then
- # is ALSA already configured ?
- if [[ ! -r /etc/asound.state ]]; then
- # provide decent default sound level for alsa drivers
- if [ -d /proc/asound ] && [ -x /usr/sbin/alsactl ];then
- MIXER_SETTINGS=/root/tmp/asound.state_tmp
- alsactl -f $MIXER_SETTINGS store
- # set sensible defaults:
- perl -pi /usr/bin/alsa_default.pl $MIXER_SETTINGS
- action "Setting mixer settings" alsactl -f $MIXER_SETTINGS restore
- rm -f $MIXER_SETTINGS
- return 0
- fi
- # if we've not alsa-utils, we'll fallback on OSS initialization below
- else
- # Not first boot:
- # Done by alsa service but only if sound service is not
- # enabled (hance this code path).
- # We'll merge in back aksa service once mdk9.2 is released.
- # [but we'll still handle both aumix & alsactl in order
- # to manage packages removing / driver switch]
- action "Loading mixer settings" /usr/sbin/alsactl restore
- return 0
- fi
- fi
- # OSS
- if egrep -q '(sparcaudio|sound)' /proc/devices 2>/dev/null && \
- [ "$retval" -eq 0 ] && [ -x /usr/bin/aumix ];then
- if [ ! -r /etc/.aumixrc ];then
- action "Setting mixer settings" /usr/bin/aumix -v80 -w80 -c80
- else
- action "Loading mixer settings" /usr/bin/aumix -f /etc/.aumixrc -L
- fi
- fi
-}
-
-function stop_mixer () {
- if [ -d /proc/asound ] && [ -x /usr/sbin/alsactl ];then
- # done by alsa service (to merge back after mdk9.2 release)
- #action "Saving mixer settings" /usr/sbin/alsactl store
- return 0;
- fi
- if egrep -q '(sparcaudio|sound)' /proc/devices 2>/dev/null && [ -x /usr/bin/aumix ];then
- action "Saving mixer settings" /usr/bin/aumix -f /etc/.aumixrc -S
- fi
-}
-
-function module () {
- opt=""
- phrase=$1
- alias=$2
- [ -n "$3" ] && opt="-r"
- module=`/sbin/modprobe -c | egrep -s "^alias( |\t)+"$alias"( |\t)+" | awk '{ print $3 }'`
- if [ -n "$module" ] && [ "$module" != "off" ];then
- action "$phrase ($module)" modprobe "$opt" $module
- return $?
- fi
-}
-
-case $1 in
- start)
- retval=0
- if [ ! -d /proc/asound ];then
- module "Loading sound module" sound || retval=1
- /sbin/modprobe -c | awk '/^((alias)|(probe)) +sound-slot-[0-9]/ {print $2}' | ( \
- while read line; do
- [[ $line = snd-card-* ]] && continue #we do it via alsa script
- module "Loading sound module" $line || retval=1
- done
- )
- module "Loading midi module" midi
- fi
- start_mixer;
- touch /var/lock/subsys/sound
- ;;
- stop)
- # i should have the same semantic of alsa script than oss script,
- # but i do not :-(, patches welcome.
- stop_mixer;
- rm -f /var/lock/subsys/sound
- ;;
- status)
- if egrep -q '(sparcaudio|sound)' /proc/devices;then
- gprintf "Sound loaded"
- echo
- fi
- ;;
- reload)
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "Usage: %s\n" "$(basename $0) {start|stop|restart|status}"
- exit 0
-esac
-
-sysctl -n -w kernel.printk=$PKLVL
-exit 0
diff --git a/move/tree/startkde_move b/move/tree/startkde_move
deleted file mode 100755
index a455ee580..000000000
--- a/move/tree/startkde_move
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-#- exit cleanly on SIGUSR1, so that our init can see a clean shutdown and automatically reboot
-reboot () {
- exit 0
-}
-trap 'reboot' SIGUSR1
-
-while true; do
- wait4x || exit 1
- xwait -permanent &
- xdim=`xdpyinfo | perl -ne 'print $1 if /dimensions:\s*(\d+)/'`
- qiv --root /image/move/BOOT-$xdim-MOVE.jpg
- /etc/X11/xdm/Xsession KDE #- call it with KDE parameter to keep background image
- sudo killall X
- sleep 2
-done
diff --git a/move/tree/sudoers b/move/tree/sudoers
deleted file mode 100644
index 49615de98..000000000
--- a/move/tree/sudoers
+++ /dev/null
@@ -1 +0,0 @@
-ALL ALL = NOPASSWD: ALL
diff --git a/move/tree/wait4x b/move/tree/wait4x
deleted file mode 100755
index 40655e94c..000000000
--- a/move/tree/wait4x
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-use lib qw(/usr/lib/libDrakX);
-use c;
-
-my $nb = 0;
-$| = 1;
-print "waiting for X";
-foreach (1..30) {
- print ".";
- sleep 1;
- print("no X server :(\n"), exit 1 if !fuzzy_pidofs(qr/\bX_move\b/);
- $nb++ if c::Xtest(':0');
- if ($nb > 2) { #- one succeeded test is not enough :-(
- print "found\n";
- exit 0;
- }
-}
-print "not found\n";
-exit 1;
diff --git a/move/xwait.c b/move/xwait.c
deleted file mode 100644
index 07a693514..000000000
--- a/move/xwait.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdlib.h>
-#include <X11/Xlib.h>
-
-int main(int argc, char **argv) {
- int permanent = argc > 1 && !strcmp(argv[1], "-permanent");
- Display *display = XOpenDisplay(NULL);
-
- if (display) {
- XEvent event;
-
- XSelectInput(display, DefaultRootWindow(display), SubstructureNotifyMask);
- do {
- XNextEvent(display, &event);
- } while (event.type != CreateNotify || permanent);
- XCloseDisplay(display);
- }
-
- exit(display == NULL);
-}
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/network/adsl.pm b/perl-install/network/adsl.pm
index 02d249b8f..99a5a6b5b 100644
--- a/perl-install/network/adsl.pm
+++ b/perl-install/network/adsl.pm
@@ -1,108 +1,96 @@
-package network::adsl; # $Id$
+package network::adsl;
use common;
use run_program;
use network::tools;
use network::ethernet;
use modules;
+use Data::Dumper;
use vars qw(@ISA @EXPORT);
use MDK::Common::Globals "network", qw($in $prefix);
@ISA = qw(Exporter);
@EXPORT = qw(adsl_ask_info adsl_detect adsl_conf adsl_conf_backend);
-
-sub get_wizard {
- my ($wiz, $_type) = @_;
- my $netc = $wiz->{var}{netc};
-
- my %l = (
- 'pppoe' => N("use pppoe"),
- 'pptp' => N("use pptp"),
- 'dhcp' => N("use dhcp"),
- 'speedtouch' => N("Alcatel speedtouch usb") . if_($netc->{autodetect}{adsl}{speedtouch}, N(" - detected")),
- 'sagem' => N("Sagem (using pppoa) usb") . if_($netc->{autodetect}{adsl}{sagem}, N(" - detected")),
- 'sagem_dhcp' => N("Sagem (using dhcp) usb") . if_($netc->{autodetect}{adsl}{sagem}, N(" - detected")),
- # 'eci' => N("ECI Hi-Focus"), # this one needs eci agreement
- );
-
- $wiz->{var}{adsl} = {
- connection_list => \%l,
- type => "",
- };
- add2hash($wiz->{pages},
- {
- adsl => {
- name => N("Connect to the Internet") . "\n\n" .
- N("The most common way to connect with adsl is pppoe.
-Some connections use pptp, a few use dhcp.
-If you don't know, choose 'use pppoe'"),
- data => [
- {
- label => N("ADSL connection type :"), val_ref => \$wiz->{var}{adsl}{type}, list => [ sort values %l ] },
- ],
- pre => sub {
- $wiz->{var}{adsl}{type} = $l{sagem}; # debug
- $wiz->{var}{adsl}{type} ||= find { $netc->{autodetect}{adsl}{$_} } keys %l;
- print "\n\ntype is $wiz->{var}{adsl}{type}\n\n";
- },
- post => sub {
- $wiz->{var}{adsl}{type} = find { $l{$_} eq $wiz->{var}{adsl}{type} } keys %l;
- my $adsl = $wiz->{var}{adsl}{connection};
- my $type = $wiz->{var}{adsl}{type};
- my $netcnx = $wiz->{var}{netcnx};
- $netcnx->{type} = "adsl_$type";
-
- my %packages = (
- 'dhcp' => [ 'dhcpcd' ],
- 'eci' => [ 'eciadsl' ],
- 'pppoe' => [ 'rp-pppoe' ],
- 'pptp' => [ 'pptp-adsl' ],
- 'sagem' => [ 'adiusbadsl' ],
- 'sagem_dhcp' => [ qw(adiusbadsl dhcpcd) ],
- 'speedtouch' => [ 'speedtouch' ],
- );
- $in->do_pkgs->install(@{$packages{$type}});
- $netcnx->{"adsl_$type"} = {};
- $netcnx->{"adsl_$type"}{vpivci} = '' if $type =~ /eci|speedtouch/;
- return 'ethernet' if $type eq 'dhcp';
- adsl_probe_info($adsl, $netc, $type);
- # my ($adsl, $netc, $intf, $adsl_type) = @_;
- # ask_info2($adsl, $netc);
- return "hw_account";
- },
- },
- adsl_conf2 => {
- #$adsl_type =~ /sagem|speedtouch|eci/ or conf_network_card($netc, $intf, 'static', '10.0.0.10') or goto adsl_conf_step_1;
- #adsl_conf_backend($adsl, $netc, $adsl_type) or goto adsl_conf_step_1;
- #1;
- },
- ethernet => {
- #go_ethernet($netc, $intf, 'dhcp', '', '', $first_time);
- },
- end => {
- post => sub {
- $wiz->{var}{adsl}{type} =~ /speedtouch|eci/ or $netconnect::need_restart_network = 1;
- },
- },
- });
-};
-
-sub adsl_probe_info {
- my ($adsl, $netc, $adsl_type) = @_;
- my $pppoe_file = "$prefix/etc/ppp/pppoe.conf";
- my $pptp_file = "$prefix/etc/sysconfig/network-scripts/net_cnx_up";
- my %pppoe_conf; %pppoe_conf = getVarsFromSh($pppoe_file) if (! defined $adsl_type || $adsl_type =~ /pppoe/) && -f $pppoe_file;
- my $login = $pppoe_conf{USER};
- foreach (qw(/etc/ppp/peers/adsl /etc/ppp/options /etc/ppp/options.adsl)) {
- ($login) = map { if_(/^user\s+"([^"]+)"/, $1) } cat_("$prefix/$_") if !$login && -r "$prefix/$_";
+sub configure {
+ my ($netcnx, $netc, $intf, $first_time) = @_;
+ $::isInstall and $in->set_help('configureNetworkADSL');
+ conf_adsl_step1:
+ # my $type = $in->ask_from_list_(N("Connect to the Internet"),
+ # N("The most common way to connect with adsl is pppoe.
+ # Some connections use pptp, a few ones use dhcp.
+ # If you don't know, choose 'use pppoe'"), [N_("use pppoe"), N_("use pptp"), N_("use dhcp"), N_("Alcatel speedtouch usb"), N_("ECI Hi-Focus")]) or return;
+ my $l = [ N_("use pppoe"),
+ N_("use pptp"),
+ N_("use dhcp"),
+ N_("Alcatel speedtouch usb") . if_($netc->{autodetect}{adsl}{speedtouch}, " - detected"),
+ N_("Sagem (using pppoe) usb") . if_($netc->{autodetect}{adsl}{sagem}, " - detected"),
+ ];
+ my $type = $in->ask_from_list_(N("Connect to the Internet"),
+ N("The most common way to connect with adsl is pppoe.
+Some connections use pptp, a few ones use dhcp.
+If you don't know, choose 'use pppoe'"), $l) or return;
+ $type =~ s/use //;
+ if ($type eq 'pppoe') {
+ $in->do_pkgs->install("rp-$type");
+ $netcnx->{type} = "adsl_$type";
+# $netcnx->{"adsl_$type"} = {};
+ adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
+ #-network::configureNetwork($prefix, $netc, $in, $intf, $first_time);
+# if ($::isStandalone and $netc->{NET_DEVICE}) {
+# $in->ask_yesorno(N("Network interface"),
+# N("I'm about to restart the network device %s. Do you agree?", $netc->{NET_DEVICE}), 1)
+# and system("$prefix/sbin/ifdown $netc->{NET_DEVICE}; $prefix/sbin/ifup $netc->{NET_DEVICE}");
+# }
+ }
+ #- use pppoe for Sagem modem, but NET_DEVICE is now ADIModem instead of ethx.
+ if ($type =~ /Sagem/) {
+ $in->do_pkgs->install(qw(rp-pppoe adiusbadsl));
+ $netcnx->{type} = "adsl_pppoe";
+ $netcnx->{adsl_pppoe} = {};
+ modules::add_alias('ADIModem', 'adiusbadsl');
+ $netc->{$_} = 'ADIModem' foreach qw(NET_DEVICE NET_INTERFACE);
+ adsl_conf($netcnx->{adsl_pppoe}, $netc, $intf, $type) or goto conf_adsl_step1;
+ }
+ if ($type eq 'dhcp') {
+ $in->do_pkgs->install(qw(dhcpcd));
+ go_ethernet($netc, $intf, 'dhcp', '', '', $first_time) or goto conf_adsl_step1;
+ }
+ if ($type eq 'pptp') {
+ $in->do_pkgs->install(qw(pptp-adsl));
+ $netcnx->{type} = "adsl_$type";
+ $netcnx->{"adsl_$type"} = {};
+ adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
}
- ($login) = map { if_(/\sname\s+([^ \n]+)/, $1) } cat_($pptp_file) if (! defined $adsl_type || $adsl_type =~ /pptp/) && -r $pptp_file;
- my $passwd = passwd_by_login($login);
- $pppoe_conf{DNS1} ||= '';
- $pppoe_conf{DNS2} ||= '';
- add2hash($netc, { dnsServer2 => $pppoe_conf{DNS1}, dnsServer3 => $pppoe_conf{DNS2}, DOMAINNAME2 => '' });
- add2hash($adsl, { login => $login, passwd => $passwd, passwd2 => '' });
+ if ($type =~ /speedtouch/) {
+ $type = 'speedtouch';
+ $in->do_pkgs->install(qw(speedtouch));
+ $netcnx->{type} = "adsl_$type";
+ $netcnx->{"adsl_$type"} = {};
+ $netcnx->{"adsl_$type"}{vpivci} = '';
+ adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
+ }
+ if ($type =~ /ECI/) {
+ $type = 'eci';
+ $in->do_pkgs->install(qw(eciadsl));
+ $netcnx->{type} = "adsl_$type";
+ $netcnx->{"adsl_$type"} = {};
+ $netcnx->{"adsl_$type"}{vpivci} = '';
+ adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
+ }
+ $type =~ /speedtouch|eci/ or $netconnect::need_restart_network = 1;
+ 1;
+}
+
+sub adsl_ask_info {
+ my ($adsl, $netc, $_intf, $adsl_type) = @_;
+ my $pppoe_file = "/etc/ppp/pppoe.conf";
+ my $pppoe_conf = { getVarsFromSh($pppoe_file) } if $adsl_type =~ /pppoe/ && -f $pppoe_file;
+ $pppoe_conf->{DNS1} ||= '';
+ $pppoe_conf->{DNS2} ||= '';
+ add2hash($netc, { dnsServer2 => $pppoe_conf->{DNS1}, dnsServer3 => $pppoe_conf->{DNS2}, DOMAINNAME2 => '' });
+ add2hash($adsl, { login => $pppoe_conf->{USER}, passwd => passwd_by_login($pppoe_conf->{USER}), passwd2 => '' });
+ ask_info2($adsl, $netc);
}
sub adsl_detect {
@@ -113,9 +101,20 @@ sub adsl_detect {
return $adsl if $adsl->{speedtouch} || $adsl->{sagem};
}
+sub adsl_conf {
+ my ($adsl, $netc, $intf, $adsl_type) = @_;
+
+ adsl_conf_step_1:
+ adsl_ask_info($adsl, $netc, $intf, $adsl_type) or return;
+ adsl_conf_step_2:
+ $adsl_type =~ /speedtouch|eci/ or conf_network_card($netc, $intf, 'static', '10.0.0.10') or goto adsl_conf_step_1;
+ adsl_conf_backend($adsl, $netc, $adsl_type);
+ 1;
+}
+
sub adsl_conf_backend {
- my ($adsl, $netc, $adsl_type, $o_netcnx) = @_;
- defined $o_netcnx and $netc->{adsltype} = $o_netcnx->{type};
+ my ($adsl, $netc, $adsl_type, $netcnx) = @_;
+ defined $netcnx and $netc->{adsltype} = $netcnx->{type};
$netc->{adsltype} ||= "adsl_$adsl_type";
mkdir_p("$prefix/etc/ppp");
output("$prefix/etc/ppp/options",
@@ -138,47 +137,12 @@ defaultroute
} "$prefix/etc/ppp/pppoe.conf";
}
- if ($adsl_type eq 'sagem') {
- substInFile {
- s/VCI=.*\n/VCI=00000023\n/;
- s/Encapsulation=.*\n/Encapsulation=00000006\n/;
- } "$prefix/etc/analog/adiusbadsl";
- output("$prefix/etc/ppp/peers/adsl",
-qq(noauth
-noipdefault
-pty "/usr/sbin/pppoa -I `/usr/sbin/adictrl -s; /usr/sbin/adictrl -i`"
-mru 1492
-mtu 1492
-kdebug 1
-nobsdcomp
-nodeflate
-noaccomp -am
-nopcomp
-noccp
-novj
-novjccomp
-holdoff 4
-maxfail 25
-persist
-usepeerdns
-defaultroute
-user "$adsl->{login}"
-));
- }
-
- if ($adsl_type eq 'sagem_dhcp') {
- substInFile {
- s/VCI=.*\n/VCI=00000024\n/;
- s/Encapsulation=.*\n/Encapsulation=00000004\n/;
- } "$prefix/etc/analog/adiusbadsl";
- }
-
if ($adsl_type eq 'speedtouch') {
- my ($vpi, $vci) = $netc->{vpivci} =~ /(\d+)_(\d+)/ or return;
+ $netc->{vpivci} =~ /(\d+)_(\d+)/;
output("$prefix/etc/ppp/peers/adsl",
qq(noauth
noipdefault
-pty "/usr/sbin/pppoa3 -e 1 -c -vpi $vpi -vci $vci"
+pty "/usr/bin/pppoa3 -vpi $1 -vci $2"
sync
kdebug 1
noaccomp
@@ -192,50 +156,29 @@ usepeerdns
defaultroute
user "$adsl->{login}"
));
- modules::add_alias($_->[0], $_->[1]) foreach ['speedtch', 'off'],
- ['char-major-108', 'ppp_generic'],
+ modules::add_alias($_->[0], $_->[1]) foreach ['char-major-108', 'ppp_generic'],
['tty-ldisc-3', 'ppp_async'],
['tty-ldisc-13', 'n_hdlc'],
['tty-ldisc-14', 'ppp_synctty'],
['ppp-compress-21', 'bsd_comp'],
['ppp-compress-24', 'ppp_deflate'],
['ppp-compress-26', 'ppp_deflate'];
- $::isStandalone and modules::write_conf();
- $in->do_pkgs->what_provides("speedtouch_mgmt") and $in->do_pkgs->ensure_is_installed('speedtouch_mgmt', '/usr/share/speedtouch/mgmt.o', 'auto');
- -e "$prefix/usr/share/speedtouch/mgmt.o" and goto end_firmware;
-
- firmware:
-
- my $l = [ N_("Use a floppy"),
- N_("Use my Windows partition"),
- N_("Do it later"),
- ];
-
- my $answer = $in->ask_from_list_(N("Firmware needed"),
- N("You need the Alcatel microcode.
-You can provide it now via a floppy or your windows partition,
-or skip and do it later."), $l) or return;
-
- my $destination = "$prefix/usr/share/speedtouch/";
- $answer eq 'Use a floppy' && network::tools::copy_firmware('floppy', $destination, 'mgmt.o') || goto firmware;
- $answer eq 'Use my Windows partition' && network::tools::copy_firmware('windows', $destination, 'alcaudsl.sys') || goto firmware;
- $answer eq 'Do it later' and $in->ask_warn('', N("You need the Alcatel microcode.
-Download it at:
-%s
-and copy the mgmt.o in /usr/share/speedtouch", 'http://prdownloads.sourceforge.net/speedtouch/speedtouch-20011007.tar.bz2'));
-
- -e "$destination/alcaudsl.sys" and rename "$destination/alcaudsl.sys", "$destination/mgmt.o";
- end_firmware:
+ $::isStandalone and modules::write_conf($prefix);
+ $in->do_pkgs->what_provides("speedtouch_mgmt") and $in->do_pkgs->install('speedtouch_mgmt');
+ -e "$prefix/usr/share/speedtouch/mgmt.o" or $in->ask_warn('', N("You need the alcatel microcode.
+Download it at
+http://www.speedtouchdsl.com/dvrreg_lx.htm
+and copy the mgmt.o in /usr/share/speedtouch"));
}
-
- if ($adsl_type eq 'eci') {
- my ($vpi, $vci) = $netc->{vpivci} =~ /(\d+)_(\d+)/ or return;
- output("$prefix/etc/ppp/peers/adsl",
+
+if ($adsl_type eq 'eci') {
+ $netc->{vpivci} =~ /(\d+)_(\d+)/;
+ output("$prefix/etc/ppp/peers/adsl",
qq(debug
kdebug 1
noipdefault
defaultroute
-pty "/usr/bin/pppoeci -v 1 -vpi $vpi -vci $vci"
+pty "/usr/bin/pppoeci -v 1 -vpi $1 -vci $2"
sync
noaccomp
nopcomp
@@ -249,11 +192,11 @@ usepeerdns
noauth
lcp-echo-interval 0
));
- modules::add_alias($_->[0], $_->[1]) foreach ['char-major-108', 'ppp_generic'],
- ['tty-ldisc-14', 'ppp_synctty'],
- ['tty-ldisc-13', 'n_hdlc'];
- $::isStandalone and modules::write_conf();
- }
+ modules::add_alias($_->[0], $_->[1]) foreach ['char-major-108', 'ppp_generic'],
+ ['tty-ldisc-14', 'ppp_synctty'],
+ ['tty-ldisc-13', 'n_hdlc'];
+ $::isStandalone and modules::write_conf($prefix);
+}
if ($adsl_type eq 'pptp') {
write_cnx_script($netc, "adsl",
@@ -274,30 +217,12 @@ LC_ALL=C LANG=C LANGUAGE=C LC_MESSAGES=C /usr/sbin/adsl-start $netc->{NET_DEVICE
/usr/share/speedtouch/speedtouch.sh start
',
'/usr/share/speedtouch/speedtouch.sh stop
-', $netc->{adsltype}) } elsif ($adsl_type eq 'sagem') {
- write_cnx_script($netc, 'adsl',
-'/sbin/route del default
-/usr/sbin/adictrl -w
-#INTERFACE=`/usr/sbin/adictrl -i`
-#/sbin/ifconfig $INTERFACE 192.168.60.30 netmask 255.255.255.0 up
-/usr/sbin/pppd file /etc/ppp/peers/adsl
-',
-'/usr/sbin/stopadsl
-', $netc->{adsltype}) } elsif ($adsl_type eq 'sagem_dhcp') {
- write_cnx_script($netc, 'adsl',
-'/sbin/route del default
-/usr/sbin/adictrl -w
-INTERFACE=`/usr/sbin/adictrl -i`
-/sbin/dhcpcd $INTERFACE
-',
-'INTERFACE=`/usr/sbin/adictrl -i`
-/sbin/ifdown $INTERFACE
', $netc->{adsltype}) } elsif ($adsl_type eq 'eci') {
write_cnx_script($netc, 'adsl',
'/sbin/route del default
/usr/bin/startmodem
',
-"# stop is still beta...
+"# et pour le stop on se touche c'est du beta...
echo 'not yet implemented, still beta software'
", $netc->{adsltype}) }
diff --git a/perl-install/network/drakfirewall.pm b/perl-install/network/drakfirewall.pm
index 428c855c2..8951ecd44 100644
--- a/perl-install/network/drakfirewall.pm
+++ b/perl-install/network/drakfirewall.pm
@@ -1,7 +1,7 @@
package network::drakfirewall; # $Id$
-use strict;
use diagnostics;
+use strict;
use network::shorewall;
use common;
@@ -9,49 +9,43 @@ use common;
my @all_servers =
(
{
- name => N_("Web Server"),
+ name => N("Web Server"),
pkg => 'apache apache-mod_perl boa',
ports => '80/tcp 443/tcp',
},
{
- name => N_("Domain Name Server"),
+ name => N("Domain Name Server"),
pkg => 'bind',
ports => '53/tcp 53/udp',
},
{
- name => N_("SSH server"),
+ name => "SSH",
pkg => 'openssh-server',
ports => '22/tcp',
},
{
- name => N_("FTP server"),
+ name => "FTP",
pkg => 'ftp-server-krb5 wu-ftpd proftpd pure-ftpd',
ports => '20/tcp 21/tcp',
},
{
- name => N_("Mail Server"),
+ name => N("Mail Server"),
pkg => 'sendmail postfix qmail',
ports => '25/tcp',
},
{
- name => N_("POP and IMAP Server"),
+ name => N("POP and IMAP Server"),
pkg => 'imap courier-imap-pop',
ports => '109/tcp 110/tcp 143/tcp',
},
{
- name => N_("Telnet server"),
+ name => "Telnet",
pkg => 'telnet-server-krb5',
ports => '23/tcp',
hide => 1,
},
{
- name => N_("Samba server"),
- pkg => 'samba-server',
- ports => '137/tcp 137/udp 138/tcp 138/udp 139/tcp 139/udp ',
- hide => 1,
- },
- {
- name => N_("CUPS server"),
+ name => "CUPS",
pkg => 'cups',
ports => '631/tcp 631/udp',
hide => 1,
@@ -60,9 +54,10 @@ my @all_servers =
sub port2server {
my ($port) = @_;
- find {
- any { $port eq $_ } split(' ', $_->{ports});
- } @all_servers;
+ foreach (@all_servers) {
+ return $_ if grep { $port eq $_ } split ' ', $_->{ports};
+ }
+ undef;
}
sub check_ports_syntax {
@@ -100,43 +95,41 @@ sub default_from_pkgs {
my @pkgs = $in->do_pkgs->are_installed(map { split ' ', $_->{pkg} } @all_servers);
[ grep {
my $s = $_;
- any { member($_, @pkgs) } (split ' ', $s->{pkg});
+ grep { member($_, @pkgs) } split ' ', $s->{pkg};
} @all_servers ];
}
sub get_ports {
- my ($in, $_ports) = @_;
- my $shorewall = network::shorewall::read($in, 'silent') or return;
+ my ($_ports) = @_;
+ my $shorewall = network::shorewall::read() or return;
\$shorewall->{ports};
}
sub set_ports {
- my ($in, $disabled, $ports) = @_;
- my $shorewall = network::shorewall::read($in, 'not_silent') || network::shorewall::default_interfaces($in) or die \N("No network card");
- if (!$disabled || -x "$::prefix/sbin/shorewall") {
- $in->do_pkgs->ensure_is_installed('shorewall', '/sbin/shorewall', $::isInstall) or return;
-
- $shorewall->{disabled} = $disabled;
- $shorewall->{ports} = $$ports;
- network::shorewall::write($shorewall);
- }
+ my ($disabled, $ports) = @_;
+
+ my $shorewall = network::shorewall::read() || network::shorewall::default_interfaces() or die N("No network card");
+ $shorewall->{disabled} = $disabled;
+ $shorewall->{ports} = $$ports;
+
+ network::shorewall::write($shorewall);
}
sub get_conf {
- my ($in, $disabled, $o_ports) = @_;
-
+ my ($in, $disabled, $ports) = @_;
+
my $possible_servers = default_from_pkgs($in);
$_->{hide} = 0 foreach @$possible_servers;
- if ($o_ports) {
- $disabled, from_ports($o_ports);
- } elsif (my $shorewall = network::shorewall::read($in, 'silent')) {
+ if ($ports) {
+ $disabled, from_ports($ports);
+ } elsif (my $shorewall = network::shorewall::read()) {
$shorewall->{disabled}, from_ports(\$shorewall->{ports});
} else {
$in->ask_okcancel('', N("drakfirewall configurator
This configures a personal firewall for this Mandrake Linux machine.
-For a powerful and dedicated firewall solution, please look to the
+For a powerful dedicated firewall solution, please look to the
specialized MandrakeSecurity Firewall distribution."), 1) or return;
$in->ask_okcancel('', N("drakfirewall configurator
@@ -172,7 +165,7 @@ where port is between 1 and 65535.", $invalid_port));
} },
[
{ text => N("Everything (no firewall)"), val => \$disabled, type => 'bool' },
- (map { { text => translate($_->{name}), val => \$_->{on}, type => 'bool', disabled => sub { $disabled } } } @l),
+ (map { { text => $_->{name}, val => \$_->{on}, type => 'bool', disabled => sub { $disabled } } } @l),
{ label => N("Other ports"), val => \$unlisted, advanced => 1, disabled => sub { $disabled } }
]) or return;
@@ -184,7 +177,9 @@ sub main {
($disabled, my $servers, my $unlisted) = get_conf($in, $disabled) or return;
+ $in->do_pkgs->ensure_is_installed('shorewall', '/sbin/shorewall', $::isInstall) or return;
+
($disabled, my $ports) = choose($in, $disabled, $servers, $unlisted) or return;
- set_ports($in, $disabled, $ports);
+ set_ports($disabled, $ports);
}
diff --git a/perl-install/network/ethernet.pm b/perl-install/network/ethernet.pm
index 80419f9b5..410b81e13 100644
--- a/perl-install/network/ethernet.pm
+++ b/perl-install/network/ethernet.pm
@@ -1,29 +1,68 @@
-package network::ethernet; # $Id$
-
+package network::ethernet;
use network::network;
use modules;
-use modules::interactive;
+use any;
use detect_devices;
use common;
use run_program;
use network::tools;
use vars qw(@ISA @EXPORT);
-
use MDK::Common::Globals "network", qw($in $prefix);
@ISA = qw(Exporter);
-@EXPORT = qw(conf_network_card conf_network_card_backend go_ethernet);
-
-my (@cards, @ether_steps, $last, %last);
+@EXPORT = qw(configureNetwork conf_network_card conf_network_card_backend go_ethernet);
+sub configure_cable {
+ my ($netcnx, $netc, $intf, $first_time) = @_;
+ $::isInstall and $in->set_help('configureNetworkCable');
+ $netcnx->{type} = 'cable';
+ # $netcnx->{cable}={};
+ # $in->ask_from_entries_ref(N("Cable connection"),
+ # N("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''."),
+ # [N("Host name:")], [ \$netcnx->{cable}{hostname} ]);
+ if ($::expert) {
+ my @m = (
+ { description => "dhcp-client",
+ c => 1 },
+ { description => "dhcpcd",
+ c => 3 },
+ { description => "dhcpxd",
+ c => 4 },
+ );
+ if (my $f = $in->ask_from_listf(N("Connect to the Internet"),
+ N("Which dhcp client do you want to use?
+Default is dhcp-client"),
+ sub { $_[0]{description} },
+ \@m)) {
+ $f->{c} == 3 and $netcnx->{dhcp_client} = "dhcpcd" and $in->do_pkgs->install(qw(dhcpcd));
+ $f->{c} == 4 and $netcnx->{dhcp_client} = "dhcpxd" and $in->do_pkgs->install(qw(dhcpxd));
+ $f->{c} == 1 and $netcnx->{dhcp_client} = "dhcp-client" and $in->do_pkgs->install(qw(dhcp-client));
+ }
+ } else {
+ $in->do_pkgs->install(qw(dhcp-client));
+ }
+ go_ethernet($netc, $intf, 'dhcp', '', '', $first_time);
+ write_cnx_script($netc, "cable",
+qq(
+/sbin/ifup $netc->{NET_DEVICE}
+),
+qq(
+/sbin/ifdown $netc->{NET_DEVICE}
+), $netcnx->{type});
+ 1;
+}
-sub ether_conf{
- # my ($netcnx, $netc, $intf, $first_time) = @_;
- my ($in, $prefix, $netc, $intf) = @_;
+sub configure_lan {
+ my ($netcnx, $netc, $intf, $first_time) = @_;
+ $::isInstall and $in->set_help('configureNetworkIP');
+ configureNetwork($netc, $intf, $first_time) or return;
configureNetwork2($in, $prefix, $netc, $intf);
$netc->{NETWORKING} = "yes";
- if ($netc->{GATEWAY} || any { $_->{BOOTPROTO} =~ /dhcp/ } values %$intf) {
+ if ($netc->{GATEWAY} || grep { $_->{BOOTPROTO} eq 'dhcp' } values %$intf) {
$netcnx->{type} = 'lan';
$netcnx->{NET_DEVICE} = $netc->{NET_DEVICE} = '';
$netcnx->{NET_INTERFACE} = 'lan'; #$netc->{NET_INTERFACE};
@@ -36,12 +75,36 @@ qq(
/sbin/ifup lo
), $netcnx->{type});
}
- $::isStandalone and modules::write_conf();
+ $::isStandalone and modules::write_conf($prefix);
1;
}
+sub conf_network_card {
+ my ($netc, $intf, $type, $ipadr, $netadr) = @_;
+ #-type =static or dhcp
+ any::load_category($in, 'network/main|usb', !$::expert, 1);
+ my @all_cards = conf_network_card_backend($netc, $intf, $type, undef, $ipadr, $netadr);
+ my $interface;
+ @all_cards == () and $in->ask_warn('', N("No ethernet network adapter has been detected on your system.
+I cannot set up this connection type.")) and return;
+ @all_cards == 1 and $interface = $all_cards[0][0];
+ while (!$interface) {
+ $interface = $in->ask_from_list(N("Choose the network interface"),
+ N("Please choose which network adapter you want to use to connect to Internet"),
+ [ map { $_->[0] . ($_->[1] ? " (using module $_->[1])" : "") } @all_cards ]
+ ) or return;
+ }
+ $::isStandalone and modules::write_conf($prefix);
+
+ my $_device = conf_network_card_backend($netc, $intf, $type, $interface, $ipadr, $netadr, $interface);
+# if ( $::isStandalone and !($type eq "dhcp")) {
+# $in->ask_yesorno(N("Network interface"),
+# N("I'm about to restart the network device:\n") . $device . N("\nDo you agree?"), 1) and configureNetwork2($in, $prefix, $netc, $intf) and system("$prefix/sbin/ifdown $device;$prefix/sbin/ifup $device");
+# }
+ 1;
+}
-#- 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 load_category($in, 'network/main|gigabit|usb', !$::expert, 1) or load_category_backend before calling this function. Basically, you call this function in 2 times.
+#- 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 load_category($in, 'network/main|usb', !$::expert, 1) or load_category_backend before calling this function. Basically, you call this function in 2 times.
#- input
#- $prefix
#- $netc
@@ -63,39 +126,89 @@ qq(
#- $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+]/
sub conf_network_card_backend {
- my ($netc, $intf, $o_type, $o_interface, $o_ipadr, $o_netadr) = @_;
+ my ($netc, $intf, $type, $interface, $ipadr, $netadr) = @_;
#-type =static or dhcp
- if (!$o_interface) {
+ if (!$interface) {
my @all_cards = detect_devices::getNet();
+ my @unconfigured_interfaces = qw(ADIModem);
my @devs = detect_devices::pcmcia_probe();
modules::mergein_conf("$prefix/etc/modules.conf");
my $saved_driver;
return map {
my $interface = $_;
- my $a = c::getNetDriver($interface) || modules::get_alias($interface);
- my $b = find { $_->{device} eq $interface } @devs;
- $a ||= $b->{driver};
- $a and $saved_driver = $a; # handle multiple cards managed by the same driver
- [ $interface, $saved_driver ]
- } @all_cards;
+ my $a = modules::get_alias($interface);
+ my $b;
+ foreach (@devs) {
+ $_->{device} eq $interface and $b = $_->{driver};
+ }
+ $a ||= $b;
+ $a and $saved_driver = $a;
+ if_(!member($interface, @unconfigured_interfaces) || $a, [$interface, $saved_driver]);
+ } @all_cards, @unconfigured_interfaces;
}
- $o_interface =~ /eth[0-9]+/ or die("the interface is not an ethx");
-
- $netc->{NET_DEVICE} = $o_interface; #- one consider that there is only ONE Internet connection device..
-
- @{$intf->{$o_interface}}{qw(DEVICE BOOTPROTO NETMASK NETWORK ONBOOT)} = ($o_interface, $o_type, '255.255.255.0', $o_netadr, 'yes');
-
- $intf->{$o_interface}{IPADDR} = $o_ipadr if $o_ipadr;
- $o_interface;
+ my ($device) = $interface =~ /(ADIModem|eth[0-9]+)/ or die("the interface is not an ethx or other (like ADIModem)");
+ $netc->{NET_DEVICE} = $device; #- one consider that there is only ONE Internet connection device..
+
+ @{$intf->{$device}}{qw(DEVICE BOOTPROTO NETMASK NETWORK ONBOOT)} =
+ ($device, $type, '255.255.255.0', $netadr, 'yes');
+
+ $intf->{$device}{IPADDR} = $ipadr if $ipadr;
+ $device;
+}
+
+sub go_ethernet {
+ my ($netc, $intf, $type, $ipadr, $netadr, $first_time) = @_;
+ conf_network_card($netc, $intf, $type, $ipadr, $netadr) or return;
+ $netc->{NET_INTERFACE} = $netc->{NET_DEVICE};
+ configureNetwork($netc, $intf, $first_time) or return;
+# if ( $::isStandalone and $netc->{NET_DEVICE}) {
+# $in->ask_yesorno(N("Network interface"),
+# N("I'm about to restart the network device %s. Do you agree?", $netc->{NET_DEVICE}), 1) and system("$prefix/sbin/ifdown $netc->{NET_DEVICE}; $prefix/sbin/ifup $netc->{NET_DEVICE}");
+# }
+ 1;
}
-# automatic net aliases configuration
-sub configure_eth_aliases() {
- foreach (detect_devices::getNet()) {
- my $driver = c::getNetDriver($_) or next;
- modules::add_alias($_, $driver);
+sub configureNetwork {
+ my ($netc, $intf, $_first_time) = @_;
+ local $_;
+ any::load_category($in, 'network/main|usb|pcmcia', !$::expert, 1) or return;
+ my @l = detect_devices::getNet() or die N("no network card found");
+ my @all_cards = conf_network_card_backend($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(N("Hostname"), N("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(N("Configuring network"),
+N("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 => N("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;
}
+ miscellaneousNetwork($in) or goto configureNetwork_step_1;
+ 1;
}
1;
diff --git a/perl-install/network/isdn.pm b/perl-install/network/isdn.pm
index b66edfe75..2b747e255 100644
--- a/perl-install/network/isdn.pm
+++ b/perl-install/network/isdn.pm
@@ -1,6 +1,5 @@
-package network::isdn; # $Id$
+package network::isdn;
-use strict;
use network::isdn_consts;
use common;
use any;
@@ -11,24 +10,98 @@ use network::tools;
use vars qw(@ISA @EXPORT);
use MDK::Common::Globals "network", qw($in $prefix);
use MDK::Common::File;
-
-
@ISA = qw(Exporter);
@EXPORT = qw(isdn_write_config isdn_write_config_backend get_info_providers_backend isdn_ask_info isdn_ask_protocol isdn_ask isdn_detect isdn_detect_backend isdn_get_list isdn_get_info);
+sub configure {
+ my ($netcnx, $netc, $isdn) = @_;
+ isdn_step_1:
+ defined $netc->{autodetect}{isdn}{id} and goto intern_pci;
+ $::isInstall and $in->set_help('configureNetworkISDN');
+ my $e = $in->ask_from_list_(N("Network Configuration Wizard"),
+ N("Which ISDN configuration do you prefer?
+
+* The Old configuration uses isdn4net. It contains powerful
+ tools, but is tricky to configure, and not standard.
+
+* The New configuration is easier to understand, more
+ standard, but with less tools.
+
+We recommand the light configuration.
+"), [ N_("New configuration (isdn-light)"), N_("Old configuration (isdn4net)") ]
+ ) or return;
+ $netc->{autodetect}{isdn}{is_light} = $e =~ /light/ ? 1 : undef;
+ $e = $in->ask_from_list_(N("Network Configuration Wizard"),
+ N("What kind is your ISDN connection?"), [ N_("Internal ISDN card"), N_("External ISDN modem") ]
+ ) or return;
+
+ if ($e =~ /card/) {
+ intern_pci:
+ $netc->{isdntype} = 'isdn_internal';
+ $netcnx->{isdn_internal} = isdn_read_config($isdn);
+ $netcnx->{isdn_internal}{$_} = $netc->{autodetect}{isdn}{$_} foreach 'description', 'vendor', 'id', 'driver', 'card_type', 'type', 'is_light';
+ isdn_detect($netcnx->{isdn_internal}, $netc) or return;
+ } else {
+ $netc->{isdntype} = 'isdn_external';
+ $netcnx->{isdn_external} = isdn_read_config($isdn);
+ $netcnx->{isdn_external}{device} = $netc->{autodetect}{modem};
+ $netcnx->{isdn_external}{is_light} = $netc->{autodetect}{isdn}{is_light};
+ $netcnx->{isdn_external}{special_command} = 'AT&F&O2B40';
+ require network::modem;
+ network::modem::pppConfig($netcnx->{isdn_external}, undef, $netc) or goto isdn_step_1;
+ }
+ 1;
+}
sub isdn_write_config {
my ($isdn, $netc) = @_;
- $in->do_pkgs->install('isdn4net', if_($isdn->{speed} =~ /128/, 'ibod'), 'isdn4k-utils');
+ isdn_write_config_step_1:
+ my ($rmpackage, $instpackage) = $isdn->{is_light} ? ('isdn4net', 'isdn-light') : ('isdn-light', 'isdn4net');
+ if (!$::isStandalone) {
+ require pkgs;
+ my $p = pkgs::packageByName($in->{packages}, $rmpackage);
+ $p && $p->flag_selected and pkgs::unselectPackage($in->{packages}, $p);
+ }
+ run_program::rooted($prefix, "rpm", "-e", $rmpackage);
+ $in->do_pkgs->install($instpackage, if_($isdn->{speed} =~ /128/, 'ibod'), 'isdn4k-utils');
isdn_write_config_backend($isdn, $netc);
1;
}
sub isdn_write_config_backend {
- my ($isdn, $netc, $o_netcnx) = @_;
- defined $o_netcnx and $netc->{isdntype} = $o_netcnx->{type};
-
- output_with_perm("$prefix/etc/isdn/profile/link/myisp", 0600,
+ my ($isdn, $netc, $netcnx) = @_;
+ defined $netcnx and $netc->{isdntype} = $netcnx->{type};
+ if ($isdn->{is_light}) {
+ modules::mergein_conf("$prefix/etc/modules.conf");
+ if ($isdn->{id}) {
+ isdn_detect_backend($isdn);
+ } else {
+ my $a = "";
+ defined $isdn->{$_} and $a .= "$_=" . $isdn->{$_} . " " foreach qw(type protocol mem io io0 io1 irq);
+ $isdn->{driver} eq "hisax" and $a .= "id=HiSax";
+ modules::set_options($isdn->{driver}, $a);
+ }
+ modules::add_alias("ippp0", $isdn->{driver});
+ $::isStandalone and modules::write_conf($prefix);
+ foreach my $f ('ioptions1B', 'ioptions2B') {
+ substInFile { s/^name .*\n//; $_ .= "name $isdn->{login}\n" if eof } "$prefix/etc/ppp/$f";
+ chmod 0600, $f;
+ }
+ foreach my $f ('isdn1B.conf', 'isdn2B.conf') {
+ substInFile {
+ s/EAZ =.*/EAZ = $isdn->{phone_in}/;
+ s/PHONE_OUT =.*/PHONE_OUT = $isdn->{phone_out}/;
+ if (/NAME = ippp0/ .. /PPPBIND = 0/) {
+ s/HUPTIMEOUT =.*/HUPTIMEOUT = $isdn->{huptimeout}/;
+ }
+ } "$prefix/etc/isdn/$f";
+ chmod 0600, $f;
+ }
+ my $bundle = $isdn->{speed} =~ /64/ ? "1B" : "2B";
+ symlinkf("isdn" . $bundle . ".conf", "$prefix/etc/isdn/isdnctrl.conf");
+ symlinkf("ioptions" . $bundle, "$prefix/etc/ppp/ioptions");
+ } else {
+ output_with_perm("$prefix/etc/isdn/profile/link/myisp", 0600,
qq(
I4L_USERNAME="$isdn->{login}"
I4L_SYSNAME=""
@@ -56,22 +129,20 @@ usepeerdns
defaultroute
";
system "$prefix/etc/rc.d/init.d/isdn4linux restart";
+ }
substInFile { s/^FIRMWARE.*\n//; $_ .= qq(FIRMWARE="$isdn->{firmware}"\n) if eof } "$prefix/etc/sysconfig/network-scripts/ifcfg-ippp0";
- # we start the virtual interface at boot (we dial only on demand.
- substInFile { s/^ONBOOT.*\n//; $_ .= qq(ONBOOT=yes\n) if eof } "$prefix/etc/sysconfig/network-scripts/ifcfg-ippp$isdn->{intf_id}";
-
write_secret_backend($isdn->{login}, $isdn->{passwd});
write_cnx_script($netc, "isdn",
-"#/sbin/route del default
-#/sbin/ifup ippp0
-/usr/sbin/isdnctrl dial ippp0
+"/sbin/route del default
+/sbin/ifup ippp0
+/sbin/isdnctrl dial ippp0
" . if_($isdn->{speed} =~ /128/, "service ibod restart
"),
-"/usr/sbin/isdnctrl hangup ippp0
-#/sbin/ifdown ippp0
+"/sbin/isdnctrl hangup ippp0
+/sbin/ifdown ippp0
" . if_($isdn->{speed} =~ /128/, "service ibod stop
"), $netc->{isdntype});
1;
@@ -80,25 +151,52 @@ defaultroute
sub isdn_read_config {
my ($isdn) = @_;
- my %match = (I4L_USERNAME => 'login',
- I4L_LOCALMSN => 'phone_in',
- I4L_REMOTE_OUT => 'phone_out',
- I4L_DIALMODE => 'dialing_mode',
- I4L_MODULE => 'driver',
- I4L_TYPE => 'type',
- I4L_IRQ => 'irq',
- I4L_MEMBASE => 'mem',
- I4L_PORT => 'io',
- I4L_IO0 => 'io0',
- I4L_IO1 => 'io1',
- I4L_FIRMWARE => 'firmware');
- foreach ('link/myisp', 'card/mycard') {
- my %conf = getVarsFromSh("$prefix/etc/isdn/profile/$_");
- foreach (keys %conf) {
- $isdn->{$match{$_}} = $conf{$_} if $match{$_};
+ if ($isdn->{is_light}) {
+ my $c = modules::read_conf("/etc/modules.conf");
+ $isdn->{driver} = $c->{ippp0}{alias};
+ #- 'type' 'protocol' 'mem' 'io' 'io0' 'io1' 'irq' 'id'
+ foreach (split(' ', $c->{$isdn->{driver}}{options})) {
+ /(.*)=(.*)/;
+ $isdn->{$1} = $2;
+ }
+ foreach my $f ('ioptions1B', 'ioptions2B') {
+ foreach (cat_("$prefix/etc/ppp/$f")) {
+ if (/^\s*name\s*(.*)/) {
+ $isdn->{login} = $1;
+ goto NEXT;
+ }
+ }
+ }
+ NEXT:
+ foreach my $f ('isdn1B.conf', 'isdn2B.conf') {
+ foreach (cat_("$prefix/etc/isdn/$f")) {
+ /^\s*EAZ\s*=\s*(.*)/ and $isdn->{phone_in} = $1;
+ /^\s*PHONE_OUT\s*=\s*(.*)/ and $isdn->{phone_out} = $1;
+ if (/^\s*NAME\s*=\s*ippp0/ .. /PPPBIND\s*=\s*0/) {
+ /^\s*HUPTIMEOUT\s*=\s*(.*)/ and $isdn->{huptimeout} = $1;
+ }
+ }
+ }
+ } else {
+ my %match = (I4L_USERNAME => 'login',
+ I4L_LOCALMSN => 'phone_in',
+ I4L_REMOTE_OUT => 'phone_out',
+ I4L_DIALMODE => 'dialing_mode',
+ I4L_MODULE => 'driver',
+ I4L_TYPE => 'type',
+ I4L_IRQ => 'irq',
+ I4L_MEMBASE => 'mem',
+ I4L_PORT => 'io',
+ I4L_IO0 => 'io0',
+ I4L_IO1 => 'io1',
+ I4L_FIRMWARE => 'firmware');
+ foreach ('link/myisp', 'card/mycard') {
+ my %conf = getVarsFromSh("$prefix/etc/isdn/profile/$_");
+ foreach (keys %conf) {
+ $isdn->{$match{$_}} = $conf{$_} if $match{$_};
+ }
}
}
-
$isdn->{passwd} = network::tools::passwd_by_login($isdn->{login});
#$isdn->{description} = '';
#$isdn->{vendor} = '';
@@ -113,7 +211,7 @@ sub get_info_providers_backend {
chop;
my ($name_, $phone, $real, $dns1, $dns2) = split '=>';
if ($name eq $name_) {
- @$isdn{qw(user_name phone_out DOMAINNAME2 dnsServer3 dnsServer2)} =
+ @{$isdn}{qw(user_name phone_out DOMAINNAME2 dnsServer3 dnsServer2)} =
((split(/\|/, $name_))[2], $phone, $real, $dns1, $dns2);
}
}
@@ -123,7 +221,6 @@ sub isdn_ask_info {
my ($isdn, $netc) = @_;
my $f = "$ENV{SHARE_PATH}/ldetect-lst/isdn.db";
$f = "$prefix$f" if !-e $f;
- isdn_ask_info_step1:
my $str = $in->ask_from_treelist(N("ISDN Configuration"), N("Select your provider.\nIf it isn't listed, choose Unlisted."),
'|', ['Unlisted - edit manually',
read_providers_backend($f)], 'Unlisted - edit manually')
@@ -132,12 +229,12 @@ sub isdn_ask_info {
$isdn->{huptimeout} = 180;
$isdn->{$_} ||= '' foreach qw(phone_in phone_out dialing_mode login passwd passwd2 idl speed);
add2hash($netc, { dnsServer2 => '', dnsServer3 => '', DOMAINNAME2 => '' });
- ask_info2($isdn, $netc) or goto isdn_ask_info_step1;
+ ask_info2($isdn, $netc);
}
-sub isdn_ask_protocol() {
+sub isdn_ask_protocol {
my @toto = (
- { description => $::expert ? N("European protocol (EDSS1)") : N("European protocol"),
+ { description => $::expert ? N("Europe protocol (EDSS1)") : N("Europe protocol"),
protokol => 2 },
{ description => $::expert ? N("Protocol for the rest of the world\nNo D-Channel (leased lines)") : N("Protocol for the rest of the world"),
protokol => 3 }
@@ -162,13 +259,10 @@ sub isdn_ask {
isdn_ask_step_1:
my $e = $in->ask_from_list_(N("ISDN Configuration"),
$label . "\n" . N("What kind of card do you have?"),
- [ N_("ISA / PCMCIA"), N_("PCI"), N_("USB"), N_("I don't know") ]
+ [ N_("ISA / PCMCIA"), N_("PCI"), N_("I don't know") ]
) or return;
- isdn_ask_step_1b:
if ($e =~ /PCI/) {
$isdn->{card_type} = 'pci';
- } elsif ($e =~ /USB/) {
- $isdn->{card_type} = 'usb';
} else {
$in->ask_from_list_(N("ISDN Configuration"),
N("
@@ -181,9 +275,9 @@ If you have a PCMCIA card, you have to know the \"irq\" and \"io\" of your card.
isdn_ask_step_2:
$e = $in->ask_from_listf(N("ISDN Configuration"),
- N("Which of the following is your ISDN card?"),
+ N("Which is your ISDN card?"),
sub { $_[0]{description} },
- [ grep { $_->{card} eq $isdn->{card_type} } @isdndata ]) or goto($isdn->{card_type} =~ /usb|pci/ ? 'isdn_ask_step_1' : 'isdn_ask_step_1b');
+ [ grep { $_->{card} eq $isdn->{card_type} } @isdndata ]) or goto isdn_ask_step_1;
$e->{$_} and $isdn->{$_} = $e->{$_} foreach qw(driver type mem io io0 io1 irq firmware);
isdn_ask_step_3:
@@ -194,33 +288,51 @@ If you have a PCMCIA card, you have to know the \"irq\" and \"io\" of your card.
1;
}
-sub isdn_detect_backend() {
- my $isdn = { };
- each_index {
- my $c = $_;
- $isdn->{$::i} = { map { $_ => $c->{$_} } qw(description vendor id driver card_type type) };
- my $isdn = $isdn->{$::i};
- $isdn->{intf_id} = $::i;
+sub isdn_detect {
+ my ($isdn, $netc) = @_;
+ if ($isdn->{id}) {
+ log::l("found isdn card : $isdn->{description}; vendor : $isdn->{vendor}; id : $isdn->{id}; driver : $isdn->{driver}\n");
+ $isdn->{description} =~ s/\|/ -- /;
+ if ($isdn->{type} eq '') {
+ isdn_ask($isdn, $netc, N("I have detected an ISDN PCI card, but I don't know its type. Please select a PCI card on the next screen.")) or return;
+ } else {
+ isdn_detect_step_1:
+ $isdn->{protocol} = isdn_ask_protocol() or return;
+ isdn_detect_step_2:
+ isdn_ask_info($isdn, $netc) or goto isdn_detect_step_1;
+ isdn_write_config($isdn, $netc) or goto isdn_detect_step_2;
+ }
+ } else {
+ isdn_ask($isdn, $netc, N("No ISDN PCI card found. Please select one on the next screen.")) or return;
+ }
+ $netc->{$_} = 'ippp0' foreach 'NET_DEVICE', 'NET_INTERFACE';
+ 1;
+}
+
+sub isdn_detect_backend {
+ my ($isdn) = @_;
+ if (my ($c) = modules::probe_category('network/isdn')) {
+ $isdn->{$_} = $c->{$_} foreach qw(description vendor id driver options firmware);
$isdn->{$_} = sprintf("%0x", $isdn->{$_}) foreach 'vendor', 'id';
- $isdn->{card_type} = $c->{bus} eq 'USB' ? 'usb' : 'pci';
+ $isdn->{card_type} = 'pci';
($isdn->{type}) = $isdn->{options} =~ /type=(\d+)/;
- $isdn->{description} =~ s/.*\|//;
# $c->{options} !~ /id=HiSax/ && $isdn->{driver} eq "hisax" and $c->{options} .= " id=HiSax";
if ($c->{options} !~ /protocol=/ && $isdn->{protocol} =~ /\d/) {
modules::set_options($c->{driver}, $c->{options} . " protocol=" . $isdn->{protocol});
}
$c->{options} =~ /protocol=(\d)/ and $isdn->{protocol} = $1;
- } modules::probe_category('network/isdn');
- $isdn;
+ }
}
-sub isdn_get_list() {
+sub isdn_get_list {
map { $_->{description} } @isdndata;
}
sub isdn_get_info {
my ($desc) = @_;
- find { $_->{description} eq $desc } @isdndata;
+ foreach (@isdndata) {
+ return $_ if $_->{description} eq $desc;
+ }
}
1;
diff --git a/perl-install/network/isdn_consts.pm b/perl-install/network/isdn_consts.pm
index c38297641..b93a75e11 100644
--- a/perl-install/network/isdn_consts.pm
+++ b/perl-install/network/isdn_consts.pm
@@ -1,7 +1,4 @@
-package network::isdn_consts; # $Id$
-use vars qw(@ISA @EXPORT);
-@ISA = qw(Exporter);
-@EXPORT = qw(@isdndata);
+package network::isdn; # $Id$
our @isdndata =
(
@@ -324,16 +321,6 @@ our @isdndata =
type => '36',
card => 'pci',
},
- { description => "BeWAN R834 (USB)",
- driver => 'hisax_st5481',
- type => '99',
- card => 'usb',
- },
- { description => "Gazel 128 (USB)",
- driver => 'hisax_st5481',
- type => '99',
- card => 'usb',
- },
);
1;
diff --git a/perl-install/network/modem.pm b/perl-install/network/modem.pm
index f1ef4d9f7..fd2f54c50 100644
--- a/perl-install/network/modem.pm
+++ b/perl-install/network/modem.pm
@@ -1,176 +1,103 @@
-package network::modem; # $Id$
+package network::modem;
-use strict;
use common;
use any;
use modules;
use detect_devices;
use mouse;
use network::tools;
+use vars qw(@ISA @EXPORT);
+use MDK::Common::Globals "network", qw($in $prefix);
+use Data::Dumper;
+@ISA = qw(Exporter);
+@EXPORT = qw(pppConfig);
-sub ppp_configure_raw {
- my ($in, $netc, $modem) = @_;
- $netc->{DOMAINNAME2} = $modem->{domain};
- $in->do_pkgs->install('ppp') if !$::testing;
- $in->do_pkgs->install('kdenetwork-kppp') if $in->do_pkgs->is_installed('kdebase');
- any::devfssymlinkf($modem, 'modem') if $modem->{device} ne "/dev/modem";
-
- 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{kpppauth} = ${{ 'Script-based' => 0, 'PAP' => 1, 'Terminal-based' => 2, 'CHAP' => 3 }}{$modem->{auth}};
- $toreplace{phone} =~ s/[a-zA-Z]//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' || $modem->{auth} eq 'CHAP') && $toreplace{login};
-
- #- build ifcfg-ppp0.
- my $various = <<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
- output("$::prefix/etc/sysconfig/network-scripts/ifcfg-ppp0",
- $various,
- map { qq(DNS$_=$toreplace{"dns$_"}\n) } grep { $toreplace{"dns$_"} } 1..2);
-
- #- build chat-ppp0.
- my @chat = <<END;
-'ABORT' 'BUSY'
-'ABORT' 'ERROR'
-'ABORT' 'NO CARRIER'
-'ABORT' 'NO DIALTONE'
-'ABORT' 'Invalid Login'
-'ABORT' 'Login incorrect'
-'' 'ATZ'
-END
- if ($modem->{special_command}) {
- push @chat, <<END;
-'OK' '$modem->{special_command}'
-END
+sub configure {
+ my ($netcnx, $mouse, $netc, $intf) = @_;
+ $netcnx->{type} = 'modem';
+ my $modem = $netcnx->{$netcnx->{type}};
+# $netcnx->{$netcnx->{type}} = {};
+ $modem->{device} = $netc->{autodetect}{modem};
+# modem_step_1:
+# $modem->{login} = ($modem->{auth} eq 'PAP' ||$modem->{auth} eq 'CHAP') && $intf->{ppp0}{PAPNAME};
+# $netcnx->{$netcnx->{type}}->{connection} = ($netcnx->{$netcnx->{type}}->{auth} eq 'PAP' || $netcnx->{$netcnx->{type}}->{auth} eq 'CHAP') && $intf->{ppp0}{PAPNAME};
+# $modem->{device} = readlink "$prefix/dev/modem";
+ foreach (cat_("/usr/share/config/kppprc")) {
+ /^DNS=(.*)$/ and ($modem->{dns1}, $modem->{dns2}) = split(',', $1);
}
- push @chat, <<END;
-'OK' 'ATDT$toreplace{phone}'
-'CONNECT' ''
-END
- if ($modem->{auth} eq 'Terminal-based' || $modem->{auth} eq 'Script-based') {
- push @chat, <<END;
-'ogin:--ogin:' '$toreplace{login}'
-'ord:' '$toreplace{passwd}'
-END
+ my $secret = network::tools::read_secret_backend();
+ foreach (@$secret) {
+ $modem->{passwd} = $_->{passwd} if $_->{login} eq $modem->{login};
}
- push @chat, <<END;
-'TIMEOUT' '5'
-'~--' ''
-END
- my $chat_file = "$::prefix/etc/sysconfig/network-scripts/chat-ppp0";
- output_with_perm($chat_file, 0600, @chat);
- if ($modem->{auth} eq 'PAP' || $modem->{auth} eq 'CHAP') {
- #- 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) {
- output($secrets, @l);
- } else {
- append_to_file($secrets, qq($toreplace{login} ppp0 "$toreplace{passwd}"\n));
+ foreach (cat_("/etc/sysconfig/network-scripts/chat-ppp0")) {
+ if (/.*ATDT(\d*).*/) {
+ $modem->{phone} = $1;
+ last;
}
- #- restore access right to secrets file, just in case.
- chmod 0600, $secrets;
}
+ pppConfig($modem, $mouse, $netc, $intf) or return;
+ write_cnx_script($netc, "modem",
+q(
+/sbin/route del default
+ifup ppp0
+),
+q(ifdown ppp0
+killall pppd
+), $netcnx->{type});
+ 1;
+}
- #- install kppprc file according to used configuration.
- mkdir_p("$::prefix/usr/share/config");
+sub pppConfig {
+ my ($modem, $mouse, $netc, $_intf) = @_;
+ $mouse ||= {};
- output("$::prefix/usr/share/config/kppprc", c::to_utf8(<<END));
-# KDE Config File
-[Account0]
-ExDNSDisabled=0
-AutoName=0
-ScriptArguments=
-AccountingEnabled=0
-DialString=ATDT
-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
- network::network::proxy_configure($::o->{miscellaneous});
+ $mouse->{device} ||= readlink "$prefix/dev/mouse";
+ $::isInstall and $in->set_help('selectSerialPort');
+ $modem->{device} ||= $in->ask_from_listf('', N("Please choose which serial port your modem is connected to."),
+ \&mouse::serial_port2text,
+ [ grep { $_ ne $mouse->{device} } (mouse::serial_ports(), if_(-e '/dev/modem', '/dev/modem')) ]) || return;
+
+ my @cnx_list;
+ my $secret = network::tools::read_secret_backend();
+ foreach (@$secret) {
+ push @cnx_list, $_->{server};
+ }
+ $::isStandalone || $in->set_help('configureNetworkISP');
+ $in->ask_from('', N("Dialup options"), [
+{ label => N("Connection name"), val => \$modem->{connection} },
+{ label => N("Phone number"), val => \$modem->{phone} },
+{ label => N("Login ID"), val => \$modem->{login} },
+{ label => N("Password"), val => \$modem->{passwd}, hidden => 1 },
+{ label => N("Authentication"), val => \$modem->{auth}, list => [ N_("PAP"), N_("Terminal-based"), N_("Script-based"), N_("CHAP") ] },
+{ label => N("Domain name"), val => \$modem->{domain} },
+{ label => N("First DNS Server (optional)"), val => \$modem->{dns1} },
+{ label => N("Second DNS Server (optional)"), val => \$modem->{dns2} },
+ ]) or return;
+ $netc->{DOMAINNAME2} = $modem->{domain};
+ any::pppConfig($in, $modem, $prefix);
+ $netc->{$_} = 'ppp0' foreach 'NET_DEVICE', 'NET_INTERFACE';
+ 1;
+}
+
+#- TODO: add choice between hcf/hsf
+sub winmodemConfigure {
+ my ($netc) = @_;
+ my $type;
+
+ foreach (keys %{$netc->{autodetect}{winmodem}}) {
+ my $temp;
+ /Hcf/ and $temp = "hcf";
+ /Hsf/ and $temp = "hsf";
+ $temp and $in->do_pkgs->what_provides("${temp}linmodem") and $type = "${temp}linmodem";
+ }
+
+ $type || $in->ask_warn(N("Warning"), N("Your modem isn't supported by the system.
+Take a look at http://www.linmodems.org")) && return 1;
+ my $e = $in->ask_from_list(N("Title"), N("\"%s\" based winmodem detected, do you want to install needed software ?", $type), [N("Install rpm"), N("Do nothing")]) or return 0;
+ $e =~ /rpm/ ? $in->do_pkgs->install($type) : return 1;
+ 1;
}
1;
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm
index f944dd762..32a3c17c3 100644
--- a/perl-install/network/netconnect.pm
+++ b/perl-install/network/netconnect.pm
@@ -1,6 +1,5 @@
-package network::netconnect; # $Id$
+package network::netconnect;
-use strict;
use common;
use log;
use detect_devices;
@@ -8,36 +7,101 @@ use run_program;
use modules;
use any;
use mouse;
-use network::network;
+use network;
+use Data::Dumper;
use network::tools;
use MDK::Common::Globals "network", qw($in $prefix $connect_file $disconnect_file $connect_prog);
-my %conf;
+my %conf;
+#- intro is called only in standalone.
+sub intro {
+ my ($prefix, $netcnx, $in) = @_;
+ my ($netc, $mouse, $intf) = ({}, {}, {});
+ my $text;
+ my $connected;
+ my $connect_file = "/etc/sysconfig/network-scripts/net_cnx_up";
+ my $disconnect_file = "/etc/sysconfig/network-scripts/net_cnx_down";
+ my $connect_prog = "/etc/sysconfig/network-scripts/net_cnx_pg";
+ read_net_conf($prefix, $netcnx, $netc);
+ if (!$::isWizard) {
+ if (connected()) {
+ $text = N("You are currently connected to internet.") . (-e $disconnect_file ? N("\nYou can disconnect or reconfigure your connection.") : N("\nYou can reconfigure your connection."));
+ $connected = 1;
+ } else {
+ $text = N("You are not currently connected to Internet.") . (-e $connect_file ? N("\nYou can connect to Internet or reconfigure your connection.") : N("\nYou can reconfigure your connection."));
+ $connected = 0;
+ }
+ my @l = (
+ if_(!$connected && -e $connect_file, { description => N("Connect"), c => 1 }),
+ if_($connected && -e $disconnect_file, { description => N("Disconnect"), c => 2 }),
+ { description => N("Configure the connection"), c => 3 },
+ { description => N("Cancel"), c => 4 },
+ );
+ my $e = $in->ask_from_listf(N("Internet connection & configuration"),
+ translate($text),
+ sub { $_[0]{description} },
+ \@l);
+ run_program::rooted($prefix, $connect_prog) if $e->{c} == 1;
+ run_program::rooted($prefix, $disconnect_file) if $e->{c} == 2;
+ main($prefix, $netcnx, $netc, $mouse, $in, $intf, 0, 0) if $e->{c} == 3;
+ $in->exit(0) if $e->{c} == 4;
+ } else {
+ main($prefix, $netcnx, $netc, $mouse, $in, $intf, 0, 0);
+ }
+}
sub detect {
- my ($auto_detect, $o_class) = @_;
- my %l = (
- isdn => sub {
- require network::isdn;
- $auto_detect->{isdn} = network::isdn::isdn_detect_backend();
- },
- lan => sub { # ethernet
- modules::load_category('network/main|gigabit|usb');
- require network::ethernet;
- $auto_detect->{lan} = { map { $_->[0] => $_->[1] } network::ethernet::conf_network_card_backend() };
- },
- adsl => sub {
- require network::adsl;
- $auto_detect->{adsl} = network::adsl::adsl_detect();
- },
- modem => sub {
- my ($modem, @pci_modems) = detect_devices::getModem();
- $modem->{device} and $auto_detect->{modem} = $modem->{device};
- @pci_modems and $auto_detect->{winmodem}{$_->{driver}} = $_->{description} foreach @pci_modems;
- },
- );
- $l{$_}->() foreach ($o_class || (keys %l));
- return;
+ my ($auto_detect, $net_install) = @_;
+ my $isdn = {};
+ require network::isdn;
+ network::isdn->import;
+ isdn_detect_backend($isdn);
+ $auto_detect->{isdn}{$_} = $isdn->{$_} foreach qw(description vendor id driver card_type type);
+ $auto_detect->{isdn}{description} =~ s/.*\|//;
+
+ modules::load_category('network/main|usb');
+ require network::ethernet;
+ network::ethernet->import;
+ my @all_cards = conf_network_card_backend(undef, undef, undef, undef, undef, undef);
+ map { $auto_detect->{lan}{$_->[0]} = $_->[1] } @all_cards if !$net_install;
+
+ my $adsl = {};
+ require network::adsl;
+ network::adsl->import;
+ $auto_detect->{adsl} = adsl_detect($adsl);
+
+ require network::modem;
+ network::modem->import;
+ my ($modem, @pci_modems) = detect_devices::getModem();
+ $modem->{device} and $auto_detect->{modem} = $modem->{device};
+ @pci_modems and $auto_detect->{winmodem}{$_->{driver}} = $_->{description} foreach @pci_modems;
+}
+
+sub pre_func {
+ my ($text) = @_;
+ $in->isa('interactive_gtk') or return;
+ $::Wizard_no_previous = 1;
+ if ($::isStandalone) {
+ $::Wizard_splash = 1;
+ require ugtk2;
+ ugtk2->import(qw(:wrappers));
+ my $W = ugtk2->new(N("Network Configuration Wizard"));
+ gtkadd($W->{window},
+ gtkpack_(new Gtk2::VBox(0, 0),
+ 1, write_on_pixmap(gtkcreate_img("drakconnect_step"),
+ 20,200,
+ N("We are now going to configure the %s connection.", translate($text)),
+ ),
+ 0, $W->create_okcancel(N("OK"))
+ )
+ );
+ $W->main;
+ $::Wizard_splash = 0;
+ } else {
+ #- for i18n : %s is the type of connection of the list: (modem, isdn, adsl, cable, local network);
+ $in->ask_okcancel(N("Network Configuration Wizard"), N("\n\n\nWe are now going to configure the %s connection.\n\n\nPress OK to continue.", translate($_[0])), 1);
+ }
+ undef $::Wizard_no_previous;
}
sub init_globals {
@@ -50,891 +114,180 @@ sub init_globals {
connect_prog => "/etc/sysconfig/network-scripts/net_cnx_pg");
}
-sub detect_timezone() {
- my %tmz2country = (
- 'Europe/Paris' => N("France"),
- 'Europe/Amsterdam' => N("Netherlands"),
- 'Europe/Rome' => N("Italy"),
- 'Europe/Brussels' => N("Belgium"),
- 'America/New_York' => N("United States"),
- 'Europe/London' => N("United Kingdom")
- );
- my %tm_parse = MDK::Common::System::getVarsFromSh('/etc/sysconfig/clock');
- my @country;
- foreach (keys %tmz2country) {
- if ($_ eq $tm_parse{ZONE}) {
- unshift @country, $tmz2country{$_};
- } else { push @country, $tmz2country{$_} };
+sub main {
+ my ($prefix, $netcnx, $netc, $mouse, $in, $intf, $first_time, $_direct_fr, $noauto) = @_;
+ init_globals($in, $prefix);
+ $netc->{minus_one} = 0; #When one configure an eth in dhcp without gateway
+ $::isInstall and $in->set_help('configureNetwork');
+ $::isStandalone and read_net_conf($prefix, $netcnx, $netc); # REDONDANCE with intro. FIXME
+ $netc->{NET_DEVICE} = $netcnx->{NET_DEVICE} if $netcnx->{NET_DEVICE}; # REDONDANCE with read_conf. FIXME
+ $netc->{NET_INTERFACE} = $netcnx->{NET_INTERFACE} if $netcnx->{NET_INTERFACE}; # REDONDANCE with read_conf. FIXME
+ network::network::read_all_conf($prefix, $netc ||= {}, $intf ||= {});
+
+ modules::mergein_conf("$prefix/etc/modules.conf");
+
+ my $direct_net_install;
+ if ($first_time && $::isInstall && ($in->{method} eq "ftp" || $in->{method} eq "http" || $in->{method} eq "nfs")) {
+ (!($::expert || $noauto) or $in->ask_okcancel(N("Network Configuration"),
+ N("Because you are doing a network installation, your network is already configured.
+Click on Ok to keep your configuration, or cancel to reconfigure your Internet & Network connection.
+"), 1)) and do {
+ $netcnx->{type} = 'lan';
+ output_with_perm("$prefix$connect_file", 0755,
+ qq(
+ifup eth0
+));
+ output("$prefix$disconnect_file", 0755,
+ qq(
+ifdown eth0
+));
+ $direct_net_install = 1;
+ goto step_5;
+};
}
- \@country;
-}
-
-
-# configuring all network devices
- sub main {
- my ($_prefix, $netcnx, $in, $o_netc, $o_mouse, $o_intf, $o_first_time, $o_noauto) = @_;
- my $netc = $o_netc || {};
- my $mouse = $o_mouse || {};
- my $intf = $o_intf || {};
- my $first_time = $o_first_time || 0;
- my ($network_configured, $direct_net_install, $cnx_type, $type, $interface, @cards, @all_cards, @devices);
- my (%connection_steps, %connections, %rconnections, @connection_list);
- my ($ntf_name, $ipadr, $netadr, $gateway_ex, $up, $modem, $isdn, $isdn_type, $adsl_type, $need_restart_network);
- my ($module, $text, $auto_ip, $net_device, $onboot, $needhostname, $hotplug, $track_network_id, @fields); # lan config
- my $success = 1;
- my $ethntf = {};
- use Data::Dumper;
-
- my %yesno = (yes => N("Yes"), no => N("No"));
-
- my %wireless_mode = (N("Ad-hoc") => "Ad-hoc",
- N("Managed") => "Managed",
- N("Master") => "Master",
- N("Repeater") => "Repeater",
- N("Secondary") => "Secondary",
- N("Auto") => "Auto",
- );
+ $netc->{autodetection} = 1;
+ $netc->{autodetect} = {};
- init_globals($in, $::prefix);
- $netc->{NET_DEVICE} = $netcnx->{NET_DEVICE} if $netcnx->{NET_DEVICE}; # REDONDANCE with read_conf. FIXME
- $netc->{NET_INTERFACE} = $netcnx->{NET_INTERFACE} if $netcnx->{NET_INTERFACE}; # REDONDANCE with read_conf. FIXME
- network::network::read_all_conf($::prefix, $netc, $intf);
-
- modules::mergein_conf("$::prefix/etc/modules.conf");
-
- $netc->{autodetection} = 0;
- $netc->{autodetect} = {};
-
- my $next_cnx_step = sub {
- my $next = connection_steps{$cnx_type};
- # FIXME: we want this in standalone mode too:
- $need_restart_network = 1 if $next =~ /lan|cable/;
- if ($next eq "multiple_internet_cnx") {
- return 1 < scalar(keys %{$netc->{internet_cnx}}) ? "multiple_internet_cnx" : $connection_steps{multiple_internet_cnx};
- }
- return $next;
- };
-
- my $ppp_first_step = sub {
- $mouse ||= {};
- $mouse->{device} ||= readlink "$::prefix/dev/mouse";
- write_cnx_script($netc, "modem", join("\n", if_($::testing, "/sbin/route del default"), "ifup ppp0"),
- q(ifdown ppp0
-killall pppd
-), $netcnx->{type});
- my $need_to_ask = $modem->{device} || !$netc->{autodetect}{winmodem};
- return $need_to_ask ? "ppp_choose" : "ppp_choose2";
- };
-
- # main wizard:
- my $wiz;
- $wiz =
- {
- defaultimage => "wiz_drakconnect.png",
- name => N("Network & Internet Configuration"),
- pages => {
- install =>
- {
- if_($::isInstall, no_back => 1),
- name => N("Welcome to The Network Configuration Wizard.
+ step_1:
+ $::Wizard_no_previous = 1;
+ my @profiles = get_profiles();
+ $in->ask_from(N("Network Configuration Wizard"),
+ N("Welcome to The Network Configuration Wizard.
We are about to configure your internet/network connection.
If you don't want to use the auto detection, deselect the checkbox.
"),
- interactive_help_id => 'configureNetwork',
- data => [
- { text => N("Use auto detection"), val => \$netc->{autodetection}, type => 'bool' },
- { text => N("Expert Mode"), val => \$::expert, type => 'bool' },
- ],
- post => sub {
- if ($netc->{autodetection}) {
- my $_w = $in->wait_message(N("Network Configuration Wizard"), N("Detecting devices..."));
- detect($netc->{autodetect});
- }
-
- $conf{$_} = values %{$netc->{autodetect}{$_}} ? 1 : 0 foreach 'lan';
- $conf{$_} = $netc->{autodetect}{$_} ? 1 : 0 foreach qw(adsl cable modem winmodem);
- $conf{isdn} = any { $_->{driver} } values %{$netc->{autodetect}{isdn}};
- return "connection";
- },
- },
-
- connection =>
- {
- pre => sub {
- if (!$::isInstall) {
- $conf{$_} = 0 foreach qw(adsl cable isdn lan modem winmodem);
- }
- my @connections =
- (
- [ #-PO: here, "(detected)" string will be appended to eg "ADSL connection"
- N("Normal modem connection"), N("(detected on port %s)", $netc->{autodetect}{modem}), "modem" ],
- [ N("Winmodem connection"), N("(detected)"), "winmodem" ],
- [ N("ISDN connection"), N("(detected %s)", join(', ', map { $_->{description} } values %{$netc->{autodetect}{isdn}})), "isdn" ],
- [ N("ADSL connection"), N("(detected)"), "adsl" ],
- [ N("Cable connection"), N("(detected)"), "cable" ],
- [ N("LAN connection"), N("(detected)"), "lan" ],
- # if we ever want to split out wireless connection, we'd to split out modules between network/main and network/wlan:
- if_(0, [ N("Wireless connection"), N("(detected)"), "lan" ]),
- );
-
- foreach (@connections) {
- my ($str, $extra_str, $type) = @$_;
- my $string = join('', $str, if_($conf{$type}, " - ", $extra_str));
- $connections{$string} = $type;
- }
- %rconnections = reverse %connections;
- if ($::isInstall) {
- @connection_list = map {
- my (undef, undef, $type) = @$_;
- +{ text => $rconnections{$type}, val => \$conf{$type}, type => 'bool' }
- } @connections;
- } else {
- @connection_list = ({ val => \$type, type => 'list', list => [ map { $_->[0] } @connections ], });
- }
- },
- if_(!$::isInstall, no_back => 1),
- name => N("Choose the connection you want to configure"),
- interactive_help_id => 'configureNetwork',
- data => \@connection_list,
- changed => sub {
- return if !$netc->{autodetection};
- my $c = 0;
- #- $conf{adsl} and $c++;
- $conf{cable} and $c++;
- my $a = keys(%{$netc->{autodetect}{lan}});
- 0 < $a && $a <= $c and $conf{lan} = undef;
- },
- complete => sub {
- # at least one connection type must be choosen
- return 0 if !$::isInstall;
- return !any { $conf{$_} } keys %conf;
- },
- post => sub {
- load_conf($netcnx, $netc, $intf) if $::isInstall; # :-(
- # while in installer, we need to link connections steps depending of which connections the user selected
- my @l;
- if ($::isInstall) {
- @l = grep { $conf{$_} } keys %conf;
- } else {
- $type = $connections{$type};
- @l = ($type);
- }
- my $first = shift @l;
- my @steps = (@l,
- "multiple_internet_cnx",
- ($::isInstall ? "miscellaneous_choose" : "apply_settings"));
- foreach my $cnx ($first, @l) {
- $connection_steps{$cnx} = shift @steps;
- }
- # FIXME: s/$type/"${type}_standalone"/ (because of newer steps for standalone mode just break all but lan paths:
- return $::isInstall ? "prepare_detection" : "${type}_standalone";
- },
- },
-
- prepare_detection =>
- {
- name => N("We are now going to configure the %s connection.\n\n\nPress \"%s\" to continue.",
- translate($type), N("Next")),
- post => $next_cnx_step,
- },
-
-
- hw_account =>
- { # ask_info2
- #my ($cnx, $netc) = @_;
-
- name => N("Connection Configuration") . "\n\n" .
- N("Please fill or check the field below"),
- data => [],
- pre => sub {
- push @{$wiz->{pages}{hw_account}{data}}, map {
- my ($dstruct, $field, $item) = @$_;
- $item->{val} = \$wiz->{var}{$dstruct}{$field};
- if__($wiz->{var}{$dstruct}{$field}, $item);
- } ([ "cnx", "irq", { label => N("Card IRQ") } ],
- [ "cnx", "mem", { label => N("Card mem (DMA)") } ],
- [ "cnx", "io", { label => N("Card IO") } ],
- [ "cnx", "io0", { label => N("Card IO_0") } ],
- [ "cnx", "io1", { label => N("Card IO_1") } ],
- [ "cnx", "phone_in", { label => N("Your personal phone number") } ],
- [ "netc", "DOMAINNAME2", { label => N("Provider name (ex provider.net)") } ],
- [ "cnx", "phone_out", { label => N("Provider phone number") } ],
- [ "netc", "dnsServer2", { label => N("Provider dns 1 (optional)") } ],
- [ "netc", "dnsServer3", { label => N("Provider dns 2 (optional)") } ],
- [ "cnx", "vpivci", { label => N("Choose your country"), list => detect_timezone() } ],
- [ "cnx", "dialing_mode", { label => N("Dialing mode"), list => ["auto", "manual"] } ],
- [ "cnx", "speed", { label => N("Connection speed"), list => ["64 Kb/s", "128 Kb/s"] } ],
- [ "cnx", "huptimeout", { label => N("Connection timeout (in sec)") } ],
- );
- push @{$wiz->{pages}{hw_account}{data}},
- ({ label => N("Account Login (user name)"), val => \$wiz->{var}{cnx}{login} },
- {
- label => N("Account Password"), val => \$wiz->{var}{cnx}{passwd}, hidden => 1 },
- );
- }
- },
- post => sub {
- my $netc = $wiz->{var}{netc};
- if ($netc->{vpivci}) {
- my %h = (N("Belgium") => '8_35' ,
- N("France") => '8_35' ,
- N("Italy") => '8_35' ,
- N("Netherlands") => '8_48' ,
- N("United Kingdom") => '0_38' ,
- N("United States") => '8_35',
- );
- $netc->{vpivci} = $h{$netc->{vpivci}};
- }
- },
-
- cable =>
- {
- name => N("Connect to the Internet") . "\n\n" .
- N("Which dhcp client do you want to use ? (default is dhcp-client)"),
- data =>
- [ { val => \$netcnx->{dhcp_client}, list => ["dhcp-client", "dhcpcd", "dhcpxd"] } ],
-
- post => sub {
- $netcnx->{type} = $type = 'cable';
- $in->do_pkgs->install($netcnx->{dhcp_client});
- write_cnx_script($netc, "cable", qq(
-/sbin/ifup $netc->{NET_DEVICE}
-),
- qq(
-/sbin/ifdown $netc->{NET_DEVICE}
-), $netcnx->{type});
- return "go_ethernet";
- },
- },
-
- go_ethernet =>
- {
- pre => sub {
- # my ($netc, $intf, $type, $ipadr, $netadr, $first_time) = @_;
- conf_network_card($netc, $intf, $type, $ipadr, $netadr) or return;
- $netc->{NET_INTERFACE} = $netc->{NET_DEVICE};
- configureNetwork($netc, $intf, $first_time) or return;
- },
- },
-
- isdn =>
- {
- pre=> sub {
- detect($netc->{autodetect}, 'isdn') if !$::isInstall && !$netc->{autodetection};
- # FIXME: offer to pick any card from values %{$netc->{autodetect}{isdn}}
- $isdn = top(values %{$netc->{autodetect}{isdn}});
- isdn_step_1:
- defined $isdn->{id} and goto intern_pci;
- },
- # !intern_pci:
- name => N("What kind is your ISDN connection?"),
- data => [ { val => \$isdn_type, type => "list", list => [ N_("Internal ISDN card"), N_("External ISDN modem") ], } ],
- post => sub {
- if ($isdn_type =~ /card/) {
- intern_pci:
- $netc->{isdntype} = 'isdn_internal';
- $netcnx->{isdn_internal} = $isdn;
- $netcnx->{isdn_internal} = isdn_read_config($netcnx->{isdn_internal});
- isdn_detect($netcnx->{isdn_internal}, $netc) or goto isdn_step_1;
- } else {
- $netc->{isdntype} = 'isdn_external';
- $netcnx->{isdn_external}{device} = $netc->{autodetect}{modem};
- $netcnx->{isdn_external} = isdn_read_config($netcnx->{isdn_external});
- $netcnx->{isdn_external}{special_command} = 'AT&F&O2B40';
- require network::modem;
- $modem = $netcnx->{isdn_external};
- return &$ppp_first_step->();
- };
-
- },
- },
-
- isdn_detect =>
- {
- pre => sub {
- my ($isdn, $netc) = @_;
- if ($isdn->{id}) {
- log::explanations("found isdn card : $isdn->{description}; vendor : $isdn->{vendor}; id : $isdn->{id}; driver : $isdn->{driver}\n");
- $isdn->{description} =~ s/\|/ -- /;
-
- isdn_detect_step_0:
- defined $isdn->{type} and my $new = $in->ask_yesorno(N("ISDN Configuration"), N("Do you want to start a new configuration ?"), 1);
-
- if ($isdn->{type} eq '' || $new) {
- isdn_ask($isdn, $netc, N("I have detected an ISDN PCI card, but I don't know its type. Please select a PCI card on the next screen.")) or goto isdn_detect_step_0;
- } else {
- isdn_detect_step_1:
- $isdn->{protocol} = isdn_ask_protocol() or goto isdn_detect_step_0;
- isdn_detect_step_2:
- isdn_ask_info($isdn, $netc) or goto isdn_detect_step_1;
- isdn_write_config($isdn, $netc) or goto isdn_detect_step_2;
- }
- } else {
- isdn_ask($isdn, $netc, N("No ISDN PCI card found. Please select one on the next screen.")) or return;
- }
- $netc->{$_} = 'ippp0' foreach 'NET_DEVICE', 'NET_INTERFACE';
- 1;
- }
- },
-
- winmodem =>
- {
- pre => sub {
- my ($in, $netcnx, $mouse, $netc) = @_;
- my %relocations = (ltmodem => $in->do_pkgs->check_kernel_module_packages('ltmodem'));
- my $type;
-
- detect($netc->{autodetect}, 'lan') if !$::isInstall && !$netc->{autodetection};
- $netc->{autodetect}{winmodem} or ($in->ask_warn(N("Warning"), N("You don't have any winmodem")) ? return 1 : $in->exit(0));
-
- foreach (keys %{$netc->{autodetect}{winmodem}}) {
- /Hcf/ and $type = "hcfpcimodem";
- /Hsf/ and $type = "hsflinmodem";
- /LT/ and $type = "ltmodem";
- $relocations{$type} || $type && $in->do_pkgs->what_provides($type) or $type = undef;
- }
-
- $type or ($in->ask_warn(N("Warning"), N("Your modem isn't supported by the system.
-Take a look at http://www.linmodems.org")) ? return 1 : $in->exit(0));
- my $e = $in->ask_from_list(N("Title"), N("\"%s\" based winmodem detected, do you want to install needed software ?", $type), [N("Install rpm"), N("Do nothing")]) or return 0;
- if ($e =~ /rpm/) {
- if ($in->do_pkgs->install($relocations{$type} ? @{$relocations{$type}} : $type)) {
- unless ($::isInstall) {
- #- fallback to modem configuration (beware to never allow test it).
- $netcnx->{type} = 'modem';
- #$type eq 'ltmodem' and $netc->{autodetect}{modem} = '/dev/ttyS14';
- return configure($in, $netcnx, $mouse, $netc);
- }
- } else {
- return 0;
- }
- }
- return 1;
- },
- },
-
- no_winmodem =>
- {
- name => N("Warning") . "\n\n" . N("You don't have any winmodem"),
- },
-
- no_supported_winmodem =>
- {
- name => N("Warning") . "\n\n" . N("Your modem isn't supported by the system.
-Take a look at http://www.linmodems.org")
- },
-
-
-
-
- modem =>
- {
- pre => sub {
- my ($in, $netcnx, $mouse, $netc) = @_;
- $netcnx->{type} = 'modem';
- my $modem = $netcnx->{$netcnx->{type}};
- $modem->{device} = $netc->{autodetect}{modem};
- my %l = getVarsFromSh("$::prefix/usr/share/config/kppprc");
- $modem->{connection} = $l{Name};
- $modem->{domain} = $l{Domain};
- ($modem->{dns1}, $modem->{dns2}) = split(',', $l{DNS});
-
- foreach (cat_("/etc/sysconfig/network-scripts/chat-ppp0")) {
- /.*ATDT(\d*)/ and $modem->{phone} = $1;
- }
- foreach (cat_("/etc/sysconfig/network-scripts/ifcfg-ppp0")) {
- /NAME=(['"]?)(.*)\1/ and $modem->{login} = $2;
- }
- my $secret = network::tools::read_secret_backend();
- foreach (@$secret) {
- $modem->{passwd} = $_->{passwd} if $_->{login} eq $modem->{login};
- }
-
- return &$ppp_first_step->();
- },
- },
-
- # FIXME: only if $need_to_ask
- ppp_choose =>
- {
- pre => sub {
- $mouse ||= {};
- $mouse->{device} ||= readlink "$::prefix/dev/mouse";
- write_cnx_script($netc, "modem", join("\n", if_($::testing, "/sbin/route del default"), "ifup ppp0"),
- q(ifdown ppp0
-killall pppd
-), $netcnx->{type});
- my $need_to_ask = $modem->{device} || !$netc->{autodetect}{winmodem};
- },
-
- name => N("Please choose which serial port your modem is connected to."),
- interactive_help_id => 'selectSerialPort',
- data => [ { var => \$modem->{device}, format => \&mouse::serial_port2text, type => "list",
- list => [ grep { $_ ne $o_mouse->{device} } (if_(-e '/dev/modem', '/dev/modem'), mouse::serial_ports()) ] } ],
-
- next => "ppp_choose2",
- },
-
- ppp_choose2 =>
- {
- pre => sub {
- #my $secret = network::tools::read_secret_backend();
- #my @cnx_list = map { $_->{server} } @$secret;
- },
- name => N("Dialup options"),
- data => [
- { label => N("Connection name"), val => \$modem->{connection} },
- { label => N("Phone number"), val => \$modem->{phone} },
- { label => N("Login ID"), val => \$modem->{login} },
- { label => N("Password"), val => \$modem->{passwd}, hidden => 1 },
- { label => N("Authentication"), val => \$modem->{auth}, list => [ N_("PAP"), N_("Terminal-based"), N_("Script-based"), N_("CHAP") ] },
- { label => N("Domain name"), val => \$modem->{domain} },
- { label => N("First DNS Server (optional)"), val => \$modem->{dns1} },
- { label => N("Second DNS Server (optional)"), val => \$modem->{dns2} },
- ],
- post => sub {
- network::modem::ppp_configure($in, $netc, $modem);
- $netc->{$_} = 'ppp0' foreach 'NET_DEVICE', 'NET_INTERFACE';
- &$next_cnx_step->();
- },
- },
-
-
- lan_standalone =>
- {
- pre => sub {
- detect($netc->{autodetect}, 'lan') if !$::isInstall;
- modules::interactive::load_category($in, 'network/main|gigabit|usb|pcmcia', !$::expert, 1);
- @all_cards = network::ethernet::conf_network_card_backend($netc, $intf);
- @cards = map { $_->[0] } @all_cards;
- foreach my $card (@all_cards) {
- modules::remove_alias($card->[1]);
- modules::add_alias($card->[0], $card->[1]);
- }
- },
- name => N("Select the network interface to configure:"),
- data => [ { label => N("Net Device"), val => \$ntf_name, list => [ detect_devices::getNet() ], allow_empty_list => 1 } ],
- post => sub {
- delete $ethntf->{$_} foreach keys %$ethntf;
- add2hash($ethntf, $intf->{$ntf_name});
- return 'lan';
- },
- },
-
-
- # FIXME: is_install: no return for each card "last step" because of manual popping
- # better construct an hash of { current_netintf => next_step } which next_step = last_card ? next_eth_step : next_card ?
- lan =>
- {
- pre => sub {
- # FIXME: set $module
- $net_device = $netc->{NET_DEVICE};
- if ($net_device eq $ethntf->{DEVICE}) {
- $text = N("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 = N("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).");
- }
- $auto_ip = $ethntf->{BOOTPROTO} !~ /static/;
- $onboot = $ethntf->{ONBOOT} ? $ethntf->{ONBOOT} =~ /yes/ : bool2yesno(!member($ethntf->{DEVICE},
- map { $_->{device} } detect_devices::pcmcia_probe()));
- $needhostname = $ethntf->{NEEDHOSTNAME} !~ /no/;
- $hotplug = $::isStandalone && !$ethntf->{MII_NOT_SUPPORTED} || 1;
- $track_network_id = $::isStandalone && $ethntf->{HWADDR} || detect_devices::isLaptop();
- delete $ethntf->{NETWORK};
- delete $ethntf->{BROADCAST};
- @fields = qw(IPADDR NETMASK);
- },
- name => sub { N("Configuring network device %s", $ethntf->{DEVICE}) . ($module ? N(" (driver %s)", $module) : '') . "\n\n" . $text },
- data => sub {
- [ { label => N("Automatic IP"), val => \$auto_ip, type => "bool", text => N("(bootp/dhcp/zeroconf)") },
- { label => N("IP address"), val => \$ethntf->{IPADDR}, disabled => sub { $auto_ip } },
- { label => N("Netmask"), val => \$ethntf->{NETMASK}, disabled => sub { $auto_ip } },
- { label => N("DHCP host name"), val => \$ethntf->{DHCP_HOSTNAME}, disabled => sub { ! ($auto_ip && $needhostname) }, advanced => 1 },
- { text => N("Track network card id (useful for laptops)"), val => \$track_network_id, type => "bool", advanced => 1 },
- { text => N("Network Hotplugging"), val => \$hotplug, type => "bool", advanced => 1 },
- { text => N("Assign host name from DHCP address"), val => \$needhostname, type => "bool", disabled => sub { ! $auto_ip }, advanced => 1 },
- { text => N("Start at boot"), val => \$onboot, type => "bool", advanced => 1 },
- ],
- },
- complete => sub {
- $ethntf->{BOOTPROTO} = $auto_ip ? join('', if_($auto_ip, "dhcp")) : "static";
- $netc->{DHCP} = $auto_ip;
- return 0 if $auto_ip;
- if (my @bad = map_index { if_(!is_ip($ethntf->{$_}), $::i) } @fields) {
- $in->ask_warn('', N("IP address should be in format 1.2.3.4"));
- return 1, $bad[0];
- }
- $in->ask_warn('', N("Warning : IP address %s is usually reserved !", $ethntf->{IPADDR})) if is_ip_forbidden($ethntf->{IPADDR});
- },
- focus_out => sub {
- $ethntf->{NETMASK} ||= netmask($ethntf->{IPADDR}) unless $_[0]
- },
- post => sub {
- $ethntf->{ONBOOT} = bool2yesno($onboot);
- $ethntf->{NEEDHOSTNAME} = bool2yesno($needhostname);
- $ethntf->{MII_NOT_SUPPORTED} = bool2yesno(!$hotplug);
- $ethntf->{HWADDR} = $track_network_id or delete $ethntf->{HWADDR};
-
- #FIXME "wireless" if $ethntf->{wireless_eth};
- # FIXME: only ask for zeroconf if no dynamic host *AND* no adsl/isdn/modem (aka type being lan|wireless)
- return is_dynamic_ip($intf) ?
- (is_dynamic_host($ethntf) ? "dhcp_hostname" : "zeroconf")
- : "static_hostname";
- },
- },
-
- wireless =>
- {
- pre => sub {
- if (is_wireless_intf($module)) {
- $ethntf->{wireless_eth} = 1;
- $netc->{wireless_eth} = 1;
- $ethntf->{WIRELESS_MODE} = "Managed";
- $ethntf->{WIRELESS_ESSID} = "any";
- }
- },
- name => N("Please enter the wireless parameters for this card:"),
- data => [
- { label => N("Operating Mode"), val => \$ethntf->{WIRELESS_MODE},
- list => [ keys %wireless_mode ] },
- { label => N("Netwok name (ESSID)"), val => \$ethntf->{WIRELESS_ESSID} },
- { label => N("Network ID"), val => \$ethntf->{WIRELESS_NWID} },
- { label => N("Operating frequency"), val => \$ethntf->{WIRELESS_FREQ} },
- { label => N("Sensitivity threshold"), val => \$ethntf->{WIRELESS_SENS} },
- { label => N("Bitrate (in b/s)"), val => \$ethntf->{WIRELESS_RATE} },
- { label => N("Encryption key"), val => \$ethntf->{WIRELESS_ENC_KEY} },
- { label => N("RTS/CTS"), val => \$ethntf->{WIRELESS_RTS},
- help => N("RTS/CTS adds a handshake before each packet transmission to make sure that the
-channel is clear. This adds overhead, but increase performance in case of hidden
-nodes or large number of active nodes. This parameters set the size of the
-smallest packet for which the node sends RTS, a value equal to the maximum
-packet size disable the scheme. You may also set this parameter to auto, fixed
-or off.")
- },
- { label => N("Fragmentation"), val => \$ethntf->{WIRELESS_FRAG} },
- { label => N("Iwconfig command extra arguments"), val => \$ethntf->{WIRELESS_IWCONFIG}, advanced => 1,
- help => N("Here, one can configure some extra wireless parameters such as:
-ap, channel, commit, enc, power, retry, sens, txpower (nick is already set as the hostname).
-
-See iwpconfig(8) man page for further information."),
- },
- { label => N("Iwspy command extra arguments"), val => \$ethntf->{WIRELESS_IWSPY}, advanced => 1,
- help => N("Iwspy is used to set a list of addresses in a wireless network
-interface and to read back quality of link information for each of those.
-
-This information is the same as the one available in /proc/net/wireless :
-quality of the link, signal strength and noise level.
-
-See iwpspy(8) man page for further information."),
- },
- { label => N("Iwpriv command extra arguments"), val => \$ethntf->{WIRELESS_IWPRIV}, advanced => 1,
- help => N("Iwpriv enable to set up optionals (private) parameters of a wireless network
-interface.
+ [
+ if_(@profiles > 1, { label => N("Choose the profile to configure"), val => \$netcnx->{PROFILE}, list => \@profiles }),
+ { label => N("Use auto detection"), val => \$netc->{autodetection}, type => 'bool' },
+ if_($::isStandalone, { label => N("Expert Mode"), val => \$::expert, type => 'bool' }),
+ ]
+ ) or goto step_5;
+ undef $::Wizard_no_previous;
+ set_profile($netcnx);
+ if ($netc->{autodetection}) {
+ my $_w = $in->wait_message(N("Network Configuration Wizard"), N("Detecting devices..."));
+ detect($netc->{autodetect}, $::isInstall && ($in->{method} eq "ftp" || $in->{method} eq "http" || $in->{method} eq "nfs"));
+ }
-Iwpriv deals with parameters and setting specific to each driver (as opposed to
-iwconfig which deals with generic ones).
+ step_2:
+
+# my $set_default;
+ $conf{$_} = $netc->{autodetect}{$_} ? 1 : 0 foreach 'modem', 'winmodem', 'adsl', 'cable', 'lan';
+ $conf{isdn} = $netc->{autodetect}{isdn}{description} ? 1 : 0;
+
+ $::isInstall and $in->set_help('configureNetwork');
+ my @l = (
+ [N("Normal modem connection") . if_($netc->{autodetect}{modem}, " - " . N("detected on port %s", $netc->{autodetect}{modem})), \$conf{modem}],
+ [N("Winmodem connection") . if_($netc->{autodetect}{winmodem}, " - " . N("detected")), \$conf{winmodem}],
+ [N("ISDN connection") . if_($netc->{autodetect}{isdn}{description}, " - " . N("detected %s", $netc->{autodetect}{isdn}{description})), \$conf{isdn}],
+ [N("ADSL connection") . if_($netc->{autodetect}{adsl}, " - " . N("detected")), \$conf{adsl}],
+ [N("Cable connection") . if_($netc->{autodetect}{cable}, " - " . N("cable connection detected")), \$conf{cable}],
+ [N("LAN connection") . if_($netc->{autodetect}{lan}, " - " . N("ethernet card(s) detected")), \$conf{lan}]
+ );
+ $::isInstall and $in->set_help('configureNetwork');
+ $in->ask_from(N("Network Configuration Wizard"), N("Choose the connection you want to configure"),
+ [ map { { label => $_->[0], val => $_->[1], type => 'bool' } } @l ],
+ changed => sub {
+ return if !$netc->{autodetection};
+ my $c = 0;
+ #- $conf{adsl} and $c++;
+ $conf{cable} and $c++;
+ my $a = keys(%{$netc->{autodetect}{lan}});
+ 0 < $a && $a <= $c and $conf{lan} = undef;
+ }
+ ) or goto step_1;
+ load_conf($netcnx, $netc, $intf);
+ $conf{modem} and do { pre_func("modem"); require network::modem; network::modem::configure($netcnx, $mouse, $netc, $intf) or goto step_2 };
+ $conf{winmodem} and do { pre_func("winmodem"); require network::modem; network::modem::winmodemConfigure($netc) or goto step_2 };
+ $conf{isdn} and do { pre_func("isdn"); require network::isdn; network::isdn::configure($netcnx, $netc, $isdn) or goto step_2 };
+ $conf{adsl} and do { pre_func("adsl"); require network::adsl; network::adsl::configure($netcnx, $netc, $intf, $first_time) or goto step_2 };
+ $conf{cable} and do { pre_func("cable"); require network::ethernet; network::ethernet::configure_cable($netcnx, $netc, $intf, $first_time) or goto step_2; $netconnect::need_restart_network = 1 };
+ $conf{lan} and do { pre_func("local network"); require network::ethernet; network::ethernet::configure_lan($netcnx, $netc, $intf, $first_time) or goto step_2; $netconnect::need_restart_network = 1 };
+
+ step_2_1:
+ my $nb = keys %{$netc->{internet_cnx}};
+ if ($nb < 1) {
+ } elsif ($nb > 1) {
+ $in->ask_from(N("Network Configuration Wizard"),
+ N("You have configured multiple ways to connect to the Internet.\nChoose the one you want to use.\n\n") . if_(!$::isStandalone, "You may want to configure some profiles after the installation, in the Mandrake Control Center"),
+ [ { label => N("Internet connection"), val => \$netc->{internet_cnx_choice}, list => [ keys %{$netc->{internet_cnx}} ] } ]
+ ) or goto step_2;
+ } elsif ($nb == 1) {
+ $netc->{internet_cnx_choice} = (keys %{$netc->{internet_cnx}})[0];
+ }
+ member($netc->{internet_cnx_choice}, ('adsl', 'isdn')) and
+ $netc->{at_boot} = $in->ask_yesorno(N("Network Configuration Wizard"), N("Do you want to start the connection at boot?"));
+ if ($netc->{internet_cnx_choice}) {
+ write_cnx_script($netc);
+ $netcnx->{type} = $netc->{internet_cnx}{$netc->{internet_cnx_choice}}{type};
+ } else {
+ unlink "$prefix/etc/sysconfig/network-scripts/net_cnx_up";
+ unlink "$prefix/etc/sysconfig/network-scripts/net_cnx_down";
+ undef $netc->{NET_DEVICE};
+ }
-In theory, the documentation of each device driver should indicate how to use
-those interface specific commands and their effect.
+ my $success = 1;
+ network::configureNetwork2($in, $prefix, $netc, $intf);
+ my $network_configured = 1;
+
+ if ($netconnect::need_restart_network && $::isStandalone and ($::expert or $in->ask_yesorno(N("Network configuration"),
+ N("The network needs to be restarted"), 1))) {
+#- run_program::rooted($prefix, "/etc/rc.d/init.d/network stop");
+ if (!run_program::rooted($prefix, "/etc/rc.d/init.d/network restart")) {
+ $success = 0;
+ $in->ask_okcancel(N("Network Configuration"), N("A problem occured while restarting the network: \n\n%s", `/etc/rc.d/init.d/network restart`), 0);
+ }
+ }
-See iwpriv(8) man page for further information."),
- }
- ],
- complete => sub {
- if ($ethntf->{WIRELESS_FREQ} !~ /[0-9.]*[kGM]/) {
- $in->ask_warn('', N("Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz frequency), or add enough '0' (zeroes)."));
- return 1, 6;
- }
- if ($ethntf->{WIRELESS_RATE} !~ /[0-9.]*[kGM]/) {
- $in->ask_warn('', N("Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add enough '0' (zeroes)."));
- return 1, 8;
- }
- },
- post => sub {
- # untranslate parameters
- $ethntf->{WIRELESS_MODE} = $wireless_mode{$ethntf->{WIRELESS_MODE}};
- },
- },
-
- conf_network_card =>
- {
- pre => sub {
- # my ($netc, $intf, $type, $ipadr, $o_netadr) = @_;
- #-type =static or dhcp
- modules::interactive::load_category($in, 'network/main|gigabit|usb', !$::expert, 1);
- @all_cards = conf_network_card_backend($netc, $intf, $type, undef, $ipadr, $netadr) or
- # FIXME: fix this
- $in->ask_warn('', N("No ethernet network adapter has been detected on your system.
-I cannot set up this connection type.")), return;
-
- },
- name => N("Choose the network interface") . "\n\n" .
- N("Please choose which network adapter you want to use to connect to Internet."),
- data => [ { var => \$interface, type => "list", list => \@all_cards, } ],
- format => sub { my ($e) = @_; $e->[0] . ($e->[1] ? " (using module $e->[1])" : "") },
-
- post => sub {
- modules::write_conf() if $::isStandalone;
- my $_device = conf_network_card_backend($netc, $intf, $type, $interface->[0], $ipadr, $netadr);
- return "lan";
- },
- },
-
- static_hostname =>
- {
- pre => sub {
- my ($in, $netc, $intf, @devices) = @_;
-
- $netc->{dnsServer} ||= dns($intf->{IPADDR});
- $gateway_ex = gateway($intf->{IPADDR});
- #- $netc->{GATEWAY} ||= gateway($intf->{IPADDR});
- },
- name => N("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."),
- data =>
- [ { label => N("Host name"), val => \$netc->{HOSTNAME} },
- { label => N("DNS server"), val => \$netc->{dnsServer} },
- { label => N("Gateway (e.g. %s)", $gateway_ex), val => \$netc->{GATEWAY} },
- if_(@devices > 1,
- { label => N("Gateway device"), val => \$netc->{GATEWAYDEV}, list => \@devices },
- ),
- ],
- complete => sub {
- if ($netc->{dnsServer} && !is_ip($netc->{dnsServer})) {
- $in->ask_warn('', N("DNS server address should be in format 1.2.3.4"));
- return 1;
- }
- if ($netc->{GATEWAY} && !is_ip($netc->{GATEWAY})) {
- $in->ask_warn('', N("Gateway address should be in format 1.2.3.4"));
- return 1;
- }
- },
- next => "miscellaneous_choose",
- },
-
- dhcp_hostname =>
- {
- },
-
- zeroconf =>
- {
- name => N("Enter a Zeroconf host name which will be the one that your machine will get back to other machines on the network:"),
- data => [ { label => N("Zeroconf Host name"), val => \$netc->{ZEROCONF_HOSTNAME} } ],
- complete => sub {
- if ($netc->{ZEROCONF_HOSTNAME} =~ /\./) {
- $in->ask_warn('', N("Zeroconf host name must not contain a ."));
- return 1;
- }
- },
- next => "miscellaneous_choose",
- },
-
- multiple_internet_cnx =>
- {
- pre => sub {
- my $nb = keys %{$netc->{internet_cnx}};
- if ($nb > 1) {
- # BUG: remember to remove reference to profiles in mcc if we do not restore this feature
- $in->ask_from("",
- N("You have configured multiple ways to connect to the Internet.\nChoose the one you want to use.\n\n") . if_(!$::isStandalone, "You may want to configure some profiles after the installation, in the Mandrake Control Center"),
- [ { label => N("Internet connection"), val => \$netc->{internet_cnx_choice}, list => [ keys %{$netc->{internet_cnx}} ] } ]
- ) or goto step_2;
- } elsif ($nb == 1) {
- $netc->{internet_cnx_choice} = (keys %{$netc->{internet_cnx}})[0];
- }
- },
- post => sub { $::isInstall ? "miscellaneous_choose" : "apply_settings" },
- },
-
- miscellaneous_choose =>
- {
- name => N("Proxies configuration"),
- data => [
- { label => N("HTTP proxy"), val => \$::o->{miscellaneous}->{http_proxy} },
- { label => N("FTP proxy"), val => \$::o->{miscellaneous}->{ftp_proxy} },
- ],
- complete => sub {
- if ($::o->{miscellaneous}->{http_proxy} !~ m,^($|http://),) {
- $in->ask_warn('', N("Proxy should be http://..."));
- return 1, 0;
- }
- if ($::o->{miscellaneous}->{ftp_proxy} !~ m,^($|ftp://|http://),) {
- $in->ask_warn('', N("URL should begin with 'ftp:' or 'http:'"));
- return 1, 1;
- }
- 0;
- },
- # FIXME: call ether_conf();
- post => sub { return !$::isInstall ? "apply_settings" : "network_on_boot" },
- },
-
- apply_settings =>
- {
- name => N("Configuration is complete, do you want to apply settings ?"),
- data => [], # FIXME: yesorno
- next => "network_on_boot",
- },
-
- network_on_boot =>
- {
- pre => sub {
- member($netc->{internet_cnx_choice}, ('adsl', 'isdn')) and $netc->{at_boot} = $in->ask_yesorno(N("Network Configuration Wizard"), N("Do you want to start the connection at boot?"));
-
- if ($netc->{internet_cnx_choice}) {
- write_cnx_script($netc);
- $netcnx->{type} = $netc->{internet_cnx}{$netc->{internet_cnx_choice}}{type};
- } else {
- unlink "$::prefix/etc/sysconfig/network-scripts/net_cnx_up";
- unlink "$::prefix/etc/sysconfig/network-scripts/net_cnx_down";
- undef $netc->{NET_DEVICE};
- }
-
- network::network::configureNetwork2($in, $::prefix, $netc, $intf);
- $network_configured = 1;
- },
- name => N("Do you want to start the connection at boot?"),
- data => [], # FIXME yes/no
- },
+ write_initscript();
+ $::isStandalone && member($netc->{internet_cnx_choice}, ('modem', 'adsl', 'isdn')) and
+ $success = ask_connect_now($netc->{internet_cnx_choice});
- restart =>
- {
- # FIXME: condition is "if ($netconnect::need_restart_network && $::isStandalone && (!$::expert || $in->ask_yesorno(..."
- name => N("The network needs to be restarted. Do you want to restart it ?"),
- # data => [ { label => N("Connection:"), val => \$type, type => 'list', list => [ sort values %l ] }, ],
- post => sub {
- if (!$::testing && !run_program::rooted($::prefix, "/etc/rc.d/init.d/network restart")) {
- $success = 0;
- $in->ask_okcancel(N("Network Configuration"),
- N("A problem occured while restarting the network: \n\n%s", `/etc/rc.d/init.d/network restart`), 0);
- }
- write_initscript();
- return $::isStandalone && member($netc->{internet_cnx_choice}, qw(modem adsl isdn)) ? "ask_connect_now" : "end";
- },
- },
-
- ask_connect_now =>
- {
- no_back => 1,
- name => N("Do you want to try to connect to the Internet now?"),
- data => [], # FIXME: yes/no
- post => sub {
- my ($a) = @_;
- my ($type) = $netc->{internet_cnx_choice};
- $up = 1;
- #- FIXME : code the exception to be generated by ask_yesorno, to be able to remove the $::Wizard_no_previous=1;
- if ($a) {
- # local $::isWizard = 0;
- my $_w = $in->wait_message('', N("Testing your connection..."), 1);
- connect_backend();
- my $s = 30;
- $type =~ /modem/ and $s = 50;
- $type =~ /adsl/ and $s = 35;
- $type =~ /isdn/ and $s = 20;
- sleep $s;
- $up = connected();
- }
- $success = $up;
- return $a ? "disconnect" : "end";
- }
- },
- disconnect =>
- {
- name => sub {
- $up ? N("The system is now connected to the Internet.") .
- if_($::isInstall, N("For security reasons, it will be disconnected now.")) :
- N("The system doesn't seem to be connected to the Internet.
-Try to reconfigure your connection.");
- },
- no_back => 1,
- end => 1,
- post => sub {
- $::isInstall and disconnect_backend();
- return "end";
- },
- },
+ step_3:
- end =>
- {
- name => sub {
- return $success ? join('', N("Congratulations, the network and Internet configuration is finished.
+ my $m = $success ? N("Congratulations, the network and Internet configuration is finished.
+The configuration will now be applied to your system.
-"), if_($::isStandalone && $in->isa('interactive::gtk'),
- N("After this is done, we recommend that you restart your X environment to avoid any hostname-related problems."))) :
- N("Problems occured during configuration.
+") . if_($::isStandalone && $in->isa('interactive_gtk'),
+N("After this is done, we recommend that you restart your X environment to avoid any hostname-related problems.")) :
+ N("Problems occured during configuration.
Test your connection via net_monitor or mcc. If your connection doesn't work, you might want to relaunch the configuration.");
- },
- end => 1,
- },
- },
- };
-
- my $use_wizard = 1;
- if ($::isInstall) {
- if ($first_time && $in->{method} =~ /^(ftp|http|nfs)$/) {
- !$::expert && !$o_noauto || $in->ask_okcancel(N("Network Configuration"),
- N("Because you are doing a network installation, your network is already configured.
-Click on Ok to keep your configuration, or cancel to reconfigure your Internet & Network connection.
-"), 1)
- and do {
- $netcnx->{type} = 'lan';
- output_with_perm("$::prefix$connect_file", 0755, qq(ifup eth0
-));
- output("$::prefix$disconnect_file", 0755, qq(
-ifdown eth0
-));
- $direct_net_install = 1;
- $use_wizard = 0;
- };
- } else {
- $wiz->{pages}{welcome} = $wiz->{pages}{install};
- }
- } else {
- $wiz->{pages}{welcome} = $wiz->{pages}{connection};
- };
-
- if ($use_wizard) {
- require wizards;
- $wiz->{var} = {
- netc => $o_netc || {},
- mouse => $o_mouse || {},
- intf => $o_intf || {},
- };
- wizards->new->safe_process($wiz, $in);
- }
+ if ($::isWizard) {
+ $::Wizard_no_previous = 1;
+ $::Wizard_finished = 1;
+ $in->ask_okcancel(N("Network Configuration"), $m, 1);
+ undef $::Wizard_no_previous;
+ undef $::Wizard_finished;
+ } else { $::isStandalone and $in->ask_warn('', $m) }
- # install needed packages:
- $network_configured or network::network::configureNetwork2($in, $::prefix, $netc, $intf);
+ step_5:
+
+ $network_configured or network::configureNetwork2($in, $prefix, $netc, $intf);
my $connect_cmd;
if ($netcnx->{type} =~ /modem/ || $netcnx->{type} =~ /isdn_external/) {
$connect_cmd = qq(
#!/bin/bash
if [ -n "\$DISPLAY" ]; then
- if [ -e /usr/bin/kppp ]; then
- /sbin/route del default
- /usr/bin/kppp &
- else
- /usr/sbin/net_monitor --connect
- fi
- else
- $connect_file
+if [ -e /usr/bin/kppp ]; then
+/sbin/route del default
+/usr/bin/kppp &
+else
+/usr/sbin/net_monitor --connect
+fi
+else
+$connect_file
fi
);
} elsif ($netcnx->{type}) {
$connect_cmd = qq(
#!/bin/bash
if [ -n "\$DISPLAY" ]; then
- /usr/sbin/net_monitor --connect
+/usr/sbin/net_monitor --connect
else
- $connect_file
+$connect_file
fi
);
} else {
@@ -947,15 +300,18 @@ fi
$connect_cmd = qq(
#!/bin/bash
if [ -n "\$DISPLAY" ]; then
- /usr/sbin/net_monitor --connect
+/usr/sbin/net_monitor --connect
else
- $connect_file
+$connect_file
fi
);
}
output_with_perm("$prefix$connect_prog", 0755, $connect_cmd) if $connect_cmd;
$netcnx->{$_} = $netc->{$_} foreach qw(NET_DEVICE NET_INTERFACE);
+
+ $netcnx->{NET_INTERFACE} and set_net_conf($netcnx, $netc);
$netcnx->{type} =~ /adsl/ or system("/sbin/chkconfig --del adsl 2> /dev/null");
+ save_conf($netcnx, $netc, $intf);
if ($::isInstall && $::o->{security} >= 3) {
require network::drakfirewall;
@@ -963,69 +319,275 @@ fi
}
}
-sub set_profile {
- my ($netcnx) = @_;
- system(qq(/sbin/set-netprofile "$netcnx->{PROFILE}"));
- log::explanations(qq(Switching to "$netcnx->{PROFILE}" profile));
+sub save_conf {
+ my ($netcnx, $netc, $intf) = @_;
+ my $adsl;
+ my $modem;
+ my $isdn;
+ $netcnx->{type} =~ /adsl/ and $adsl = $netcnx->{$netcnx->{type}};
+ $netcnx->{type} eq 'isdn_external' || $netcnx->{type} eq 'modem' and $modem = $netcnx->{$netcnx->{type}};
+ $netcnx->{type} eq 'isdn_internal' and $isdn = $netcnx->{$netcnx->{type}};
+ modules::load_category('network/main|usb');
+ require network::ethernet;
+ network::ethernet->import;
+ my @_all_cards = conf_network_card_backend($netc, $intf, undef, undef, undef, undef);
+
+ $intf = { %$intf };
+# "SystemName=" . do { $netc->{HOSTNAME} =~ /([^\.]*)\./; $1 } . "
+#DomainName=" . do { $netc->{HOSTNAME} =~ /\.(.*)/; $1 } . "
+#InternetAccessType=" . do { if ($netcnx->{type}) { $netcnx->{type} } else { $netc->{GATEWAY} ? "lan" : "" } } . "
+#InternetInterface=" . ($netc->{GATEWAY} && (!$netcnx->{type} || $netcnx->{type} eq 'lan') ? $netc->{GATEWAYDEV} : $netcnx->{NET_INTERFACE}) . "
+# InternetGateway=$netc->{GATEWAY}
+# DNSPrimaryIP=$netc->{dnsServer}
+# DNSSecondaryIP=$netc->{dnsServer2}
+# DNSThirdIP=$netc->{dnsServer3}
+# AdminInterface=
+
+# " . join ('', map {
+# "Eth${_}Known=" . ($intf->{"eth$_"}{DEVICE} eq "eth$_" ? 'true' : 'false') . "
+# Eth${_}IP=" . $intf->{"eth$_"}{IPADDR} . "
+# Eth${_}Mask=" . $intf->{"eth$_"}{NETMASK} . "
+# Eth${_}Mac=
+# Eth${_}BootProto=" . $intf->{"eth$_"}{BOOTPROTO} . "
+# Eth${_}OnBoot=" . $intf->{"eth$_"}{ONBOOT} . "
+# Eth${_}Hostname=$netc->{HOSTNAME}
+# Eth${_}HostAlias=" . do { $netc->{HOSTNAME} =~ /([^\.]*)\./; $1 } . "
+# Eth${_}Driver=$all_cards[$_][1]
+# Eth${_}Irq=
+# Eth${_}Port=
+# Eth${_}DHCPClient=" . ($intf->{"eth$_"}{BOOTPROTO} eq 'dhcp' ? $netcnx->{dhcp_client} : '') . "
+# Eth${_}DHCPServerName=" . ($intf->{"eth$_"}{BOOTPROTO} eq 'dhcp' ? $netc->{HOSTNAME} : '') . "\n"
+# } (0..9)) .
+# ISDNDriver=$isdn->{driver}
+# ISDNDeviceType=$isdn->{type}
+# ISDNIrq=$isdn->{irq}
+# ISDNMem=$isdn->{mem}
+# ISDNIo=$isdn->{io}
+# ISDNIo0=$isdn->{io0}
+# ISDNIo1=$isdn->{io1}
+# ISDNProtocol=$isdn->{protocol}
+# ISDNCardDescription=$isdn->{description}
+# ISDNCardVendor=$isdn->{vendor}
+# ISDNId=$isdn->{id}
+# ISDNProvider=$netc->{DOMAINNAME2}
+# ISDNProviderPhone=$isdn->{phone_out}
+# ISDNProviderDomain=" . do { $netc->{DOMAINNAME2} =~ /\.(.*)/; $1 } . "
+# ISDNProviderDNS1=$netc->{dnsServer2}
+# ISDNProviderDNS2=$netc->{dnsServer3}
+# ISDNDialing=$isdn->{dialing_mode}
+# ISDNSpeed=$isdn->{speed}
+# ISDNTimeout=$isdn->{huptimeout}
+# ISDNHomePhone=$isdn->{phone_in}
+# ISDNLogin=$isdn->{login}
+# ISDNPassword=$isdn->{passwd}
+# ISDNConfirmPassword=$isdn->{passwd2}
+# PPPProviderPhone=$modem->{phone}
+# PPPProviderDNS1=$modem->{dns1}
+# PPPProviderDNS2=$modem->{dns2}
+# PPPPassword=$modem->{passwd}
+# PPPConfirmPassword=$modem->{passwd}
+# ADSLProviderDNS1=$netc->{dnsServer2}
+# ADSLProviderDNS2=$netc->{dnsServer3}
+
+ my $str;
+ $str .= "
+PPPDevice=$modem->{device}
+PPPDeviceSpeed=
+PPPConnectionName=$modem->{connection}
+PPPProviderDomain=$modem->{domain}
+PPPLogin=$modem->{login}
+PPPAuthentication=$modem->{auth}
+PPPSpecialCommand=" . ($netcnx->{type} eq 'isdn_external' ? $netcnx->{isdn_external}{special_command} : '') if $conf{modem};
+
+ $str .= "
+ADSLInterfacesList=
+ADSLModem=" . q( # Obsolete information. Please don't use it.) . "
+ADSLType=" . ($netcnx->{type} =~ /adsl/ ? $netcnx->{type} : '') . "
+ADSLProviderDomain=$netc->{DOMAINNAME2}
+ADSLLogin=$adsl->{login}
+" . #ADSLPassword=$adsl->{passwd}
+"DOMAINNAME2=$netc->{DOMAINNAME2}" if $conf{adsl};
+
+ output_with_perm("$prefix/etc/sysconfig/network-scripts/drakconnect_conf", 0600, $str);
+ my $a = $netcnx->{PROFILE} ? $netcnx->{PROFILE} : "default";
+ cp_af("$prefix/etc/sysconfig/network-scripts/drakconnect_conf", "$prefix/etc/sysconfig/network-scripts/drakconnect_conf." . $a);
+ chmod 0600, "$prefix/etc/sysconfig/network-scripts/drakconnect_conf";
+ chmod 0600, "$prefix/etc/sysconfig/network-scripts/drakconnect_conf." . $a;
+ foreach (["$prefix$connect_file", "up"],
+ ["$prefix$disconnect_file", "down"],
+ ["$prefix$connect_prog", "prog"],
+ ["$prefix/etc/ppp/ioptions1B", "iop1B"],
+ ["$prefix/etc/ppp/ioptions2B", "iop2B"],
+ ["$prefix/etc/isdn/isdn1B.conf", "isdn1B"],
+ ["$prefix/etc/isdn/isdn2B.conf", "isdn2B"],
+ ["$prefix/etc/resolv.conf", "resolv"],
+ ["$prefix/etc/ppp/peers/adsl", "speedtouch"],
+ ["$prefix/etc/ppp/peers/adsl", "eci"],
+ ) {
+ my $file = "$prefix/etc/sysconfig/network-scripts/net_" . $_->[1] . "." . $a;
+ -e ($_->[0]) and cp_af($_->[0], $file) and chmod 0755, $file;
+ }
}
-sub save_profile {
- my ($netcnx) = @_;
- system(qq(/sbin/save-netprofile "$netcnx->{PROFILE}"));
- log::explanations(qq(Saving "$netcnx->{PROFILE}" profile));
+sub set_profile {
+ my ($netcnx, $profile) = @_;
+ $profile ||= $netcnx->{PROFILE};
+ $profile or return;
+ my $f = "$prefix/etc/sysconfig/network-scripts/drakconnect_conf";
+ -e ($f . "." . $profile) or return;
+ $netcnx->{PROFILE} = $profile;
+ cp_af($f . "." . $profile, $f);
+ foreach (["$prefix$connect_file", "up"],
+ ["$prefix$disconnect_file", "down"],
+ ["$prefix$connect_prog", "prog"],
+ ["$prefix/etc/ppp/ioptions1B", "iop1B"],
+ ["$prefix/etc/ppp/ioptions2B", "iop2B"],
+ ["$prefix/etc/isdn/isdn1B.conf", "isdn1B"],
+ ["$prefix/etc/isdn/isdn2B.conf", "isdn2B"],
+ ["$prefix/etc/resolv.conf", "resolv"],
+ ["$prefix/etc/ppp/peers/adsl", "speedtouch"],
+ ["$prefix/etc/ppp/peers/adsl", "eci"],
+ ) {
+ my $c = "$prefix/etc/sysconfig/network-scripts/net_" . $_->[1] . "." . $profile;
+ -e ($c) and cp_af($c, $_->[0]);
+ }
}
sub del_profile {
- my ($profile) = @_;
- return if !$profile || $profile eq "default";
- rm_rf("$::prefix/etc/netprofile/profiles/$profile");
- log::explanations(qq(Deleting "$profile" profile));
+ my ($_netcnx, $profile) = @_;
+ $profile or return;
+ $profile eq "default" and return;
+ rm_rf("$prefix/etc/sysconfig/network-scripts/drakconnect_conf." . $profile);
+ rm_rf(glob_("$prefix/etc/sysconfig/network-scripts/net_{up,down,prog,iop1B,iop2B,isdn1B,isdn2B,resolv,speedtouch}." . $profile));
}
sub add_profile {
my ($netcnx, $profile) = @_;
- return if !$profile || $profile eq "default" || member($profile, get_profiles());
- system(qq(/sbin/clone-netprofile "$netcnx->{PROFILE}" "$profile"));
- log::explanations(qq("Creating "$profile" profile));
+ $profile or return;
+ $profile eq "default" and return;
+ my $cmd1 = "$prefix/etc/sysconfig/network-scripts/drakconnect_conf." . ($netcnx->{PROFILE} ? $netcnx->{PROFILE} : "default");
+ my $cmd2 = "$prefix/etc/sysconfig/network-scripts/drakconnect_conf." . $profile;
+ cp_af($cmd1, $cmd2);
}
-sub get_profiles() {
- map { if_(m!([^/]*)/$!, $1) } glob("$::prefix/etc/netprofile/profiles/*/");
+sub get_profiles {
+ map { if_(/drakconnect_conf\.(.*)/, $1) } all("$::prefix/etc/sysconfig/network-scripts");
}
+
sub load_conf {
my ($netcnx, $netc, $intf) = @_;
- my $current = { getVarsFromSh("$prefix/etc/netprofile/current") };
-
- $netcnx->{PROFILE} = $current->{PROFILE} || 'default';
- network::network::read_all_conf($prefix, $netc, $intf);
+ my $adsl_pptp = {};
+ my $adsl_pppoe = {};
+ my $modem = {};
+ my $isdn_external = {};
+ my $isdn = {};
+
+ if (-e "$prefix/etc/sysconfig/network-scripts/drakconnect_conf") {
+ foreach (cat_("$prefix/etc/sysconfig/network-scripts/drakconnect_conf")) {
+# /^DNSPrimaryIP=(.*)$/ and $netc->{dnsServer} = $1;
+# /^DNSSecondaryIP=(.*)$/ and $netc->{dnsServer2} = $1;
+# /^DNSThirdIP=(.*)$/ and $netc->{dnsServer3} = $1;
+# /^InternetAccessType=(.*)$/ and $netcnx->{type} = $1;
+# /^InternetInterface=(.*)$/ and $netcnx->{NET_INTERFACE} = $1;
+# /^InternetGateway=(.*)$/ and $netc->{GATEWAY} = $1;
+# /^SystemName=(.*)$/ and $system_name = $1;
+# /^DomainName=(.*)$/ and $domain_name = $1;
+# /^Eth([0-9])Known=true$/ and $intf->{"eth$1"}{DEVICE} = "eth$1";
+# /^Eth([0-9])IP=(.*)$/ && $intf->{"eth$1"}{DEVICE} and $intf->{"eth$1"}{IPADDR} = $2;
+# /^Eth([0-9])Mask=(.*)\n/ && $intf->{"eth$1"}{DEVICE} and $intf->{"eth$1"}{NETMASK} = $2;
+# /^Eth([0-9])BootProto=(.*)\n/ && $intf->{"eth$1"}{DEVICE} and $intf->{"eth$1"}{BOOTPROTO} = $2;
+# /^Eth([0-9])OnBoot=(.*)\n/ && $intf->{"eth$1"}{DEVICE} and $intf->{"eth$1"}{ONBOOT} = $2;
+# /^Eth([0-9])Hostname=(.*)\n/ && $intf->{"eth$1"}{DEVICE} and $netc->{HOSTNAME} = $2;
+# /^Eth([0-9])Driver=(.*)\n/ && $intf->{"eth$1"}{DEVICE} and $intf->{"eth$1"}{driver} = $2;
+# /^ISDNDriver=(.*)$/ and $isdn->{driver} = $1;
+# /^ISDNDeviceType=(.*)$/ and $isdn->{type} = $1;
+# /^ISDNIrq=(.*)/ and $isdn->{irq} = $1;
+# /^ISDNMem=(.*)$/ and $isdn->{mem} = $1;
+# /^ISDNIo=(.*)$/ and $isdn->{io} = $1;
+# /^ISDNIo0=(.*)$/ and $isdn->{io0} = $1;
+# /^ISDNIo1=(.*)$/ and $isdn->{io1} = $1;
+# /^ISDNProtocol=(.*)$/ and $isdn->{protocol} = $1;
+# /^ISDNCardDescription=(.*)$/ and $isdn->{description} = $1;
+# /^ISDNCardVendor=(.*)$/ and $isdn->{vendor} = $1;
+# /^ISDNId=(.*)$/ and $isdn->{id} = $1;
+# /^ISDNProviderPhone=(.*)$/ and $isdn->{phone_out} = $1;
+# /^ISDNDialing=(.*)$/ and $isdn->{dialing_mode} = $1;
+# /^ISDNISDNSpeed=(.*)$/ and $isdn->{speed} = $1;
+# /^ISDNTimeout=(.*)$/ and $isdn->{huptimeout} = $1;
+# /^ISDNHomePhone=(.*)$/ and $isdn->{phone_in} = $1;
+# /^ISDNLogin=(.*)$/ and $isdn->{login} = $1;
+# /^ISDNPassword=(.*)$/ and $isdn->{passwd} = $1;
+# /^ISDNConfirmPassword=(.*)$/ and $isdn->{passwd2} = $1;
+
+ #/^PPPDevice=(.*)$/ and $modem->{device} = $1;
+ /^PPPConnectionName=(.*)$/ and $modem->{connection} = $1; # Keep this for futur multiple cnx support
+ #/^PPPProviderPhone=(.*)$/ and $modem->{phone} = $1;
+ /^PPPProviderDomain=(.*)$/ and $modem->{domain} = $1; # used only for kppp
+ #/^PPPProviderDNS1=(.*)$/ and $modem->{dns1} = $1; # be aware that this value is now extracted from kppprc file ONLY
+ #/^PPPProviderDNS2=(.*)$/ and $modem->{dns2} = $1;
+ /^PPPLogin=(.*)$/ and $modem->{login} = $1;
+ #/^PPPPassword=(.*)$/ and $modem->{passwd} = $1;
+ /^PPPAuthentication=(.*)$/ and $modem->{auth} = $1; # We keep this because system is configured the same for both PAP and CHAP.
+ if (/^PPPSpecialCommand=(.*)$/) {
+ $netcnx->{type} eq 'isdn_external' and $netcnx->{$netcnx->{type}}{special_command} = $1;
+ }
+# /^ADSLLogin=(.*)$/ and $adsl_pppoe->{login} = $1;
+# /^ADSLPassword=(.*)$/ and $adsl_pppoe->{passwd} = $1;
+ /^DOMAINNAME2=(.*)$/ and $netc->{DOMAINNAME2} = $1;
+ }
+ }
+# $system_name && $domain_name and $netc->{HOSTNAME} = join ('.', $system_name, $domain_name);
+ $adsl_pptp->{$_} = $adsl_pppoe->{$_} foreach 'login', 'passwd', 'passwd2';
+ $isdn_external->{$_} = $modem->{$_} foreach 'device', 'connection', 'phone', 'domain', 'dns1', 'dns2', 'login', 'passwd', 'auth';
+ $netcnx->{adsl_pptp} = $adsl_pptp;
+ $netcnx->{adsl_pppoe} = $adsl_pppoe;
+ $netcnx->{modem} = $modem;
+ $netcnx->{modem} = $isdn_external;
+ $netcnx->{isdn_internal} = $isdn;
+# -e "$prefix/etc/sysconfig/network" and put_in_hash($netc, network::read_conf("$prefix/etc/sysconfig/network"));
+# foreach (glob_("$prefix/etc/sysconfig/ifcfg-*")) {
+# my $l = network::read_interface_conf($_);
+# $intf->{$l->{DEVICE}} = $l;
+# }
+# my $file = "$prefix/etc/resolv.conf";
+# if (-e $file) {
+# put_in_hash($netc, network::read_resolv_conf($file));
+# }
+ network::read_all_conf($prefix, $netc, $intf);
}
-sub get_net_device() {
- my $connect_file = "/etc/sysconfig/network-scripts/net_cnx_up";
- my $network_file = "/etc/sysconfig/network";
- if (cat_("$prefix$connect_file") =~ /ifup/) {
- if_(cat_($connect_file) =~ /^\s*ifup\s+(.*)/m, split(' ', $1))
- } elsif (cat_("$prefix$connect_file") =~ /network/) {
- ${{ getVarsFromSh("$prefix$network_file") }}{GATEWAYDEV};
- } elsif (cat_("$prefix$connect_file") =~ /isdn/) {
- "ippp+";
- } else {
- "ppp+";
- };
+#- ensures the migration from old config files
+sub read_raw_net_conf {
+ my ($suffix) = @_;
+ my $dir = "$::prefix/etc/sysconfig/network-scripts";
+# $suffix = $suffix ? ".$suffix" : '';
+ rename "$dir/draknet$suffix", "$dir/drakconnect$suffix";
+ getVarsFromSh("$dir/drakconnect_conf");
+}
+
+sub get_net_device {
+ ${{ read_raw_net_conf() }}{InternetInterface};
}
sub read_net_conf {
my ($_prefix, $netcnx, $netc) = @_;
+ add2hash($netcnx, { read_raw_net_conf('_conf') });
$netc->{$_} = $netcnx->{$_} foreach 'NET_DEVICE', 'NET_INTERFACE';
$netcnx->{$netcnx->{type}} ||= {};
+ add2hash($netcnx->{$netcnx->{type}}, { read_raw_net_conf($netcnx->{type}) });
+}
+
+sub set_net_conf {
+ my ($netcnx, $netc) = @_;
+ setVarsInShMode("$prefix/etc/sysconfig/drakconnect", 0600, $netcnx, "NET_DEVICE", "NET_INTERFACE", "type", "PROFILE");
+ setVarsInShMode("$prefix/etc/sysconfig/drakconnect." . $netcnx->{type}, 0600, $netcnx->{$netcnx->{type}}); #- doesn't work, don't know why
+ setVarsInShMode("$prefix/etc/sysconfig/drakconnect.netc", 0600, $netc); #- doesn't work, don't know why
}
sub start_internet {
my ($o) = @_;
init_globals($o, $o->{prefix});
- #- give a chance for module to be loaded using kernel-BOOT modules...
- $::isStandalone or modules::load_category('network/main|gigabit|usb');
run_program::rooted($prefix, $connect_file);
}
@@ -1035,6 +597,9 @@ sub stop_internet {
run_program::rooted($prefix, $disconnect_file);
}
+#---------------------------------------------
+# WONDERFULL pad
+#---------------------------------------------
1;
=head1 network::netconnect::detect()
diff --git a/perl-install/network/network.pm b/perl-install/network/network.pm
index abd0cf486..12085f636 100644
--- a/perl-install/network/network.pm
+++ b/perl-install/network/network.pm
@@ -3,48 +3,38 @@ package network::network; # $Id$wir
#-######################################################################################
#- misc imports
#-######################################################################################
-
-use strict;
-
use Socket;
+
use common;
use detect_devices;
use run_program;
-use network::tools;
use any;
-use vars qw(@ISA @EXPORT);
use log;
+use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
-@EXPORT = qw(add2hosts addDefaultRoute configureNetwork2 dns dnsServers down_it findIntf gateway guessHostname is_ip is_ip_forbidden masked_ip netmask read_all_conf read_conf read_interface_conf read_resolv_conf resolv sethostname up_it write_conf write_resolv_conf);
+@EXPORT = qw(resolv configureNetworkIntf netmask dns is_ip masked_ip findIntf addDefaultRoute write_interface_conf read_all_conf dnsServers guessHostname configureNetworkNet read_resolv_conf read_interface_conf add2hosts gateway configureNetwork2 write_conf sethostname miscellaneousNetwork down_it read_conf write_resolv_conf up_it);
#-######################################################################################
#- Functions
#-######################################################################################
sub read_conf {
my ($file) = @_;
- +{ getVarsFromSh($file) };
-}
-
-sub read_resolv_conf_raw {
- my ($file) = @_;
- $file ||= "$::prefix/etc/resolv.conf";
- { nameserver => [ cat_($file) =~ /^\s*nameserver\s+(\S+)/mg ],
- search => [ if_(cat_($file) =~ /^\s*search\s+(.*)/m, split(' ', $1)) ] };
+ my %netc = getVarsFromSh($file);
+ \%netc;
}
sub read_resolv_conf {
my ($file) = @_;
- my $resolv_conf = read_resolv_conf_raw($file);
- +{
- (mapn { $_[0] => $_[1] } [ qw(dnsServer dnsServer2 dnsServer3) ], $resolv_conf->{nameserver}),
- (mapn { $_[0] => $_[1] } [ qw(DOMAINNAME DOMAINNAME2 DOMAINNAME3) ], $resolv_conf->{search}),
- };
+ my @l = map { if_(/^\s*nameserver\s+(\S+)/, $1) } cat_($file);
+
+ my %netc = mapn { $_[0] => $_[1] } [ qw(dnsServer dnsServer2 dnsServer3) ], \@l;
+ \%netc;
}
sub read_interface_conf {
my ($file) = @_;
- my %intf = getVarsFromSh($file);
+ my %intf = getVarsFromSh($file) or die "cannot open file $file: $!";
$intf{BOOTPROTO} ||= 'static';
$intf{isPtp} = $intf{NETWORK} eq '255.255.255.255';
@@ -52,31 +42,6 @@ sub read_interface_conf {
\%intf;
}
-sub read_dhcpd_conf {
- my ($file) = @_;
- $file ||= "$::prefix/etc/dhcpd.conf";
- { option_routers => [ cat_($file) =~ /^\s*option routers\s+(\S+);/mg ],
- subnet_mask => [ if_(cat_($file) =~ /^\s*option subnet-mask\s+(.*);/mg, split(' ', $1)) ],
- domain_name => [ if_(cat_($file) =~ /^\s*option domain-name\s+"(.*)";/mg, split(' ', $1)) ],
- domain_name_servers => [ if_(cat_($file) =~ /^\s*option domain-name-servers\s+(.*);/m, split(' ', $1)) ],
- dynamic_bootp => [ if_(cat_($file) =~ /^\s*range dynamic-bootp\s+\S+\.(\d+)\s+\S+\.(\d+)\s*;/m, split(' ', $1)) ],
- default_lease_time => [ if_(cat_($file) =~ /^\s*default-lease-time\s+(.*);/m, split(' ', $1)) ],
- max_lease_time => [ if_(cat_($file) =~ /^\s*max-lease-time\s+(.*);/m, split(' ', $1)) ] };
-}
-
-sub read_tmdns_conf {
- my ($file) = @_;
- local *F; open F, $file or die "cannot open file $file: $!";
- local $_;
- my %outf;
-
- while (<F>) {
- ($outf{ZEROCONF_HOSTNAME}) = /^\s*hostname\s*=\s*(\w+)/ and return \%outf;
- }
-
- \%outf;
-}
-
sub up_it {
my ($prefix, $intfs) = @_;
$_->{isUp} and return foreach values %$intfs;
@@ -94,24 +59,25 @@ sub down_it {
sub write_conf {
my ($file, $netc) = @_;
- if ($netc->{HOSTNAME} && $netc->{HOSTNAME} =~ /\.(.+)$/) {
- $netc->{DOMAINNAME} = $1;
+ if ($netc->{HOSTNAME}) {
+ $netc->{HOSTNAME} =~ /\.(.*)$/;
+ $1 and $netc->{DOMAINNAME} = $1;
}
- $netc->{NETWORKING} = 'yes';
-
- setVarsInSh($file, $netc, qw(HOSTNAME NETWORKING GATEWAY GATEWAYDEV NISDOMAIN));
-}
+ ($netc->{DOMAINNAME}) ||= 'localdomain';
+ add2hash($netc, {
+ NETWORKING => "yes",
+ FORWARD_IPV4 => "false",
+ HOSTNAME => "localhost.$netc->{DOMAINNAME}",
+ });
-sub write_zeroconf {
- my ($file, $zhostname) = @_;
- eval { substInFile { s/^\s*(hostname)\s*=.*/$1 = $zhostname/ } $file };
+ setVarsInSh($file, $netc, qw(NETWORKING FORWARD_IPV4 DHCP_HOSTNAME HOSTNAME DOMAINNAME GATEWAY GATEWAYDEV NISDOMAIN));
}
sub write_resolv_conf {
my ($file, $netc) = @_;
my %new = (
- search => [ grep { $_ } uniq(@$netc{'DOMAINNAME', 'DOMAINNAME2', 'DOMAINNAME3'}) ],
+ search => [ grep { $_ } uniq(@$netc{'DOMAINNAME', 'DOMAINNAME2'}) ],
nameserver => [ grep { $_ } uniq(@$netc{'dnsServer', 'dnsServer2', 'dnsServer3'}) ],
);
@@ -142,43 +108,32 @@ sub write_resolv_conf {
my @old = map { "# nameserver $_\n" } @{$prev{nameserver}};
@new, @old;
};
- output_with_perm($file, 0644, @search, @nameserver, (map { "# $_\n" } @unknown), "\n# ppp temp entry\n");
-
+ output($file, @search, @nameserver, (map { "# $_\n" } @unknown), "\n# ppp temp entry\n");
+
#-res_init(); # reinit the resolver so DNS changes take affect
1;
} else {
- log::explanations("neither domain name nor dns server are configured");
+ log::l("neither domain name nor dns server are configured");
0;
}
}
sub write_interface_conf {
- my ($file, $intf, $_netc, $prefix) = @_;
-
- if ($intf->{HWADDR} && -e "$prefix/sbin/ip") {
- $intf->{HWADDR} = undef;
- if (my $s = `LC_ALL= LANG= $prefix/sbin/ip -o link show $intf->{DEVICE} 2>/dev/null`) {
- if ($s =~ m|.*link/ether\s([0-9a-z:]+)\s|) {
- $intf->{HWADDR} = $1;
- }
- }
- }
+ my ($file, $intf, $prefix) = @_;
+
my @ip = split '\.', $intf->{IPADDR};
my @mask = split '\.', $intf->{NETMASK};
-
+ my $hwaddr;
+ $::o->{miscellaneous}{track_network_id} and $hwaddr = -e "$prefix/sbin/ip" && `LC_ALL= LANG= $prefix/sbin/ip -o link show $intf->{DEVICE} 2>/dev/null`;
+ if ($hwaddr) { chomp $hwaddr; $hwaddr =~ s/.*link\/ether\s([0-9a-z:]+)\s.*/$1/ }
+ $hwaddr and $intf->{HWADDR} = undef;
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::pcmcia_probe())),
+ ONBOOT => bool2yesno(!member($intf->{DEVICE}, map { $_->{device} } detect_devices::probeall())),
+ if_($::o->{miscellaneous}{track_network_id}, HWADDR => $hwaddr)
});
-
- $intf->{BOOTPROTO} =~ s/dhcp.*/dhcp/;
-
- setVarsInSh($file, $intf, qw(DEVICE BOOTPROTO IPADDR NETMASK NETWORK BROADCAST ONBOOT HWADDR MII_NOT_SUPPORTED),
- 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),
- if_($intf->{BOOTPROTO} eq "dhcp", qw(DHCP_HOSTNAME NEEDHOSTNAME))
- );
- log::explanations("written $intf->{DEVICE} interface configuration in $file");
+ setVarsInSh($file, $intf, qw(DEVICE BOOTPROTO IPADDR NETMASK NETWORK BROADCAST ONBOOT HWADDR), if_($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 {
@@ -190,7 +145,7 @@ sub add2hosts {
my $sub_hostname = $hostname =~ /(.*?)\./ ? " $1" : '';
$l{$_} = "\t\t$hostname$sub_hostname" foreach grep { $_ } @ips;
- log::explanations("writing host information to $file");
+ log::l("writing host information to $file");
output($file, map { "$_$l{$_}\n" } keys %l);
}
@@ -203,9 +158,9 @@ sub guessHostname {
write_resolv_conf("$prefix/etc/resolv.conf", $netc);
- my $name = gethostbyaddr(Socket::inet_aton($intf->{IPADDR}), Socket::AF_INET()) or log::explanations("reverse name lookup failed"), return 0;
+ my $name = gethostbyaddr(Socket::inet_aton($intf->{IPADDR}), Socket::AF_INET()) or log::l("reverse name lookup failed"), return 0;
- log::explanations("reverse name lookup worked");
+ log::l("reverse name lookup worked");
add2hash($netc, { HOSTNAME => $name });
1;
@@ -218,16 +173,14 @@ sub addDefaultRoute {
sub sethostname {
my ($netc) = @_;
- my $text;
- syscall_("sethostname", $netc->{HOSTNAME}, length $netc->{HOSTNAME}) ? ($text="set sethostname to $netc->{HOSTNAME}") : ($text="sethostname failed: $!");
- log::explanations($text);
+ 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::explanations("resolved $name in $a");
+ #-log::l("resolved $name in $a");
$a;
}
@@ -242,31 +195,14 @@ sub findIntf {
$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) = @_;
my @fields = $ip =~ $ip_regexp or return;
- every { 0 <= $_ && $_ <= 255 } @fields or return;
+ return if grep { $_ < 0 || $_ > 255 } @fields;
@fields;
}
-
-sub ip_compare {
- my ($ip1, $ip2) = @_;
- my (@ip1_fields) = $ip1 =~ $ip_regexp;
- my (@ip2_fields) = $ip2 =~ $ip_regexp;
-
- every { $ip1_fields[$_] eq $ip2_fields[$_] } (0 .. 3);
-}
-
-sub is_ip_forbidden {
- my ($ip) = @_;
- my @forbidden = ('127.0.0.1', '255.255.255.255');
-
- any { ip_compare($ip, $_) } @forbidden;
-}
-
sub is_domain_name {
my ($name) = @_;
my @fields = split /\./, $name;
@@ -276,7 +212,7 @@ sub is_domain_name {
sub netmask {
my ($ip) = @_;
return "255.255.255.0" unless is_ip($ip);
- $ip =~ $ip_regexp or warn "IP_regexp failed\n" and return "255.255.255.0";
+ $ip =~ $ip_regexp;
if ($1 >= 1 && $1 < 127) {
"255.0.0.0"; #-1.0.0.0 to 127.0.0.0
} elsif ($1 >= 128 && $1 <= 191) {
@@ -305,70 +241,168 @@ sub dns {
join(".", @masked);
}
-
sub gateway {
my ($ip) = @_;
my @masked = masked_ip($ip) =~ $ip_regexp;
$masked[3] = 1;
join(".", @masked);
+
}
-sub proxy_configure {
- my ($u) = @_;
- setExportedVarsInSh("$::prefix/etc/profile.d/proxy.sh", $u, qw(http_proxy ftp_proxy));
- setExportedVarsInCsh("$::prefix/etc/profile.d/proxy.csh", $u, qw(http_proxy ftp_proxy));
+sub configureNetworkIntf {
+ my ($netc, $in, $intf, $net_device, $skip, $module) = @_;
+ my $text;
+ my @wireless_modules = qw(aironet_cs aironet4500_cs hermes airo orinoco_cs orinoco airo_cs netwave_cs ray_cs wavelan_cs wvlan_cs airport);
+ my $flag = 0;
+ foreach (@wireless_modules) {
+ $module =~ /$_/ and $flag = 1;
+ }
+ if ($flag) {
+ $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 = N("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 = N("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 $onboot = 1;
+ my @fields = qw(IPADDR NETMASK);
+ $::isStandalone or $in->set_help('configureNetworkIP');
+ $in->ask_from(N("Configuring network device %s", $intf->{DEVICE}),
+ (N("Configuring network device %s", $intf->{DEVICE}) . ($module ? N(" (driver %s)", $module) : '') . "\n\n") .
+ $text,
+ [ { label => N("IP address"), val => \$intf->{IPADDR}, disabled => sub { $pump } },
+ { label => N("Netmask"), val => \$intf->{NETMASK}, disabled => sub { $pump } },
+ { label => N("Automatic IP"), val => \$pump, type => "bool", text => N("(bootp/dhcp)") },
+ if_($::expert, { label => N("Start at boot"), val => \$onboot, type => "bool" }),
+ 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('', N("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('', N("Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz frequency), or add enough \'0\'."));
+ return (1,6);
+ }
+ if ($intf->{WIRELESS_RATE} !~ /[0-9.]*[kGM]/) {
+ $in->ask_warn('', N("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]
+ }
+ ) or return;
+ $intf->{ONBOOT} = bool2yesno($onboot);
+}
+
+sub configureNetworkNet {
+ my ($in, $netc, $intf, @devices) = @_;
+
+ $netc->{dnsServer} ||= dns($intf->{IPADDR});
+ my $gateway_ex = gateway($intf->{IPADDR});
+#- $netc->{GATEWAY} ||= gateway($intf->{IPADDR});
+
+ $::isInstall and $in->set_help('configureNetworkHost');
+ $in->ask_from(N("Configuring network"),
+N("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 => N("Host name"), val => \$netc->{HOSTNAME} },
+ { label => N("DNS server"), val => \$netc->{dnsServer} },
+ { label => N("Gateway (e.g. %s)", $gateway_ex), val => \$netc->{GATEWAY} },
+ if_(@devices > 1,
+ { label => N("Gateway device"), val => \$netc->{GATEWAYDEV}, list => \@devices },
+ ),
+ ],
+ complete => sub {
+ if ($netc->{dnsServer} and !is_ip($netc->{dnsServer})) {
+ $in->ask_warn('', N("DNS server address should be in format 1.2.3.4"));
+ return 1;
+ }
+ if ($netc->{GATEWAY} and !is_ip($netc->{GATEWAY})) {
+ $in->ask_warn('', N("Gateway address should be in format 1.2.3.4"));
+ return 1;
+ }
+ 0;
+ }
+ );
+}
+
+sub miscellaneousNetwork {
+ my ($in, $clicked, $no_track_net) = @_;
+ my $u = $::o->{miscellaneous} ||= {};
+ $::isInstall and $in->set_help('configureNetworkProxy');
+ $u->{track_network_id} = detect_devices::isLaptop();
+ $::expert || $clicked and ($in->ask_from('',
+ N("Proxies configuration"),
+ [ { label => N("HTTP proxy"), val => \$u->{http_proxy} },
+ { label => N("FTP proxy"), val => \$u->{ftp_proxy} },
+ if_(!$no_track_net, { label => N("Track network card id (useful for laptops)"), val => \$u->{track_network_id}, type => "bool" }),
+ ],
+ complete => sub {
+ $u->{http_proxy} =~ m,^($|http://), or $in->ask_warn('', N("Proxy should be http://...")), return 1,0;
+ $u->{ftp_proxy} =~ m,^($|ftp://|http://), or $in->ask_warn('', N("Url should begin with 'ftp:' or 'http:'")), return 1,1;
+ 0;
+ }
+ ) or return);
+ 1;
}
sub read_all_conf {
- my ($prefix, $netc, $intf, $o_netcnx) = @_;
+ my ($prefix, $netc, $intf) = @_;
$netc ||= {}; $intf ||= {};
- my $netcnx = $o_netcnx || {};
add2hash($netc, read_conf("$prefix/etc/sysconfig/network")) if -r "$prefix/etc/sysconfig/network";
- add2hash($netc, read_resolv_conf());
- add2hash($netc, read_tmdns_conf("$prefix/etc/tmdns.conf")) if -r "$prefix/etc/tmdns.conf";
+ 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') {
+ if (/ifcfg-(\w+)/ && $1 ne 'lo') {
my $intf = findIntf($intf, $1);
add2hash($intf, { getVarsFromSh("$prefix/etc/sysconfig/network-scripts/$_") });
}
}
- $netcnx->{type} or probe_netcnx_type($prefix, $netc, $intf, $netcnx);
-}
-
-sub probe_netcnx_type {
- my ($prefix, $_netc, $intf, $netcnx) = @_;
- #- try to probe $netcnx->{type} which is used almost everywhere.
- unless ($netcnx->{type}) {
- #- ugly hack to determine network type (avoid saying not configured in summary).
- -e "$prefix/etc/ppp/peers/adsl" and $netcnx->{type} ||= 'adsl'; # enough ?
- -e "$prefix/etc/ppp/ioptions1B" || -e "$prefix/etc/ppp/ioptions2B" and $netcnx->{type} ||= 'isdn'; # enough ?
- $intf->{ppp0} and $netcnx->{type} ||= 'modem';
- $intf->{eth0} and $netcnx->{type} ||= 'lan';
- }
-}
-
-sub easy_dhcp {
- my ($netc, $intf) = @_;
-
- return if text2bool($netc->{NETWORKING});
-
- require modules;
- require network::ethernet;
- modules::load_category('network/main|gigabit|usb');
- my @all_cards = network::ethernet::conf_network_card_backend();
-
- #- only for a single network card
- (any { $_->[0] eq 'eth0' } @all_cards) && (every { $_->[0] ne 'eth1' } @all_cards) or return;
-
- log::explanations("easy_dhcp: found eth0");
-
- network::ethernet::conf_network_card_backend($netc, $intf, 'dhcp', 'eth0');
-
- put_in_hash($netc, {
- NETWORKING => "yes",
- DHCP => "yes",
- });
- 1;
}
#- configureNetwork2 : configure the network interfaces.
@@ -398,22 +432,23 @@ sub easy_dhcp {
sub configureNetwork2 {
my ($in, $prefix, $netc, $intf) = @_;
my $etc = "$prefix/etc";
- if (!$::testing) {
- $netc->{wireless_eth} and $in->do_pkgs->ensure_is_installed('wireless-tools', '/sbin/iwconfig', 'auto');
- write_conf("$etc/sysconfig/network", $netc);
- write_resolv_conf("$etc/resolv.conf", $netc) if ! $netc->{DHCP};
- write_interface_conf("$etc/sysconfig/network-scripts/ifcfg-$_->{DEVICE}", $_, $netc, $prefix) foreach grep { $_->{DEVICE} ne 'ppp0' } values %$intf;
- add2hosts("$etc/hosts", $netc->{HOSTNAME}, map { $_->{IPADDR} } values %$intf) if $netc->{HOSTNAME} && !$netc->{DHCP};
- add2hosts("$etc/hosts", "localhost", "127.0.0.1");
-
- any { $_->{BOOTPROTO} eq "dhcp" } values %$intf and $in->do_pkgs->install($netc->{dhcp_client} || 'dhcp-client');
- $in->do_pkgs->ensure_is_installed('tmdns', '/sbin/tmdns', 'auto') if !$in->do_pkgs->is_installed('bind');
- $in->do_pkgs->ensure_is_installed('zcip', '/sbin/zcip', 'auto');
- $netc->{ZEROCONF_HOSTNAME} and write_zeroconf("$etc/tmdns.conf", $netc->{ZEROCONF_HOSTNAME});
- any { $_->{BOOTPROTO} =~ /^(pump|bootp)$/ } values %$intf and $in->do_pkgs->install('pump');
+
+ $netc->{wireless_eth} and $in->do_pkgs->install(qw(wireless-tools));
+ write_conf("$etc/sysconfig/network", $netc);
+ write_resolv_conf("$etc/resolv.conf", $netc);
+ write_interface_conf("$etc/sysconfig/network-scripts/ifcfg-$_->{DEVICE}", $_, $prefix) foreach grep { $_->{DEVICE} } values %$intf;
+ add2hosts("$etc/hosts", $netc->{HOSTNAME}, map { $_->{IPADDR} } values %$intf);
+
+ if (grep { $_->{BOOTPROTO} =~ /^(dhcp)$/ } values %$intf) {
+ $in->do_pkgs->install($netc->{dhcp_client} ? $netc->{dhcp_client} : 'dhcpcd');
+ }
+ if (grep { $_->{BOOTPROTO} =~ /^(pump|bootp)$/ } values %$intf) {
+ $in->do_pkgs->install('pump');
}
+ #-res_init(); #- reinit the resolver so DNS changes take affect
- proxy_configure($::o->{miscellaneous});
+ any::miscellaneousNetwork();
}
+
1;
diff --git a/perl-install/network/nfs.pm b/perl-install/network/nfs.pm
index 39faa716e..87f336e36 100644
--- a/perl-install/network/nfs.pm
+++ b/perl-install/network/nfs.pm
@@ -29,41 +29,35 @@ sub to_dev_raw {
sub check {
my ($_class, $in) = @_;
- $in->do_pkgs->ensure_is_installed('nfs-utils-clients', '/usr/sbin/showmount') or return;
- system('/etc/init.d/portmap start') if system('/etc/init.d/portmap status') != 0;
- 1;
+ $in->do_pkgs->ensure_is_installed('nfs-utils-clients', '/usr/sbin/showmount');
}
sub find_servers {
- open(my $F2, "rpcinfo-flushed -b mountd 2 |");
- open(my $F3, "rpcinfo-flushed -b mountd 3 |");
+ my $pid = open(my $F, "rpcinfo-flushed -b mountd 2 |");
+ $SIG{ALRM} = sub { kill(15, $pid) };
+ alarm 1;
- common::nonblock($F2);
- common::nonblock($F3);
my $domain = chomp_(`domainname`);
- my ($s, %servers);
- my $quit;
- while (!$quit) {
- $quit = 1;
- sleep 1;
- while ($s = <$F2> || <$F3>) {
- $quit = 0;
- my ($ip, $name) = $s =~ /(\S+)\s+(\S+)/ or log::explanations("bad line in rpcinfo output"), next;
- $name =~ s/\.$//;
- $name =~ s/\Q.$domain\E$//;
- $servers{$ip} ||= { ip => $ip, if_($name ne '(unknown)', name => $name) };
- }
+ my @servers;
+ local $_;
+ while (<$F>) {
+ chomp;
+ my ($ip, $name) = /(\S+)\s+(\S+)/ or log::l("bad line in rpcinfo output"), next;
+ $name =~ s/\Q.$domain//;
+ $name =~ s/\.$//;
+ push @servers, { ip => $ip, if_($name ne '(unknown)', name => $name) };
}
- values %servers;
+ @servers;
}
sub find_exports {
my ($_class, $server) = @_;
my @l;
- run_program::raw({ timeout => 1 }, "showmount", '>', \@l, "--no-headers", "-e", $server->{ip} || $server->{name});
+ run_program::raw({ timeout => 1 }, "showmount", '>', \@l, "-e", $server->{ip} || $server->{name});
- map { if_(/(\S+(\s*\S+)*)\s+(\S+)/, { name => $1, comment => $3, server => $server }) } @l;
+ shift @l; #- drop first line
+ map { /(\S+)\s*(\S+)/; { name => $1, comment => $2, server => $server } } @l;
}
1;
diff --git a/perl-install/network/shorewall.pm b/perl-install/network/shorewall.pm
index bd069f063..a173c13f8 100644
--- a/perl-install/network/shorewall.pm
+++ b/perl-install/network/shorewall.pm
@@ -24,7 +24,7 @@ sub check_iptables {
};
!$existing_config || $in->ask_okcancel(N("Firewalling configuration detected!"),
- N("Warning! An existing firewalling configuration has been detected. You may need some manual fixes after installation."));
+ N("Warning! An existing firewalling configuration has been detected. You may need some manual fix after installation."));
}
sub set_config_file {
@@ -46,58 +46,34 @@ sub get_config_file {
map { [ split ' ' ] } grep { !/^#/ } cat_("$::prefix/etc/shorewall/$file");
}
-sub default_interfaces_silent {
- my ($_in) = @_;
- my %conf;
- my @l = detect_devices::getNet() or return;
- if (@l == 1) {
+sub default_interfaces {
+ my %conf;
+
+ my @l = detect_devices::getNet() or return;
+ if (@l == 1) {
$conf{net_interface} = $l[0];
} else {
$conf{net_interface} = network::netconnect::get_net_device() || $l[0];
- $conf{loc_interface} = [ grep { $_ ne $conf{net_interface} } @l ];
+ $conf{loc_interface} = [ grep { $_ ne $conf{net_interface} } @l ];
}
\%conf;
}
-sub default_interfaces {
- my ($in) = @_;
- my %conf;
- my $card_netconnect = network::netconnect::get_net_device() || "eth0";
- defined $card_netconnect and log::l("[drakgw] Information from netconnect: ignore card $card_netconnect");
-
- my @l = detect_devices::getNet() or return;
- $in->ask_from('',
- N("Please enter the name of the interface connected to the internet.
-
-Examples:
- ppp+ for modem or DSL connections,
- eth0, or eth1 for cable connection,
- ippp+ for a isdn connection.
-", $card_netconnect),
- [ { label => N("Net Device"), val => \$card_netconnect, list => \@l } ]);
- $conf{net_interface} = $card_netconnect;
- #$conf{net_interface} = network::netconnect::get_net_device() || $l[0];
- $conf{loc_interface} = [ grep { $_ ne $conf{net_interface} } @l ];
- \%conf;
-}
-
sub read {
- my ($in, $mode) = @_;
- my %conf = (disabled => !glob_("$::prefix/etc/rc3.d/S*shorewall"),
- ports => join(' ', map {
- my $e = $_;
- map { "$_/$e->[3]" } split(',', $e->[4]);
- } grep { $_->[0] eq 'ACCEPT' && $_->[1] eq 'net' } get_config_file('rules'))
- );
+ my %conf;
+
+ $conf{disabled} = !glob_("$::prefix/etc/rc3.d/S*shorewall");
+
+ $conf{ports} =
+ join(' ', map {
+ my $e = $_;
+ map { "$_/$e->[3]" } split(',', $e->[4]);
+ } grep { $_->[0] eq 'ACCEPT' && $_->[1] eq 'net' } get_config_file('rules'));
if (my ($e) = get_config_file('masq')) {
$conf{masquerade}{subnet} = $e->[1] if $e->[1];
}
- if ($mode eq 'silent') {
- put_in_hash(\%conf, default_interfaces_silent($in));
- } else {
- put_in_hash(\%conf, default_interfaces($in));
- };
+ put_in_hash(\%conf, default_interfaces());
foreach (get_config_file('interfaces')) {
my ($name, $interface) = @$_;
if ($name eq 'masq') {
@@ -110,7 +86,6 @@ sub read {
sub write {
my ($conf) = @_;
- my $connect_file = "/etc/sysconfig/network-scripts/net_cnx_up";
my %ports_by_proto;
foreach (split ' ', $conf->{ports}) {
@@ -136,20 +111,16 @@ sub write {
[ 'all', 'all', 'REJECT', 'info' ],
);
set_config_file('rules',
- if_(cat_("$::prefix$connect_file") =~ /pptp/, [ 'ACCEPT', 'fw', 'loc:10.0.0.138', 'tcp', '1723' ]),
- if_(cat_("$::prefix$connect_file") =~ /pptp/, [ 'ACCEPT', 'fw', 'loc:10.0.0.138', 'gre' ]),
(map {
map_each { [ 'ACCEPT', $_, 'fw', $::a, join(',', @$::b), '-' ] } %ports_by_proto
} ('net', if_($conf->{masquerade}, 'masq'), if_($conf->{loc_interface}, 'loc'))),
if_($conf->{masquerade}, map { [ 'ACCEPT', 'masq', 'fw', $_, join(',', @drakgw_ports), '-' ] } 'tcp', 'udp'),
- if_($conf->{masquerade}, map { [ 'ACCEPT', 'fw', 'masq', $_, join(',', @internal_ports), '-' ] } 'tcp', 'udp'),
+ if_($conf->{masquerade}, map { [ 'ACCEPT', 'fw', 'masq', $_, join(',', @internal_ports), '-' ] } 'tcp', 'udp'),
);
set_config_file('masq',
$conf->{masquerade} ? [ $conf->{net_interface}, $conf->{masquerade}{subnet} ] : (),
);
- system('uniq /etc/shorewall/masq > /etc/shorewall/masq.uniq');
- rename("/etc/shorewall/masq.uniq", "/etc/shorewall/masq");
-
+
if ($conf->{disabled}) {
run_program::rooted($::prefix, 'chkconfig', '--del', 'shorewall');
run_program::run('service', '>', '/dev/null', 'shorewall', 'stop') if $::isStandalone;
diff --git a/perl-install/network/smb.pm b/perl-install/network/smb.pm
index 941463c65..7adf01a3a 100644
--- a/perl-install/network/smb.pm
+++ b/perl-install/network/smb.pm
@@ -70,7 +70,7 @@ sub find_servers {
my ($group, $name) = split(' ', lc($_));
# already done
- next if any { $group eq $_->{group} } values %servers;
+ next if grep { $group eq $_->{group} } values %servers;
$l{$name} = $group;
}
@@ -100,7 +100,7 @@ sub find_exports {
@l;
}
-sub authentications_available {
+sub authentifications_available {
my ($server) = @_;
map { if_(/^auth.\Q$server->{name}.\E(.*)/, $1) } all("/etc/samba");
}
@@ -146,36 +146,4 @@ sub read_credentials {
put_in_hash($server, read_credentials_raw(to_credentials($server->{name}, $username)));
}
-
-sub write_smb_conf {
- my ($domain) = @_;
-
- #- was going to just have a canned config in samba-winbind
- #- and replace the domain, but sylvestre/buchan didn't bless it yet
-
- my $f = "$::prefix/etc/samba/smb.conf";
- rename $f, "$f.orig";
- output($f, "
-[global]
- workgroup = $domain
- server string = Samba Server %v
- security = domain
- encrypt passwords = Yes
- password server = *
- log file = /var/log/samba/log.%m
- max log size = 50
- socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
- character set = ISO8859-15
- os level = 18
- local master = No
- dns proxy = No
- winbind uid = 10000-20000
- winbind gid = 10000-20000
- winbind separator = +
- template homedir = /home/%D/%U
- template shell = /bin/bash
- winbind use default domain = yes
-");
-}
-
1;
diff --git a/perl-install/network/smbnfs.pm b/perl-install/network/smbnfs.pm
index 97f2bd6e6..528a87be2 100644
--- a/perl-install/network/smbnfs.pm
+++ b/perl-install/network/smbnfs.pm
@@ -7,8 +7,8 @@ use fs;
sub new {
- my ($class, $o_v) = @_;
- bless($o_v || {}, $class);
+ my ($class, $v) = @_;
+ bless($v || {}, $class);
}
sub server_to_string {
diff --git a/perl-install/network/tools.pm b/perl-install/network/tools.pm
index 9735aef4b..489e0d966 100644
--- a/perl-install/network/tools.pm
+++ b/perl-install/network/tools.pm
@@ -1,6 +1,5 @@
-package network::tools; # $Id$
+package network::tools;
-use strict;
use common;
use run_program;
use c;
@@ -9,14 +8,14 @@ use MDK::Common::Globals "network", qw($in $prefix $disconnect_file $connect_pro
use MDK::Common::System qw(getVarsFromSh);
@ISA = qw(Exporter);
-@EXPORT = qw(ask_info2 connect_backend connected connected_bg disconnect_backend is_dynamic_ip is_wireless_intf passwd_by_login read_providers_backend read_secret_backend test_connected write_cnx_script write_initscript write_secret_backend);
+@EXPORT = qw(write_cnx_script write_secret_backend read_secret_backend passwd_by_login write_initscript ask_connect_now connect_backend disconnect_backend read_providers_backend ask_info2 type2interface connected connected_bg test_connected connected2 disconnected);
@EXPORT_OK = qw($in);
sub write_cnx_script {
- my ($netc, $o_type, $o_up, $o_down, $o_type2) = @_;
- if ($o_type) {
- $netc->{internet_cnx}{$o_type}{$_->[0]} = $_->[1] foreach [$connect_file, $o_up], [$disconnect_file, $o_down];
- $netc->{internet_cnx}{$o_type}{type} = $o_type2;
+ my ($netc, $type, $up, $down, $type2) = @_;
+ if ($type) {
+ $netc->{internet_cnx}{$type}{$_->[0]} = $_->[1] foreach [$connect_file, $up], [$disconnect_file, $down];
+ $netc->{internet_cnx}{$type}{type} = $type2;
} else {
foreach ($connect_file, $disconnect_file) {
output_with_perm("$prefix$_", 0755,
@@ -29,19 +28,18 @@ sub write_cnx_script {
sub write_secret_backend {
my ($a, $b) = @_;
- foreach my $i ("$prefix/etc/ppp/pap-secrets", "$prefix/etc/ppp/chap-secrets") {
- substInFile { s/^'$a'.*\n//; $_ .= "\n'$a' * '$b' * \n" if eof } $i;
- #- restore access right to secrets file, just in case.
- chmod 0600, $i;
+ foreach my $i ("pap-secrets", "chap-secrets") {
+ substInFile { s/^'$a'.*\n//; $_ .= "\n'$a' * '$b' * \n" if eof } "$prefix/etc/ppp/$i";
}
}
sub unquotify {
my ($word) = @_;
- $$word =~ s/^(['"]?)(.*)\1$/$2/;
+ my ($a, $b, $c) = $$word =~ /"(.*)"|'(.*)'|(.*)/;
+ $$word = $a ? $a : $b ? $b : $c;
}
-sub read_secret_backend() {
+sub read_secret_backend {
my $conf;
foreach my $i ("pap-secrets", "chap-secrets") {
foreach (cat_("$prefix/etc/ppp/$i")) {
@@ -69,30 +67,124 @@ sub passwd_by_login {
}
}
-sub connect_backend() { run_program::rooted($prefix, "$connect_file &") }
+sub ask_connect_now {
+ my ($type) = @_;
+ $::Wizard_no_previous = 1;
+ my $up;
+ #- FIXME : code the exception to be generated by ask_yesorno, to be able to remove the $::Wizard_no_previous=1;
+ if ($in->ask_yesorno(N("Internet configuration"),
+ N("Do you want to try to connect to the Internet now?")
+ )) {
+ {
+ my $_w = $in->wait_message('', N("Testing your connection..."), 1);
+ connect_backend();
+ my $s = 30;
+ $type =~ /modem/ and $s = 50;
+ $type =~ /adsl/ and $s = 35;
+ $type =~ /isdn/ and $s = 20;
+ sleep $s;
+ $up = connected();
+ }
+ my $m = $up ? N("The system is now connected to Internet.") .
+ if_($::isInstall, N("For security reason, it will be disconnected now.")) :
+ N("The system doesn't seem to be connected to internet.
+Try to reconfigure your connection.");
+ if ($::isWizard) {
+ $::Wizard_no_previous = 1;
+ $::Wizard_finished = 1;
+ $in->ask_okcancel(N("Network Configuration"), $m, 1);
+ undef $::Wizard_no_previous;
+ undef $::Wizard_finished;
+ } else { $in->ask_warn('', $m) }
+ $::isInstall and disconnect_backend();
+ }
+ undef $::Wizard_no_previous;
+ $up;
+}
+
+sub connect_backend { run_program::rooted($prefix, "$connect_prog &") }
-sub disconnect_backend() { run_program::rooted($prefix, "$disconnect_file &") }
+sub disconnect_backend { run_program::rooted($prefix, "$disconnect_file &") }
sub read_providers_backend { my ($file) = @_; map { /(.*?)=>/ } catMaybeCompressed($file) }
-sub connected() { gethostbyname("mandrakesoft.com") ? 1 : 0 }
+sub ask_info2 {
+ my ($cnx, $netc) = @_;
+ $::isInstall and $in->set_help('configureNetworkDNS');
+ $in->ask_from(N("Connection Configuration"),
+ N("Please fill or check the field below"),
+ [
+ if__($cnx->{irq}, { label => N("Card IRQ"), val => \$cnx->{irq} }),
+ if__($cnx->{mem}, { label => N("Card mem (DMA)"), val => \$cnx->{mem} }),
+ if__($cnx->{io}, { label => N("Card IO"), val => \$cnx->{io} }),
+ if__($cnx->{io0}, { label => N("Card IO_0"), val => \$cnx->{io0} }),
+ if__($cnx->{io1}, { label => N("Card IO_1"), val => \$cnx->{io1} }),
+ if__($cnx->{phone_in}, { label => N("Your personal phone number"), val => \$cnx->{phone_in} }),
+ if__($netc->{DOMAINNAME2}, { label => N("Provider name (ex provider.net)"), val => \$netc->{DOMAINNAME2} }),
+ if__($cnx->{phone_out}, { label => N("Provider phone number"), val => \$cnx->{phone_out} }),
+ if__($netc->{dnsServer2}, { label => N("Provider dns 1 (optional)"), val => \$netc->{dnsServer2} }),
+ if__($netc->{dnsServer3}, { label => N("Provider dns 2 (optional)"), val => \$netc->{dnsServer3} }),
+ if__($cnx->{vpivci}, { label => N("Choose your country"), val => \$netc->{vpivci}, list => detect_timezone() }),
+ if__($cnx->{dialing_mode}, { label => N("Dialing mode"), val => \$cnx->{dialing_mode},list => ["auto", "manual"] }),
+ if__($cnx->{speed}, { label => N("Connection speed"), val => \$cnx->{speed}, list => ["64 Kb/s", "128 Kb/s"] }),
+ if__($cnx->{huptimeout}, { label => N("Connection timeout (in sec)"), val => \$cnx->{huptimeout} }),
+ if__($cnx->{login}, { label => N("Account Login (user name)"), val => \$cnx->{login} }),
+ if__($cnx->{passwd}, { label => N("Account Password"), val => \$cnx->{passwd}, hidden => 1 }),
+ ]
+ ) or return;
+ if ($netc->{vpivci}) {
+ foreach ([N("Netherlands"), '8_48'], [N("France"), '8_35'], [N("Belgium"), '8_35'], [N("Italy"), '8_35'], [N("United Kingdom"), '0_38'], [N("United States"), '8_35']) {
+ $netc->{vpivci} eq $_->[0] and $netc->{vpivci} = $_->[1];
+ }
+ }
+ 1;
+}
+
+sub detect_timezone {
+ my %tmz2country = (
+ 'Europe/Paris' => N("France"),
+ 'Europe/Amsterdam' => N("Netherlands"),
+ 'Europe/Rome' => N("Italy"),
+ 'Europe/Brussels' => N("Belgium"),
+ 'America/New_York' => N("United States"),
+ 'Europe/London' => N("United Kingdom")
+ );
+ my %tm_parse = MDK::Common::System::getVarsFromSh('/etc/sysconfig/clock');
+ my @country;
+ foreach (keys %tmz2country) {
+ if ($_ eq $tm_parse{ZONE}) {
+ unshift @country, $tmz2country{$_};
+ } else { push @country, $tmz2country{$_} };
+ }
+ \@country;
+}
-# request a ref on a bg_connect and a ref on a scalar
-sub connected_bg__raw {
- my ($kid_pipe, $status) = @_;
- local $| = 1;
- if (ref($kid_pipe) && ref($$kid_pipe)) {
- my $fd = $$kid_pipe->{fd};
- fcntl($fd, c::F_SETFL(), c::O_NONBLOCK()) or die "can't fcntl F_SETFL: $!";
- my $a = <$fd>;
- $$status = $a if defined $a;
- } else { $$kid_pipe = check_link_beat() }
+sub type2interface {
+ my ($i) = @_;
+ $i =~ /$_->[0]/ and return $_->[1] foreach [ modem => 'ppp' ],
+ [ isdn_internal => 'ippp' ],
+ [ isdn_external => 'ppp' ],
+ [ adsl => 'ppp' ],
+ [ cable => 'eth' ],
+ [ lan => 'eth' ];
}
+sub connected { gethostbyname("mandrakesoft.com") ? 1 : 0 }
+
my $kid_pipe;
sub connected_bg {
- my ($status) = @_;
- connected_bg__raw(\$kid_pipe, $status);
+ local $| = 1;
+ my ($ref) = @_;
+ if (defined $kid_pipe) {
+ fcntl($kid_pipe, c::F_SETFL(), c::O_NONBLOCK()) or die "can't fcntl F_SETFL: $!";
+ my $a;
+ if (defined($a = <$kid_pipe>)) {
+ close($kid_pipe) || warn "kid exited $?";
+ undef $kid_pipe;
+ $$ref = $a;
+ }
+ } else { $kid_pipe = connected2() }
+ 1;
}
# test if connected;
@@ -104,38 +196,60 @@ sub connected_bg {
# return : nothing
# cmd = 3 : return current status even if a test is in progress
my $kid_pipe_connect;
+my $kid_pid;
my $current_connection_status;
sub test_connected {
local $| = 1;
my ($cmd) = @_;
-
- $current_connection_status = -1 if !defined $current_connection_status;
-
+
+ if (!defined $current_connection_status) { $current_connection_status = -1 }
+
if ($cmd == 0) {
- connected_bg__raw(\$kid_pipe_connect, \$current_connection_status);
- } elsif ($cmd == 1) {
+ if (defined $kid_pipe_connect) {
+ fcntl($kid_pipe_connect, c::F_SETFL(), c::O_NONBLOCK()) or die "can't fcntl F_SETFL: $!";
+ my $a;
+ if (defined($a = <$kid_pipe_connect>)) {
+ close($kid_pipe_connect) || warn "kid exited $?";
+ undef $kid_pipe_connect;
+ undef $kid_pid;
+ $current_connection_status = $a;
+ }
+ }
+ return $current_connection_status;
+ }
+
+ if ($cmd == 1) {
if ($current_connection_status != -2) {
$current_connection_status = -2;
- $kid_pipe_connect = check_link_beat();
+ $kid_pipe_connect = connected2();
}
- } elsif ($cmd == 2) {
- if (defined($kid_pipe_connect)) {
- kill -9, $kid_pipe_connect->{pid};
- undef $kid_pipe_connect;
+ }
+ if ($cmd == 2) {
+ if (defined($kid_pid)) {
+ kill -9, $kid_pid;
+ undef $kid_pid;
}
}
return $current_connection_status;
}
-sub check_link_beat() {
- bg_command->new(sub {
- require Net::Ping;
- print Net::Ping->new("icmp")->ping("mandrakesoft.com") ? 1 : 0;
- });
+sub connected2 {
+ if ($kid_pid = open(my $kid_to_read, "-|")) {
+ #- parent
+ $kid_to_read;
+ } else {
+ #- child
+ my $a = gethostbyname("mandrakesoft.com") ? 1 : 0;
+ print $a;
+ c::_exit(0);
+ }
}
-sub write_initscript() {
+sub disconnected {}
+
+
+sub write_initscript {
$::testing and return;
output_with_perm("$prefix/etc/rc.d/init.d/internet", 0755,
sprintf(<<'EOF', $connect_file, $connect_file, $disconnect_file, $disconnect_file));
@@ -188,64 +302,4 @@ EOF
};
}
-sub copy_firmware {
- my ($device, $destination, $file) = @_;
- my ($source, $failed, $mounted);
-
- $device eq 'floppy' and do { $mounted = 1; ($source, $failed) = use_floppy($file) };
- $device eq 'windows' and ($source, $failed) = use_windows();
-
- $source eq $failed and return;
- $mounted and my $_b = before_leaving { fs::umount('/mnt') };
- if ($failed) {
- eval { $in->ask_warn('', $failed) }; $in->exit if $@ =~ /wizcancel/;
- return;
- }
-
- if (-e "$source/$file") { cp_af("$source/$file", $destination) }
- else { $failed = N("Firmware copy failed, file %s not found", $file) }
- eval { $in->ask_warn('', $failed || N("Firmware copy succeeded")) }; $in->exit if $@ =~ /wizcancel/;
- log::explanations($failed || "Firmware copy $file in $destination succeeded");
-
- $failed ? 0 : 1;
-}
-
-sub use_windows() {
- my $all_hds = fsedit::get_hds({}, undef);
- fs::get_info_from_fstab($all_hds, '');
- my $part = find { $_->{device_windobe} eq 'C' } fsedit::get_fstab(@{$all_hds->{hds}});
- $part or my $failed = N("No partition available");
- my $source = -d "$part->{mntpoint}/windows/" ? "$part->{mntpoint}/windows/system" : "$part->{mntpoint}/winnt/system";
- log::explanations($failed || "Seek in $source to find firmware");
-
- return $source, $failed;
-}
-
-sub use_floppy {
- my ($file) = @_;
- my $floppy = detect_devices::floppy();
- $in->ask_okcancel(N("Insert floppy"),
- N("Insert a FAT formatted floppy in drive %s with %s in root directory and press %s", $floppy, $file, N("Next"))) or return;
- eval { fs::mount(devices::make($floppy), '/mnt', 'vfat', 'readonly'); 1 } or my $failed = N("Floppy access error, unable to mount device %s", $floppy);
- log::explanations($failed || "Mounting floppy device $floppy in /mnt");
-
- return '/mnt', $failed;
-}
-
-
-sub is_wireless_intf {
- my ($module) = @_;
- member($module, qw(acx100_pci airo aironet_cs aironet4500_cs airo_cs airport at76c503 hermes netwave_cs orinoco_cs prism2_usb orinoco ray_cs usbvnet_rfmd wavelan_cs wvlan_cs))
-}
-
-sub is_dynamic_ip {
- my ($intf) = @_;
- any { $_->{BOOTPROTO} !~ /^(none|static|)$/ } values %$intf;
-}
-
-sub is_dynamic_host {
- my ($intf) = @_;
- any { defined $_->{DHCP_HOSTNAME} } values %$intf;
-}
-
1;
diff --git a/perl-install/patch/9.1/hp.diff b/perl-install/patch/9.1/hp.diff
deleted file mode 100644
index befdf71f6..000000000
--- a/perl-install/patch/9.1/hp.diff
+++ /dev/null
@@ -1,137 +0,0 @@
-Index: install_steps_interactive.pm
-===================================================================
-RCS file: /cooker/gi/perl-install/install_steps_interactive.pm,v
-retrieving revision 1.810
-retrieving revision 1.812
-diff -u -p -r1.810 -r1.812
---- install_steps_interactive.pm 12 Mar 2003 15:34:46 -0000 1.810
-+++ install_steps_interactive.pm 20 Mar 2003 10:12:38 -0000 1.812
-@@ -1006,6 +1006,9 @@ sub summary {
- local $::expert = $::expert;
- require network::netconnect;
- network::netconnect::main($o->{prefix}, $o->{netcnx} ||= {}, $o->{netc}, $o->{mouse}, $o, $o->{intf}, 0, 0, 1);
-+ #- in case netcnx type is not updated.
-+ require network::network;
-+ network::network::probe_netcnx_type($o->{prefix}, $o->{netc}, $o->{intf}, $o->{netcnx});
- },
- b
- };
-
-Index: lang.pm
-===================================================================
-RCS file: /cooker/gi/perl-install/lang.pm,v
-retrieving revision 1.309
-retrieving revision 1.312
-diff -u -p -r1.309 -r1.312
---- lang.pm 11 Mar 2003 23:35:36 -0000 1.309
-+++ lang.pm 19 Mar 2003 17:06:18 -0000 1.312
-@@ -229,7 +229,7 @@ my %countries = (
- 'GU' => [ N_("Guam"), 'en_US', '4' ], #
- 'GW' => [ N_("Guinea-Bissau"), 'pt_PT', '3' ], #
- 'GY' => [ N_("Guyana"), 'en_US', '5' ], #
--'HK' => [ N_("Hong Kong"), 'zh_HK', '2' ],
-+'HK' => [ N_("China") . ' (' . N_("Hong Kong") . ')', 'zh_HK', '2' ],
- 'HM' => [ N_("Heard and McDonald Islands"), 'en_US', '4' ], #
- 'HN' => [ N_("Honduras"), 'es_HN', '5' ],
- 'HR' => [ N_("Croatia"), 'hr_HR', '1' ],
-@@ -742,6 +742,9 @@ sub l2pango_font {
-
- sub set {
- my ($lang, $translate_for_console) = @_;
-+
-+ #- disable Arabic in install as no (free) fonts are available.
-+ $lang eq 'ar' and $lang='en_US';
-
- exists $langs{$lang} or log::l("lang::set: trying to set to $lang but I don't know it!"), return;
-
-Index: standalone/service_harddrake
-===================================================================
-RCS file: /cooker/gi/perl-install/standalone/service_harddrake,v
-retrieving revision 1.34
-diff -u -p -r1.34 service_harddrake
---- standalone/service_harddrake 12 Mar 2003 10:55:35 -0000 1.34
-+++ standalone/service_harddrake 21 Mar 2003 16:06:52 -0000
-@@ -13,7 +13,7 @@ use modules;
- use Storable qw(store retrieve);
-
- my $invert_do_it = $ARGV[0] eq 'X11' ? 1 : 0;
--my ($hw_sysconfdir, $timeout) = ("/etc/sysconfig/harddrake2", $invert_do_it ? 600 : 5);
-+my ($hw_sysconfdir, $timeout) = ("/etc/sysconfig/harddrake2", $invert_do_it ? 600 : 25);
- my $last_boot_config = $hw_sysconfdir."/previous_hw";
-
- $last_boot_config .= '_X11' if $invert_do_it;
-Index: drakxtools.spec
-===================================================================
-RCS file: /cooker/gi/perl-install/drakxtools.spec,v
-retrieving revision 1.247
-diff -u -p -r1.247 drakxtools.spec
---- drakxtools.spec 16 Mar 2003 15:30:56 -0000 1.247
-+++ drakxtools.spec 21 Mar 2003 16:17:22 -0000
-@@ -1,7 +1,7 @@
- Summary: The drakxtools (XFdrake, diskdrake, keyboarddrake, mousedrake...)
- Name: drakxtools
- Version: 9.1
--Release: 26mdk
-+Release: 27mdk
- Url: http://www.mandrakelinux.com/en/drakx.php2
- Source0: %name-%version.tar.bz2
- License: GPL
-@@ -303,6 +303,9 @@ file /etc/sysconfig/harddrake2/previous_
- %config(noreplace) %_sysconfdir/logrotate.d/drakxtools-http
-
- %changelog
-+* Fri Mar 21 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-27mdk
-+- harddrake service: increase default timeout from 5 to 25 seconds
-+
- * Sun Mar 16 2003 Warly <warly@mandrakesoft.com> 9.1-25mdk
- - do a correct cvs up of all gi before (me sux)
-
-Index: install_steps_interactive.pm
-===================================================================
-RCS file: /cooker/gi/perl-install/install_steps_interactive.pm,v
-retrieving revision 1.810
-diff -u -p -r1.810 install_steps_interactive.pm
---- install_steps_interactive.pm 12 Mar 2003 15:34:46 -0000 1.810
-+++ install_steps_interactive.pm 21 Mar 2003 16:11:09 -0000
-@@ -894,7 +894,7 @@ sub summary {
- my $timezone_manually_set;
- push @l, {
- group => N("System"),
-- label => N("Country"),
-+ label => N("Country") . N(" / Region"),
- val => sub { lang::c2name($o->{locale}{country}) },
- clicked => sub {
- any::selectCountry($o, $o->{locale}) or return;
-Index: any.pm
-===================================================================
-RCS file: /cooker/gi/perl-install/any.pm,v
-retrieving revision 1.340
-diff -u -p -r1.340 any.pm
---- any.pm 13 Mar 2003 10:42:51 -0000 1.340
-+++ any.pm 21 Mar 2003 16:11:09 -0000
-@@ -688,7 +688,7 @@ sub selectCountry {
- my ($other, $ext_country);
- member($country, @best) or ($ext_country, $country) = ($country, $ext_country);
- $o->ask_from_(
-- { title => N("Country"),
-+ { title => N("Country") . N(" / Region"),
- messages => N("Please choose your country."),
- interactive_help_id => 'selectCountry',
- advanced_messages => N("Here is the full list of available countries"),
-Index: lang.pm
-===================================================================
-RCS file: /cooker/gi/perl-install/lang.pm,v
-retrieving revision 1.312
-diff -u -r1.312 lang.pm
---- lang.pm 19 Mar 2003 17:06:18 -0000 1.312
-+++ lang.pm 28 Mar 2003 15:24:41 -0000
-@@ -23,7 +23,8 @@
- my %langs = (
- 'af' => [ 'Afrikaans', 'Afrikaans', 'af_ZA', ' 3 ', 'iso-8859-1' ],
- 'am' => [ 'Amharic', 'ZZ emarNa', 'am_ET', ' 3 ', 'utf_am' ],
--'ar' => [ 'Arabic', 'AA Arabic', 'ar_EG', ' 23 ', 'utf_ar' ],
-+#- doesn't work well after install
-+#'ar' => [ 'Arabic', 'AA Arabic', 'ar_EG', ' 23 ', 'utf_ar' ],
- 'az' => [ 'Azeri (Latin)', 'Azerbaycanca', 'az_AZ', ' 2 ', 'utf_az' ],
- 'be' => [ 'Belarussian', 'Belaruskaya', 'be_BY', '1 ', 'cp1251' ],
- 'bg' => [ 'Bulgarian', 'Blgarski', 'bg_BG', '1 ', 'cp1251' ],
diff --git a/perl-install/patch/9.1/patch-detectSMP-K6.pl b/perl-install/patch/9.1/patch-detectSMP-K6.pl
deleted file mode 100644
index acf5821f6..000000000
--- a/perl-install/patch/9.1/patch-detectSMP-K6.pl
+++ /dev/null
@@ -1,5 +0,0 @@
-use detect_devices;
-package detect_devices;
-
-undef *hasSMP;
-*hasSMP = sub { 0 };
diff --git a/perl-install/patch/9.1/patch-loopback.pl b/perl-install/patch/9.1/patch-loopback.pl
deleted file mode 100644
index d0f4185b3..000000000
--- a/perl-install/patch/9.1/patch-loopback.pl
+++ /dev/null
@@ -1,18 +0,0 @@
-use bootloader;
-package bootloader;
-log::l("PATCHING: fixing 9.1 aes.o missing in initrd for / on loopback");
-
-*mkinitrd = sub {
- my ($kernelVersion, $initrdImage) = @_;
-
- my $loop_boot = loopback::prepare_boot();
-
- modules::load('loop');
- if (!run_program::rooted($::prefix, "mkinitrd", "--with=aes", "-v", "-f", $initrdImage, "--ifneeded", $kernelVersion)) {
- unlink("$::prefix/$initrdImage");
- die "mkinitrd failed";
- }
- loopback::save_boot($loop_boot);
-
- -e "$::prefix/$initrdImage";
-};
diff --git a/perl-install/patch/patch-9.0-auto-inst-network-config.pl b/perl-install/patch/patch-9.0-auto-inst-network-config.pl
deleted file mode 100644
index f7cdc95ce..000000000
--- a/perl-install/patch/patch-9.0-auto-inst-network-config.pl
+++ /dev/null
@@ -1,8 +0,0 @@
-package install_steps;
-log::l("fixing network module probe & configuration in interactive auto_install");
-my $old_configureNetwork = \&configureNetwork;
-undef *configureNetwork;
-*configureNetwork = sub {
- modules::load_category('network/main|usb');
- &$old_configureNetwork;
-};
diff --git a/perl-install/patch/patch-IMPS2.pl b/perl-install/patch/patch-IMPS2.pl
deleted file mode 100644
index 488b6ac11..000000000
--- a/perl-install/patch/patch-IMPS2.pl
+++ /dev/null
@@ -1,9 +0,0 @@
-use install_gtk;
-package install_gtk;
-
-my $old_createXconf = \&createXconf;
-undef *createXconf;
-*createXconf = sub {
- symlink 'mouse', '/dev/cdrom';
- &$old_createXconf;
-}
diff --git a/perl-install/patch/patch-da.pl b/perl-install/patch/patch-da.pl
deleted file mode 100644
index 63a9f76d5..000000000
--- a/perl-install/patch/patch-da.pl
+++ /dev/null
@@ -1,6 +0,0 @@
-use common;
-
-log::l("PATCHING: installing mo");
-my $dir = '/usr/share/locale_special/da/LC_MESSAGES';
-mkdir_p($dir);
-system("gzip -dc /mnt/da_mo.gz > $dir/libDrakX.mo");
diff --git a/perl-install/patch/patch-nforce.pl b/perl-install/patch/patch-nforce.pl
deleted file mode 100644
index 35587ec75..000000000
--- a/perl-install/patch/patch-nforce.pl
+++ /dev/null
@@ -1,35 +0,0 @@
-use install_steps;
-use common;
-
-package install_steps;
-
-my $old_afterInstallPackages = \&afterInstallPackages;
-undef *afterInstallPackages;
-*afterInstallPackages = sub {
- &$old_afterInstallPackages;
-
- my ($o) = @_;
-
- # workaround nforce stuff.
- #
- # modules.pm uses /lib/modules/VERSION/modules*map to know which
- # sound drivers to use : this'll cause i810_audio to override
- # nvaudio since it exports the nvforce audio pci ids
- #
- # the right solution is to :
- #
- # - remove the nforce ids from i810_audio until the oss driver got
- # fixes implemented in alsa driver for nforce (snd-intel8x0.o)
- #
- # - ask nvidia to declare which pci ids they use and export them
- # for depmod :
- # MODULE_DEVICE_TABLE (pci, <name_of_the struct pci_device_id variable>);
-
- #- try to workaround nforce stuff.
- foreach (keys %{$o->{packages}{provides}{kernel}}) {
- my $p = $o->{packages}{depslist}[$_];
- my ($ext, $version, $release) = $p->name =~ /^kernel-([^\d\-]*)-?([^\-]*)\.([^\-\.]*)$/ or next;
- -s "$o->{prefix}/lib/modules/$version-$release$ext/kernel/drivers/sound/nvaudio.o.gz" and
- run_program::rooted($o->{prefix}, "cp -f /lib/modules/$version-$release$ext/kernel/drivers/sound/nvaudio.o.gz /lib/modules/$version-$release$ext/kernel/drivers/sound/i810_audio.o.gz");
- }
-};
diff --git a/perl-install/patch/patch-oem-9.0.pl b/perl-install/patch/patch-oem-9.0.pl
deleted file mode 100644
index 60c7422fe..000000000
--- a/perl-install/patch/patch-oem-9.0.pl
+++ /dev/null
@@ -1,52 +0,0 @@
-use install_steps;
-package install_steps;
-
-my $old_afterInstallPackages = \&afterInstallPackages;
-undef *afterInstallPackages;
-*afterInstallPackages = sub {
- &$old_afterInstallPackages;
-
- my ($o) = @_;
-
- #- update oem lilo image if it exists.
- if (-s "$o->{prefix}/boot/oem-message-graphic") {
- rename "$o->{prefix}/boot/message-graphic", "$o->{prefix}/boot/message-graphic.mdkgiorig";
- rename "$o->{prefix}/boot/oem-message-graphic", "$o->{prefix}/boot/message-graphic";
- }
-
- #- update background image if it exists for common environment.
- if (-s "$o->{prefix}/usr/share/mdk/oem-background.png") {
- if (-e "$o->{prefix}/usr/share/mdk/backgrounds/default.png") {
- rename "$o->{prefix}/usr/share/mdk/backgrounds/default.png",
- "$o->{prefix}/usr/share/mdk/backgrounds/default.png.mdkgiorig";
- rename "$o->{prefix}/usr/share/mdk/oem-background.png", "$o->{prefix}/usr/share/mdk/backgrounds/default.png";
- } else {
- #- KDE desktop background.
- if (-e "$o->{prefix}/usr/share/config/kdesktoprc") {
- update_gnomekderc("$o->{prefix}/usr/share/config/kdesktoprc", "Desktop0",
- MultiWallpaperMode => "NoMulti",
- Wallpaper => "/usr/share/mdk/oem-background.png",
- WallpaperMode => "Scaled",
- );
- }
- #- GNOME desktop background.
- if (-e "$o->{prefix}/etc/gnome/config/Background") {
- update_gnomekderc("$o->{prefix}/etc/gnome/config/Background", "Default",
- wallpaper => "/usr/share/mdk/oem-background.png",
- wallpaperAlign => "3",
- );
- }
- }
- }
-
- #- try to workaround nforce stuff.
- foreach (keys %{$o->{packages}{provides}{kernel}}) {
- my $p = $o->{packages}{depslist}[$_];
- my ($ext, $version, $release) = $p->name =~ /^kernel-([^\d\-]*)-?([^\-]*)\.([^\-\.]*)$/ or next;
- -s "$o->{prefix}/lib/modules/$version-$release$ext/kernel/drivers/sound/nvaudio.o.gz" and
- run_program::rooted($o->{prefix}, "cp -f /lib/modules/$version-$release$ext/kernel/drivers/sound/nvaudio.o.gz /lib/modules/$version-$release$ext/kernel/drivers/sound/i810_audio.o.gz");
- }
-
- #- try to check if pcitable and others have been built correctly.
- -e "$o->{prefix}/usr/share/ldetect-lst/pcitable" or run_program::rooted($o->{prefix}, "/usr/sbin/update-ldetect-lst");
-};
diff --git a/perl-install/patch/patch-oem-hp.pl b/perl-install/patch/patch-oem-hp.pl
deleted file mode 100644
index 0a5b0b51e..000000000
--- a/perl-install/patch/patch-oem-hp.pl
+++ /dev/null
@@ -1,323 +0,0 @@
-use modules;
-package modules;
-my $old_load_raw = \&load_raw;
-undef *load_raw;
-*load_raw = sub {
- &$old_load_raw;
-
- my @l = map { my ($i, @i) = @$_; [ $i, \@i ] } grep { $_->[0] !~ /ignore/ } @_;
- foreach (@l) {
- if ($_->[0] eq 'ehci-hcd') {
- add_alias('usb-interface1', $_->[0]);
- }
- }
-
- if (get_alias("usb-interface") || get_alias("usb-interface1")) {
- unless (-e "/proc/bus/usb/devices") {
- 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 4;
- load_multi("usbkbd", "keybdev") if detect_devices::usbKeyboards();
- }
- }
-};
-
-my $old_load = \&load;
-undef *load;
-*load = sub {
- &$old_load;
-
- #- hack to get back usb-interface (even if already loaded by stage1)
- #- NOTE load_multi is not used for that so not overloaded to fix that too.
- if ($_[0] =~ /usb-[uo]hci/ && !get_alias("usb-interface")) {
- add_alias('usb-interface', $_[0]);
- } elsif ($_[0] eq 'ehci-hcd' && !get_alias("usb-interface1")) {
- add_alias('usb-interface1', $_[0]);
- }
-
- if (get_alias("usb-interface") || get_alias("usb-interface1")) {
- unless (-e "/proc/bus/usb/devices") {
- 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 4;
- load_multi("usbkbd", "keybdev") if detect_devices::usbKeyboards();
- }
- }
-};
-
-#- ensure it is loaded using this patch.
-$::noauto or modules::load_thiskind("usb");
-sleep 2;
-
-use install_steps;
-package install_steps;
-
-my $old_beforeInstallPackages = \&beforeInstallPackages;
-undef *beforeInstallPackages;
-*beforeInstallPackages = sub {
- &$old_beforeInstallPackages;
-
- my ($o) = @_;
- mkdir "$o->{prefix}$_" foreach qw(/boot /usr /usr/share /usr/share/mdk);
- install_any::getAndSaveFile("Mandrake/base/oem-message-graphic", "$o->{prefix}/boot/oem-message-graphic");
- install_any::getAndSaveFile("Mandrake/base/oem-background.png", "$o->{prefix}/usr/share/mdk/oem-background.png");
-};
-
-my $old_afterInstallPackages = \&afterInstallPackages;
-undef *afterInstallPackages;
-*afterInstallPackages = sub {
- &$old_afterInstallPackages;
-
- my ($o) = @_;
-
- #- lilo image.
- rename "$o->{prefix}/boot/lilo-graphic/message", "$o->{prefix}/boot/lilo-graphic/message.orig";
- system "chroot", $o->{prefix}, "cp", "-f", "/boot/oem-message-graphic", "/boot/lilo-graphic/message";
-
- #- KDE desktop background.
- if (-e "$o->{prefix}/usr/share/config/kdesktoprc") {
- update_gnomekderc("$o->{prefix}/usr/share/config/kdesktoprc", "Desktop0",
- MultiWallpaperMode => "NoMulti",
- Wallpaper => "/usr/share/mdk/oem-background.png",
- WallpaperMode => "Scaled",
- );
- }
- #- GNOME desktop background.
- if (-e "$o->{prefix}/etc/gnome/config/Background") {
- update_gnomekderc("$o->{prefix}/etc/gnome/config/Background", "Default",
- wallpaper => "/usr/share/mdk/oem-background.png",
- wallpaperAlign => "3",
- );
- }
-
- #- make sure no error can be forwarded, test staroffice installed and OpenOffice.org,
- #- remove the first if the second is installed.
- eval {
- if (!$o->{isUpgrade} && -e "$o->{prefix}/usr/lib/openoffice/program/soffice.bin" && grep { -e "$o->{prefix}/usr/lib/office60_$_/program/soffice.bin" } qw(de en es fr it)) {
- require run_program;
- log::l("removing OpenOffice.org as staroffice is installed");
- run_program::rooted($o->{prefix}, "rpm", "-e", "OpenOffice.org");
- }
- };
-};
-
-use install_any;
-package install_any;
-
-undef *copy_advertising;
-*copy_advertising = sub {
- 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/$_");
- s/\.png/\.pl/;
- getAndSaveFile("$source_dir/$_", "$dir/$_");
- s/\.pl/_icon\.png/;
- getAndSaveFile("$source_dir/$_", "$dir/$_");
- s/_icon\.png/\.png/;
- }
- @advertising_images = map { $_ && -e "$dir/$_" ? ("$dir/$_") : () } @files;
- }
-};
-
-#undef *allowNVIDIA_rpms;
-#*allowNVIDIA_rpms = sub {
-# my ($packages) = @_;
-# require pkgs;
-# if (pkgs::packageByName($packages, "NVIDIA_GLX")) {
-# #- at this point, we can allow using NVIDIA 3D acceleration packages.
-# my @rpms;
-# foreach (keys %{$packages->{names}}) {
-# my ($ext, $version, $release) = /kernel[^-]*(-smp|-enterprise|-secure)?(?:-(\d.*?)\.(\d+\.\d+mdk))?$/ or next;
-# my $p = pkgs::packageByName($packages, $_);
-# pkgs::packageSelectedOrInstalled($p) or next;
-# $version or ($version, $release) = (pkgs::packageVersion($p), pkgs::packageRelease($p));
-# my $name = "NVIDIA_kernel-$version-$release$ext";
-# pkgs::packageByName($packages, $name) or return;
-# push @rpms, $name;
-# }
-# @rpms > 0 or return;
-# return [ @rpms, "NVIDIA_GLX" ];
-# }
-#};
-
-use detect_devices;
-package detect_devices;
-
-undef *usbMice;
-*usbMice = sub { grep { ($_->{media_type} =~ /\|Mouse/ || $_->{driver} =~ /Mouse:USB/) &&
- $_->{driver} !~ /Tablet:wacom/} usb_probe() };
-
-use Xconfigurator;
-package Xconfigurator;
-
-undef *cardConfigurationAuto;
-*cardConfigurationAuto = sub {
- my @cards;
- if (my @c = grep { $_->{driver} =~ /(Card|Server):/ } detect_devices::probeall()) {
- @c >= 2 && $c[0]{description} eq $c[1]{description} && $c[0]{description} =~ /82830 CGC/ and shift @c;
- 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->{driver} = $1 if /Driver:(.*)/;
- $card->{flags}{needVideoRam} = /86c368|S3 Inc|Tseng.*ET6\d00/;
- $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 G[45]50/ ? 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;
-};
-
-use mouse;
-package mouse;
-undef *detect;
-*detect = sub {
- 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($_) foreach qw(hid mousedev usbmouse) };
- 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($_) foreach qw(usbmouse mousedev hid) };
- }
- }
- $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;
-
- if (!modules::get_alias("usb-interface") && detect_devices::is_a_recent_computer() && $::isInstall && !$::noauto) {
- #- special case for non detected usb interface on a box with no mouse.
- #- we *must* find out if there really is no usb, otherwise the box may
- #- not be accessible via the keyboard (if the keyboard is USB)
- #- the only way to know this is to make a full pci probe
- modules::load_thiskind("usb", '', 'unsafe');
- if (my $mouse = $fast_mouse_probe->()) {
- return $mouse;
- }
- }
-
- if (modules::get_alias("usb-interface")) {
- eval { modules::load($_) foreach qw(hid mousedev usbmouse) };
- sleep 1;
- if (!$@ && detect_devices::tryOpen("usbmouse")) {
- #- defaults to generic USB mouse on usbmouse.
- log::l("defaulting to usb generic mouse");
- return fullname2mouse("USB|Generic", unsafe => 1);
- }
- }
-
- #- 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);
-};
diff --git a/perl-install/patch/patch-raidtab.pl b/perl-install/patch/patch-raidtab.pl
deleted file mode 100644
index de03a1b2a..000000000
--- a/perl-install/patch/patch-raidtab.pl
+++ /dev/null
@@ -1,37 +0,0 @@
-use detect_devices;
-package detect_devices;
-log::l("PATCHING");
-
-*raidAutoStartRaidtab = sub {
- my (@parts) = @_;
- log::l("patched raidAutoStartRaidtab");
- $::isInstall or return;
- require raid;
- #- faking a raidtab, it seems to be working :-)))
- #- (choosing any inactive md)
- raid::inactivate_all();
- foreach (@parts) {
- my ($nb) = grep { !raid::is_active("md$_") } 0..7;
- output("/tmp/raidtab", "raiddev /dev/md$nb\n device " . devices::make($_->{device}) . "\n");
- run_program::run('raidstart', '-c', "/tmp/raidtab", devices::make("md$nb"));
- }
- unlink "/tmp/raidtab";
-};
-
-use raid;
-package raid;
-
-*prepare_prefixed = sub {
- my ($raids, $prefix) = @_;
-
- log::l("patched prepare_prefixed");
-
- $raids or return;
-
- &write($raids, "/etc/raidtab") if ! -e "/etc/raidtab";
-
- eval { cp_af("/etc/raidtab", "$prefix/etc/raidtab") };
- foreach (grep { $_ } @$raids) {
- devices::make("$prefix/dev/$_->{device}") foreach @{$_->{disks}};
- }
-};
diff --git a/perl-install/patch/rpmsrate.oem-9.0-openoffice b/perl-install/patch/rpmsrate.oem-9.0-openoffice
deleted file mode 100644
index a8d40cd0f..000000000
--- a/perl-install/patch/rpmsrate.oem-9.0-openoffice
+++ /dev/null
@@ -1,551 +0,0 @@
-LSB
- 5 lsb
-
-GRAPHICAL_DESKTOP
- 4 WindowMaker icewm
- 3 Epplets WMRack blackbox enlightenment ethemes icepref
- wmakerconf xlockmore xfce
- 2 wmnet
- 1 lesstif-mwm xbanner
-
-GNOME
- 5 gnome-panel nautilus gnome-control-center metacity gnome-terminal yelp
- nautilus-gtkhtml
- 4 gnome-tiles gdm gnome-applets gnome-user-docs gtk-themes file-roller
- gnome-network gnome-utils xlockmore gtk-engines2
- gnome-vfs-extras gconf-editor
- 3 gnome-pilot
- 2 bug-buddy
-
-KDE
- 5 kdebase kdebase-nsplugins
- 5 kde-i18n-af kde-i18n-az kde-i18n-bg kde-i18n-ca kde-i18n-cs kde-i18n-da kde-i18n-de kde-i18n-el kde-i18n-en_GB kde-i18n-eo kde-i18n-es kde-i18n-et kde-i18n-fi kde-i18n-fr kde-i18n-he kde-i18n-hu kde-i18n-is kde-i18n-it kde-i18n-ja kde-i18n-ko kde-i18n-lt kde-i18n-lv kde-i18n-nl kde-i18n-no kde-i18n-no_NY kde-i18n-pl kde-i18n-pt kde-i18n-pt_BR kde-i18n-ro kde-i18n-ru kde-i18n-sk kde-i18n-sl kde-i18n-sr kde-i18n-sv kde-i18n-ta kde-i18n-th kde-i18n-tr kde-i18n-uk kde-i18n-zh_CN.GB2312 kde-i18n-zh_TW.Big5
- 4 kdeaddutils kdeadmin kdegraphics kdemultimedia kdenetwork krozat
- kdepim kdetoys kdeutils quanta
-
- 2 kdesdk kdoc
-
-VIDEO
- 4 xine-ui xine-oss xine-xv powerdvd RealPlayer
- 3 nist xanim xmms-smpeg xmovie
- 2 mtv mtv-fullscreen-extension
- 1 bcast mpeg2_movie
-TV
- 4 zapping xawtv gatos
- 4 KDE kwintv
-
-OFFICE
- 4 staroffice-de staroffice-en staroffice-es staroffice-fr staroffice-it
- acroread acroread-nppdf
- OpenOffice.org OpenOffice.org-l10n-ca OpenOffice.org-l10n-cs OpenOffice.org-l10n-da OpenOffice.org-l10n-de OpenOffice.org-l10n-el OpenOffice.org-l10n-en OpenOffice.org-l10n-es OpenOffice.org-l10n-fr OpenOffice.org-l10n-it OpenOffice.org-l10n-ja OpenOffice.org-l10n-ko OpenOffice.org-l10n-nl OpenOffice.org-l10n-pl OpenOffice.org-l10n-pt OpenOffice.org-l10n-ru OpenOffice.org-l10n-sv OpenOffice.org-l10n-tr
- 4 cbb gaddr xpdf moneydance
- 3 wv ical pyDict
- 2 units lyx
- GNOME
- 4 gnome-pim gnome-pim-conduits gnumeric mrproject
- 3 dia gnome-pilot-conduits Guppi
- 2 ggv gnucash
- KDE
- 3 koffice
- 3 koffice-i18n-az koffice-i18n-bg koffice-i18n-cs koffice-i18n-da koffice-i18n-de koffice-i18n-en_GB koffice-i18n-eo koffice-i18n-es koffice-i18n-et koffice-i18n-fr koffice-i18n-hu koffice-i18n-it koffice-i18n-ja koffice-i18n-lt koffice-i18n-mt koffice-i18n-nl koffice-i18n-no koffice-i18n-no_NY koffice-i18n-pl koffice-i18n-pt koffice-i18n-pt_BR koffice-i18n-ro koffice-i18n-ru koffice-i18n-sk koffice-i18n-sl koffice-i18n-sv koffice-i18n-ta koffice-i18n-tr koffice-i18n-uk
- 2 klyx
-
-SOUND
- 5 sox
- 4 aumix
- 4 KDE xmms-arts
-
-AUDIO
- 4 grip xmms xmms-skins
- 4 GNOME gnome-audio gnome-media
- 4 KDE kdelibs-sound
- 4 3D xmms-mesa
- 3 cdp cdparanoia cdrecord-cdda2wav space_sounds timidity-instruments xmms-esd
- xmms-kjofol-skins xmms-more-vis-plugins
- 3 GNOME gnome-audio-extra
- 2 mokmod mp3info mpg123 playmidi playmidi-X11 xmms-mikmod
-
- 4 HW"Rio 500" rio500 grio500
-
-ACCESSIBILITY
- 2 gtkeyboard
-
-PUBLISHING
- 5 enscript ghostscript-module-X
- 4 ghostscript-utils gv psutils texinfo nlpr
- 2 latex2html jadetex tetex-afm tetex-dvips tetex-latex tetex-xdvi tetex-latex-arab tetex-latex-heb docbook-dtd31-sgml
- 2 BOOKS tetex-doc
- 1 docbook-style-dsssl openjade sgml-tools ghostscript-module-SVGALIB cttex
- 1 BOOKS docbook-style-dsssl-doc
-
- 5 CUPS
- cups-drivers xpp
- 5 CUPS || LPR foomatic
- 1 CUPS hpoj
-
-SHELLS
- 3 zsh
- 3 BOOKS bash-doc zsh-doc
- 2 eshell pdksh tcsh
- 1 bash1
-
-SCIENCES
- 5 3D openuniverse
- 4 gnuplot gtkgraphh
- 3 xlispstat HDF
- 2 mathplot octave
- 1 xoscope
-
-EDITORS
- 4 emacs-X11
- 3 GXedit vim-X11 yudit
- 2 nedit cooledit emacs-tramp joe emacs-leim jed-xjed xemacs xemacs-extras xemacs-info
- 1 auctex emacs-el jed xemacs-el emacs-nox xwpe xwpe-X11
- GNOME
- 4 gedit
-
-TEXT_TOOLS
- 5 words
- 4 groff patch recode rgrep
- 4 ispell-af ispell-br ispell-ca ispell-cs ispell-da ispell-de ispell-el ispell-en ispell-eo ispell-es ispell-fi ispell-fr ispell-ga ispell-gd ispell-gv ispell-id ispell-it ispell-nl ispell-no ispell-pl ispell-pt ispell-pt_BR ispell-ro ispell-ru ispell-sk ispell-sl ispell-sv
- 3 ed
- 2 groff-gxditview lout
- BOOKS
- 3 gawk-doc
- 1 lout-doc
-
-COMMUNICATIONS
- 4 efax
- 3 jpilot pilot-link
- 2 hylafax-server hylafax-client dip
- 2 lrzsz mgetty mgetty-contrib mgetty-sendfax mgetty-viewfax mgetty-voice minicom
- 1 jpilot-Mail jpilot-syncmal statserial tkbabel
-
-TERMINALS
- 5 open xterm
- 4 screen kon2
- 3 Eterm vlock
- 1 aterm x3270
-
- 4 KDE ktelnet
- 4 GNOME gnome-telnet
- 4 LOCALES"ja" kterm
-
-NETWORKING_CHAT
- 3 talk ytalk
-NETWORKING_CHAT_SERVER
- 4 jabber
- 3 talk-server
-
-NETWORKING_FILE_TRANSFER
- 5 lftp mirrordir rsync
- 4 gftp rdist
- 3 fmirror ncftp tftp
- 3 GNOME dpsftp
- 2 uucp
-
-NETWORKING_FILE_TRANSFER_SERVER
- 4 proftpd bwbserver_linux
- 2 wu-ftpd anonftp
-
-NETWORKING_LDAP_SERVER
- 4 openldap directory_administrator
-
-NETWORKING_INSTANT_MESSAGING
- 4 licq
- 3 everybuddy licq-console licq-rms
- GNOME
- 5 aspell-br aspell-ca aspell-cs aspell-da aspell-de aspell-de_CH aspell-en aspell-en_CA aspell-en_GB aspell-eo aspell-es aspell-fr aspell-it aspell-nl aspell-no aspell-pl aspell-sv
- 4 gnomeicu gabber gaim
- 3 gtk+licq
-
-NETWORKING_IRC
- 3 BitchX mozilla-irc
- 3 GNOME xchat
- 2 irssi
- 1 eggdrop
-
-NETWORKING_FIREWALLING_SERVER
- 5 iproute2 routed iptables
- 3 prelude
- 1 portsentry
-
-NETWORKING_GROUPWARE_SERVER
- 4 phpgroupware bwbserver_linux
-
-NETWORKING_MAIL
- 5 mailx metamail
- 4 faces mozilla-mail evolution
- 3 fetchmail urlview mutt
- 3 !GNOME !KDE xmailbox
- 2 FaxMail comsat elm faces-xface
- 1 exmh sylpheed fetchmail-daemon fetchmailconf
-NETWORKING_MAIL_SERVER
- 5 postfix
- 4 mailman
-
-NETWORKING_NEWS
- 5 GNOME pan
- 2 slrn tin trn
- 1 slrn-pull xrn
-NETWORKING_NEWS_SERVER
- 4 inn
- 3 inews
-
-NETWORKING_OTHER
- 2 finger fwhois ucd-snmp-utils htdig macutils
-NETWORKING_OTHER_SERVER
- 3 dhcp-server gated timed ntp
-
- 3 intimed mcserv nscd imap pidentd
- rdate bootparamd
- cleanfeed ucd-snmp leafnode
- cvsweb nut-server
- XFree86-Xvfb XFree86-Xnest
- 2 heartbeat diald finger-server mars-nwe
-
-NIS
- 5 ypbind
-NIS_SERVER
- 5 ypserv
-
-NETWORKING_REMOTE_ACCESS
- 5 openssh-clients telnet telnet-client-krb5
- KDE lisa
- 4 traceroute rfbdrake
- 3 vnc
- 2 rsh
- 2 BOOKS vnc-doc
-NETWORKING_REMOTE_ACCESS_SERVER
- 5 openssh-server
- 4 rfbdrake
- 2 vnc-server
- 1 telnet-server-krb5 rsh-server
-
-NETWORKING_DNS
- 4 bind-utils
-NETWORKING_DNS_SERVER
- 5 bind
- 4 caching-nameserver
- 1 nslint
-
-NETWORKING_FILE
- 4 samba-client nfs-utils-clients
- 2 arkeia-gui arkeia-client arkeia-arkc
- 2 GNOME gnomba gtm
- 2 autofs
- 1 am-utils
-NETWORKING_FILE_SERVER
- 5 nfs-utils
- 4 samba-server bwbserver_linux
- 3 BOOKS samba-doc
- 2 arkeia-server samba-winbind
- 3 squid squidGuard
-
-NETWORKING_WWW
- 3 lynx
- 4 !LOCALES"eu" netscape-communicator netscape-plugins
- 4 wget links mozilla Flashplayer crossover-plugin-demo j2re
- 4 GNOME
- screem
- !LOCALES"eu" galeon
- 3 plugger opera bluefish
-NETWORKING_WWW_SERVER
- 5 apache apache-mod_perl mod_ssl mod_php
- 4 apache-suexec
- bwbserver_linux
- 4 BOOKS apache-manual
- 3 php-dba_gdbm_db2 php-gd php-imap php-ldap php-manual php-mysql php-oracle
- php-pgsql php-readline php mod_sxnet auth_ldap HTML-Embperl
- 2 ApacheJServ
- 1 Zope Zope-core Zope-pcgi Zope-zserver
-
-GRAPHICS
- 4 ImageMagick giftrans gimp gphoto gphoto2 qiv ac3d
- 3 gimp-data-extras gqview sketch xwpick xli
- 2 gif2png gimp-perl xpcd xfig xpcd-gimp gd-utils cameleo
- 1 libgr-progs libungif-progs qcad transfig xpaint xmorph
- 1 3D Mesa-demos
- GNOME
- 4 gnome-iconedit
- 3 ee
-
-ARCHIVING
- 5 dump ncompress sharutils unzip
- 4 gtkzip zip
- 3 unarj unstuff mt-st
- 2 taper
- 1 lha
- GNOME
- 4 gnozip
- 3 gtktalog
-
-BURNER
- 5 mkisofs cdrecord
- 4 GNOME gnome-toaster gcombust
- 4 X xcdroast
- 2 X eroaster
- DEVELOPMENT
- 3 cdrecord-devel
-
-SCANNER
- 5 sane-frontends
- 4 gimp
- 4 xsane
-
-PHOTO
- 4 gphoto gphoto2
- 3 gnomemeeting openmcu
-
-DATABASES
- 5 postgresql
- 3 MySQL-client MySQL-shared
- DATABASES_SERVER
- 4 postgresql-server
- 3 MySQL
- 3 postgresql-perl postgresql-python
- 2 postgresql-jdbc postgresql-tk postgresql-odbc postgresql-tcl postgresql-test
- DEVELOPMENT
- 4 perl-Mysql
- 3 postgresql-devel
- 1 MySQL-bench MySQL-devel
-
-GAMES
- 4 sin-demo
- 4 clanbomber freeciv lbreakout2 toppler frozen-bubble
- 3 shogo-demo
- 3 cxhextris rocksndiamonds powermanga mures methane
- 2 Maelstrom pingus ltris penguin-command pysol xtrojka bunnies xpilot trophy xboard xgammon xkobo xpat2 xpuzzles xsoldier xfishtank
- 1 7colors xrally fortune-mod nil
- GNOME
- 4 gnome-games
- 3 gnome-chess
- 2 3D gtulpas
- 1 gtkgo
- DEVELOPMENT
- 2 gnomes-games-devel
- KDE
- 4 kdegames
- DEVELOPMENT
- 2 kdegames-devel
- 3D
- 4 csmash armagetron
- !HW"Riva.*128" chromium tuxracer
-
- 3 !HW"Riva.*128" !HW"Rage X[CL]" !HW"Rage Mobility (?:P\/M|L) " !HW"3D Rage (?:LT|Pro)"
- bzflag
-
-DEVELOPMENT
- 5 autoconf automake m4 make
- 3 autoconf2.5
- 1 tmake pmake pmake-customs
-
- 3 libtool binutils ltrace gdb gcc
- 2 gperf cdecl cproto indent ElectricFence
- 1 egcs glibc-profile xxgdb
-
- 4 gcc-c++ libstdc++5-devel libstdc++-devel
- 2 libsigc++-examples
- 1 egcs-c++
-
- 3 bison flex
- 2 byacc
-
- 2 doxygen C++2LaTeX
-
- 3 jikes kaffe
- 1 gcc-java
-
- 5 cvs rcs
- 2 diffstat tkcvs
-
- 3 swig
-
- 4 python veepee tkinter
- 3 libpython2.2-devel python-devel python-imaging pygtk-glarea pygtk pygtk-libglade rpm-python
-
- 4 perl perl-Term-Readline-Gnu perl-libnet perl-libwww-perl perl-devel
- 3 perl-DBI perl-Digest-MD5 perl-IO-stringy perl-PDL perl-Parse-RecDescent
- perl-GTK-GLArea perl-Tk perlftlib eperl perl-URI perl-DB_File
- perl-Data-ShowTable perl-HTML-Parser perl-HTML-SimpleParse perl-MIME-Base64
- perl-MIME-tools perl-MP3-Info perl-MailTools perl-Msgcat
-
- 4 rpm-build
- 3 rpmlint rpm-devel
- 3 kernel-source
-
- 2 gcc-g77 nasm dev86
- 1 gcc-objc
-
- 2 teyjus gprolog ocaml umb-scheme mawk guile clisp SmallEiffel p2c
- ghc ghc-prof happy haskell-GTK haskell-GTK-devel hugs98 mercury swi-prolog
- ruby-extensions ruby-gtk ruby
-
- 4 gettext-devel
-
- BOOKS
- 2 pam-doc python-docs slang-doc kernel-doc nasm-doc qt2-doc ruby-doc lkmpg
-
- KDE
- 3 kdevelop
- 3 kdebase-devel kdegraphics-devel kdelibs-devel kdelibs-sound-devel
- kdemultimedia-devel kdenetwork-devel
- 1 kdesupport-devel kdeaddutils-devel koffice-devel
-
- GNOME
- 4 perl-GTK-Glade perl-GTK-Gnome
- 3 memprof glade gnome-guile pygnome libgnomeui2_0-devel gnome-guile-devel
- gnome-pim-devel gob
- 2 pygnome-applet pygnome-capplet pygnome-libglade rep-gtk-gnome
- libgnomemm-1.2_9-devel gnomemm-devel libgnome-pilot1-devel gnome-pilot-devel glademm
- 1 gnucash-devel rep-gtk-libglade
-
- DEVELOPMENT_OTHER
- 2 ImageMagick-devel Mesa-common-devel libXaw3d7-devel Xaw3d-devel detect-devel
- libgd2-devel gd-devel p2c-devel libgmp3-devel gmp-devel libguile9-devel guile-devel libgr-devel libjpeg62-devel libjpeg-devel libpng3-devel libpng-devel
- libtermcap2-devel libtermcap-devel libtiff3-devel libtiff-devel libungif4-devel libungif-devel libxml2-devel libxml-devel
- linuxconf-devel libslang1-devel slang-devel sox-devel zlib1-devel zlib-devel XFree86-devel dev86-devel
- libgdk-pixbuf2-devel gdk-pixbuf-devel libgimp1.2_1-devel gimp-devel libgpm1-devel gpm-devel kudzu-devel libghttp1-devel libghttp-devel libgtop2.0_0-devel libgtop-devel
- libmikmod2-devel libmikmod-devel librep9-devel librep-devel libunicode-devel popt-devel pwdb-devel t1lib1-devel t1lib-devel
- ucd-snmp-devel mpeg_lib-devel WindowMaker-devel aalib-devel libadns1-devel adns-devel
- alsa-lib-devel audiofile-devel libcups1-devel cups-devel e2fsprogs-devel egcs-objc-devel
- libg-wrap2-devel g-wrap-devel gkrellm-devel ibtk libPropList-devel licq-devel openldap-devel
- libparted1.6-devel parted-devel pciutils-devel pilot-link-devel svgalib-devel
- recode-devel libaspell10-devel aspell-devel cracklib-devel faces-devel fnlib-devel
- freetype-devel libgtk+mdk0.1_6-devel gtk+mdk-devel libgtkglarea5-devel gtkglarea-devel XFree86-static-libs imap-devel
- php-devel libpth14-devel pth-devel libsane1-devel sane-devel swig-devel xdelta-devel isapnptools-devel
- libpango1.0_0-devel pango-devel readline-devel
-
-MONITORING
- 5 procinfo psacct
- 5 PCMCIA apmd
- 4 lsof swatch tcpdump traceroute
- 3 iplog arpwatch lslk nmap nmap-frontend procps-X11 xcpustate xsysinfo
- 2 cfengine gkrellm gps rusers mon xosview 3D xtraceroute
- 1 logcheck bonnie
- GNOME
- 4 gnome-system-monitor
-
-FILE_TOOLS
- 5 file gnupg mkxauth mtools slocate
- 4 symlinks
- 3 dosfstools draksync mc tree
- 2 git gentoo sfm xwc FileRunner
- 1 xdelta
-
-WEBMIN
- 3 webmin
-
-WIZARDS
- 5 drakwizard
-
-CONFIG
- 4 linuxconf linuxconf-lang-cs linuxconf-lang-de linuxconf-lang-es linuxconf-lang-fi linuxconf-lang-fr linuxconf-lang-hu linuxconf-lang-it linuxconf-lang-ko linuxconf-lang-no linuxconf-lang-pt linuxconf-lang-ro linuxconf-lang-sk linuxconf-lang-sv linuxconf-lang-zh
- 4 X gnome-linuxconf
- 3 ipvsadm quota usernet nut
- 2 gfcc control-panel adjtimex isicom xinput timeconfig samba-swat
- 1 ipxutils
-
-BOOKS
- 3 mandrake_doc-de mandrake_doc-en mandrake_doc-es mandrake_doc-fr mandrake_doc-it mandrake_doc-ru
-
-X
- 5 XFree86 rxvt XFree86-75dpi-fonts urw-fonts
- 5 icewm-light
-
- 4 vim-enhanced
- 4 gurpmi rpmdrake drakconf userdrake fonts-ttf-decoratives fonts-ttf-west_european
- mandrake-mime menudrake mandrake_desk
- mdkonline drakfirsttime gtk-engines bootsplash
- 4 LOCALES"ja" || LOCALES"ko" || LOCALES"zh" rxvt-CJK
-
- 3 XFree86-100dpi-fonts draksync drakprofile
- 3 USB usbview
- 2 LOCALES"ja" || LOCALES"ko" || LOCALES"zh" jmcce
- 2 tksysv imlib-cfgeditor
- 1 DrakeLogo Mesa xtoolwait X11R6-contrib
-
- GNOME
- 3 gnorpm
-
- 5 xcin Chinput xa+cv xvnkb FreeWnn ami kinput2-wnn4
-
- 2 app-defaults-be app-defaults-cs app-defaults-ga app-defaults-ru app-defaults-th app-defaults-uk
-
- 5 CHARSET"iso-8859-13" fonts-type1-baltic
- LOCALES"ru" || LOCALES"uk" XFree86-cyrillic-fonts
- LOCALES"he" fonts-hebrew-elmar
- LOCALES"hy" fonts-ttf-armenian
- LOCALES"ja" fonts-ttf-japanese
- LOCALES"ko" fonts-ttf-korean
- LOCALES"ta" fonts-ttf-tscii fonts-bitmap-tscii
- LOCALES"th" fonts-ttf-thai
- LOCALES"zh_CN" || LOCALES"zh" fonts-ttf-gb2312
- LOCALES"zh_TW" || LOCALES"zh" taipeifonts fonts-ttf-big5
-
-DOCS
- 5 man info man-pages
-
-SYSTEM
- 5 at MAKEDEV eject ldetect devfsd
- locales iputils urpmi cpio msec tmpwatch
-
- 5 HIGH_SECURITY libsafe kernel-secure-2.4.19.16mdk kernel-secure
- 5 BIGMEM kernel-enterprise-2.4.19.16mdk kernel-enterprise
- 5 SMP kernel-smp-2.4.19.16mdk kernel-smp
- 5 PCMCIA pcmcia-cs
- 5 USB hotplug
-
- 5 HW"nForce.*(?:Audio|Network)"
- NVIDIA_nforce-2.4.19-16mdk
- BIGMEM NVIDIA_nforce-2.4.19-16mdk-enterprise
-
- 4 ftp-client-krb5 gpm hexedit strace sudo grub procmail gnupg
-
- 3 bc
- 2 sndconfig kernel-utils acpid adns audiofile freeswan awesfx fbset vlan-utils
- 1 fdutils genromfs mailcap pinfo
-
- BOOKS
- 5 man-pages-cs man-pages-da man-pages-de man-pages-es man-pages-fr man-pages-hu man-pages-id man-pages-it man-pages-ja man-pages-ko man-pages-pl man-pages-ru man-pages-zh
- 3 grub-doc lilo-doc
- howto-html-de howto-html-el howto-html-en howto-html-es howto-html-fr howto-html-hr howto-html-hu howto-html-id howto-html-it howto-html-ja howto-html-ko howto-html-nl howto-html-pl howto-html-ro howto-html-sl howto-html-sv howto-html-zh
-
- 4 NIS yp-tools
- 3 PCMCIA irda-utils
- 3 USB usbutils
-
- 4 LOCALES"ar" || LOCALES"fa" || LOCALES"he" || LOCALES"yi" acon
- 3 LOCALES"zh" zh-autoconvert
-
-EMULATORS
- 3 wine
- 2 BasiliskII-jit
- 1 BasiliskII
- 2 xdosemu
- 1 xmame xmess
-
-INSTALL
- NOCOPY
- 5 kernel-2.4.19.16mdk kernel-2.4.19.16mdk kernel kernel-smp-2.4.19.16mdk kernel-smp-2.4.19.16mdk kernel-smp kernel-enterprise-2.4.19.16mdk kernel-enterprise-2.4.19.16mdk kernel-enterprise
- raidtools lvm reiserfsprogs jfsprogs xfsprogs
- alsa alsa-utils
- 4 XFree86
-
- 5 pptp-adsl dhcpcd dhcpxd dhcp-client isdn4net isdn-light isdn4k-utils ibod rp-pppoe pump wireless-tools speedtouch
- ppp nfs-utils-clients
- autologin ntp cups-drivers samba ncpfs hpoj ucd-snmp libptal0
- libhpojip0 libsnmp0 xojpanel libsane-hpoj0
- ipchains shorewall iptables printer-utils rlpr samba-client
- xpp pdq printer-testpages nmap scli net-tools
- cups lpr foomatic gimpprint
- nc sndconfig
- ImageMagick ghostscript printer-filters mpage a2ps ppdfilt libppd1 gpr groff libgimpprint1 numlock curl
- sane-backends sane-frontends xsane xsane-gimp mtools mtoolsfm
- hotplug dev ypbind speedtouch_mgmt
- 4 XFree86-server XFree86-FBDev
-# 4 XFree86-SVGA XFree86-server XFree86-Mach64 XFree86-FBDev
-# XFree86-glide-module Device3Dfx Glide_V3-DRI Glide_V5 Mesa
-# 3 XFree86-S3 XFree86-S3V XFree86-VGA16
-# 2 XFree86-8514 XFree86-AGX XFree86-I128 XFree86-Mach32 XFree86-Mach8 XFree86-Mono XFree86-P9000 XFree86-W32
-# 1 XFree86-3DLabs XFree86-Sun XFree86-SunMono XFree86-Sun24
diff --git a/perl-install/patch/rpmsrate.oem-9.0-staroffice b/perl-install/patch/rpmsrate.oem-9.0-staroffice
deleted file mode 100644
index 179e19d06..000000000
--- a/perl-install/patch/rpmsrate.oem-9.0-staroffice
+++ /dev/null
@@ -1,552 +0,0 @@
-LSB
- 5 lsb
-
-GRAPHICAL_DESKTOP
- 4 icewm
- 3 WindowMaker
- 3 Epplets WMRack blackbox enlightenment ethemes icepref
- wmakerconf xlockmore xfce
- 2 wmnet
- 1 lesstif-mwm xbanner
-
-GNOME
- 5 gnome-panel nautilus gnome-control-center metacity gnome-terminal yelp
- nautilus-gtkhtml
- 4 gnome-tiles gdm gnome-applets gnome-user-docs gtk-themes file-roller
- gnome-network gnome-utils xlockmore gtk-engines2
- gnome-vfs-extras gconf-editor
- 3 gnome-pilot
- 2 bug-buddy
-
-KDE
- 5 kdebase kdebase-nsplugins
- 5 kde-i18n-af kde-i18n-az kde-i18n-bg kde-i18n-ca kde-i18n-cs kde-i18n-da kde-i18n-de kde-i18n-el kde-i18n-en_GB kde-i18n-eo kde-i18n-es kde-i18n-et kde-i18n-fi kde-i18n-fr kde-i18n-he kde-i18n-hu kde-i18n-is kde-i18n-it kde-i18n-ja kde-i18n-ko kde-i18n-lt kde-i18n-lv kde-i18n-nl kde-i18n-no kde-i18n-no_NY kde-i18n-pl kde-i18n-pt kde-i18n-pt_BR kde-i18n-ro kde-i18n-ru kde-i18n-sk kde-i18n-sl kde-i18n-sr kde-i18n-sv kde-i18n-ta kde-i18n-th kde-i18n-tr kde-i18n-uk kde-i18n-zh_CN.GB2312 kde-i18n-zh_TW.Big5
- 4 kdeaddutils kdeadmin kdegraphics kdemultimedia kdenetwork krozat
- kdepim kdetoys kdeutils quanta
-
- 2 kdesdk kdoc
-
-VIDEO
- 4 xine-ui xine-oss xine-xv powerdvd RealPlayer
- 3 nist xanim xmms-smpeg xmovie
- 2 mtv mtv-fullscreen-extension
- 1 bcast mpeg2_movie
-TV
- 4 zapping xawtv gatos
- 4 KDE kwintv
-
-OFFICE
- 4 staroffice-de staroffice-en staroffice-es staroffice-fr staroffice-it
- acroread acroread-nppdf
- 3 OpenOffice.org OpenOffice.org-l10n-ca OpenOffice.org-l10n-cs OpenOffice.org-l10n-da OpenOffice.org-l10n-de OpenOffice.org-l10n-el OpenOffice.org-l10n-en OpenOffice.org-l10n-es OpenOffice.org-l10n-fr OpenOffice.org-l10n-it OpenOffice.org-l10n-ja OpenOffice.org-l10n-ko OpenOffice.org-l10n-nl OpenOffice.org-l10n-pl OpenOffice.org-l10n-pt OpenOffice.org-l10n-ru OpenOffice.org-l10n-sv OpenOffice.org-l10n-tr
- 4 cbb gaddr xpdf moneydance
- 3 wv ical pyDict
- 2 units lyx
- GNOME
- 4 gnome-pim gnome-pim-conduits gnumeric mrproject
- 3 dia gnome-pilot-conduits Guppi
- 2 ggv gnucash
- KDE
- 3 koffice
- 3 koffice-i18n-az koffice-i18n-bg koffice-i18n-cs koffice-i18n-da koffice-i18n-de koffice-i18n-en_GB koffice-i18n-eo koffice-i18n-es koffice-i18n-et koffice-i18n-fr koffice-i18n-hu koffice-i18n-it koffice-i18n-ja koffice-i18n-lt koffice-i18n-mt koffice-i18n-nl koffice-i18n-no koffice-i18n-no_NY koffice-i18n-pl koffice-i18n-pt koffice-i18n-pt_BR koffice-i18n-ro koffice-i18n-ru koffice-i18n-sk koffice-i18n-sl koffice-i18n-sv koffice-i18n-ta koffice-i18n-tr koffice-i18n-uk
- 2 klyx
-
-SOUND
- 5 sox
- 4 aumix
- 4 KDE xmms-arts
-
-AUDIO
- 4 grip xmms xmms-skins
- 4 GNOME gnome-audio gnome-media
- 4 KDE kdelibs-sound
- 4 3D xmms-mesa
- 3 cdp cdparanoia cdrecord-cdda2wav space_sounds timidity-instruments xmms-esd
- xmms-kjofol-skins xmms-more-vis-plugins
- 3 GNOME gnome-audio-extra
- 2 mokmod mp3info mpg123 playmidi playmidi-X11 xmms-mikmod
-
- 4 HW"Rio 500" rio500 grio500
-
-ACCESSIBILITY
- 2 gtkeyboard
-
-PUBLISHING
- 5 enscript ghostscript-module-X
- 4 ghostscript-utils gv psutils texinfo nlpr
- 2 latex2html jadetex tetex-afm tetex-dvips tetex-latex tetex-xdvi tetex-latex-arab tetex-latex-heb docbook-dtd31-sgml
- 2 BOOKS tetex-doc
- 1 docbook-style-dsssl openjade sgml-tools ghostscript-module-SVGALIB cttex
- 1 BOOKS docbook-style-dsssl-doc
-
- 5 CUPS
- cups-drivers xpp
- 5 CUPS || LPR foomatic
- 1 CUPS hpoj
-
-SHELLS
- 3 zsh
- 3 BOOKS bash-doc zsh-doc
- 2 eshell pdksh tcsh
- 1 bash1
-
-SCIENCES
- 5 3D openuniverse
- 4 gnuplot gtkgraphh
- 3 xlispstat HDF
- 2 mathplot octave
- 1 xoscope
-
-EDITORS
- 4 emacs-X11
- 3 GXedit vim-X11 yudit
- 2 nedit cooledit emacs-tramp joe emacs-leim jed-xjed xemacs xemacs-extras xemacs-info
- 1 auctex emacs-el jed xemacs-el emacs-nox xwpe xwpe-X11
- GNOME
- 4 gedit
-
-TEXT_TOOLS
- 5 words
- 4 groff patch recode rgrep
- 4 ispell-af ispell-br ispell-ca ispell-cs ispell-da ispell-de ispell-el ispell-en ispell-eo ispell-es ispell-fi ispell-fr ispell-ga ispell-gd ispell-gv ispell-id ispell-it ispell-nl ispell-no ispell-pl ispell-pt ispell-pt_BR ispell-ro ispell-ru ispell-sk ispell-sl ispell-sv
- 3 ed
- 2 groff-gxditview lout
- BOOKS
- 3 gawk-doc
- 1 lout-doc
-
-COMMUNICATIONS
- 4 efax
- 3 jpilot pilot-link
- 2 hylafax-server hylafax-client dip
- 2 lrzsz mgetty mgetty-contrib mgetty-sendfax mgetty-viewfax mgetty-voice minicom
- 1 jpilot-Mail jpilot-syncmal statserial tkbabel
-
-TERMINALS
- 5 open xterm
- 4 screen kon2
- 3 Eterm vlock
- 1 aterm x3270
-
- 4 KDE ktelnet
- 4 GNOME gnome-telnet
- 4 LOCALES"ja" kterm
-
-NETWORKING_CHAT
- 3 talk ytalk
-NETWORKING_CHAT_SERVER
- 4 jabber
- 3 talk-server
-
-NETWORKING_FILE_TRANSFER
- 5 lftp mirrordir rsync
- 4 gftp rdist
- 3 fmirror ncftp tftp
- 3 GNOME dpsftp
- 2 uucp
-
-NETWORKING_FILE_TRANSFER_SERVER
- 4 proftpd bwbserver_linux
- 2 wu-ftpd anonftp
-
-NETWORKING_LDAP_SERVER
- 4 openldap directory_administrator
-
-NETWORKING_INSTANT_MESSAGING
- 4 licq
- 3 everybuddy licq-console licq-rms
- GNOME
- 5 aspell-br aspell-ca aspell-cs aspell-da aspell-de aspell-de_CH aspell-en aspell-en_CA aspell-en_GB aspell-eo aspell-es aspell-fr aspell-it aspell-nl aspell-no aspell-pl aspell-sv
- 4 gnomeicu gabber gaim
- 3 gtk+licq
-
-NETWORKING_IRC
- 3 BitchX mozilla-irc
- 3 GNOME xchat
- 2 irssi
- 1 eggdrop
-
-NETWORKING_FIREWALLING_SERVER
- 5 iproute2 routed iptables
- 3 prelude
- 1 portsentry
-
-NETWORKING_GROUPWARE_SERVER
- 4 phpgroupware bwbserver_linux
-
-NETWORKING_MAIL
- 5 mailx metamail
- 4 faces mozilla-mail evolution
- 3 fetchmail urlview mutt
- 3 !GNOME !KDE xmailbox
- 2 FaxMail comsat elm faces-xface
- 1 exmh sylpheed fetchmail-daemon fetchmailconf
-NETWORKING_MAIL_SERVER
- 5 postfix
- 4 mailman
-
-NETWORKING_NEWS
- 5 GNOME pan
- 2 slrn tin trn
- 1 slrn-pull xrn
-NETWORKING_NEWS_SERVER
- 4 inn
- 3 inews
-
-NETWORKING_OTHER
- 2 finger fwhois ucd-snmp-utils htdig macutils
-NETWORKING_OTHER_SERVER
- 3 dhcp-server gated timed ntp
-
- 3 intimed mcserv nscd imap pidentd
- rdate bootparamd
- cleanfeed ucd-snmp leafnode
- cvsweb nut-server
- XFree86-Xvfb XFree86-Xnest
- 2 heartbeat diald finger-server mars-nwe
-
-NIS
- 5 ypbind
-NIS_SERVER
- 5 ypserv
-
-NETWORKING_REMOTE_ACCESS
- 5 openssh-clients telnet telnet-client-krb5
- KDE lisa
- 4 traceroute rfbdrake
- 3 vnc
- 2 rsh
- 2 BOOKS vnc-doc
-NETWORKING_REMOTE_ACCESS_SERVER
- 5 openssh-server
- 4 rfbdrake
- 2 vnc-server
- 1 telnet-server-krb5 rsh-server
-
-NETWORKING_DNS
- 4 bind-utils
-NETWORKING_DNS_SERVER
- 5 bind
- 4 caching-nameserver
- 1 nslint
-
-NETWORKING_FILE
- 4 samba-client nfs-utils-clients
- 2 arkeia-gui arkeia-client arkeia-arkc
- 2 GNOME gnomba gtm
- 2 autofs
- 1 am-utils
-NETWORKING_FILE_SERVER
- 5 nfs-utils
- 4 samba-server bwbserver_linux
- 3 BOOKS samba-doc
- 2 arkeia-server samba-winbind
- 3 squid squidGuard
-
-NETWORKING_WWW
- 3 lynx
- 4 !LOCALES"eu" netscape-communicator netscape-plugins
- 4 wget links mozilla Flashplayer crossover-plugin-demo j2re
- 4 GNOME
- screem
- !LOCALES"eu" galeon
- 3 plugger opera bluefish
-NETWORKING_WWW_SERVER
- 5 apache apache-mod_perl mod_ssl mod_php
- 4 apache-suexec
- bwbserver_linux
- 4 BOOKS apache-manual
- 3 php-dba_gdbm_db2 php-gd php-imap php-ldap php-manual php-mysql php-oracle
- php-pgsql php-readline php mod_sxnet auth_ldap HTML-Embperl
- 2 ApacheJServ
- 1 Zope Zope-core Zope-pcgi Zope-zserver
-
-GRAPHICS
- 4 ImageMagick giftrans gimp gphoto gphoto2 qiv ac3d
- 3 gimp-data-extras gqview sketch xwpick xli
- 2 gif2png gimp-perl xpcd xfig xpcd-gimp gd-utils cameleo
- 1 libgr-progs libungif-progs qcad transfig xpaint xmorph
- 1 3D Mesa-demos
- GNOME
- 4 gnome-iconedit
- 3 ee
-
-ARCHIVING
- 5 dump ncompress sharutils unzip
- 4 gtkzip zip
- 3 unarj unstuff mt-st
- 2 taper
- 1 lha
- GNOME
- 4 gnozip
- 3 gtktalog
-
-BURNER
- 5 mkisofs cdrecord
- 4 GNOME gnome-toaster gcombust
- 4 X xcdroast
- 2 X eroaster
- DEVELOPMENT
- 3 cdrecord-devel
-
-SCANNER
- 5 sane-frontends
- 4 gimp
- 4 xsane
-
-PHOTO
- 4 gphoto gphoto2
- 3 gnomemeeting openmcu
-
-DATABASES
- 5 postgresql
- 3 MySQL-client MySQL-shared
- DATABASES_SERVER
- 4 postgresql-server
- 3 MySQL
- 3 postgresql-perl postgresql-python
- 2 postgresql-jdbc postgresql-tk postgresql-odbc postgresql-tcl postgresql-test
- DEVELOPMENT
- 4 perl-Mysql
- 3 postgresql-devel
- 1 MySQL-bench MySQL-devel
-
-GAMES
- 4 sin-demo
- 3 clanbomber freeciv lbreakout2 toppler frozen-bubble
- 3 shogo-demo
- 3 cxhextris rocksndiamonds powermanga mures methane
- 2 Maelstrom pingus ltris penguin-command pysol xtrojka bunnies xpilot trophy xboard xgammon xkobo xpat2 xpuzzles xsoldier xfishtank
- 1 7colors xrally fortune-mod nil
- GNOME
- 3 gnome-games
- 3 gnome-chess
- 2 3D gtulpas
- 1 gtkgo
- DEVELOPMENT
- 2 gnomes-games-devel
- KDE
- 3 kdegames
- DEVELOPMENT
- 2 kdegames-devel
- 3D
- 3 csmash armagetron
- !HW"Riva.*128" chromium tuxracer
-
- 3 !HW"Riva.*128" !HW"Rage X[CL]" !HW"Rage Mobility (?:P\/M|L) " !HW"3D Rage (?:LT|Pro)"
- bzflag
-
-DEVELOPMENT
- 3 autoconf automake m4 make
- 3 autoconf2.5
- 1 tmake pmake pmake-customs
-
- 3 libtool binutils ltrace gdb gcc
- 2 gperf cdecl cproto indent ElectricFence
- 1 egcs glibc-profile xxgdb
-
- 3 gcc-c++ libstdc++5-devel libstdc++-devel
- 2 libsigc++-examples
- 1 egcs-c++
-
- 3 bison flex
- 2 byacc
-
- 2 doxygen C++2LaTeX
-
- 3 jikes kaffe
- 1 gcc-java
-
- 3 cvs rcs
- 2 diffstat tkcvs
-
- 3 swig
-
- 3 python veepee tkinter
- 3 libpython2.2-devel python-devel python-imaging pygtk-glarea pygtk pygtk-libglade rpm-python
-
- 4 perl perl-Term-Readline-Gnu perl-libnet perl-libwww-perl perl-devel
- 3 perl-DBI perl-Digest-MD5 perl-IO-stringy perl-PDL perl-Parse-RecDescent
- perl-GTK-GLArea perl-Tk perlftlib eperl perl-URI perl-DB_File
- perl-Data-ShowTable perl-HTML-Parser perl-HTML-SimpleParse perl-MIME-Base64
- perl-MIME-tools perl-MP3-Info perl-MailTools perl-Msgcat
-
- 3 rpm-build
- 3 rpmlint rpm-devel
- 3 kernel-source
-
- 2 gcc-g77 nasm dev86
- 1 gcc-objc
-
- 2 teyjus gprolog ocaml umb-scheme mawk guile clisp SmallEiffel p2c
- ghc ghc-prof happy haskell-GTK haskell-GTK-devel hugs98 mercury swi-prolog
- ruby-extensions ruby-gtk ruby
-
- 3 gettext-devel
-
- BOOKS
- 2 pam-doc python-docs slang-doc kernel-doc nasm-doc qt2-doc ruby-doc lkmpg
-
- KDE
- 3 kdevelop
- 3 kdebase-devel kdegraphics-devel kdelibs-devel kdelibs-sound-devel
- kdemultimedia-devel kdenetwork-devel
- 1 kdesupport-devel kdeaddutils-devel koffice-devel
-
- GNOME
- 4 perl-GTK-Glade perl-GTK-Gnome
- 3 memprof glade gnome-guile pygnome libgnomeui2_0-devel gnome-guile-devel
- gnome-pim-devel gob
- 2 pygnome-applet pygnome-capplet pygnome-libglade rep-gtk-gnome
- libgnomemm-1.2_9-devel gnomemm-devel libgnome-pilot1-devel gnome-pilot-devel glademm
- 1 gnucash-devel rep-gtk-libglade
-
- DEVELOPMENT_OTHER
- 2 ImageMagick-devel Mesa-common-devel libXaw3d7-devel Xaw3d-devel detect-devel
- libgd2-devel gd-devel p2c-devel libgmp3-devel gmp-devel libguile9-devel guile-devel libgr-devel libjpeg62-devel libjpeg-devel libpng3-devel libpng-devel
- libtermcap2-devel libtermcap-devel libtiff3-devel libtiff-devel libungif4-devel libungif-devel libxml2-devel libxml-devel
- linuxconf-devel libslang1-devel slang-devel sox-devel zlib1-devel zlib-devel XFree86-devel dev86-devel
- libgdk-pixbuf2-devel gdk-pixbuf-devel libgimp1.2_1-devel gimp-devel libgpm1-devel gpm-devel kudzu-devel libghttp1-devel libghttp-devel libgtop2.0_0-devel libgtop-devel
- libmikmod2-devel libmikmod-devel librep9-devel librep-devel libunicode-devel popt-devel pwdb-devel t1lib1-devel t1lib-devel
- ucd-snmp-devel mpeg_lib-devel WindowMaker-devel aalib-devel libadns1-devel adns-devel
- alsa-lib-devel audiofile-devel libcups1-devel cups-devel e2fsprogs-devel egcs-objc-devel
- libg-wrap2-devel g-wrap-devel gkrellm-devel ibtk libPropList-devel licq-devel openldap-devel
- libparted1.6-devel parted-devel pciutils-devel pilot-link-devel svgalib-devel
- recode-devel libaspell10-devel aspell-devel cracklib-devel faces-devel fnlib-devel
- freetype-devel libgtk+mdk0.1_6-devel gtk+mdk-devel libgtkglarea5-devel gtkglarea-devel XFree86-static-libs imap-devel
- php-devel libpth14-devel pth-devel libsane1-devel sane-devel swig-devel xdelta-devel isapnptools-devel
- libpango1.0_0-devel pango-devel readline-devel
-
-MONITORING
- 5 procinfo psacct
- 5 PCMCIA apmd
- 4 lsof swatch tcpdump traceroute
- 3 iplog arpwatch lslk nmap nmap-frontend procps-X11 xcpustate xsysinfo
- 2 cfengine gkrellm gps rusers mon xosview 3D xtraceroute
- 1 logcheck bonnie
- GNOME
- 4 gnome-system-monitor
-
-FILE_TOOLS
- 5 file gnupg mkxauth mtools slocate
- 4 symlinks
- 3 dosfstools draksync mc tree
- 2 git gentoo sfm xwc FileRunner
- 1 xdelta
-
-WEBMIN
- 3 webmin
-
-WIZARDS
- 5 drakwizard
-
-CONFIG
- 4 linuxconf linuxconf-lang-cs linuxconf-lang-de linuxconf-lang-es linuxconf-lang-fi linuxconf-lang-fr linuxconf-lang-hu linuxconf-lang-it linuxconf-lang-ko linuxconf-lang-no linuxconf-lang-pt linuxconf-lang-ro linuxconf-lang-sk linuxconf-lang-sv linuxconf-lang-zh
- 4 X gnome-linuxconf
- 3 ipvsadm quota usernet nut
- 2 gfcc control-panel adjtimex isicom xinput timeconfig samba-swat
- 1 ipxutils
-
-BOOKS
- 3 mandrake_doc-de mandrake_doc-en mandrake_doc-es mandrake_doc-fr mandrake_doc-it mandrake_doc-ru
-
-X
- 5 XFree86 rxvt XFree86-75dpi-fonts urw-fonts
- 5 icewm-light
-
- 4 vim-enhanced
- 4 gurpmi rpmdrake drakconf userdrake fonts-ttf-decoratives fonts-ttf-west_european
- mandrake-mime menudrake mandrake_desk
- mdkonline drakfirsttime gtk-engines bootsplash
- 4 LOCALES"ja" || LOCALES"ko" || LOCALES"zh" rxvt-CJK
-
- 3 XFree86-100dpi-fonts draksync drakprofile
- 3 USB usbview
- 2 LOCALES"ja" || LOCALES"ko" || LOCALES"zh" jmcce
- 2 tksysv imlib-cfgeditor
- 1 DrakeLogo Mesa xtoolwait X11R6-contrib
-
- GNOME
- 3 gnorpm
-
- 5 xcin Chinput xa+cv xvnkb FreeWnn ami kinput2-wnn4
-
- 2 app-defaults-be app-defaults-cs app-defaults-ga app-defaults-ru app-defaults-th app-defaults-uk
-
- 5 CHARSET"iso-8859-13" fonts-type1-baltic
- LOCALES"ru" || LOCALES"uk" XFree86-cyrillic-fonts
- LOCALES"he" fonts-hebrew-elmar
- LOCALES"hy" fonts-ttf-armenian
- LOCALES"ja" fonts-ttf-japanese
- LOCALES"ko" fonts-ttf-korean
- LOCALES"ta" fonts-ttf-tscii fonts-bitmap-tscii
- LOCALES"th" fonts-ttf-thai
- LOCALES"zh_CN" || LOCALES"zh" fonts-ttf-gb2312
- LOCALES"zh_TW" || LOCALES"zh" taipeifonts fonts-ttf-big5
-
-DOCS
- 5 man info man-pages
-
-SYSTEM
- 5 at MAKEDEV eject ldetect devfsd
- locales iputils urpmi cpio msec tmpwatch
-
- 5 HIGH_SECURITY libsafe kernel-secure-2.4.19.16mdk kernel-secure
- 5 BIGMEM kernel-enterprise-2.4.19.16mdk kernel-enterprise
- 5 SMP kernel-smp-2.4.19.16mdk kernel-smp
- 5 PCMCIA pcmcia-cs
- 5 USB hotplug
-
- 5 HW"nForce.*(?:Audio|Network)"
- NVIDIA_nforce-2.4.19-16mdk
- BIGMEM NVIDIA_nforce-2.4.19-16mdk-enterprise
-
- 4 ftp-client-krb5 gpm hexedit strace sudo grub procmail gnupg
-
- 3 bc
- 2 sndconfig kernel-utils acpid adns audiofile freeswan awesfx fbset vlan-utils
- 1 fdutils genromfs mailcap pinfo
-
- BOOKS
- 5 man-pages-cs man-pages-da man-pages-de man-pages-es man-pages-fr man-pages-hu man-pages-id man-pages-it man-pages-ja man-pages-ko man-pages-pl man-pages-ru man-pages-zh
- 3 grub-doc lilo-doc
- howto-html-de howto-html-el howto-html-en howto-html-es howto-html-fr howto-html-hr howto-html-hu howto-html-id howto-html-it howto-html-ja howto-html-ko howto-html-nl howto-html-pl howto-html-ro howto-html-sl howto-html-sv howto-html-zh
-
- 4 NIS yp-tools
- 3 PCMCIA irda-utils
- 3 USB usbutils
-
- 4 LOCALES"ar" || LOCALES"fa" || LOCALES"he" || LOCALES"yi" acon
- 3 LOCALES"zh" zh-autoconvert
-
-EMULATORS
- 3 wine
- 2 BasiliskII-jit
- 1 BasiliskII
- 2 xdosemu
- 1 xmame xmess
-
-INSTALL
- NOCOPY
- 5 kernel-2.4.19.16mdk kernel-2.4.19.16mdk kernel kernel-smp-2.4.19.16mdk kernel-smp-2.4.19.16mdk kernel-smp kernel-enterprise-2.4.19.16mdk kernel-enterprise-2.4.19.16mdk kernel-enterprise
- raidtools lvm reiserfsprogs jfsprogs xfsprogs
- alsa alsa-utils
- 4 XFree86
-
- 5 pptp-adsl dhcpcd dhcpxd dhcp-client isdn4net isdn-light isdn4k-utils ibod rp-pppoe pump wireless-tools speedtouch
- ppp nfs-utils-clients
- autologin ntp cups-drivers samba ncpfs hpoj ucd-snmp libptal0
- libhpojip0 libsnmp0 xojpanel libsane-hpoj0
- ipchains shorewall iptables printer-utils rlpr samba-client
- xpp pdq printer-testpages nmap scli net-tools
- cups lpr foomatic gimpprint
- nc sndconfig
- ImageMagick ghostscript printer-filters mpage a2ps ppdfilt libppd1 gpr groff libgimpprint1 numlock curl
- sane-backends sane-frontends xsane xsane-gimp mtools mtoolsfm
- hotplug dev ypbind speedtouch_mgmt
- 4 XFree86-server XFree86-FBDev
-# 4 XFree86-SVGA XFree86-server XFree86-Mach64 XFree86-FBDev
-# XFree86-glide-module Device3Dfx Glide_V3-DRI Glide_V5 Mesa
-# 3 XFree86-S3 XFree86-S3V XFree86-VGA16
-# 2 XFree86-8514 XFree86-AGX XFree86-I128 XFree86-Mach32 XFree86-Mach8 XFree86-Mono XFree86-P9000 XFree86-W32
-# 1 XFree86-3DLabs XFree86-Sun XFree86-SunMono XFree86-Sun24
diff --git a/perl-install/share/po/DrakX.pot b/perl-install/share/po/DrakX.pot
index 0279a08ec..5b960dac5 100644
--- a/perl-install/share/po/DrakX.pot
+++ b/perl-install/share/po/DrakX.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2004-01-06 15:46+0100\n"
+"POT-Creation-Date: 2002-12-05 19:52+0100\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"
@@ -14,4319 +14,2896 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Scanning partitions to find mount points"
+#: ../../Xconfig/card.pm_.c:16
+msgid "256 kB"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of suid root files."
+#: ../../Xconfig/card.pm_.c:17
+msgid "512 kB"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, 0/1 for Local Config...\n"
-""
+#: ../../Xconfig/card.pm_.c:18
+msgid "1 MB"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Configuration changed - restart clusternfs/dhcpd?"
+#: ../../Xconfig/card.pm_.c:19
+msgid "2 MB"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t\tErase=%s"
+#: ../../Xconfig/card.pm_.c:20
+msgid "4 MB"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Differential backups only save files that have changed or are new since the original 'base' backup."
+#: ../../Xconfig/card.pm_.c:21
+msgid "8 MB"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "network printer port"
+#: ../../Xconfig/card.pm_.c:22
+msgid "16 MB"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Please insert floppy disk:"
+#: ../../Xconfig/card.pm_.c:23
+msgid "32 MB"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "DrakTermServ"
+#: ../../Xconfig/card.pm_.c:24
+msgid "64 MB or more"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "PCMCIA"
+#: ../../Xconfig/card.pm_.c:203
+msgid "Choose a X server"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
+#: ../../Xconfig/card.pm_.c:203
+msgid "X server"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Which username"
+#: ../../Xconfig/card.pm_.c:230
+msgid "Multi-head configuration"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../Xconfig/card.pm_.c:231
msgid ""
-"Iwpriv enable to set up optionals (private) parameters of a wireless network\n"
-"interface.\n"
-"\n"
-"Iwpriv deals with parameters and setting specific to each driver (as opposed to\n"
-"iwconfig which deals with generic ones).\n"
-"\n"
-"In theory, the documentation of each device driver should indicate how to use\n"
-"those interface specific commands and their effect.\n"
-"\n"
-"See iwpriv(8) man page for further information."
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Which type of entry do you want to add?"
-msgstr ""
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Restore partition table"
+"Your system support multiple head configuration.\n"
+"What do you want to do?"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure hostname..."
+#: ../../Xconfig/card.pm_.c:288
+msgid "Select the memory size of your graphics card"
msgstr ""
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "On CUPS server \"%s\""
+#: ../../Xconfig/card.pm_.c:349
+msgid "XFree configuration"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Post-install configuration"
+#: ../../Xconfig/card.pm_.c:351
+msgid "Which configuration of XFree do you want to have?"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``%s'' instead"
+#: ../../Xconfig/card.pm_.c:383
+msgid "Configure all heads independently"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1 ../../diskdrake/removable.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Type"
+#: ../../Xconfig/card.pm_.c:384
+msgid "Use Xinerama extension"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:389
#, c-format
-msgid ""
-"\n"
-"Also printers configured with the PPD files provided by their manufacturers or with native CUPS drivers cannot be transferred."
+msgid "Configure only card \"%s\"%s"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../Xconfig/card.pm_.c:401 ../../Xconfig/card.pm_.c:402
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Repeater"
+msgid "XFree %s"
msgstr ""
-#: ../../lang.pm:1
+#: ../../Xconfig/card.pm_.c:413 ../../Xconfig/card.pm_.c:439
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Sri Lanka"
+msgid "XFree %s with 3D hardware acceleration"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:416
#, c-format
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Central African Republic"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Gateway device"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Advanced preferences"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Net Method:"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Ethernetcard"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "If set, send the mail report to this email address else send it to root"
-msgstr ""
-
-#: ../../modules/interactive.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Parameters"
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "no"
-msgstr ""
-
-#: ../../harddrake/v4l.pm:1 ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Auto-detect"
-msgstr ""
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Select installation class"
+"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 ""
-#: ../../standalone/drakconnect:1 ../../standalone/drakconnect:1
+#: ../../Xconfig/card.pm_.c:418 ../../Xconfig/card.pm_.c:441
#, c-format
-msgid "Interface:"
+msgid "Your card can have 3D hardware acceleration support with XFree %s."
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../Xconfig/card.pm_.c:426 ../../Xconfig/card.pm_.c:447
#, c-format
-msgid ""
-"The system doesn't seem to be connected to the Internet.\n"
-"Try to reconfigure your connection."
+msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:429
#, c-format
msgid ""
-"Connect your printer to a Linux server and let your Windows machine(s) connect to it as a client.\n"
-"\n"
-"Do you really want to continue setting up this printer as you are doing now?"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Belarus"
-msgstr ""
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Error writing to file %s"
+"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 ""
-#: ../../services.pm:1
+#: ../../Xconfig/card.pm_.c:432 ../../Xconfig/card.pm_.c:449
#, c-format
msgid ""
-"apmd is used for monitoring battery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result to syslog"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tape to backup"
+"Your card can have 3D hardware acceleration support with XFree %s,\n"
+"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be installed"
+#: ../../Xconfig/card.pm_.c:455
+msgid "Xpmac (installation display driver)"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"Here, one can configure some extra wireless parameters such as:\n"
-"ap, channel, commit, enc, power, retry, sens, txpower (nick is already set as the hostname).\n"
-"\n"
-"See iwpconfig(8) man page for further information."
+#: ../../Xconfig/main.pm_.c:76 ../../Xconfig/main.pm_.c:77
+#: ../../Xconfig/monitor.pm_.c:96 ../../any.pm_.c:961
+msgid "Custom"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS configuration"
+#: ../../Xconfig/main.pm_.c:102
+msgid "Graphic Card"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Total progress"
+#: ../../Xconfig/main.pm_.c:105 ../../Xconfig/monitor.pm_.c:93
+msgid "Monitor"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Not enough free space to allocate new partitions"
+#: ../../Xconfig/main.pm_.c:108 ../../Xconfig/resolution_and_depth.pm_.c:210
+msgid "Resolution"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving"
+#: ../../Xconfig/main.pm_.c:113
+msgid "Test"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via %s:\n"
-"\n"
-""
+#: ../../Xconfig/main.pm_.c:118 ../../diskdrake/dav.pm_.c:67
+#: ../../diskdrake/interactive.pm_.c:393 ../../diskdrake/removable.pm_.c:25
+#: ../../diskdrake/smbnfs_gtk.pm_.c:86
+msgid "Options"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "yes"
+#: ../../Xconfig/main.pm_.c:122 ../../Xconfig/resolution_and_depth.pm_.c:269
+#: ../../install_gtk.pm_.c:86 ../../install_steps_gtk.pm_.c:274
+#: ../../interactive.pm_.c:127 ../../interactive.pm_.c:142
+#: ../../interactive.pm_.c:345 ../../interactive/http.pm_.c:104
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../interactive/stdio.pm_.c:144 ../../my_gtk.pm_.c:159
+#: ../../my_gtk.pm_.c:287 ../../my_gtk.pm_.c:310 ../../security/main.pm_.c:181
+#: ../../standalone/drakbackup_.c:3920 ../../standalone/drakbackup_.c:4015
+#: ../../standalone/drakbackup_.c:4034 ../../ugtk2.pm_.c:435
+#: ../../ugtk2.pm_.c:926 ../../ugtk2.pm_.c:949
+msgid "Ok"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "("
+#: ../../Xconfig/main.pm_.c:122 ../../diskdrake/dav.pm_.c:28
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/draksplash_.c:114
+#: ../../standalone/harddrake2_.c:152 ../../standalone/logdrake_.c:204
+msgid "Quit"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../Xconfig/main.pm_.c:145
#, c-format
msgid ""
-"Welcome to The Network Configuration Wizard.\n"
+"Keep the changes?\n"
+"The current configuration is:\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 ""
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ")"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lebanon"
+"%s"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM HitTablet"
+#: ../../Xconfig/monitor.pm_.c:93
+msgid "Choose a monitor"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Stop"
+#: ../../Xconfig/monitor.pm_.c:97
+msgid "Plug'n Play"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Edit selected host"
+#: ../../Xconfig/monitor.pm_.c:98 ../../mouse.pm_.c:46
+msgid "Generic"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD device defined!"
+#: ../../Xconfig/monitor.pm_.c:99 ../../standalone/harddrake2_.c:67
+#: ../../standalone/harddrake2_.c:68
+msgid "Vendor"
msgstr ""
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid ""
-"Please enter the name of the interface connected to the internet. \n"
-" \n"
-"Examples:\n"
-" ppp+ for modem or DSL connections, \n"
-" eth0, or eth1 for cable connection, \n"
-" ippp+ for a isdn connection.\n"
-""
+#: ../../Xconfig/monitor.pm_.c:109
+msgid "Plug'n Play probing failed. Please choose a precise monitor"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../Xconfig/monitor.pm_.c:114
msgid ""
-"\tUse .backupignore files\n"
-""
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (phonetic)"
-msgstr ""
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP start ip"
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "256 kB"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Don't rewind tape after backup"
-msgstr ""
-
-#: ../../any.pm:1 ../../any.pm:1
-#, c-format
-msgid "Bootloader main options"
-msgstr ""
-
-#: ../../standalone.pm:1
-#, c-format
-msgid "[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-usbtable] [--dynamic=dev]"
-msgstr ""
-
-#: ../../harddrake/data.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Tape"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Malaysia"
+"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 ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Scanning network..."
+#: ../../Xconfig/monitor.pm_.c:121
+msgid "Horizontal refresh rate"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"With this option you will be able to restore any version\n"
-" of your /etc directory."
+#: ../../Xconfig/monitor.pm_.c:122
+msgid "Vertical refresh rate"
msgstr ""
-#: ../../standalone/drakedm:1
-#, c-format
-msgid "The change is done, do you want to restart the dm service ?"
+#: ../../Xconfig/resolution_and_depth.pm_.c:12
+msgid "256 colors (8 bits)"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (French layout)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:13
+msgid "32 thousand colors (15 bits)"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Other place"
+#: ../../Xconfig/resolution_and_depth.pm_.c:14
+msgid "65 thousand colors (16 bits)"
msgstr ""
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed (maybe raidtools are missing?)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:15
+msgid "16 million colors (24 bits)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "August"
+#: ../../Xconfig/resolution_and_depth.pm_.c:16
+msgid "4 billion colors (32 bits)"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "FTP server"
+#: ../../Xconfig/resolution_and_depth.pm_.c:130
+msgid "Resolutions"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Webcam"
+#: ../../Xconfig/resolution_and_depth.pm_.c:255
+msgid "Choose the resolution and the color depth"
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../Xconfig/resolution_and_depth.pm_.c:256
#, c-format
-msgid "size of the (second level) cpu cache"
+msgid "Graphics card: %s"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Soundcard"
+#: ../../Xconfig/resolution_and_depth.pm_.c:269 ../../any.pm_.c:1001
+#: ../../bootlook.pm_.c:336 ../../diskdrake/smbnfs_gtk.pm_.c:87
+#: ../../install_steps_gtk.pm_.c:405 ../../install_steps_gtk.pm_.c:463
+#: ../../interactive.pm_.c:142 ../../interactive.pm_.c:345
+#: ../../interactive/http.pm_.c:105 ../../interactive/newt.pm_.c:194
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../my_gtk.pm_.c:158 ../../my_gtk.pm_.c:162 ../../my_gtk.pm_.c:287
+#: ../../network/netconnect.pm_.c:39 ../../printer/printerdrake.pm_.c:2055
+#: ../../security/main.pm_.c:228 ../../standalone/drakautoinst_.c:198
+#: ../../standalone/drakbackup_.c:3874 ../../standalone/drakbackup_.c:3907
+#: ../../standalone/drakbackup_.c:3933 ../../standalone/drakbackup_.c:3960
+#: ../../standalone/drakbackup_.c:3987 ../../standalone/drakbackup_.c:4047
+#: ../../standalone/drakbackup_.c:4074 ../../standalone/drakbackup_.c:4104
+#: ../../standalone/drakbackup_.c:4130 ../../standalone/drakconnect_.c:112
+#: ../../standalone/drakconnect_.c:144 ../../standalone/drakconnect_.c:286
+#: ../../standalone/drakconnect_.c:534 ../../standalone/drakconnect_.c:677
+#: ../../standalone/drakfloppy_.c:207 ../../standalone/drakfont_.c:918
+#: ../../standalone/drakgw_.c:557 ../../standalone/logdrake_.c:204
+#: ../../standalone/net_monitor_.c:337 ../../ugtk.pm_.c:295
+#: ../../ugtk2.pm_.c:362 ../../ugtk2.pm_.c:434 ../../ugtk2.pm_.c:438
+#: ../../ugtk2.pm_.c:926
+msgid "Cancel"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Month"
+#: ../../Xconfig/test.pm_.c:29
+msgid "Test of the configuration"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Search for files to restore"
+#: ../../Xconfig/test.pm_.c:30
+msgid "Do you want to test the configuration?"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Luxembourg"
+#: ../../Xconfig/test.pm_.c:30
+msgid "Warning: testing this graphic card may freeze your computer"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
+#: ../../Xconfig/various.pm_.c:29
#, c-format
-msgid ""
-"To print a file from the command line (terminal window) use the command \"%s <file>\".\n"
-""
+msgid "Keyboard layout: %s\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../Xconfig/various.pm_.c:30
#, c-format
-msgid ""
-"Level %s\n"
-""
+msgid "Mouse type: %s\n"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../Xconfig/various.pm_.c:31
#, c-format
-msgid "Syriac (phonetic)"
+msgid "Mouse device: %s\n"
msgstr ""
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:32
#, c-format
-msgid "Iran"
+msgid "Monitor: %s\n"
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../Xconfig/various.pm_.c:33
#, c-format
-msgid "Bus"
+msgid "Monitor HorizSync: %s\n"
msgstr ""
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:34
#, c-format
-msgid "Iraq"
+msgid "Monitor VertRefresh: %s\n"
msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../Xconfig/various.pm_.c:35
#, c-format
-msgid "connecting to %s ..."
+msgid "Graphics card: %s\n"
msgstr ""
-#: ../../standalone/drakgw:1
+#: ../../Xconfig/various.pm_.c:36
#, c-format
-msgid ""
-"Potential LAN address conflict found in current config of %s!\n"
-""
+msgid "Graphics memory: %s kB\n"
msgstr ""
-#: ../../standalone/drakgw:1
+#: ../../Xconfig/various.pm_.c:38
#, c-format
-msgid "Configuring..."
+msgid "Color depth: %s\n"
msgstr ""
-#: ../../harddrake/v4l.pm:1
+#: ../../Xconfig/various.pm_.c:39
#, c-format
-msgid ""
-"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-detect the rights parameters.\n"
-"If your card is misdetected, you can force the right tuner and card types here. Just select your tv card parameters if needed."
+msgid "Resolution: %s\n"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1 ../../install_steps_interactive.pm:1
+#: ../../Xconfig/various.pm_.c:41
#, c-format
-msgid "Password (again)"
+msgid "XFree86 server: %s\n"
msgstr ""
-#: ../../standalone/drakfont:1
+#: ../../Xconfig/various.pm_.c:42
#, c-format
-msgid "Search installed fonts"
+msgid "XFree86 driver: %s\n"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default desktop"
+#: ../../Xconfig/various.pm_.c:61
+msgid "Graphical interface at startup"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:62
msgid ""
-"To submit a bug report, click on the button report.\n"
-"This will open a web browser window on %s\n"
-" where you'll find a form to fill in. The information displayed above will be \n"
-"transferred to that server."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Venezuela"
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakups:1
-#, c-format
-msgid "IP address"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Choose the sizes"
+"I can setup your computer to automatically start the graphical interface "
+"(XFree) upon booting.\n"
+"Would you like XFree to start when you reboot?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:73
msgid ""
-"List of data corrupted:\n"
+"Your graphic card seems to have a TV-OUT connector.\n"
+"It can be configured to work using frame-buffer.\n"
"\n"
-""
-msgstr ""
-
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Can only be mounted explicitly (i.e.,\n"
-"the -a option will not cause the file system to be mounted)."
+"For this you have to plug your graphic card to your TV before booting your "
+"computer.\n"
+"Then choose the \"TVout\" entry in the bootloader\n"
+"\n"
+"Do you have this feature?"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"Your modem isn't supported by the system.\n"
-"Take a look at http://www.linmodems.org"
+#: ../../Xconfig/various.pm_.c:85
+msgid "What norm is your TV using?"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose another partition"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132
+msgid "First sector of boot partition"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Current user"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132 ../../any.pm_.c:209
+msgid "First sector of drive (MBR)"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Username"
+#: ../../any.pm_.c:111
+msgid "SILO Installation"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left \"Windows\" key"
+#: ../../any.pm_.c:112 ../../any.pm_.c:125
+msgid "Where do you want to install the bootloader?"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Guyana"
+#: ../../any.pm_.c:124
+msgid "LILO/grub Installation"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Server Configuration"
+#: ../../any.pm_.c:136 ../../any.pm_.c:150
+msgid "SILO"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid ""
-"Used for directory:\n"
-" only owner of directory or file in this directory can delete it"
+#: ../../any.pm_.c:138
+msgid "LILO with text menu"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on Novell server \"%s\", printer \"%s\""
+#: ../../any.pm_.c:139 ../../any.pm_.c:150
+msgid "LILO with graphical menu"
msgstr ""
-#: ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Printer Name"
+#: ../../any.pm_.c:142
+msgid "Grub"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Setting up USB key"
+#: ../../any.pm_.c:146
+msgid "Boot from DOS/Windows (loadlin)"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Remove a module"
+#: ../../any.pm_.c:148 ../../any.pm_.c:150
+msgid "Yaboot"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1 ../../install_steps_interactive.pm:1 ../../diskdrake/smbnfs_gtk.pm:1 ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakups:1
-#, c-format
-msgid "Password"
+#: ../../any.pm_.c:158 ../../any.pm_.c:189
+msgid "Bootloader main options"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Advanced Configuration"
+#: ../../any.pm_.c:159 ../../any.pm_.c:190
+msgid "Bootloader to use"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Scanning on your HP multi-function device"
+#: ../../any.pm_.c:161
+msgid "Bootloader installation"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1
-#, c-format
-msgid "Root"
+#: ../../any.pm_.c:163 ../../any.pm_.c:192
+msgid "Boot device"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing RAID to add to"
+#: ../../any.pm_.c:164
+msgid "Compact"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (modern \"Q\" model)"
+#: ../../any.pm_.c:164
+msgid "compact"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
+#: ../../any.pm_.c:165 ../../any.pm_.c:289
+msgid "Video mode"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo message not found"
+#: ../../any.pm_.c:167
+msgid "Delay before booting default image"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "if needed"
+#: ../../any.pm_.c:169 ../../any.pm_.c:772
+#: ../../diskdrake/smbnfs_gtk.pm_.c:179
+#: ../../install_steps_interactive.pm_.c:1077 ../../network/modem.pm_.c:71
+#: ../../printer/printerdrake.pm_.c:803 ../../printer/printerdrake.pm_.c:916
+#: ../../standalone/drakbackup_.c:3478 ../../standalone/drakconnect_.c:622
+#: ../../standalone/drakconnect_.c:647
+msgid "Password"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Failed..."
+#: ../../any.pm_.c:170 ../../any.pm_.c:773
+#: ../../install_steps_interactive.pm_.c:1078
+msgid "Password (again)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Store the password for this system in drakbackup configuration."
+#: ../../any.pm_.c:171
+msgid "Restrict command line options"
msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Mandrake Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read this document carefully. 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 occurence 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 Mandrake Linux 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\", \"Mandrake Linux\" 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"
-""
+#: ../../any.pm_.c:171
+msgid "restrict"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default user"
+#: ../../any.pm_.c:173
+msgid "Clean /tmp at each boot"
msgstr ""
-#: ../../standalone/draksplash:1
+#: ../../any.pm_.c:174
#, c-format
-msgid ""
-"the progress bar x coordinate\n"
-"of its upper left corner"
+msgid "Precise RAM size if needed (found %d MB)"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Current interface configuration"
+#: ../../any.pm_.c:176
+msgid "Enable multi profiles"
msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD - Line Printer Daemon"
+#: ../../any.pm_.c:180
+msgid "Give the ram size in MB"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../any.pm_.c:182
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"
-""
+"Option ``Restrict command line options'' is of no use without a password"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not print any test page"
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../diskdrake/interactive.pm_.c:1204
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "Please try again"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gurmukhi"
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "The passwords do not match"
msgstr ""
-#: ../../standalone/drakTermServ:1 ../../standalone/drakTermServ:1 ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"%s already in use\n"
-""
+#: ../../any.pm_.c:191
+msgid "Init Message"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Force No APIC"
+#: ../../any.pm_.c:193
+msgid "Open Firmware Delay"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "This password is too short (it must be at least %d characters long)"
+#: ../../any.pm_.c:194
+msgid "Kernel Boot Timeout"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid "[keyboard]"
+#: ../../any.pm_.c:195
+msgid "Enable CD Boot?"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "FTP proxy"
+#: ../../any.pm_.c:196
+msgid "Enable OF Boot?"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install List"
+#: ../../any.pm_.c:197
+msgid "Default OS?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:231
msgid ""
-"Change\n"
-"Restore Path"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Show only for the selected day"
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:247
msgid ""
-"\tLimit disk usage to %s MB\n"
-""
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "512 kB"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "(Note: Parallel ports cannot be auto-detected)"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>N"
-msgstr ""
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind of card do you have?"
+"Here are the entries on your boot menu so far.\n"
+"You can add some more or change the existing ones."
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>O"
+#: ../../any.pm_.c:257 ../../standalone/drakbackup_.c:1531
+#: ../../standalone/drakbackup_.c:1644 ../../standalone/drakfont_.c:953
+#: ../../standalone/drakfont_.c:996
+msgid "Add"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Security"
+#: ../../any.pm_.c:257 ../../any.pm_.c:760 ../../diskdrake/dav.pm_.c:68
+#: ../../diskdrake/hd_gtk.pm_.c:156 ../../diskdrake/removable.pm_.c:27
+#: ../../diskdrake/smbnfs_gtk.pm_.c:88 ../../interactive/http.pm_.c:153
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/drakbackup_.c:2726
+msgid "Done"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can also use the graphical interface \"xpdq\" for setting options and handling printing jobs.\n"
-"If you are using KDE as desktop environment you have a \"panic button\", an icon on the desktop, labeled with \"STOP Printer!\", which stops all print jobs immediately when you click it. This is for example useful for paper jams.\n"
-""
+#: ../../any.pm_.c:257
+msgid "Modify"
msgstr ""
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1 ../../standalone/drakups:1 ../../standalone/harddrake2:1 ../../standalone/logdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "<control>Q"
+#: ../../any.pm_.c:265
+msgid "Which type of entry do you want to add?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Unable to find backups to restore...\n"
-""
+#: ../../any.pm_.c:266 ../../standalone/drakbackup_.c:1674
+msgid "Linux"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown"
+#: ../../any.pm_.c:266
+msgid "Other OS (SunOS...)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"This server is already in the list, it cannot be added again.\n"
-""
+#: ../../any.pm_.c:267
+msgid "Other OS (MacOS...)"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Network Configuration"
+#: ../../any.pm_.c:267
+msgid "Other OS (windows...)"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>S"
+#: ../../any.pm_.c:285
+msgid "Image"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid ""
-"Protocol for the rest of the world\n"
-"No D-Channel (leased lines)"
+#: ../../any.pm_.c:286 ../../any.pm_.c:297
+msgid "Root"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - /etc/xinetd.d/tftp:\n"
-" \tdrakTermServ will configure this file to work in conjunction with the images created\n"
-" \tby mkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up the boot image to \n"
-" \teach diskless client.\n"
-"\n"
-" \tA typical tftp configuration file looks like:\n"
-" \t\t\n"
-" \tservice tftp\n"
-"\t\t\t{\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t}\n"
-" \t\t\n"
-" \tThe changes here from the default installation are changing the disable flag to\n"
-" \t'no' and changing the directory path to /var/lib/tftpboot, where mkinitrd-net\n"
-" \tputs its images."
+#: ../../any.pm_.c:287 ../../any.pm_.c:315
+msgid "Append"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be a number!"
+#: ../../any.pm_.c:291
+msgid "Initrd"
msgstr ""
-#: ../../standalone/drakboot:1 ../../standalone/draksplash:1 ../../standalone/draksplash:1 ../../standalone/draksplash:1
-#, c-format
-msgid "Notice"
+#: ../../any.pm_.c:292
+msgid "Read-write"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "You have not configured X. Are you sure you really want this?"
+#: ../../any.pm_.c:299
+msgid "Table"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "UPS devices"
+#: ../../any.pm_.c:300
+msgid "Unsafe"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The configuration of the printer will work fully automatically. If your printer was not correctly detected or if you prefer a customized printer configuration, turn on \"Manual configuration\"."
+#: ../../any.pm_.c:307 ../../any.pm_.c:312 ../../any.pm_.c:314
+msgid "Label"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "If this is the case, you can make this be done automatically."
+#: ../../any.pm_.c:309 ../../any.pm_.c:319 ../../harddrake/v4l.pm_.c:215
+msgid "Default"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "What type of partitioning?"
+#: ../../any.pm_.c:316
+msgid "Initrd-size"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"file list sent by FTP: %s\n"
-" "
+#: ../../any.pm_.c:318
+msgid "NoVideo"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface"
+#: ../../any.pm_.c:326
+msgid "Remove entry"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Multisession CD"
+#: ../../any.pm_.c:329
+msgid "Empty label not allowed"
msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated strings"
+#: ../../any.pm_.c:330
+msgid "You must specify a kernel image"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "These are the machines from which the scanners should be used:"
+#: ../../any.pm_.c:330
+msgid "You must specify a root partition"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Messages"
+#: ../../any.pm_.c:331
+msgid "This label is already used"
msgstr ""
-#: ../../harddrake/v4l.pm:1
+#: ../../any.pm_.c:640
#, c-format
-msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgid "Found %s %s interfaces"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "POP and IMAP Server"
+#: ../../any.pm_.c:641
+msgid "Do you have another one?"
msgstr ""
-#: ../../lang.pm:1
+#: ../../any.pm_.c:642
#, c-format
-msgid "Mexico"
+msgid "Do you have any %s interfaces?"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Model stepping"
+#: ../../any.pm_.c:644 ../../any.pm_.c:807 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../ugtk2.pm_.c:925
+msgid "No"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Rwanda"
+#: ../../any.pm_.c:644 ../../any.pm_.c:806 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../standalone/drakgw_.c:258
+#: ../../standalone/drakgw_.c:259 ../../standalone/drakgw_.c:267
+#: ../../standalone/drakgw_.c:277 ../../ugtk2.pm_.c:925
+msgid "Yes"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Switzerland"
+#: ../../any.pm_.c:645
+msgid "See hardware info"
msgstr ""
-#: ../../lang.pm:1
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: ../../any.pm_.c:662
#, c-format
-msgid "Brunei Darussalam"
+msgid "Installing driver for %s card %s"
msgstr ""
-#: ../../modules/interactive.pm:1
+#: ../../any.pm_.c:663
#, c-format
-msgid "Do you have any %s interfaces?"
+msgid "(module %s)"
msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../any.pm_.c:674
#, c-format
msgid ""
-"You must be root to read configuration file. \n"
-""
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote lpd Printer Options"
+"You may now provide its options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
msgstr ""
-#: ../../help.pm:1
+#: ../../any.pm_.c:680
#, c-format
msgid ""
-"GNU/Linux is a multi-user system, meaning each user may have their own\n"
-"preferences, their own files and so on. You can read the ``Starter Guide''\n"
-"to learn more about multi-user systems. But unlike \"root\", who is the\n"
-"system administrator, the users you add at this point will not be\n"
-"authorized to change anything except their own files and their own\n"
-"configurations, protecting the system from unintentional or malicious\n"
-"changes that impact on the system as a whole. You will have to create at\n"
-"least one regular user for yourself -- this is the account which you should\n"
-"use for routine, day-to-day use. Although it is very easy to log in as\n"
-"\"root\" to do anything and everything, it may also be very dangerous! A\n"
-"very simple mistake could mean that your system will not work any more. If\n"
-"you make a serious mistake as a regular user, the worst that will happen is\n"
-"that you will lose some information, but not affect the entire system.\n"
-"\n"
-"The first field asks you for a real name. Of course, this is not mandatory\n"
-"-- you can actually enter whatever you like. DrakX will use the first word\n"
-"you typed in this field and copy it to the \"%s\" field, which is the name\n"
-"this user will enter to log onto the system. If you like, you may override\n"
-"the default and change the username. The next step is to enter a password.\n"
-"From a security point of view, a non-privileged (regular) user password is\n"
-"not as crucial as the \"root\" password, but that is no reason to neglect\n"
-"it by making it blank or too simple: after all, your files could be the\n"
-"ones at risk.\n"
-"\n"
-"Once you click on \"%s\", you can add other users. Add a user for each one\n"
-"of your friends: your father or your sister, for example. Click \"%s\" when\n"
-"you have finished adding users.\n"
-"\n"
-"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
-"that user (bash by default).\n"
-"\n"
-"When you have finished adding users, you will be asked to choose a user\n"
-"that can automatically log into the system when the computer boots up. If\n"
-"you are interested in that feature (and do not care much about local\n"
-"security), choose the desired user and window manager, then click \"%s\".\n"
-"If you are not interested in this feature, uncheck the \"%s\" box."
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose the time interval between each backup"
+#: ../../any.pm_.c:682
+msgid "Module options:"
msgstr ""
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: ../../any.pm_.c:694
#, c-format
-msgid "Norway"
+msgid "Which %s driver should I try?"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../any.pm_.c:703
#, c-format
-msgid "Danish"
+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 ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
+#: ../../any.pm_.c:707
+msgid "Autoprobe"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-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)."
+#: ../../any.pm_.c:707
+msgid "Specify options"
msgstr ""
-#: ../../help.pm:1
+#: ../../any.pm_.c:719
#, c-format
msgid ""
-"The Mandrake Linux installation is distributed on several CD-ROMs. DrakX\n"
-"knows if a selected package is located on another CD-ROM so it will eject\n"
-"the current CD and ask you to insert the correct CD as required."
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "When checked, owner and group won't be changed"
+#: ../../any.pm_.c:734
+msgid "access to X programs"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bulgaria"
+#: ../../any.pm_.c:735
+msgid "access to rpm tools"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Tuesday"
+#: ../../any.pm_.c:736
+msgid "allow \"su\""
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Processors"
+#: ../../any.pm_.c:737
+msgid "access to administrative files"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Svalbard and Jan Mayen Islands"
+#: ../../any.pm_.c:738
+msgid "access to network tools"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No NIC selected!"
+#: ../../any.pm_.c:739
+msgid "access to compilation tools"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../any.pm_.c:744
#, c-format
-msgid ""
-"Problems occured during configuration.\n"
-"Test your connection via net_monitor or mcc. If your connection doesn't work, you might want to relaunch the configuration."
+msgid "(already added %s)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "partition %s is now known as %s"
+#: ../../any.pm_.c:749
+msgid "This password is too simple"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Other files..."
+#: ../../any.pm_.c:750
+msgid "Please give a user name"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Kinshasa)"
+#: ../../any.pm_.c:751
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server IP"
+#: ../../any.pm_.c:752
+msgid "The user name is too long"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
+#: ../../any.pm_.c:753
+msgid "This user name is already added"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing HPOJ package..."
+#: ../../any.pm_.c:757
+msgid "Add user"
msgstr ""
-#: ../../any.pm:1
+#: ../../any.pm_.c:758
#, c-format
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?\n"
+"Enter a user\n"
"%s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" DrakBackup Daemon Report\n"
-""
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latvian"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "If you have already installed your scanner's firmware you can update the firmware here by supplying the new firmware file."
-msgstr ""
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "monthly"
-msgstr ""
-
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Retry"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Module name"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Start at boot"
-msgstr ""
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental Backups"
-msgstr ""
-
-#: ../../any.pm:1 ../../any.pm:1
-#, c-format
-msgid "First sector of drive (MBR)"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "El Salvador"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Joystick"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "DVD"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "(detected on port %s)"
-msgstr ""
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Use Unicode by default"
+#: ../../any.pm_.c:759
+msgid "Accept user"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the module of the GNU/Linux kernel that handles the device"
+#: ../../any.pm_.c:770
+msgid "Real name"
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Is your hardware clock set to GMT?"
+#: ../../any.pm_.c:771 ../../printer/printerdrake.pm_.c:802
+#: ../../printer/printerdrake.pm_.c:915
+msgid "User name"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Trying to rescue partition table"
+#: ../../any.pm_.c:774
+msgid "Shell"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be an integer number!"
+#: ../../any.pm_.c:776
+msgid "Icon"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Use password to authenticate users"
+#: ../../any.pm_.c:803
+msgid "Autologin"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../any.pm_.c:804
msgid ""
-"Entries you'll have to fill:\n"
-"%s"
+"I can set up your computer to automatically log on one user.\n"
+"Do you want to use this feature?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "For backups to other media, files are still created on the hard drive, then moved to the other media. Enabling this option will remove the hard drive tar files after the backup."
+#: ../../any.pm_.c:808
+msgid "Choose the default user:"
msgstr ""
-#: ../../standalone/livedrake:1
-#, c-format
-msgid ""
-"Unable to start live upgrade !!!\n"
-""
+#: ../../any.pm_.c:809
+msgid "Choose the window manager to run:"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Name: "
+#: ../../any.pm_.c:824
+msgid "Please choose a language to use."
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "up"
+#: ../../any.pm_.c:826
+msgid ""
+"Mandrake Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "16 million colors (24 bits)"
+#: ../../any.pm_.c:840 ../../install_steps_interactive.pm_.c:697
+#: ../../standalone/drakxtv_.c:70
+msgid "All"
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../any.pm_.c:961
msgid "Allow all users"
msgstr ""
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid "The official MandrakeSoft Store"
+#: ../../any.pm_.c:961
+msgid "No sharing"
msgstr ""
-#: ../../install_interactive.pm:1 ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
+#: ../../any.pm_.c:971 ../../install_any.pm_.c:1207 ../../standalone.pm_.c:185
#, c-format
-msgid "Resizing"
+msgid "The package %s needs to be installed. Do you want to install it?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:973
msgid ""
-"Enter the maximum size\n"
-" allowed for Drakbackup (MB)"
+"You can export using NFS or Samba. Please select which you'd like to use."
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../any.pm_.c:981 ../../install_any.pm_.c:1212 ../../standalone.pm_.c:190
#, c-format
-msgid "Cable connection"
-msgstr ""
-
-#: ../../standalone/drakperm:1 ../../standalone/drakperm:1 ../../standalone/logdrake:1
-#, c-format
-msgid "User"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do new backup before restore (only for incremental backups.)"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Secondary"
-msgstr ""
-
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed"
-msgstr ""
-
-#: ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Name"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 3 Emulation"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of sgid files"
+msgid "Mandatory package %s is missing"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files..."
+#: ../../any.pm_.c:987
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli (Phonetic)"
+#: ../../any.pm_.c:1001
+msgid "Launch userdrake"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "access to rpm tools"
+#: ../../any.pm_.c:1003
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user in this group."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must choose/enter a printer/device!"
+#: ../../any.pm_.c:1053 ../../security/level.pm_.c:7
+msgid "Welcome To Crackers"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission problem accessing CD."
+#: ../../any.pm_.c:1054 ../../security/level.pm_.c:8
+msgid "Poor"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Phone number"
+#: ../../any.pm_.c:1055 ../../mouse.pm_.c:31 ../../security/level.pm_.c:9
+msgid "Standard"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Rules"
+#: ../../any.pm_.c:1056 ../../security/level.pm_.c:10
+msgid "High"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Error: The \"%s\" driver for your sound card is unlisted"
+#: ../../any.pm_.c:1057 ../../security/level.pm_.c:11
+msgid "Higher"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer name, description, location"
+#: ../../any.pm_.c:1058 ../../security/level.pm_.c:12
+msgid "Paranoid"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (broadcast)"
+#: ../../any.pm_.c:1061
+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 ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Use Xinerama extension"
+#: ../../any.pm_.c:1064
+msgid ""
+"Password are now enabled, but use as a networked computer is still not "
+"recommended."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback"
+#: ../../any.pm_.c:1065
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "West Europe"
+#: ../../any.pm_.c:1066
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../any.pm_.c:1067
msgid ""
-"[OPTIONS] [PROGRAM_NAME]\n"
-"\n"
-"OPTIONS:\n"
-" --help - print this help message.\n"
-" --report - program should be one of mandrake tools\n"
-" --incident - program should be one of mandrake tools"
+"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 can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On CD-R"
+#: ../../any.pm_.c:1070
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake2 version %s"
+#: ../../any.pm_.c:1076
+msgid "DrakSec Basic Options"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Preferences"
+#: ../../any.pm_.c:1077
+msgid "Please choose the desired security level"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Swaziland"
+#: ../../any.pm_.c:1080
+msgid "Security level"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominican Republic"
+#: ../../any.pm_.c:1082
+msgid "Use libsafe for servers"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../any.pm_.c:1083
msgid ""
-"An unexpected error has happened:\n"
-"%s"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Copying %s"
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Choose color"
+"A library which defends against buffer overflow and format string attacks."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac"
+#: ../../any.pm_.c:1084
+msgid "Security Administrator (login or email)"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-UID"
+#: ../../any.pm_.c:1166
+msgid ""
+"Here you can choose the key or key combination that will \n"
+"allow switching between the different keyboard layouts\n"
+"(eg: latin and non latin)"
msgstr ""
-#: ../../help.pm:1
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: ../../bootloader.pm_.c:436
#, c-format
msgid ""
-"Choose the hard drive you want to erase in order to install your new\n"
-"Mandrake Linux partition. Be careful, all data present on this partition\n"
-"will be lost and will not be recoverable!"
+"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:1
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-
-#: ../../scanner.pm:1
-#, c-format
-msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+#: ../../bootloader.pm_.c:983
+msgid "Welcome to GRUB the operating system chooser!"
msgstr ""
-#: ../../mouse.pm:1 ../../mouse.pm:1
+#. -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:986
#, c-format
-msgid "Generic 2 Button Mouse"
+msgid "Use the %c and %c keys for selecting which entry is highlighted."
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to execute the file"
+#. -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:989
+msgid "Press enter to boot the selected OS, 'e' to edit the"
msgstr ""
-#: ../../lvm.pm:1
-#, c-format
-msgid ""
-"Remove the logical volumes first\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:992
+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:1
+#: ../../bootloader.pm_.c:995
#, c-format
msgid "The highlighted entry will be booted automatically in %d seconds."
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Can't write /etc/sysconfig/bootsplash\n"
-"File not found."
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet access"
+#: ../../bootloader.pm_.c:999
+msgid "not enough room in /boot"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"y coordinate of text box\n"
-"in number of characters"
+#. -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:1099
+msgid "Desktop"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "To get a list of the options available for the current printer click on the \"Print option list\" button."
+#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
+#: ../../bootloader.pm_.c:1101
+msgid "Start Menu"
msgstr ""
-#: ../../standalone/service_harddrake:1
+#: ../../bootloader.pm_.c:1120
#, c-format
-msgid ""
-"Some devices were added: %s\n"
-""
+msgid "You can't install the bootloader on a %s partition\n"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Enabling servers..."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing test page(s)..."
+#: ../../bootlook.pm_.c:53
+msgid "Boot Style Configuration"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Transfer successful\n"
-"You may want to verify you can login to the server with:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"without being prompted for a password."
+#: ../../bootlook.pm_.c:70 ../../standalone/drakfloppy_.c:54
+#: ../../standalone/harddrake2_.c:81 ../../standalone/harddrake2_.c:82
+#: ../../standalone/logdrake_.c:74
+msgid "/_File"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid ""
-"There is already a partition with mount point %s\n"
-""
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/logdrake_.c:80
+msgid "/File/_Quit"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable msec hourly security check."
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/harddrake2_.c:82 ../../standalone/logdrake_.c:80
+msgid "<control>Q"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"At this point, you need to decide where you want to install the Mandrake\n"
-"Linux operating system on your hard drive. If your hard drive is empty or\n"
-"if an existing operating system is using all the available space you will\n"
-"have to partition the drive. Basically, partitioning a hard drive consists\n"
-"of logically dividing it to create the space needed to install your new\n"
-"Mandrake Linux system.\n"
-"\n"
-"Because the process of partitioning a hard drive is usually irreversible\n"
-"and can lead to lost data if there is an existing operating system already\n"
-"installed on the drive, partitioning can be intimidating and stressful if\n"
-"you are an inexperienced user. Fortunately, DrakX includes a wizard which\n"
-"simplifies this process. Before continuing with this step, read through the\n"
-"rest of this section and above all, take your time.\n"
-"\n"
-"Depending on your hard drive configuration, several options are available:\n"
-"\n"
-" * \"%s\": this option will perform an automatic partitioning of your blank\n"
-"drive(s). If you use this option there will be no further prompts.\n"
-"\n"
-" * \"%s\": the wizard has detected one or more existing Linux partitions on\n"
-"your hard drive. If you want to use them, choose this option. You will then\n"
-"be asked to choose the mount points associated with each of the partitions.\n"
-"The legacy mount points are selected by default, and for the most part it's\n"
-"a good idea to keep them.\n"
-"\n"
-" * \"%s\": if Microsoft Windows is installed on your hard drive and takes\n"
-"all the space available on it, you will have to create free space for\n"
-"Linux. To do so, you can delete your Microsoft Windows partition and data\n"
-"(see ``Erase entire disk'' solution) or resize your Microsoft Windows FAT\n"
-"partition. Resizing can be performed without the loss of any data, provided\n"
-"you have previously defragmented the Windows partition and that it uses the\n"
-"FAT format. Backing up your data is strongly recommended.. Using this\n"
-"option is recommended if you want to use both Mandrake Linux and Microsoft\n"
-"Windows on the same computer.\n"
-"\n"
-" Before choosing this option, please understand that after this\n"
-"procedure, the size of your Microsoft Windows partition will be smaller\n"
-"then when you started. You will have less free space under Microsoft\n"
-"Windows to store your data or to install new software.\n"
-"\n"
-" * \"%s\": if you want to delete all data and all partitions present on\n"
-"your hard drive and replace them with your new Mandrake Linux system,\n"
-"choose this option. Be careful, because you will not be able to undo your\n"
-"choice after you confirm.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be deleted. !!\n"
-"\n"
-" * \"%s\": this will simply erase everything on the drive and begin fresh,\n"
-"partitioning everything from scratch. All data on your disk will be lost.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be lost. !!\n"
-"\n"
-" * \"%s\": choose this option if you want to manually partition your hard\n"
-"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
-"easily lose all your data. That's why this option is really only\n"
-"recommended if you have done something like this before and have some\n"
-"experience. For more instructions on how to use the DiskDrake utility,\n"
-"refer to the ``Managing Your Partitions '' section in the ``Starter\n"
-"Guide''."
+#: ../../bootlook.pm_.c:82
+msgid "NewStyle Categorizing Monitor"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Ukraine"
+#: ../../bootlook.pm_.c:83
+msgid "NewStyle Monitor"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Application:"
+#: ../../bootlook.pm_.c:84
+msgid "Traditional Monitor"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "External ISDN modem"
+#: ../../bootlook.pm_.c:85
+msgid "Traditional Gtk+ Monitor"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result by mail."
+#: ../../bootlook.pm_.c:86
+msgid "Launch Aurora at boot time"
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "ADSL connection type :"
+#: ../../bootlook.pm_.c:89
+msgid "Lilo/grub mode"
msgstr ""
-#: ../../interactive/stdio.pm:1 ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default %s) "
+#: ../../bootlook.pm_.c:89
+msgid "Yaboot mode"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Trouble shooting"
+#: ../../bootlook.pm_.c:138
+msgid "Install themes"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:139
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-""
-msgstr ""
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "daily"
+"Display theme\n"
+"under console"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and one unknown printer"
+#: ../../bootlook.pm_.c:140
+msgid "Create new theme"
msgstr ""
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
+#: ../../bootlook.pm_.c:184
#, c-format
-msgid "Ireland"
+msgid "Backup %s to %s.old"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../bootlook.pm_.c:187
#, c-format
-msgid " Restore Configuration "
+msgid "Copy %s to %s"
msgstr ""
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Is this the correct setting?"
+#: ../../bootlook.pm_.c:192 ../../bootlook.pm_.c:222 ../../bootlook.pm_.c:224
+#: ../../bootlook.pm_.c:234 ../../bootlook.pm_.c:243 ../../bootlook.pm_.c:250
+#: ../../diskdrake/dav.pm_.c:77 ../../diskdrake/hd_gtk.pm_.c:119
+#: ../../diskdrake/interactive.pm_.c:216 ../../diskdrake/interactive.pm_.c:352
+#: ../../diskdrake/interactive.pm_.c:367 ../../diskdrake/interactive.pm_.c:481
+#: ../../diskdrake/interactive.pm_.c:486 ../../diskdrake/smbnfs_gtk.pm_.c:45
+#: ../../fsedit.pm_.c:239 ../../install_steps.pm_.c:75
+#: ../../install_steps_interactive.pm_.c:67 ../../interactive/http.pm_.c:119
+#: ../../interactive/http.pm_.c:120 ../../standalone/draksplash_.c:21
+msgid "Error"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"You will now set up your Internet/network connection. If you wish to\n"
-"connect your computer to the Internet or to a local network, click \"%s\".\n"
-"Mandrake Linux will attempt to autodetect network devices and modems. If\n"
-"this detection fails, uncheck the \"%s\" box. You may also choose not to\n"
-"configure the network, or to do it later, in which case clicking the \"%s\"\n"
-"button will take you to the next step.\n"
-"\n"
-"When configuring your network, the available connections options are:\n"
-"traditional modem, ISDN modem, ADSL connection, cable modem, and finally a\n"
-"simple LAN connection (Ethernet).\n"
-"\n"
-"We will not detail each configuration option - just make sure that you have\n"
-"all the parameters, such as IP address, default gateway, DNS servers, etc.\n"
-"from your Internet Service Provider or system administrator.\n"
-"\n"
-"You can consult the ``Starter Guide'' chapter about Internet connections\n"
-"for details about the configuration, or simply wait until your system is\n"
-"installed and use the program described there to configure your connection."
+#: ../../bootlook.pm_.c:192
+msgid "Lilo message not found"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wizard Configuration"
+#: ../../bootlook.pm_.c:222
+msgid "Can't write /etc/sysconfig/bootsplash."
msgstr ""
-#: ../../modules/interactive.pm:1
+#: ../../bootlook.pm_.c:222
#, c-format
-msgid "Autoprobe"
+msgid "Write %s"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:224
msgid ""
-"if set to yes, check for :\n"
-"\n"
-"- empty passwords,\n"
-"\n"
-"- no password in /etc/shadow\n"
-"\n"
-"- for users with the 0 id other than root."
-msgstr ""
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files..."
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Can't use broadcast with no NIS domain"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer \"%s\"..."
+"Can't write /etc/sysconfig/bootsplash\n"
+"File not found."
msgstr ""
-#: ../../security/l10n.pm:1
+#: ../../bootlook.pm_.c:235
#, c-format
-msgid "Shell history size"
+msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../bootlook.pm_.c:238
#, c-format
-msgid "drakfloppy"
+msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../bootlook.pm_.c:244
msgid ""
-"Please indicate where the auto_install.cfg file is located.\n"
-"\n"
-"Leave it blank if you do not want to set up automatic installation mode.\n"
-"\n"
-""
-msgstr ""
-
-#: ../../printer/cups.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Configured on other machines"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "information level that can be obtained through the cpuid instruction"
+"Can't relaunch LiLo!\n"
+"Launch \"lilo\" as root in command line to complete LiLo theme installation."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Peru"
+#: ../../bootlook.pm_.c:248
+msgid "Relaunch 'lilo'"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " on device: %s"
+#: ../../bootlook.pm_.c:250 ../../standalone/draksplash_.c:156
+#: ../../standalone/draksplash_.c:321 ../../standalone/draksplash_.c:449
+msgid "Notice"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Remove Windows(TM)"
+#: ../../bootlook.pm_.c:251
+msgid "LiLo and Bootsplash themes installation successfull"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
+#: ../../bootlook.pm_.c:251
+msgid "Theme installation failed!"
msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../bootlook.pm_.c:259
#, c-format
msgid ""
-"Most of these values were extracted\n"
-"from your running system.\n"
-"You can modify as needed."
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Select the font file or directory and click on 'Add'"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Madagascar"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Urpmi"
+"You are currently using %s as your boot manager.\n"
+"Click on Configure to launch the setup wizard."
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../services.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "System"
+#: ../../bootlook.pm_.c:261 ../../standalone/drakbackup_.c:2380
+#: ../../standalone/drakbackup_.c:2390 ../../standalone/drakbackup_.c:2400
+#: ../../standalone/drakbackup_.c:2408 ../../standalone/drakgw_.c:551
+msgid "Configure"
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Do you want to use this feature?"
+#: ../../bootlook.pm_.c:268
+msgid "Splash selection"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Arabic"
+#: ../../bootlook.pm_.c:271
+msgid "Themes"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../bootlook.pm_.c:273
msgid ""
"\n"
-"- Options:\n"
-""
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Password required"
-msgstr ""
-
-#: ../../common.pm:1
-#, c-format
-msgid "%d minutes"
-msgstr ""
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Graphics card: %s"
+"Select theme for\n"
+"lilo and bootsplash,\n"
+"you can choose\n"
+"them separatly"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WebDAV transfer failed!"
+#: ../../bootlook.pm_.c:276
+msgid "Lilo screen"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree configuration"
+#: ../../bootlook.pm_.c:281
+msgid "Bootsplash"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Choose action"
+#: ../../bootlook.pm_.c:316
+msgid "System mode"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "French Polynesia"
+#: ../../bootlook.pm_.c:318
+msgid "Launch the graphical environment when your system starts"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Usually, DrakX has no problems detecting the number of buttons on your\n"
-"mouse. If it does, it assumes you have a two-button mouse and will\n"
-"configure it for third-button emulation. The third-button mouse button of a\n"
-"two-button mouse can be ``pressed'' by simultaneously clicking the left and\n"
-"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
-"a PS/2, serial or USB interface.\n"
-"\n"
-"If for some reason you wish to specify a different type of mouse, select it\n"
-"from the list provided.\n"
-"\n"
-"If you choose a mouse other than the default, a test screen will be\n"
-"displayed. Use the buttons and wheel to verify that the settings are\n"
-"correct and that the mouse is working correctly. If the mouse is not\n"
-"working well, press the space bar or [Return] key to cancel the test and to\n"
-"go back to the list of choices.\n"
-"\n"
-"Wheel mice are occasionally not detected automatically, so you will need to\n"
-"select your mouse from a list. Be sure to select the one corresponding to\n"
-"the port that your mouse is attached to. After selecting a mouse and\n"
-"pressing the \"%s\" button, a mouse image is displayed on-screen. Scroll\n"
-"the mouse wheel to ensure that it is activated correctly. Once you see the\n"
-"on-screen scroll wheel moving as you scroll your mouse wheel, test the\n"
-"buttons and check that the mouse pointer moves on-screen as you move your\n"
-"mouse."
+#: ../../bootlook.pm_.c:323
+msgid "No, I don't want autologin"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Support the OKI 4w and compatible winprinters."
+#: ../../bootlook.pm_.c:325
+msgid "Yes, I want autologin with this (user, desktop)"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+#: ../../bootlook.pm_.c:335 ../../network/netconnect.pm_.c:96
+#: ../../standalone/drakTermServ_.c:222 ../../standalone/drakTermServ_.c:355
+#: ../../standalone/drakbackup_.c:4139 ../../standalone/drakbackup_.c:4797
+#: ../../standalone/drakconnect_.c:105 ../../standalone/drakconnect_.c:137
+#: ../../standalone/drakconnect_.c:293 ../../standalone/drakconnect_.c:432
+#: ../../standalone/drakconnect_.c:518 ../../standalone/drakconnect_.c:561
+#: ../../standalone/drakconnect_.c:665 ../../standalone/drakfont_.c:604
+#: ../../standalone/drakfont_.c:783 ../../standalone/drakfont_.c:911
+#: ../../standalone/net_monitor_.c:336 ../../ugtk.pm_.c:288
+#: ../../ugtk2.pm_.c:355
+msgid "OK"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Files or wildcards listed in a .backupignore file at the top of a directory tree will not be backed up."
+#: ../../common.pm_.c:107
+msgid "GB"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Sending\n"
-"speed:"
+#: ../../common.pm_.c:107
+msgid "KB"
msgstr ""
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Installing driver for %s card %s"
+#: ../../common.pm_.c:107
+msgid "MB"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You have transferred your former default printer (\"%s\"), Should it be also the default printer under the new printing system %s?"
+#: ../../common.pm_.c:115
+msgid "TB"
msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../common.pm_.c:123
#, c-format
-msgid "Enable Server"
+msgid "%d minutes"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ukrainian"
+#: ../../common.pm_.c:125
+msgid "1 minute"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../common.pm_.c:127
#, c-format
-msgid "The network access was not running and could not be started. Please check your configuration and your hardware. Then try to configure your remote printer again."
+msgid "%d seconds"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to write the file"
+#: ../../common.pm_.c:172
+msgid "Can't make screenshots before partitioning"
msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../common.pm_.c:179
#, c-format
-msgid "Please insert the Boot floppy used in drive %s"
+msgid "Screenshots will be available after install in %s"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local network(s)"
+#: ../../crypto.pm_.c:14 ../../crypto.pm_.c:28 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:127
+msgid "France"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Remove Windows"
+#: ../../crypto.pm_.c:15
+msgid "Costa Rica"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Your %s has been configured.\n"
-"You may now scan documents using \"XSane\" from Multimedia/Graphics in the applications menu."
+#: ../../crypto.pm_.c:16 ../../crypto.pm_.c:29 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:130
+msgid "Belgium"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Firewire controllers"
+#: ../../crypto.pm_.c:17 ../../crypto.pm_.c:30
+msgid "Czech Republic"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"After you have configured the general bootloader parameters, the list of\n"
-"boot options that will be available at boot time will be displayed.\n"
-"\n"
-"If there are other operating systems installed on your machine they will\n"
-"automatically be added to the boot menu. You can fine-tune the existing\n"
-"options by clicking \"%s\" to create a new entry; selecting an entry and\n"
-"clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your\n"
-"changes.\n"
-"\n"
-"You may also not want to give access to these other operating systems to\n"
-"anyone who goes to the console and reboots the machine. You can delete the\n"
-"corresponding entries for the operating systems to remove them from the\n"
-"bootloader menu, but you will need a boot disk in order to boot those other\n"
-"operating systems!"
+#: ../../crypto.pm_.c:18 ../../crypto.pm_.c:31
+msgid "Germany"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "System mode"
+#: ../../crypto.pm_.c:19 ../../crypto.pm_.c:32
+msgid "Greece"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "To print on 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."
+#: ../../crypto.pm_.c:20 ../../crypto.pm_.c:33
+msgid "Norway"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Netmask:"
+#: ../../crypto.pm_.c:21 ../../crypto.pm_.c:34
+msgid "Sweden"
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Do it later"
+#: ../../crypto.pm_.c:22 ../../crypto.pm_.c:36 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:128
+msgid "Netherlands"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1
-#, c-format
-msgid "Append"
+#: ../../crypto.pm_.c:23 ../../crypto.pm_.c:37 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:129 ../../standalone/drakxtv_.c:65
+msgid "Italy"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refresh printer list (to display all available remote CUPS printers)"
+#: ../../crypto.pm_.c:24 ../../crypto.pm_.c:38
+msgid "Austria"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"When this option is turned on, on every startup of CUPS it is automatically made sure that\n"
-"\n"
-"- if LPD/LPRng is installed, /etc/printcap will not be overwritten by CUPS\n"
-"\n"
-"- if /etc/cups/cupsd.conf is missing, it will be created\n"
-"\n"
-"- when printer information is broadcasted, it does not contain \"localhost\" as the server name.\n"
-"\n"
-"If some of these measures lead to problems for you, turn this option off, but then you have to take care of these points."
+#: ../../crypto.pm_.c:35 ../../crypto.pm_.c:61 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:131
+msgid "United States"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../diskdrake/dav.pm_.c:19
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 ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network printer \"%s\", port %s"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Please choose what network adapter will be connected to your Local Area Network."
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "OK to restore the other files."
+#: ../../diskdrake/dav.pm_.c:27
+msgid "New"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your keyboard layout."
+#: ../../diskdrake/dav.pm_.c:63 ../../diskdrake/interactive.pm_.c:400
+#: ../../diskdrake/smbnfs_gtk.pm_.c:81
+msgid "Unmount"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Device URI"
+#: ../../diskdrake/dav.pm_.c:64 ../../diskdrake/interactive.pm_.c:397
+#: ../../diskdrake/smbnfs_gtk.pm_.c:82
+msgid "Mount"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not erasable media!"
+#: ../../diskdrake/dav.pm_.c:65
+msgid "Server"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Terminal-based"
+#: ../../diskdrake/dav.pm_.c:66 ../../diskdrake/interactive.pm_.c:391
+#: ../../diskdrake/interactive.pm_.c:580 ../../diskdrake/interactive.pm_.c:607
+#: ../../diskdrake/removable.pm_.c:24 ../../diskdrake/smbnfs_gtk.pm_.c:85
+msgid "Mount point"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable IP spoofing protection."
+#: ../../diskdrake/dav.pm_.c:85
+msgid "Please enter the WebDAV server URL"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing a printing system in the %s security level"
+#: ../../diskdrake/dav.pm_.c:88
+msgid "The URL must begin with http:// or https://"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "The user name is too long"
+#: ../../diskdrake/dav.pm_.c:109
+msgid "Server: "
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (windows...)"
+#: ../../diskdrake/dav.pm_.c:110 ../../diskdrake/interactive.pm_.c:452
+#: ../../diskdrake/interactive.pm_.c:1102
+#: ../../diskdrake/interactive.pm_.c:1177
+msgid "Mount point: "
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/dav.pm_.c:111 ../../diskdrake/interactive.pm_.c:1183
#, c-format
-msgid "WebDAV remote site already in sync!"
+msgid "Options: %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer database..."
+#: ../../diskdrake/hd_gtk.pm_.c:97
+msgid "Please make a backup of your data first"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Generate auto install floppy"
+#: ../../diskdrake/hd_gtk.pm_.c:97 ../../diskdrake/interactive.pm_.c:946
+#: ../../diskdrake/interactive.pm_.c:956
+#: ../../diskdrake/interactive.pm_.c:1022
+msgid "Read carefully!"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:100
msgid ""
-"\t\t user name: %s\n"
-"\t\t on path: %s \n"
-""
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Somalia"
-msgstr ""
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No open source driver"
-msgstr ""
-
-#: ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Def."
+"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 ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "This is similar to the previous level, but the system is entirely closed and security features are at their maximum."
+#: ../../diskdrake/hd_gtk.pm_.c:154
+msgid "Wizard"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Network ID"
+#: ../../diskdrake/hd_gtk.pm_.c:187
+msgid "Choose action"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Nicaragua"
+#: ../../diskdrake/hd_gtk.pm_.c:191
+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 ""
-#: ../../lang.pm:1
-#, c-format
-msgid "New Caledonia"
+#: ../../diskdrake/hd_gtk.pm_.c:194
+msgid "Please click on a partition"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol (EDSS1)"
+#: ../../diskdrake/hd_gtk.pm_.c:208 ../../diskdrake/smbnfs_gtk.pm_.c:69
+#: ../../install_steps_gtk.pm_.c:464
+msgid "Details"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Delete"
+#: ../../diskdrake/hd_gtk.pm_.c:254
+msgid "No hard drives found"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1
-#, c-format
-msgid "Video mode"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Ext2"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Oman"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "FAT"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Please enter your email address below "
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "HFS"
msgstr ""
-#: ../../standalone/net_monitor:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Network Monitoring"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Journalised FS"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:325
msgid "SunOS"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "New size in MB: "
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Swap"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Partition table type: %s\n"
-""
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../diskdrake/interactive.pm_.c:1118
+msgid "Empty"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication Windows Domain"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../install_steps_gtk.pm_.c:324
+#: ../../install_steps_gtk.pm_.c:382 ../../mouse.pm_.c:165
+#: ../../services.pm_.c:162 ../../standalone/drakbackup_.c:1719
+msgid "Other"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Manufacturer / Model:"
+#: ../../diskdrake/hd_gtk.pm_.c:330
+msgid "Filesystem types:"
msgstr ""
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard"
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:414
+msgid "Create"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Buttons emulation"
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:392
+#: ../../diskdrake/interactive.pm_.c:543 ../../diskdrake/removable.pm_.c:26
+#: ../../diskdrake/removable.pm_.c:49 ../../standalone/harddrake2_.c:66
+msgid "Type"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/hd_gtk.pm_.c:349
#, c-format
-msgid ", network printer \"%s\", port %s"
+msgid "Use ``%s'' instead"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via tape:\n"
-"\n"
-""
+#: ../../diskdrake/hd_gtk.pm_.c:349 ../../diskdrake/interactive.pm_.c:401
+msgid "Delete"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" FTP connection problem: It was not possible to send your backup files by FTP.\n"
-""
+#: ../../diskdrake/hd_gtk.pm_.c:353
+msgid "Use ``Unmount'' first"
msgstr ""
-#: ../../harddrake/sound.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:354 ../../diskdrake/interactive.pm_.c:530
#, c-format
msgid ""
-"The classic bug sound tester is to run the following commands:\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
-"by default\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" will tell you what driver it\n"
-"currently uses\n"
-"\n"
-"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-"loaded or not\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
-"tell you if sound and alsa services're configured to be run on\n"
-"initlevel 3\n"
-"\n"
-"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
-""
+"After changing type of partition %s, all data on this partition will be lost"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Halt bug"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert configuration"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tokelau"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Matching"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bosnian"
-msgstr ""
-
-#: ../../standalone/drakbug:1 ../../standalone/drakbug:1
-#, c-format
-msgid "Release: "
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose a partition"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection speed"
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose another partition"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Namibia"
+#: ../../diskdrake/interactive.pm_.c:202
+msgid "Exit"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Database Server"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to expert mode"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "special capacities of the driver (burning ability and or DVD support)"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to normal mode"
msgstr ""
-#: ../../raid.pm:1
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Undo"
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Network Time Protocol"
+#: ../../diskdrake/interactive.pm_.c:247
+msgid "Continue anyway?"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, 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."
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without saving"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security options..."
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without writing the partition table?"
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH05X (bt878) [many vendors]"
+#: ../../diskdrake/interactive.pm_.c:257
+msgid "Do you want to save /etc/fstab modifications"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Launch the graphical environment when your system starts"
+#: ../../diskdrake/interactive.pm_.c:271
+msgid "Clear all"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "hourly"
+#: ../../diskdrake/interactive.pm_.c:272
+msgid "Auto allocate"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Shift key"
+#: ../../diskdrake/interactive.pm_.c:273
+#: ../../install_steps_interactive.pm_.c:220
+msgid "More"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Successfuly Restored on %s "
+#: ../../diskdrake/interactive.pm_.c:278
+msgid "Hard drive information"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Making printer port available for CUPS..."
+#: ../../diskdrake/interactive.pm_.c:310
+msgid "All primary partitions are used"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Antigua and Barbuda"
+#: ../../diskdrake/interactive.pm_.c:311
+msgid "I can't add any more partition"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:312
msgid ""
-"!!! Indicates the password in the system database is different than\n"
-" the one in the Terminal Server database.\n"
-"Delete/re-add the user to the Terminal Server to enable login."
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
msgstr ""
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
-#, c-format
-msgid "Spanish"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-msgid "Start"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Direct root login"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring applications..."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this computer, connected directly to the network or to a remote Windows machine.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/they can be auto-detected. Also your network printer(s) and your Windows machines must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-detection of only the printers connected to this machine. So turn off the auto-detection of network and/or Windows-hosted printers when you don't need it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want to set up your printer(s) now."
+#: ../../diskdrake/interactive.pm_.c:322
+msgid "Save partition table"
msgstr ""
-#. -PO: here, "(detected)" string will be appended to eg "ADSL connection"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Normal modem connection"
+#: ../../diskdrake/interactive.pm_.c:323
+msgid "Restore partition table"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "File Selection"
+#: ../../diskdrake/interactive.pm_.c:324
+msgid "Rescue partition table"
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1 ../../printer/cups.pm:1 ../../printer/data.pm:1
-#, c-format
-msgid "CUPS"
+#: ../../diskdrake/interactive.pm_.c:326
+msgid "Reload partition table"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase tape before backup"
+#: ../../diskdrake/interactive.pm_.c:331
+msgid "Removable media automounting"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Run config tool"
+#: ../../diskdrake/interactive.pm_.c:340 ../../diskdrake/interactive.pm_.c:360
+msgid "Select file"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation"
+#: ../../diskdrake/interactive.pm_.c:347
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Root partition size in MB: "
+#: ../../diskdrake/interactive.pm_.c:361 ../../harddrake/sound.pm_.c:202
+#: ../../network/modem.pm_.c:95
+msgid "Warning"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "This is a mandatory package, it can't be unselected"
+#: ../../diskdrake/interactive.pm_.c:362
+msgid ""
+"Insert a floppy in drive\n"
+"All data on this floppy will be lost"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "named (BIND) is a Domain Name Server (DNS) that is used to resolve host names to IP addresses."
+#: ../../diskdrake/interactive.pm_.c:373
+msgid "Trying to rescue partition table"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot ISO image is %s"
+#: ../../diskdrake/interactive.pm_.c:379
+msgid "Detailed information"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Lucia"
+#: ../../diskdrake/interactive.pm_.c:394 ../../diskdrake/interactive.pm_.c:674
+msgid "Resize"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "November"
+#: ../../diskdrake/interactive.pm_.c:395 ../../diskdrake/interactive.pm_.c:727
+msgid "Move"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Disconnect..."
+#: ../../diskdrake/interactive.pm_.c:396
+msgid "Format"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "IP mask"
+#: ../../diskdrake/interactive.pm_.c:398
+msgid "Add to RAID"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Report"
+#: ../../diskdrake/interactive.pm_.c:399
+msgid "Add to LVM"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Palau"
+#: ../../diskdrake/interactive.pm_.c:402
+msgid "Remove from RAID"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "level"
+#: ../../diskdrake/interactive.pm_.c:403
+msgid "Remove from LVM"
msgstr ""
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "All incidents will be followed up by a single qualified MandrakeSoft technical expert."
+#: ../../diskdrake/interactive.pm_.c:404
+msgid "Modify RAID"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package Group Selection"
+#: ../../diskdrake/interactive.pm_.c:405
+msgid "Use for loopback"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Allow local hardware\n"
-"configuration."
+#: ../../diskdrake/interactive.pm_.c:445
+msgid "Create a new partition"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network Protocol: %s"
+#: ../../diskdrake/interactive.pm_.c:448
+msgid "Start sector: "
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "You can configure each parameter of the module here."
+#: ../../diskdrake/interactive.pm_.c:450 ../../diskdrake/interactive.pm_.c:827
+msgid "Size in MB: "
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Choose the resolution and the color depth"
+#: ../../diskdrake/interactive.pm_.c:451 ../../diskdrake/interactive.pm_.c:828
+msgid "Filesystem type: "
msgstr ""
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Emulate third button?"
+#: ../../diskdrake/interactive.pm_.c:456
+msgid "Preference: "
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:481
msgid ""
"You can't create a new partition\n"
"(since you reached the maximal number of primary partitions).\n"
"First remove a primary partition and create an extended partition."
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install updates"
-msgstr ""
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount"
-msgstr ""
-
-#: ../../standalone/drakautoinst:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Creating auto install floppy"
+#: ../../diskdrake/interactive.pm_.c:511
+msgid "Remove the loopback file?"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text box height"
+#: ../../diskdrake/interactive.pm_.c:541
+msgid "Change partition type"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "State"
+#: ../../diskdrake/interactive.pm_.c:542 ../../diskdrake/removable.pm_.c:48
+msgid "Which filesystem do you want?"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Be sure a media is present for the device %s"
+#: ../../diskdrake/interactive.pm_.c:548
+msgid "Switching from ext2 to ext3"
msgstr ""
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:578
#, c-format
-msgid "Enable multiple profiles"
+msgid "Where do you want to mount loopback file %s?"
msgstr ""
-#: ../../fs.pm:1
+#: ../../diskdrake/interactive.pm_.c:579
#, c-format
-msgid "Do not interpret character or block special devices on the file system."
+msgid "Where do you want to mount device %s?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:585
msgid ""
-"These options can backup and restore all files in your /etc directory.\n"
-""
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Local printer"
+"Can't unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:606
#, c-format
-msgid "Files Restored..."
+msgid "Where do you want to mount %s?"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package selection"
+#: ../../diskdrake/interactive.pm_.c:630
+msgid "Computing FAT filesystem bounds"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritania"
+#: ../../diskdrake/interactive.pm_.c:630 ../../diskdrake/interactive.pm_.c:689
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"I can keep your current configuration and assume you already set up a DHCP server; in that case please verify I correctly read the Network that you use for your local network; I will not reconfigure it and I will not touch your DHCP server configuration.\n"
-"\n"
-"The default DNS entry is the Caching Nameserver configured on the firewall. You can replace that with your ISP DNS IP, for example.\n"
-"\t\t \n"
-"Otherwise, I can reconfigure your interface and (re)configure a DHCP server for you.\n"
-"\n"
-""
+#: ../../diskdrake/interactive.pm_.c:662
+msgid "This partition is not resizeable"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No local printer found! To manually install a printer enter a device name/file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
+#: ../../diskdrake/interactive.pm_.c:667
+msgid "All data on this partition should be backed-up"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:669
#, c-format
-msgid "All primary partitions are used"
+msgid "After resizing partition %s, all data on this partition will be lost"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "LPD server \"%s\", printer \"%s\""
+#: ../../diskdrake/interactive.pm_.c:674
+msgid "Choose the new size"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "After this is done, we recommend that you restart your X environment to avoid any hostname-related problems."
+#: ../../diskdrake/interactive.pm_.c:675
+msgid "New size in MB: "
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Automatic detection and configuration of hardware at boot."
+#: ../../diskdrake/interactive.pm_.c:728
+msgid "Which disk do you want to move it to?"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation Server Configuration"
+#: ../../diskdrake/interactive.pm_.c:729
+msgid "Sector"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring IDE"
+#: ../../diskdrake/interactive.pm_.c:730
+msgid "Which sector do you want to move it to?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network functionality not configured"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Configure module"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving partition..."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cocos (Keeling) Islands"
+#: ../../diskdrake/interactive.pm_.c:750
+msgid "Choose an existing RAID to add to"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "You'll need to reboot before the modification can take place"
+#: ../../diskdrake/interactive.pm_.c:751 ../../diskdrake/interactive.pm_.c:768
+msgid "new"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider phone number"
+#: ../../diskdrake/interactive.pm_.c:766
+msgid "Choose an existing LVM to add to"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Host %s"
+#: ../../diskdrake/interactive.pm_.c:771
+msgid "LVM name?"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Fiji"
+#: ../../diskdrake/interactive.pm_.c:812
+msgid "This partition can't be used for loopback"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Armenia"
+#: ../../diskdrake/interactive.pm_.c:825
+msgid "Loopback"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Second floppy drive"
+#: ../../diskdrake/interactive.pm_.c:826
+msgid "Loopback file name: "
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "About Harddrake"
+#: ../../diskdrake/interactive.pm_.c:831
+msgid "Give a file name"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize TCP connections to X Window"
+#: ../../diskdrake/interactive.pm_.c:834
+msgid "File already used by another loopback, choose another one"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Drive capacity"
+#: ../../diskdrake/interactive.pm_.c:835
+msgid "File already exists. Use it?"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
+#: ../../diskdrake/interactive.pm_.c:858
+msgid "Mount options"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s"
+#: ../../diskdrake/interactive.pm_.c:865
+msgid "Various"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Control and Shift keys simultaneously"
+#: ../../diskdrake/interactive.pm_.c:929 ../../standalone/drakfloppy_.c:76
+msgid "device"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "secondary"
+#: ../../diskdrake/interactive.pm_.c:930
+msgid "level"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Backup Configuration."
+#: ../../diskdrake/interactive.pm_.c:931
+msgid "chunk size"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result to syslog."
+#: ../../diskdrake/interactive.pm_.c:947
+msgid "Be careful: this operation is dangerous."
msgstr ""
-#. -PO: keep this short or else the buttons will not fit in the window
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No password"
+#: ../../diskdrake/interactive.pm_.c:962
+msgid "What type of partitioning?"
msgstr ""
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:978
#, c-format
-msgid "Nigeria"
+msgid "The package %s is needed. Install it?"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:992
msgid ""
-"%s: %s requires hostname...\n"
-""
+"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 ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no existing partition to use"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:996
msgid ""
-"The following scanners\n"
-"\n"
-"%s\n"
-"are available on your system.\n"
-""
+"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 ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on parallel port #%s"
+#: ../../diskdrake/interactive.pm_.c:1002
+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 ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1022
#, c-format
-msgid "To print to a TCP or socket printer, you need to provide the host name or IP of the printer and optionally the port number (default is 9100). On HP JetDirect servers the port number is usually 9100, on other servers it can vary. See the manual of your hardware."
+msgid "Partition table of drive %s is going to be written to disk!"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Hard drive information"
+#: ../../diskdrake/interactive.pm_.c:1026
+msgid "You'll need to reboot before the modification can take place"
msgstr ""
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1037
#, c-format
-msgid "Russian"
+msgid "After formatting partition %s, all data on this partition will be lost"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Jordan"
+#: ../../diskdrake/interactive.pm_.c:1039
+msgid "Formatting"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1040
#, c-format
-msgid "Hide files"
+msgid "Formatting loopback file %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1041
+#: ../../install_steps_interactive.pm_.c:466
#, c-format
-msgid "Auto-detect printers connected to this machine"
+msgid "Formatting partition %s"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Sorry, no floppy drive available"
+#: ../../diskdrake/interactive.pm_.c:1052
+msgid "Hide files"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bolivia"
+#: ../../diskdrake/interactive.pm_.c:1052
+msgid "Move files to the new partition"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1053
#, c-format
msgid ""
-"Set up your Windows server to make the printer available under the IPP protocol and set up printing from this machine with the \"%s\" connection type in Printerdrake.\n"
-"\n"
-""
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Bad package"
+"Directory %s already contains data\n"
+"(%s)"
msgstr ""
-#: ../advertising/07-server.pl:1
-#, c-format
-msgid "Transform your computer into a powerful Linux server: Web server, mail, firewall, router, file and print server (etc.) are just a few clicks away!"
+#: ../../diskdrake/interactive.pm_.c:1064
+msgid "Moving files to the new partition"
msgstr ""
-#: ../../security/level.pm:1
+#: ../../diskdrake/interactive.pm_.c:1068
#, c-format
-msgid "DrakSec Basic Options"
+msgid "Copying %s"
msgstr ""
-#: ../../standalone/draksound:1
+#: ../../diskdrake/interactive.pm_.c:1072
#, c-format
-msgid ""
-"\n"
-"\n"
-"\n"
-"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig program. Just type \"sndconfig\" in a console."
+msgid "Removing %s"
msgstr ""
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1082
#, c-format
-msgid "Romania"
+msgid "partition %s is now known as %s"
msgstr ""
-#: ../../standalone/drakperm:1 ../../standalone/drakperm:1
-#, c-format
-msgid "Group"
+#: ../../diskdrake/interactive.pm_.c:1103
+#: ../../diskdrake/interactive.pm_.c:1162
+msgid "Device: "
msgstr ""
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1104
#, c-format
-msgid "Canada"
+msgid "DOS drive letter: %s (just a guess)\n"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "choose device"
+#: ../../diskdrake/interactive.pm_.c:1108
+#: ../../diskdrake/interactive.pm_.c:1116
+#: ../../diskdrake/interactive.pm_.c:1181
+msgid "Type: "
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from LVM"
+#: ../../diskdrake/interactive.pm_.c:1112
+msgid "Name: "
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1120
#, c-format
-msgid "Timezone"
+msgid "Start: sector %s\n"
msgstr ""
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1121
#, c-format
-msgid "German"
+msgid "Size: %s"
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1 ../../interactive/newt.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:1123
#, c-format
-msgid "Next ->"
+msgid ", %s sectors"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1125
#, c-format
-msgid "Turning on this allows to print plain text files in japanese language. Only use this function if you really want to print text in japanese, if it is activated you cannot print accentuated characters in latin fonts any more and you will not be able to adjust the margins, the character size, etc. This setting only affects printers defined on this machine. If you want to print japanese text on a printer set up on a remote machine, you have to activate this function on that remote machine."
+msgid "Cylinder %d to %d\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition. You should\n"
-"probably leave it alone.\n"
-""
+#: ../../diskdrake/interactive.pm_.c:1126
+msgid "Formatted\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea-Bissau"
+#: ../../diskdrake/interactive.pm_.c:1127
+msgid "Not formatted\n"
msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Horizontal refresh rate"
+#: ../../diskdrake/interactive.pm_.c:1128
+msgid "Mounted\n"
msgstr ""
-#: ../../standalone/drakperm:1 ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/printerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1129
#, c-format
-msgid "Edit"
+msgid "RAID md%s\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1131
#, c-format
msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
+"Loopback file(s):\n"
+" %s\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The network configuration done during the installation cannot be started now. Please check whether the network is accessable after booting your system and correct the configuration using the Mandrake Control Center, section \"Network & Internet\"/\"Connection\", and afterwards set up the printer, also using the Mandrake Control Center, section \"Hardware\"/\"Printer\""
+#: ../../diskdrake/interactive.pm_.c:1132
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
msgstr ""
-#: ../../harddrake/data.pm:1
+#: ../../diskdrake/interactive.pm_.c:1134
#, c-format
-msgid "USB controllers"
+msgid "Level %s\n"
msgstr ""
-#: ../../Xconfig/various.pm:1
+#: ../../diskdrake/interactive.pm_.c:1135
#, c-format
-msgid "What norm is your TV using?"
+msgid "Chunk size %s\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1136
#, c-format
-msgid "Share name"
+msgid "RAID-disks %s\n"
msgstr ""
-#: ../../standalone/drakgw:1
+#: ../../diskdrake/interactive.pm_.c:1138
#, c-format
-msgid "enable"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Contacting Mandrake Linux web site to get the list of available mirrors..."
+msgid "Loopback file name: %s"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1141
msgid ""
-"A problem occured while restarting the network: \n"
"\n"
-"%s"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove the loopback file?"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Selected size is larger than available space"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP server name missing!"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose your country."
-msgstr ""
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup files..."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Laotian"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Samoa"
+"Chances are, this partition is\n"
+"a Driver partition, you should\n"
+"probably leave it alone.\n"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1144
msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Re-generating list of configured scanners ..."
-msgstr ""
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module configuration"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Scanner"
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
msgstr ""
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Warning: testing this graphic card may freeze your computer"
+#: ../../diskdrake/interactive.pm_.c:1163
+msgid "Read-only"
msgstr ""
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:1164
#, c-format
-msgid "The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgid "Size: %s\n"
msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../diskdrake/interactive.pm_.c:1165
#, c-format
-msgid "Menudrake"
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Welcome To Crackers"
+#: ../../diskdrake/interactive.pm_.c:1166
+msgid "Info: "
msgstr ""
-#: ../../modules/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1167
#, c-format
-msgid "Module options:"
+msgid "LVM-disks %s\n"
msgstr ""
-#: ../advertising/11-mnf.pl:1
+#: ../../diskdrake/interactive.pm_.c:1168
#, c-format
-msgid "Secure your networks with the Multi Network Firewall"
+msgid "Partition table type: %s\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1169
#, c-format
-msgid "Go on without configuring the network"
+msgid "on channel %d id %d\n"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Abort"
+#: ../../diskdrake/interactive.pm_.c:1199
+msgid "Filesystem encryption key"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No password prompt on %s at port %s"
+#: ../../diskdrake/interactive.pm_.c:1200
+msgid "Choose your filesystem encryption key"
msgstr ""
-#: ../../mouse.pm:1
+#: ../../diskdrake/interactive.pm_.c:1203
#, c-format
-msgid "Kensington Thinking Mouse with Wheel emulation"
+msgid "This encryption key is too simple (must be at least %d characters long)"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Usage of remote scanners"
+#: ../../diskdrake/interactive.pm_.c:1204
+msgid "The encryption keys do not match"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Your Windows partition is too fragmented. Please reboot your computer under Windows, run the ``defrag'' utility, then restart the Mandrake Linux installation."
+#: ../../diskdrake/interactive.pm_.c:1207
+msgid "Encryption key"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Norwegian)"
+#: ../../diskdrake/interactive.pm_.c:1208
+msgid "Encryption key (again)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup Progress..."
+#: ../../diskdrake/removable.pm_.c:47
+msgid "Change type"
msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../diskdrake/smbnfs_gtk.pm_.c:162
#, c-format
-msgid "Unable to fork: %s"
+msgid "Can't login using username %s (bad password?)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Type: "
+#: ../../diskdrake/smbnfs_gtk.pm_.c:166 ../../diskdrake/smbnfs_gtk.pm_.c:175
+msgid "Domain Authentication Required"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Edit Client"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+msgid "Another one"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "no fonts found"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+msgid "Which username"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../harddrake/data.pm:1
-#, c-format
-msgid "Mouse"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:176
+msgid ""
+"Please enter your username, password and domain name to access this host."
msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid "not enough room in /boot"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:178 ../../standalone/drakbackup_.c:3477
+msgid "Username"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "trying to promote %s"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:180
+msgid "Domain"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Liechtenstein"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:200
+msgid "Search servers"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../fs.pm_.c:547 ../../fs.pm_.c:557 ../../fs.pm_.c:561 ../../fs.pm_.c:565
+#: ../../fs.pm_.c:569 ../../fs.pm_.c:573
#, c-format
-msgid "Host name"
+msgid "%s formatting of %s failed"
msgstr ""
-#: ../../standalone/draksplash:1
+#: ../../fs.pm_.c:610
#, c-format
-msgid "the color of the progress bar"
+msgid "I don't know how to format %s in type %s"
msgstr ""
-#: ../../standalone/drakfont:1 ../../standalone/drakfont:1
+#: ../../fs.pm_.c:684 ../../fs.pm_.c:727
#, c-format
-msgid "Suppress Fonts Files"
+msgid "mounting partition %s in directory %s failed"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../fs.pm_.c:742 ../../partition_table.pm_.c:599
#, c-format
-msgid "Add to RAID"
+msgid "error unmounting %s: %s"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"You can add additional entries in yaboot for other operating systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"For other OSs, the entry consists only of a label and the \"root\"\n"
-"partition.\n"
-"\n"
-"For Linux, there are a few possible options:\n"
-"\n"
-" * Label: this is the name you will have to type at the yaboot prompt to\n"
-"select this boot option.\n"
-"\n"
-" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n"
-"variation of vmlinux with an extension.\n"
-"\n"
-" * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-"\n"
-" * Append: on Apple hardware, the kernel append option is often used to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button\n"
-"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n"
-"The following are some examples:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: this option can be used either to load initial modules before\n"
-"the boot device is available, or to load a ramdisk image for an emergency\n"
-"boot situation.\n"
-"\n"
-" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n"
-"need to allocate a large ramdisk, this option can be used to specify a\n"
-"ramdisk larger than the default.\n"
-"\n"
-" * Read-write: normally the \"root\" partition is initially mounted as\n"
-"read-only, to allow a file system check before the system becomes ``live''.\n"
-"You can override the default with this option.\n"
-"\n"
-" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-"problematic, you can select this option to boot in ``novideo'' mode, with\n"
-"native frame buffer support.\n"
-"\n"
-" * Default: selects this entry as being the default Linux selection,\n"
-"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n"
-"highlighted with a ``*'' if you press [Tab] to see the boot selections."
+#: ../../fsedit.pm_.c:21
+msgid "simple"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
+#: ../../fsedit.pm_.c:25
+msgid "with /usr"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No floppy drive available!"
+#: ../../fsedit.pm_.c:30
+msgid "server"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
+#: ../../fsedit.pm_.c:240
#, c-format
msgid ""
-"To know about the options available for the current printer read either the list shown below or click on the \"Print option list\" button.%s%s%s\n"
+"I can't read the partition table of device %s, it's too corrupted for me :(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
"\n"
-""
+"Do you agree to loose all the partitions?\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saudi Arabia"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-msgid "Internet"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Continue anyway?"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If your printer is not listed, choose a compatible (see printer manual) or a similar one."
-msgstr ""
-
-#: ../../help.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../harddrake/data.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer"
+#: ../../fsedit.pm_.c:501
+msgid "You can't use JFS for partitions smaller than 16MB"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Geometry: %s cylinders, %s heads, %s sectors\n"
-""
+#: ../../fsedit.pm_.c:502
+msgid "You can't use ReiserFS for partitions smaller than 32MB"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "You find the file on the CD or floppy coming with the scanner, on the manufacturer's home page, or on your Windows partition."
+#: ../../fsedit.pm_.c:521
+msgid "Mount points must begin with a leading /"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../fsedit.pm_.c:522
#, c-format
-msgid "Printing on the printer \"%s\""
+msgid "There is already a partition with mount point %s\n"
msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../fsedit.pm_.c:526
#, c-format
-msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
+msgid "You can't use a LVM Logical Volume for mount point %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From Tape"
+#: ../../fsedit.pm_.c:528
+msgid "This directory should remain within the root filesystem"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
+#: ../../fsedit.pm_.c:530
msgid ""
-"To submit a bug report, click the report button, which will open your default browser\n"
-"to Anthill where you will be able to upload the above information as a bug report."
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
msgstr ""
-#: ../../security/l10n.pm:1
+#: ../../fsedit.pm_.c:532
#, c-format
-msgid "Password minimum length and number of digits and upcase letters"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now from configuration file"
-msgstr ""
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points should contain only alphanumerical characters"
+msgid "You can't use an encrypted file system for mount point %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting printing system..."
+#: ../../fsedit.pm_.c:599
+msgid "Not enough free space for auto-allocating"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/tree/mdk_totem:1
-#, c-format
-msgid "You can only run with no CDROM support"
+#: ../../fsedit.pm_.c:601
+msgid "Nothing to do"
msgstr ""
-#: ../../modules/interactive.pm:1
+#: ../../fsedit.pm_.c:694
#, c-format
-msgid "See hardware info"
+msgid "Error opening %s for writing: %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Day"
+#: ../../harddrake/data.pm_.c:71
+msgid "cpu /* "
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of boot partition"
+#: ../../harddrake/sound.pm_.c:170
+msgid "No alternative driver"
msgstr ""
-#: ../../standalone.pm:1
+#: ../../harddrake/sound.pm_.c:171
#, c-format
msgid ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, IP, nbi image name)"
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model"
-msgstr ""
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ - Print, Don't Queue"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet Mask:"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Set password expiration and account inactivation delays"
+#: ../../harddrake/sound.pm_.c:173
+msgid "Sound configuration"
msgstr ""
-#: ../../standalone/logdrake:1
+#: ../../harddrake/sound.pm_.c:174
#, c-format
msgid ""
-"_: load here is a noun, the load of the system\n"
-"Load"
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
msgstr ""
-#: ../../Xconfig/monitor.pm:1
+#: ../../harddrake/sound.pm_.c:176
#, c-format
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 ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"This interface has not been configured yet.\n"
-"Run the \"Add an interface\" assistant from the Mandrake Control Center"
-msgstr ""
-
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Modify"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"The \"%s\" and \"%s\" commands also allow to modify the option settings for a particular printing job. Simply add the desired settings to the command line, e. g. \"%s <file>\".\n"
-""
+#: ../../harddrake/sound.pm_.c:178
+msgid "Driver:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Need hostname, username and password!"
+#: ../../harddrake/sound.pm_.c:183 ../../standalone/drakTermServ_.c:303
+#: ../../standalone/drakbackup_.c:3878 ../../standalone/drakbackup_.c:3911
+#: ../../standalone/drakbackup_.c:3937 ../../standalone/drakbackup_.c:3964
+#: ../../standalone/drakbackup_.c:3991 ../../standalone/drakbackup_.c:4030
+#: ../../standalone/drakbackup_.c:4051 ../../standalone/drakbackup_.c:4078
+#: ../../standalone/drakbackup_.c:4108 ../../standalone/drakbackup_.c:4134
+#: ../../standalone/drakbackup_.c:4157 ../../standalone/drakfont_.c:690
+msgid "Help"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Insert floppy"
+#: ../../harddrake/sound.pm_.c:185
+msgid "Switching between ALSA and OSS help"
msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, c-format
+#: ../../harddrake/sound.pm_.c:186
msgid ""
-"WebDAV is a protocol that allows you to mount a web server's directory\n"
-"locally, and treat it like a local filesystem (provided the web server is\n"
-"configured as a WebDAV server). If you would like to add WebDAV mount\n"
-"points, select \"New\"."
+"OSS (Open Sound System) was the first sound API. It's an OS independant "
+"sound API (it's available on most unices systems) but it's a very basic and "
+"limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../harddrake/sound.pm_.c:202
#, c-format
-msgid "HardDrake"
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oopses the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver'll only be used on next bootstrap."
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "new"
+#: ../../harddrake/sound.pm_.c:205 ../../standalone/drakconnect_.c:298
+msgid "Please Wait... Applying the configuration"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable syslog reports to console 12"
+#: ../../harddrake/sound.pm_.c:205 ../../interactive.pm_.c:382
+#: ../../standalone/drakxtv_.c:108 ../../standalone/harddrake2_.c:113
+#: ../../standalone/service_harddrake_.c:64
+msgid "Please wait"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Would you like to try again?"
+#: ../../harddrake/sound.pm_.c:210
+msgid "No known driver"
msgstr ""
-#: ../../help.pm:1 ../../diskdrake/hd_gtk.pm:1
+#: ../../harddrake/sound.pm_.c:211
#, c-format
-msgid "Wizard"
+msgid "There's no known driver for your sound card (%s)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected server"
+#: ../../harddrake/sound.pm_.c:214
+msgid "Unkown driver"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../harddrake/sound.pm_.c:215
#, c-format
-msgid "Please choose where you want to backup"
+msgid ""
+"The \"%s\" driver for your sound card is unlisted\n"
+"\n"
+"Please send the output of the \"lspcidrake -v\" command to\n"
+"<install at mandrakesoft dot com>\n"
+"with subject: unlisted sound driver \"%s\""
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "You need to reboot for the partition table modifications to take place"
+#: ../../harddrake/v4l.pm_.c:14 ../../harddrake/v4l.pm_.c:64
+msgid "Auto-detect"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include the browser cache"
+#: ../../harddrake/v4l.pm_.c:65 ../../harddrake/v4l.pm_.c:198
+msgid "Unknown|Generic"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Failed to check filesystem %s. Do you want to repair the errors? (beware, you can lose data)"
+#: ../../harddrake/v4l.pm_.c:97
+msgid "Unknown|CPH05X (bt878) [many vendors]"
msgstr ""
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Please, choose your keyboard layout."
+#: ../../harddrake/v4l.pm_.c:98
+msgid "Unknown|CPH06X (bt878) [many vendors]"
msgstr ""
-#: ../../mouse.pm:1 ../../security/level.pm:1
-#, c-format
-msgid "Standard"
+#: ../../harddrake/v4l.pm_.c:224
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed"
msgstr ""
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose your mouse type."
+#: ../../harddrake/v4l.pm_.c:227
+msgid "Card model:"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Connect..."
+#: ../../harddrake/v4l.pm_.c:228
+msgid "Tuner type:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to configure printer \"%s\"!"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "Number of capture buffers:"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "not configured"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "number of capture buffers for mmap'ed capture"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISA / PCMCIA"
+#: ../../harddrake/v4l.pm_.c:231
+msgid "PLL setting:"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "About"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "Radio support:"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "GlidePoint"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "enable radio support"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Proxies configuration"
+#: ../../help.pm_.c:13
+msgid ""
+"GNU/Linux is a multiuser system, and this means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more this concept. But unlike \"root\", which is the\n"
+"administrator, the users you add here will not be entitled to change\n"
+"anything except their own files and their own configurations. You will have\n"
+"to create at least one regular user for yourself. That account is where you\n"
+"should log in for routine use. Although it is very practical to log in as\n"
+"\"root\" everyday, it may also be very dangerous! The slightest mistake\n"
+"could mean that your system would not work any more. If you make a serious\n"
+"mistake as a regular user, you may only lose some information, but not the\n"
+"entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course\n"
+"-- as you can actually enter whatever you want. DrakX will then take the\n"
+"first word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as the \"root\"\n"
+"one from a security point of view, but that is no reason to neglect it:\n"
+"after all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of the people meant to use that computer. When you are\n"
+"finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"Advanced\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default).\n"
+"\n"
+"When you are finished adding all users, you will be proposed to choose a\n"
+"user which can automatically log into the system when the computer boots\n"
+"up. If you are interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click \"Yes\".\n"
+"If you are not interested in this feature, click \"No\"."
+msgstr ""
+
+#: ../../help.pm_.c:48
+msgid ""
+"Listed above are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../help.pm_.c:79
msgid ""
-"Start: sector %s\n"
-""
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Mask"
+"The Mandrake Linux installation is spread out over several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required."
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface already configured"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Couldn't access the floppy!"
-msgstr ""
-
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../help.pm_.c:84
msgid ""
-"Warning: Free Software may not necessarily be patent free, and some Free\n"
-"Software included may be covered by patents in your country. For example, the\n"
-"MP3 decoders included may require a licence for further usage (see\n"
-"http://www.mp3licensing.com for more details). If you are unsure if a patent\n"
-"may be applicable to you, check your local laws."
-msgstr ""
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Mail Server"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please click on a partition"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on HP JetDirect"
-msgstr ""
-
-#: ../../any.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Linux"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Have a nice day!"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/fd0"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Upgrade %s"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Connection"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels in progress ..."
+"It is now time to specify which programs you wish to install on your\n"
+"system. There are thousands of packages available for Mandrake Linux, and\n"
+"you are not supposed to know them all by heart.\n"
+"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
+"\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
+"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
+"\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you unselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewest packages possible to have a working\n"
+"graphical desktop;\n"
+"\n"
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
+"\n"
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
+"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
+"\n"
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful to repair or\n"
+"update an existing system."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:135
msgid ""
-"Error during sending file via FTP.\n"
-" Please correct your FTP configuration."
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range Start:"
+"Finally, depending on whether or not you chose to be able to select\n"
+"individual packages, you will be presented a tree containing all packages\n"
+"classified by groups and subgroups. While browsing the tree, you can select\n"
+"entire groups, subgroups, or individual packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An installation time estimate is displayed\n"
+"on the screen, to help you gauge if there is sufficient time to enjoy a cup\n"
+"of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mandrake Linux, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mandrake Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
+"\n"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of the previous step on how to\n"
+"create such a floppy disk."
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:171
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 ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the height of the progress bar"
+"You are now able to set up your Internet/network connection. If you wish to\n"
+"connect your computer to the Internet or to a local network, click \"OK\".\n"
+"The autodetection of network devices and modem will be launched. If this\n"
+"detection fails, uncheck the \"Use auto-detection\" box next time. You may\n"
+"also choose not to configure the network, or do it later; in that case,\n"
+"simply click the \"Cancel\" button.\n"
+"\n"
+"Available connections are: traditional modem, ISDN modem, ADSL connection,\n"
+"cable modem, and finally a simple LAN connection (Ethernet).\n"
+"\n"
+"Here, we will not detail each configuration. Simply make sure that you have\n"
+"all the parameters from your Internet Service Provider or system\n"
+"administrator.\n"
+"\n"
+"You can consult the ``Starter Guide'' chapter about Internet connections\n"
+"for details about the configuration, or simply wait until your system is\n"
+"installed and use the program described there to configure your connection.\n"
+"\n"
+"If you wish to configure the network later after installation, or if you\n"
+"are finished configuring your network connection, click \"Cancel\"."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:193
msgid ""
+"You may now choose which services you wish to start at boot time.\n"
"\n"
-"- Save via %s on host: %s\n"
-""
-msgstr ""
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Argentina"
-msgstr ""
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Domain Name Server"
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Level:"
-msgstr ""
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points must begin with a leading /"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Choose your CD/DVD device"
-msgstr ""
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "CUPS server"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Postfix Mail Server"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without saving"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Yemen"
-msgstr ""
-
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "This product is available on the MandrakeStore Web site."
+"Here are listed all the services available with the current installation.\n"
+"Review them carefully and uncheck those which are not always needed at boot\n"
+"time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../help.pm_.c:210
msgid ""
-"=> There are many things to choose from (%s).\n"
-""
-msgstr ""
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Hard drive detection"
-msgstr ""
-
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "GMT - DrakClock"
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by unselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
+#: ../../help.pm_.c:224
msgid ""
-"An error occurred:\n"
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandrake Linux rely.\n"
+"\n"
+"You will be presented the list of available resolutions and color depth\n"
+"available for your hardware. Choose the one that best suit your needs (you\n"
+"will be able to change that after installation though). When you are\n"
+"satisfied with the sample shown in the monitor, click \"OK\". A window will\n"
+"then appear and ask you if you can see it.\n"
+"\n"
+"If you are doing an \"Expert\" installation, you will enter the X\n"
+"configuration wizard. See the corresponding section of the manual for more\n"
+"information about this wizard.\n"
+"\n"
+"If you can see the message during the test, and answer \"Yes\", then DrakX\n"
+"will proceed to the next step. If you cannot see the message, it simply\n"
+"means that the configuration was wrong and the test will automatically end\n"
+"after 10 seconds, restoring the screen. Refer then to the video\n"
+"configuration section of the user guide for more information on how to\n"
+"configure your display."
+msgstr ""
+
+#: ../../help.pm_.c:246
+msgid ""
+"Finally, you will be asked whether you want to see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
+msgstr ""
+
+#: ../../help.pm_.c:253
+msgid ""
+"The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it by\n"
+"booting from the CD-ROM, press the >>F1<< key at boot and type >>rescue<<\n"
+"at the prompt. But in case your computer cannot boot from the CD-ROM, you\n"
+"should come back to this step for help in at least two situations:\n"
+"\n"
+" * when installing the bootloader, DrakX will rewrite the boot sector (\n"
+"MBR) of your main disk (unless you are using another boot manager), to\n"
+"allow you to start up with either Windows or GNU/Linux (assuming you have\n"
+"Windows in your system). If you need to reinstall Windows, the Microsoft\n"
+"install process will rewrite the boot sector, and then you will not be able\n"
+"to start GNU/Linux!\n"
+"\n"
+" * if a problem arises and you cannot start up GNU/Linux from the hard\n"
+"disk, this floppy disk will be the only means of starting up GNU/Linux. It\n"
+"contains a fair number of system tools for restoring a system, which has\n"
+"crashed due to a power failure, an unfortunate typing error, a typo in a\n"
+"password, or any other reason.\n"
+"\n"
+"If you say \"Yes\", you will be asked to enter a disk inside the drive. The\n"
+"floppy disk you will insert must be empty or contain data which you do not\n"
+"need. You will not have to format it since DrakX will rewrite the whole\n"
+"disk."
+msgstr ""
+
+#: ../../help.pm_.c:277
+msgid ""
+"You now need to choose where you want to install the Mandrake Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space, you will need\n"
+"to partition it. Basically, partitioning a hard drive consists of logically\n"
+"dividing it to create space to install your new Mandrake Linux system.\n"
+"\n"
+"Because the partitioning process' effects are usually irreversible,\n"
+"partitioning can be intimidating and stressful if you are an inexperienced\n"
+"user. Fortunately, there is a wizard which simplifies this process. Before\n"
+"beginning, please consult the manual and take your time.\n"
+"\n"
+"If you are running the installation in Expert mode, you will enter\n"
+"DiskDrake, the Mandrake Linux partitioning tool, which allows you to\n"
+"fine-tune your partitions. See the DiskDrake section in the ``Starter\n"
+"Guide''. From the installation interface, you can use the wizards as\n"
+"described here by clicking the dialog's \"Wizard\" button.\n"
+"\n"
+"If partitions have already been defined, either from a previous\n"
+"installation or from another partitioning tool, simply select those to\n"
+"install your Linux system.\n"
+"\n"
+"If partitions are not defined, you will need to create them using the\n"
+"wizard. Depending on your hard drive configuration, several options are\n"
+"available.\n"
+"\n"
+" * \"Use free space\": this option will simply lead to an automatic\n"
+"partitioning of your blank drive(s). You will not be prompted further;\n"
+"\n"
+" * \"Use existing partition\": the wizard has detected one or more existing\n"
+"Linux partitions on your hard drive. If you want to use them, choose this\n"
+"option. You will then be asked to choose the mount points associated to\n"
+"each of the partitions. The legacy mount points are selected by default,\n"
+"and you should generally keep them.\n"
+"\n"
+" * \"Use the free space on the Windows partition\": if Microsoft Windows is\n"
+"installed on your hard drive and takes all the space available on it, you\n"
+"have to create free space for Linux data. To do so, you can delete your\n"
+"Microsoft Windows partition and data (see ``Erase entire disk'' or ``Expert\n"
+"mode'' solutions) or resize your Microsoft Windows partition. Resizing can\n"
+"be performed without the loss of any data, provided you previously\n"
+"defragment the Windows partition. Backing up your data won't hurt either..\n"
+"This solution is recommended if you want to use both Mandrake Linux and\n"
+"Microsoft Windows on the same computer.\n"
"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than at the present time. You will have less free space under Microsoft\n"
+"Windows to store your data or to install new software;\n"
"\n"
-"%s\n"
+" * \"Erase entire disk\": if you want to delete all data and all partitions\n"
+"present on your hard drive and replace them with your new Mandrake Linux\n"
+"system, choose this option. Be careful with this solution because you will\n"
+"not be able to revert your choice after you confirm;\n"
"\n"
-"This may come from corrupted system configuration files\n"
-"on the USB key, in this case removing them and then\n"
-"rebooting Mandrake Move would fix the problem. To do\n"
-"so, click on the corresponding button.\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
"\n"
+" * \"Remove Windows\": this will simply erase everything on the drive and\n"
+"begin fresh, partitioning everything from scratch. All data on your disk\n"
+"will be lost;\n"
"\n"
-"You may also want to reboot and remove the USB key, or\n"
-"examine its contents under another OS, or even have\n"
-"a look at log files in console #3 and #4 to try to\n"
-"guess what's happening."
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"You haven't selected any group of packages.\n"
-"Please choose the minimal installation you want:"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Expert mode\": choose this option if you want to manually partition\n"
+"your hard drive. Be careful -- it is a powerful but dangerous option. You\n"
+"can very easily lose all your data. Hence, do not choose this unless you\n"
+"know what you are doing. To know how to use the DiskDrake utility used\n"
+"here, refer to the section ``Managing Your Partitions'' of the ````Starter\n"
+"Guide''''"
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../help.pm_.c:347
msgid ""
-"You need the Alcatel microcode.\n"
-"You can provide it now via a floppy or your windows partition,\n"
-"or skip and do it later."
-msgstr ""
-
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Please enter the WebDAV server URL"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tajikistan"
-msgstr ""
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Accept"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Description"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Please enter summary text."
-msgstr ""
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Error opening %s for writing: %s"
+"There you are. Installation is now completed and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
+"\n"
+"The \"Advanced\" button (in Expert mode only) shows two more buttons to:\n"
+"\n"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../help.pm_.c:378
msgid ""
-"Mouse type: %s\n"
-""
-msgstr ""
-
-#: ../../Xconfig/card.pm:1 ../../Xconfig/card.pm:1
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr ""
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Choose a monitor"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Empty label not allowed"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (UK)"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "I can't add any more partition"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size in MB: "
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Remote printer"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose a language to use."
+"Any partitions that have been newly defined must be formatted for use\n"
+"(formatting means creating a filesystem on it).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mandrake Linux operating system installation.\n"
+"\n"
+"Click on \"Advanced\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../help.pm_.c:404
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 ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "I can set up your computer to automatically log on one user."
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Floppy format"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Generic Printers"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the printer to which the print jobs should go or enter a device name/file name in the input line"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The scanners on this machine are available to other computers"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of the root partition"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Alternative drivers"
+"Your new Mandrake Linux operating system is currently being installed.\n"
+"Depending on the number of packages you will be installing and the speed of\n"
+"your computer, this operation could take from a few minutes to a\n"
+"significant amount of time.\n"
+"\n"
+"Please be patient."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:412
msgid ""
+"At the time you are installing Mandrake Linux, it is likely that some\n"
+"packages have been updated since the initial release. Some bugs may have\n"
+"been fixed, and security issues solved. To allow you to benefit from these\n"
+"updates, you are now able to download them from the Internet. Choose\n"
+"\"Yes\" if you have a working Internet connection, or \"No\" if you prefer\n"
+"to install updated packages later.\n"
"\n"
-"Please check all options that you need.\n"
-""
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cape Verde"
+"Choosing \"Yes\" displays a list of places from which updates can be\n"
+"retrieved. Choose the one nearest you. Then a package-selection tree\n"
+"appears: review the selection, and press \"Install\" to retrieve and\n"
+"install the selected package(s), or \"Cancel\" to abort."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "whether this cpu has the Cyrix 6x86 Coma bug"
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Loading printer configuration... Please wait"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "early pentiums were buggy and freezed when decoding the F00F bytecode"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guam"
-msgstr ""
-
-#: ../../scanner.pm:1
-#, c-format
-msgid "Your scanner(s) will not be available for non-root users."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the port that your printer is connected to or enter a device name/file name in the input line"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Options/Test"
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:425
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 ""
-
-#: ../../fs.pm:1 ../../fs.pm:1
-#, c-format
-msgid "Mounting partition %s"
-msgstr ""
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "User name"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Userdrake"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "due to missing %s"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Test pages"
+"Before continuing, you should read carefully the terms of the license. It\n"
+"covers the whole Mandrake Linux distribution, and if you do not agree with\n"
+"all the terms included in it, click on the \"Refuse\" button which will\n"
+"immediately terminate the installation. To continue with the installation,\n"
+"click on the \"Accept\" button."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Logical volume name "
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:432
msgid ""
-"List of data to restore:\n"
+"At this point, it is time to choose the security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"ease of use. Refer to the \"msec\" chapter of the ``Reference Manual'' to\n"
+"get more information about the meaning of these levels.\n"
"\n"
-""
-msgstr ""
-
-#: ../../fs.pm:1 ../../fs.pm:1
-#, c-format
-msgid "Checking %s"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "TCP/Socket Printer Options"
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card mem (DMA)"
-msgstr ""
-
-#: ../../standalone/net_monitor:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnecting from Internet "
-msgstr ""
-
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "France"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "browse"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking installed software..."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name missing!"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Do you want to enable printing on printers in the local network?\n"
-""
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkey"
-msgstr ""
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Alcatel speedtouch usb"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Number of buttons"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Module"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "In addition, queues not created with this program or \"foomatic-configure\" cannot be transferred."
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ctrl and Alt keys simultaneously"
-msgstr ""
-
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "United States"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "User umask"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Default OS?"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (German layout)"
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure all heads independently"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the printer you want to set up. The configuration of the printer will work fully automatically. If your printer was not correctly detected or if you prefer a customized printer configuration, turn on \"Manual configuration\"."
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NTP Server"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Sulogin(8) in single user level"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Load/Save on floppy"
-msgstr ""
-
-#: ../../standalone/draksplash:1 ../../standalone/draksplash:1
-#, c-format
-msgid "This theme does not yet have a bootsplash in %s !"
+"If you do not know what to choose, keep the default option."
msgstr ""
-#: ../../pkgs.pm:1
-#, c-format
-msgid "nice"
-msgstr ""
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Please choose which serial port your modem is connected to."
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Property"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript"
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN Configuration"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ghana"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Path or Module required"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Advanced Options"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Configuration"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Coma bug"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:442
msgid ""
"At this point, you need to choose which partition(s) will be used for the\n"
"installation of your Mandrake Linux system. If partitions have already been\n"
-"defined, either from a previous installation of GNU/Linux or by another\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
"partitions must be defined.\n"
"\n"
@@ -4336,1716 +2913,949 @@ msgid ""
"\n"
"To partition the selected hard drive, you can use these options:\n"
"\n"
-" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
"\n"
-" * \"%s\": this option enables you to automatically create ext3 and swap\n"
-"partitions in the free space of your hard drive\n"
+" * \"Auto allocate\": this option enables to automatically create ext3 and\n"
+"swap partitions on your hard drive's free space;\n"
"\n"
-"\"%s\": gives access to additional features:\n"
+"\"More\": gives access to additional features:\n"
"\n"
-" * \"%s\": saves the partition table to a floppy. Useful for later\n"
-"partition-table recovery if necessary. It is strongly recommended that you\n"
-"perform this step.\n"
+" * \"Save partition table\": saves the partition table to a floppy. Useful\n"
+"for later partition-table recovery, if necessary. It is strongly\n"
+"recommended to perform this step;\n"
"\n"
-" * \"%s\": allows you to restore a previously saved partition table from a\n"
-"floppy disk.\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from a floppy disk;\n"
"\n"
-" * \"%s\": if your partition table is damaged, you can try to recover it\n"
-"using this option. Please be careful and remember that it doesn't always\n"
-"work.\n"
+" * \"Rescue partition table\": if your partition table is damaged, you can\n"
+"try to recover it using this option. Please be careful and remember that it\n"
+"can fail;\n"
"\n"
-" * \"%s\": discards all changes and reloads the partition table that was\n"
-"originally on the hard drive.\n"
+" * \"Reload partition table\": discards all changes and loads your initial\n"
+"partition table;\n"
"\n"
-" * \"%s\": unchecking this option will force users to manually mount and\n"
-"unmount removable media such as floppies and CD-ROMs.\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
"\n"
-" * \"%s\": use this option if you wish to use a wizard to partition your\n"
-"hard drive. This is recommended if you do not have a good understanding of\n"
-"partitioning.\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard drive. This is recommended if you do not have a good knowledge of\n"
+"partitioning;\n"
"\n"
-" * \"%s\": use this option to cancel your changes.\n"
+" * \"Undo\": use this option to cancel your changes;\n"
"\n"
-" * \"%s\": allows additional actions on partitions (type, options, format)\n"
-"and gives more information about the hard drive.\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
"\n"
-" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+" * \"Done\": when you are finished partitioning your hard drive, this will\n"
"save your changes back to disk.\n"
"\n"
-"When defining the size of a partition, you can finely set the partition\n"
-"size by using the Arrow keys of your keyboard.\n"
-"\n"
"Note: you can reach any option using the keyboard. Navigate through the\n"
-"partitions using [Tab] and the [Up/Down] arrows.\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
"\n"
"When a partition is selected, you can use:\n"
"\n"
-" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
"\n"
-" * Ctrl-d to delete a partition\n"
+" * Ctrl-d to delete a partition;\n"
"\n"
-" * Ctrl-m to set the mount point\n"
+" * Ctrl-m to set the mount point.\n"
"\n"
-"To get information about the different file system types available, please\n"
+"To get information about the different filesystem types available, please\n"
"read the ext2FS chapter from the ``Reference Manual''.\n"
"\n"
"If you are installing on a PPC machine, you will want to create a small HFS\n"
-"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"``bootstrap'' partition of at least 1MB, which will be used by the yaboot\n"
"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
"may find it a useful place to store a spare kernel and ramdisk images for\n"
"emergency boot situations."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:513
msgid ""
-"Graphic Card\n"
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mandrake Linux operating system.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error installing packages:"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Lexmark inkjet configuration"
-msgstr ""
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Undo"
-msgstr ""
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Save partition table"
-msgstr ""
-
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
-#, c-format
-msgid "Finnish"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Macedonia"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The per-user sharing uses the group \"fileshare\". \n"
-"You can use userdrake to add a user to this group."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovenian"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Authorize:\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
"\n"
-"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if set to \"ALL\",\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
"\n"
-"- only local ones if set to \"LOCAL\"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
"\n"
-"- none if set to \"NONE\".\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
"\n"
-"To authorize the services you need, use /etc/hosts.allow (see hosts.allow(5))."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Libya"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on parallel port #%s"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Please enter the wireless parameters for this card:"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
"\n"
-"- Burn to CD"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Table"
-msgstr ""
-
-#: ../../fs.pm:1
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr ""
-
-#: ../../standalone/harddrake2:1 ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Model"
-msgstr ""
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "USB printer #%s"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Stop Server"
-msgstr ""
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
"\n"
-"Select the theme for\n"
-"lilo and bootsplash,\n"
-"you can choose\n"
-"them separately"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Modem"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tuvalu"
-msgstr ""
-
-#: ../../help.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Use auto detection"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-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 ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Started on boot"
-msgstr ""
-
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid "Join the MandrakeSoft support teams and the Linux Community online to share your knowledge and help others by becoming a recognized Expert on the online technical support website:"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "No password aging for"
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid ""
-"The following options can be set to customize your\n"
-"system security. If you need an explanation, look at the help tooltip.\n"
-""
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatically find available printers on remote machines"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "East Timor"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Tape Device"
+#: ../../help.pm_.c:544
+msgid "Please be patient. This operation can take several minutes."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:547
msgid ""
+"DrakX now needs to know if you want to perform a default (\"Recommended\")\n"
+"installation or if you want to have greater control (\"Expert\") over your\n"
+"installation. You can also choose to do a new installation or upgrade your\n"
+"existing Mandrake Linux system:\n"
"\n"
-"- Save to Tape on device: %s"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Login name"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report unowned files"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing Foomatic..."
-msgstr ""
-
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "The network needs to be restarted. Do you want to restart it ?"
-msgstr ""
-
-#: ../../standalone/drakbug:1 ../../standalone/drakbug:1
-#, c-format
-msgid "Package: "
-msgstr ""
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't write /etc/sysconfig/bootsplash."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SECURITY WARNING!"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "StarOffice"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Operating frequency"
-msgstr ""
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "No, I don't want autologin"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Windows Migration tool"
-msgstr ""
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "All languages"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removing %s"
+" * \"Install\": completely wipes out the old system. However, depending on\n"
+"what is currently installed on your machine, you may be able to keep some\n"
+"old partitions (Linux or otherwise) unchanged;\n"
+"\n"
+" * \"Upgrade\": this installation class allows to simply update the\n"
+"packages currently installed on your Mandrake Linux system. It keeps your\n"
+"hard drives' current partitions as well as user configurations. All other\n"
+"configuration steps remain available, similar to a normal installation;\n"
+"\n"
+" * \"Upgrade Packages Only\": this new installation class allows you to\n"
+"upgrade an existing Mandrake Linux system while keeping all system\n"
+"configurations unchanged. Adding new packages to the current installation\n"
+"is also possible.\n"
+"\n"
+"Upgrades should work fine on Mandrake Linux systems using version \"8.1\"\n"
+"or later.\n"
+"\n"
+"Depending on your GNU/Linux knowledge, select one of the following choices:\n"
+"\n"
+" * Recommended: choose this if you have never installed a GNU/Linux\n"
+"operating system. The installation will be very easy and you will only be\n"
+"asked a few questions;\n"
+"\n"
+" * Expert: if you have a good GNU/Linux understanding, you may wish to\n"
+"perform a highly customized installation. Some of the decisions you will\n"
+"have to make may be difficult if you do not have good GNU/Linux knowledge,\n"
+"so it is not recommended that those without a fair amount of experience\n"
+"select this installation class."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../help.pm_.c:582
msgid ""
-"%s not found...\n"
-""
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Testing your connection..."
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cache size"
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Passwords are now enabled, but use as a networked computer is still not recommended."
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start sector: "
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Brazzaville)"
-msgstr ""
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "The package %s needs to be installed. Do you want to install it?"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Read"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Seychelles"
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen). However, you might not have a keyboard that\n"
+"corresponds exactly to your language: for example, if you are an English\n"
+"speaking Swiss person, you may still want your keyboard to be a Swiss\n"
+"keyboard. Or if you speak English but are located in Quebec, you may find\n"
+"yourself in the same situation. In both cases, you will have to go back to\n"
+"this installation step and select an appropriate keyboard from the list.\n"
+"\n"
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-latin alphabet, you will be\n"
+"asked in the next dialog to choose the key binding that will switch the\n"
+"keyboard layout between the latin and non-latin layouts."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:598
msgid ""
-"Printerdrake has compared the model name resulting from the printer auto-detection with the models listed in its printer database to find the best match. This choice can be wrong, especially when your printer is not listed at all in the database. So check whether the choice is correct and click \"The model is correct\" if so and if not, click \"Select model manually\" so that you can choose your printer model manually on the next screen.\n"
+"The first step is to choose your preferred language.\n"
"\n"
-"For your printer Printerdrake has found:\n"
+"Please choose your preferred language for installation and system usage.\n"
"\n"
-"%s"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Bad password on %s"
+"Clicking on the \"Advanced\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you host users from Spain on your machine,\n"
+"select English as the main language in the tree view and in the Advanced\n"
+"section, click on the box corresponding to \"Spanish|Spain\".\n"
+"\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.\n"
+"\n"
+"To switch from one language to the other, you can launch the\n"
+"\"/usr/sbin/localedrake\" command as \"root\" to change the whole system\n"
+"language, or as a simple user to only change that user's default language."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:617
msgid ""
+"DrakX generally detects the number of buttons your mouse possesses. If not,\n"
+"it assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
"\n"
-"There is one unknown printer directly connected to your system"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Control key"
-msgstr ""
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s with %s in root directory and press %s"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Zambia"
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security Administrator (login or email)"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Sorry, we support only 2.4 kernels."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwerty)"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Under Devel ... please wait."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Egypt"
-msgstr ""
-
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Czech Republic"
-msgstr ""
-
-#: ../../help.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Sound card"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Import Fonts"
+"If you wish to specify a different type of mouse, select the appropriate\n"
+"type from the provided list.\n"
+"\n"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.\n"
+"\n"
+"Sometimes, wheel mouses are not automatically detected. You will need to\n"
+"manually select it in the list. Be sure to select the one corresponding to\n"
+"the correct port it is attached to. After you have pressed the \"OK\"\n"
+"button, a mouse image will be displayed. You then need to move the wheel of\n"
+"your mouse to activate it correctly. Then test that all buttons and\n"
+"movements are correct."
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../help.pm_.c:638
msgid ""
-"You have one big MicroSoft Windows partition.\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Temporary Files"
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../help.pm_.c:642
msgid ""
-"Congratulations, the network and Internet configuration is finished.\n"
+"This is the most crucial decision in regards with the security of your\n"
+"GNU/Linux system: you have to enter the \"root\" password. \"Root\" is the\n"
+"system administrator and is the only one authorized to make updates, add\n"
+"users, change the overall system configuration, and so on. In short,\n"
+"\"root\" can do everything! That is why you must choose a password that is\n"
+"difficult to guess -- DrakX will tell you if it is too easy. As you can\n"
+"see, you can choose not to enter a password, but we strongly advise you\n"
+"against this if only for one reason: do not think that because you booted\n"
+"GNU/Linux that your other operating systems are safe from mistakes. Since\n"
+"\"root\" can overcome all limitations and unintentionally erase all data on\n"
+"partitions by carelessly accessing the partitions themselves, it is\n"
+"important for it to be difficult to become \"root\".\n"
"\n"
-""
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Change partition type"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it too\n"
+"easy to compromise a system.\n"
+"\n"
+"However, please do not make the password too long or complicated because\n"
+"you must be able to remember it without too much effort.\n"
+"\n"
+"The password will not be displayed on screen as you type it in. Hence, you\n"
+"will have to type the password twice to reduce the chance of a typing\n"
+"error. If you do happen to make the same typing error twice, this\n"
+"``incorrect'' password will have to be used the first time you connect.\n"
+"\n"
+"In Expert mode, you will be asked if you will be connecting to an\n"
+"authentication server, like NIS or LDAP.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one as \"authentication\". If you have no\n"
+"clue, ask your network administrator.\n"
+"\n"
+"If your computer is not connected to any administrated network, you will\n"
+"want to choose \"Local files\" for authentication."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:678
msgid ""
-"Resolution\n"
+"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
+"automated. In fact, DrakX analyzes the disk boot sector and acts\n"
+"accordingly, depending on what it finds there:\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor."
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Network Options"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable msec hourly security check"
+" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
+"boot sector. Hence, you will be able to load either GNU/Linux or another\n"
+"OS;\n"
+"\n"
+" * if a grub or LILO boot sector is found, it will replace it with a new\n"
+"one.\n"
+"\n"
+"if in doubt, DrakX will display a dialog with various options.\n"
+"\n"
+" * \"Bootloader to use\": you have three choices:\n"
+"\n"
+" * \"GRUB\": if you prefer grub (text menu);\n"
+"\n"
+" * \"LILO with graphical menu\": if you prefer LILO with its graphical\n"
+"interface;\n"
+"\n"
+" * \"LILO with text menu\": if you prefer LILO with its text menu\n"
+"interface.\n"
+"\n"
+" * \"Boot device\": in most cases, you will not change the default\n"
+"(\"/dev/hda\"), but if you prefer, the bootloader can be installed on the\n"
+"second hard drive (\"/dev/hdb\"), or even on a floppy disk (\"/dev/fd0\");\n"
+"\n"
+" * \"Delay before booting the default image\": when rebooting the computer,\n"
+"this is the delay granted to the user to choose -- in the bootloader menu,\n"
+"another boot entry than the default one.\n"
+"\n"
+"!! Beware that if you choose not to install a bootloader (by selecting\n"
+"\"Cancel\" here), you must ensure that you have a way to boot your Mandrake\n"
+"Linux system! Also, be sure you know what you do before changing any of the\n"
+"options. !!\n"
+"\n"
+"Clicking the \"Advanced\" button in this dialog will offer many advanced\n"
+"options, which are reserved for the expert user."
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../help.pm_.c:718
msgid ""
-"Display theme\n"
-"under console"
-msgstr ""
-
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on %s)"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM Series"
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "A library which defends against buffer overflow and format string attacks."
-msgstr ""
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "average"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "New printer name"
+"After you have configured the general bootloader parameters, the list of\n"
+"boot options which will be available at boot time will be displayed.\n"
+"\n"
+"If there is another operating system installed on your machine, it will\n"
+"automatically be added to the boot menu. Here, you can choose to fine-tune\n"
+"the existing options. Select an entry and click \"Modify\" to modify or\n"
+"remove it. \"Add\" creates a new entry. and \"Done\" goes on to the next\n"
+"installation step.\n"
+"\n"
+"You may also not want to give access to these other operating systems to\n"
+"anyone. In which case, you can delete the corresponding entries. But then,\n"
+"you will need a boot disk in order to boot those other operating systems!"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
+#: ../../help.pm_.c:732
msgid ""
-"Allow an ordinary user to mount the file system. The\n"
-"name of the mounting user is written to mtab so that he can unmount the file\n"
-"system again. This option implies the options noexec, nosuid, and nodev\n"
-"(unless overridden by subsequent options, as in the option line\n"
-"user,exec,dev,suid )."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Equatorial Guinea"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup System"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Build Backup"
+"You must indicate where you wish to place the information required to boot\n"
+"GNU/Linux.\n"
+"\n"
+"Unless you know exactly what you are doing, choose \"First sector of drive\n"
+"(MBR)\"."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:739
msgid ""
-"To print a file from the command line (terminal window) use the command \"%s <file>\" or \"%s <file>\".\n"
-""
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Currently, no alternative possibility is available"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwertz)"
+"Here, we select a printing system for your computer. Other OSes may offer\n"
+"you one, but Mandrake Linux offers two.\n"
+"\n"
+" * \"pdq\" -- which means ``print, don't queue'', is the choice if you have\n"
+"a direct connection to your printer and you want to be able to panic out of\n"
+"printer jams, and you do not have networked printers. It will handle only\n"
+"very simple network cases and is somewhat slow for networks. Pick \"pdq\"\n"
+"if this is your first voyage to GNU/Linux. You can change your choices\n"
+"after installation by running PrinterDrake from the Mandrake Control Center\n"
+"and clicking the expert button.\n"
+"\n"
+" * \"CUPS\" -- ``Common Unix Printing System'', is excellent at printing to\n"
+"your local printer and also halfway-around the planet. It is simple and can\n"
+"act as a server or a client for the ancient \"lpd\" printing system. Hence,\n"
+"it is compatible with the systems that went before. It can do many tricks,\n"
+"but the basic setup is almost as easy as \"pdq\". If you need this to\n"
+"emulate an \"lpd\" server, you must turn on the \"cups-lpd\" daemon. It has\n"
+"graphical front-ends for printing or choosing printer options."
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:759
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 ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Write Config"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kiribati"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type) with Wheel emulation"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other (not drakbackup) keys in place already"
+"DrakX now detects any IDE device present in your computer. It will also\n"
+"scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented with a list of SCSI cards to choose from. Click \"No\" if you\n"
+"have no SCSI hardware. If you are unsure, you can check the list of\n"
+"hardware detected in your machine by selecting \"See hardware info\" and\n"
+"clicking \"OK\". Examine the hardware list and then click on the \"OK\"\n"
+"button to return to the SCSI interface question.\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\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
+"\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to manually provide options to the driver."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:781
msgid ""
-"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
-"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
-"WindowMaker, etc.) bundled with Mandrake Linux rely upon.\n"
+"You can add additional entries for yaboot, either for other operating\n"
+"systems, alternate kernels, or for an emergency boot image.\n"
"\n"
-"You will be presented with a list of different parameters to change to get\n"
-"an optimal graphical display: Graphic Card\n"
+"For other OSes, the entry consists only of a label and the \"root\"\n"
+"partition.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"For Linux, there are a few possible options:\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs.\n"
+" * Label: this is simply the name you will have to type at the yaboot\n"
+"prompt to select this boot option;\n"
"\n"
+" * Image: this would be the name of the kernel to boot. Typically, vmlinux\n"
+"or a variation of vmlinux with an extension;\n"
"\n"
+" * Root: the \"root\" device or ``/'' for your Linux installation;\n"
"\n"
-"Monitor\n"
+" * Append: on Apple hardware, the kernel append option is used quite often\n"
+"to assist in initializing video hardware, or to enable keyboard mouse\n"
+"button emulation for the often lacking 2nd and 3rd mouse buttons on a stock\n"
+"Apple mouse. The following are some examples:\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer.\n"
+" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
+"hda=autotune\n"
"\n"
+" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
"\n"
+" * Initrd: this option can be used either to load initial modules, before\n"
+"the boot device is available, or to load a ramdisk image for an emergency\n"
+"boot situation;\n"
"\n"
-"Resolution\n"
+" * Initrd-size: the default ramdisk size is generally 4,096 bytes. If you\n"
+"need to allocate a large ramdisk, this option can be used;\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor.\n"
+" * Read-write: normally the \"root\" partition is initially brought up in\n"
+"read-only, to allow a filesystem check before the system becomes ``live''.\n"
+"Here, you can override this option;\n"
"\n"
+" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
+"problematic, you can select this option to boot in ``novideo'' mode, with\n"
+"native frame buffer support;\n"
"\n"
+" * Default: selects this entry as being the default Linux selection,\n"
+"selectable by just pressing ENTER at the yaboot prompt. This entry will\n"
+"also be highlighted with a ``*'', if you press [Tab] to see the boot\n"
+"selections."
+msgstr ""
+
+#: ../../help.pm_.c:828
+msgid ""
+"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able to boot\n"
+"either GNU/Linux, MacOS or MacOSX if present on your computer. Normally,\n"
+"these other operating systems are correctly detected and installed. If this\n"
+"is not the case, you can add an entry by hand in this screen. Be careful to\n"
+"choose the correct parameters.\n"
"\n"
-"Test\n"
+"Yaboot's main options are:\n"
"\n"
-" the system will try to open a graphical screen at the desired\n"
-"resolution. If you can see the message during the test and answer \"%s\",\n"
-"then DrakX will proceed to the next step. If you cannot see the message, it\n"
-"means that some part of the autodetected configuration was incorrect and\n"
-"the test will automatically end after 12 seconds, bringing you back to the\n"
-"menu. Change settings until you get a correct graphical display.\n"
+" * Init Message: a simple text message displayed before the boot prompt;\n"
"\n"
+" * Boot Device: indicates where you want to place the information required\n"
+"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
+"to hold this information;\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"
-"Options\n"
+" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
+"After selecting Linux, you will have this delay in 0.1 second before your\n"
+"default kernel description is selected;\n"
"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Browse"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CDROM"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Do you want to try to connect to the Internet now?"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belgian"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you have an ISA sound card?"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Windows"
-msgstr ""
-
-#: ../../common.pm:1
-#, c-format
-msgid "Can't make screenshots before partitioning"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Name"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/Save _As"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "To get access to printers on remote CUPS servers in your local network you only need to turn on the \"Automatically find available printers on remote machines\" option; the CUPS servers inform your machine automatically about their printers. All printers currently known to your machine are listed in the \"Remote printers\" section in the main window of Printerdrake. If your CUPS server(s) is/are not in your local network, you have to enter the IP address(es) and optionally the port number(s) here to get the printer information from the server(s)."
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s is not in the scanner database, configure it manually?"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Delay before booting default image"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Restrict command line options"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "East Europe"
-msgstr ""
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use free space"
-msgstr ""
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use dhcp"
-msgstr ""
-
-#: ../../standalone/logdrake:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uzbekistan"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected %s"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _printers"
-msgstr ""
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#, c-format
-msgid "Finish"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Show automatically selected packages"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Togo"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "CPU flags reported by the kernel"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Something went wrong! - Is mkisofs installed?"
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "16 MB"
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid ""
-"We're going to add an UPS device.\n"
+" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
+"at the first boot prompt;\n"
"\n"
-"Do you prefer autodetect UPS devices connected to this machine or ?"
-msgstr ""
-
-#: ../../any.pm:1 ../../any.pm:1 ../../install_steps_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Please try again"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The model is correct"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr ""
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Individual package selection"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition is not resizeable"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Location"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable-hrc)"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guatemala"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Journalised FS"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Ethernet cards promiscuity check"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "This machine"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"DOS drive letter: %s (just a guess)\n"
-""
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahrain"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select the files or directories and click on 'OK'"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit scsi modules"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "family of the cpu (eg: 6 for i686 class)"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-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 ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run the daily security checks"
-msgstr ""
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"Keyboard layout: %s\n"
-""
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Here you can choose whether the printers connected to this machine should be accessable by remote machines and by which remote machines."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (US)"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid ""
-"The creation of the boot floppy has been successfully completed \n"
-""
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Tvcard"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "Toggle between normal/expert mode"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Size"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "GRUB"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Greenland"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Thursday"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct tape label. Tape is labelled %s."
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"The setup of Internet Connection Sharing has already been done.\n"
-"It's currently enabled.\n"
+" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
+"Open Firmware at the first boot prompt;\n"
"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Delete All NBIs"
+" * Default OS: you can select which OS will boot by default when the Open\n"
+"Firmware Delay expires."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:860
msgid ""
-"This dialog allows you to fine tune your bootloader:\n"
+"Here are presented various parameters concerning your machine. Depending on\n"
+"your installed hardware, you may (or may not), see the following entries:\n"
"\n"
-" * \"%s\": there are three choices for your bootloader:\n"
+" * \"Mouse\": check the current mouse configuration and click on the button\n"
+"to change it if necessary;\n"
"\n"
-" * \"%s\": if you prefer grub (text menu).\n"
+" * \"Keyboard\": check the current keyboard map configuration and click on\n"
+"the button to change that if necessary;\n"
"\n"
-" * \"%s\": if you prefer LILO with its text menu interface.\n"
+" * \"Timezone\": DrakX, by default, guesses your time zone from the\n"
+"language you have chosen. But here again, as for the choice of a keyboard,\n"
+"you may not be in the country for which the chosen language should\n"
+"correspond. Hence, you may need to click on the \"Timezone\" button in\n"
+"order to configure the clock according to the time zone you are in;\n"
"\n"
-" * \"%s\": if you prefer LILO with its graphical interface.\n"
+" * \"Printer\": clicking on the \"No Printer\" button will open the printer\n"
+"configuration wizard. Consult the correpsonding chapter of the ``Starter\n"
+"Guide'' for more information on how to setup a new printer. The interface\n"
+"presented there is similar to the one used at installation time;\n"
"\n"
-" * \"%s\": in most cases, you will not change the default (\"%s\"), but if\n"
-"you prefer, the bootloader can be installed on the second hard drive\n"
-"(\"%s\"), or even on a floppy disk (\"%s\");\n"
+" * \"Sound card\": if a sound card is detected on your system, it will be\n"
+"displayed here.\n"
"\n"
-" * \"%s\": after a boot or a reboot of the computer, this is the delay\n"
-"given to the user at the console to select a boot entry other than the\n"
-"default.\n"
+" * \"TV card\": if a TV card is detected on your system, it will be\n"
+"displayed here.\n"
"\n"
-"!! Beware that if you choose not to install a bootloader (by selecting\n"
-"\"%s\"), you must ensure that you have a way to boot your Mandrake Linux\n"
-"system! Be sure you know what you are doing before changing any of the\n"
-"options. !!\n"
-"\n"
-"Clicking the \"%s\" button in this dialog will offer advanced options which\n"
-"are normally reserved for the expert user."
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set, send the mail report to this email address else send it to root."
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Which configuration of XFree do you want to have?"
-msgstr ""
-
-#: ../../any.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "More"
+" * \"ISDN card\": if an ISDN card is detected on your system, it will be\n"
+"displayed here. You can click on the button to change the parameters\n"
+"associated to it."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This uses the same syntax as the command line program 'cdrecord'. 'cdrecord -scanbus' would also show you the device number."
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:891
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 can accept\n"
-"connections from many clients. Note: if your machine is only a client on the Internet, you should choose a lower level."
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandrake Linux partition. Be careful, all data present on it will be lost\n"
+"and will not be recoverable!"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Server Name"
+#: ../../help.pm_.c:896
+msgid ""
+"Click on \"OK\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"OK\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to stop this operation without losing any data and\n"
+"partitions present on this hard drive."
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1
+#: ../../install2.pm_.c:111
#, c-format
-msgid "Account Password"
+msgid ""
+"Can't access kernel modules corresponding to your kernel (file %s is "
+"missing), this generally means your boot floppy in not in sync with the "
+"Installation medium (please create a newer boot floppy)"
msgstr ""
-#: ../../standalone/drakhelp:1
+#: ../../install2.pm_.c:167
#, c-format
-msgid ""
-"%s cannot be displayed \n"
-". No Help entry of this type\n"
-""
+msgid "You must also format %s"
msgstr ""
-#: ../../any.pm:1
+#: ../../install_any.pm_.c:423
#, c-format
msgid ""
-"You decided to install the bootloader on a partition.\n"
-"This implies you already have a bootloader on the hard drive you boot (eg: System Commander).\n"
+"You have selected the following server(s): %s\n"
"\n"
-"On which drive are you booting?"
+"\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_interactive.pm:1
+#: ../../install_any.pm_.c:441
#, c-format
msgid ""
-"WARNING!\n"
+"The following packages will be removed to allow upgrading your system: %s\n"
"\n"
-"DrakX will now resize your Windows partition. Be careful: this\n"
-"operation is dangerous. If you have not already done so, you\n"
-"first need to exit the installation, run \"chkdsk c:\" from a\n"
-"Command Prompt under Windows (beware, running graphical program\n"
-"\"scandisk\" is not enough, be sure to use \"chkdsk\" in a\n"
-"Command Prompt!), optionally run defrag, then restart the\n"
-"installation. You should also backup your data.\n"
-"When sure, press Ok."
+"\n"
+"Do you really want to remove these packages?\n"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tajik keyboard"
+#: ../../install_any.pm_.c:471
+msgid "Can't use broadcast with no NIS domain"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../install_any.pm_.c:879
#, c-format
-msgid ""
-"You can copy the printer configuration which you have done for the spooler %s to %s, your current spooler. All the configuration data (printer name, description, location, connection type, and default option settings) is overtaken, but jobs will not be transferred.\n"
-"Not all queues can be transferred due to the following reasons:\n"
-""
+msgid "Insert a FAT formatted floppy in drive %s"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Font List"
+#: ../../install_any.pm_.c:883
+msgid "This floppy is not FAT formatted"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../install_any.pm_.c:895
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 %s,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
+"To use this saved packages selection, boot installation with ``linux "
+"defcfg=floppy''"
msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../install_any.pm_.c:918 ../../partition_table.pm_.c:767
#, c-format
-msgid ""
-"You appear to have an OldWorld or Unknown\n"
-" machine, the yaboot bootloader will not work for you.\n"
-"The install will continue, but you'll\n"
-" need to use BootX or some other means to boot your machine"
+msgid "Error reading file %s"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../install_any.pm_.c:1040
msgid ""
-"RTS/CTS adds a handshake before each packet transmission to make sure that the\n"
-"channel is clear. This adds overhead, but increase performance in case of hidden\n"
-"nodes or large number of active nodes. This parameters set the size of the\n"
-"smallest packet for which the node sends RTS, a value equal to the maximum\n"
-"packet size disable the scheme. You may also set this parameter to auto, fixed\n"
-"or off."
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Select file"
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../install_interactive.pm_.c:21
#, c-format
-msgid "Choose the network or host on which the local printers should be made available:"
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:56
msgid ""
-"These commands you can also use in the \"Printing command\" field of the printing dialogs of many applications, but here do not supply the file name because the file to print is provided by the application.\n"
-""
+"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 ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Japan"
+#: ../../install_interactive.pm_.c:61
+msgid "You must have a swap partition"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print option list"
+#: ../../install_interactive.pm_.c:62
+msgid ""
+"You don't have a swap partition.\n"
+"\n"
+"Continue anyway?"
msgstr ""
-#: ../../standalone/localedrake:1
-#, c-format
-msgid "The change is done, but to be effective you must logout"
+#: ../../install_interactive.pm_.c:65 ../../install_steps.pm_.c:169
+msgid "You must have a FAT partition mounted in /boot/efi"
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Country / Region"
+#: ../../install_interactive.pm_.c:90
+msgid "Use free space"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search servers"
+#: ../../install_interactive.pm_.c:92
+msgid "Not enough free space to allocate new partitions"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP queue name missing!"
+#: ../../install_interactive.pm_.c:100
+msgid "Use existing partitions"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Warning, another internet connection has been detected, maybe using your network"
+#: ../../install_interactive.pm_.c:102
+msgid "There is no existing partition to use"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
+#: ../../install_interactive.pm_.c:109
+msgid "Use the Windows partition for loopback"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
+#: ../../install_interactive.pm_.c:112
+msgid "Which partition do you want to use for Linux4Win?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CDRW media"
+#: ../../install_interactive.pm_.c:114
+msgid "Choose the sizes"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "No new UPS devices was found"
+#: ../../install_interactive.pm_.c:115
+msgid "Root partition size in MB: "
msgstr ""
-#: ../advertising/07-server.pl:1
-#, c-format
-msgid "Turn your computer into a reliable server"
+#: ../../install_interactive.pm_.c:116
+msgid "Swap partition size in MB: "
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check empty password in /etc/shadow"
+#: ../../install_interactive.pm_.c:126
+msgid "Use the free space on the Windows partition"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " (driver %s)"
+#: ../../install_interactive.pm_.c:129
+msgid "Which partition do you want to resize?"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Start when requested"
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing Windows partition"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../install_interactive.pm_.c:134
#, c-format
msgid ""
-"Loopback file(s):\n"
-" %s\n"
-""
-msgstr ""
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "I don't know"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", TCP/IP host \"%s\", port %s"
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occured: %s"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../install_interactive.pm_.c:137
msgid ""
-"You are about to configure an Auto Install floppy. This feature is somewhat dangerous and must be used circumspectly.\n"
-"\n"
-"With that feature, you will be able to replay the installation you've performed on this computer, being interactively prompted for some steps, in order to change their values.\n"
-"\n"
-"For maximum safety, the partitioning and formatting will never be performed automatically, whatever you chose during the install of this computer.\n"
-"\n"
-"Do you want to continue?"
+"Your Windows partition is too fragmented. Please reboot your computer under "
+"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
+"installation."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Telugu"
-msgstr ""
-
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:138
msgid ""
+"WARNING!\n"
"\n"
-"\n"
-"Your card currently use the %s\"%s\" driver (default driver for your card is \"%s\")"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Uninstall"
-msgstr ""
-
-#: ../../standalone/net_monitor:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connecting to Internet "
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid " ("
+"DrakX will now resize your Windows partition. Be careful:\n"
+"this operation is dangerous. If you have not already done\n"
+"so, you should first exit the installation, run scandisk\n"
+"under Windows (and optionally run defrag), then restart the\n"
+"installation. You should also backup your data.\n"
+"When sure, press Ok."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid level"
+#: ../../install_interactive.pm_.c:148
+msgid "Which size do you want to keep for Windows on"
msgstr ""
-#: ../../printer/main.pm:1
+#: ../../install_interactive.pm_.c:149
#, c-format
-msgid "Novell server \"%s\", printer \"%s\""
+msgid "partition %s"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../install_interactive.pm_.c:156
#, c-format
-msgid "Mongolian (cyrillic)"
+msgid "FAT resizing failed: %s"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Add a module"
+#: ../../install_interactive.pm_.c:171
+msgid ""
+"There is no FAT partition to resize or to use as loopback (or not enough "
+"space left)"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Local measure"
+#: ../../install_interactive.pm_.c:177
+msgid "Erase entire disk"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Warning : IP address %s is usually reserved !"
+#: ../../install_interactive.pm_.c:177
+msgid "Remove Windows(TM)"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "busmouse"
+#: ../../install_interactive.pm_.c:180
+msgid "You have more than one hard drive, which one do you install linux on?"
msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../install_interactive.pm_.c:183
#, c-format
-msgid ""
-" - Create Etherboot Enabled Boot Images:\n"
-" \tTo boot a kernel via etherboot, a special kernel/initrd image must be created.\n"
-" \tmkinitrd-net does much of this work and drakTermServ is just a graphical \n"
-" \tinterface to help manage/customize these images. To create the file \n"
-" \t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an include in \n"
-" \tdhcpd.conf, you should create the etherboot images for at least one full kernel."
+msgid "ALL existing partitions and their data will be lost on drive %s"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Login (user name)"
+#: ../../install_interactive.pm_.c:191
+msgid "Custom disk partitioning"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Fdiv bug"
+#: ../../install_interactive.pm_.c:195
+msgid "Use fdisk"
msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../install_interactive.pm_.c:198
#, c-format
msgid ""
-"drakfirewall configurator\n"
-"\n"
-"Make sure you have configured your Network/Internet access with\n"
-"drakconnect before going any further."
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept broadcasted icmp echo"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uruguay"
+"You can now partition %s.\n"
+"When you are done, don't forget to save using `w'"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Benin"
+#: ../../install_interactive.pm_.c:227
+msgid "You don't have enough free space on your Windows partition"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "SMB/Windows server \"%s\", share \"%s\""
+#: ../../install_interactive.pm_.c:243
+msgid "I can't find any room for installing"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path selection"
+#: ../../install_interactive.pm_.c:246
+msgid "The DrakX Partitioning wizard found the following solutions:"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
+#: ../../install_interactive.pm_.c:250
#, c-format
-msgid "Name/IP address of host:"
+msgid "Partitioning failed: %s"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"Monitor: %s\n"
-""
+#: ../../install_interactive.pm_.c:260
+msgid "Bringing up the network"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom & system settings"
+#: ../../install_interactive.pm_.c:265
+msgid "Bringing down the network"
msgstr ""
-#: ../../partition_table/raw.pm:1
-#, c-format
+#: ../../install_steps.pm_.c:76
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, corrupted data."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP missing!"
+"An error occurred, but I don't know how to handle it nicely.\n"
+"Continue at your own risk."
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../install_steps.pm_.c:211
#, c-format
-msgid "Please check all users that you want to include in your backup."
+msgid "Duplicate mount point %s"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps.pm_.c:380
msgid ""
-"The %s must be configured by printerdrake.\n"
-"You can launch printerdrake from the Mandrake Control Center in Hardware section."
-msgstr ""
-
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Key isn't writable"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bangladesh"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (cable)"
-msgstr ""
-
-#: ../../standalone/drakfont:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Initial tests"
+"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 ""
-#: ../../network/isdn.pm:1
+#: ../../install_steps.pm_.c:450
#, c-format
-msgid "Continue"
+msgid "Welcome to %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom Restore"
+#: ../../install_steps.pm_.c:543 ../../install_steps.pm_.c:769
+msgid "No floppy drive available"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_auto_install.pm_.c:76
+#: ../../install_steps_stdio.pm_.c:22
#, c-format
-msgid "Saturday"
+msgid "Entering step `%s'\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:146
msgid ""
-"\"%s\": if a sound card is detected on your system, it is displayed here.\n"
-"If you notice the sound card displayed is not the one that is actually\n"
-"present on your system, you can click on the button and choose another\n"
-"driver."
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the root umask."
-msgstr ""
-
-#: ../../install_any.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "Error reading file %s"
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Script-based"
-msgstr ""
-
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "PLL setting:"
-msgstr ""
-
-#: ../../install_interactive.pm:1 ../../install_steps.pm:1
-#, c-format
-msgid "You must have a FAT partition mounted in /boot/efi"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on "
-msgstr ""
-
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "The URL must begin with http:// or https://"
+"Your system is low on resources. You may have some problem installing\n"
+"Mandrake Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You can specify directly the URI to access the printer. The URI must fulfill either the CUPS or the Foomatic specifications. Note that not all URI types are supported by all the spoolers."
+#: ../../install_steps_gtk.pm_.c:157 ../../install_steps_interactive.pm_.c:237
+msgid "Install Class"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (SunOS...)"
+#: ../../install_steps_gtk.pm_.c:160
+msgid "Please choose one of the following classes of installation:"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Install/Upgrade"
+#: ../../install_steps_gtk.pm_.c:236 ../../install_steps_interactive.pm_.c:683
+msgid "Package Group Selection"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "%d packages"
+#: ../../install_steps_gtk.pm_.c:269 ../../install_steps_interactive.pm_.c:698
+msgid "Individual package selection"
msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:292 ../../install_steps_interactive.pm_.c:621
#, c-format
-msgid "Costa Rica"
+msgid "Total size: %d / %d MB"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
-""
+#: ../../install_steps_gtk.pm_.c:334
+msgid "Bad package"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
+#: ../../install_steps_gtk.pm_.c:335
#, c-format
-msgid "Domain Authentication Required"
+msgid "Name: %s\n"
msgstr ""
-#: ../../security/level.pm:1
+#: ../../install_steps_gtk.pm_.c:336
#, c-format
-msgid "Use libsafe for servers"
+msgid "Version: %s\n"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../install_steps_gtk.pm_.c:337
#, c-format
-msgid "Icelandic"
+msgid "Size: %d KB\n"
msgstr ""
-#: ../../standalone.pm:1
+#: ../../install_steps_gtk.pm_.c:338
#, c-format
-msgid ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--testing] [-v|--version] "
+msgid "Importance: %s\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:360
msgid ""
-"Maximum size\n"
-" allowed for Drakbackup (MB)"
+"You can't select this package as there is not enough space left to install it"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Ad-hoc"
+#: ../../install_steps_gtk.pm_.c:365
+msgid "The following packages are going to be installed"
msgstr ""
-#: ../../loopback.pm:1
-#, c-format
-msgid ""
-"Circular mounts %s\n"
-""
+#: ../../install_steps_gtk.pm_.c:366
+msgid "The following packages are going to be removed"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Connection\n"
-"time: "
+#: ../../install_steps_gtk.pm_.c:378
+msgid "You can't select/unselect this package"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Martinique"
+#: ../../install_steps_gtk.pm_.c:390
+msgid "This is a mandatory package, it can't be unselected"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "HardDrive / NFS"
+#: ../../install_steps_gtk.pm_.c:392
+msgid "You can't unselect this package. It is already installed"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:395
msgid ""
-"Old user list:\n"
-""
-msgstr ""
-
-#: ../../wizards.pm:1
-#, c-format
-msgid "Installation failed"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Search Backups"
+"This package must be upgraded.\n"
+"Are you sure you want to deselect it?"
msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "a number"
+#: ../../install_steps_gtk.pm_.c:398
+msgid "You can't unselect this package. It must be upgraded"
msgstr ""
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
-#, c-format
-msgid "Swedish"
+#: ../../install_steps_gtk.pm_.c:403
+msgid "Show automatically selected packages"
msgstr ""
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Which %s driver should I try?"
+#: ../../install_steps_gtk.pm_.c:404 ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#: ../../standalone/drakbackup_.c:4211
+msgid "Install"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "You will receive an alert if one of the selected services is no longer running"
+#: ../../install_steps_gtk.pm_.c:407
+msgid "Load/Save on floppy"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Weekday"
+#: ../../install_steps_gtk.pm_.c:408
+msgid "Updating package selection"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Filesystem types:"
+#: ../../install_steps_gtk.pm_.c:413
+msgid "Minimal install"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Northern Mariana Islands"
+#: ../../install_steps_gtk.pm_.c:428 ../../install_steps_interactive.pm_.c:529
+msgid "Choose the packages you want to install"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on HP JetDirect"
+#: ../../install_steps_gtk.pm_.c:444 ../../install_steps_interactive.pm_.c:767
+msgid "Installing"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "none"
+#: ../../install_steps_gtk.pm_.c:450
+msgid "Estimating"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Managed"
+#: ../../install_steps_gtk.pm_.c:457
+msgid "Time remaining "
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Floppy"
+#: ../../install_steps_gtk.pm_.c:469
+msgid "Please wait, preparing installation..."
msgstr ""
-#: ../../standalone/drakfont:1
+#: ../../install_steps_gtk.pm_.c:551
#, c-format
-msgid "Ghostscript referencing"
+msgid "%d packages"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../install_steps_gtk.pm_.c:556
#, c-format
-msgid "Bootloader"
+msgid "Installing package %s"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize all services controlled by tcp_wrappers"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+#: ../../standalone/drakautoinst_.c:197
+msgid "Accept"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+msgid "Refuse"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1 ../../help.pm:1
+#: ../../install_steps_gtk.pm_.c:594 ../../install_steps_interactive.pm_.c:792
#, c-format
-msgid "Bootloader to use"
+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 ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server host"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_gtk.pm_.c:612
+#: ../../install_steps_interactive.pm_.c:804
+#: ../../install_steps_interactive.pm_.c:808
+msgid "Go on anyway?"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Name Servers:"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_interactive.pm_.c:804
+msgid "There was an error ordering packages:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Minute"
+#: ../../install_steps_gtk.pm_.c:612 ../../install_steps_interactive.pm_.c:808
+msgid "There was an error installing packages:"
msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:10
msgid ""
"\n"
"Warning\n"
@@ -6075,12088 +3885,8652 @@ msgid ""
"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 ""
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Expert mode"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Micronesia"
-msgstr ""
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "4 billion colors (32 bits)"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Operating Mode"
+#: ../../install_steps_interactive.pm_.c:67
+msgid "An error occurred"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "License"
+#: ../../install_steps_interactive.pm_.c:85
+msgid "Do you really want to leave the installation?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to generate the keys."
+#: ../../install_steps_interactive.pm_.c:112
+msgid "License agreement"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:113
msgid ""
-"Here, you can setup the security level and administrator of your machine.\n"
-"\n"
+"Introduction\n"
"\n"
-"The Security Administrator is the one who will receive security alerts if the\n"
-"'Security Alerts' option is set. It can be a username or an email.\n"
+"The operating system and the different components available in the Mandrake "
+"Linux 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 Mandrake Linux distribution.\n"
"\n"
"\n"
-"The Security Level menu allows you to select one of the six preconfigured security levels\n"
-"provided with msec. These levels range from poor security and ease of use, to\n"
-"paranoid config, suitable for very sensitive server applications:\n"
+"1. License Agreement\n"
"\n"
+"Please read this document carefully. 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"
-"<span foreground=\"royalblue3\">Poor</span>: This is a totally unsafe but very\n"
-"easy to use security level. It should only be used for machines not connected to\n"
-"any network and that are not accessible to everybody.\n"
"\n"
+"2. Limited Warranty\n"
"\n"
-"<span foreground=\"royalblue3\">Standard</span>: This is the standard security\n"
-"recommended for a computer that will be used to connect to the Internet as a\n"
-"client.\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 "
+"occurence 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 Mandrake Linux 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"
-"<span foreground=\"royalblue3\">High</span>: There are already some\n"
-"restrictions, and more automatic checks are run every night.\n"
"\n"
+"3. The GPL License and Related Licenses\n"
"\n"
-"<span foreground=\"royalblue3\">Higher</span>: The security is now high enough\n"
-"to use the system as a server which can accept connections from many clients. If\n"
-"your machine is only a client on the Internet, you should choose a lower level.\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"
-"<span foreground=\"royalblue3\">Paranoid</span>: This is similar to the previous\n"
-"level, but the system is entirely closed and security features are at their\n"
-"maximum"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
-msgstr ""
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using pppoa) usb"
-msgstr ""
-
-#: ../../install_any.pm:1
-#, c-format
-msgid "An error occurred - no valid devices were found on which to create new filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting the printing system at boot time"
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Do you want to start the connection at boot?"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Processor ID"
-msgstr ""
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound trouble shooting"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwerty layout)"
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Add Printer"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
+"4. Intellectual Property Rights\n"
"\n"
-"Drakbackup activities via CD:\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\", \"Mandrake Linux\" and associated logos are trademarks of "
+"MandrakeSoft S.A. \n"
"\n"
-""
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to install the printing system %s on a system running in the %s security level.\n"
"\n"
-"This printing system runs a daemon (background process) which waits for print jobs and handles them. This daemon is also accessable by remote machines through the network and so it is a possible point for attacks. Therefore only a few selected daemons are started by default in this security level.\n"
+"5. Governing Laws \n"
"\n"
-"Do you really want to configure printing on this machine?"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host \"%s\", port %s"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition can't be used for loopback"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File already exists. Use it?"
-msgstr ""
-
-#: ../../standalone/net_monitor:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "received: "
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Alt key"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the list of alternative drivers for this sound card"
+"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 ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway"
+#: ../../install_steps_interactive.pm_.c:197
+msgid "Are you sure you refuse the licence?"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tonga"
+#: ../../install_steps_interactive.pm_.c:217
+#: ../../install_steps_interactive.pm_.c:995
+#: ../../standalone/keyboarddrake_.c:25
+msgid "Keyboard"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tunisia"
+#: ../../install_steps_interactive.pm_.c:218
+msgid "Please choose your keyboard layout."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing"
+#: ../../install_steps_interactive.pm_.c:219
+msgid "Here is the full list of keyboards available"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Click on a device in the left tree in order to display its information here."
+#: ../../install_steps_interactive.pm_.c:237
+msgid "Which installation class do you want?"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid ""
-"We are configuring the \"%s\" UPS from \"%s\".\n"
-"Please fill in its name, its driver and its port."
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Install/Update"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid autologin."
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Is this an install or an update?"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "XawTV isn't installed!"
+#: ../../install_steps_interactive.pm_.c:250
+msgid "Recommended"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include critical files (passwd, group, fstab)"
+#: ../../install_steps_interactive.pm_.c:253
+#: ../../install_steps_interactive.pm_.c:256
+msgid "Expert"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "old static device name used in dev package"
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+msgid "Upgrade"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable the logging of IPv4 strange packets"
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+msgid "Upgrade packages only"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "This label is already used"
+#: ../../install_steps_interactive.pm_.c:282
+msgid "Please choose the type of your mouse."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this computer or connected directly to the network.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on this computer and turn it/them on so that it/they can be auto-detected. Also your network printer(s) must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-detection of only the printers connected to this machine. So turn off the auto-detection of network printers when you don't need it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want to set up your printer(s) now."
+#: ../../install_steps_interactive.pm_.c:288 ../../standalone/mousedrake_.c:52
+msgid "Mouse Port"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek (polytonic)"
+#: ../../install_steps_interactive.pm_.c:289 ../../standalone/mousedrake_.c:53
+msgid "Please choose on which serial port your mouse is connected to."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
+#: ../../install_steps_interactive.pm_.c:297
+msgid "Buttons emulation"
msgstr ""
-#: ../../standalone/livedrake:1
-#, c-format
-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."
+#: ../../install_steps_interactive.pm_.c:299
+msgid "Button 2 Emulation"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use group id for execution"
+#: ../../install_steps_interactive.pm_.c:300
+msgid "Button 3 Emulation"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the default user:"
+#: ../../install_steps_interactive.pm_.c:321
+msgid "Configuring PCMCIA cards..."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Gabon"
+#: ../../install_steps_interactive.pm_.c:321
+msgid "PCMCIA"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Printers on remote CUPS servers do not need to be configured here; these printers will be automatically detected."
+#: ../../install_steps_interactive.pm_.c:328
+msgid "Configuring IDE"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Mandrake Linux can support multiple languages. Select\n"
-"the languages you would like to install. They will be available\n"
-"when your installation is complete and you restart your system."
+#: ../../install_steps_interactive.pm_.c:328
+msgid "IDE"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Directory (or module) to put the backup on this host."
+#: ../../install_steps_interactive.pm_.c:345
+msgid "No partition available"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain"
+#: ../../install_steps_interactive.pm_.c:348
+msgid "Scanning partitions to find mount points"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
+#: ../../install_steps_interactive.pm_.c:356
+msgid "Choose the mount points"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:386
msgid ""
-"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
-"automated. DrakX will analyze the disk boot sector and act according to\n"
-"what it finds there:\n"
-"\n"
-" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
-"boot sector. This way you will be able to load either GNU/Linux or another\n"
-"OS.\n"
-"\n"
-" * if a grub or LILO boot sector is found, it will replace it with a new\n"
-"one.\n"
-"\n"
-"If it cannot make a determination, DrakX will ask you where to place the\n"
-"bootloader."
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 2 (optional)"
+#: ../../install_steps_interactive.pm_.c:395
+msgid "No root partition found to perform an upgrade"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Boot device"
+#: ../../install_steps_interactive.pm_.c:396
+msgid "Root Partition"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "ACL name"
+#: ../../install_steps_interactive.pm_.c:397
+msgid "What is the root partition (/) of your system?"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to resize?"
+#: ../../install_steps_interactive.pm_.c:411
+msgid "You need to reboot for the partition table modifications to take place"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "United States Minor Outlying Islands"
+#: ../../install_steps_interactive.pm_.c:435
+msgid "Choose the partitions you want to format"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Djibouti"
+#: ../../install_steps_interactive.pm_.c:436
+msgid "Check bad blocks?"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "A tool to monitor your logs"
+#: ../../install_steps_interactive.pm_.c:463
+msgid "Formatting partitions"
msgstr ""
-#: ../../printer/data.pm:1
+#: ../../install_steps_interactive.pm_.c:465
#, c-format
-msgid "LPD"
+msgid "Creating and formatting file %s"
msgstr ""
-#: ../../Xconfig/various.pm:1
+#: ../../install_steps_interactive.pm_.c:470
#, c-format
msgid ""
-"Graphics card: %s\n"
-""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can loose data)"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/Set as _Default"
+#: ../../install_steps_interactive.pm_.c:472
+msgid "Not enough swap space to fulfill installation, please add some"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept icmp echo"
+#: ../../install_steps_interactive.pm_.c:479
+msgid "Looking for available packages and rebuilding rpm database..."
msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Yaboot"
+#: ../../install_steps_interactive.pm_.c:480
+msgid "Looking for available packages..."
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series with Wheel emulation"
+#: ../../install_steps_interactive.pm_.c:483
+msgid "Looking at packages already installed..."
msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Extended partition not supported on this platform"
+#: ../../install_steps_interactive.pm_.c:487
+msgid "Finding packages to upgrade..."
msgstr ""
-#: ../../standalone/drakboot:1
+#: ../../install_steps_interactive.pm_.c:505
#, c-format
-msgid "Splash selection"
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%d "
+"> %d)"
msgstr ""
-#: ../../network/isdn.pm:1 ../../network/isdn.pm:1 ../../network/isdn.pm:1 ../../network/isdn.pm:1 ../../network/isdn.pm:1 ../../network/isdn.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "ISDN Configuration"
+#: ../../install_steps_interactive.pm_.c:541
+msgid ""
+"Please choose load or save package selection on floppy.\n"
+"The format is the same as auto_install generated floppies."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "high"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Load from floppy"
msgstr ""
-#: ../../standalone/drakgw:1 ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Save on floppy"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Choose file"
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Loading from floppy"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Summary: "
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Package selection"
msgstr ""
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid "Warning! An existing firewalling configuration has been detected. You may need some manual fixes after installation."
+#: ../../install_steps_interactive.pm_.c:552
+msgid "Insert a floppy containing package selection"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Photo Card Access on \"%s\""
+#: ../../install_steps_interactive.pm_.c:634
+msgid "Selected size is larger than available space"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Daily security check"
+#: ../../install_steps_interactive.pm_.c:649
+msgid "Type of install"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:650
msgid ""
-"Do you want to enable printing on the printers mentioned above or on printers in the local network?\n"
-""
+"You haven't selected any group of packages.\n"
+"Please choose the minimal installation you want:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer default settings"
+#: ../../install_steps_interactive.pm_.c:653
+msgid "With X"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic PS2 Wheel Mouse"
+#: ../../install_steps_interactive.pm_.c:655
+msgid "With basic documentation (recommended!)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the WP flag in the CR0 register of the cpu enforce write proctection at the memory page level, thus enabling the processor to prevent unchecked kernel accesses to user memory (aka this is a bug guard)"
+#: ../../install_steps_interactive.pm_.c:656
+msgid "Truly minimal install (especially no urpmi)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing old printer \"%s\"..."
+#: ../../install_steps_interactive.pm_.c:741
+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 ""
-#: ../../standalone/harddrake2:1
+#: ../../install_steps_interactive.pm_.c:746
#, c-format
-msgid "Select a device !"
+msgid "Cd-Rom labeled \"%s\""
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected server"
+#: ../../install_steps_interactive.pm_.c:767
+msgid "Preparing installation"
msgstr ""
-#: ../../network/adsl.pm:1
+#: ../../install_steps_interactive.pm_.c:776
#, c-format
-msgid "Sagem (using dhcp) usb"
+msgid ""
+"Installing package %s\n"
+"%d%%"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "French Southern Territories"
+#: ../../install_steps_interactive.pm_.c:822
+msgid "Post-install configuration"
msgstr ""
-#: ../../standalone/drakups:1
+#: ../../install_steps_interactive.pm_.c:828
#, c-format
-msgid "Add an UPS device"
+msgid "Please insert the Boot floppy used in drive %s"
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../install_steps_interactive.pm_.c:834
#, c-format
-msgid "the vendor name of the processor"
+msgid "Please insert the Update Modules floppy in drive %s"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:861
msgid ""
-" - Maintain %s:\n"
-" \tFor users to be able to log into the system from a diskless client, their entry in\n"
-" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n"
-" \thelps in this respect by adding or removing system users from this file."
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All data on this partition should be backed-up"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Installing package %s"
+"You now have the opportunity to download updated packages. These packages\n"
+"have been released after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates ?"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking device and configuring HPOJ..."
+#: ../../install_steps_interactive.pm_.c:876
+msgid ""
+"Contacting Mandrake Linux web site to get the list of available mirrors..."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "To have more partitions, please delete one to be able to create an extended partition"
+#: ../../install_steps_interactive.pm_.c:881
+msgid "Choose a mirror from which to get the packages"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Your printer was configured automatically to give you access to the photo card drives from your PC. Now you can access your photo cards using the graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> \"MTools File Manager\") or the command line utilities \"mtools\" (enter \"man mtools\" on the command line for more info). You find the card's file system under the drive letter \"p:\", or subsequent drive letters when you have more than one HP printer with photo card drives. In \"MtoolsFM\" you can switch between drive letters with the field at the upper-right corners of the file lists."
+#: ../../install_steps_interactive.pm_.c:890
+msgid "Contacting the mirror to get the list of available packages..."
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose packages to install"
+#: ../../install_steps_interactive.pm_.c:918
+msgid "Which is your timezone?"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
+#: ../../install_steps_interactive.pm_.c:923
+msgid "Hardware clock set to GMT"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Your system does not have enough space left for installation or upgrade (%d > %d)"
+#: ../../install_steps_interactive.pm_.c:924
+msgid "Automatic time synchronization (using NTP)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Every printer needs a name (for example \"printer\"). The Description and Location fields do not need to be filled in. They are comments for the users."
+#: ../../install_steps_interactive.pm_.c:931
+msgid "NTP Server"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
-"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
-"information on how to setup a new printer. The interface presented there is\n"
-"similar to the one used during installation."
+#: ../../install_steps_interactive.pm_.c:965
+#: ../../install_steps_interactive.pm_.c:972
+msgid "Remote CUPS server"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bhutan"
+#: ../../install_steps_interactive.pm_.c:966
+msgid "No printer"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface"
+#: ../../install_steps_interactive.pm_.c:982
+msgid "Do you have an ISA sound card?"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet failed."
+#: ../../install_steps_interactive.pm_.c:984
+msgid "Run \"sndconfig\" after installation to configure your sound card"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer data..."
+#: ../../install_steps_interactive.pm_.c:986
+msgid "No sound card detected. Try \"harddrake\" after installation"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Korean keyboard"
+#: ../../install_steps_interactive.pm_.c:991 ../../steps.pm_.c:27
+msgid "Summary"
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Not connected"
+#: ../../install_steps_interactive.pm_.c:994
+msgid "Mouse"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "No internet connection configured"
+#: ../../install_steps_interactive.pm_.c:996
+msgid "Timezone"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek"
+#: ../../install_steps_interactive.pm_.c:997
+#: ../../printer/printerdrake.pm_.c:2759 ../../printer/printerdrake.pm_.c:2844
+msgid "Printer"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Kitts and Nevis"
+#: ../../install_steps_interactive.pm_.c:999
+msgid "ISDN card"
msgstr ""
-#: ../../mouse.pm:1 ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse with Wheel emulation"
+#: ../../install_steps_interactive.pm_.c:1003
+#: ../../install_steps_interactive.pm_.c:1009
+msgid "Sound card"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Enable OF Boot?"
+#: ../../install_steps_interactive.pm_.c:1012
+msgid "TV card"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use JFS for partitions smaller than 16MB"
+#: ../../install_steps_interactive.pm_.c:1055
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1084
+msgid "LDAP"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase your RW media (1st Session)"
+#: ../../install_steps_interactive.pm_.c:1056
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1093
+msgid "NIS"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"Monitor VertRefresh: %s\n"
-""
+#: ../../install_steps_interactive.pm_.c:1057
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1101
+#: ../../install_steps_interactive.pm_.c:1107
+msgid "Windows Domain"
msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount point"
+#: ../../install_steps_interactive.pm_.c:1058
+#: ../../install_steps_interactive.pm_.c:1080
+msgid "Local files"
msgstr ""
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid ""
-"An error occurred:\n"
-"%s\n"
-"Try to change some parameters"
+#: ../../install_steps_interactive.pm_.c:1067
+#: ../../install_steps_interactive.pm_.c:1068 ../../steps.pm_.c:24
+msgid "Set root password"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "TCP/IP host \"%s\", port %s"
+#: ../../install_steps_interactive.pm_.c:1069
+msgid "No password"
msgstr ""
-#: ../../standalone/drakperm:1
+#: ../../install_steps_interactive.pm_.c:1074
#, c-format
-msgid "User :"
+msgid "This password is too short (it must be at least %d characters long)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore system"
+#: ../../install_steps_interactive.pm_.c:1080 ../../network/modem.pm_.c:72
+#: ../../standalone/drakconnect_.c:623 ../../standalone/logdrake_.c:144
+msgid "Authentication"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Select the network interface to configure:"
+#: ../../install_steps_interactive.pm_.c:1088
+msgid "Authentication LDAP"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "These are the machines on which the locally connected scanner(s) should be available:"
+#: ../../install_steps_interactive.pm_.c:1089
+msgid "LDAP Base dn"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP end ip"
+#: ../../install_steps_interactive.pm_.c:1090
+msgid "LDAP Server"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Another one"
+#: ../../install_steps_interactive.pm_.c:1096
+msgid "Authentication NIS"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup"
+#: ../../install_steps_interactive.pm_.c:1097
+msgid "NIS Domain"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Colombia"
+#: ../../install_steps_interactive.pm_.c:1098
+msgid "NIS Server"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1104
msgid ""
-"Current configuration of `%s':\n"
-"\n"
-"Network: %s\n"
-"IP address: %s\n"
-"IP attribution: %s\n"
-"Driver: %s"
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play"
+#: ../../install_steps_interactive.pm_.c:1106
+msgid "Authentication Windows Domain"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Reunion"
+#: ../../install_steps_interactive.pm_.c:1108
+msgid "Domain Admin User Name"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Details"
+#: ../../install_steps_interactive.pm_.c:1109
+msgid "Domain Admin Password"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "For security reasons, it will be disconnected now."
+#: ../../install_steps_interactive.pm_.c:1144
+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 ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Synchronization tool"
+#: ../../install_steps_interactive.pm_.c:1160
+msgid "First floppy drive"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking your system..."
+#: ../../install_steps_interactive.pm_.c:1161
+msgid "Second floppy drive"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print"
+#: ../../install_steps_interactive.pm_.c:1162
+#: ../../printer/printerdrake.pm_.c:2397
+msgid "Skip"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:1167
#, c-format
msgid ""
-"Insert the tape with volume label %s\n"
-" in the tape drive device %s"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mongolia"
+"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?\n"
+"%s"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1173
msgid ""
-"Mounted\n"
-""
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Configure CUPS"
+"\n"
+"\n"
+"(WARNING! You're using XFS for your root partition,\n"
+"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
+"because XFS needs a very large driver)."
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Interface"
+#: ../../install_steps_interactive.pm_.c:1181
+msgid "Sorry, no floppy drive available"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Users"
+#: ../../install_steps_interactive.pm_.c:1185
+msgid "Choose the floppy drive you want to use to make the bootdisk"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../install_steps_interactive.pm_.c:1189
#, c-format
-msgid "Bitrate (in b/s)"
+msgid "Insert a floppy in %s"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Encryption key for %s"
+#: ../../install_steps_interactive.pm_.c:1192
+msgid "Creating bootdisk..."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you want to recover your system?"
+#: ../../install_steps_interactive.pm_.c:1199
+msgid "Preparing bootloader..."
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1210
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 ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detected hardware"
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Connected through a serial port or an usb cable"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritius"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Myanmar (Burmese)"
-msgstr ""
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Enabling swap partition %s"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to use as loopback (or not enough space left)"
+"You appear to have an OldWorld or Unknown\n"
+" machine, the yaboot bootloader will not work for you.\n"
+"The install will continue, but you'll\n"
+" need to use BootX to boot your machine"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (old)"
+#: ../../install_steps_interactive.pm_.c:1216
+msgid "Do you want to use aboot?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1219
msgid ""
-"A printer named \"%s\" already exists under %s. \n"
-"Click \"Transfer\" to overwrite it.\n"
-"You can also type a new name or skip this printer."
-msgstr ""
-
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid "Find the solutions of your problems via MandrakeSoft's online support platform."
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", host \"%s\", port %s"
+#: ../../install_steps_interactive.pm_.c:1226
+msgid "Installing bootloader"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Monaco"
+#: ../../install_steps_interactive.pm_.c:1232
+msgid "Installation of bootloader failed. The following error occured:"
msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../install_steps_interactive.pm_.c:1240
#, c-format
msgid ""
-" - Create etherboot floppies/CDs:\n"
-" \tThe diskless client machines need either ROM images on the NIC, or a boot floppy\n"
-" \tor CD to initate the boot sequence. drakTermServ will help generate these\n"
-" \timages, based on the NIC in the client machine.\n"
-" \t\t\n"
-" \tA basic example of creating a boot floppy for a 3Com 3c509 manually:\n"
-" \t\t\n"
-" \tcat /usr/lib/etherboot/floppyload.bin \\\n"
-" \t\t/usr/share/etherboot/start16.bin \\\t\t\t\n"
-" \t\t/usr/lib/etherboot/zimg/3c509.zimg > /dev/fd0"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr ""
-
-#: ../../fs.pm:1 ../../fs.pm:1 ../../fs.pm:1 ../../fs.pm:1 ../../fs.pm:1 ../../fs.pm:1 ../../swap.pm:1
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Canada (cable)"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Floppy creation completed"
+"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 %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1
+#: ../../install_steps_interactive.pm_.c:1274
+#: ../../standalone/drakautoinst_.c:76
#, c-format
-msgid "Upgrade"
+msgid "Insert a blank floppy in drive %s"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Workstation"
+#: ../../install_steps_interactive.pm_.c:1278
+msgid "Creating auto install floppy..."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1289
msgid ""
-"Installing package %s\n"
-"%d%%"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kyrgyzstan"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on USB"
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
+#: ../../install_steps_interactive.pm_.c:1300
#, c-format
msgid ""
-"We didn't detect any USB key on your system. If you\n"
-"plug in an USB key now, Mandrake Move will have the ability\n"
-"to transparently save the data in your home directory and\n"
-"system wide configuration, for next boot on this computer\n"
-"or another one. Note: if you plug in a key now, wait several\n"
-"seconds before detecting again.\n"
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press return to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandrake "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
"\n"
"\n"
-"You may also proceed without an USB key - you'll still be\n"
-"able to use Mandrake Move as a normal live Mandrake\n"
-"Operating System."
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandrake Linux User's Guide."
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "With basic documentation"
+#: ../../install_steps_interactive.pm_.c:1313
+msgid "http://www.mandrakelinux.com/en/90errata.php3"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Anacron is a periodic command scheduler."
+#: ../../install_steps_interactive.pm_.c:1318
+msgid "Generate auto install floppy"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1320
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 ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Western Sahara"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Proxy should be http://..."
-msgstr ""
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "South Africa"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Eject tape after the backup"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot Floppy/ISO"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Modify printer configuration"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose a partition"
+"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 ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Edit current rule"
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Automated"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s"
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Replay"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Average"
+#: ../../install_steps_interactive.pm_.c:1328
+msgid "Save packages selection"
msgstr ""
-#: ../../mouse.pm:1
+#: ../../install_steps_newt.pm_.c:20
#, c-format
-msgid "Please test the mouse"
+msgid "Mandrake Linux Installation %s"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
+#. -PO This string must fit in a 80-char wide text screen
+#: ../../install_steps_newt.pm_.c:33
msgid ""
-"Do not update inode access times on this file system\n"
-"(e.g, for faster access on the news spool to speed up news servers)."
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons with Wheel emulation"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Sticky-bit"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other Media"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Sector"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Qatar"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Base dn"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't select this package as there is not enough space left to install it"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "generate auto-install floppy"
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Dialing mode"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-msgid "File sharing"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "The alert wizard had unexpectly failled:"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Clean /tmp at each boot"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Malawi"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: false"
-msgstr ""
-
-#: ../../scanner.pm:1
-#, c-format
-msgid "Could not set permissions of firmware file %s!"
+" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "System settings"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your type of mouse."
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-msgid "running"
+#: ../../interactive.pm_.c:87
+msgid "kdesu missing"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "class of hardware device"
+#: ../../interactive.pm_.c:89 ../../interactive.pm_.c:100
+msgid "consolehelper missing"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "These are the machines and networks on which the locally connected printer(s) should be available:"
+#: ../../interactive.pm_.c:152
+msgid "Choose a file"
msgstr ""
-#: ../../lang.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "United Kingdom"
+#: ../../interactive.pm_.c:318
+msgid "Advanced"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Indonesia"
+#: ../../interactive.pm_.c:319 ../../security/main.pm_.c:117
+msgid "Basic"
msgstr ""
-#: ../../standalone/draksec:1 ../../standalone/draksec:1
-#, c-format
-msgid "default"
+#: ../../interactive/newt.pm_.c:194 ../../my_gtk.pm_.c:158
+#: ../../printer/printerdrake.pm_.c:2055 ../../ugtk2.pm_.c:434
+msgid "<- Previous"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "France [SECAM]"
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../standalone/drakbackup_.c:4060 ../../standalone/drakbackup_.c:4087
+#: ../../standalone/drakbackup_.c:4117 ../../standalone/drakbackup_.c:4143
+msgid "Next"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "restrict"
+#: ../../interactive/stdio.pm_.c:29 ../../interactive/stdio.pm_.c:149
+msgid "Bad choice, try again\n"
msgstr ""
-#: ../../pkgs.pm:1
+#: ../../interactive/stdio.pm_.c:30 ../../interactive/stdio.pm_.c:150
#, c-format
-msgid "must have"
+msgid "Your choice? (default %s) "
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../interactive/stdio.pm_.c:54
#, c-format
msgid ""
-"CUPS does not support printers on Novell servers or printers sending the data into a free-formed command.\n"
-""
+"Entries you'll have to fill:\n"
+"%s"
msgstr ""
-#: ../../lang.pm:1
+#: ../../interactive/stdio.pm_.c:70
#, c-format
-msgid "Senegal"
+msgid "Your choice? (0/1, default `%s') "
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../interactive/stdio.pm_.c:95
#, c-format
-msgid "Command line"
+msgid "Button `%s': %s"
msgstr ""
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid "Our full range of Linux solutions, as well as special offers on products and other \"goodies\", are available on our e-store:"
+#: ../../interactive/stdio.pm_.c:96
+msgid "Do you want to click on this button?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "March"
+#: ../../interactive/stdio.pm_.c:105
+msgid " enter `void' for void entry"
msgstr ""
-#: ../../any.pm:1
+#: ../../interactive/stdio.pm_.c:105
#, c-format
-msgid "access to administrative files"
+msgid "Your choice? (default `%s'%s) "
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../interactive/stdio.pm_.c:123
#, c-format
-msgid ""
-"Error during sendmail.\n"
-" Your report mail was not sent.\n"
-" Please configure sendmail"
+msgid "=> There are many things to choose from (%s).\n"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
+#: ../../interactive/stdio.pm_.c:126
msgid ""
-"Do not allow set-user-identifier or set-group-identifier\n"
-"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
-"have suidperl(1) installed.)"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Montserrat"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic dependencies"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Swap"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom settings"
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
+#: ../../interactive/stdio.pm_.c:139
#, c-format
msgid ""
-"The USB key seems to have write protection enabled, but we can't safely\n"
-"unplug it now.\n"
-"\n"
-"\n"
-"Click the button to reboot the machine, unplug it, remove write protection,\n"
-"plug the key again, and launch Mandrake Move again."
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Other"
-msgstr ""
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "TV card"
+"=> Notice, a label changed:\n"
+"%s"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on SMB/Windows 95/98/NT server"
+#: ../../interactive/stdio.pm_.c:146
+msgid "Re-submit"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Configure CUPS"
+#: ../../keyboard.pm_.c:153 ../../keyboard.pm_.c:188
+msgid "Czech (QWERTZ)"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ", "
+#: ../../keyboard.pm_.c:154 ../../keyboard.pm_.c:190
+msgid "German"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit lspci"
+#: ../../keyboard.pm_.c:155
+msgid "Dvorak"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected host/network"
+#: ../../keyboard.pm_.c:156 ../../keyboard.pm_.c:198
+msgid "Spanish"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Postfix is a Mail Transport Agent, which is the program that moves mail from one machine to another."
+#: ../../keyboard.pm_.c:157 ../../keyboard.pm_.c:199
+msgid "Finnish"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Uzbek (cyrillic)"
+#: ../../keyboard.pm_.c:158 ../../keyboard.pm_.c:200
+msgid "French"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid ""
-"Here you can choose the key or key combination that will \n"
-"allow switching between the different keyboard layouts\n"
-"(eg: latin and non latin)"
+#: ../../keyboard.pm_.c:159 ../../keyboard.pm_.c:233
+msgid "Norwegian"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Network Hotplugging"
+#: ../../keyboard.pm_.c:160
+msgid "Polish"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, reports check result to tty."
+#: ../../keyboard.pm_.c:161 ../../keyboard.pm_.c:241
+msgid "Russian"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From CD"
+#: ../../keyboard.pm_.c:163 ../../keyboard.pm_.c:243
+msgid "Swedish"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-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"
-"Make sure you have configured your Network/Internet access using drakconnect before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network (LAN)."
+#: ../../keyboard.pm_.c:164 ../../keyboard.pm_.c:259
+msgid "UK keyboard"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Please choose which network adapter you want to use to connect to Internet."
+#: ../../keyboard.pm_.c:165 ../../keyboard.pm_.c:260
+msgid "US keyboard"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo memory card access on your HP multi-function device"
+#: ../../keyboard.pm_.c:167
+msgid "Albanian"
msgstr ""
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid "Enhance your computer performance with the help of a selection of partners offering professional solutions compatible with Mandrake Linux"
+#: ../../keyboard.pm_.c:168
+msgid "Armenian (old)"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Authors: "
+#: ../../keyboard.pm_.c:169
+msgid "Armenian (typewriter)"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now disabled."
+#: ../../keyboard.pm_.c:170
+msgid "Armenian (phonetic)"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "About DrakUPS"
+#: ../../keyboard.pm_.c:175
+msgid "Azerbaidjani (latin)"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, verify checksum of the suid/sgid files."
+#: ../../keyboard.pm_.c:177
+msgid "Belgian"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latin American"
+#: ../../keyboard.pm_.c:178
+msgid "Bengali"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Japanese text printing mode"
+#: ../../keyboard.pm_.c:179
+msgid "Bulgarian (phonetic)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Old device file"
+#: ../../keyboard.pm_.c:180
+msgid "Bulgarian (BDS)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Info: "
+#: ../../keyboard.pm_.c:181
+msgid "Brazilian (ABNT-2)"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Button `%s': %s"
+#: ../../keyboard.pm_.c:184
+msgid "Bosnian"
msgstr ""
-#: ../../any.pm:1 ../../interactive.pm:1 ../../harddrake/sound.pm:1 ../../standalone/drakbug:1 ../../standalone/drakconnect:1 ../../standalone/drakups:1 ../../standalone/drakxtv:1 ../../standalone/harddrake2:1 ../../standalone/service_harddrake:1
-#, c-format
-msgid "Please wait"
+#: ../../keyboard.pm_.c:185
+msgid "Belarusian"
msgstr ""
-#: ../../mouse.pm:1 ../../mouse.pm:1
-#, c-format
-msgid "Genius NetMouse"
+#: ../../keyboard.pm_.c:186
+msgid "Swiss (German layout)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "None"
+#: ../../keyboard.pm_.c:187
+msgid "Swiss (French layout)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The entered IP is not correct.\n"
-""
+#: ../../keyboard.pm_.c:189
+msgid "Czech (QWERTY)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please be sure that the cron daemon is included in your services."
+#: ../../keyboard.pm_.c:191
+msgid "German (no dead keys)"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Ethernet Card"
+#: ../../keyboard.pm_.c:192
+msgid "Devanagari"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Delete selected printer"
+#: ../../keyboard.pm_.c:193
+msgid "Danish"
msgstr ""
-#: ../../services.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Info"
+#: ../../keyboard.pm_.c:194
+msgid "Dvorak (US)"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"An error occured while deleting the \"%s\" network interface:\n"
-"\n"
-"%s"
+#: ../../keyboard.pm_.c:195
+msgid "Dvorak (Norwegian)"
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Install"
+#: ../../keyboard.pm_.c:196
+msgid "Dvorak (Swedish)"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Click on \"%s\" if you want to delete all data and partitions present on\n"
-"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
-"to recover any data and partitions present on this hard drive, including\n"
-"any Windows data.\n"
-"\n"
-"Click on \"%s\" to stop this operation without losing any data and\n"
-"partitions present on this hard drive."
+#: ../../keyboard.pm_.c:197
+msgid "Estonian"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Exit install"
+#: ../../keyboard.pm_.c:201
+msgid "Georgian (\"Russian\" layout)"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Need a key to save your data"
+#: ../../keyboard.pm_.c:202
+msgid "Georgian (\"Latin\" layout)"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-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)."
+#: ../../keyboard.pm_.c:203
+msgid "Greek"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Remote CUPS server"
+#: ../../keyboard.pm_.c:204
+msgid "Gujarati"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Sun - Mouse"
+#: ../../keyboard.pm_.c:205
+msgid "Gurmukhi"
msgstr ""
-#: ../../standalone/drakgw:1
-#, 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."
+#: ../../keyboard.pm_.c:206
+msgid "Hungarian"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit cpuinfo"
+#: ../../keyboard.pm_.c:207
+msgid "Croatian"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Minimal install"
+#: ../../keyboard.pm_.c:208
+msgid "Israeli"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Ethiopia"
+#: ../../keyboard.pm_.c:209
+msgid "Israeli (Phonetic)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "YES"
+#: ../../keyboard.pm_.c:210
+msgid "Iranian"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable \"crontab\" and \"at\" for users"
+#: ../../keyboard.pm_.c:211
+msgid "Icelandic"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Devanagari"
+#: ../../keyboard.pm_.c:212
+msgid "Italian"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"- pci devices: this gives the PCI slot, device and function of this card\n"
-"- eide devices: the device is either a slave or a master device\n"
-"- scsi devices: the scsi bus and the scsi device ids"
+#: ../../keyboard.pm_.c:213
+msgid "Inuktitut"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Total size: %d / %d MB"
+#: ../../keyboard.pm_.c:214
+msgid "Japanese 106 keys"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "disabled"
+#: ../../keyboard.pm_.c:217
+msgid "Korean keyboard"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Search for new scanners"
+#: ../../keyboard.pm_.c:218
+msgid "Latin American"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Disabling servers..."
+#: ../../keyboard.pm_.c:219
+msgid "Laotian"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Installation of %s failed. The following error occured:"
+#: ../../keyboard.pm_.c:220
+msgid "Lithuanian AZERTY (old)"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
+#: ../../keyboard.pm_.c:222
+msgid "Lithuanian AZERTY (new)"
msgstr ""
-#: ../../install_any.pm:1
-#, 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 ones could be found. In that case, you must make sure\n"
-"to upgrade as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-""
+#: ../../keyboard.pm_.c:223
+msgid "Lithuanian \"number row\" QWERTY"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network printer (TCP/Socket)"
+#: ../../keyboard.pm_.c:224
+msgid "Lithuanian \"phonetic\" QWERTY"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup User files..."
+#: ../../keyboard.pm_.c:225
+msgid "Latvian"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install system"
+#: ../../keyboard.pm_.c:226
+msgid "Malayalam"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "First DNS Server (optional)"
+#: ../../keyboard.pm_.c:227
+msgid "Macedonian"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternatively, you can specify a device name/file name in the input line"
+#: ../../keyboard.pm_.c:228
+msgid "Myanmar (Burmese)"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
-"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
-"symlink /etc/security/msec/server to point to\n"
-"/etc/security/msec/server.<SERVER_LEVEL>.\n"
-"\n"
-"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
-"add a service if it is present in the file during the installation of\n"
-"packages."
+#: ../../keyboard.pm_.c:229
+msgid "Mongolian (cyrillic)"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian (Phonetic)"
+#: ../../keyboard.pm_.c:230
+msgid "Maltese (UK)"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Config..."
+#: ../../keyboard.pm_.c:231
+msgid "Maltese (US)"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "LILO/grub Installation"
+#: ../../keyboard.pm_.c:232
+msgid "Dutch"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli"
+#: ../../keyboard.pm_.c:234
+msgid "Polish (qwerty layout)"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on server \"%s\""
+#: ../../keyboard.pm_.c:235
+msgid "Polish (qwertz layout)"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Floppy can be removed now"
+#: ../../keyboard.pm_.c:236
+msgid "Portuguese"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Truly minimal install"
+#: ../../keyboard.pm_.c:237
+msgid "Canadian (Quebec)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Denmark"
+#: ../../keyboard.pm_.c:239
+msgid "Romanian (qwertz)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving partition..."
+#: ../../keyboard.pm_.c:240
+msgid "Romanian (qwerty)"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "(This) DHCP Server IP"
+#: ../../keyboard.pm_.c:242
+msgid "Russian (Yawerty)"
msgstr ""
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Test of the configuration"
+#: ../../keyboard.pm_.c:244
+msgid "Slovenian"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing %s ..."
+#: ../../keyboard.pm_.c:245
+msgid "Slovakian (QWERTZ)"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"If you told the installer that you wanted to individually select packages,\n"
-"it will present a tree containing all packages classified by groups and\n"
-"subgroups. While browsing the tree, you can select entire groups,\n"
-"subgroups, or individual packages.\n"
-"\n"
-"Whenever you select a package on the tree, a description appears on the\n"
-"right to let you know the purpose of the package.\n"
-"\n"
-"!! If a server package has been selected, either because you specifically\n"
-"chose the individual package or because it was part of a group of packages,\n"
-"you will be asked to confirm that you really want those servers to be\n"
-"installed. By default Mandrake Linux will automatically start any installed\n"
-"services at boot time. Even if they are safe and have no known issues at\n"
-"the time the distribution was shipped, it is entirely possible that that\n"
-"security holes were discovered after this version of Mandrake Linux was\n"
-"finalized. If you do not know what a particular service is supposed to do\n"
-"or why it is being installed, then click \"%s\". Clicking \"%s\" will\n"
-"install the listed services and they will be started automatically by\n"
-"default during boot. !!\n"
-"\n"
-"The \"%s\" option is used to disable the warning dialog which appears\n"
-"whenever the installer automatically selects a package to resolve a\n"
-"dependency issue. Some packages have relationships between each other such\n"
-"that installation of a package requires that some other program is also\n"
-"rerquired to be installed. The installer can determine which packages are\n"
-"required to satisfy a dependency to successfully complete the installation.\n"
-"\n"
-"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
-"package list created during a previous installation. This is useful if you\n"
-"have a number of machines that you wish to configure identically. Clicking\n"
-"on this icon will ask you to insert a floppy disk previously created at the\n"
-"end of another installation. See the second tip of last step on how to\n"
-"create such a floppy."
+#: ../../keyboard.pm_.c:246
+msgid "Slovakian (QWERTY)"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Port:"
+#: ../../keyboard.pm_.c:248
+msgid "Serbian (cyrillic)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose your filesystem encryption key"
+#: ../../keyboard.pm_.c:250
+msgid "Tamil (Unicode)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Sierra Leone"
+#: ../../keyboard.pm_.c:251
+msgid "Tamil (TSCII)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Botswana"
+#: ../../keyboard.pm_.c:252
+msgid "Thai keyboard"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Andorra"
+#: ../../keyboard.pm_.c:254
+msgid "Tajik keyboard"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "(default value: %s)"
+#: ../../keyboard.pm_.c:255
+msgid "Turkish (traditional \"F\" model)"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+#: ../../keyboard.pm_.c:256
+msgid "Turkish (modern \"Q\" model)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (Letter)"
+#: ../../keyboard.pm_.c:258
+msgid "Ukrainian"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"DHCP Server Configuration.\n"
-"\n"
-"Here you can select different options for the DHCP server configuration.\n"
-"If you don't know the meaning of an option, simply leave it as it is.\n"
-"\n"
-""
+#: ../../keyboard.pm_.c:261
+msgid "US keyboard (international)"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Choose an X server"
+#: ../../keyboard.pm_.c:262
+msgid "Vietnamese \"numeric row\" QWERTY"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/tree/mdk_totem:1
-#, c-format
-msgid "Copying to memory to allow removing the CDROM"
+#: ../../keyboard.pm_.c:263
+msgid "Yugoslavian (latin)"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Swap partition size in MB: "
+#: ../../keyboard.pm_.c:270
+msgid "Right Alt key"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No changes to backup!"
+#: ../../keyboard.pm_.c:271
+msgid "Both Shift keys simultaneously"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Formatted\n"
-""
+#: ../../keyboard.pm_.c:272
+msgid "Control and Shift keys simultaneously"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Type of install"
+#: ../../keyboard.pm_.c:273
+msgid "CapsLock key"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on SMB/Windows server \"%s\""
+#: ../../keyboard.pm_.c:274
+msgid "Ctrl and Alt keys simultaneously"
msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated numbers"
+#: ../../keyboard.pm_.c:275
+msgid "Alt and Shift keys simultaneously"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
+#: ../../keyboard.pm_.c:276
+msgid "\"Menu\" key"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Automatic Steps Configuration"
+#: ../../keyboard.pm_.c:277
+msgid "Left \"Windows\" key"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Barbados"
+#: ../../keyboard.pm_.c:278
+msgid "Right \"Windows\" key"
msgstr ""
-#: ../advertising/02-community.pl:1
+#: ../../loopback.pm_.c:32
#, c-format
-msgid "Want to know more and to contribute to the Open Source community? Get involved in the Free Software world!"
+msgid "Circular mounts %s\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select data to backup..."
+#: ../../lvm.pm_.c:103
+msgid "Remove the logical volumes first\n"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
+#: ../../modules.pm_.c:290
msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
+"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received"
+#: ../../modules/interactive.pm_.c:16
+msgid "You can configure each parameter of the module here."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable su only from the wheel group members or for any user"
+#: ../../modules/parameters.pm_.c:18
+msgid "modinfo is not available"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_New"
+#: ../../modules/parameters.pm_.c:50
+msgid "a number"
msgstr ""
-#: ../../standalone/drakgw:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "The DNS Server IP"
+msgid "%d comma separated numbers"
msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "IP Range End:"
+msgid "%d comma separated strings"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "High"
+#: ../../modules/parameters.pm_.c:54
+msgid "comma separated numbers"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Add a new printer to the system"
+#: ../../modules/parameters.pm_.c:54
+msgid "comma separated strings"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "NoVideo"
+#: ../../mouse.pm_.c:25
+msgid "Sun - Mouse"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "this field describes the device"
+#: ../../mouse.pm_.c:32
+msgid "Logitech MouseMan+"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
+#: ../../mouse.pm_.c:33
+msgid "Generic PS2 Wheel Mouse"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printers"
+#: ../../mouse.pm_.c:34
+msgid "GlidePoint"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation image directory"
+#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:65
+msgid "Kensington Thinking Mouse"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Server"
+#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:61
+msgid "Genius NetMouse"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Port: %s"
+#: ../../mouse.pm_.c:38
+msgid "Genius NetScroll"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Spain"
+#: ../../mouse.pm_.c:39 ../../mouse.pm_.c:48
+msgid "Microsoft Explorer"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: %s"
+#: ../../mouse.pm_.c:44 ../../mouse.pm_.c:70
+msgid "1 button"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "This user name has already been added"
+#: ../../mouse.pm_.c:45 ../../mouse.pm_.c:53
+msgid "Generic 2 Button Mouse"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "To do so, you need to supply the firmware file for your scanner so that it can be installed."
+#: ../../mouse.pm_.c:47
+msgid "Wheel"
msgstr ""
-#: ../../interactive.pm:1
-#, c-format
-msgid "Choose a file"
+#: ../../mouse.pm_.c:51
+msgid "serial"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Apply"
+#: ../../mouse.pm_.c:54
+msgid "Generic 3 Button Mouse"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Auto-detect available ports"
+#: ../../mouse.pm_.c:55
+msgid "Microsoft IntelliMouse"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "San Marino"
+#: ../../mouse.pm_.c:56
+msgid "Logitech MouseMan"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently disabled"
+#: ../../mouse.pm_.c:57
+msgid "Mouse Systems"
msgstr ""
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Belgium"
+#: ../../mouse.pm_.c:59
+msgid "Logitech CC Series"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid ""
-"The current security level is %s.\n"
-"Select permissions to see/edit"
+#: ../../mouse.pm_.c:60
+msgid "Logitech MouseMan+/FirstMouse+"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kuwait"
+#: ../../mouse.pm_.c:62
+msgid "MM Series"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the window manager to run:"
+#: ../../mouse.pm_.c:63
+msgid "MM HitTablet"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "December"
+#: ../../mouse.pm_.c:64
+msgid "Logitech Mouse (serial, old C7 type)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "sub generation of the cpu"
+#: ../../mouse.pm_.c:68
+msgid "busmouse"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "First Time Wizard"
+#: ../../mouse.pm_.c:71
+msgid "2 buttons"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Taiwan"
+#: ../../mouse.pm_.c:72
+msgid "3 buttons"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Pakistan"
+#: ../../mouse.pm_.c:75
+msgid "none"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "please wait, parsing file: %s"
+#: ../../mouse.pm_.c:77
+msgid "No mouse"
msgstr ""
-#: ../../install_steps.pm:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
+#: ../../mouse.pm_.c:490
+msgid "Please test the mouse"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Importance: "
+#: ../../mouse.pm_.c:491
+msgid "To activate the mouse,"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "To be able to print with your Lexmark inkjet and this configuration, you need the inkjet printer drivers provided by Lexmark (http://www.lexmark.com/). Click on the \"Drivers\" link. Then choose your model and afterwards \"Linux\" as operating system. The drivers come as RPM packages or shell scripts with interactive graphical installation. You do not need to do this configuration by the graphical frontends. Cancel directly after the license agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and adjust the head alignment settings with this program."
+#: ../../mouse.pm_.c:492
+msgid "MOVE YOUR WHEEL!"
msgstr ""
-#: ../../standalone/drakperm:1 ../../standalone/drakperm:1
-#, c-format
-msgid "Permissions"
+#: ../../my_gtk.pm_.c:65
+msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider name (ex provider.net)"
+#: ../../my_gtk.pm_.c:159 ../../ugtk2.pm_.c:435
+msgid "Finish"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid ""
-"Your system is low on resources. You may have some problem installing\n"
-"Mandrake Linux. If that occurs, you can try a text install instead. For this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
+#: ../../my_gtk.pm_.c:159 ../../printer/printerdrake.pm_.c:2057
+#: ../../ugtk2.pm_.c:435
+msgid "Next ->"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use the Windows partition for loopback"
+#: ../../my_gtk.pm_.c:287 ../../ugtk2.pm_.c:926
+msgid "Is this correct?"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (typewriter)"
+#: ../../my_gtk.pm_.c:359 ../../services.pm_.c:227 ../../ugtk2.pm_.c:1011
+msgid "Info"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Floppy Disk"
+#: ../../my_gtk.pm_.c:380 ../../ugtk2.pm_.c:1036
+msgid "Expand Tree"
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection type: "
+#: ../../my_gtk.pm_.c:381 ../../ugtk2.pm_.c:1037
+msgid "Collapse Tree"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Graphical interface"
+#: ../../my_gtk.pm_.c:382 ../../ugtk2.pm_.c:1038
+msgid "Toggle between flat and group sorted"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Chad"
+#: ../../network/adsl.pm_.c:23
+msgid "use pppoe"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "India"
+#: ../../network/adsl.pm_.c:24
+msgid "use pptp"
msgstr ""
-#: ../../Xconfig/card.pm:1 ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
+#: ../../network/adsl.pm_.c:25
+msgid "use dhcp"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovakia"
+#: ../../network/adsl.pm_.c:26
+msgid "Alcatel speedtouch usb"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Singapore"
+#: ../../network/adsl.pm_.c:27
+msgid "Sagem (using pppoe) usb"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cambodia"
+#: ../../network/adsl.pm_.c:29 ../../network/ethernet.pm_.c:36
+msgid "Connect to the Internet"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../network/adsl.pm_.c:30
msgid ""
-"Monitor HorizSync: %s\n"
-""
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Interval cron not available as non-root"
+"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 ""
-#: ../../standalone/drakperm:1 ../../standalone/drakperm:1
-#, c-format
-msgid "Path"
+#: ../../network/adsl.pm_.c:166
+msgid ""
+"You need the alcatel microcode.\n"
+"Download it at\n"
+"http://www.speedtouchdsl.com/dvrreg_lx.htm\n"
+"and copy the mgmt.o in /usr/share/speedtouch"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "NOT FOUND"
+#: ../../network/drakfirewall.pm_.c:12
+msgid "Web Server"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Here you can specify any arbitrary command line into which the job should be piped instead of being sent directly to a printer."
+#: ../../network/drakfirewall.pm_.c:17
+msgid "Domain Name Server"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printing system (%s) will not be started automatically when the machine is booted.\n"
-"\n"
-"It is possible that the automatic starting was turned off by changing to a higher security level, because the printing system is a potential point for attacks.\n"
-"\n"
-"Do you want to have the automatic starting of the printing system turned on again?"
+#: ../../network/drakfirewall.pm_.c:32
+msgid "Mail Server"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Printer %s\n"
-"What do you want to modify on this printer?"
+#: ../../network/drakfirewall.pm_.c:37
+msgid "POP and IMAP Server"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add host"
+#: ../../network/drakfirewall.pm_.c:111
+msgid "No network card"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:129
msgid ""
-"If you really think that you know which driver is the right one for your card\n"
-"you can pick one in the above list.\n"
+"drakfirewall configurator\n"
"\n"
-"The current driver for your \"%s\" sound card is \"%s\" "
+"This configures a personal firewall for this Mandrake Linux machine.\n"
+"For a powerful dedicated firewall solution, please look to the\n"
+"specialized MandrakeSecurity Firewall distribution."
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:135
msgid ""
-"Would you like to allow users to share some of their directories?\n"
-"Allowing this will permit users to simply click on \"Share\" in konqueror and nautilus.\n"
+"drakfirewall configurator\n"
"\n"
-"\"Custom\" permit a per-user granularity.\n"
-""
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Please choose load or save package selection on floppy.\n"
-"The format is the same as auto_install generated floppies."
+"Make sure you have configured your Network/Internet access with\n"
+"drakconnect before going any further."
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/tree/mdk_totem:1
-#, c-format
-msgid "No CDROM support"
+#: ../../network/drakfirewall.pm_.c:152
+msgid "Which services would you like to allow the Internet to connect to?"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Wireless connection"
+#: ../../network/drakfirewall.pm_.c:153
+msgid ""
+"You can enter miscellaneous ports. \n"
+"Valid examples are: 139/tcp 139/udp.\n"
+"Have a look at /etc/services for information."
msgstr ""
-#: ../../standalone/drakxtv:1
+#: ../../network/drakfirewall.pm_.c:159
#, c-format
-msgid "China (broadcast)"
+msgid ""
+"Invalid port given: %s.\n"
+"The proper format is \"port/tcp\" or \"port/udp\", \n"
+"where port is between 1 and 65535."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use quota for backup files."
+#: ../../network/drakfirewall.pm_.c:167
+msgid "Everything (no firewall)"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer \"%s\"..."
+#: ../../network/drakfirewall.pm_.c:169
+msgid "Other ports"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:37
msgid ""
-"Do not allow execution of any binaries on the mounted\n"
-"file system. This option might be useful for a server that has file systems\n"
-"containing binaries for architectures other than its own."
+"Which dhcp client do you want to use?\n"
+"Default is dhcp-client"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Enter a Zeroconf host name which will be the one that your machine will get back to other machines on the network:"
+#: ../../network/ethernet.pm_.c:88
+msgid ""
+"No ethernet network adapter has been detected on your system.\n"
+"I cannot set up this connection type."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Internet connection"
+#: ../../network/ethernet.pm_.c:92 ../../standalone/drakgw_.c:234
+msgid "Choose the network interface"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:93
msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
+"Please choose which network adapter you want to use to connect to Internet"
msgstr ""
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Welcome to the Open Source world."
+#: ../../network/ethernet.pm_.c:176
+msgid "no network card found"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bosnia and Herzegovina"
+#: ../../network/ethernet.pm_.c:200 ../../network/network.pm_.c:349
+msgid "Configuring network"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:201
msgid ""
-"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount point\n"
-""
+"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 ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"You must enter a host name or an IP address.\n"
-""
+#: ../../network/ethernet.pm_.c:205 ../../network/network.pm_.c:354
+msgid "Host name"
msgstr ""
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Netherlands"
+#: ../../network/isdn.pm_.c:21 ../../network/isdn.pm_.c:44
+#: ../../network/netconnect.pm_.c:89 ../../network/netconnect.pm_.c:103
+#: ../../network/netconnect.pm_.c:156 ../../network/netconnect.pm_.c:171
+#: ../../network/netconnect.pm_.c:222 ../../network/netconnect.pm_.c:245
+#: ../../network/netconnect.pm_.c:253
+msgid "Network Configuration Wizard"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files by FTP"
+#: ../../network/isdn.pm_.c:22
+msgid "External ISDN modem"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:22
msgid "Internal ISDN card"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no known OSS/ALSA alternative driver for your sound card (%s) which currently uses \"%s\""
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Title"
+#: ../../network/isdn.pm_.c:22
+msgid "What kind is your ISDN connection?"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install & convert Fonts"
+#: ../../network/isdn.pm_.c:45
+msgid ""
+"Which ISDN configuration do you prefer?\n"
+"\n"
+"* The Old configuration uses isdn4net. It contains powerful\n"
+" tools, but is tricky to configure, and not standard.\n"
+"\n"
+"* The New configuration is easier to understand, more\n"
+" standard, but with less tools.\n"
+"\n"
+"We recommand the light configuration.\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WARNING"
+#: ../../network/isdn.pm_.c:54
+msgid "New configuration (isdn-light)"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing bootloader"
+#: ../../network/isdn.pm_.c:54
+msgid "Old configuration (isdn4net)"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "The name of your ups"
+#: ../../network/isdn.pm_.c:166 ../../network/isdn.pm_.c:184
+#: ../../network/isdn.pm_.c:196 ../../network/isdn.pm_.c:202
+#: ../../network/isdn.pm_.c:209 ../../network/isdn.pm_.c:219
+msgid "ISDN Configuration"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "replay"
+#: ../../network/isdn.pm_.c:166
+msgid ""
+"Select your provider.\n"
+"If it isn't listed, choose Unlisted."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Expect is an extension to the Tcl scripting language that allows interactive sessions without user intervention."
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (U.S.)"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol (EDSS1)"
msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Bad backup file"
+#: ../../network/isdn.pm_.c:181
+msgid "Protocol for the rest of the world"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../network/isdn.pm_.c:181
msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
+"Protocol for the rest of the world\n"
+"No D-Channel (leased lines)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter IP address and port of the host whose printers you want to use."
+#: ../../network/isdn.pm_.c:185
+msgid "Which protocol do you want to use?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../network/isdn.pm_.c:196
#, c-format
-msgid "Pipe into command"
+msgid "Found \"%s\" interface do you want to use it ?"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
+#: ../../network/isdn.pm_.c:203
+msgid "What kind of card do you have?"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Haiti"
+#: ../../network/isdn.pm_.c:204
+msgid "I don't know"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detecting devices..."
+#: ../../network/isdn.pm_.c:204
+msgid "ISA / PCMCIA"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom allows you to specify your own day and time. The other options use run-parts in /etc/crontab."
+#: ../../network/isdn.pm_.c:204
+msgid "PCI"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/isdn.pm_.c:210
msgid ""
-"Description of the fields:\n"
"\n"
-""
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Basic options"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the name of the CPU"
+"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 ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept bogus IPv4 error messages"
+#: ../../network/isdn.pm_.c:214
+msgid "Abort"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refreshing printer data..."
+#: ../../network/isdn.pm_.c:214
+msgid "Continue"
msgstr ""
-#: ../../install2.pm:1
-#, c-format
-msgid "You must also format %s"
+#: ../../network/isdn.pm_.c:220
+msgid "Which is your ISDN card?"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Be careful: this operation is dangerous."
+#: ../../network/isdn.pm_.c:239
+msgid ""
+"I have detected an ISDN PCI card, but I don't know its type. Please select a "
+"PCI card on the next screen."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Insert a floppy containing package selection"
+#: ../../network/isdn.pm_.c:248
+msgid "No ISDN PCI card found. Please select one on the next screen."
msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server: "
+#: ../../network/modem.pm_.c:57
+msgid "Please choose which serial port your modem is connected to."
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Alerts:"
+#: ../../network/modem.pm_.c:67
+msgid "Dialup options"
msgstr ""
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Sweden"
+#: ../../network/modem.pm_.c:68 ../../standalone/drakconnect_.c:619
+msgid "Connection name"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Expect for SSH"
+#: ../../network/modem.pm_.c:69 ../../standalone/drakconnect_.c:620
+msgid "Phone number"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Master"
+#: ../../network/modem.pm_.c:70 ../../standalone/drakconnect_.c:621
+msgid "Login ID"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Poland"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "CHAP"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Other ports"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "PAP"
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "number of capture buffers for mmap'ed capture"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Script-based"
msgstr ""
-#: ../../network/adsl.pm:1 ../../network/adsl.pm:1 ../../network/adsl.pm:1
-#, c-format
-msgid " - detected"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Terminal-based"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SMBus controllers"
+#: ../../network/modem.pm_.c:73 ../../standalone/drakconnect_.c:624
+msgid "Domain name"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection timeout (in sec)"
+#: ../../network/modem.pm_.c:74 ../../standalone/drakconnect_.c:625
+msgid "First DNS Server (optional)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Some of the early i486DX-100 chips cannot reliably return to operating mode after the \"halt\" instruction is used"
+#: ../../network/modem.pm_.c:75 ../../standalone/drakconnect_.c:626
+msgid "Second DNS Server (optional)"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Croatian"
+#: ../../network/modem.pm_.c:95
+msgid ""
+"Your modem isn't supported by the system.\n"
+"Take a look at http://www.linmodems.org"
msgstr ""
-#: ../../help.pm:1
+#: ../../network/modem.pm_.c:97
#, c-format
-msgid "Use existing partition"
+msgid ""
+"\"%s\" based winmodem detected, do you want to install needed software ?"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Auto"
+#: ../../network/modem.pm_.c:97
+msgid "Do nothing"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Unable to contact mirror %s"
+#: ../../network/modem.pm_.c:97
+msgid "Install rpm"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Help/_About..."
+#: ../../network/modem.pm_.c:97
+msgid "Title"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remove user directories before restore."
+#: ../../network/netconnect.pm_.c:29
+msgid ""
+"\n"
+"You can disconnect or reconfigure your connection."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You are going to configure a remote printer. This needs working network access, but your network is not configured yet. If you go on without network configuration, you will not be able to use the printer which you are configuring now. How do you want to proceed?"
+#: ../../network/netconnect.pm_.c:29 ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can reconfigure your connection."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS printer configuration"
+#: ../../network/netconnect.pm_.c:29
+msgid "You are currently connected to internet."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font in your mounted partitions"
+#: ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can connect to Internet or reconfigure your connection."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "F00f bug"
+#: ../../network/netconnect.pm_.c:32
+msgid "You are not currently connected to Internet."
msgstr ""
-#: ../../Xconfig/card.pm:1 ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s"
+#: ../../network/netconnect.pm_.c:36
+msgid "Connect"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Domain Name:"
+#: ../../network/netconnect.pm_.c:37
+msgid "Disconnect"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Root umask"
+#: ../../network/netconnect.pm_.c:38
+msgid "Configure the connection"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "On Floppy"
+#: ../../network/netconnect.pm_.c:41
+msgid "Internet connection & configuration"
msgstr ""
-#: ../../security/l10n.pm:1
+#: ../../network/netconnect.pm_.c:94
#, c-format
-msgid "Reboot by the console user"
+msgid "We are now going to configure the %s connection."
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
+#: ../../network/netconnect.pm_.c:103
#, c-format
-msgid "Restore"
+msgid ""
+"\n"
+"\n"
+"\n"
+"We are now going to configure the %s connection.\n"
+"\n"
+"\n"
+"Press OK to continue."
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Server:"
+#: ../../network/netconnect.pm_.c:132 ../../network/netconnect.pm_.c:272
+#: ../../network/netconnect.pm_.c:292 ../../network/tools.pm_.c:77
+msgid "Network Configuration"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check if the network devices are in promiscuous mode."
+#: ../../network/netconnect.pm_.c:133
+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 ""
-#: ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages..."
+#: ../../network/netconnect.pm_.c:157
+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 ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Please wait, setting up system configuration files on USB key..."
+#: ../../network/netconnect.pm_.c:163
+msgid "Choose the profile to configure"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Init Message"
+#: ../../network/netconnect.pm_.c:164
+msgid "Use auto detection"
msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Rescue partition table"
+#: ../../network/netconnect.pm_.c:165 ../../printer/printerdrake.pm_.c:2966
+#: ../../standalone/drakconnect_.c:271 ../../standalone/drakconnect_.c:274
+#: ../../standalone/drakfloppy_.c:118
+msgid "Expert Mode"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cyprus"
+#: ../../network/netconnect.pm_.c:171 ../../printer/printerdrake.pm_.c:364
+msgid "Detecting devices..."
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection complete."
+#: ../../network/netconnect.pm_.c:214
+msgid "Normal modem connection"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../network/netconnect.pm_.c:214
#, c-format
-msgid "Remove from RAID"
+msgid "detected on port %s"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This encryption key is too simple (must be at least %d characters long)"
+#: ../../network/netconnect.pm_.c:215
+msgid "Winmodem connection"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Configuration Wizards"
+#: ../../network/netconnect.pm_.c:215 ../../network/netconnect.pm_.c:217
+msgid "detected"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:216
msgid "ISDN connection"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../network/netconnect.pm_.c:216
#, c-format
-msgid "CD-R / DVD-R"
+msgid "detected %s"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "primary"
+#: ../../network/netconnect.pm_.c:217
+msgid "ADSL connection"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on SMB/Windows server \"%s\", share \"%s\""
+#: ../../network/netconnect.pm_.c:218
+msgid "Cable connection"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"This dialog is used to choose which services you wish to start at boot\n"
-"time.\n"
-"\n"
-"DrakX will list all the services available on the current installation.\n"
-"Review each one carefully and uncheck those which are not needed at boot\n"
-"time.\n"
-"\n"
-"A short explanatory text will be displayed about a service when it is\n"
-"selected. However, if you are not sure whether a service is useful or not,\n"
-"it is safer to leave the default behavior.\n"
-"\n"
-"!! At this stage, be very careful if you intend to use your machine as a\n"
-"server: you will probably not want to start any services that you do not\n"
-"need. Please remember that several services can be dangerous if they are\n"
-"enabled on a server. In general, select only the services you really need.\n"
-"!!"
+#: ../../network/netconnect.pm_.c:218
+msgid "cable connection detected"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Netwok name (ESSID)"
+#: ../../network/netconnect.pm_.c:219
+msgid "LAN connection"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Niue"
+#: ../../network/netconnect.pm_.c:219
+msgid "ethernet card(s) detected"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Skip"
+#: ../../network/netconnect.pm_.c:222
+msgid "Choose the connection you want to configure"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:246
msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Action"
+"You have configured multiple ways to connect to the Internet.\n"
+"Choose the one you want to use.\n"
+"\n"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the CPU frequency in MHz (Megahertz which in first approximation may be coarsely assimilated to number of instructions the cpu is able to execute per second)"
+#: ../../network/netconnect.pm_.c:247
+msgid "Internet connection"
msgstr ""
-#: ../../pkgs.pm:1
-#, c-format
-msgid "important"
+#: ../../network/netconnect.pm_.c:253
+msgid "Do you want to start the connection at boot?"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Mandrake Linux Printer Management Tool"
+#: ../../network/netconnect.pm_.c:267
+msgid "Network configuration"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Total Progress"
+#: ../../network/netconnect.pm_.c:268
+msgid "The network needs to be restarted"
msgstr ""
-#: ../../help.pm:1
+#: ../../network/netconnect.pm_.c:272
#, c-format
msgid ""
-"DrakX will first detect any IDE devices present in your computer. It will\n"
-"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
-"found, DrakX will automatically install the appropriate driver.\n"
-"\n"
-"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
-"your hard drives. If so, you'll have to specify your hardware by hand.\n"
-"\n"
-"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
-"want to configure options for it. You should allow DrakX to probe the\n"
-"hardware for the card-specific options which are needed to initialize the\n"
-"adapter. Most of the time, DrakX will get through this step without any\n"
-"issues.\n"
+"A problem occured while restarting the network: \n"
"\n"
-"If DrakX is not able to probe for the options to automatically determine\n"
-"which parameters need to be passed to the hardware, you'll need to manually\n"
-"configure the driver."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Aruba"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Users"
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Name:"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing bootloader..."
-msgstr ""
-
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Enter your user information, password will be used for screensaver"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Gateway (e.g. %s)"
-msgstr ""
-
-#: ../../any.pm:1 ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "The passwords do not match"
+"%s"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:282
msgid ""
-"Examples for correct IPs:\n"
-""
+"Congratulations, the network and Internet configuration is finished.\n"
+"The configuration will now be applied to your system.\n"
+"\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose the media for backup."
+#: ../../network/netconnect.pm_.c:286
+msgid ""
+"After this is done, we recommend that you restart your X environment to "
+"avoid any hostname-related problems."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Frequency (MHz)"
+#: ../../network/netconnect.pm_.c:287
+msgid ""
+"Problems occured during configuration.\n"
+"Test your connection via net_monitor or mcc. If your connection doesn't "
+"work, you might want to relaunch the configuration."
msgstr ""
-#: ../../install_any.pm:1
-#, c-format
-msgid "To use this saved packages selection, boot installation with ``linux defcfg=floppy''"
+#: ../../network/network.pm_.c:278
+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 ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the number of the processor"
+#: ../../network/network.pm_.c:283
+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 ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../network/network.pm_.c:293 ../../network/network.pm_.c:294
#, c-format
-msgid "Hardware clock set to GMT"
+msgid "Configuring network device %s"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../network/network.pm_.c:294
#, c-format
-msgid "Do you want to start a new configuration ?"
+msgid " (driver %s)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Give a file name"
+#: ../../network/network.pm_.c:296 ../../standalone/drakconnect_.c:228
+#: ../../standalone/drakconnect_.c:464
+msgid "IP address"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the port that your printer is connected to."
+#: ../../network/network.pm_.c:297 ../../standalone/drakconnect_.c:465
+#: ../../standalone/drakgw_.c:291
+msgid "Netmask"
msgstr ""
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Change Cd-Rom"
+#: ../../network/network.pm_.c:298
+msgid "(bootp/dhcp)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Paraguay"
+#: ../../network/network.pm_.c:298
+msgid "Automatic IP"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Configuration is complete, do you want to apply settings ?"
+#: ../../network/network.pm_.c:299
+msgid "Start at boot"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental/Differential Backups (do not replace old backups)"
+#: ../../network/network.pm_.c:320 ../../printer/printerdrake.pm_.c:812
+msgid "IP address should be in format 1.2.3.4"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../network/network.pm_.c:326
msgid ""
-" - Maintain /etc/dhcpd.conf:\n"
-" \tTo net boot clients, each client needs a dhcpd.conf entry, assigning an IP \n"
-" \taddress and net boot images to the machine. drakTermServ helps create/remove \n"
-" \tthese entries.\n"
-"\t\t\t\n"
-" \t(PCI cards may omit the image - etherboot will request the correct image. \n"
-"\t\t\tYou should also consider that when etherboot looks for the images, it expects \n"
-"\t\t\tnames like boot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
-"\t\t\t \n"
-" \tA typical dhcpd.conf stanza to support a diskless client looks like:"
-msgstr ""
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no known driver for your sound card (%s)"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "force"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Exit"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NOTE: Depending on the printer model and the printing system up to %d MB of additional software will be installed."
+"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
+"frequency), or add enough '0'."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Iwpriv command extra arguments"
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../network/network.pm_.c:330
msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Estonian"
+"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
+"enough '0'."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Apache is a World Wide Web server. It is used to serve HTML files and CGI."
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/network.pm_.c:350
msgid ""
-"Enter your CD Writer device name\n"
-" ex: 0,1,0"
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ALL"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Clients"
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "Choose the network interface"
+"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 ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Select firmware file for the %s"
+#: ../../network/network.pm_.c:355
+msgid "DNS server"
msgstr ""
-#: ../../printer/detect.pm:1 ../../printer/detect.pm:1 ../../printer/detect.pm:1 ../../printer/detect.pm:1 ../../printer/printerdrake.pm:1
+#: ../../network/network.pm_.c:356
#, c-format
-msgid "Unknown Model"
+msgid "Gateway (e.g. %s)"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CD/DVD burners"
+#: ../../network/network.pm_.c:358
+msgid "Gateway device"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-""
+#: ../../network/network.pm_.c:363
+msgid "DNS server address should be in format 1.2.3.4"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to read the file"
+#: ../../network/network.pm_.c:367
+msgid "Gateway address should be in format 1.2.3.4"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image"
+#: ../../network/network.pm_.c:381
+msgid "Proxies configuration"
msgstr ""
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid "Firewalling configuration detected!"
+#: ../../network/network.pm_.c:382
+msgid "HTTP proxy"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection name"
+#: ../../network/network.pm_.c:383
+msgid "FTP proxy"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"x coordinate of text box\n"
-"in number of characters"
+#: ../../network/network.pm_.c:384
+msgid "Track network card id (useful for laptops)"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You may not be able to install lilo (since lilo doesn't handle a LV on multiple PVs)"
+#: ../../network/network.pm_.c:387
+msgid "Proxy should be http://..."
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Updating package selection"
+#: ../../network/network.pm_.c:388
+msgid "Url should begin with 'ftp:' or 'http:'"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount the loopback file %s?"
+#: ../../network/shorewall.pm_.c:26
+msgid "Firewalling configuration detected!"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../network/shorewall.pm_.c:27
msgid ""
-"The floppy has been successfully generated.\n"
-"You may now replay your installation."
+"Warning! An existing firewalling configuration has been detected. You may "
+"need some manual fix after installation."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use CD-R/DVD-R to backup"
+#: ../../network/tools.pm_.c:57
+msgid "Internet configuration"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the number of buttons the mouse has"
-msgstr ""
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Replay"
+#: ../../network/tools.pm_.c:58
+msgid "Do you want to try to connect to the Internet now?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup other files"
+#: ../../network/tools.pm_.c:61 ../../standalone/drakconnect_.c:193
+msgid "Testing your connection..."
msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "No floppy drive available"
+#: ../../network/tools.pm_.c:70
+msgid "The system is now connected to Internet."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files are corrupted"
+#: ../../network/tools.pm_.c:71
+msgid "For security reason, it will be disconnected now."
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "TV norm:"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid family"
+#: ../../network/tools.pm_.c:72
+msgid ""
+"The system doesn't seem to be connected to internet.\n"
+"Try to reconfigure your connection."
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "32 MB"
+#: ../../network/tools.pm_.c:96
+msgid "Connection Configuration"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: thin"
+#: ../../network/tools.pm_.c:97
+msgid "Please fill or check the field below"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (new)"
+#: ../../network/tools.pm_.c:99 ../../standalone/drakconnect_.c:605
+msgid "Card IRQ"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the arithmetic coprocessor has an exception vector attached"
+#: ../../network/tools.pm_.c:100 ../../standalone/drakconnect_.c:606
+msgid "Card mem (DMA)"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"Please be sure to add a /boot partition"
+#: ../../network/tools.pm_.c:101 ../../standalone/drakconnect_.c:607
+msgid "Card IO"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (MacOS...)"
+#: ../../network/tools.pm_.c:102 ../../standalone/drakconnect_.c:608
+msgid "Card IO_0"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "To activate the mouse,"
+#: ../../network/tools.pm_.c:103 ../../standalone/drakconnect_.c:609
+msgid "Card IO_1"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Alert configuration"
+#: ../../network/tools.pm_.c:104 ../../standalone/drakconnect_.c:610
+msgid "Your personal phone number"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing up the network"
+#: ../../network/tools.pm_.c:105 ../../standalone/drakconnect_.c:611
+msgid "Provider name (ex provider.net)"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "Screenshots will be available after install in %s"
+#: ../../network/tools.pm_.c:106 ../../standalone/drakconnect_.c:612
+msgid "Provider phone number"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"More than one Microsoft partition has been detected on your hard drive.\n"
-"Please choose which one you want to resize in order to install your new\n"
-"Mandrake Linux operating system.\n"
-"\n"
-"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
-"\"Capacity\".\n"
-"\n"
-"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc.\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
-"disk or partition is called \"C:\")."
+#: ../../network/tools.pm_.c:107 ../../standalone/drakconnect_.c:613
+msgid "Provider dns 1 (optional)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tanzania"
+#: ../../network/tools.pm_.c:108 ../../standalone/drakconnect_.c:614
+msgid "Provider dns 2 (optional)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Computing FAT filesystem bounds"
+#: ../../network/tools.pm_.c:109
+msgid "Choose your country"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Backup Sources: \n"
-""
+#: ../../network/tools.pm_.c:110 ../../standalone/drakconnect_.c:617
+msgid "Dialing mode"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "custom"
+#: ../../network/tools.pm_.c:111 ../../standalone/drakconnect_.c:629
+msgid "Connection speed"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Content of the file"
+#: ../../network/tools.pm_.c:112 ../../standalone/drakconnect_.c:630
+msgid "Connection timeout (in sec)"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication LDAP"
+#: ../../network/tools.pm_.c:113 ../../standalone/drakconnect_.c:615
+msgid "Account Login (user name)"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "in order to keep %s"
+#: ../../network/tools.pm_.c:114 ../../standalone/drakconnect_.c:616
+#: ../../standalone/drakconnect_.c:647
+msgid "Account Password"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Let me pick any driver"
+#: ../../network/tools.pm_.c:118 ../../network/tools.pm_.c:132
+msgid "United Kingdom"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "transmitted"
+#: ../../partition_table.pm_.c:603
+msgid "mount failed: "
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Palestine"
+#: ../../partition_table.pm_.c:667
+msgid "Extended partition not supported on this platform"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../partition_table.pm_.c:685
msgid ""
-"RAID md%s\n"
-""
-msgstr ""
-
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated strings"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Here is the full list of keyboards available"
+"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 ""
-#: ../../standalone/draksplash:1
+#: ../../partition_table.pm_.c:774
#, c-format
-msgid "Theme name"
+msgid "Restoring from file %s failed: %s"
msgstr ""
-#: ../../standalone/drakups:1 ../../standalone/harddrake2:1 ../../standalone/harddrake2:1 ../../standalone/logdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Help"
+#: ../../partition_table.pm_.c:776
+msgid "Bad backup file"
msgstr ""
-#: ../../harddrake/sound.pm:1
+#: ../../partition_table.pm_.c:796
#, c-format
-msgid "Choosing an arbitrary driver"
+msgid "Error writing to file %s"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
+#: ../../partition_table/raw.pm_.c:192
msgid ""
-"Your USB key doesn't have any valid Windows (FAT) partitions.\n"
-"We need one to continue (beside, it's more standard so that you\n"
-"will be able to move and access your files from machines\n"
-"running Windows). Please plug in an USB key containing a\n"
-"Windows partition instead.\n"
-"\n"
-"\n"
-"You may also proceed without an USB key - you'll still be\n"
-"able to use Mandrake Move as a normal live Mandrake\n"
-"Operating System."
+"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 ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cook Islands"
+#: ../../pkgs.pm_.c:26
+msgid "must have"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Here you can choose whether the scanners connected to this machine should be accessable by remote machines and by which remote machines."
+#: ../../pkgs.pm_.c:27
+msgid "important"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the width of the progress bar"
+#: ../../pkgs.pm_.c:28
+msgid "very nice"
msgstr ""
-#: ../../fs.pm:1 ../../fs.pm:1
-#, c-format
-msgid "Formatting partition %s"
+#: ../../pkgs.pm_.c:29
+msgid "nice"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hostname required"
+#: ../../pkgs.pm_.c:30
+msgid "maybe"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselect fonts installed"
+#: ../../printer/data.pm_.c:18
+msgid "PDQ - Print, Don't Queue"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Wheel"
+#: ../../printer/data.pm_.c:19
+msgid "PDQ"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit kernel version"
+#: ../../printer/data.pm_.c:30
+msgid "LPD - Line Printer Daemon"
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1 ../../ugtk2.pm:1 ../../ugtk2.pm:1 ../../ugtk2.pm:1 ../../Xconfig/resolution_and_depth.pm:1 ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/gtk.pm:1 ../../interactive/http.pm:1 ../../interactive/http.pm:1 ../../interactive/newt.pm:1 ../../interactive/newt.pm:1 ../../interactive/stdio.pm:1 ../../interactive/stdio.pm:1 ../../interactive/stdio.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/drakautoinst:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakboot:1 ../../standalone/drakclock:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1 ../../standalone/drakfloppy:1 ../../standalone/drakfont:1 ../../standalone/drakperm:1 ../../standalone/drakperm:1 ../../standalone/draksec:1 ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/logdrake:1 ../../standalone/mousedrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Cancel"
+#: ../../printer/data.pm_.c:31
+msgid "LPD"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for configured scanners ..."
+#: ../../printer/data.pm_.c:51
+msgid "LPRng - LPR New Generation"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Videocard"
+#: ../../printer/data.pm_.c:52
+msgid "LPRng"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\tBackups use tar and bzip2\n"
-""
+#: ../../printer/data.pm_.c:75
+msgid "CUPS - Common Unix Printing System"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Remove Selected"
+#: ../../printer/data.pm_.c:76 ../../printer/main.pm_.c:677
+msgid "CUPS"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _modems"
+#: ../../printer/detect.pm_.c:80 ../../printer/detect.pm_.c:213
+#: ../../printer/detect.pm_.c:250
+msgid "Unknown Model"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove printer"
+#: ../../printer/main.pm_.c:26
+msgid "Local printer"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Last Log"
+#: ../../printer/main.pm_.c:27
+msgid "Remote printer"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Which services would you like to allow the Internet to connect to?"
+#: ../../printer/main.pm_.c:28
+msgid "Printer on remote CUPS server"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Connection Type"
+#: ../../printer/main.pm_.c:29 ../../printer/printerdrake.pm_.c:835
+msgid "Printer on remote lpd server"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"Welcome to the mail configuration utility.\n"
-"\n"
-"Here, you'll be able to set up the alert system.\n"
-""
+#: ../../printer/main.pm_.c:30
+msgid "Network printer (TCP/Socket)"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../mouse.pm:1 ../../services.pm:1 ../../diskdrake/hd_gtk.pm:1 ../../standalone/drakbackup:1 ../../standalone/drakperm:1
-#, c-format
-msgid "Other"
+#: ../../printer/main.pm_.c:31
+msgid "Printer on SMB/Windows 95/98/NT server"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1 ../../harddrake/v4l.pm:1 ../../standalone/drakfloppy:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Default"
+#: ../../printer/main.pm_.c:32
+msgid "Printer on NetWare server"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 2 Emulation"
+#: ../../printer/main.pm_.c:33 ../../printer/printerdrake.pm_.c:839
+msgid "Enter a printer device URI"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Please enter a package name."
+#: ../../printer/main.pm_.c:34
+msgid "Pipe job into a command"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run chkrootkit checks"
+#: ../../printer/main.pm_.c:290 ../../printer/main.pm_.c:478
+#: ../../printer/main.pm_.c:794 ../../printer/printerdrake.pm_.c:3228
+msgid "Unknown model"
msgstr ""
-#: ../../standalone/drakfont:1 ../../standalone/drakfont:1
-#, c-format
-msgid "type1inst building"
+#: ../../printer/main.pm_.c:317
+msgid "Local Printers"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Abiword"
+#: ../../printer/main.pm_.c:319 ../../printer/main.pm_.c:678
+msgid "Remote Printers"
msgstr ""
-#: ../../standalone/draksplash:1 ../../standalone/draksplash:1
+#: ../../printer/main.pm_.c:326 ../../printer/printerdrake.pm_.c:381
#, c-format
-msgid "choose image file"
+msgid " on parallel port \\/*%s"
msgstr ""
-#: ../../Xconfig/card.pm:1
+#: ../../printer/main.pm_.c:329 ../../printer/printerdrake.pm_.c:383
#, c-format
-msgid "X server"
+msgid ", USB printer \\/*%s"
msgstr ""
-#: ../../any.pm:1
+#: ../../printer/main.pm_.c:334
#, c-format
-msgid "Domain Admin User Name"
+msgid ", multi-function device on parallel port \\/*%s"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "There was an error while scanning for TV channels"
+#: ../../printer/main.pm_.c:337
+msgid ", multi-function device on USB"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard (international)"
+#: ../../printer/main.pm_.c:339
+msgid ", multi-function device on HP JetDirect"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Not installed"
+#: ../../printer/main.pm_.c:341
+msgid ", multi-function device"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../printer/main.pm_.c:344
#, c-format
-msgid "Both Alt keys simultaneously"
+msgid ", printing to %s"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../printer/main.pm_.c:346
#, c-format
-msgid "LAN connection"
+msgid " on LPD server \"%s\", printer \"%s\""
msgstr ""
-#: ../../standalone/logdrake:1
+#: ../../printer/main.pm_.c:348
#, c-format
-msgid "/File/-"
+msgid ", TCP/IP host \"%s\", port %s"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../printer/main.pm_.c:352
#, c-format
-msgid "Italian"
+msgid " on SMB/Windows server \"%s\", share \"%s\""
msgstr ""
-#: ../../interactive.pm:1
+#: ../../printer/main.pm_.c:356
#, c-format
-msgid "Basic"
+msgid " on Novell server \"%s\", printer \"%s\""
msgstr ""
-#: ../../install_messages.pm:1
+#: ../../printer/main.pm_.c:358
#, c-format
-msgid "http://www.mandrakelinux.com/en/92errata.php3"
+msgid ", using command %s"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Honduras"
+#: ../../printer/main.pm_.c:475 ../../printer/printerdrake.pm_.c:1603
+msgid "Raw printer (No driver)"
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1
+#: ../../printer/main.pm_.c:647
#, c-format
-msgid "pdq"
+msgid "(on %s)"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO"
+#: ../../printer/main.pm_.c:649
+msgid "(on this machine)"
msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../printer/main.pm_.c:674
#, c-format
-msgid "Samba server"
+msgid "On CUPS server \"%s\""
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
-""
+#: ../../printer/main.pm_.c:680 ../../printer/printerdrake.pm_.c:2888
+#: ../../printer/printerdrake.pm_.c:2899 ../../printer/printerdrake.pm_.c:3120
+#: ../../printer/printerdrake.pm_.c:3171 ../../printer/printerdrake.pm_.c:3197
+#: ../../printer/printerdrake.pm_.c:3352 ../../printer/printerdrake.pm_.c:3354
+msgid " (Default)"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Please choose for each step whether it will replay like your install, or it will be manual"
+#: ../../printer/printerdrake.pm_.c:27
+msgid "Select Printer Connection"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "You can also decide here whether scanners on remote machines should be made available on this machine."
+#: ../../printer/printerdrake.pm_.c:28
+msgid "How is the printer connected?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:30
msgid ""
-"\t-Network by FTP.\n"
-""
+"\n"
+"Printers on remote CUPS servers you do not have to configure here; these "
+"printers will be automatically detected."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Reports check result to tty"
+#: ../../printer/printerdrake.pm_.c:38
+msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must enter a device or file name!"
+#: ../../printer/printerdrake.pm_.c:81 ../../printer/printerdrake.pm_.c:2950
+msgid "CUPS configuration"
msgstr ""
-#: ../../standalone/drakups:1 ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Quit"
+#: ../../printer/printerdrake.pm_.c:82 ../../printer/printerdrake.pm_.c:2951
+msgid "Specify CUPS server"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:83
msgid ""
-"Graphics memory: %s kB\n"
-""
+"To get access to printers on remote CUPS servers in your local network you "
+"do not have to configure anything; the CUPS servers inform your machine "
+"automatically about their printers. All printers currently known to your "
+"machine are listed in the \"Remote printers\" section in the main window of "
+"Printerdrake. When your CUPS server is not in your local network, you have "
+"to enter the CUPS server IP address and optionally the port number to get "
+"the printer information from the server, otherwise leave these fields blank."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:84
msgid ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-""
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to compilation tools"
-msgstr ""
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Global statistics"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select data to restore..."
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-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 ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Standard test page"
-msgstr ""
-
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Time Zone"
+"Normally, CUPS is automatically configured according to your network "
+"environment, so that you can access the printers on the CUPS servers in your "
+"local network. If this does not work correctly, turn off \"Automatic CUPS "
+"configuration\" and edit your file /etc/cups/cupsd.conf manually. Do not "
+"forget to restart CUPS afterwards (command: \"service cups restart\")."
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create"
+#: ../../printer/printerdrake.pm_.c:88
+msgid "The IP address should look like 192.168.1.20"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "What"
+#: ../../printer/printerdrake.pm_.c:92 ../../printer/printerdrake.pm_.c:1041
+msgid "The port number should be an integer!"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error ordering packages:"
+#: ../../printer/printerdrake.pm_.c:99
+msgid "CUPS server IP"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (BDS)"
+#: ../../printer/printerdrake.pm_.c:100 ../../printer/printerdrake.pm_.c:1061
+#: ../../standalone/harddrake2_.c:63
+msgid "Port"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Server"
+#: ../../printer/printerdrake.pm_.c:102
+msgid "Automatic CUPS configuration"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem encryption key"
+#: ../../printer/printerdrake.pm_.c:159
+msgid "Checking your system..."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gujarati"
+#: ../../printer/printerdrake.pm_.c:159 ../../printer/printerdrake.pm_.c:226
+#: ../../printer/printerdrake.pm_.c:1477 ../../printer/printerdrake.pm_.c:1481
+#: ../../printer/printerdrake.pm_.c:1598 ../../printer/printerdrake.pm_.c:2133
+#: ../../printer/printerdrake.pm_.c:2284 ../../printer/printerdrake.pm_.c:2343
+#: ../../printer/printerdrake.pm_.c:2415 ../../printer/printerdrake.pm_.c:2436
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2630
+#: ../../printer/printerdrake.pm_.c:2636 ../../printer/printerdrake.pm_.c:2701
+#: ../../printer/printerdrake.pm_.c:2720 ../../printer/printerdrake.pm_.c:2731
+#: ../../printer/printerdrake.pm_.c:2764 ../../printer/printerdrake.pm_.c:2809
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:2911
+#: ../../printer/printerdrake.pm_.c:2989 ../../printer/printerdrake.pm_.c:3281
+#: ../../printer/printerdrake.pm_.c:3328 ../../printer/printerdrake.pm_.c:3369
+#: ../../standalone/printerdrake_.c:47
+msgid "Printerdrake"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:167
msgid ""
-" While you can use a pool of IP addresses, rather than setup a specific entry for\n"
-" a client machine, using a fixed address scheme facilitates using the functionality\n"
-" of client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-" Note: The '#type' entry is only used by drakTermServ. Clients can either be 'thin'\n"
-" or 'fat'. Thin clients run most software on the server via xdmcp, while fat clients run \n"
-" most software on the client machine. A special inittab, %s is\n"
-" written for thin clients. System config files xdm-config, kdmrc, and gdm.conf are \n"
-" modified if thin clients are used, to enable xdmcp. Since there are security issues in \n"
-" using xdmcp, hosts.deny and hosts.allow are modified to limit access to the local\n"
-" subnet.\n"
-"\t\t\t\n"
-" Note: The '#hdw_config' entry is also only used by drakTermServ. Clients can either \n"
-" be 'true' or 'false'. 'true' enables root login at the client machine and allows local \n"
-" hardware configuration of sound, mouse, and X, using the 'drak' tools. This is enabled \n"
-" by creating separate config files associated with the client's IP address and creating \n"
-" read/write mount points to allow the client to alter the file. Once you are satisfied \n"
-" with the configuration, you can remove root login privileges from the client.\n"
-"\t\t\t\n"
-" Note: You must stop/start the server after adding or changing clients."
+"There are no printers found which are directly connected to your machine"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:179
msgid ""
-"Please choose the first number of the 10-range you wish to edit,\n"
-"or just hit Enter to proceed.\n"
-"Your choice? "
+"The following printers\n"
+"\n"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:180
msgid ""
+"The following printer\n"
"\n"
-" Copyright (C) 2002 by MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
-"\n"
-""
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Save theme"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Brazil"
-msgstr ""
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Auto Install"
+#: ../../printer/printerdrake.pm_.c:182
+msgid ""
+"\n"
+"and one unknown printer are "
msgstr ""
-#: ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
+#: ../../printer/printerdrake.pm_.c:184
#, c-format
-msgid "Network Configuration Wizard"
+msgid ""
+"\n"
+"and %d unknown printers are "
msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removable media automounting"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"are "
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Printing"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"is "
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save:"
+#: ../../printer/printerdrake.pm_.c:189
+msgid "directly connected to your system"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "There are no printers found which are directly connected to your machine"
+#: ../../printer/printerdrake.pm_.c:192
+msgid ""
+"\n"
+"There is one unknown printer directly connected to your system"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:194
#, c-format
-msgid "Create a new partition"
+msgid ""
+"\n"
+"There are %d unknown printers directly connected to your system"
msgstr ""
-#: ../../harddrake/sound.pm:1 ../../harddrake/sound.pm:1 ../../standalone/drakups:1
-#, c-format
-msgid "Driver:"
+#: ../../printer/printerdrake.pm_.c:200
+msgid " (Make sure that all your printers are connected and turned on).\n"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "unknown"
+#: ../../printer/printerdrake.pm_.c:214
+msgid ""
+"Do you want to enable printing on the printers mentioned above or on "
+"printers in the local network?\n"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use fdisk"
+#: ../../printer/printerdrake.pm_.c:215
+msgid "Do you want to enable printing on printers in the local network?\n"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Services settings"
+#: ../../printer/printerdrake.pm_.c:217
+msgid "Do you want to enable printing on the printers mentioned above?\n"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "MOVE YOUR WHEEL!"
+#: ../../printer/printerdrake.pm_.c:218
+msgid "Are you sure that you want to set up printing on this machine?\n"
msgstr ""
-#: ../../standalone/net_monitor:1 ../../standalone/net_monitor:1
+#: ../../printer/printerdrake.pm_.c:219
#, c-format
-msgid "sent: "
+msgid ""
+"NOTE: Depending on the printer model and the printing system up to %d MB of "
+"additional software will be installed."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Automatic IP"
+#: ../../printer/printerdrake.pm_.c:258 ../../printer/printerdrake.pm_.c:270
+#: ../../printer/printerdrake.pm_.c:328 ../../printer/printerdrake.pm_.c:2933
+#: ../../printer/printerdrake.pm_.c:3060
+msgid "Add a new printer"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:259
msgid ""
-"There you are. Installation is now complete and your GNU/Linux system is\n"
-"ready to use. Just click \"%s\" to reboot the system. The first thing you\n"
-"should see after your computer has finished doing its hardware tests is the\n"
-"bootloader menu, giving you the choice of which operating system to start.\n"
"\n"
-"The \"%s\" button shows two more buttons to:\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\": to create an installation floppy disk that will automatically\n"
-"perform a whole installation without the help of an operator, similar to\n"
-"the installation you just configured.\n"
+"This wizard allows you to install local or remote printers to be used from "
+"this machine and also from other machines in the network.\n"
"\n"
-" Note that two different options are available after clicking the button:\n"
+"It asks you for all necessary information to set up the printer and gives "
+"you access to all available printer drivers, driver options, and printer "
+"connection types."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:272
+msgid ""
"\n"
-" * \"%s\". This is a partially automated installation. The partitioning\n"
-"step is the only interactive procedure.\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\". Fully automated installation: the hard disk is completely\n"
-"rewritten, all data is lost.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer, connected directly to the network or to a remote Windows machine.\n"
"\n"
-" This feature is very handy when installing a number of similar machines.\n"
-"See the Auto install section on our web site for more information.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) and you Windows machines must be connected and "
+"turned on.\n"
"\n"
-" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
-"To use this selection with another installation, insert the floppy and\n"
-"start the installation. At the prompt, press the [F1] key and type >>linux\n"
-"defcfg=\"floppy\" <<.\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network and/or Windows-hosted printers when you don't need "
+"it.\n"
"\n"
-"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
-"\"mformat a:\")"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Moldova"
-msgstr ""
-
-#: ../../mouse.pm:1 ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuration of a remote printer"
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Welcome to the UPS configuration tools"
-msgstr ""
-
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "An online platform to respond to enterprise support needs."
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "URL should begin with 'ftp:' or 'http:'"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Oriya"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a new rule at the end"
-msgstr ""
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "LiLo and Bootsplash themes installation successful"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You can also decide here whether printers on remote machines should be automatically made available on this machine."
-msgstr ""
-
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:281 ../../printer/printerdrake.pm_.c:298
msgid ""
-"You may now provide options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without writing the partition table?"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetScroll"
-msgstr ""
-
-#: ../../standalone.pm:1
-#, c-format
-msgid "Installing packages..."
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Hard Drive"
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Access Control Lists"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dutch"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Angola"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"The following packages need to be installed:\n"
-""
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "The driver that manage your ups"
-msgstr ""
-
-#: ../../any.pm:1 ../../Xconfig/main.pm:1 ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Custom"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Latvia"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File is already used by another loopback, choose another one"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read-only"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Enable/Disable name resolution spoofing protection. If\n"
-"\"alert\" is true, also reports to syslog."
-msgstr ""
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No known driver"
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "1 MB"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If it is not the one you want to configure, enter a device name/file name in the input line"
+"\n"
+"Welcome to the Printer Setup Wizard\n"
+"\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer.\n"
+"\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected.\n"
+"\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-#: ../../standalone/draksound:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:289
msgid ""
-"No Sound Card has been detected on your machine. Please verify that a Linux-supported Sound Card is correctly plugged in.\n"
"\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-"You can visit our hardware database at:\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer or connected directly to the network.\n"
"\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) must be connected and turned on.\n"
"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network printers when you don't need it.\n"
+"\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Local Area Network..."
+#: ../../printer/printerdrake.pm_.c:307
+msgid "Auto-detect printers connected to this machine"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid ""
-"The USB key seems to have write protection enabled. Please\n"
-"unplug it, remove write protection, and then plug it again."
+#: ../../printer/printerdrake.pm_.c:310
+msgid "Auto-detect printers connected directly to the local network"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the sound system on your machine"
+#: ../../printer/printerdrake.pm_.c:313
+msgid "Auto-detect printers connected to machines running Microsoft Windows"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Verify checksum of the suid/sgid files"
+#: ../../printer/printerdrake.pm_.c:329
+msgid ""
+"\n"
+"Congratulations, your printer is now installed and configured!\n"
+"\n"
+"You can print using the \"Print\" command of your application (usually in "
+"the \"File\" menu).\n"
+"\n"
+"If you want to add, remove, or rename a printer, or if you want to change "
+"the default option settings (paper input tray, printout quality, ...), "
+"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
+"Center."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run some checks against the rpm database"
+#: ../../printer/printerdrake.pm_.c:364 ../../printer/printerdrake.pm_.c:538
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+msgid "Printer auto-detection"
msgstr ""
-#: ../../standalone/drakperm:1
+#: ../../printer/printerdrake.pm_.c:385
#, c-format
-msgid "Execute"
+msgid ", network printer \"%s\", port %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:387
#, c-format
-msgid "Preparing printer database..."
+msgid ", printer \"%s\" on SMB/Windows server \"%s\""
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:391
#, c-format
-msgid "Information"
+msgid "Detected %s"
msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../printer/printerdrake.pm_.c:395 ../../printer/printerdrake.pm_.c:423
+#: ../../printer/printerdrake.pm_.c:440
#, c-format
-msgid "No network card"
+msgid "Printer on parallel port \\/*%s"
msgstr ""
-#: ../../mouse.pm:1
+#: ../../printer/printerdrake.pm_.c:397 ../../printer/printerdrake.pm_.c:425
+#: ../../printer/printerdrake.pm_.c:443
#, c-format
-msgid "3 buttons"
+msgid "USB printer \\/*%s"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
+#: ../../printer/printerdrake.pm_.c:399
#, c-format
-msgid "Which filesystem do you want?"
+msgid "Network printer \"%s\", port %s"
msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:401
#, c-format
-msgid "Malta"
+msgid "Printer \"%s\" on SMB/Windows server \"%s\""
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Detailed information"
+#: ../../printer/printerdrake.pm_.c:525 ../../printer/printerdrake.pm_.c:547
+msgid "Local Printer"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:526
msgid ""
-"Printer default settings\n"
-"\n"
-"You should make sure that the page size and the ink type/printing mode (if available) and also the hardware configuration of laser printers (memory, duplex unit, extra trays) are set correctly. Note that with a very high printout quality/resolution printing can get substantially slower."
-msgstr ""
-
-#: ../../install_any.pm:1
-#, c-format
-msgid "This floppy is not FAT formatted"
+"No local printer found! To manually install a printer enter a device name/"
+"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
+"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
+"printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This option will save files that have changed. Exact behavior depends on whether incremental or differential mode is used."
-msgstr ""
-
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Graphic Card"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Resizing Windows partition"
+#: ../../printer/printerdrake.pm_.c:530
+msgid "You must enter a device or file name!"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cameroon"
+#: ../../printer/printerdrake.pm_.c:539
+msgid "No printer found!"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 1 (optional)"
+#: ../../printer/printerdrake.pm_.c:548
+msgid "Available printers"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:552
msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Saami (swedish/finnish)"
+"The following printer was auto-detected, if it is not the one you want to "
+"configure, enter a device name/file name in the input line"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/drakTermServ:1 ../../standalone/drakbackup:1 ../../standalone/drakbug:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/net_monitor:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Close"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:553
msgid ""
-"\"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list."
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Calendar"
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up or enter a device name/file name in the input line"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:555
msgid ""
-"Restore Selected\n"
-"Catalog Entry"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "To use a remote lpd printer, you need to supply the hostname of the printer server and the printer name on that server."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Iceland"
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Network & Internet Configuration"
-msgstr ""
-
-#: ../../common.pm:1
-#, c-format
-msgid "consolehelper missing"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-msgid "stopped"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Whether the FPU has an irq vector"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Ext2"
+"The following printer was auto-detected. The configuration of the printer "
+"will work fully automatically. If your printer was not correctly detected or "
+"if you prefer a customized printer configuration, turn on \"Manual "
+"configuration\"."
msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Expand Tree"
-msgstr ""
-
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:556
msgid ""
-"The old \"%s\" driver is blacklisted.\n"
-"\n"
-"It has been reported to oops the kernel on unloading.\n"
-"\n"
-"The new \"%s\" driver'll only be used on next bootstrap."
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up. The configuration of the printer will work fully "
+"automatically. If your printer was not correctly detected or if you prefer a "
+"customized printer configuration, turn on \"Manual configuration\"."
msgstr ""
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Expert Mode"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer options"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Local Network adress"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup your System files. (/etc directory)"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the user umask."
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:558
msgid ""
-"You now have the opportunity to download updated packages. These packages\n"
-"have been updated after the distribution was released. They may\n"
-"contain security or bug fixes.\n"
-"\n"
-"To download these packages, you will need to have a working Internet \n"
-"connection.\n"
-"\n"
-"Do you want to install the updates ?"
+"Please choose the port where your printer is connected to or enter a device "
+"name/file name in the input line"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Samba Server"
+#: ../../printer/printerdrake.pm_.c:559
+msgid "Please choose the port where your printer is connected to."
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Australian Optus cable TV"
-msgstr ""
-
-#: ../../install_steps_newt.pm:1
-#, c-format
-msgid " <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet:"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Zimbabwe"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "When"
-msgstr ""
-
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:561
msgid ""
-"You need the Alcatel microcode.\n"
-"Download it at:\n"
-"%s\n"
-"and copy the mgmt.o in /usr/share/speedtouch"
+" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
+"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hour"
+#: ../../printer/printerdrake.pm_.c:565
+msgid "You must choose/enter a printer/device!"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Second DNS Server (optional)"
+#: ../../printer/printerdrake.pm_.c:584
+msgid "Manual configuration"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Finland"
+#: ../../printer/printerdrake.pm_.c:633
+msgid "Remote lpd Printer Options"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:634
msgid ""
-"Color depth: %s\n"
-""
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It must be upgraded"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Loading from floppy"
+"To use a remote lpd printer, you need to supply the hostname of the printer "
+"server and the printer name on that server."
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Timezone - DrakClock"
+#: ../../printer/printerdrake.pm_.c:635
+msgid "Remote host name"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "DrakUPS"
+#: ../../printer/printerdrake.pm_.c:636
+msgid "Remote printer name"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable the logging of IPv4 strange packets."
+#: ../../printer/printerdrake.pm_.c:639
+msgid "Remote host name missing!"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovenia"
+#: ../../printer/printerdrake.pm_.c:643
+msgid "Remote printer name missing!"
msgstr ""
-#: ../../standalone/mousedrake:1
+#: ../../printer/printerdrake.pm_.c:665 ../../printer/printerdrake.pm_.c:1170
#, c-format
-msgid "Mouse test"
+msgid "Detected model: %s %s"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid ""
-"Drakperm is used to see files to use in order to fix permissions, owners, and groups via msec.\n"
-"You can also edit your own rules which will owerwrite the default rules."
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+msgid "Scanning network..."
msgstr ""
-#: ../../any.pm:1
+#: ../../printer/printerdrake.pm_.c:751 ../../printer/printerdrake.pm_.c:772
#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
+msgid ", printer \"%s\" on server \"%s\""
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:754 ../../printer/printerdrake.pm_.c:775
#, c-format
-msgid "- PCI and USB devices: this lists the vendor, device, subvendor and subdevice PCI/USB ids"
+msgid "Printer \"%s\" on server \"%s\""
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "ProgressBar color selection"
+#: ../../printer/printerdrake.pm_.c:795
+msgid "SMB (Windows 9x/NT) Printer Options"
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:796
msgid ""
-"Here are the entries on your boot menu so far.\n"
-"You can create additional entries or change the existing ones."
+"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."
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/hda"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/hdb"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Iwspy command extra arguments"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:797
msgid ""
-"Application Name\n"
-"or Full Path:"
+" If the desired printer was auto-detected, simply choose it from the list "
+"and then add user name, password, and/or workgroup if needed."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../printer/printerdrake.pm_.c:799
+msgid "SMB server host"
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Radio support:"
+#: ../../printer/printerdrake.pm_.c:800
+msgid "SMB server IP"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing SANE packages..."
+#: ../../printer/printerdrake.pm_.c:801
+msgid "Share name"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP"
+#: ../../printer/printerdrake.pm_.c:804
+msgid "Workgroup"
msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid "SILO"
+#: ../../printer/printerdrake.pm_.c:806
+msgid "Auto-detected"
msgstr ""
-#: ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Change type"
+#: ../../printer/printerdrake.pm_.c:816
+msgid "Either the server name or the server's IP must be given!"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", USB printer #%s"
+#: ../../printer/printerdrake.pm_.c:820
+msgid "Samba share name missing!"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "SILO Installation"
+#: ../../printer/printerdrake.pm_.c:826
+msgid "SECURITY WARNING!"
msgstr ""
-#: ../../install_messages.pm:1
+#: ../../printer/printerdrake.pm_.c:827
#, c-format
msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
+"You are about to set up printing to a Windows account with password. Due to "
+"a fault in the architecture of the Samba client software the password is put "
+"in clear text into the command line of the Samba client used to transmit the "
+"print job to the Windows server. So it is possible for every user on this "
+"machine to display the password on the screen by issuing commands as \"ps "
+"auxwww\".\n"
"\n"
+"We recommend to make use of one of the following alternatives (in all cases "
+"you have to make sure that only machines from your local network have access "
+"to your Windows server, for example by means of a firewall):\n"
"\n"
-"For information on fixes which are available for this release of Mandrake Linux,\n"
-"consult the Errata available from:\n"
+"Use a password-less account on your Windows server, as the \"GUEST\" account "
+"or a special account dedicated for printing. Do not remove the password "
+"protection from a personal account or the administrator account.\n"
"\n"
+"Set up your Windows server to make the printer available under the LPD "
+"protocol. Then set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
"\n"
-"%s\n"
-"\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Mandrake Linux User's Guide."
-msgstr ""
-
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Enable Network Time Protocol"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "paranoid"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Do not send mails when unneeded"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Your scanner(s) will not be available on the network."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Send mail report after each backup to:"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:837
#, c-format
msgid ""
-"This command you can also use in the \"Printing command\" field of the printing dialogs of many applications. But here do not supply the file name because the file to print is provided by the application.\n"
-""
-msgstr ""
-
-#: ../../Xconfig/main.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolution"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "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."
+"Set up your Windows server to make the printer available under the IPP "
+"protocol and set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid " Enabling su only from members of the wheel group or allow su from any user."
+#: ../../printer/printerdrake.pm_.c:840
+msgid ""
+"Connect your printer to a Linux server and let your Windows machine(s) "
+"connect to it as a client.\n"
+"\n"
+"Do you really want to continue setting up this printer as you are doing now?"
msgstr ""
-#: ../../standalone/drakgw:1 ../../standalone/drakgw:1
-#, c-format
-msgid "reconfigure"
+#: ../../printer/printerdrake.pm_.c:911
+msgid "NetWare Printer Options"
msgstr ""
-#: ../../Xconfig/card.pm:1 ../../Xconfig/card.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:912
msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
+"To print on 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."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell timeout"
+#: ../../printer/printerdrake.pm_.c:913
+msgid "Printer Server"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Xinetd Service"
+#: ../../printer/printerdrake.pm_.c:914
+msgid "Print Queue Name"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "access to network tools"
+#: ../../printer/printerdrake.pm_.c:919
+msgid "NCP server name missing!"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Firmware-Upload for HP LaserJet 1000"
+#: ../../printer/printerdrake.pm_.c:923
+msgid "NCP queue name missing!"
msgstr ""
-#: ../advertising/03-software.pl:1
+#: ../../printer/printerdrake.pm_.c:987 ../../printer/printerdrake.pm_.c:1007
#, c-format
-msgid "And, of course, push multimedia to its limits with the very latest software to play videos, audio files and to handle your images or photos."
+msgid ", host \"%s\", port %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:990 ../../printer/printerdrake.pm_.c:1010
#, c-format
-msgid "Here is a list of all auto-detected printers. "
+msgid "Host \"%s\", port %s"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
+#: ../../printer/printerdrake.pm_.c:1030
+msgid "TCP/Socket Printer Options"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1032
msgid ""
-"Restore Selected\n"
-"Files"
+"Choose one of the auto-detected printers from the list or enter the hostname "
+"or IP and the optional port number (default is 9100) into the input fields."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1033
msgid ""
-"%s exists, delete?\n"
-"\n"
-"Warning: If you've already done this process you'll probably\n"
-" need to purge the entry from authorized_keys on the server."
+"To print to a TCP or socket printer, you need to provide the host name or IP "
+"of the printer and optionally the port number (default is 9100). On HP "
+"JetDirect servers the port number is usually 9100, on other servers it can "
+"vary. See the manual of your hardware."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Please fill or check the field below"
+#: ../../printer/printerdrake.pm_.c:1037
+msgid "Printer host name or IP missing!"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Do you want to save /etc/fstab modifications"
+#: ../../printer/printerdrake.pm_.c:1059
+msgid "Printer host name or IP"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Boot Protocol"
+#: ../../printer/printerdrake.pm_.c:1107 ../../printer/printerdrake.pm_.c:1109
+msgid "Printer Device URI"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1108
msgid ""
-"LVM-disks %s\n"
-""
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-msgid "On boot"
+"You can specify directly the URI to access the printer. The URI must fulfill "
+"either the CUPS or the Foomatic specifications. Note that not all URI types "
+"are supported by all the spoolers."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The package %s is needed. Install it?"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bus identification"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Vatican"
+#: ../../printer/printerdrake.pm_.c:1123
+msgid "A valid URI must be entered!"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please make a backup of your data first"
+#: ../../printer/printerdrake.pm_.c:1463
+msgid ""
+"Every printer needs a name (for example \"printer\"). The Description and "
+"Location fields do not need to be filled in. They are comments for the users."
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "ADSL adapters"
+#: ../../printer/printerdrake.pm_.c:1464
+msgid "Name of printer"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "You have more than one hard drive, which one do you install linux on?"
+#: ../../printer/printerdrake.pm_.c:1465 ../../standalone/harddrake2_.c:38
+msgid "Description"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Eritrea"
+#: ../../printer/printerdrake.pm_.c:1466
+msgid "Location"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot ISO"
+#: ../../printer/printerdrake.pm_.c:1478 ../../printer/printerdrake.pm_.c:1599
+msgid "Reading printer database..."
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Firmware needed"
+#: ../../printer/printerdrake.pm_.c:1482
+msgid "Preparing printer database..."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove List"
+#: ../../printer/printerdrake.pm_.c:1578
+msgid "Your printer model"
msgstr ""
-#: ../advertising/05-desktop.pl:1
+#: ../../printer/printerdrake.pm_.c:1579
#, c-format
-msgid "A customizable environment"
+msgid ""
+"Printerdrake has compared the model name resulting from the printer auto-"
+"detection with the models listed in its printer database to find the best "
+"match. This choice can be wrong, especially when your printer is not listed "
+"at all in the database. So check whether the choice is correct and click "
+"\"The model is correct\" if so and if not, click \"Select model manually\" "
+"so that you can choose your printer model manually on the next screen.\n"
+"\n"
+"For your printer Printerdrake has found:\n"
+"\n"
+"%s"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Inuktitut"
+#: ../../printer/printerdrake.pm_.c:1584 ../../printer/printerdrake.pm_.c:1587
+msgid "The model is correct"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Some protocols, like rsync, may be configured at the server end. Rather than using a directory path, you would use the 'module' name for the service path."
+#: ../../printer/printerdrake.pm_.c:1585 ../../printer/printerdrake.pm_.c:1586
+#: ../../printer/printerdrake.pm_.c:1589
+msgid "Select model manually"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Morocco"
+#: ../../printer/printerdrake.pm_.c:1606
+msgid "Printer model selection"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1607
msgid "Which printer model do you have?"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add a new printer"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " All of your selected data have been "
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Nepal"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Delete"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "cpu # "
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "chunk size"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1608
msgid ""
-"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
"\n"
-"If set to NONE, no issues are allowed.\n"
"\n"
-"Else only /etc/issue is allowed."
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid " Enable/Disable sulogin(8) in single user level."
-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:1
-#, c-format
-msgid "commands before booting, or 'c' for a command-line."
-msgstr ""
-
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "Problems installing package %s"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "You will receive an alert if the load is higher than this value"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add a scanner manually"
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh"
-msgstr ""
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Reload partition table"
+"Please check whether Printerdrake did the auto-detection of your printer "
+"model correctly. Search the correct model in the list when the cursor is "
+"standing on a wrong model or on \"Raw printer\"."
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Yes, I want autologin with this (user, desktop)"
+#: ../../printer/printerdrake.pm_.c:1611
+msgid ""
+"If your printer is not listed, choose a compatible (see printer manual) or a "
+"similar one."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Selected"
+#: ../../printer/printerdrake.pm_.c:1697
+msgid "OKI winprinter configuration"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search for fonts in installed list"
+#: ../../printer/printerdrake.pm_.c:1698
+msgid ""
+"You are configuring an OKI laser winprinter. These printers\n"
+"use a very special communication protocol and therefore they work only when "
+"connected to the first parallel port. When your printer is connected to "
+"another port or to a print server box please connect the printer to the "
+"first parallel port before you print a test page. Otherwise the printer will "
+"not work. Your connection type setting will be ignored by the driver."
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The Local Network did not finish with `.0', bailing out."
+#: ../../printer/printerdrake.pm_.c:1718 ../../printer/printerdrake.pm_.c:1745
+msgid "Lexmark inkjet configuration"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Boot"
+#: ../../printer/printerdrake.pm_.c:1719
+msgid ""
+"The inkjet printer drivers provided by Lexmark only support local printers, "
+"no printers on remote machines or print server boxes. Please connect your "
+"printer to a local port or configure it on the machine where it is connected "
+"to."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " and the CD is in the drive"
+#: ../../printer/printerdrake.pm_.c:1746
+msgid ""
+"To be able to print with your Lexmark inkjet and this configuration, you "
+"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
+"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
+"\"Linux\" as operating system. The drivers come as RPM packages or shell "
+"scripts with interactive graphical installation. You do not need to do this "
+"configuration by the graphical frontends. Cancel directly after the license "
+"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
+"adjust the head alignment settings with this program."
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Tuner type:"
+#: ../../printer/printerdrake.pm_.c:1749
+msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1750
msgid ""
-"Now, it's time to select a printing system for your computer. Other OSs may\n"
-"offer you one, but Mandrake Linux offers two. Each of the printing system\n"
-"is best suited to particular types of configuration.\n"
+"Your printer belongs to the group of GDI laser printers (winprinters) sold "
+"by different manufacturers which uses the Zenographics ZJ-stream raster "
+"format for the data sent to the printer. The driver for these printers is "
+"still in a very early development stage and so it will perhaps not always "
+"work properly. Especially it is possible that the printer only works when "
+"you choose the A4 paper size.\n"
"\n"
-" * \"%s\" -- which is an acronym for ``print, don't queue'', is the choice\n"
-"if you have a direct connection to your printer, you want to be able to\n"
-"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
-"will handle only very simple network cases and is somewhat slow when used\n"
-"with networks.) It's recommended that you use \"pdq\" if this is your first\n"
-"experience with GNU/Linux.\n"
+"Some of these printers, as the HP LaserJet 1000, for which this driver was "
+"originally created, need their firmware to be uploaded to them after they "
+"are turned on. In the case of the HP LaserJet 1000 you have to search the "
+"printer's Windows driver CD or your Windows partition for the file "
+"\"sihp1000.img\" and upload the file to the printer with one of the "
+"following commands:\n"
"\n"
-" * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n"
-"printing to your local printer or to one halfway around the planet. It is\n"
-"simple to configure and can act as a server or a client for the ancient\n"
-"\"lpd \" printing system, so it compatible with older operating systems\n"
-"which may still need print services. While quite powerful, the basic setup\n"
-"is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make\n"
-"sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n"
-"front-ends for printing or choosing printer options and for managing the\n"
-"printer.\n"
+" lpr -o raw sihp1000.img\n"
+" cat sihp1000.img > /dev/usb/lp0\n"
"\n"
-"If you make a choice now, and later find that you don't like your printing\n"
-"system you may change it by running PrinterDrake from the Mandrake Control\n"
-"Center and clicking the expert button."
+"The first command can be given by any normal user, the second must be given "
+"as root. After having done so you can print normally.\n"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "\"Menu\" key"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1972
msgid ""
+"Printer default settings\n"
"\n"
-"\n"
-"Please check whether Printerdrake did the auto-detection of your printer model correctly. Find the correct model in the list when a wrong model or \"Raw printer\" is highlighted."
+"You should make sure that the page size and the ink type/printing mode (if "
+"available) and also the hardware configuration of laser printers (memory, "
+"duplex unit, extra trays) are set correctly. Note that with a very high "
+"printout quality/resolution printing can get substantially slower."
msgstr ""
-#: ../../standalone/draksec:1
+#: ../../printer/printerdrake.pm_.c:1981
#, c-format
-msgid "Security Administrator:"
+msgid "Option %s must be an integer number!"
msgstr ""
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:1985
#, c-format
-msgid "Set the shell timeout. A value of zero means no timeout."
+msgid "Option %s must be a number!"
msgstr ""
-#: ../../network/tools.pm:1
+#: ../../printer/printerdrake.pm_.c:1989
#, c-format
-msgid "Firmware copy succeeded"
+msgid "Option %s out of range!"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/tree/mdk_totem:1
+#: ../../printer/printerdrake.pm_.c:2028
#, c-format
msgid ""
-"You can't use another CDROM when the following programs are running: \n"
-"%s"
+"Do you want to set this printer (\"%s\")\n"
+"as the default printer?"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check permissions of files in the users' home."
+#: ../../printer/printerdrake.pm_.c:2051
+msgid "Test pages"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2052
msgid ""
-"You don't have an Internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Fonts copy"
+"Please select the test pages you want to print.\n"
+"Note: the photo test page can take a rather long time to get printed and on "
+"laser printers with too low memory it can even not come out. In most cases "
+"it is enough to print the standard test page."
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automated"
+#: ../../printer/printerdrake.pm_.c:2056
+msgid "No test pages"
msgstr ""
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Do you want to test the configuration?"
+#: ../../printer/printerdrake.pm_.c:2057
+msgid "Print"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/GIMP."
+#: ../../printer/printerdrake.pm_.c:2114
+msgid "Standard test page"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save packages selection"
+#: ../../printer/printerdrake.pm_.c:2117
+msgid "Alternative test page (Letter)"
msgstr ""
-#: ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Actions"
+#: ../../printer/printerdrake.pm_.c:2120
+msgid "Alternative test page (A4)"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Remove the last item"
+#: ../../printer/printerdrake.pm_.c:2122
+msgid "Photo test page"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "User list to restore (only the most recent date per user is important)"
+#: ../../printer/printerdrake.pm_.c:2126
+msgid "Do not print any test page"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No net boot images created!"
+#: ../../printer/printerdrake.pm_.c:2134 ../../printer/printerdrake.pm_.c:2285
+msgid "Printing test page(s)..."
msgstr ""
-#: ../../network/adsl.pm:1
+#: ../../printer/printerdrake.pm_.c:2159
#, c-format
-msgid "use pptp"
+msgid ""
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+"Printing status:\n"
+"%s\n"
+"\n"
msgstr ""
-#: ../../services.pm:1 ../../services.pm:1
-#, c-format
-msgid "Choose which services should be automatically started at boot time"
+#: ../../printer/printerdrake.pm_.c:2163
+msgid ""
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check files/directories writable by everybody"
+#: ../../printer/printerdrake.pm_.c:2170
+msgid "Did it work properly?"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Learn how to use this printer"
+#: ../../printer/printerdrake.pm_.c:2190 ../../printer/printerdrake.pm_.c:3229
+msgid "Raw printer"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2216
#, c-format
-msgid "Configure the network now"
+msgid ""
+"To print a file from the command line (terminal window) you can either use "
+"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
+"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
+"to modify the option settings easily.\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose a mirror from which to get the packages"
+#: ../../printer/printerdrake.pm_.c:2218
+msgid ""
+"These commands you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications, but here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-#: ../../install_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2221 ../../printer/printerdrake.pm_.c:2238
+#: ../../printer/printerdrake.pm_.c:2248
#, c-format
msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
+"\n"
+"The \"%s\" command also allows to modify the option settings for a "
+"particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\". "
msgstr ""
-#: ../../install_steps_gtk.pm:1
+#: ../../printer/printerdrake.pm_.c:2224 ../../printer/printerdrake.pm_.c:2264
#, c-format
-msgid "Size: "
+msgid ""
+"To know about the options available for the current printer read either the "
+"list shown below or click on the \"Print option list\" button.%s%s\n"
+"\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which sector do you want to move it to?"
+#: ../../printer/printerdrake.pm_.c:2228
+msgid ""
+"Here is a list of the available printing options for the current printer:\n"
+"\n"
msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:2233 ../../printer/printerdrake.pm_.c:2243
#, c-format
-msgid "Bahamas"
+msgid ""
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\".\n"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Do you want to click on this button?"
+#: ../../printer/printerdrake.pm_.c:2235 ../../printer/printerdrake.pm_.c:2245
+#: ../../printer/printerdrake.pm_.c:2255
+msgid ""
+"This command you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications. But here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakups:1
-#, c-format
-msgid "Manual configuration"
+#: ../../printer/printerdrake.pm_.c:2240 ../../printer/printerdrake.pm_.c:2250
+msgid ""
+"To get a list of the options available for the current printer click on the "
+"\"Print option list\" button."
msgstr ""
-#: ../../services.pm:1
+#: ../../printer/printerdrake.pm_.c:2253
#, c-format
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."
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\" or \"%s <file>\".\n"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "search"
+#: ../../printer/printerdrake.pm_.c:2257
+msgid ""
+"You can also use the graphical interface \"xpdq\" for setting options and "
+"handling printing jobs.\n"
+"If you are using KDE as desktop environment you have a \"panic button\", an "
+"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
+"jobs immediately when you click it. This is for example useful for paper "
+"jams.\n"
msgstr ""
-#: ../../Xconfig/card.pm:1
+#: ../../printer/printerdrake.pm_.c:2261
#, c-format
-msgid "Xpmac (installation display driver)"
+msgid ""
+"\n"
+"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
+"a particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\".\n"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../printer/printerdrake.pm_.c:2271
#, c-format
-msgid "Zeroconf host name must not contain a ."
+msgid "Printing/Scanning/Photo Cards on \"%s\""
msgstr ""
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:2272
#, c-format
-msgid " Accept/Refuse icmp echo."
+msgid "Printing/Scanning on \"%s\""
msgstr ""
-#: ../../services.pm:1
+#: ../../printer/printerdrake.pm_.c:2274
#, c-format
-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."
+msgid "Printing/Photo Card Access on \"%s\""
msgstr ""
-#: ../../harddrake/data.pm:1 ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:2275
#, c-format
-msgid "Unknown/Others"
+msgid "Printing on the printer \"%s\""
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "No TV Card detected!"
+#: ../../printer/printerdrake.pm_.c:2278 ../../printer/printerdrake.pm_.c:2281
+#: ../../printer/printerdrake.pm_.c:2282 ../../printer/printerdrake.pm_.c:2283
+#: ../../printer/printerdrake.pm_.c:3216 ../../standalone/drakTermServ_.c:307
+#: ../../standalone/drakbackup_.c:1533 ../../standalone/drakbackup_.c:4156
+#: ../../standalone/drakbug_.c:108 ../../standalone/drakfont_.c:695
+#: ../../standalone/drakfont_.c:956 ../../standalone/net_monitor_.c:118
+msgid "Close"
msgstr ""
-#: ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Options"
+#: ../../printer/printerdrake.pm_.c:2281
+msgid "Print option list"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2301
#, c-format
-msgid "The printer \"%s\" is set as the default printer now."
+msgid ""
+"Your multi-function device was configured automatically to be able to scan. "
+"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
+"scanner when you have more than one) from the command line or with the "
+"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
+"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
+"\" menu. Call also \"man scanimage\" on the command line to get more "
+"information.\n"
+"\n"
+"Do not use \"scannerdrake\" for this device!"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2322
msgid ""
-"You are configuring an OKI laser winprinter. These printers\n"
-"use a very special communication protocol and therefore they work only when connected to the first parallel port. When your printer is connected to another port or to a print server box please connect the printer to the first parallel port before you print a test page. Otherwise the printer will not work. Your connection type setting will be ignored by the driver."
+"Your printer was configured automatically to give you access to the photo "
+"card drives from your PC. Now you can access your photo cards using the "
+"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
+"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
+"\"man mtools\" on the command line for more info). You find the card's file "
+"system under the drive letter \"p:\", or subsequent drive letters when you "
+"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
+"can switch between drive letters with the field at the upper-right corners "
+"of the file lists."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "generation of the cpu (eg: 8 for PentiumIII, ...)"
+#: ../../printer/printerdrake.pm_.c:2344 ../../printer/printerdrake.pm_.c:2702
+#: ../../printer/printerdrake.pm_.c:2990
+msgid "Reading printer data..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detected"
+#: ../../printer/printerdrake.pm_.c:2364 ../../printer/printerdrake.pm_.c:2391
+#: ../../printer/printerdrake.pm_.c:2426
+msgid "Transfer printer configuration"
msgstr ""
-#: ../../standalone/drakpxe:1
+#: ../../printer/printerdrake.pm_.c:2365
#, c-format
msgid ""
-"You are about to configure your computer to install a PXE server as a DHCP server\n"
-"and a TFTP server to build an installation server.\n"
-"With that feature, other computers on your local network will be installable using this computer as source.\n"
-"\n"
-"Make sure you have configured your Network/Internet access using drakconnect before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network (LAN)."
+"You can copy the printer configuration which you have done for the spooler %"
+"s to %s, your current spooler. All the configuration data (printer name, "
+"description, location, connection type, and default option settings) is "
+"overtaken, but jobs will not be transferred.\n"
+"Not all queues can be transferred due to the following reasons:\n"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2368
msgid ""
-"OSS (Open Sound System) was the first sound API. It's an OS independent sound API (it's available on most UNIX(tm) systems) but it's a very basic and limited API.\n"
-"What's more, OSS drivers all reinvent the wheel.\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) is a modularized architecture which\n"
-"supports quite a large range of ISA, USB and PCI cards.\n"
-"\n"
-"It also provides a much higher API than OSS.\n"
-"\n"
-"To use alsa, one can either use:\n"
-"- the old compatibility OSS api\n"
-"- the new ALSA api that provides many enhanced features but requires using the ALSA library.\n"
-""
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No free space for 1MB bootstrap! Install will continue, but to boot your system, you'll need to create the bootstrap partition in DiskDrake"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "It is possible that your %s needs its firmware to be uploaded everytime when it is turned on."
+"CUPS does not support printers on Novell servers or printers sending the "
+"data into a free-formed command.\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the printer you want to set up or enter a device name/file name in the input line"
+#: ../../printer/printerdrake.pm_.c:2370
+msgid ""
+"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
+"printers.\n"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Refuse"
+#: ../../printer/printerdrake.pm_.c:2372
+msgid "LPD and LPRng do not support IPP printers.\n"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2374
msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
+"In addition, queues not created with this program or \"foomatic-configure\" "
+"cannot be transferred."
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "LOCAL"
+#: ../../printer/printerdrake.pm_.c:2375
+msgid ""
+"\n"
+"Also printers configured with the PPD files provided by their manufacturers "
+"or with native CUPS drivers cannot be transferred."
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "HFS"
+#: ../../printer/printerdrake.pm_.c:2376
+msgid ""
+"\n"
+"Mark the printers which you want to transfer and click \n"
+"\"Transfer\"."
msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "Creating and formatting file %s"
+#: ../../printer/printerdrake.pm_.c:2379
+msgid "Do not transfer printers"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of sgid files."
+#: ../../printer/printerdrake.pm_.c:2380 ../../printer/printerdrake.pm_.c:2396
+msgid "Transfer"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2392
#, c-format
msgid ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned on. Download the Windows driver package from the HP web site (the firmware on the printer's CD does not work) and extract the firmware file from it by uncompresing the self-extracting '.exe' file with the 'unzip' utility and searching for the 'sihp1000.img' file. Copy this file into the '/etc/printer' directory. There it will be found by the automatic uploader script and uploaded whenever the printer is connected and turned on.\n"
-""
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing LVM to add to"
+"A printer named \"%s\" already exists under %s. \n"
+"Click \"Transfer\" to overwrite it.\n"
+"You can also type a new name or skip this printer."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "xfs restart"
+#: ../../printer/printerdrake.pm_.c:2400
+msgid "Name of printer should contain only letters, numbers and the underscore"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2405
#, c-format
msgid ""
"The printer \"%s\" already exists,\n"
"do you really want to overwrite its configuration?"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use the scanners on hosts: "
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselected All"
+#: ../../printer/printerdrake.pm_.c:2413
+msgid "New printer name"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../network/tools.pm:1
+#: ../../printer/printerdrake.pm_.c:2416
#, c-format
-msgid "No partition available"
+msgid "Transferring %s..."
msgstr ""
-#: ../../standalone/printerdrake:1
+#: ../../printer/printerdrake.pm_.c:2427
#, c-format
msgid ""
-"Printer Management \n"
-""
+"You have transferred your former default printer (\"%s\"), Should it be also "
+"the default printer under the new printing system %s?"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Domain Name Resolver"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key (again)"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Samba share name missing!"
+#: ../../printer/printerdrake.pm_.c:2437
+msgid "Refreshing printer data..."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type install done"
+#: ../../printer/printerdrake.pm_.c:2445 ../../printer/printerdrake.pm_.c:2516
+#: ../../printer/printerdrake.pm_.c:2528
+msgid "Configuration of a remote printer"
msgstr ""
-#: ../../standalone/drakups:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Detection in progress"
+#: ../../printer/printerdrake.pm_.c:2446
+msgid "Starting network..."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Whole Kernel -->"
+#: ../../printer/printerdrake.pm_.c:2479 ../../printer/printerdrake.pm_.c:2483
+#: ../../printer/printerdrake.pm_.c:2485
+msgid "Configure the network now"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Welcome to %s"
+#: ../../printer/printerdrake.pm_.c:2480
+msgid "Network functionality not configured"
msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2481
msgid ""
-" drakhelp 0.1\n"
-"Copyright (C) 2003 MandrakeSoft.\n"
-"This is free software and may be redistributed under the terms of the GNU GPL.\n"
-"\n"
-"Usage: \n"
-""
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please insert the Update Modules floppy in drive %s"
+"You are going to configure a remote printer. This needs working network "
+"access, but your network is not configured yet. If you go on without network "
+"configuration, you will not be able to use the printer which you are "
+"configuring now. How do you want to proceed?"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Bootsplash"
+#: ../../printer/printerdrake.pm_.c:2484
+msgid "Go on without configuring the network"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2518
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"is directly connected to your system"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer sharing on hosts/networks: "
+"The network configuration done during the installation cannot be started "
+"now. Please check whether the network gets accessable after booting your "
+"system and correct the configuration using the Mandrake Control Center, "
+"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
+"printer, also using the Mandrake Control Center, section \"Hardware\"/"
+"\"Printer\""
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2519
msgid ""
-"\n"
-"The \"%s\" command also allows to modify the option settings for a particular printing job. Simply add the desired settings to the command line, e. g. \"%s <file>\". "
+"The network access was not running and could not be started. Please check "
+"your configuration and your hardware. Then try to configure your remote "
+"printer again."
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Receiving\n"
-"speed:"
+#: ../../printer/printerdrake.pm_.c:2529
+msgid "Restarting printing system..."
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "DrakClock"
+#: ../../printer/printerdrake.pm_.c:2568
+msgid "high"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without them. 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."
+#: ../../printer/printerdrake.pm_.c:2568
+msgid "paranoid"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2569
#, c-format
-msgid "Not the correct CD label. Disk is labelled %s."
+msgid "Installing a printing system in the %s security level"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2570
#, c-format
msgid ""
+"You are about to install the printing system %s on a system running in the %"
+"s security level.\n"
"\n"
-"- Daemon, %s via:\n"
-""
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cuba"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "October"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Belize"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Searching for new printers..."
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (multi-session)"
+"This printing system runs a daemon (background process) which waits for "
+"print jobs and handles them. This daemon is also accessable by remote "
+"machines through the network and so it is a possible point for attacks. "
+"Therefore only a few selected daemons are started by default in this "
+"security level.\n"
+"\n"
+"Do you really want to configure printing on this machine?"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Kernel Boot Timeout"
+#: ../../printer/printerdrake.pm_.c:2604
+msgid "Starting the printing system at boot time"
msgstr ""
-#: ../../Xconfig/card.pm:1
+#: ../../printer/printerdrake.pm_.c:2605
#, 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."
+"The printing system (%s) will not be started automatically when the machine "
+"is booted.\n"
+"\n"
+"It is possible that the automatic starting was turned off by changing to a "
+"higher security level, because the printing system is a potential point for "
+"attacks.\n"
+"\n"
+"Do you want to have the automatic starting of the printing system turned on "
+"again?"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid " Activate/Disable daily security check."
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2765
+msgid "Checking installed software..."
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2630
#, c-format
-msgid ""
-"\t-CD-R.\n"
-""
+msgid "Removing %s ..."
msgstr ""
-#: ../../security/l10n.pm:1
+#: ../../printer/printerdrake.pm_.c:2636
#, c-format
-msgid "Enable libsafe if libsafe is found on the system"
+msgid "Installing %s ..."
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "The DrakX Partitioning wizard found the following solutions:"
+#: ../../printer/printerdrake.pm_.c:2685
+msgid "Select Printer Spooler"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Hungarian"
+#: ../../printer/printerdrake.pm_.c:2686
+msgid "Which printing system (spooler) do you want to use?"
msgstr ""
-#: ../../network/isdn.pm:1
+#: ../../printer/printerdrake.pm_.c:2720
#, c-format
-msgid ""
-"Select your provider.\n"
-"If it isn't listed, choose Unlisted."
+msgid "Configuring printer \"%s\"..."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automatic time synchronization (using NTP)"
+#: ../../printer/printerdrake.pm_.c:2731
+msgid "Installing Foomatic..."
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Use my Windows partition"
+#: ../../printer/printerdrake.pm_.c:2800 ../../printer/printerdrake.pm_.c:2838
+#: ../../printer/printerdrake.pm_.c:3230 ../../printer/printerdrake.pm_.c:3300
+msgid "Printer options"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "8 MB"
+#: ../../printer/printerdrake.pm_.c:2810
+msgid "Preparing Printerdrake..."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Server"
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:3369
+msgid "Configuring applications..."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../printer/printerdrake.pm_.c:2845
+msgid "Would you like to configure printing?"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose your country"
+#: ../../printer/printerdrake.pm_.c:2857
+msgid "Printing system: "
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2915
msgid ""
-"\n"
-"- System Files:\n"
-""
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; to view information about it; "
+"or to make a printer on a remote CUPS server available for Star Office/"
+"OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/drakbug:1 ../../standalone/drakbug:1 ../../standalone/drakbug:1 ../../standalone/drakbug:1 ../../standalone/drakbug:1
-#, c-format
-msgid "Standalone Tools"
+#: ../../printer/printerdrake.pm_.c:2916
+msgid ""
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; or to view information about "
+"it."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Where"
+#: ../../printer/printerdrake.pm_.c:2942
+msgid "Refresh printer list (to display all available remote CUPS printers)"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "but not matching"
+#: ../../printer/printerdrake.pm_.c:2960
+msgid "Change the printing system"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Here you can select an alternative driver (either OSS or ALSA) for your sound card (%s)."
+#: ../../printer/printerdrake.pm_.c:2965 ../../standalone/drakconnect_.c:274
+msgid "Normal Mode"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring PCMCIA cards..."
+#: ../../printer/printerdrake.pm_.c:3127 ../../printer/printerdrake.pm_.c:3176
+#: ../../printer/printerdrake.pm_.c:3363
+msgid "Do you want to configure another printer?"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "kdesu missing"
+#: ../../printer/printerdrake.pm_.c:3211
+msgid "Modify printer configuration"
msgstr ""
-#: ../../standalone/drakTermServ:1 ../../standalone/drakTermServ:1
+#: ../../printer/printerdrake.pm_.c:3213
#, c-format
msgid ""
-"%s: %s requires a username...\n"
-""
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Encryption key"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft IntelliMouse"
+"Printer %s\n"
+"What do you want to modify on this printer?"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid ""
-"This setting will be activated after the installation.\n"
-"During installation, you will need to use the Right Control\n"
-"key to switch between the different keyboard layouts."
+#: ../../printer/printerdrake.pm_.c:3217
+msgid "Do it!"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Christmas Island"
+#: ../../printer/printerdrake.pm_.c:3222 ../../printer/printerdrake.pm_.c:3271
+msgid "Printer connection type"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Automatic"
+#: ../../printer/printerdrake.pm_.c:3223 ../../printer/printerdrake.pm_.c:3275
+msgid "Printer name, description, location"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installation of bootloader failed. The following error occured:"
+#: ../../printer/printerdrake.pm_.c:3225 ../../printer/printerdrake.pm_.c:3293
+msgid "Printer manufacturer, model, driver"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "EIDE/SCSI channel"
+#: ../../printer/printerdrake.pm_.c:3226 ../../printer/printerdrake.pm_.c:3294
+msgid "Printer manufacturer, model"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:3232 ../../printer/printerdrake.pm_.c:3304
msgid "Set this printer as the default"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Verify that %s is the correct path"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "partition %s"
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Paranoid"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "NIS"
+#: ../../printer/printerdrake.pm_.c:3234 ../../printer/printerdrake.pm_.c:3309
+msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Del User"
+#: ../../printer/printerdrake.pm_.c:3235 ../../printer/printerdrake.pm_.c:3314
+msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Location on the bus"
+#: ../../printer/printerdrake.pm_.c:3236 ../../printer/printerdrake.pm_.c:3319
+msgid "Print test pages"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No printer found!"
+#: ../../printer/printerdrake.pm_.c:3237 ../../printer/printerdrake.pm_.c:3321
+msgid "Know how to use this printer"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the device"
+#: ../../printer/printerdrake.pm_.c:3238 ../../printer/printerdrake.pm_.c:3323
+msgid "Remove printer"
msgstr ""
-#: ../../help.pm:1 ../../install_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:3282
#, c-format
-msgid "Erase entire disk"
+msgid "Removing old printer \"%s\"..."
msgstr ""
-#: ../../printer/cups.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Default)"
+#: ../../printer/printerdrake.pm_.c:3307
+msgid "Default printer"
msgstr ""
-#: ../../standalone/drakgw:1
+#: ../../printer/printerdrake.pm_.c:3308
#, c-format
-msgid "Automatic reconfiguration"
+msgid "The printer \"%s\" is set as the default printer now."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Turks and Caicos Islands"
+#: ../../printer/printerdrake.pm_.c:3310
+msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../printer/printerdrake.pm_.c:3312
#, c-format
-msgid "No Ip"
+msgid ""
+"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1 ../../interactive/newt.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:3313
#, c-format
-msgid "<- Previous"
+msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Transfer Now"
+#: ../../printer/printerdrake.pm_.c:3315
+msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:3317
#, c-format
-msgid "Set root password and network authentication methods"
+msgid ""
+"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
+"GIMP."
msgstr ""
-#: ../../ugtk2.pm:1
+#: ../../printer/printerdrake.pm_.c:3318
#, c-format
-msgid "Toggle between flat and group sorted"
+msgid ""
+"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/drakboot:1
+#: ../../printer/printerdrake.pm_.c:3325
#, c-format
-msgid "Themes"
+msgid "Do you really want to remove the printer \"%s\"?"
msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:3329
#, c-format
-msgid "Options: %s"
+msgid "Removing printer \"%s\"..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../raid.pm_.c:35
#, c-format
-msgid "OKI winprinter configuration"
+msgid "Can't add a partition to _formatted_ RAID md%d"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Helena"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Parallel port #%s"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed (maybe raidtools are missing?)"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../raid.pm_.c:153
#, c-format
-msgid "Security Level"
+msgid "Not enough partitions for RAID level %d\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../security/main.pm_.c:36
msgid ""
-"Some steps are not completed.\n"
+"Standard: This is the standard security recommended for a computer that will "
+"be used to connect\n"
+" to the Internet as a client.\n"
"\n"
-"Do you really want to quit now?"
+"High: There are already some restrictions, and more automatic checks "
+"are run every night.\n"
+"\n"
+"Higher: The security is now high enough to use the system as a server "
+"which can accept\n"
+" connections from many clients. If your machine is only a "
+"client on the Internet, you\n"
+"\t should choose a lower level.\n"
+"\n"
+"Paranoid: This is similar to the previous level, but the system is entirely "
+"closed and security\n"
+" features are at their maximum\n"
+"\n"
+"Security Administrator:\n"
+" If the 'Security Alerts' option is set, security alerts will "
+"be sent to this user (username or\n"
+"\t email)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Sudan"
+#: ../../security/main.pm_.c:66
+msgid "Security Level:"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../security/main.pm_.c:77
#, c-format
-msgid "Polish (qwertz layout)"
+msgid " (default value: %s)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Syria"
+#: ../../security/main.pm_.c:113
+msgid "Security Alerts:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), an HP PhotoSmart or an HP LaserJet 2200?"
+#: ../../security/main.pm_.c:115
+msgid "Security Administrator:"
msgstr ""
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm:1
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system from the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-""
+#: ../../security/main.pm_.c:128
+msgid "Network Options"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Portuguese"
+#: ../../security/main.pm_.c:128
+msgid "System Options"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: "
+#: ../../security/main.pm_.c:133 ../../security/main.pm_.c:164
+msgid ""
+"The following options can be set to customize your\n"
+"system security. If you need explanations, click on Help.\n"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "DNS server address should be in format 1.2.3.4"
+#: ../../security/main.pm_.c:177
+msgid "Periodic Checks"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Control key"
+#: ../../security/main.pm_.c:191
+msgid "Please wait, setting security level..."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Serbia"
+#: ../../security/main.pm_.c:197
+msgid "Please wait, setting security options..."
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Newzealand"
+#: ../../services.pm_.c:19
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
msgstr ""
-#: ../../fsedit.pm:1 ../../fsedit.pm:1
-#, c-format
-msgid "This directory should remain within the root filesystem"
+#: ../../services.pm_.c:20
+msgid "Anacron a periodic command scheduler."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Across Network"
+#: ../../services.pm_.c:21
+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 ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "CapsLock key"
+#: ../../services.pm_.c:23
+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 ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install bootloader"
+#: ../../services.pm_.c:25
+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 ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Select the memory size of your graphics card"
+#: ../../services.pm_.c:28
+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 ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../services.pm_.c:31
msgid ""
-"Enable/Disable crontab and at for users.\n"
-"\n"
-"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
-"and crontab(1))."
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../services.pm_.c:33
msgid ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
-"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Dynamic IP Address Pool:"
+#: ../../services.pm_.c:34
+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 ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM name?"
+#: ../../services.pm_.c:38
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
msgstr ""
-#: ../../standalone/service_harddrake:1
-#, c-format
+#: ../../services.pm_.c:40
msgid ""
-"Some devices in the \"%s\" hardware class were removed:\n"
-""
+"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 ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "The firmware file %s does not exist or is unreadable!"
+#: ../../services.pm_.c:43
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Found %s %s interfaces"
+#: ../../services.pm_.c:45
+msgid "Automatic detection and configuration of hardware at boot."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Install"
+#: ../../services.pm_.c:46
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The internal domain name"
+#: ../../services.pm_.c:48
+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 ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IRQ"
+#: ../../services.pm_.c:50
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "logdrake"
+#: ../../services.pm_.c:52
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../services.pm_.c:53
msgid ""
-"Font Importation and monitoring application \n"
-"--windows_import : import from all available windows partitions.\n"
-"--xls_fonts : show all fonts that already exist from xls\n"
-"--strong : strong verification of font.\n"
-"--install : accept any font file and any directry.\n"
-"--uninstall : uninstall any font or any directory of font.\n"
-"--replace : replace all font if already exist\n"
-"--application : 0 none application.\n"
-" : 1 all application available supported.\n"
-" : name_of_application like so for staroffice \n"
-" : and gs for ghostscript for only this one."
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#: ../../services.pm_.c:55
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the floppy drive you want to use to make the bootdisk"
+#: ../../services.pm_.c:57
+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 ""
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with text menu"
+#: ../../services.pm_.c:60
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Everything (no firewall)"
+#: ../../services.pm_.c:62
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and XFree at boot."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a kernel image"
+#: ../../services.pm_.c:64
+msgid "Support the OKI 4w and compatible winprinters."
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on USB"
+#: ../../services.pm_.c:65
+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 ""
-#: ../../interactive/newt.pm:1
-#, c-format
-msgid "Do"
+#: ../../services.pm_.c:68
+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 ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Contacting the mirror to get the list of available packages..."
+#: ../../services.pm_.c:71
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (old)"
+#: ../../services.pm_.c:72
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Brazilian (ABNT-2)"
+#: ../../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 ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address of host/network:"
+#: ../../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 ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../services.pm_.c:79
msgid ""
-"the progress bar y coordinate\n"
-"of its upper left corner"
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
msgstr ""
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System installation"
+#: ../../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 ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Vincent and the Grenadines"
+#: ../../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 ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid reboot by the console user."
+#: ../../services.pm_.c:85
+msgid "Launch the sound system on your machine"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Open"
+#: ../../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 ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Location of auto_install.cfg file"
+#: ../../services.pm_.c:88
+msgid "Load the drivers for your usb devices."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Open Firmware Delay"
+#: ../../services.pm_.c:89
+msgid "Starts the X Font Server (this is mandatory for XFree to run)."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Hungary"
+#: ../../services.pm_.c:115 ../../services.pm_.c:157
+msgid "Choose which services should be automatically started at boot time"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "New Zealand"
+#: ../../services.pm_.c:127
+msgid "Printing"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Color configuration"
+#: ../../services.pm_.c:128
+msgid "Internet"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "There are already some restrictions, and more automatic checks are run every night."
+#: ../../services.pm_.c:131
+msgid "File sharing"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "please choose the date to restore"
+#: ../../services.pm_.c:133 ../../standalone/drakbackup_.c:1709
+msgid "System"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Netherlands Antilles"
+#: ../../services.pm_.c:138
+msgid "Remote Administration"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Switching from ext2 to ext3"
+#: ../../services.pm_.c:146
+msgid "Database Server"
msgstr ""
-#: ../../printer/data.pm:1
+#: ../../services.pm_.c:175
#, c-format
-msgid "LPRng"
+msgid "Services: %d activated for %d registered"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Browse to new restore repository."
+#: ../../services.pm_.c:191
+msgid "Services"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard allows you to install local or remote printers to be used from this machine and also from other machines in the network.\n"
-"\n"
-"It asks you for all necessary information to set up the printer and gives you access to all available printer drivers, driver options, and printer connection types."
+#: ../../services.pm_.c:203
+msgid "running"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and %d unknown printers"
+#: ../../services.pm_.c:203
+msgid "stopped"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Early Intel Pentium chips manufactured have a bug in their floating point processor which did not achieve the required precision when performing a Floating point DIVision (FDIV)"
+#: ../../services.pm_.c:217
+msgid "Services and deamons"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../services.pm_.c:222
msgid ""
-"Backup quota exceeded!\n"
-"%d MB used vs %d MB allocated."
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "No ISDN PCI card found. Please select one on the next screen."
+"No additional information\n"
+"about this service, sorry."
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "GB"
+#: ../../services.pm_.c:229
+msgid "On boot"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Please give a user name"
+#: ../../services.pm_.c:241
+msgid "Start"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Enable CD Boot?"
+#: ../../services.pm_.c:241
+msgid "Stop"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Simply reboot"
+#: ../../share/advertising/01-thanks.pl_.c:9
+msgid "Thank you for choosing Mandrake Linux 9.0"
msgstr ""
-#: ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Congratulations"
+#: ../../share/advertising/01-thanks.pl_.c:10
+msgid "Welcome to the Open Source world"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid " enter `void' for void entry"
+#: ../../share/advertising/01-thanks.pl_.c:11
+msgid ""
+"The success of MandrakeSoft is based upon the principle of Free Software. "
+"Your new operating system is the result of collaborative work on the part of "
+"the worldwide Linux Community"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backups on unmountable media - Use Catalog to restore"
+#: ../../share/advertising/02-community.pl_.c:9
+msgid "Get involved in the Free Software world"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "January"
+#: ../../share/advertising/02-community.pl_.c:10
+msgid "Want to know more about the Open Source community?"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Password history length"
+#: ../../share/advertising/02-community.pl_.c:11
+msgid ""
+"To share your own knowledge and help build Linux tools, join the discussion "
+"forums you'll find on our \"Community\" webpages"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Winmodem connection"
+#: ../../share/advertising/03-internet.pl_.c:9
+msgid "Get the most from the Internet"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../share/advertising/03-internet.pl_.c:10
msgid ""
-"\n"
-"Congratulations, your printer is now installed and configured!\n"
-"\n"
-"You can print using the \"Print\" command of your application (usually in the \"File\" menu).\n"
-"\n"
-"If you want to add, remove, or rename a printer, or if you want to change the default option settings (paper input tray, printout quality, ...), select \"Printer\" in the \"Hardware\" section of the Mandrake Control Center."
+"Mandrake Linux 9.0 has selected the best software for you. Surf the Web and "
+"view animations with Mozilla and Konqueror, or read your mail and handle "
+"your personal information with Evolution and Kmail"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid ""
-"Now, you can run xawtv (under X Window!) !\n"
-""
+#: ../../share/advertising/04-multimedia.pl_.c:9
+msgid "Discover the most up-to-date graphical and multimedia tools!"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Not enough swap space to fulfill installation, please add some"
+#: ../../share/advertising/04-multimedia.pl_.c:10
+msgid "Push multimedia to its limits!"
msgstr ""
-#. -PO: example: lilo-graphic on /dev/hda1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "%s on %s"
+#: ../../share/advertising/04-multimedia.pl_.c:11
+msgid ""
+"Mandrake Linux 9.0 enables you to use the very latest software to play audio "
+"files, edit and handle your images or photos, and play videos"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid remote root login."
+#: ../../share/advertising/05-games.pl_.c:9
+msgid "Games"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../share/advertising/05-games.pl_.c:10
msgid ""
-"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
-"local time according to the time zone you selected. If the clock on your\n"
-"motherboard is set to local time, you may deactivate this by unselecting\n"
-"\"%s\", which will let GNU/Linux know that the system clock and the\n"
-"hardware clock are in the same timezone. This is useful when the machine\n"
-"also hosts another operating system like Windows.\n"
-"\n"
-"The \"%s\" option will automatically regulate the clock by connecting to a\n"
-"remote time server on the Internet. For this feature to work, you must have\n"
-"a working Internet connection. It is best to choose a time server located\n"
-"near you. This option actually installs a time server that can used by\n"
-"other machines on your local network as well."
+"Mandrake Linux 9.0 provides the best Open Source games - arcade, action, "
+"strategy, ..."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create log file!"
+#: ../../share/advertising/06-mcc.pl_.c:9 ../../standalone/drakbug_.c:49
+msgid "Mandrake Control Center"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakclock:1
-#, c-format
-msgid "Which is your timezone?"
+#: ../../share/advertising/06-mcc.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides a powerful tool to fully customize and configure "
+"your machine"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use .backupignore files"
+#: ../../share/advertising/07-desktop.pl_.c:9
+msgid "User interfaces"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea"
+#: ../../share/advertising/07-desktop.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides you with 11 user interfaces that can be fully "
+"modified: KDE 3, Gnome 2, WindowMaker, ..."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "The system is now connected to the Internet."
+#: ../../share/advertising/08-development.pl_.c:9
+msgid "Development simplified"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "South Georgia and the South Sandwich Islands"
+#: ../../share/advertising/08-development.pl_.c:10
+msgid "Mandrake Linux 9.0 is the ultimate development platform"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (broadcast)"
+#: ../../share/advertising/08-development.pl_.c:11
+msgid ""
+"Use the full power of the GNU gcc 3 compiler as well as the best Open Source "
+"development environments"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Fragmentation"
+#: ../../share/advertising/09-server.pl_.c:9
+msgid "Turn your machine into a reliable server"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../share/advertising/09-server.pl_.c:10
msgid ""
-"Monitor\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer."
+"Transform your machine into a powerful Linux server with a few clicks of "
+"your mouse: Web server, mail, firewall, router, file and print server, ..."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mozambique"
+#: ../../share/advertising/10-mnf.pl_.c:9
+msgid "Optimize your security"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "The wizard successfully configured the mail alert."
+#: ../../share/advertising/10-mnf.pl_.c:10
+msgid ""
+"The MandrakeSecurity range includes the Multi Network Firewall product (M.N."
+"F.)"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Icon"
+#: ../../share/advertising/10-mnf.pl_.c:11
+msgid ""
+"This firewall product includes network features that allow you to fulfill "
+"all your security needs"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/tree/mdk_totem:1
-#, c-format
-msgid "Kill those programs"
+#: ../../share/advertising/10-mnf.pl_.c:12
+msgid "This product is available on MandrakeStore website"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose what you want to backup"
+#: ../../share/advertising/11-mdkstore.pl_.c:9
+msgid "The official MandrakeSoft store"
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "256 colors (8 bits)"
+#: ../../share/advertising/11-mdkstore.pl_.c:10
+msgid ""
+"Our full range of Linux solutions, as well as special offers on products and "
+"other \"goodies,\" are available online on our e-store:"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Read-write"
+#: ../../share/advertising/12-mdkstore.pl_.c:9
+msgid "Strategic partners"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../share/advertising/12-mdkstore.pl_.c:10
msgid ""
-"Size: %s\n"
-""
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Hostname: "
+"MandrakeSoft works alongside a selection of companies offering professional "
+"solutions compatible with Mandrake Linux. A list of these partners is "
+"available on the MandrakeStore"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a rule"
+#: ../../share/advertising/13-mdkcampus.pl_.c:9
+msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../share/advertising/13-mdkcampus.pl_.c:10
msgid ""
-"Chunk size %s\n"
-""
+"The training program has been created to respond to the needs of both end "
+"users and experts (Network and System administrators)"
msgstr ""
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid "Build the future of Linux!"
+#: ../../share/advertising/13-mdkcampus.pl_.c:11
+msgid "Certify yourself on Linux"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printer"
+#: ../../share/advertising/13-mdkcampus.pl_.c:12
+msgid ""
+"Whether you choose to teach yourself online or via our network of training "
+"partners, the Linux-Campus catalogue prepares you for the acknowledged LPI "
+"certification program (worldwide professional technical certification)"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Floppy access error, unable to mount device %s"
+#: ../../share/advertising/14-mdkexpert.pl_.c:9
+msgid "Become a MandrakeExpert"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+#: ../../share/advertising/14-mdkexpert.pl_.c:10
+msgid ""
+"Find the solutions of your problems via MandrakeSoft's online support "
+"platform"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ADSL connection"
+#: ../../share/advertising/14-mdkexpert.pl_.c:11
+msgid ""
+"Join the MandrakeSoft support teams and the Linux Community online to share "
+"your knowledge and help others by becoming a recognized Expert on the online "
+"technical support website:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"No configuration, please click Wizard or Advanced.\n"
-""
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:9
+msgid "MandrakeExpert Corporate"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Error!"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:10
+msgid "An online platform to respond to company's specific support needs"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission denied transferring %s to %s"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:11
+msgid ""
+"All incidents will be followed up by a single qualified MandrakeSoft "
+"technical expert."
msgstr ""
-#: ../../standalone/drakups:1 ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Report Bug"
+#: ../../share/advertising/17-mdkclub.pl_.c:9
+msgid "Discover MandrakeClub and Mandrake Corporate Club"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominica"
+#: ../../share/advertising/17-mdkclub.pl_.c:10
+msgid ""
+"MandrakeClub and Mandrake Corporate Club were created for business and "
+"private users of Mandrake Linux who would like to directly support their "
+"favorite Linux distribution while also receiving special privileges. If you "
+"enjoy our products, if your company benefits from our products to gain a "
+"competititve edge, if you want to support Mandrake Linux development, join "
+"MandrakeClub!"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resize"
+#: ../../standalone.pm_.c:21
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone.pm_.c:40
msgid ""
-"Resolution: %s\n"
-""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version name.\n"
msgstr ""
-#: ../../install2.pm:1
-#, c-format
-msgid "Can't access kernel modules corresponding to your kernel (file %s is missing), this generally means your boot floppy in not in sync with the Installation medium (please create a newer boot floppy)"
+#: ../../standalone.pm_.c:51
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of mandrake tools\n"
+" --incident - program should be one of mandrake tools"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone.pm_.c:57
msgid ""
-"Please select the correct port. For example, the \"COM1\" port under\n"
-"Windows is named \"ttyS0\" under GNU/Linux."
+"Font Importation and monitoring "
+"application \n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--strong : strong verification of font.\n"
+"--install : accept any font file and any directry.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be removed"
+#: ../../standalone.pm_.c:68
+msgid ""
+"[OPTIONS]...\n"
+"\t --debug print debugging information"
msgstr ""
-#: ../../network/adsl.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Connect to the Internet"
+#: ../../standalone.pm_.c:70
+msgid ""
+"[OPTIONS]...\n"
+"Mandrake Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use existing partitions"
+#: ../../standalone.pm_.c:82
+msgid "[keyboard]"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Canadian (Quebec)"
+#: ../../standalone.pm_.c:83
+msgid "[--file=myfyle] [--word=myword] [--explain=regexp] [--alert]"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone.pm_.c:84
msgid ""
-"Mouse device: %s\n"
-""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : don't be interactive. To be used with (dis)connect."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Reselect correct fonts"
+#: ../../standalone.pm_.c:93
+msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone.pm_.c:94
msgid ""
-"Options\n"
-"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The firmware file for your %s was successfully installed."
+"[OPTION]...\n"
+" --no-confirmation don't ask first confirmation question in "
+"MandrakeUpdate mode\n"
+" --no-verify-rpm don't verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
msgstr ""
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "MandrakeExpert Corporate"
+#: ../../standalone.pm_.c:99
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-usbtable] "
+"[--dynamic=dev]"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../standalone.pm_.c:100
msgid ""
" [everything]\n"
" XFdrake [--noauto] monitor\n"
" XFdrake resolution"
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../standalone.pm_.c:114
#, c-format
-msgid "Write protection"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "You've not selected any font"
-msgstr ""
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Language"
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer model selection"
+#: ../../standalone.pm_.c:168
+msgid "Installing packages..."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After changing type of partition %s, all data on this partition will be lost"
+#: ../../standalone/XFdrake_.c:138
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
msgstr ""
-#: ../../harddrake/data.pm:1
+#: ../../standalone/XFdrake_.c:142
#, c-format
-msgid "ISDN adapters"
+msgid "Please relog into %s to activate the changes"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "%d seconds"
+#: ../../standalone/drakTermServ_.c:239
+msgid "Mandrake Terminal Server Configuration"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Insert a blank floppy in drive %s"
+#: ../../standalone/drakTermServ_.c:253
+msgid "Enable Server"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A valid URI must be entered!"
+#: ../../standalone/drakTermServ_.c:260
+msgid "Disable Server"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Found \"%s\" interface do you want to use it ?"
+#: ../../standalone/drakTermServ_.c:268
+msgid "Start Server"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Re-configure interface and DHCP server"
+#: ../../standalone/drakTermServ_.c:275
+msgid "Stop Server"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound configuration"
+#: ../../standalone/drakTermServ_.c:283
+msgid "Etherboot Floppy/ISO"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo test page"
+#: ../../standalone/drakTermServ_.c:288
+msgid "Net Boot Images"
msgstr ""
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Custom disk partitioning"
+#: ../../standalone/drakTermServ_.c:294
+msgid "Add/Del Users"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter Printer Name and Comments"
+#: ../../standalone/drakTermServ_.c:299
+msgid "Add/Del Clients"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:328
msgid ""
-"The following printers\n"
"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "You don't have any winmodem"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: %s"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTY)"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This should be a comma-separated list of local users or email addresses that you want the backup results sent to. You will need a functioning mail transfer agent setup on your system."
+" Copyright (C) 2002 by MandrakeSoft \n"
+"\tStew Benedict sbenedict\\@mandrakesoft.com\n"
+"\n"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:332
msgid ""
-"This is DrakUPS, a Mandrake configuration tool for UPS devices.\n"
"\n"
-"Author:</span> Thierry Vignaud &lt;tvignaud@mandrakesoft.com&gt;\n"
"\n"
-""
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Install firmware for the"
-msgstr ""
-
-#: ../../standalone/draksound:1
-#, c-format
-msgid "No Sound Card detected!"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse Port"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check for unsecured accounts"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Need to restart the Display Manager for full changes to take effect. \n"
-"(service dm restart - at the console)"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Ftp Server"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uganda"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "%s fonts conversion"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the type of bus on which the mouse is connected"
+" Thanks:\n"
+"\t- LTSP Project http://www.ltsp.org\n"
+"\t- Michael Brown <mbrown\\@fensystems.co.uk>\n"
+"\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:365
msgid ""
-"As a review, DrakX will present a summary of information it has about your\n"
-"system. Depending on your installed hardware, you may have some or all of\n"
-"the following entries. Each entry is made up of the configuration item to\n"
-"be configured, followed by a quick summary of the current configuration.\n"
-"Click on the corresponding \"%s\" button to change that.\n"
-"\n"
-" * \"%s\": check the current keyboard map configuration and change that if\n"
-"necessary.\n"
-"\n"
-" * \"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list.\n"
-"\n"
-" * \"%s\": By default, DrakX deduces your time zone based on the country\n"
-"you have chosen. You can click on the \"%s\" button here if this is not\n"
-"correct.\n"
-"\n"
-" * \"%s\": check the current mouse configuration and click on the button to\n"
-"change it if necessary.\n"
-"\n"
-" * \"%s\": clicking on the \"%s\" button will open the printer\n"
-"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-"Guide'' for more information on how to setup a new printer. The interface\n"
-"presented there is similar to the one used during installation.\n"
-"\n"
-" * \"%s\": if a sound card is detected on your system, it is displayed\n"
-"here. If you notice the sound card displayed is not the one that is\n"
-"actually present on your system, you can click on the button and choose\n"
-"another driver.\n"
-"\n"
-" * \"%s\": by default, DrakX configures your graphical interface in\n"
-"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
-"\"%s\" to reconfigure your graphical interface.\n"
+"drakTermServ Overview\n"
+"\t\t\t \n"
+" - Create Etherboot Enabled Boot Images:\n"
+" \t\tTo boot a kernel via etherboot, a special kernel/initrdrd image "
+"must be created.\n"
+" \t\tmkinitrd-net does much of this work and drakTermServ is just a "
+"graphical interface\n"
+" \t\tto help manage/customize these images.\n"
"\n"
-" * \"%s\": if a TV card is detected on your system, it is displayed here.\n"
-"If you have a TV card and it is not detected, click on \"%s\" to try to\n"
-"configure it manually.\n"
+" - Maintain /etc/dhcpd.conf:\n"
+" \t\tTo net boot clients, each client needs a dhcpd.conf entry, "
+"assigning an IP address\n"
+" \t\tand net boot images to the machine. drakTermServ helps create/"
+"remove these entries.\n"
+"\t\t\t\n"
+" \t\t(PCI cards may omit the image - etherboot will request the "
+"correct image. You should\n"
+" \t\talso consider that when etherboot looks for the images, it "
+"expects names like\n"
+" \t\tboot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
+"\t\t\t \n"
+" \t\tA typical dhcpd.conf stanza to support a diskless client looks "
+"like:\n"
+" \t\t\n"
+"\t\t\t\thost curly {\n"
+"\t\t\t\t\thardware ethernet 00:20:af:2f:f7:9d;\n"
+"\t\t\t\t\tfixed-address 192.168.192.3;\n"
+"\t\t\t\t\t/*type fat;*/\n"
+"\t\t\t\t\tfilename \"i386/boot/boot-3c509.2.4.18-6mdk."
+"nbi\";\n"
+"\t\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tWhile you can use a pool of IP addresses, rather than setup a specific "
+"entry for\n"
+"\t\t\ta client machine, using a fixed address scheme facilitates using the "
+"functionality\n"
+"\t\t\tof client-specific configuration files that ClusterNFS provides.\n"
+"\t\t\t\n"
+"\t\t\tNote: The \"/*type\" entry is only used by drakTermServ. Clients can "
+"either be \"thin\"*/\n"
+"\t\t\tor 'fat'. Thin clients run most software on the server via xdmcp, "
+"while fat clients run most\n"
+"\t\t\tsoftware on the client machine. A special inittab, /etc/inittab\\$\\"
+"$IP=client_ip\\$\\$ is\n"
+"\t\t\twritten for thin clients. System config files xdm-config, kdmrc, and "
+"gdm.conf are modified\n"
+"\t\t\tif thin clients are used, to enable xdmcp. Since there are security "
+"issues in using xdmcp,\n"
+"\t\t\thosts.deny and hosts.allow are modified to limit access to the local "
+"subnet.\n"
+"\t\t\t\n"
+"\t\t\tNote: You must stop/start the server after adding or changing "
+"clients.\n"
+"\t\t\t\n"
+" - Maintain /etc/exports:\n"
+" \t\tClusternfs allows export of the root filesystem to diskless "
+"clients. drakTermServ\n"
+" \t\tsets up the correct entry to allow anonymous access to the root "
+"filesystem from\n"
+" \t\tdiskless clients.\n"
"\n"
-" * \"%s\": if an ISDN card is detected on your system, it will be displayed\n"
-"here. You can click on \"%s\" to change the parameters associated with the\n"
-"card.\n"
+" \t\tA typical exports entry for clusternfs is:\n"
+" \t\t\n"
+" \t\t/ (ro,all_squash)\n"
+" \t\t/home SUBNET/MASK(rw,root_squash)\n"
+"\t\t\t\n"
+"\t\t\tWith SUBNET/MASK being defined for your network.\n"
+" \t\t\n"
+" - Maintain /etc/shadow\\$\\$CLIENT\\$\\$:\n"
+" \t\tFor users to be able to log into the system from a diskless "
+"client, their entry in\n"
+" \t\t/etc/shadow needs to be duplicated in /etc/shadow\\$\\$CLIENTS\\$"
+"\\$. drakTermServ helps\n"
+" \t\tin this respect by adding or removing system users from this "
+"file.\n"
+"\n"
+" - Per client /etc/X11XF86Config-4\\$\\$IP-ADDRESS\\$\\$:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future drakTermServ "
+"will help create these\n"
+" \t\tfiles.\n"
"\n"
-" * \"%s\": If you want to configure your Internet or local network access\n"
-"now.\n"
+" - Per client system configuration files:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future, "
+"drakTermServ can help create files\n"
+" \t\tsuch as /etc/modules.conf, /etc/sysconfig/mouse, /etc/sysconfig/"
+"keyboard on a per-client\n"
+" \t\tbasis.\n"
"\n"
-" * \"%s\": this entry allows you to redefine the security level as set in a\n"
-"previous step ().\n"
+" - /etc/xinetd.d/tftp:\n"
+" \t\tdrakTermServ will configure this file to work in conjunction "
+"with the images created by\n"
+" \t\tmkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
+"the boot image to each\n"
+" \t\tdiskless client.\n"
"\n"
-" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
-"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
-"the corresponding section of the ``Starter Guide'' for details about\n"
-"firewall settings.\n"
+" \t\tA typical tftp configuration file looks like:\n"
+" \t\t\n"
+" \t\tservice tftp\n"
+" \t\t(\n"
+" disable = no\n"
+" socket_type = dgram\n"
+" protocol = udp\n"
+" wait = yes\n"
+" user = root\n"
+" server = /usr/sbin/in.tftpd\n"
+" server_args = -s /var/lib/tftpboot\n"
+" \t\t}\n"
+" \t\t\n"
+" \t\tThe changes here from the default installation are changing the "
+"disable flag to\n"
+" \t\t'no' and changing the directory path to /var/lib/tftpboot, where "
+"mkinitrd-net\n"
+" \t\tputs it's images.\n"
"\n"
-" * \"%s\": if you wish to change your bootloader configuration, click that\n"
-"button. This should be reserved to advanced users.\n"
+" - Create etherboot floppies/CDs:\n"
+" \t\tThe diskless client machines need either ROM images on the NIC, "
+"or a boot floppy\n"
+" \t\tor CD to initate the boot sequence. drakTermServ will help "
+"generate these images,\n"
+" \t\tbased on the NIC in the client machine.\n"
+" \t\t\n"
+" \t\tA basic example of creating a boot floppy for a 3Com 3c509 "
+"manually:\n"
+" \t\t\n"
+" \t\tcat /usr/lib/etherboot/boot1a.bin /\\n \t\t\t/usr/lib/"
+"etherboot/lzrom/3c509.lzrom > /dev/fd0\n"
+" \n"
"\n"
-" * \"%s\": here you'll be able to fine control which services will be run\n"
-"on your machine. If you plan to use this machine as a server it's a good\n"
-"idea to review this setup."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Comoros"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "May"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable)"
-msgstr ""
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Can't relaunch LiLo!\n"
-"Launch \"lilo\" as root in command line to complete LiLo theme installation."
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select another media to restore from"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Software Manager"
+#: ../../standalone/drakTermServ_.c:488
+msgid "Boot Floppy"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Re-submit"
+#: ../../standalone/drakTermServ_.c:490
+msgid "Boot ISO"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD in place - continue."
+#: ../../standalone/drakTermServ_.c:559
+msgid "Build Whole Kernel -->"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "KB"
+#: ../../standalone/drakTermServ_.c:561 ../../standalone/drakTermServ_.c:591
+msgid "This will take a few minutes."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Network & Internet"
+#: ../../standalone/drakTermServ_.c:573
+msgid "No kernel selected!"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"phonetic\" QWERTY"
+#: ../../standalone/drakTermServ_.c:576
+msgid "Build Single NIC -->"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Net Boot Images"
+#: ../../standalone/drakTermServ_.c:587
+msgid "No nic selected!"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Sharing of local scanners"
+#: ../../standalone/drakTermServ_.c:590
+msgid "Build All Kernels -->"
msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play probing failed. Please select the correct monitor"
+#: ../../standalone/drakTermServ_.c:604
+msgid "<-- Delete"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Services and deamons"
+#: ../../standalone/drakTermServ_.c:611
+msgid "Delete All NBIs"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "It is possible that your %s needs its Firmware to be uploaded everytime when it is turned on."
+#: ../../standalone/drakTermServ_.c:668
+msgid ""
+"!!! Indicates the password in the system database is different than\n"
+" the one in the Terminal Server database.\n"
+"Delete/re-add the user to the Terminal Server to enable login."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name missing!"
+#: ../../standalone/drakTermServ_.c:673
+msgid "Add User -->"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "with /usr"
+#: ../../standalone/drakTermServ_.c:681
+msgid "<-- Del User"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../standalone/drakbackup:1
+#: ../../standalone/drakTermServ_.c:720
#, c-format
-msgid "Network"
+msgid "type: %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected to machines running Microsoft Windows"
+#: ../../standalone/drakTermServ_.c:753
+msgid "No net boot images created!"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "This password is too simple"
+#: ../../standalone/drakTermServ_.c:773
+msgid "Thin Client"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Chkconfig obey msec rules"
+#: ../../standalone/drakTermServ_.c:775
+msgid "Allow Thin Clients"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTZ)"
+#: ../../standalone/drakTermServ_.c:778
+msgid "Add Client -->"
msgstr ""
-#: ../advertising/06-development.pl:1
-#, c-format
-msgid "To modify and to create in different languages such as Perl, Python, C and C++ has never been so easy thanks to GNU gcc 3 and the best Open Source development environments."
+#: ../../standalone/drakTermServ_.c:821
+msgid "<-- Edit Client"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No devices found"
+#: ../../standalone/drakTermServ_.c:837
+msgid "Delete Client"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Truly minimal install (especially no urpmi)"
+#: ../../standalone/drakTermServ_.c:843
+msgid "dhcpd Config..."
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "\"%s\" neither is a valid email nor is an existing local user!"
+#: ../../standalone/drakTermServ_.c:876
+msgid ""
+"Need to restart the Display Manager for full changes to take effect. \n"
+"(service dm restart - at the console)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use daemon"
+#: ../../standalone/drakTermServ_.c:894
+msgid "Subnet:"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../network/netconnect.pm:1 ../../standalone/drakauth:1 ../../standalone/drakconnect:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Authentication"
+#: ../../standalone/drakTermServ_.c:901
+msgid "Netmask:"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
+#: ../../standalone/drakTermServ_.c:908
+msgid "Routers:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Additional CUPS servers: "
+#: ../../standalone/drakTermServ_.c:915
+msgid "Subnet Mask:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Choose one of the auto-detected printers from the list or enter the hostname or IP and the optional port number (default is 9100) in the input fields."
+#: ../../standalone/drakTermServ_.c:922
+msgid "Broadcast Address:"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount %s?"
+#: ../../standalone/drakTermServ_.c:929
+msgid "Domain Name:"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Algeria"
+#: ../../standalone/drakTermServ_.c:937
+msgid "Name Servers:"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Install/Update firmware files"
+#: ../../standalone/drakTermServ_.c:948
+msgid "IP Range Start:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network"
+#: ../../standalone/drakTermServ_.c:949
+msgid "IP Range End:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tar and bzip2 (rather than tar and gzip)"
+#: ../../standalone/drakTermServ_.c:1001
+msgid "dhcpd Server Configuration"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd-size"
+#: ../../standalone/drakTermServ_.c:1002
+msgid ""
+"Most of these values were extracted\n"
+"from your running system.\n"
+"You can modify as needed."
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
+#: ../../standalone/drakTermServ_.c:1005
+msgid "Dynamic IP Address Pool:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\tBackups use tar and gzip\n"
-""
+#: ../../standalone/drakTermServ_.c:1018
+msgid "Write Config"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Set as default"
+#: ../../standalone/drakTermServ_.c:1120
+msgid "Please insert floppy disk:"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "2 MB"
+#: ../../standalone/drakTermServ_.c:1124
+msgid "Couldn't access the floppy!"
msgstr ""
-#: ../../printer/main.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Configured on this machine"
+#: ../../standalone/drakTermServ_.c:1126
+msgid "Floppy can be removed now"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Control keys simultaneously"
+#: ../../standalone/drakTermServ_.c:1129
+msgid "No floppy drive available!"
msgstr ""
-#: ../../standalone/drakhelp:1
+#: ../../standalone/drakTermServ_.c:1138
#, c-format
-msgid ""
-" --help - display this help \n"
-""
+msgid "Etherboot ISO image is %s"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+#: ../../standalone/drakTermServ_.c:1140
+msgid "Something went wrong! - Is mkisofs installed?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Setting Default Printer..."
+#: ../../standalone/drakTermServ_.c:1159
+msgid "Need to create /etc/dhcpd.conf first!"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s (using module %s)"
+#: ../../standalone/drakTermServ_.c:1451
+msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Generating preview ..."
+#: ../../standalone/drakautoinst_.c:40
+msgid "Error!"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../standalone/drakautoinst_.c:41
#, c-format
-msgid "Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz frequency), or add enough '0' (zeroes)."
+msgid "I can't find needed image file `%s'."
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ignore"
+#: ../../standalone/drakautoinst_.c:43
+msgid "Auto Install Configurator"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:44
msgid ""
-"Allow/Forbid X connections:\n"
+"You are about to configure an Auto Install floppy. This feature is somewhat "
+"dangerous and must be used circumspectly.\n"
"\n"
-"- ALL (all connections are allowed),\n"
+"With that feature, you will be able to replay the installation you've "
+"performed on this computer, being interactively prompted for some steps, in "
+"order to change their values.\n"
"\n"
-"- LOCAL (only connection from local machine),\n"
+"For maximum safety, the partitioning and formatting will never be performed "
+"automatically, whatever you chose during the install of this computer.\n"
"\n"
-"- NONE (no connection)."
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on parallel port #%s"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "serial"
+"Do you want to continue?"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "DVD-ROM"
+#: ../../standalone/drakautoinst_.c:62 ../../standalone/drakautoinst_.c:71
+msgid "manual"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Latin\" layout)"
+#: ../../standalone/drakautoinst_.c:62
+msgid "replay"
msgstr ""
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid "Get the best items with Mandrake Linux Strategic partners"
+#: ../../standalone/drakautoinst_.c:66
+msgid "Automatic Steps Configuration"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:67
msgid ""
-"You may now provide options to module %s.\n"
-"Note that any address should be entered with the prefix 0x like '0x123'"
+"Please choose for each step whether it will replay like your install, or it "
+"will be manual"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kenya"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``Unmount'' first"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing mtools packages..."
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a root partition"
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "first step creation"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Shift keys simultaneously"
+#: ../../standalone/drakautoinst_.c:78 ../../standalone/drakautoinst_.c:79
+msgid "Creating auto install floppy"
msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:139
msgid ""
-" --id <id_label> - load the html help page which refers to id_label\n"
-""
-msgstr ""
-
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Do not install firmware file"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Select a scanner model"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Accept/Refuse bogus IPv4 error messages."
-msgstr ""
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng - LPR New Generation"
-msgstr ""
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup Configuration"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Save as.."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea (North)"
-msgstr ""
-
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System configuration"
-msgstr ""
-
-#: ../../any.pm:1 ../../security/l10n.pm:1
-#, c-format
-msgid "Autologin"
+"\n"
+"Welcome.\n"
+"\n"
+"The parameters of the auto-install are available in the sections on the left"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin Password"
+#: ../../standalone/drakautoinst_.c:234 ../../standalone/drakgw_.c:504
+#: ../../standalone/scannerdrake_.c:117
+msgid "Congratulations!"
msgstr ""
-#: ../advertising/05-desktop.pl:1
-#, c-format
-msgid "Perfectly adapt your computer to your needs thanks to the 11 available Mandrake Linux user interfaces which can be fully modified: KDE 3.1, GNOME 2.2, Window Maker, ..."
+#: ../../standalone/drakautoinst_.c:235
+msgid ""
+"The floppy has been successfully generated.\n"
+"You may now replay your installation."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer ..."
+#: ../../standalone/drakautoinst_.c:273
+msgid "Auto Install"
msgstr ""
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"To ensure data integrity after resizing the partition(s), \n"
-"filesystem checks will be run on your next boot into Windows(TM)"
+#: ../../standalone/drakautoinst_.c:343
+msgid "Add an item"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "MB"
+#: ../../standalone/drakautoinst_.c:350
+msgid "Remove the last item"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run some checks against the rpm database."
+#: ../../standalone/drakbackup_.c:580
+msgid "Cron not available yet as non-root"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (British)"
+#: ../../standalone/drakbackup_.c:690
+msgid "WARNING"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bermuda"
+#: ../../standalone/drakbackup_.c:691
+msgid "FATAL"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "click here if you are sure."
+#: ../../standalone/drakbackup_.c:692
+msgid "INFO"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:704
msgid ""
-"No configuration file found \n"
-"please click Wizard or Advanced."
+"\n"
+" DrakBackup Report \n"
+"\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:705
msgid ""
-"Listed here are the existing Linux partitions detected on your hard drive.\n"
-"You can keep the choices made by the wizard, since they are good for most\n"
-"common installations. If you make any changes, you must at least define a\n"
-"root partition (\"/\"). Do not choose too small a partition or you will not\n"
-"be able to install enough software. If you want to store your data on a\n"
-"separate partition, you will also need to create a \"/home\" partition\n"
-"(only possible if you have more than one Linux partition available).\n"
-"\n"
-"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
-"\n"
-"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
-"hard drives:\n"
+" DrakBackup Daemon Report\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"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:709
+msgid ""
"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+" DrakBackup Report Details\n"
"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
"\n"
-"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc."
-msgstr ""
-
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1 ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/drakups:1
-#, c-format
-msgid "Remove"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Lesotho"
-msgstr ""
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "utopia 25"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Pipe job into a command"
+#: ../../standalone/drakbackup_.c:730 ../../standalone/drakbackup_.c:803
+#: ../../standalone/drakbackup_.c:859
+msgid "Total progess"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
+#: ../../standalone/drakbackup_.c:785
#, c-format
-msgid "Remove system config files"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cote d'Ivoire"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "new dynamic device name generated by core kernel devfs"
-msgstr ""
-
-#: ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1 ../../modules/interactive.pm:1 ../../network/netconnect.pm:1 ../../standalone/drakgw:1 ../../standalone/drakgw:1 ../../standalone/drakgw:1 ../../standalone/drakgw:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Yes"
-msgstr ""
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which protocol do you want to use?"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Progress"
+msgid ""
+"%s exists, delete?\n"
+"\n"
+"Warning: If you've already done this process you'll probably\n"
+" need to purge the entry from authorized_keys on the server."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Estonia"
+#: ../../standalone/drakbackup_.c:794
+msgid "This may take a moment to generate the keys."
msgstr ""
-#: ../../partition_table.pm:1
+#: ../../standalone/drakbackup_.c:801
#, c-format
-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."
+msgid "ERROR: Cannot spawn %s."
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
+#: ../../standalone/drakbackup_.c:818
#, c-format
-msgid "Choose the host on which the local scanners should be made available:"
+msgid "No password prompt on %s at port %s"
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../standalone/drakbackup_.c:819
#, c-format
-msgid "Channel"
+msgid "Bad password on %s"
msgstr ""
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1 ../../standalone/drakbackup:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/drakups:1
+#: ../../standalone/drakbackup_.c:820
#, c-format
-msgid "Add"
+msgid "Permission denied transferring %s to %s"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:821
#, c-format
-msgid ""
-" Error while sending mail. \n"
-""
+msgid "Can't find %s on %s"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1 ../../standalone/keyboarddrake:1
+#: ../../standalone/drakbackup_.c:824
#, c-format
-msgid "Keyboard"
+msgid "%s not responding"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:828
#, c-format
msgid ""
-"Insert the CD with volume label %s\n"
-" in the CD drive under mount point /mnt/cdrom"
+"Transfer successful\n"
+"You may want to verify you can login to the server with:\n"
+"\n"
+"ssh -i %s %s\\@%s\n"
+"\n"
+"without being prompted for a password."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add enough '0' (zeroes)."
+#: ../../standalone/drakbackup_.c:873
+msgid "WebDAV remote site already in sync!"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the connection you want to configure"
+#: ../../standalone/drakbackup_.c:877
+msgid "WebDAV transfer failed!"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security level..."
+#: ../../standalone/drakbackup_.c:898
+msgid "No CDR/DVDR in drive!"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Configuring network device %s"
+#: ../../standalone/drakbackup_.c:902
+msgid "Does not appear to be recordable media!"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "activated"
+#: ../../standalone/drakbackup_.c:906
+msgid "Not erasable media!"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Please choose which network interface will be used for the dhcp server."
+#: ../../standalone/drakbackup_.c:945
+msgid "This may take a moment to erase the media."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Finding packages to upgrade..."
+#: ../../standalone/drakbackup_.c:1033
+msgid "Permission problem accessing CD."
msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakbackup_.c:1060
#, c-format
-msgid "Mount point: "
+msgid "No tape in %s!"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "parse all fonts"
+#: ../../standalone/drakbackup_.c:1174 ../../standalone/drakbackup_.c:1223
+msgid "Backup system files..."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid direct root login."
+#: ../../standalone/drakbackup_.c:1224 ../../standalone/drakbackup_.c:1291
+msgid "Hard Disk Backup files..."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid " Accept/Refuse broadcasted icmp echo."
+#: ../../standalone/drakbackup_.c:1236
+msgid "Backup User files..."
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With X"
+#: ../../standalone/drakbackup_.c:1237
+msgid "Hard Disk Backup Progress..."
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Multi-head configuration"
+#: ../../standalone/drakbackup_.c:1290
+msgid "Backup Other files..."
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "No browser available! Please install one"
+#: ../../standalone/drakbackup_.c:1296
+msgid "No changes to backup!"
msgstr ""
-#: ../../Xconfig/main.pm:1
+#: ../../standalone/drakbackup_.c:1312 ../../standalone/drakbackup_.c:1335
#, c-format
msgid ""
-"Keep the changes?\n"
-"The current configuration is:\n"
"\n"
-"%s"
-msgstr ""
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
+"Drakbackup activities via %s:\n"
+"\n"
msgstr ""
-#: ../../services.pm:1
+#: ../../standalone/drakbackup_.c:1319
#, c-format
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 ""
-
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Domain name"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Sharing of local printers"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable libsafe if libsafe is found on the system."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Available printers"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "NO"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Empty"
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text width"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The default lease (in seconds)"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Sensitivity threshold"
+"file list sent by FTP: %s\n"
+" "
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Select the network interface to remove:"
+#: ../../standalone/drakbackup_.c:1322
+msgid ""
+"\n"
+" FTP connection problem: It was not possible to send your backup files by "
+"FTP.\n"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1340
msgid ""
-"We are now going to configure the %s connection.\n"
"\n"
+"Drakbackup activities via CD:\n"
"\n"
-"Press \"%s\" to continue."
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Interface \"%s\""
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With basic documentation (recommended!)"
-msgstr ""
-
-#: ../../mouse.pm:1 ../../mouse.pm:1
-#, c-format
-msgid "1 button"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1345
msgid ""
"\n"
-"There are %d unknown printers directly connected to your system"
-msgstr ""
-
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Test"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea"
-msgstr ""
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default `%s'%s) "
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "official vendor name of the cpu"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Useless without Terminal Server"
-msgstr ""
-
-#: ../../Xconfig/monitor.pm:1 ../../standalone/harddrake2:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Vendor"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s"
-msgstr ""
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure mouse"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the mount points"
-msgstr ""
-
-#: ../../help.pm:1 ../../standalone/drakTermServ:1 ../../standalone/drakTermServ:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1
-#, c-format
-msgid "OK"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Yugoslavian (latin)"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan with Wheel emulation"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Launch userdrake"
+"Drakbackup activities via tape:\n"
+"\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Is this an install or an upgrade?"
+#: ../../standalone/drakbackup_.c:1354
+msgid " Error during mail sending. \n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "ISDN card"
+#: ../../standalone/drakbackup_.c:1380
+msgid "Can't create catalog!"
msgstr ""
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid "To share your own knowledge and help build Linux software, join our discussion forums on our \"Community\" webpages."
+#: ../../standalone/drakbackup_.c:1490 ../../standalone/drakbackup_.c:1501
+#: ../../standalone/drakfont_.c:946
+msgid "File Selection"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\t-Hard drive.\n"
-""
+#: ../../standalone/drakbackup_.c:1529
+msgid "Select the files or directories and click on 'Add'"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1573
msgid ""
-"This step is activated only if an old GNU/Linux partition has been found on\n"
-"your machine.\n"
-"\n"
-"DrakX now needs to know if you want to perform a new install or an upgrade\n"
-"of an existing Mandrake Linux system:\n"
-"\n"
-" * \"%s\": For the most part, this completely wipes out the old system. If\n"
-"you wish to change how your hard drives are partitioned, or change the file\n"
-"system, you should use this option. However, depending on your partitioning\n"
-"scheme, you can prevent some of your existing data from being over-written.\n"
"\n"
-" * \"%s\": this installation class allows you to update the packages\n"
-"currently installed on your Mandrake Linux system. Your current\n"
-"partitioning scheme and user data is not altered. Most of other\n"
-"configuration steps remain available, similar to a standard installation.\n"
-"\n"
-"Using the ``Upgrade'' option should work fine on Mandrake Linux systems\n"
-"running version \"8.1\" or later. Performing an Upgrade on versions prior\n"
-"to Mandrake Linux version \"8.1\" is not recommended."
+"Please check all options that you need.\n"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1574
msgid ""
-"\n"
-" Copyright (C) 2001-2002 by MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
-""
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on remote CUPS server"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "here if no."
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "DHCP host name"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The maximum lease (in seconds)"
+"These options can backup and restore all files in your /etc directory.\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose which serial port your mouse is connected to."
+#: ../../standalone/drakbackup_.c:1575
+msgid "Backup your System files. (/etc directory)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Did it work properly?"
+#: ../../standalone/drakbackup_.c:1576
+msgid "Use incremental backup (do not replace old backups)"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "Mount the file system read-only."
+#: ../../standalone/drakbackup_.c:1577
+msgid "Do not include critical files (passwd, group, fstab)"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Poor"
+#: ../../standalone/drakbackup_.c:1578
+msgid ""
+"With this option you will be able to restore any version\n"
+" of your /etc directory."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result by mail"
+#: ../../standalone/drakbackup_.c:1595
+msgid "Please check all users that you want to include in your backup."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Grenada"
+#: ../../standalone/drakbackup_.c:1622
+msgid "Do not include the browser cache"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP start range"
+#: ../../standalone/drakbackup_.c:1623 ../../standalone/drakbackup_.c:1647
+msgid "Use Incremental Backups (do not replace old backups)"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Unsafe"
+#: ../../standalone/drakbackup_.c:1645 ../../standalone/drakfont_.c:1000
+msgid "Remove Selected"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "SSH server"
+#: ../../standalone/drakbackup_.c:1679
+msgid "Windows (FAT32)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ", %s sectors"
+#: ../../standalone/drakbackup_.c:1714
+msgid "Users"
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1 ../../modules/interactive.pm:1 ../../network/netconnect.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "No"
+#: ../../standalone/drakbackup_.c:1740
+msgid "Use network connection to backup"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Guadeloupe"
+#: ../../standalone/drakbackup_.c:1742
+msgid "Net Method:"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Kannada"
+#: ../../standalone/drakbackup_.c:1746
+msgid "Use Expect for SSH"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1747
msgid ""
-"could not find any font.\n"
-""
-msgstr ""
-
-#: ../../standalone/drakups:1 ../../standalone/drakups:1
-#, c-format
-msgid "UPS driver configuration"
-msgstr ""
-
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr ""
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Vertical refresh rate"
+"Create/Transfer\n"
+"backup keys for SSH"
msgstr ""
-#: ../../install_steps_auto_install.pm:1 ../../install_steps_stdio.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1748
msgid ""
-"Entering step `%s'\n"
-""
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Niger"
+" Transfer \n"
+"Now"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan"
+#: ../../standalone/drakbackup_.c:1749
+msgid ""
+"Other (not drakbackup)\n"
+"keys in place already"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing %s ..."
+#: ../../standalone/drakbackup_.c:1753
+msgid "Please enter the host name or IP."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No printer"
+#: ../../standalone/drakbackup_.c:1758
+msgid ""
+"Please enter the directory (or module) to\n"
+" put the backup on this host."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NetWare Printer Options"
+#: ../../standalone/drakbackup_.c:1763
+msgid "Please enter your login"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "%s BootSplash (%s) preview"
+#: ../../standalone/drakbackup_.c:1768
+msgid "Please enter your password"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "February"
+#: ../../standalone/drakbackup_.c:1774
+msgid "Remember this password"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "General"
+#: ../../standalone/drakbackup_.c:1785
+msgid "Need hostname, username and password!"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Add a user"
+#: ../../standalone/drakbackup_.c:1879
+msgid "Use CD/DVDROM to backup"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "/etc/issue* exist"
+#: ../../standalone/drakbackup_.c:1882
+msgid ""
+"Please choose your CD/DVD device\n"
+"(Press Enter to propogate settings to other fields.\n"
+"This field isn't necessary, only a tool to fill in the form.)"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Network configuration (%d adapters)"
+#: ../../standalone/drakbackup_.c:1887
+msgid "Please choose your CD/DVD media size (Mb)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "April"
+#: ../../standalone/drakbackup_.c:1893
+msgid "Please check for multisession CD"
msgstr ""
-#: ../../scanner.pm:1
-#, c-format
-msgid "Could not create directory /usr/share/sane/firmware!"
+#: ../../standalone/drakbackup_.c:1899
+msgid "Please check if you are using CDRW media"
msgstr ""
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "Mandatory package %s is missing"
+#: ../../standalone/drakbackup_.c:1905
+msgid "Please check if you want to erase your RW media (1st Session)"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Deactivate now"
+#: ../../standalone/drakbackup_.c:1906
+msgid " Erase Now "
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Philippines"
+#: ../../standalone/drakbackup_.c:1912
+msgid "Please check if you are using a DVDR device"
msgstr ""
-#: ../../interactive.pm:1 ../../ugtk2.pm:1 ../../ugtk2.pm:1 ../../ugtk2.pm:1 ../../ugtk2.pm:1 ../../Xconfig/resolution_and_depth.pm:1 ../../interactive/gtk.pm:1 ../../interactive/http.pm:1 ../../interactive/http.pm:1 ../../interactive/newt.pm:1 ../../interactive/newt.pm:1 ../../interactive/stdio.pm:1 ../../interactive/stdio.pm:1 ../../interactive/stdio.pm:1 ../../interactive/stdio.pm:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakboot:1 ../../standalone/drakclock:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1 ../../standalone/drakfloppy:1 ../../standalone/drakperm:1 ../../standalone/drakperm:1 ../../standalone/draksec:1 ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/mousedrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Ok"
+#: ../../standalone/drakbackup_.c:1918
+msgid "Please check if you are using a DVDRAM device"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "drakTermServ Overview"
+#: ../../standalone/drakbackup_.c:1931
+msgid ""
+"Please enter your CD Writer device name\n"
+" ex: 0,1,0"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print Queue Name"
+#: ../../standalone/drakbackup_.c:1964
+msgid "No CD device defined!"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you want to use aboot?"
+#: ../../standalone/drakbackup_.c:2012
+msgid "Use tape to backup"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belarusian"
+#: ../../standalone/drakbackup_.c:2015
+msgid "Please enter the device name to use for backup"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"PDQ only supports local printers, remote LPD printers, and Socket/TCP printers.\n"
-""
+#: ../../standalone/drakbackup_.c:2021
+msgid "Please check if you want to use the non-rewinding device."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move files to the new partition"
+#: ../../standalone/drakbackup_.c:2027
+msgid "Please check if you want to erase your tape before the backup."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add here the CUPS servers whose printers you want to use. You only need to do this if the servers do not broadcast their printer information into the local network."
+#: ../../standalone/drakbackup_.c:2033
+msgid "Please check if you want to eject your tape after the backup."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2039 ../../standalone/drakbackup_.c:2112
+#: ../../standalone/drakbackup_.c:3068
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this computer.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/they can be auto-detected.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want to set up your printer(s) now."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Pitcairn"
+"Please enter the maximum size\n"
+" allowed for Drakbackup"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "The port on which is connected your ups"
+#: ../../standalone/drakbackup_.c:2103
+msgid "Please enter the directory to save to:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From Catalog"
+#: ../../standalone/drakbackup_.c:2118 ../../standalone/drakbackup_.c:3074
+msgid "Use quota for backup files."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "IDE"
+#: ../../standalone/drakbackup_.c:2180
+msgid "Network"
msgstr ""
-#: ../../fs.pm:1 ../../fs.pm:1
-#, c-format
-msgid "mounting partition %s in directory %s failed"
+#: ../../standalone/drakbackup_.c:2185
+msgid "CDROM / DVDROM"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo screen"
+#: ../../standalone/drakbackup_.c:2190
+msgid "HardDrive / NFS"
msgstr ""
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with graphical menu"
+#: ../../standalone/drakbackup_.c:2195
+msgid "Tape"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Estimating"
+#: ../../standalone/drakbackup_.c:2208 ../../standalone/drakbackup_.c:2212
+#: ../../standalone/drakbackup_.c:2216
+msgid "hourly"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It is already installed"
+#: ../../standalone/drakbackup_.c:2209 ../../standalone/drakbackup_.c:2213
+#: ../../standalone/drakbackup_.c:2216
+msgid "daily"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on SMB/Windows server \"%s\""
+#: ../../standalone/drakbackup_.c:2210 ../../standalone/drakbackup_.c:2214
+#: ../../standalone/drakbackup_.c:2216
+msgid "weekly"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Go on anyway?"
+#: ../../standalone/drakbackup_.c:2211 ../../standalone/drakbackup_.c:2215
+#: ../../standalone/drakbackup_.c:2216
+msgid "monthly"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages and rebuilding rpm database..."
+#: ../../standalone/drakbackup_.c:2229
+msgid "Use daemon"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2234
msgid ""
-"\n"
-" DrakBackup Report \n"
-""
+"Please choose the time \n"
+"interval between each backup"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Does not appear to be recordable media!"
-msgstr ""
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Specify options"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Vanuatu"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2240
msgid ""
-"New user list:\n"
-""
+"Please choose the\n"
+"media for backup."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Either the server name or the server's IP must be given!"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2247
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"
+"Please be sure that the cron daemon is included in your services. \n"
"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the first\n"
-"drive and press \"Ok\"."
-msgstr ""
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use an encrypted file system for mount point %s"
+"Note that currently all 'net' medias also use the hard drive."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the password history length to prevent password reuse."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Norfolk Island"
+#: ../../standalone/drakbackup_.c:2283
+msgid "Send mail report after each backup to:"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Theme installation failed!"
+#: ../../standalone/drakbackup_.c:2289
+msgid "Delete Hard Drive tar files after backup to other media."
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Nothing to do"
+#: ../../standalone/drakbackup_.c:2324
+msgid "What"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Use for loopback"
+#: ../../standalone/drakbackup_.c:2329
+msgid "Where"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Bug Report Tool"
+#: ../../standalone/drakbackup_.c:2334
+msgid "When"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Apply filter"
+#: ../../standalone/drakbackup_.c:2339
+msgid "More Options"
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pppoe"
+#: ../../standalone/drakbackup_.c:2358 ../../standalone/drakbackup_.c:4444
+msgid "Drakbackup Configuration"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving files to the new partition"
+#: ../../standalone/drakbackup_.c:2376
+msgid "Please choose where you want to backup"
msgstr ""
-#: ../../Xconfig/card.pm:1 ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
+#: ../../standalone/drakbackup_.c:2378
+msgid "on Hard Drive"
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../interactive.pm:1
-#, c-format
-msgid "Advanced"
+#: ../../standalone/drakbackup_.c:2388
+msgid "across Network"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer"
+#: ../../standalone/drakbackup_.c:2398
+msgid "on CDROM"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Swedish)"
+#: ../../standalone/drakbackup_.c:2406
+msgid "on Tape Device"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Afghanistan"
+#: ../../standalone/drakbackup_.c:2449
+msgid "Please choose what you want to backup"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "More Options"
+#: ../../standalone/drakbackup_.c:2450
+msgid "Backup system"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Delete Hard Drive tar files after backup to other media."
+#: ../../standalone/drakbackup_.c:2451
+msgid "Backup Users"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Burundi"
+#: ../../standalone/drakbackup_.c:2454
+msgid "Select user manually"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2537
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 ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add Client -->"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read carefully!"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "RW"
+"\n"
+"Backup Sources: \n"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2538
msgid ""
-"Please,\n"
-"type in your tv norm and country"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "RTS/CTS"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/drakups:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Port"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "No (experts only)"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No kernel selected!"
-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:1
-#, c-format
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-GID"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The encryption keys do not match"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "For a multisession CD, only the first session will erase the cdrw. Otherwise the cdrw is erased before each backup."
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "USB printer"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right \"Windows\" key"
-msgstr ""
-
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Detect USB key again"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check empty password in /etc/shadow."
+"\n"
+"- System Files:\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2540
msgid ""
-"Before continuing, you should carefully read the terms of the license. It\n"
-"covers the entire Mandrake Linux distribution. If you do agree with all the\n"
-"terms in it, check the \"%s\" box. If not, simply turn off your computer."
+"\n"
+"- User Files:\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2542
msgid ""
-"Here is a list of the available printing options for the current printer:\n"
"\n"
-""
-msgstr ""
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolutions"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "It is possible that your scanners need their firmware to be uploaded everytime when they are turned on."
+"- Other Files:\n"
msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../standalone/drakbackup_.c:2544
#, c-format
msgid ""
-"drakfirewall configurator\n"
"\n"
-"This configures a personal firewall for this Mandrake Linux machine.\n"
-"For a powerful and dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Please enter your username, password and domain name to access this host."
-msgstr ""
-
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Remove selected host"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _jaz drives"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "No sharing"
+"- Save on Hard drive on path: %s\n"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule down one level"
+#: ../../standalone/drakbackup_.c:2547
+msgid ""
+"\n"
+"- Delete hard drive tar files after backup.\n"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "TB"
+#: ../../standalone/drakbackup_.c:2553
+msgid ""
+"\n"
+"- Burn to CD"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "FATAL"
+#: ../../standalone/drakbackup_.c:2554
+msgid "RW"
msgstr ""
-#: ../../standalone/printerdrake:1
+#: ../../standalone/drakbackup_.c:2555
#, c-format
-msgid "Refresh the list"
+msgid " on device: %s"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Per client %s:\n"
-" \tThrough clusternfs, each diskless client can have its own unique configuration files\n"
-" \ton the root filesystem of the server. By allowing local client hardware configuration, \n"
-" \tdrakTermServ will help create these files."
+#: ../../standalone/drakbackup_.c:2556
+msgid " (multi-session)"
msgstr ""
-#: ../../standalone/drakpxe:1
+#: ../../standalone/drakbackup_.c:2557
#, c-format
msgid ""
-"The DHCP server will allow other computer to boot using PXE in the given range of address.\n"
-"\n"
-"The network address is %s using a netmask of %s.\n"
"\n"
-""
+"- Save to Tape on device: %s"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1 ../../standalone/drakperm:1 ../../standalone/printerdrake:1
+#: ../../standalone/drakbackup_.c:2558
#, c-format
-msgid "Delete"
+msgid "\t\tErase=%s"
msgstr ""
-#: ../../Xconfig/various.pm:1
+#: ../../standalone/drakbackup_.c:2561
#, c-format
msgid ""
-"I can setup your computer to automatically start the graphical interface (XFree) upon booting.\n"
-"Would you like XFree to start when you reboot?"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Build the disk"
+"\n"
+"- Save via %s on host: %s\n"
msgstr ""
-#: ../../standalone/net_monitor:1
+#: ../../standalone/drakbackup_.c:2562
#, c-format
-msgid "Disconnect %s"
+msgid ""
+"\t\t user name: %s\n"
+"\t\t on path: %s \n"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2563
msgid ""
-"Welcome to the UPS configuration utility.\n"
"\n"
-"Here, you'll be add a new UPS to your system.\n"
-""
+"- Options:\n"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Status:"
+#: ../../standalone/drakbackup_.c:2564
+msgid "\tDo not include System Files\n"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "HTTP proxy"
+#: ../../standalone/drakbackup_.c:2567
+msgid "\tBackups use tar and bzip2\n"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "SSH Server"
+#: ../../standalone/drakbackup_.c:2569
+msgid "\tBackups use tar and gzip\n"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:2572
#, c-format
msgid ""
-"\t-Network by rsync.\n"
-""
-msgstr ""
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on server \"%s\""
+"\n"
+"- Daemon (%s) include:\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Note that currently all 'net' media also use the hard drive."
+#: ../../standalone/drakbackup_.c:2573
+msgid "\t-Hard drive.\n"
msgstr ""
-#: ../../fsedit.pm:1 ../../install_steps_interactive.pm:1 ../../install_steps.pm:1 ../../wizards.pm:1 ../../wizards.pm:1 ../../wizards.pm:1 ../../diskdrake/dav.pm:1 ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1 ../../interactive/http.pm:1 ../../standalone/drakauth:1 ../../standalone/drakboot:1 ../../standalone/drakboot:1 ../../standalone/drakboot:1 ../../standalone/drakboot:1 ../../standalone/drakboot:1 ../../standalone/drakboot:1 ../../standalone/drakbug:1 ../../standalone/drakbug:1 ../../standalone/drakbug:1 ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1 ../../standalone/drakfloppy:1 ../../standalone/drakfloppy:1 ../../standalone/drakfont:1 ../../standalone/draksplash:1 ../../standalone/logdrake:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/tree/mdk_totem:1
-#, c-format
-msgid "Error"
+#: ../../standalone/drakbackup_.c:2574
+msgid "\t-CDROM.\n"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "allow \"su\""
+#: ../../standalone/drakbackup_.c:2575
+msgid "\t-Tape \n"
msgstr ""
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Australia"
+#: ../../standalone/drakbackup_.c:2576
+msgid "\t-Network by FTP.\n"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "please wait during ttmkfdir..."
+#: ../../standalone/drakbackup_.c:2577
+msgid "\t-Network by SSH.\n"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure only card \"%s\"%s"
+#: ../../standalone/drakbackup_.c:2578
+msgid "\t-Network by rsync.\n"
msgstr ""
-#: ../../standalone/drakups:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Level"
+#: ../../standalone/drakbackup_.c:2579
+msgid "\t-Network by webdav.\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Change the printing system"
+#: ../../standalone/drakbackup_.c:2581
+msgid "No configuration, please click Wizard or Advanced.\n"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2587
msgid ""
-"Your system supports multiple head configuration.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "mount failed: "
-msgstr ""
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure services"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Broadcast Address:"
+"List of data to restore:\n"
+"\n"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the GNU/Linux kernel needs to run a calculation loop at boot time to initialize a timer counter. Its result is stored as bogomips as a way to \"benchmark\" the cpu."
+#: ../../standalone/drakbackup_.c:2754
+msgid ""
+"List of data corrupted:\n"
+"\n"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Image"
+#: ../../standalone/drakbackup_.c:2756
+msgid "Please uncheck or remove it on next time."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Remote Administration"
+#: ../../standalone/drakbackup_.c:2766
+msgid "Backup files are corrupted"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
+#: ../../standalone/drakbackup_.c:2787
+msgid " All of your selected data have been "
msgstr ""
-#: ../../modules.pm:1
+#: ../../standalone/drakbackup_.c:2788
#, c-format
-msgid "PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
+msgid " Successfuly Restored on %s "
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Selected All"
+#: ../../standalone/drakbackup_.c:2906
+msgid " Restore Configuration "
msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "CUPS - Common Unix Printing System"
+#: ../../standalone/drakbackup_.c:2924
+msgid "OK to restore the other files."
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Webmin Service"
+#: ../../standalone/drakbackup_.c:2941
+msgid "User list to restore (only the most recent date per user is important)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "device"
+#: ../../standalone/drakbackup_.c:3019
+msgid "Backup the system files before:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save to:"
+#: ../../standalone/drakbackup_.c:3021
+msgid "please choose the date to restore"
msgstr ""
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Greece"
+#: ../../standalone/drakbackup_.c:3057
+msgid "Use Hard Disk to backup"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "All"
+#: ../../standalone/drakbackup_.c:3060
+msgid "Please enter the directory to save:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printing system (spooler) do you want to use?"
+#: ../../standalone/drakbackup_.c:3103
+msgid "FTP Connection"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "July"
+#: ../../standalone/drakbackup_.c:3110
+msgid "Secure Connection"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Prints into %s"
+#: ../../standalone/drakbackup_.c:3134
+msgid "Restore from Hard Disk."
msgstr ""
-#: ../../install_steps_interactive.pm:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "An error occurred"
+#: ../../standalone/drakbackup_.c:3136
+msgid "Please enter the directory where backups are stored"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid ""
-"This package must be upgraded.\n"
-"Are you sure you want to deselect it?"
+#: ../../standalone/drakbackup_.c:3204
+msgid "Select another media to restore from"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (Typewriter-layout)"
+#: ../../standalone/drakbackup_.c:3206
+msgid "Other Media"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Use password to authenticate users."
+#: ../../standalone/drakbackup_.c:3211
+msgid "Restore system"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid the list of users on the system on display managers (kdm and gdm)."
+#: ../../standalone/drakbackup_.c:3212
+msgid "Restore Users"
msgstr ""
-#: ../../standalone/drakautoinst:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "manual"
+#: ../../standalone/drakbackup_.c:3213
+msgid "Restore Other"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Filename text to search for:"
+#: ../../standalone/drakbackup_.c:3215
+msgid "select path to restore (instead of /)"
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Reset"
+#: ../../standalone/drakbackup_.c:3219
+msgid "Do new backup before restore (only for incremental backups.)"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model, driver"
+#: ../../standalone/drakbackup_.c:3221
+msgid "Remove user directories before restore."
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/drakbackup_.c:3334
msgid ""
-"There is no medium or it is write-protected for device %s.\n"
-"Please insert one."
+"Restore Selected\n"
+"Catalog Entry"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:3344
msgid ""
-"Directory %s already contains data\n"
-"(%s)"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on NetWare server"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Give the ram size in MB"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Friday"
-msgstr ""
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet complete."
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Autodetection"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Real name"
-msgstr ""
-
-#: ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1 ../../standalone/drakfont:1
-#, c-format
-msgid "done"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please uncheck or remove it on next time."
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Higher"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the partitions you want to format"
+"Restore Selected\n"
+"Files"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
+#: ../../standalone/drakbackup_.c:3361
msgid ""
-"No TV Card has been detected on your machine. Please verify that a Linux-supported Video/TV Card is correctly plugged in.\n"
-"\n"
-"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't find %s on %s"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Japanese 106 keys"
-msgstr ""
-
-#: ../../scanner.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Could not install the packages needed to share your scanner(s)."
-msgstr ""
-
-#: ../../standalone/drakTermServ:1 ../../standalone/drakTermServ:1
-#, c-format
-msgid "This will take a few minutes."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Burkina Faso"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "June"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use scanners on remote computers"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Delete selected rule"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Accessing printers on remote CUPS servers"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Insert a floppy in %s"
+"Change\n"
+"Restore Path"
msgstr ""
-#: ../../lang.pm:1
+#: ../../standalone/drakbackup_.c:3427
#, c-format
-msgid "Maldives"
+msgid "Backup files not found at %s."
msgstr ""
-#: ../../any.pm:1
+#: ../../standalone/drakbackup_.c:3440
#, c-format
-msgid "compact"
+msgid ""
+"Insert the CD with volume label %s\n"
+" in the CD drive under mount point /mnt/cdrom"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "1 minute"
+#: ../../standalone/drakbackup_.c:3440
+msgid "Restore From CD"
msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../standalone/drakbackup_.c:3442
#, c-format
-msgid "type: fat"
+msgid "Not the correct CD label. Disk is labelled %s."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakbackup_.c:3452
#, c-format
msgid ""
-"on channel %d id %d\n"
-""
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Laos"
+"Insert the tape with volume label %s\n"
+" in the tape drive device %s"
msgstr ""
-#: ../advertising/04-configuration.pl:1
-#, c-format
-msgid "Mandrake Linux 9.2 provides you with the Mandrake Control Center, a powerful tool to fully adapt your computer to the use you make of it. Configure and customize elements such as the security level, the peripherals (screen, mouse, keyboard...), the Internet connection and much more!"
+#: ../../standalone/drakbackup_.c:3452
+msgid "Restore From Tape"
msgstr ""
-#: ../../security/help.pm:1
+#: ../../standalone/drakbackup_.c:3454
#, c-format
-msgid "Activate/Disable ethernet cards promiscuity check."
+msgid "Not the correct tape label. Tape is labelled %s."
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Congratulations, the \"%s\" network interface has been succesfully deleted"
+#: ../../standalone/drakbackup_.c:3474
+msgid "Restore Via Network"
msgstr ""
-#: ../../install_interactive.pm:1
+#: ../../standalone/drakbackup_.c:3474
#, c-format
-msgid "There is no FAT partition to resize (or not enough space left)"
+msgid "Restore Via Network Protocol: %s"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Up"
+#: ../../standalone/drakbackup_.c:3475
+msgid "Host Name"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Firewall"
+#: ../../standalone/drakbackup_.c:3476
+msgid "Host Path or Module"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Area:"
+#: ../../standalone/drakbackup_.c:3483
+msgid "Password required"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "(E)IDE/ATA controllers"
+#: ../../standalone/drakbackup_.c:3489
+msgid "Username required"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "All I/O to the file system should be done synchronously."
+#: ../../standalone/drakbackup_.c:3492
+msgid "Hostname required"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Server"
+#: ../../standalone/drakbackup_.c:3497
+msgid "Path or Module required"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Custom configuration"
+#: ../../standalone/drakbackup_.c:3510
+msgid "Files Restored..."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "To do so, you need to supply the firmware files for your scanners so that it can be installed."
+#: ../../standalone/drakbackup_.c:3513
+msgid "Restore Failed..."
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"Please indicate where the installation image will be available.\n"
-"\n"
-"If you do not have an existing directory, please copy the CD or DVD contents.\n"
-"\n"
-""
+#: ../../standalone/drakbackup_.c:3751
+msgid "Restore all backups"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Pierre and Miquelon"
+#: ../../standalone/drakbackup_.c:3760
+msgid "Custom Restore"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "September"
+#: ../../standalone/drakbackup_.c:3804
+msgid "CD in place - continue."
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "saving Bootsplash theme..."
+#: ../../standalone/drakbackup_.c:3810
+msgid "Browse to new restore repository."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Portugal"
+#: ../../standalone/drakbackup_.c:3813
+msgid "Restore From Catalog"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have another one?"
+#: ../../standalone/drakbackup_.c:3841
+msgid "Restore Progress"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", printing to %s"
+#: ../../standalone/drakbackup_.c:3883 ../../standalone/drakbackup_.c:3916
+#: ../../standalone/drakbackup_.c:3942 ../../standalone/drakbackup_.c:3969
+#: ../../standalone/drakbackup_.c:3996 ../../standalone/drakbackup_.c:4056
+#: ../../standalone/drakbackup_.c:4083 ../../standalone/drakbackup_.c:4113
+#: ../../standalone/drakbackup_.c:4139
+msgid "Previous"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Assign host name from DHCP address"
+#: ../../standalone/drakbackup_.c:3887 ../../standalone/drakbackup_.c:3973
+#: ../../standalone/logdrake_.c:203
+msgid "Save"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to normal mode"
+#: ../../standalone/drakbackup_.c:3946
+msgid "Build Backup"
msgstr ""
-#: ../../mouse.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Generic"
+#: ../../standalone/drakbackup_.c:4000 ../../standalone/drakbackup_.c:4544
+msgid "Restore"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4189
msgid ""
-"Cylinder %d to %d\n"
-""
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "YOUR TEXT HERE"
-msgstr ""
-
-#: ../../modules/interactive.pm:1 ../../standalone/draksec:1
-#, c-format
-msgid "NONE"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which disk do you want to move it to?"
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Display logo on Console"
-msgstr ""
-
-#: ../../any.pm:1 ../../any.pm:1
-#, c-format
-msgid "Windows Domain"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Saami (norwegian)"
-msgstr ""
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Interface %s (on network %s)"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "INFO"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Wallis and Futuna"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Need to create /etc/dhcpd.conf first!"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Is FPU present"
+"Error during sendmail.\n"
+" Your report mail was not sent.\n"
+" Please configure sendmail"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4195
msgid ""
-"No additional information\n"
-"about this service, sorry."
+"Error during sending file via FTP.\n"
+" Please correct your FTP configuration."
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4209
msgid ""
-"There are no scanners found which are available on your system.\n"
-""
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Single NIC -->"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Marshall Islands"
-msgstr ""
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Is this correct?"
-msgstr ""
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Root password"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Windows (FAT32)"
+"The following packages need to be installed:\n"
+" @list_of_rpm_to_install"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build All Kernels -->"
+#: ../../standalone/drakbackup_.c:4232
+msgid "Please select data to restore..."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVDRAM device"
+#: ../../standalone/drakbackup_.c:4267
+msgid "Please select media for backup..."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report unowned files."
+#: ../../standalone/drakbackup_.c:4275
+msgid "Please select data to backup..."
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4293 ../../standalone/drakbackup_.c:4304
msgid ""
-"You don't have a swap partition.\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Version: "
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Server IP missing!"
+"No configuration file found \n"
+"please click Wizard or Advanced."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Suriname"
+#: ../../standalone/drakbackup_.c:4308
+msgid "Under Devel ... please wait."
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Use a floppy"
+#: ../../standalone/drakbackup_.c:4382
+msgid "Backup system files"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Enable ACPI"
+#: ../../standalone/drakbackup_.c:4384
+msgid "Backup user files"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "Give write access to ordinary users"
+#: ../../standalone/drakbackup_.c:4386
+msgid "Backup other files"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Environment"
+#: ../../standalone/drakbackup_.c:4388 ../../standalone/drakbackup_.c:4421
+msgid "Total Progress"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Gibraltar"
+#: ../../standalone/drakbackup_.c:4412
+msgid "files sending by FTP"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Do nothing"
+#: ../../standalone/drakbackup_.c:4416
+msgid "Sending files..."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Delete Client"
+#: ../../standalone/drakbackup_.c:4500
+msgid "Backup Now from configuration file"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem type: "
+#: ../../standalone/drakbackup_.c:4505
+msgid "View Backup Configuration."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting network..."
+#: ../../standalone/drakbackup_.c:4526
+msgid "Wizard Configuration"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Vietnam"
+#: ../../standalone/drakbackup_.c:4531
+msgid "Advanced Configuration"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/_Fields description"
+#: ../../standalone/drakbackup_.c:4536
+msgid "Backup Now"
msgstr ""
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid "Optimize your security by using Mandrake Linux"
+#: ../../standalone/drakbackup_.c:4576
+msgid "Drakbackup"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4624
msgid ""
+"options description:\n"
"\n"
+" In this step Drakbackup allow you to change:\n"
"\n"
-" Thanks:\n"
-"\t- LTSP Project http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
+" - The compression mode:\n"
+" \n"
+" If you check bzip2 compression, you will compress\n"
+" your data better than gzip (about 2-10 %).\n"
+" This option is not checked by default because\n"
+" this compression mode needs more time (about 1000% more).\n"
+" \n"
+" - The update mode:\n"
+"\n"
+" This option will update your backup, but this\n"
+" option is not really useful because you need to\n"
+" decompress your backup before you can update it.\n"
+" \n"
+" - the .backupignore mode:\n"
+"\n"
+" Like with cvs, Drakbackup will ignore all references\n"
+" included in .backupignore files in each directories.\n"
+" ex: \n"
+" /*> cat .backupignore*/\n"
+" *.o\n"
+" *~\n"
+" ...\n"
+" \n"
"\n"
-""
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1 ../../ugtk2.pm:1 ../../Xconfig/resolution_and_depth.pm:1 ../../diskdrake/hd_gtk.pm:1 ../../interactive/gtk.pm:1 ../../interactive/gtk.pm:1 ../../standalone/drakTermServ:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbug:1 ../../standalone/drakconnect:1 ../../standalone/drakfont:1 ../../standalone/drakperm:1 ../../standalone/draksec:1 ../../standalone/drakups:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Help"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check if the network devices are in promiscuous mode"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4654
msgid ""
-"Iwspy is used to set a list of addresses in a wireless network\n"
-"interface and to read back quality of link information for each of those.\n"
"\n"
-"This information is the same as the one available in /proc/net/wireless :\n"
-"quality of the link, signal strength and noise level.\n"
+" Some errors during sendmail are caused by \n"
+" a bad configuration of postfix. To solve it you have to\n"
+" set myhostname or mydomain in /etc/postfix/main.cf\n"
"\n"
-"See iwpspy(8) man page for further information."
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Your personal phone number"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which size do you want to keep for Windows on"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4662
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-""
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Username required"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Device"
+"options description:\n"
+"\n"
+" - Backup system files:\n"
+" \n"
+"\tThis option allows you to backup your /etc directory,\n"
+"\twhich contains all configuration files. Please be\n"
+"\tcareful during the restore step to not overwrite:\n"
+"\t\t/etc/passwd \n"
+"\t\t/etc/group \n"
+"\t\t/etc/fstab\n"
+"\n"
+" - Backup User files: \n"
+"\n"
+"\tThis option allows you select all users that you want \n"
+"\tto backup.\n"
+"\tTo preserve disk space, it is recommended that you \n"
+"\tdo not include web browser's cache.\n"
+"\n"
+" - Backup Other files: \n"
+"\n"
+"\tThis option allows you to add more data to save.\n"
+"\tWith the other backup it's not possible at the \n"
+"\tmoment to select incremental backup.\t\t\n"
+" \n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption for backup. This option allows you \n"
+"\tto backup all your data the first time, and \n"
+"\tonly the changed afterward.\n"
+"\tThen you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4701
msgid ""
-"Depending on the default language you chose in Section , DrakX will\n"
-"automatically select a particular type of keyboard configuration. However,\n"
-"you may not have a keyboard that corresponds exactly to your language: for\n"
-"example, if you are an English speaking Swiss person, you may have a Swiss\n"
-"keyboard. Or if you speak English but are located in Quebec, you may find\n"
-"yourself in the same situation where your native language and keyboard do\n"
-"not match. In either case, this installation step will allow you to select\n"
-"an appropriate keyboard from a list.\n"
+"restore description:\n"
+" \n"
+"Only the most recent date will be used, because with incremental \n"
+"backups it is necessary to restore one by one each older backup.\n"
+"\n"
+"So if you don't want to restore a user please unselect all their\n"
+"check boxes.\n"
+"\n"
+"Otherwise, you are able to select only one of these.\n"
+"\n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption to use. This option allows you to \n"
+"\tbackup all of your data the first time, and \n"
+"\tonly the changed data after.\n"
+"\tSo you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
"\n"
-"Click on the \"%s\" button to be presented with the complete list of\n"
-"supported keyboards.\n"
"\n"
-"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
-"dialog will allow you to choose the key binding that will switch the\n"
-"keyboard between the Latin and non-Latin layouts."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "URI: %s"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Valid user list changed, rewriting config file."
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "The wizard successfully configured the new \"%s\" UPS device."
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "mkinitrd optional arguments"
-msgstr ""
-
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid "Surf the Web with Mozilla or Konqueror, read your mail with Evolution or Kmail, create your documents with OpenOffice.org."
-msgstr ""
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Protocol for the rest of the world"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print test pages"
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Activate now"
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "64 MB or more"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4727
msgid ""
-"Please select the test pages you want to print.\n"
-"Note: the photo test page can take a rather long time to get printed and on laser printers with too low memory it can even not come out. In most cases it is enough to print the standard test page."
+" Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s\\@epita."
+"fr>"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Please select the device where your %s is attached"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4729
msgid ""
-"Not formatted\n"
-""
+" updates 2002 MandrakeSoft by Stew Benedict <sbenedict\\@mandrakesoft.com>"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Periodic Checks"
-msgstr ""
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "PXE Server Configuration"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup the system files before:"
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "This is the standard security recommended for a computer that will be used to connect to the Internet as a client."
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "First floppy drive"
-msgstr ""
-
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1 ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Quit"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose the new size"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Media class"
-msgstr ""
-
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "You need to log out and back in again for changes to take effect"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not known by this version of Scannerdrake."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Faroe Islands"
+#: ../../standalone/drakbackup_.c:4732
+msgid ""
+"Description:\n"
+"\n"
+" Drakbackup is used to backup your system.\n"
+" During the configuration you can select: \n"
+"\t- System files, \n"
+"\t- Users files, \n"
+"\t- Other files.\n"
+"\tor All your system ... and Other (like Windows Partitions)\n"
+"\n"
+" Drakbackup allows you to backup your system on:\n"
+"\t- Harddrive.\n"
+"\t- NFS.\n"
+"\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
+"\t- FTP.\n"
+"\t- Rsync.\n"
+"\t- Webdav.\n"
+"\t- Tape.\n"
+"\n"
+" Drakbackup allows you to restore your system to\n"
+" a user selected directory.\n"
+"\n"
+" Per default all backup will be stored on your\n"
+" /var/lib/drakbackup directory\n"
+"\n"
+" Configuration file:\n"
+"\t/etc/drakconf/drakbackup/drakbakup.conf\n"
+"\n"
+"Restore Step:\n"
+" \n"
+" During the restore step, DrakBackup will remove \n"
+" your original directory and verify that all \n"
+" backup files are not corrupted. It is recommended \n"
+" you do a last backup before restoring.\n"
+"\n"
+"\n"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Restart XFS"
+#: ../../standalone/drakbackup_.c:4769
+msgid ""
+"options description:\n"
+"\n"
+"Please be careful when you are using ftp backup, because only \n"
+"backups that are already built are sent to the server.\n"
+"So at the moment, you need to build the backup on your hard \n"
+"drive before sending it to the server.\n"
+"\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add host/network"
+#: ../../standalone/drakbackup_.c:4778
+msgid ""
+"\n"
+"Restore Backup Problems:\n"
+"\n"
+"During the restore step, Drakbackup will verify all your\n"
+"backup files before restoring them.\n"
+"Before the restore, Drakbackup will remove \n"
+"your original directory, and you will loose all your \n"
+"data. It is important to be careful and not modify the \n"
+"backup data files by hand.\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/drakboot_.c:50
#, c-format
-msgid "Scannerdrake will not be started now."
+msgid "Installation of %s failed. The following error occured:"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Model name"
+#: ../../standalone/drakbug_.c:45
+msgid "Mandrake Bug Report Tool"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Albania"
+#: ../../standalone/drakbug_.c:50
+msgid "First Time Wizard"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "British Indian Ocean Territory"
+#: ../../standalone/drakbug_.c:51
+msgid "Synchronization tool"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Normal Mode"
+#: ../../standalone/drakbug_.c:52 ../../standalone/drakbug_.c:66
+#: ../../standalone/drakbug_.c:133 ../../standalone/drakbug_.c:135
+#: ../../standalone/drakbug_.c:139
+msgid "Standalone Tools"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD-R/DVD-R in drive!"
+#: ../../standalone/drakbug_.c:53
+msgid "HardDrake"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer connection type"
+#: ../../standalone/drakbug_.c:54
+msgid "Mandrake Online"
msgstr ""
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "No network adapter on your system!"
+#: ../../standalone/drakbug_.c:55
+msgid "Menudrake"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network %s"
+#: ../../standalone/drakbug_.c:56
+msgid "Msec"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Malayalam"
+#: ../../standalone/drakbug_.c:57
+msgid "Remote Control"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s out of range!"
+#: ../../standalone/drakbug_.c:58
+msgid "Software Manager"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connect %s"
+#: ../../standalone/drakbug_.c:59
+msgid "Urpmi"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting CUPS..."
+#: ../../standalone/drakbug_.c:60
+msgid "Windows Migration tool"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning/Photo Cards on \"%s\""
+#: ../../standalone/drakbug_.c:61
+msgid "Userdrake"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Continue without USB key"
+#: ../../standalone/drakbug_.c:62
+msgid "Configuration Wizards"
msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "Duplicate mount point %s"
+#: ../../standalone/drakbug_.c:75
+msgid "Application:"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run chkrootkit checks."
+#: ../../standalone/drakbug_.c:76
+msgid "Package: "
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Connection Configuration"
+#: ../../standalone/drakbug_.c:77
+msgid "Kernel:"
msgstr ""
-#: ../../harddrake/v4l.pm:1 ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|Generic"
+#: ../../standalone/drakbug_.c:78
+msgid "Release: "
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbug_.c:93
msgid ""
-"At the time you are installing Mandrake Linux, it is likely that some\n"
-"packages have been updated since the initial release. Bugs may have been\n"
-"fixed, security issues resolved. To allow you to benefit from these\n"
-"updates, you are now able to download them from the Internet. Check \"%s\"\n"
-"if you have a working Internet connection, or \"%s\" if you prefer to\n"
-"install updated packages later.\n"
"\n"
-"Choosing \"%s\" will display a list of places from which updates can be\n"
-"retrieved. You should choose one nearer to you. A package-selection tree\n"
-"will appear: review the selection, and press \"%s\" to retrieve and install\n"
-"the selected package(s), or \"%s\" to abort."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Myanmar"
+"\n"
+"To submit a bug report, click on the button report.\n"
+"This will open a web browser window on https://drakbug.mandrakesoft.com\n"
+" where you'll find a form to fill in.The information displayed above will "
+"be \n"
+"transferred to that server\n"
+"\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/draksplash:1 ../../standalone/harddrake2:1 ../../standalone/logdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Quit"
+#: ../../standalone/drakbug_.c:112
+msgid "Report"
msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Auto allocate"
+#: ../../standalone/drakbug_.c:148
+msgid "Not installed"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Check bad blocks?"
+#: ../../standalone/drakbug_.c:160
+msgid "Package not installed"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Other MultiMedia devices"
+#: ../../standalone/drakbug_.c:173
+msgid "connecting to Bugzilla wizard ..."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "burner"
+#: ../../standalone/drakbug_.c:180
+msgid "No browser available! Please install one"
msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../standalone/drakconnect_.c:75
#, c-format
-msgid "Bug Description/System Information"
+msgid "Network configuration (%d adapters)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (Default is all users)"
+#: ../../standalone/drakconnect_.c:83 ../../standalone/drakconnect_.c:591
+msgid "Profile: "
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "No remote machines"
+#: ../../standalone/drakconnect_.c:91
+msgid "Del profile..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this computer.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on this computer and turn it/them on so that it/they can be auto-detected.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want to set up your printer(s) now."
+#: ../../standalone/drakconnect_.c:97
+msgid "Profile to delete:"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication NIS"
+#: ../../standalone/drakconnect_.c:125
+msgid "New profile..."
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
+#: ../../standalone/drakconnect_.c:131
msgid ""
-"We need to install ntp package\n"
-" to enable Network Time Protocol\n"
-"\n"
-"Do you want to install ntp ?"
+"Name of the profile to create (the new profile is created as a copy of the "
+"current one) :"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Option ``Restrict command line options'' is of no use without a password"
-msgstr ""
-
-#: ../../standalone/drakups:1
-#, c-format
-msgid "Please select your UPS model."
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently enabled"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "United Arab Emirates"
+#: ../../standalone/drakconnect_.c:157
+msgid "Hostname: "
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_0"
+#: ../../standalone/drakconnect_.c:164
+msgid "Internet access"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Local Config"
+#: ../../standalone/drakconnect_.c:177
+msgid "Type:"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Thailand"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Gateway:"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_1"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Interface:"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Search:"
+#: ../../standalone/drakconnect_.c:191
+msgid "Status:"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kazakhstan"
+#: ../../standalone/drakconnect_.c:198 ../../standalone/net_monitor_.c:145
+msgid "Wait please"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Routers:"
+#: ../../standalone/drakconnect_.c:216
+msgid "Configure Internet Access..."
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Write"
+#: ../../standalone/drakconnect_.c:223 ../../standalone/drakconnect_.c:445
+msgid "LAN configuration"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Display all available remote CUPS printers"
+#: ../../standalone/drakconnect_.c:228
+msgid "Driver"
msgstr ""
-#: ../../install_steps_newt.pm:1
-#, c-format
-msgid "Mandrake Linux Installation %s"
+#: ../../standalone/drakconnect_.c:228
+msgid "Interface"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Unknown driver"
+#: ../../standalone/drakconnect_.c:228
+msgid "Protocol"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Thai keyboard"
+#: ../../standalone/drakconnect_.c:228
+msgid "State"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bouvet Island"
+#: ../../standalone/drakconnect_.c:240
+msgid "Configure Local Area Network..."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Dialup options"
+#: ../../standalone/drakconnect_.c:252
+msgid "Click here to launch the wizard ->"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If no port is given, 631 will be taken as default."
+#: ../../standalone/drakconnect_.c:253
+msgid "Wizard..."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Per client system configuration files:\n"
-" \tThrough clusternfs, each diskless client can have its own unique configuration files\n"
-" \ton the root filesystem of the server. By allowing local client hardware configuration, \n"
-" \tclients can customize files such as /etc/modules.conf, /etc/sysconfig/mouse, \n"
-" \t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root login to the terminal \n"
-" server on each client machine that has this feature enabled. Local configuration can be\n"
-" turned back off, retaining the configuration files, once the client machine is configured."
+#: ../../standalone/drakconnect_.c:279
+msgid "Apply"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, 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."
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Connected"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Not connected"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Online"
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Connect..."
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "UPS users"
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Disconnect..."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakconnect_.c:400
msgid ""
-"\t-Network by webdav.\n"
-""
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on a parallel port"
-msgstr ""
-
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "No ethernet network adapter has been detected on your system. Please run the hardware configuration tool."
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1 ../../standalone/drakgw:1
-#, c-format
-msgid "Netmask"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "No hard drives found"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "2 buttons"
+"Warning, another Internet connection has been detected, maybe using your "
+"network"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series"
+#: ../../standalone/drakconnect_.c:427
+msgid ""
+"You don't have any configured interface.\n"
+"Configure them first by clicking on 'Configure'"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "What kind is your ISDN connection?"
+#: ../../standalone/drakconnect_.c:449
+msgid "LAN Configuration"
msgstr ""
-#: ../../any.pm:1 ../../any.pm:1 ../../any.pm:1
+#: ../../standalone/drakconnect_.c:460
#, c-format
-msgid "Label"
+msgid "Adapter %s: %s"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save on floppy"
+#: ../../standalone/drakconnect_.c:466
+msgid "Boot Protocol"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check open ports"
+#: ../../standalone/drakconnect_.c:467
+msgid "Started on boot"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Edit selected printer"
+#: ../../standalone/drakconnect_.c:468
+msgid "DHCP client"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection"
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+msgid "activate now"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which of the following is your ISDN card?"
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+msgid "deactivate now"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:499
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 ""
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Msec"
+"This interface has not been configured yet.\n"
+"Launch the configuration wizard in the main window"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:556
msgid ""
-"=> Notice, a label changed:\n"
-"%s"
+"You don't have any internet connection.\n"
+"Create one first by clicking on 'Configure'"
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Number of capture buffers:"
+#: ../../standalone/drakconnect_.c:580
+msgid "Internet connection configuration"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (0/1, default `%s') "
+#: ../../standalone/drakconnect_.c:584
+msgid "Internet Connection Configuration"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Any partitions that have been newly defined must be formatted for use\n"
-"(formatting means creating a file system).\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to\n"
-"erase any data they contain. If you wish to do that, please select those\n"
-"partitions as well.\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing\n"
-"partitions. You must reformat the partitions containing the operating\n"
-"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
-"reformat partitions containing data that you wish to keep (typically\n"
-"\"/home\").\n"
-"\n"
-"Please be careful when selecting partitions. After formatting, all data on\n"
-"the selected partitions will be deleted and you will not be able to recover\n"
-"it.\n"
-"\n"
-"Click on \"%s\" when you are ready to format partitions.\n"
-"\n"
-"Click on \"%s\" if you want to choose another partition for your new\n"
-"Mandrake Linux operating system installation.\n"
-"\n"
-"Click on \"%s\" if you wish to select partitions that will be checked for\n"
-"bad blocks on the disk."
+#: ../../standalone/drakconnect_.c:593 ../../standalone/net_monitor_.c:94
+msgid "Connection type: "
msgstr ""
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
-#, c-format
-msgid "French"
+#: ../../standalone/drakconnect_.c:599
+msgid "Parameters"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTY)"
+#: ../../standalone/drakconnect_.c:618
+msgid "Gateway"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Allow X Window connections"
+#: ../../standalone/drakconnect_.c:627
+msgid "Ethernet Card"
msgstr ""
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Hardware probing in progress"
+#: ../../standalone/drakconnect_.c:628
+msgid "DHCP Client"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../network/shorewall.pm:1 ../../standalone/drakconnect:1 ../../standalone/drakgw:1
-#, c-format
-msgid "Net Device"
+#: ../../standalone/drakfloppy_.c:39
+msgid "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Summary"
+#: ../../standalone/drakfloppy_.c:40
+msgid "Module name"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
+#: ../../standalone/drakfloppy_.c:40
+msgid "Size"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Next"
+#: ../../standalone/drakfloppy_.c:45
+msgid "drakfloppy"
msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid ""
-"You can't install the bootloader on a %s partition\n"
-""
+#: ../../standalone/drakfloppy_.c:63
+msgid "boot disk creation"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "CHAP"
+#: ../../standalone/drakfloppy_.c:71 ../../standalone/drakfloppy_.c:84
+msgid "default"
msgstr ""
-#: ../../lang.pm:1
+#: ../../standalone/drakfloppy_.c:87
#, c-format
-msgid "Puerto Rico"
+msgid "DrakFloppy Error: %s"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "(bootp/dhcp/zeroconf)"
+#: ../../standalone/drakfloppy_.c:98
+msgid "kernel version"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid ""
-"\n"
-"Welcome.\n"
-"\n"
-"The parameters of the auto-install are available in the sections on the left"
+#: ../../standalone/drakfloppy_.c:104
+msgid "General"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"package 'ImageMagick' is required to be able to complete configuration.\n"
-"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+#: ../../standalone/drakfloppy_.c:109
+msgid "Expert Area"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Select firmware file"
+#: ../../standalone/drakfloppy_.c:112
+msgid "mkinitrd optional arguments"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Telnet server"
+#: ../../standalone/drakfloppy_.c:113
+msgid "Add a module"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"number row\" QWERTY"
+#: ../../standalone/drakfloppy_.c:133
+msgid "force"
msgstr ""
-#: ../../install_any.pm:1
-#, c-format
-msgid ""
-"The following packages will be removed to allow upgrading your system: %s\n"
-"\n"
-"\n"
-"Do you really want to remove these packages?\n"
-""
+#: ../../standalone/drakfloppy_.c:134
+msgid "if needed"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Anguilla"
+#: ../../standalone/drakfloppy_.c:135
+msgid "omit scsi modules"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Domain"
+#: ../../standalone/drakfloppy_.c:136
+msgid "omit raid modules"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Antarctica"
+#: ../../standalone/drakfloppy_.c:172
+msgid "Remove a module"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- User Files:\n"
-""
+#: ../../standalone/drakfloppy_.c:194
+msgid "Output"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount options"
+#: ../../standalone/drakfloppy_.c:206
+msgid "Build the disk"
msgstr ""
-#: ../../lang.pm:1
+#: ../../standalone/drakfloppy_.c:336
#, c-format
-msgid "Jamaica"
+msgid "Be sure a media is present for the device %s"
msgstr ""
-#: ../../services.pm:1
+#: ../../standalone/drakfloppy_.c:341
#, c-format
msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle or DVD players"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Please wait, preparing installation..."
+"There is no medium or it is write-protected for device %s.\n"
+"Please insert one."
msgstr ""
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
+#: ../../standalone/drakfloppy_.c:344
#, c-format
-msgid "Czech (QWERTZ)"
+msgid "Unable to fork: %s"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../standalone/drakfloppy_.c:349
#, c-format
-msgid "Track network card id (useful for laptops)"
+msgid ""
+"Unable to close properly mkbootdisk: \n"
+" %s \n"
+" %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The port number should be an integer!"
+#: ../../standalone/drakfont_.c:213
+msgid "Search installed fonts"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "You must choose an image file first!"
+#: ../../standalone/drakfont_.c:215
+msgid "Unselect fonts installed"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore from Hard Disk."
+#: ../../standalone/drakfont_.c:239
+msgid "parse all fonts"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to LVM"
+#: ../../standalone/drakfont_.c:242
+msgid "no fonts found"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "DNS server"
+#: ../../standalone/drakfont_.c:251 ../../standalone/drakfont_.c:305
+#: ../../standalone/drakfont_.c:361 ../../standalone/drakfont_.c:454
+#: ../../standalone/drakfont_.c:466 ../../standalone/drakfont_.c:493
+#: ../../standalone/drakfont_.c:514 ../../standalone/drakfont_.c:532
+msgid "done"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Trinidad and Tobago"
+#: ../../standalone/drakfont_.c:257
+msgid "could not find any font in your mounted partitions"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"LPD and LPRng do not support IPP printers.\n"
-""
+#: ../../standalone/drakfont_.c:303
+msgid "Reselect correct fonts"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host name or IP."
+#: ../../standalone/drakfont_.c:307
+msgid "could not find any font.\n"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Edit"
+#: ../../standalone/drakfont_.c:331
+msgid "Search fonts in installed list"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "simple"
+#: ../../standalone/drakfont_.c:359
+msgid "Fonts copy"
msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Clear all"
+#: ../../standalone/drakfont_.c:363
+msgid "True Type fonts installation"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No test pages"
+#: ../../standalone/drakfont_.c:371
+msgid "please wait during ttmkfdir..."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Falkland Islands (Malvinas)"
+#: ../../standalone/drakfont_.c:377
+msgid "True Type install done"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Adapter %s: %s"
+#: ../../standalone/drakfont_.c:386 ../../standalone/drakfont_.c:413
+msgid "Fonts conversion"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Boot disk creation"
+#: ../../standalone/drakfont_.c:392 ../../standalone/drakfont_.c:417
+#: ../../standalone/drakfont_.c:450
+msgid "type1inst building"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Monday"
+#: ../../standalone/drakfont_.c:403 ../../standalone/drakfont_.c:427
+msgid "Ghostscript referencing"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/main.pm:1 ../../printer/main.pm:1 ../../printer/main.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Unknown model"
+#: ../../standalone/drakfont_.c:437
+msgid "ttf fonts conversion"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check files/directories writable by everybody."
+#: ../../standalone/drakfont_.c:444
+msgid "pfm fonts conversion"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "authentication"
+#: ../../standalone/drakfont_.c:456
+msgid "Suppress temporary Files"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now"
+#: ../../standalone/drakfont_.c:459
+msgid "Restart XFS"
msgstr ""
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1 ../../standalone/drakups:1 ../../standalone/drakups:1 ../../standalone/harddrake2:1 ../../standalone/harddrake2:1 ../../standalone/logdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_File"
+#: ../../standalone/drakfont_.c:512 ../../standalone/drakfont_.c:526
+msgid "Suppress Fonts Files"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
+#: ../../standalone/drakfont_.c:528
+msgid "xfs restart"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:536 ../../standalone/drakfont_.c:902
msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
+"Before installing any fonts, be sure that you have the right to use and "
+"install them on your system.\n"
+"\n"
+"-You can install the fonts using the normal way. In rare cases, bogus fonts "
+"may hang up your X Server."
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Editable"
+#: ../../standalone/drakfont_.c:621
+msgid "Fonts Importation"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Which dhcp client do you want to use ? (default is dhcp-client)"
+#: ../../standalone/drakfont_.c:650
+msgid "Get Windows Fonts"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (ISCII-layout)"
+#: ../../standalone/drakfont_.c:658
+msgid "Uninstall Fonts"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mayotte"
+#: ../../standalone/drakfont_.c:669
+msgid "Advanced Options"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set shell commands history size. A value of -1 means unlimited."
+#: ../../standalone/drakfont_.c:677
+msgid "Font List"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:737
msgid ""
-"%d KB\n"
-""
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Creating auto install floppy..."
+"\n"
+" Copyright (C) 2001-2002 by MandrakeSoft \n"
+"\tDUPONT Sebastien sdupont\\@mandrakesoft.com\n"
+"\n"
+" This program is free software; you can redistribute it and/or modify\n"
+" it under the terms of the GNU General Public License as published by\n"
+" the Free Software Foundation; either version 2, or (at your option)\n"
+" any later version.\n"
+"\n"
+" This program is distributed in the hope that it will be useful,\n"
+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+" GNU General Public License for more details.\n"
+"\n"
+" You should have received a copy of the GNU General Public License\n"
+" along with this program; if not, write to the Free Software\n"
+" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+" Thanks:\n"
+" - pfm2afm: \n"
+"\t by Ken Borgendale:\n"
+"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
+" - type1inst:\n"
+"\t by James Macnicol: \n"
+"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
+" - ttf2pt1: \n"
+"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
+" Convert ttf font files to afm and pfb fonts\n"
+"\n"
+"\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for scanners ..."
+#: ../../standalone/drakfont_.c:793
+msgid ""
+"drakfont Future Overview\n"
+" - Fonts import:\n"
+" pfb ( Adobe Type 1 binary )\n"
+" pfa ( Adobe Type 1 ASCII )\n"
+" ttf ( True-Type )\n"
+" pcf.gz\n"
+" Speedo\n"
+" and Bitmap (PCF, BDF, and SNF)\n"
+" - Features\n"
+" - Install fonts from any directory\n"
+" - Get windows fonts on any vfat partitions\n"
+" - Get fonts on any partitions.\n"
+" - UN-installation of any fonts (even if not installed "
+"through drakfont)\n"
+" - Support\n"
+" - Xfs\n"
+" - ghostscript & printer\n"
+" - Staroffice & printer\n"
+" - abiword\n"
+"\t - netscape\n"
+" - Koffice, Gnumeric, ... studying\n"
+" - all fonts supported by printer\n"
+" - anti-aliases by RENDER in Xfree86 .... \n"
+"\t\t\t\tsupported by KDE.\n"
+"\t\t\t\twill be supported by gnome 1.2.\n"
+"Visual Interface:\n"
+" Window interface:\n"
+" - Fontselectiondialog widget\n"
+" - Command buttons under Fontselectiondialog (like the actual "
+"frontend).\n"
+" Commands buttons:\n"
+" - import from windows partition.\n"
+" import from all fat32 partitions and look for winnt/windows/"
+"font\n"
+" and import all (delete doublon) but don't import if already "
+"exist.\n"
+" - import from directory\n"
+" look for if it exist before for each font and not delete the "
+"original.\n"
+" (replace all, no, none)\n"
+" expert options:\n"
+" ask the directory, and look for if it exist before\n"
+" if it exist ask: (replace all, no, none)\n"
+" - uninstall with list per font type\n"
+" Expert additional switch\n"
+" - option support: ghostscript, Staroffice, etc...\n"
+" check-button. (by default all check)\n"
+" - Printer Application Fonts Support...\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../../standalone/drakfont_.c:862
+msgid "Choose the applications that will support the fonts:"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Russia"
+#: ../../standalone/drakfont_.c:870
+msgid "Ghostscript"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Partitioning"
+#: ../../standalone/drakfont_.c:877
+msgid "StarOffice"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Syslog"
+#: ../../standalone/drakfont_.c:884
+msgid "Abiword"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create catalog!"
+#: ../../standalone/drakfont_.c:891
+msgid "Generic Printers"
msgstr ""
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "Complete your security setup with this very easy-to-use software which combines high performance components such as a firewall, a virtual private network (VPN) server and client, an intrusion detection system and a traffic manager."
+#: ../../standalone/drakfont_.c:958
+msgid "Select the font file or directory and click on 'Add'"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Not enough free space for auto-allocating"
+#: ../../standalone/drakfont_.c:1005
+msgid "Install List"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password"
+#: ../../standalone/drakfont_.c:1048
+msgid "click here if you are sure."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable IP spoofing protection"
+#: ../../standalone/drakfont_.c:1055
+msgid "here if no."
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no free driver for your sound card (%s), but there's a proprietary driver at \"%s\"."
+#: ../../standalone/drakfont_.c:1112
+msgid "Unselected All"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Group :"
+#: ../../standalone/drakfont_.c:1116
+msgid "Selected All"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
+#: ../../standalone/drakfont_.c:1120
+msgid "Remove List"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet connection configuration"
+#: ../../standalone/drakfont_.c:1142 ../../standalone/drakfont_.c:1175
+msgid "Initials tests"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Add the name as an exception to the handling of password aging by msec."
+#: ../../standalone/drakfont_.c:1145
+msgid "Copy fonts on your system"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "USB"
+#: ../../standalone/drakfont_.c:1149
+msgid "Install & convert Fonts"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels"
+#: ../../standalone/drakfont_.c:1153
+msgid "Post Install"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Kernel:"
+#: ../../standalone/drakfont_.c:1178
+msgid "Remove fonts on your system"
msgstr ""
-#: ../../standalone/drakups:1 ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_About..."
+#: ../../standalone/drakfont_.c:1182
+msgid "Post Uninstall"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bengali"
+#: ../../standalone/drakgw_.c:42 ../../standalone/drakgw_.c:182
+msgid "Internet Connection Sharing"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Preference: "
+#: ../../standalone/drakgw_.c:114
+msgid "Sorry, we support only 2.4 kernels."
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services: %d activated for %d registered"
+#: ../../standalone/drakgw_.c:125
+msgid "Internet Connection Sharing currently enabled"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Create a bootdisk"
+#: ../../standalone/drakgw_.c:126
+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 ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Solomon Islands"
+#: ../../standalone/drakgw_.c:130
+msgid "disable"
msgstr ""
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please test your mouse:"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "dismiss"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "(module %s)"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "reconfigure"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Workgroup"
+#: ../../standalone/drakgw_.c:133
+msgid "Disabling servers..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP"
+#: ../../standalone/drakgw_.c:142
+msgid "Internet connection sharing is now disabled."
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "down"
+#: ../../standalone/drakgw_.c:149
+msgid "Internet Connection Sharing currently disabled"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Path or Module"
+#: ../../standalone/drakgw_.c:150
+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 ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer should contain only letters, numbers and the underscore"
+#: ../../standalone/drakgw_.c:154
+msgid "enable"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Show current interface configuration"
+#: ../../standalone/drakgw_.c:161
+msgid "Enabling servers..."
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Add Printer"
+#: ../../standalone/drakgw_.c:166
+msgid "Internet connection sharing is now enabled."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:183
msgid ""
-"The argument specifies if clients are authorized to connect\n"
-"to the X server from the network on the tcp port 6000 or not."
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "Development"
+"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"
+"Make sure you have configured your Network/Internet access using drakconnect "
+"before going any further.\n"
+"\n"
+"Note: you need a dedicated Network Adapter to set up a Local Area Network "
+"(LAN)."
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1 ../../diskdrake/dav.pm:1 ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
+#: ../../standalone/drakgw_.c:211
#, c-format
-msgid "Done"
+msgid "Interface %s (using module %s)"
msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../standalone/drakgw_.c:212
#, c-format
-msgid "Web Server"
+msgid "Interface %s"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Chile"
+#: ../../standalone/drakgw_.c:220
+msgid "No network adapter on your system!"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakgw_.c:221
msgid ""
-"\tDo not include System Files\n"
-""
+"No ethernet network adapter has been detected on your system. Please run the "
+"hardware configuration tool."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The inkjet printer drivers provided by Lexmark only support local printers, no printers on remote machines or print server boxes. Please connect your printer to a local port or configure it on the machine where it is connected to."
+#: ../../standalone/drakgw_.c:227
+msgid "Network interface"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakgw_.c:228
#, c-format
msgid ""
-"Your multi-function device was configured automatically to be able to scan. Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the scanner when you have more than one) from the command line or with the graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, you can also scan by choosing the appropriate point in the \"File\"/\"Acquire\" menu. Call also \"man scanimage\" on the command line to get more information.\n"
+"There is only one configured network adapter on your system:\n"
"\n"
-"Do not use \"scannerdrake\" for this device!"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "(already added %s)"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation in progress"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", using command %s"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Alt and Shift keys simultaneously"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Flags"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Users"
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Iwconfig command extra arguments"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host/network IP address missing."
-msgstr ""
-
-#: ../../network/netconnect.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "(detected)"
-msgstr ""
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "weekly"
-msgstr ""
-
-#: ../../standalone/logdrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Settings"
+"%s\n"
+"\n"
+"I am about to setup your Local Area Network with that adapter."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:235
msgid ""
-"The entered host/network IP is not correct.\n"
-""
+"Please choose what network adapter will be connected to your Local Area "
+"Network."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Create/Transfer backup keys for SSH"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Here is the full list of available countries"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (A4)"
+#: ../../standalone/drakgw_.c:261
+msgid "Network interface already configured"
msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakgw_.c:262
#, c-format
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."
+"Warning, the network adapter (%s) is already configured.\n"
+"\n"
+"Do you want an automatic re-configuration?\n"
+"\n"
+"You can do it manually but you need to know what you're doing."
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please"
+#: ../../standalone/drakgw_.c:267
+msgid "Automatic reconfiguration"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "PAP"
+#: ../../standalone/drakgw_.c:267
+msgid "No (experts only)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup user files"
+#: ../../standalone/drakgw_.c:268
+msgid "Show current interface configuration"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "CD-ROM"
+#: ../../standalone/drakgw_.c:269
+msgid "Current interface configuration"
msgstr ""
-#: ../../diskdrake/dav.pm:1
+#: ../../standalone/drakgw_.c:270
#, c-format
-msgid "New"
+msgid ""
+"Current configuration of `%s':\n"
+"\n"
+"Network: %s\n"
+"IP address: %s\n"
+"IP attribution: %s\n"
+"Driver: %s"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:283
msgid ""
-"This is the most crucial decision point for the security of your GNU/Linux\n"
-"system: you have to enter the \"root\" password. \"Root\" is the system\n"
-"administrator and is the only user authorized to make updates, add users,\n"
-"change the overall system configuration, and so on. In short, \"root\" can\n"
-"do everything! That is why you must choose a password that is difficult to\n"
-"guess - DrakX will tell you if the password that you chose too easy. As you\n"
-"can see, you are not forced to enter a password, but we strongly advise you\n"
-"against this. GNU/Linux is just as prone to operator error as any other\n"
-"operating system. Since \"root\" can overcome all limitations and\n"
-"unintentionally erase all data on partitions by carelessly accessing the\n"
-"partitions themselves, it is important that it be difficult to become\n"
-"\"root\".\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. Never write down the \"root\" password -- it makes it far\n"
-"too easy to compromise a system.\n"
-"\n"
-"One caveat -- do not make the password too long or complicated because you\n"
-"must be able to remember it!\n"
+"I can keep your current configuration and assume you already set up a DHCP "
+"server; in that case please verify I correctly read the Network that you use "
+"for your local network; I will not reconfigure it and I will not touch your "
+"DHCP server configuration.\n"
"\n"
-"The password will not be displayed on screen as you type it in. To reduce\n"
-"the chance of a blind typing error you will need to enter the password\n"
-"twice. If you do happen to make the same typing error twice, this\n"
-"``incorrect'' password will be the one you will have use the first time you\n"
-"connect.\n"
-"\n"
-"If you wish access to this computer to be controlled by an authentication\n"
-"server, click the \"%s\" button.\n"
-"\n"
-"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
-"services, select the appropriate one for \"%s\". If you do not know which\n"
-"one to use, you should ask your network administrator.\n"
+"The default DNS entry is the Caching Nameserver configured on the firewall. "
+"You can replace that with your ISP DNS IP, for example.\n"
+"\t\t \n"
+"Else, I can reconfigure your interface and (re)configure a DHCP server for "
+"you.\n"
"\n"
-"If you happen to have problems with remembering passwords, if your computer\n"
-"will never be connected to the internet or that you absolutely trust\n"
-"everybody who uses your computer, you can choose to have \"%s\"."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Name resolution spoofing protection"
+#: ../../standalone/drakgw_.c:290
+msgid "Local Network adress"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:294
msgid ""
-"At this point, DrakX will allow you to choose the security level desired\n"
-"for the machine. As a rule of thumb, the security level should be set\n"
-"higher if the machine will contain crucial data, or if it will be a machine\n"
-"directly exposed to the Internet. The trade-off of a higher security level\n"
-"is generally obtained at the expense of ease of use.\n"
+"DHCP Server Configuration.\n"
+"\n"
+"Here you can select different options for the DHCP server configuration.\n"
+"If you don't know the meaning of an option, simply leave it as it is.\n"
"\n"
-"If you do not know what to choose, stay with the default option."
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Load from floppy"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The following printer was auto-detected. "
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Uses command %s"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot Floppy"
-msgstr ""
-
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
-#, c-format
-msgid "Norwegian"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for new scanners ..."
+#: ../../standalone/drakgw_.c:300
+msgid "(This) DHCP Server IP"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Apache World Wide Web Server"
+#: ../../standalone/drakgw_.c:301
+msgid "The DNS Server IP"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "stepping of the cpu (sub model (generation) number)"
+#: ../../standalone/drakgw_.c:302
+msgid "The internal domain name"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "select path to restore (instead of /)"
+#: ../../standalone/drakgw_.c:303
+msgid "The DHCP start range"
msgstr ""
-#: ../../standalone/draksplash:1 ../../standalone/draksplash:1
-#, c-format
-msgid "Configure bootsplash picture"
+#: ../../standalone/drakgw_.c:304
+msgid "The DHCP end range"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Georgia"
+#: ../../standalone/drakgw_.c:305
+msgid "The default lease (in seconds)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "China"
+#: ../../standalone/drakgw_.c:306
+msgid "The maximum lease (in seconds)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-" (Make sure that all your printers are connected and turned on).\n"
-""
+#: ../../standalone/drakgw_.c:307
+msgid "Re-configure interface and DHCP server"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Reading data of installed printers..."
+#: ../../standalone/drakgw_.c:314
+msgid "The Local Network did not finish with `.0', bailing out."
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakgw_.c:325
#, c-format
-msgid " Erase Now "
+msgid "Potential LAN address conflict found in current config of %s!\n"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "server"
+#: ../../standalone/drakgw_.c:335
+msgid "Configuring..."
msgstr ""
-#: ../../install_any.pm:1
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
+#: ../../standalone/drakgw_.c:336
+msgid "Configuring scripts, installing software, starting servers..."
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../standalone/drakgw_.c:372
#, c-format
-msgid "yes means the processor has an arithmetic coprocessor"
+msgid "Problems installing package %s"
msgstr ""
-#: ../../harddrake/sound.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Please Wait... Applying the configuration"
+#: ../../standalone/drakgw_.c:505
+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 ""
-#. -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:1
-#, c-format
-msgid "Welcome to GRUB the operating system chooser!"
+#: ../../standalone/drakgw_.c:523
+msgid "The setup has already been done, but it's currently disabled."
msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Grub"
+#: ../../standalone/drakgw_.c:524
+msgid "The setup has already been done, and it's currently enabled."
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SCSI controllers"
+#: ../../standalone/drakgw_.c:525
+msgid "No Internet Connection Sharing has ever been configured."
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on LPD server \"%s\", printer \"%s\""
+#: ../../standalone/drakgw_.c:531
+msgid "Internet connection sharing configuration"
msgstr ""
-#: ../../standalone/drakedm:1
+#: ../../standalone/drakgw_.c:539
#, c-format
-msgid "Choosing a display manager"
+msgid ""
+"Welcome to the Internet Connection Sharing utility!\n"
+"\n"
+"%s\n"
+"\n"
+"Click on Configure to launch the setup wizard."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Zeroconf Host name"
+#: ../../standalone/drakperm_.c:36
+msgid "group"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom setup/crontab entry:"
+#: ../../standalone/drakperm_.c:36
+msgid "path"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address should be in format 1.2.3.4"
+#: ../../standalone/drakperm_.c:36
+msgid "permissions"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Configure CUPS printing system"
+#: ../../standalone/drakperm_.c:36
+msgid "user"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Ecuador"
+#: ../../standalone/drakperm_.c:43
+msgid "Up"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Add an item"
+#: ../../standalone/drakperm_.c:44
+msgid "delete"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printers on this machine are available to other computers"
+#: ../../standalone/drakperm_.c:45
+msgid "edit"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "China (Hong Kong)"
+#: ../../standalone/drakperm_.c:46
+msgid "Down"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "I can't find needed image file `%s'."
+#: ../../standalone/drakperm_.c:47
+msgid "add a rule"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No sound card detected. Try \"harddrake\" after installation"
+#: ../../standalone/drakperm_.c:48
+msgid "select perm file to see/edit"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/drakperm_.c:51
msgid ""
-"Invalid port given: %s.\n"
-"The proper format is \"port/tcp\" or \"port/udp\", \n"
-"where port is between 1 and 65535."
+"Drakperm is used to see files to use in order to fix permissions, owners, "
+"and groups via msec.\n"
+"You can also edit your own rules which will owerwrite the default rules."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Shell"
+#: ../../standalone/drakperm_.c:56
+msgid "Add a new rule at the end"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Sao Tome and Principe"
+#: ../../standalone/drakperm_.c:57
+msgid "Edit curent rule"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "PCI"
+#: ../../standalone/drakperm_.c:58
+msgid "Up selected rule one level"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Can't login using username %s (bad password?)"
+#: ../../standalone/drakperm_.c:59
+msgid "Down selected rule one level"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Azerbaidjani (latin)"
+#: ../../standalone/drakperm_.c:60
+msgid "Delete selected rule"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package not installed"
+#: ../../standalone/drakperm_.c:224
+msgid "browse"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "American Samoa"
+#: ../../standalone/drakperm_.c:231
+msgid "Current user"
msgstr ""
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid "Become a MandrakeExpert"
+#: ../../standalone/drakperm_.c:236
+msgid "Permissions"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Protocol"
+#: ../../standalone/drakperm_.c:237
+msgid "Path"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Copy fonts on your system"
+#: ../../standalone/drakperm_.c:238
+msgid "Property"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake help"
+#: ../../standalone/drakperm_.c:240
+msgid "sticky-bit"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bogomips"
+#: ../../standalone/drakperm_.c:241
+msgid "Set-UID"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Mandrake Terminal Server Configuration"
+#: ../../standalone/drakperm_.c:242
+msgid "Set-GID"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakperm_.c:296
msgid ""
-"\n"
-" DrakBackup Report Details\n"
-"\n"
-"\n"
-""
+"Used for directory:\n"
+" only owner of directory or file in this directory can delete it"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore all backups"
+#: ../../standalone/drakperm_.c:297
+msgid "Use owner id for execution"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on parallel port #%s"
+#: ../../standalone/drakperm_.c:298
+msgid "Use group id for execution"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the password minimum length and minimum number of digit and minimum number of capitalized letters."
+#: ../../standalone/drakperm_.c:299
+msgid "when checked, owner and group won't be changed"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check open ports."
+#: ../../standalone/drakperm_.c:304
+msgid "Path selection"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to erase the media."
+#: ../../standalone/drakperm_.c:350
+msgid "user :"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't select/unselect this package"
+#: ../../standalone/drakperm_.c:352
+msgid "group :"
msgstr ""
-#: ../../keyboard.pm:1 ../../diskdrake/interactive.pm:1 ../../harddrake/sound.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1 ../../standalone/drakclock:1 ../../standalone/drakfloppy:1 ../../standalone/drakups:1
-#, c-format
-msgid "Warning"
+#: ../../standalone/draksound_.c:46
+msgid "No Sound Card detected!"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/draksound_.c:47
msgid ""
+"No Sound Card has been detected on your machine. Please verify that a Linux-"
+"supported Sound Card is correctly plugged in.\n"
"\n"
-"- Other Files:\n"
-""
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to X programs"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Computing the size of the Windows partition"
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Refresh"
-msgstr ""
-
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1 ../../network/netconnect.pm:1 ../../network/netconnect.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Italy"
+"\n"
+"You can visit our hardware database at:\n"
+"\n"
+"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cayman Islands"
+#: ../../standalone/draksound_.c:54
+msgid ""
+"\n"
+"\n"
+"\n"
+"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
+"program. Just type \"sndconfig\" in a console."
msgstr ""
-#: ../../fs.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "error unmounting %s: %s"
+#: ../../standalone/draksplash_.c:21
+msgid ""
+"package 'ImageMagick' is required for correct working.\n"
+"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer"
+#: ../../standalone/draksplash_.c:67
+msgid "first step creation"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "disable"
+#: ../../standalone/draksplash_.c:70
+msgid "final resolution"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do it!"
+#: ../../standalone/draksplash_.c:71 ../../standalone/draksplash_.c:163
+msgid "choose image file"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s not responding"
+#: ../../standalone/draksplash_.c:72
+msgid "Theme name"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select model manually"
+#: ../../standalone/draksplash_.c:77
+msgid "Browse"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Format"
+#: ../../standalone/draksplash_.c:87 ../../standalone/draksplash_.c:153
+msgid "Configure bootsplash picture"
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:90
msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
+"x coordinate of text box\n"
+"in number of character"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Various"
+#: ../../standalone/draksplash_.c:91
+msgid ""
+"y coordinate of text box\n"
+"in number of character"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Zip"
+#: ../../standalone/draksplash_.c:92
+msgid "text width"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Alt key"
+#: ../../standalone/draksplash_.c:93
+msgid "text box height"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Load setting"
+#: ../../standalone/draksplash_.c:94
+msgid ""
+"the progress bar x coordinate\n"
+"of its upper left corner"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:95
msgid ""
-"\n"
-"\n"
-"Printerdrake could not determine which model your printer %s is. Please choose the correct model from the list."
+"the progress bar y coordinate\n"
+"of its upper left corner"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Set selected printer as the default printer"
+#: ../../standalone/draksplash_.c:96
+msgid "the width of the progress bar"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Mark the printers which you want to transfer and click \n"
-"\"Transfer\"."
+#: ../../standalone/draksplash_.c:97
+msgid "the heigth of the progress bar"
msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ"
+#: ../../standalone/draksplash_.c:98
+msgid "the color of the progress bar"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Albanian"
+#: ../../standalone/draksplash_.c:113
+msgid "Preview"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Lithuania"
+#: ../../standalone/draksplash_.c:115
+msgid "Save theme"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Compact"
+#: ../../standalone/draksplash_.c:116
+msgid "Choose color"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected model: %s %s"
+#: ../../standalone/draksplash_.c:119
+msgid "Display logo on Console"
msgstr ""
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid "MandrakeSoft has selected the best software for you"
+#: ../../standalone/draksplash_.c:120
+msgid "Make kernel message quiet by default"
msgstr ""
-#: ../../any.pm:1
+#: ../../standalone/draksplash_.c:156 ../../standalone/draksplash_.c:321
#, c-format
-msgid "Local files"
+msgid "This theme haven't yet any bootsplash in %s !"
msgstr ""
-#: ../../pkgs.pm:1
-#, c-format
-msgid "maybe"
+#: ../../standalone/draksplash_.c:205
+msgid "saving Bootsplash theme..."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Panama"
+#: ../../standalone/draksplash_.c:428
+msgid "ProgressBar color selection"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Can't open %s!"
+#: ../../standalone/draksplash_.c:449
+msgid "You must choose an image file first!"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"Your graphic card seems to have a TV-OUT connector.\n"
-"It can be configured to work using frame-buffer.\n"
-"\n"
-"For this you have to plug your graphic card to your TV before booting your computer.\n"
-"Then choose the \"TVout\" entry in the bootloader\n"
-"\n"
-"Do you have this feature?"
+#: ../../standalone/draksplash_.c:458
+msgid "Generating preview ..."
msgstr ""
-#: ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
+#. -PO First %s is theme name, second %s (in parenthesis) is resolution
+#: ../../standalone/draksplash_.c:506
#, c-format
-msgid "Monitor"
+msgid "%s BootSplash (%s) preview"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakxtv_.c:46
msgid ""
-"You are about to set up printing to a Windows account with password. Due to a fault in the architecture of the Samba client software the password is put in clear text into the command line of the Samba client used to transmit the print job to the Windows server. So it is possible for every user on this machine to display the password on the screen by issuing commands as \"ps auxwww\".\n"
+"XawTV isn't installed!\n"
"\n"
-"We recommend to make use of one of the following alternatives (in all cases you have to make sure that only machines from your local network have access to your Windows server, for example by means of a firewall):\n"
"\n"
-"Use a password-less account on your Windows server, as the \"GUEST\" account or a special account dedicated for printing. Do not remove the password protection from a personal account or the administrator account.\n"
+"If you do have a TV card but DrakX has neither detected it (no bttv nor "
+"saa7134\n"
+"module in \"/etc/modules\") nor installed xawtv, please send the\n"
+"results of \"lspcidrake -v -f\" to \"install\\@mandrakesoft.com\"\n"
+"with subject \"undetected TV card\".\n"
"\n"
-"Set up your Windows server to make the printer available under the LPD protocol. Then set up printing from this machine with the \"%s\" connection type in Printerdrake.\n"
"\n"
-""
+"You can install it by typing \"urpmi xawtv\" as root, in a console."
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "65 thousand colors (16 bits)"
+#: ../../standalone/drakxtv_.c:63
+msgid "Canada (cable)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Save on Hard drive on path: %s\n"
-""
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (broadcast)"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove fonts on your system"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable)"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Warning, the network adapter (%s) is already configured.\n"
-"\n"
-"Do you want an automatic re-configuration?\n"
-"\n"
-"You can do it manually but you need to know what you're doing."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable-hrc)"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphical interface at startup"
+#: ../../standalone/drakxtv_.c:64
+msgid "China (broadcast)"
msgstr ""
-#: ../../raid.pm:1
-#, c-format
-msgid ""
-"Not enough partitions for RAID level %d\n"
-""
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (broadcast)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "format of floppies supported by the drive"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (cable)"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy failed, file %s not found"
+#: ../../standalone/drakxtv_.c:65
+msgid "East Europe"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: true"
+#: ../../standalone/drakxtv_.c:65
+msgid "France [SECAM]"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The following printers are configured. Double-click on a printer to change its settings; to make it the default printer; or to view information about it."
+#: ../../standalone/drakxtv_.c:65
+msgid "Ireland"
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connected"
+#: ../../standalone/drakxtv_.c:65
+msgid "West Europe"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Macedonian"
+#: ../../standalone/drakxtv_.c:66
+msgid "Australia"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mali"
+#: ../../standalone/drakxtv_.c:66
+msgid "Newzealand"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Bridges and system controllers"
+#: ../../standalone/drakxtv_.c:67
+msgid "South Africa"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Save"
+#: ../../standalone/drakxtv_.c:68
+msgid "Argentina"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "No details"
+#: ../../standalone/drakxtv_.c:69
+msgid "Australian Optus cable TV"
msgstr ""
-#: ../../pkgs.pm:1
-#, c-format
-msgid "very nice"
+#: ../../standalone/drakxtv_.c:102
+msgid ""
+"Please,\n"
+"type in your tv norm and country"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Preview"
+#: ../../standalone/drakxtv_.c:104
+msgid "TV norm:"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Remote Control"
+#: ../../standalone/drakxtv_.c:105
+msgid "Area:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select media for backup..."
+#: ../../standalone/drakxtv_.c:109
+msgid "Scanning for TV channels in progress ..."
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Wrong email"
+#: ../../standalone/drakxtv_.c:116
+msgid "Scanning for TV channels"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"XFree86 server: %s\n"
-""
+#: ../../standalone/drakxtv_.c:120
+msgid "There was an error while scanning for TV channels"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Allow Thin Clients"
+#: ../../standalone/drakxtv_.c:121
+msgid "XawTV isn't installed!"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Russian\" layout)"
+#: ../../standalone/drakxtv_.c:124
+msgid "Have a nice day!"
msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Options"
+#: ../../standalone/drakxtv_.c:125
+msgid "Now, you can run xawtv (under X Window!) !\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Your printer model"
+#: ../../standalone/drakxtv_.c:147
+msgid "No TV Card detected!"
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../standalone/drakxtv_.c:148
msgid ""
+"No TV Card has been detected on your machine. Please verify that a Linux-"
+"supported Video/TV Card is correctly plugged in.\n"
"\n"
"\n"
-"(WARNING! You're using XFS for your root partition,\n"
-"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
-"because XFS needs a very large driver)."
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
+"You can visit our hardware database at:\n"
"\n"
-"- Delete hard drive tar files after backup.\n"
-""
+"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "No CD or DVD image found, please copy the installation program and rpm files."
+#: ../../standalone/harddrake2_.c:17
+msgid "Alternative drivers"
msgstr ""
-#: ../advertising/04-configuration.pl:1
-#, c-format
-msgid "Mandrake's multipurpose configuration tool"
+#: ../../standalone/harddrake2_.c:18
+msgid "the list of alternative drivers for this sound card"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Save"
+#: ../../standalone/harddrake2_.c:20
+msgid "Bus"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is unsupported"
+#: ../../standalone/harddrake2_.c:21
+msgid ""
+"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Load the drivers for your usb devices."
+#: ../../standalone/harddrake2_.c:22
+msgid "Channel"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Disk"
+#: ../../standalone/harddrake2_.c:22
+msgid "EIDE/SCSI channel"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter a printer device URI"
+#: ../../standalone/harddrake2_.c:23
+msgid "Bogomips"
msgstr ""
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "The success of MandrakeSoft is based upon the principle of Free Software. Your new operating system is the result of collaborative work of the worldwide Linux Community."
+#: ../../standalone/harddrake2_.c:23
+msgid ""
+"The GNU/Linux kernel needs to do run a calculation loop at boot time\n"
+"\t to initialize a timer counter. Its result is stored as bogomips as a way "
+"to \"benchmark\" the cpu."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Israel"
+#: ../../standalone/harddrake2_.c:26
+msgid "Bus identification"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "French Guiana"
+#: ../../standalone/harddrake2_.c:27
+msgid ""
+"- PCI and USB devices: this list the vendor, device, subvendor and subdevice "
+"PCI/USB ids"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "default:LTR"
+#: ../../standalone/harddrake2_.c:29
+msgid "Location on the bus"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A command line must be entered!"
+#: ../../standalone/harddrake2_.c:30
+msgid ""
+"- pci devices: this gives the PCI slot, device and function of this card\n"
+"- eide devices: the device is either a slave or a master device\n"
+"- scsi devices: the scsi bus and the scsi device ids"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select user manually"
+#: ../../standalone/harddrake2_.c:33
+msgid "Cache size"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer printer configuration"
+#: ../../standalone/harddrake2_.c:33
+msgid "Size of the (second level) cpu cache"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Do you want to enable printing on the printers mentioned above?\n"
-""
+#: ../../standalone/harddrake2_.c:34
+msgid "Coma bug:"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of suid root files"
+#: ../../standalone/harddrake2_.c:34
+msgid "Does this cpu has Cyrix 6x86 Coma bug ?"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"For this to work for a W2K PDC, you will probably need to have the admin run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add and reboot the server.\n"
-"You will also need the username/password of a Domain Admin to join the machine to the Windows(TM) domain.\n"
-"If networking is not yet enabled, Drakx will attempt to join the domain after the network setup step.\n"
-"Should this setup fail for some reason and domain authentication is not working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) Domain, and Admin Username/Password, after system boot.\n"
-"The command 'wbinfo -t' will test whether your authentication secrets are good."
+#: ../../standalone/harddrake2_.c:35
+msgid "Cpuid family"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "%s (Port %s)"
+#: ../../standalone/harddrake2_.c:35
+msgid "Family of the cpu (eg: 6 for i686 class)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use network connection to backup"
+#: ../../standalone/harddrake2_.c:36
+msgid "Cpuid level"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Kernel version"
+#: ../../standalone/harddrake2_.c:36
+msgid "Information level that can be obtained through the cpuid instruction"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"It is now time to specify which programs you wish to install on your\n"
-"system. There are thousands of packages available for Mandrake Linux, and\n"
-"to make it simpler to manage the packages have been placed into groups of\n"
-"similar applications.\n"
-"\n"
-"Packages are sorted into groups corresponding to a particular use of your\n"
-"machine. Mandrake Linux has four predefined installations available. You\n"
-"can think of these installation classes as containers for various packages.\n"
-"You can mix and match applications from the various groups, so a\n"
-"``Workstation'' installation can still have applications from the\n"
-"``Development'' group installed.\n"
-"\n"
-" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
-"more of the applications that are in the workstation group.\n"
-"\n"
-" * \"%s\": if plan on using your machine for programming, choose the\n"
-"appropriate packages from that group.\n"
-"\n"
-" * \"%s\": if your machine is intended to be a server, select which of the\n"
-"more common services you wish to install on your machine.\n"
-"\n"
-" * \"%s\": this is where you will choose your preferred graphical\n"
-"environment. At least one must be selected if you want to have a graphical\n"
-"interface available.\n"
-"\n"
-"Moving the mouse cursor over a group name will display a short explanatory\n"
-"text about that group. If you unselect all groups when performing a regular\n"
-"installation (as opposed to an upgrade), a dialog will pop up proposing\n"
-"different options for a minimal installation:\n"
-"\n"
-" * \"%s\": install the minimum number of packages possible to have a\n"
-"working graphical desktop.\n"
-"\n"
-" * \"%s\": installs the base system plus basic utilities and their\n"
-"documentation. This installation is suitable for setting up a server.\n"
-"\n"
-" * \"%s\": will install the absolute minimum number of packages necessary\n"
-"to get a working Linux system. With this installation you will only have a\n"
-"command line interface. The total size of this installation is about 65\n"
-"megabytes.\n"
-"\n"
-"You can check the \"%s\" box, which is useful if you are familiar with the\n"
-"packages being offered or if you want to have total control over what will\n"
-"be installed.\n"
-"\n"
-"If you started the installation in \"%s\" mode, you can unselect all groups\n"
-"to avoid installing any new package. This is useful for repairing or\n"
-"updating an existing system."
+#: ../../standalone/harddrake2_.c:37
+msgid "Frequency (MHz)"
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Accept user"
+#: ../../standalone/harddrake2_.c:37
+msgid ""
+"The cpu frequency in Mhz (Mega herz which in first approximation may be "
+"coarsely assimilated to number of instructions the cpu is able to execute "
+"per second)"
msgstr ""
-#: ../../help.pm:1 ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server"
+#: ../../standalone/harddrake2_.c:38
+msgid "This field describes the device"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Shift key"
+#: ../../standalone/harddrake2_.c:39
+msgid "Old device file"
msgstr ""
-#: ../../interactive/stdio.pm:1 ../../interactive/stdio.pm:1
-#, c-format
-msgid ""
-"Bad choice, try again\n"
-""
+#: ../../standalone/harddrake2_.c:40
+msgid "old static device name used in dev package"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Syslog reports to console 12"
+#: ../../standalone/harddrake2_.c:41
+msgid "New devfs device"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search new servers"
+#: ../../standalone/harddrake2_.c:42
+msgid "new dinamic device name generated by incore kernel devfs"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Heard and McDonald Islands"
+#: ../../standalone/harddrake2_.c:43
+msgid "Module"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Instantaneous"
+#: ../../standalone/harddrake2_.c:43
+msgid "the module of the GNU/Linux kernel that handle that device"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No alternative driver"
+#: ../../standalone/harddrake2_.c:44
+msgid "CPU flags reported by the kernel"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to expert mode"
+#: ../../standalone/harddrake2_.c:44
+msgid "Flags"
msgstr ""
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on this machine)"
+#: ../../standalone/harddrake2_.c:45
+msgid "Fdiv bug"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Gateway address should be in format 1.2.3.4"
+#: ../../standalone/harddrake2_.c:46
+msgid ""
+"Early Intel Pentium chips manufactured have a bug in their floating point "
+"processor which did not achieve the attended precision when performing a "
+"Floating point DIVision (FDIV)"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "\"%s\" based winmodem detected, do you want to install needed software ?"
+#: ../../standalone/harddrake2_.c:49
+msgid "Is FPU present"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking at packages already installed..."
+#: ../../standalone/harddrake2_.c:49
+msgid "yes means the processor has an arithmetic coprocessor"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Differential Backups"
+#: ../../standalone/harddrake2_.c:50
+msgid "Does FPU have an irq vector"
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/drakups:1
-#, c-format
-msgid "Driver"
+#: ../../standalone/harddrake2_.c:50
+msgid "yes means the arithmetic coprocessor has an exception vector attached"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
+#: ../../standalone/harddrake2_.c:51
+msgid "Early pentium were buggy and freezed when decoding the F00F bytecode"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVD-R device"
+#: ../../standalone/harddrake2_.c:51
+msgid "F00f bug"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on remote lpd server"
+#: ../../standalone/harddrake2_.c:52
+msgid "Halt bug"
msgstr ""
-#: ../../standalone/drakfont:1 ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/harddrake2_.c:53
msgid ""
-"Before installing any fonts, be sure that you have the right to use and install them on your system.\n"
-"\n"
-"-You can install the fonts the normal way. In rare cases, bogus fonts may hang up your X Server."
+"Some of the early i486DX-100 chips cannot reliably return to operating mode "
+"after the \"halt\" instruction is used"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
-"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
-"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
-"to hold this information.\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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
-"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
-"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
-"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
+#: ../../standalone/harddrake2_.c:55
+msgid "Floppy format"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wednesday"
+#: ../../standalone/harddrake2_.c:55
+msgid "Format of floppies the drive accept"
msgstr ""
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Germany"
+#: ../../standalone/harddrake2_.c:56
+msgid "Level"
msgstr ""
-#: ../../crypto.pm:1 ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Austria"
+#: ../../standalone/harddrake2_.c:56
+msgid "Sub generation of the cpu"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "No mouse"
+#: ../../standalone/harddrake2_.c:57
+msgid "Media class"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Choose your CD/DVD media size (MB)"
+#: ../../standalone/harddrake2_.c:57
+msgid "class of hardware device"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check permissions of files in the users' home"
+#: ../../standalone/harddrake2_.c:58 ../../standalone/harddrake2_.c:59
+msgid "Model"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Run \"sndconfig\" after installation to configure your sound card"
+#: ../../standalone/harddrake2_.c:58
+msgid "hard disk model"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure networking"
+#: ../../standalone/harddrake2_.c:59
+msgid "Generation of the cpu (eg: 8 for PentiumIII, ...)"
msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Collapse Tree"
+#: ../../standalone/harddrake2_.c:60
+msgid "Model name"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Auto Install Configurator"
+#: ../../standalone/harddrake2_.c:60
+msgid "Official vendor name of the cpu"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Where do you want to install the bootloader?"
+#: ../../standalone/harddrake2_.c:61
+msgid "Number of buttons"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Your choice of preferred language will affect the language of the\n"
-"documentation, the installer and the system in general. Select first the\n"
-"region you are located in, and then the language you speak.\n"
-"\n"
-"Clicking on the \"%s\" button will allow you to select other languages to\n"
-"be installed on your workstation, thereby installing the language-specific\n"
-"files for system documentation and applications. For example, if you will\n"
-"host users from Spain on your machine, select English as the default\n"
-"language in the tree view and \"%s\" in the Advanced section.\n"
-"\n"
-"Note that you're not limited to choosing a single additional language. You\n"
-"may choose several ones, or even install them all by selecting the \"%s\"\n"
-"box. Selecting support for a language means translations, fonts, spell\n"
-"checkers, etc. for that language will be installed. Additionally, the\n"
-"\"%s\" checkbox allows you to force the system to use unicode (UTF-8). Note\n"
-"however that this is an experimental feature. If you select different\n"
-"languages requiring different encoding the unicode support will be\n"
-"installed anyway.\n"
-"\n"
-"To switch between the various languages installed on the system, you can\n"
-"launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n"
-"language used by the entire system. Running the command as a regular user\n"
-"will only change the language settings for that particular user."
+#: ../../standalone/harddrake2_.c:62
+msgid "Name"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not supported by this version of Mandrake Linux."
+#: ../../standalone/harddrake2_.c:63
+msgid "network printer port"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "tape"
+#: ../../standalone/harddrake2_.c:64
+msgid "Processor ID"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP client"
+#: ../../standalone/harddrake2_.c:64
+msgid "the number of the processor"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "List users on display managers (kdm and gdm)"
+#: ../../standalone/harddrake2_.c:65
+msgid "Model stepping"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type)"
+#: ../../standalone/harddrake2_.c:65
+msgid "Stepping of the cpu (sub model (generation) number)"
msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Restoring from file %s failed: %s"
+#: ../../standalone/harddrake2_.c:66
+msgid "The type of bus on which the mouse is connected"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid ""
-"I can't read the partition table of device %s, it's too corrupted for me :(\n"
-"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to not allow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to lose all the partitions?\n"
-""
+#: ../../standalone/harddrake2_.c:67
+msgid "the vendor name of the device"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Find Package"
+#: ../../standalone/harddrake2_.c:68
+msgid "the vendor name of the processor"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Are you sure that you want to set up printing on this machine?\n"
-""
+#: ../../standalone/harddrake2_.c:82
+msgid "/_Quit"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "New devfs device"
+#: ../../standalone/harddrake2_.c:83
+msgid "/Autodetect _printers"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "ERROR: Cannot spawn %s."
+#: ../../standalone/harddrake2_.c:83 ../../standalone/harddrake2_.c:85
+#: ../../standalone/logdrake_.c:81
+msgid "/_Options"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Boot Style Configuration"
+#: ../../standalone/harddrake2_.c:85
+msgid "/Autodetect _modems"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic time synchronization"
+#: ../../standalone/harddrake2_.c:87 ../../standalone/harddrake2_.c:89
+#: ../../standalone/harddrake2_.c:100 ../../standalone/harddrake2_.c:102
+#: ../../standalone/logdrake_.c:83
+msgid "/_Help"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files not found at %s."
+#: ../../standalone/harddrake2_.c:89
+msgid "/_Help..."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (phonetic)"
+#: ../../standalone/harddrake2_.c:92
+msgid "Harddrake help"
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Card model:"
+#: ../../standalone/harddrake2_.c:93
+msgid ""
+"Description of the fields:\n"
+"\n"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Thin Client"
+#: ../../standalone/harddrake2_.c:96
+msgid ""
+"Once you've selected a device, you'll be able to see explanations on fields "
+"displayed on the right frame (\"Information\")"
msgstr ""
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Thank you for choosing Mandrake Linux 9.2"
+#: ../../standalone/harddrake2_.c:96
+msgid "Select a device !"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Start Server"
+#: ../../standalone/harddrake2_.c:100
+msgid "/_Report Bug"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkmenistan"
+#: ../../standalone/harddrake2_.c:102
+msgid "/_About..."
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "All remote machines"
+#: ../../standalone/harddrake2_.c:104
+msgid "About Harddrake"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Install themes"
+#: ../../standalone/harddrake2_.c:105
+msgid ""
+"This is HardDrake, a Mandrake hardware configuration tool.\n"
+"Version:"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Espanol"
+#: ../../standalone/harddrake2_.c:106
+msgid "Author:"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing installation"
+#: ../../standalone/harddrake2_.c:113
+msgid "Detection in progress"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected host/network"
+#: ../../standalone/harddrake2_.c:119
+msgid "Harddrake2 version "
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add User -->"
+#: ../../standalone/harddrake2_.c:126
+msgid "Detected hardware"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Nauru"
+#: ../../standalone/harddrake2_.c:129
+msgid "Information"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type fonts installation"
+#: ../../standalone/harddrake2_.c:131
+msgid "Configure module"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected directly to the local network"
+#: ../../standalone/harddrake2_.c:137
+msgid "Run config tool"
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/drakconnect:1 ../../standalone/drakconnect:1
+#: ../../standalone/harddrake2_.c:143
#, c-format
-msgid "LAN configuration"
+msgid "Running \"%s\" ..."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "hard disk model"
+#: ../../standalone/harddrake2_.c:159
+msgid ""
+"Click on a device in the left tree in order to get its information displayed "
+"here."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain /etc/exports:\n"
-" \tClusternfs allows export of the root filesystem to diskless clients. drakTermServ\n"
-" \tsets up the correct entry to allow anonymous access to the root filesystem from\n"
-" \tdiskless clients.\n"
-"\n"
-" \tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t/\t\t\t\t\t(ro,all_squash)\n"
-" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-" \tWith SUBNET/MASK being defined for your network."
+#: ../../standalone/harddrake2_.c:231
+msgid "primary"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
+#: ../../standalone/harddrake2_.c:231
+msgid "secondary"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Get Windows Fonts"
+#: ../../standalone/harddrake2_.c:260
+msgid "/Autodetect modems"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Mouse Systems"
+#: ../../standalone/harddrake2_.c:260
+msgid "/Autodetect printers"
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid ""
-"Your computer can synchronize its clock\n"
-" with a remote time server using NTP"
+#: ../../standalone/harddrake2_.c:261
+msgid "/Options"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Iranian"
+#: ../../standalone/keyboarddrake_.c:26
+msgid "Please, choose your keyboard layout."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Croatia"
+#: ../../standalone/keyboarddrake_.c:35
+msgid "Do you want the BackSpace to return Delete in console?"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Install firmware file from"
+#: ../../standalone/livedrake_.c:18
+msgid "Change Cd-Rom"
msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway:"
+#: ../../standalone/livedrake_.c:19
+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 ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add server"
+#: ../../standalone/livedrake_.c:29
+msgid "Unable to start live upgrade !!!\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name"
+#: ../../standalone/localedrake_.c:34
+msgid "The change is done, but to be effective you must logout"
msgstr ""
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid "MandrakeSoft has designed exclusive tools to create the most secured Linux version ever: Draksec, a system security management tool, and a strong firewall are teamed up together in order to highly reduce hacking risks."
+#: ../../standalone/logdrake_.c:56 ../../ugtk.pm_.c:284 ../../ugtk2.pm_.c:350
+msgid "logdrake"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Device: "
+#: ../../standalone/logdrake_.c:68
+msgid "Show only for the selected day"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Printerdrake"
+#: ../../standalone/logdrake_.c:75
+msgid "/File/_New"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "License agreement"
+#: ../../standalone/logdrake_.c:75
+msgid "<control>N"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "System Options"
+#: ../../standalone/logdrake_.c:76
+msgid "/File/_Open"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Please choose the desired security level"
+#: ../../standalone/logdrake_.c:76
+msgid "<control>O"
msgstr ""
-#: ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"This host is already in the list, it cannot be added again.\n"
-""
+#: ../../standalone/logdrake_.c:77
+msgid "/File/_Save"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", USB printer"
+#: ../../standalone/logdrake_.c:77
+msgid "<control>S"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid ""
-"Unable to properly close mkbootdisk:\n"
-"\n"
-"<span foreground=\"Red\"><tt>%s</tt></span>"
+#: ../../standalone/logdrake_.c:78
+msgid "/File/Save _As"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Incremental backups only save files that have changed or are new since the last backup."
+#: ../../standalone/logdrake_.c:79
+msgid "/File/-"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Choose the applications that will support the fonts:"
+#: ../../standalone/logdrake_.c:82
+msgid "/Options/Test"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure X"
+#: ../../standalone/logdrake_.c:84
+msgid "/Help/_About..."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hd"
+#: ../../standalone/logdrake_.c:145
+msgid "User"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (traditional \"F\" model)"
+#: ../../standalone/logdrake_.c:146
+msgid "Messages"
msgstr ""
-#: ../../standalone/drakautoinst:1 ../../standalone/drakgw:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Congratulations!"
+#: ../../standalone/logdrake_.c:147
+msgid "Syslog"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use owner id for execution"
+#: ../../standalone/logdrake_.c:148
+msgid "Mandrake Tools Explanations"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Allow remote root login"
+#: ../../standalone/logdrake_.c:151
+msgid "search"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Down"
+#: ../../standalone/logdrake_.c:161
+msgid "A tool to monitor your logs"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer (No driver)"
+#: ../../standalone/logdrake_.c:162 ../../standalone/net_monitor_.c:91
+msgid "Settings"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Install rpm"
+#: ../../standalone/logdrake_.c:167
+msgid "matching"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print a file from the command line (terminal window) you can either use the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or \"kprinter <file>\". The graphical tools allow you to choose the printer and to modify the option settings easily.\n"
-""
+#: ../../standalone/logdrake_.c:168
+msgid "but not matching"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Time remaining "
+#: ../../standalone/logdrake_.c:172
+msgid "Choose file"
msgstr ""
-#: ../../keyboard.pm:1 ../../keyboard.pm:1
-#, c-format
-msgid "UK keyboard"
+#: ../../standalone/logdrake_.c:181
+msgid "Calendar"
msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Unmount"
+#: ../../standalone/logdrake_.c:191
+msgid "Content of the file"
msgstr ""
-#: ../../standalone/drakups:1
-#, c-format
-msgid "The wizard successfully added the following UPS devices:"
+#: ../../standalone/logdrake_.c:195 ../../standalone/logdrake_.c:375
+msgid "Mail alert"
msgstr ""
-#: ../../mouse.pm:1 ../../mouse.pm:1
+#: ../../standalone/logdrake_.c:245
#, c-format
-msgid "Microsoft Explorer"
+msgid "please wait, parsing file: %s"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Uninstall Fonts"
+#: ../../standalone/logdrake_.c:392
+msgid "Mail alert configuration"
msgstr ""
-#: ../../wizards.pm:1
-#, c-format
+#: ../../standalone/logdrake_.c:393
msgid ""
-"%s is not installed\n"
-"Click \"Next\" to install or \"Cancel\" to quit"
+"Welcome to the mail configuration utility.\n"
+"\n"
+"Here, you'll be able to set up the alert system.\n"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Please wait, detecting and configuring devices..."
+#: ../../standalone/logdrake_.c:400
+msgid "Apache World Wide Web Server"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German (no dead keys)"
+#: ../../standalone/logdrake_.c:401
+msgid "Domain Name Resolver"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\tSend mail to %s\n"
-""
+#: ../../standalone/logdrake_.c:402
+msgid "Ftp Server"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transferring %s..."
+#: ../../standalone/logdrake_.c:403
+msgid "Postfix Mail Server"
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "32 thousand colors (15 bits)"
+#: ../../standalone/logdrake_.c:404
+msgid "Samba Server"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "You can export using NFS or Samba. Please select which you'd like to use."
+#: ../../standalone/logdrake_.c:405
+msgid "SSH Server"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Gambia"
+#: ../../standalone/logdrake_.c:406
+msgid "Webmin Service"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Control Center"
+#: ../../standalone/logdrake_.c:407
+msgid "Xinetd Service"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Reboot"
+#: ../../standalone/logdrake_.c:414
+msgid "service setting"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device"
+#: ../../standalone/logdrake_.c:415
+msgid ""
+"You will receive an alert if one of the selected services is no more running"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"You can enter miscellaneous ports. \n"
-"Valid examples are: 139/tcp 139/udp.\n"
-"Have a look at /etc/services for information."
+#: ../../standalone/logdrake_.c:428
+msgid "load setting"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\t-Tape \n"
-""
+#: ../../standalone/logdrake_.c:429
+msgid "You will receive an alert if the load is higher than this value"
msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid "No browser is installed on your system, Please install one if you want to browse the help system"
+#: ../../standalone/logdrake_.c:444
+msgid "alert configuration"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remember this password"
+#: ../../standalone/logdrake_.c:445
+msgid "Please enter your email address below "
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "due to unsatisfied %s"
+#: ../../standalone/logdrake_.c:486
+msgid "Save as.."
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now enabled."
+#: ../../standalone/mousedrake_.c:37
+msgid "Please, choose the type of your mouse."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\t-Network by SSH.\n"
-""
+#: ../../standalone/mousedrake_.c:50
+msgid "Emulate third button?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " If the desired printer was auto-detected, simply choose it from the list and then add user name, password, and/or workgroup if needed."
+#: ../../standalone/net_monitor_.c:53 ../../standalone/net_monitor_.c:87
+msgid "Network Monitoring"
msgstr ""
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use the free space on the Windows partition"
+#: ../../standalone/net_monitor_.c:96
+msgid "Profile "
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s found on %s, configure it automatically?"
+#: ../../standalone/net_monitor_.c:99
+msgid "Statistics"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Remove a network interface"
+#: ../../standalone/net_monitor_.c:103
+msgid "Sending Speed:"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"XFree86 driver: %s\n"
-""
+#: ../../standalone/net_monitor_.c:104
+msgid "Receiving Speed:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"This host/network is already in the list, it cannot be added again.\n"
-""
+#: ../../standalone/net_monitor_.c:106
+msgid "Connection Time: "
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the packages you want to install"
+#: ../../standalone/net_monitor_.c:113
+msgid "Logs"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Papua New Guinea"
+#: ../../standalone/net_monitor_.c:147
+msgid "Wait please, testing your connection..."
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on a parallel port"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+msgid "Connecting to Internet "
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Serbian (cyrillic)"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+msgid "Disconnecting from Internet "
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "(detected %s)"
+#: ../../standalone/net_monitor_.c:222
+msgid "Disconnection from Internet failed."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory where backups are stored"
+#: ../../standalone/net_monitor_.c:223
+msgid "Disconnection from Internet complete."
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Make kernel message quiet by default"
+#: ../../standalone/net_monitor_.c:225
+msgid "Connection complete."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/net_monitor_.c:226
msgid ""
-"Do you want to set this printer (\"%s\")\n"
-"as the default printer?"
+"Connection failed.\n"
+"Verify your configuration in the Mandrake Control Center."
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP end range"
+#: ../../standalone/net_monitor_.c:330
+msgid "Color configuration"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Creating bootdisk..."
+#: ../../standalone/net_monitor_.c:383 ../../standalone/net_monitor_.c:403
+msgid "sent: "
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please, testing your connection..."
+#: ../../standalone/net_monitor_.c:390 ../../standalone/net_monitor_.c:407
+msgid "received: "
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing down the network"
+#: ../../standalone/net_monitor_.c:397
+msgid "average"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
+#: ../../standalone/net_monitor_.c:400
+msgid "Local measure"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Login ID"
+#: ../../standalone/net_monitor_.c:432
+msgid "transmitted"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP Client"
+#: ../../standalone/net_monitor_.c:433
+msgid "received"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone/net_monitor_.c:453
msgid ""
-"This is HardDrake, a Mandrake hardware configuration tool.\n"
-"<span foreground=\"royalblue3\">Version:</span> %s\n"
-"<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud &lt;tvignaud@mandrakesoft.com&gt;\n"
-"\n"
-""
+"Warning, another internet connection has been detected, maybe using your "
+"network"
msgstr ""
-#: ../../standalone/drakgw:1 ../../standalone/drakgw:1
+#: ../../standalone/net_monitor_.c:459
#, c-format
-msgid "dismiss"
+msgid "Connect %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/net_monitor_.c:459
#, c-format
-msgid "Printing/Scanning on \"%s\""
+msgid "Disconnect %s"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit raid modules"
+#: ../../standalone/printerdrake_.c:47
+msgid "Reading printer data ..."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-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)."
+#: ../../standalone/scannerdrake_.c:39
+msgid "Detecting devices ..."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Irish"
+#: ../../standalone/scannerdrake_.c:39
+msgid "Test ports"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/scannerdrake_.c:51 ../../standalone/scannerdrake_.c:66
+#: ../../standalone/scannerdrake_.c:79
#, c-format
-msgid "Sunday"
+msgid "The %s is not supported by this version of Mandrake Linux."
msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../standalone/scannerdrake_.c:54
#, c-format
-msgid "Internet Connection Configuration"
+msgid "%s found on %s, configure it?"
msgstr ""
-#: ../../modules/parameters.pm:1
+#: ../../standalone/scannerdrake_.c:57
#, c-format
-msgid "comma separated numbers"
+msgid "%s is not in the scanner database, configure it manually?"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Once you've selected a device, you'll be able to see the device information in fields displayed on the right frame (\"Information\")"
+#: ../../standalone/scannerdrake_.c:63
+msgid "Select a scanner"
msgstr ""
-#: ../../standalone/drakperm:1
+#: ../../standalone/scannerdrake_.c:91
#, c-format
-msgid "Move selected rule up one level"
+msgid "This %s scanner is unsupported"
msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/scannerdrake_.c:105
#, c-format
msgid ""
-"The following scanner\n"
-"\n"
-"%s\n"
-"is available on your system.\n"
-""
+"Scannerdrake was not able to detect your %s scanner.\n"
+"Please select the device where your scanner is plugged"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you really want to remove the printer \"%s\"?"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "I can't find any room for installing"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Default printer"
+#: ../../standalone/scannerdrake_.c:107
+msgid "choose device"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../standalone/scannerdrake_.c:113
#, c-format
msgid ""
-"You have configured multiple ways to connect to the Internet.\n"
-"Choose the one you want to use.\n"
-"\n"
-""
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Modify RAID"
+"This %s scanner must be configured by printerdrake.\n"
+"You can launch printerdrake from the Mandrake Control Center in Hardware "
+"section."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "I have detected an ISDN PCI card, but I don't know its type. Please select a PCI card on the next screen."
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Add user"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/scannerdrake_.c:118
#, c-format
msgid ""
-"RAID-disks %s\n"
-""
+"Your %s scanner has been configured.\n"
+"You may now scan documents using ``XSane'' from Multimedia/Graphics in the "
+"applications menu."
msgstr ""
-#: ../../lang.pm:1
+#: ../../standalone/service_harddrake_.c:44
#, c-format
-msgid "Liberia"
+msgid "Some devices in the \"%s\" hardware class were removed:\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Could not install the packages needed to set up a scanner with Scannerdrake."
+#: ../../standalone/service_harddrake_.c:48
+msgid "Some devices were added:\n"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose your keyboard"
+#: ../../standalone/service_harddrake_.c:64
+msgid "Hardware probing in progress"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Please enter the name of the interface connected to the internet.\n"
-"\n"
-"Examples:\n"
-"\t\tppp+ for modem or DSL connections, \n"
-"\t\teth0, or eth1 for cable connection, \n"
-"\t\tippp+ for a isdn connection.\n"
-""
+#: ../../steps.pm_.c:14
+msgid "Choose your language"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Format partitions"
+#: ../../steps.pm_.c:15
+msgid "Select installation class"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatic correction of CUPS configuration"
+#: ../../steps.pm_.c:16
+msgid "Hard drive detection"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Running \"%s\" ..."
+#: ../../steps.pm_.c:17
+msgid "Configure mouse"
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "enable radio support"
+#: ../../steps.pm_.c:18
+msgid "Choose your keyboard"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing to hosts: "
+#: ../../steps.pm_.c:19
+msgid "Security"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: %s"
+#: ../../steps.pm_.c:20
+msgid "Setup filesystems"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the printer to which the print jobs should go."
+#: ../../steps.pm_.c:21
+msgid "Format partitions"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not transfer printers"
+#: ../../steps.pm_.c:22
+msgid "Choose packages to install"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Delay before booting the default image"
+#: ../../steps.pm_.c:23
+msgid "Install system"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Hard Disk to backup"
+#: ../../steps.pm_.c:25
+msgid "Add a user"
msgstr ""
-#: ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Configure"
+#: ../../steps.pm_.c:26
+msgid "Configure networking"
msgstr ""
-#: ../../scanner.pm:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake"
+#: ../../steps.pm_.c:28
+msgid "Configure services"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Warning, another Internet connection has been detected, maybe using your network"
+#: ../../steps.pm_.c:29
+msgid "Install bootloader"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Users"
+#: ../../steps.pm_.c:31
+msgid "Create a bootdisk"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-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."
+#: ../../steps.pm_.c:33
+msgid "Configure X"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Spooler"
+#: ../../steps.pm_.c:34
+msgid "Install system updates"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Create new theme"
+#: ../../steps.pm_.c:35
+msgid "Exit install"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mandrake Tools Explanation"
+#: ../../ugtk.pm_.c:636
+msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "No image found"
+#: ../../ugtk2.pm_.c:711
+msgid "utopia 25"
msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-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"
-""
+#: ../../share/compssUsers:999
+msgid "Web/FTP"
msgstr ""
-#: ../advertising/06-development.pl:1
-#, c-format
-msgid "Mandrake Linux 9.2: the ultimate development platform"
+#: ../../share/compssUsers:999
+msgid "Network Computer (client)"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Detected model: %s"
+#: ../../share/compssUsers:999
+msgid "NFS server, SMB server, Proxy server, ssh server"
msgstr ""
-#: ../../standalone/drakedm:1
-#, c-format
-msgid ""
-"X11 Display Manager allows you to graphically log\n"
-"into your system with the X Window System running and supports running\n"
-"several different X sessions on your local machine at the same time."
+#: ../../share/compssUsers:999
+msgid "Office"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run the daily security checks."
+#: ../../share/compssUsers:999
+msgid "Gnome Workstation"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Azerbaijan"
+#: ../../share/compssUsers:999
+msgid "Tools for your Palm Pilot or your Visor"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Device name to use for backup"
+#: ../../share/compssUsers:999
+msgid "Workstation"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No tape in %s!"
+#: ../../share/compssUsers:999
+msgid "Firewall/Router"
msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-" --doc <link> - link to another web page ( for WM welcome frontend)\n"
-""
+#: ../../share/compssUsers:999
+msgid "Domain Name and Network Information Server"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (US)"
+#: ../../share/compssUsers:999
+msgid "Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
+#: ../../share/compssUsers:999
+msgid "Audio-related tools: mp3 or midi players, mixers, etc"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "How is the printer connected?"
+#: ../../share/compssUsers:999
+msgid "Linux Standard Base. Third party applications support"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security level"
+#: ../../share/compssUsers:999
+msgid "Books and Howto's on Linux and Free Software"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "final resolution"
+#: ../../share/compssUsers:999
+msgid "KDE Workstation"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services"
+#: ../../share/compssUsers:999
+msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
msgstr ""
-#: /home/srtxg/ftp/Mandrake/cooker/gi/move/move.pm:1
-#, c-format
-msgid "Auto configuration"
+#: ../../share/compssUsers:999
+msgid "Multimedia - Video"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "4 MB"
+#: ../../share/compssUsers:999
+msgid "Set of tools for mail, news, web, file transfer, and chat"
msgstr ""
-
#: ../../share/compssUsers:999
-msgid "Office Workstation"
+msgid "Database"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc"
+msgid "PostgreSQL or MySQL database server"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Game station"
+msgid "Tools to ease the configuration of your computer"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
+msgid "Multimedia - Sound"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Multimedia station"
+msgid "Documentation"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
+msgid "Console Tools"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Internet station"
+msgid "Postfix mail server, Inn news server"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Set of tools to read and send mail and news (mutt, tin..) and to browse the Web"
+msgid "Internet station"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
+msgid "Multimedia station"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
+msgid "Configuration"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Configuration"
+msgid "More Graphical Desktops (Gnome, IceWM)"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
+msgid "The K Desktop Environment, the basic graphical environment with a collection of accompanying tools"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
+msgid "Graphical Environment"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Scientific applications such as gnuplot"
+msgid "Development"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Console Tools"
+msgid "Apache, Pro-ftpd"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
+msgid "Tools to create and burn CD's"
msgstr ""
#: ../../share/compssUsers:999
-msgid "KDE Workstation"
+msgid "Office Workstation"
msgstr ""
#: ../../share/compssUsers:999
-msgid "The K Desktop Environment, the basic graphical environment with a collection of accompanying tools"
+msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
+msgid "Graphics programs such as The Gimp"
msgstr ""
#: ../../share/compssUsers:999
-msgid "A graphical environment with user-friendly set of applications and desktop tools"
+msgid "DNS/NIS "
msgstr ""
#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
+msgid "C and C++ development libraries, programs and include files"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgid "Network Computer server"
msgstr ""
#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
+msgid "Mail/Groupware/News"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Documentation"
+msgid "Game station"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
+msgid "Video players and editors"
msgstr ""
#: ../../share/compssUsers:999
-msgid "LSB"
+msgid "Multimedia - Graphics"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Linux Standard Base. Third party applications support"
+msgid "Amusement programs: arcade, boards, strategy, etc"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Web/FTP"
+msgid "Set of tools to read and send mail and news (pine, mutt, tin..) and to browse the Web"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
+msgid "Personal Finance"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Mail"
+msgid "A graphical environment with user-friendly set of applications and desktop tools"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Postfix mail server"
+msgid "Clients for different protocols including ssh"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Database"
+msgid "LSB"
msgstr ""
#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
+msgid "Internet gateway"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Firewall/Router"
+msgid "Sound and video playing/editing programs"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Internet gateway"
+msgid "Other Graphical Desktops"
msgstr ""
#: ../../share/compssUsers:999
-msgid "DNS/NIS "
+msgid "Editors, shells, file tools, terminals"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
+msgid "Programs to manage your finance, such as gnucash"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Network Computer server"
+msgid "Personal Information Management"
msgstr ""
#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
+msgid "Multimedia - CD Burning"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Set of tools to read and send mail and news and to browse the Web"
+msgid "Scientific Workstation"
msgstr ""
diff --git a/perl-install/share/po/Makefile b/perl-install/share/po/Makefile
index 07355143c..4088668cb 100644
--- a/perl-install/share/po/Makefile
+++ b/perl-install/share/po/Makefile
@@ -1,18 +1,18 @@
include ../../Makefile.config
-PMSFILES = $(ALLPMS) ../move/move.pm ../move/tree/mdk_totem
-PMSFILES_HERE = $(wildcard $(PMSFILES:%=../../%))
+PMSFILES = $(wildcard $(ALLPMS:%=../../%))
+
+# temporarly don't include those po files
+# (too low translation percentage)
+POFILES = $(shell ls *.po|grep -v '\(ga.po\|is.po\|sl.po\)')
-POFILES = $(wildcard *.po)
MOFILES = $(POFILES:%.po=%.mo)
LANGS = $(POFILES:%.po=%)
LOCALEDIR=$(DATADIR)/locale
-all: help mofiles
-
-mofiles: $(MOFILES)
+all: help $(MOFILES)
help:
@if [ ! -d doc ]; then \
@@ -34,24 +34,24 @@ $(POFILES): DrakX.pot
if [ -e help-$@t ]; then perl -pe 's|^#~ ||' -i $@t ; msgmerge -C $@t help-$@t $< > $@; else msgmerge $@t $< > $@; fi
rm $@t
-DrakX.pot: $(PMSFILES_HERE)
- cd ../.. ; perl_checker -q --generate-pot share/po/$@ $(PMSFILES)
+DrakX.pot: $(PMSFILES)
+ perl_checker -q --generate-pot $@ $(PMSFILES)
perl i18n_compssUsers 2>/dev/null >> $@
install:
for l in $(LANGS); do \
- $(SUDO) install -d $(LOCALEDIR)/$$l/LC_MESSAGES; \
- $(SUDO) install -m 644 $$l.mo $(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).mo; \
+ install -d $(LOCALEDIR)/$$l/LC_MESSAGES; \
+ install -m 644 $$l.mo $(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).mo; \
done
clean:
@rm -rf drakx-help.xml .memdump doc empty.po tmp.* messages tmp.pot *.mo $(POFILES:%=%t)
check:
- @grep '[^\\]\$$' DrakX.pot && { echo 'bad translation strings (contains $$) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'; exit 1; } ||:
+ @grep -F '$$' DrakX.pot && { echo "bad translation strings (contains \$$) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"; exit 1; } ||:
verif:
- perl -ne '/^\s*#/ or $$i += my @l = /\b__?\(/g; END { print "$$i\n" }' $(PMSFILES_HERE)
+ 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
verif2:
diff --git a/perl-install/share/po/af.po b/perl-install/share/po/af.po
index 67afbc8a2..00fa8d64c 100644
--- a/perl-install/share/po/af.po
+++ b/perl-install/share/po/af.po
@@ -1,5197 +1,3157 @@
-# translation of DrakX-af21-09.po to Afrikaans
-# translation of DrakX-af.po to Afrikaans
# KTranslator Generated File
# KTranslator Generated File
-# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
# Schalk W. Cronj <schalkc@ntaba.co.za>, 2000
-# Dirk van der Walt <mandrake@webmail.co.za>, 2003
#
msgid ""
msgstr ""
-"Project-Id-Version: DrakX-af21-09\n"
-"POT-Creation-Date: 2003-12-03 03:09+0100\n"
-"PO-Revision-Date: 2003-09-23 16:06+0200\n"
-"Last-Translator: Dirk van der Walt <mandrake@webmail.co.za>\n"
-"Language-Team: Afrikaans\n"
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2002-12-05 19:52+0100\n"
+"PO-Revision-Date: 2001-08-20 21:28-0000\n"
+"Last-Translator: Schalk W. Cronj <schalkc@uk.ntaba.com>\n"
+"Language-Team: Afrikaans <mandrake@af.org.za>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.0.1\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Scanning partitions to find mount points"
-msgstr "Deursoek partisies vir hegpunte"
+#: ../../Xconfig/card.pm_.c:16
+msgid "256 kB"
+msgstr "256 kB"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of suid root files."
-msgstr "indien ja gekies is, let na byvoeg/verwydering van 'suid root' lers."
+#: ../../Xconfig/card.pm_.c:17
+msgid "512 kB"
+msgstr "512 kB"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, "
-"0/1 for Local Config...\n"
-msgstr ""
-"%s:%s benodig die rekenaarnaam,MAC-adres, IP, 'nbi-image', 0/1 vir "
-"maerklint, 0/1 vir die Plaaslike Konfigurasie...\n"
+#: ../../Xconfig/card.pm_.c:18
+msgid "1 MB"
+msgstr "1 MB"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Configuration changed - restart clusternfs/dhcpd?"
-msgstr "Konfigurasie het verander - herbegin 'clusterfs/dhcpd'?"
+#: ../../Xconfig/card.pm_.c:19
+msgid "2 MB"
+msgstr "2 MB"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t\tErase=%s"
-msgstr "\t\tVerwyder=%s"
+#: ../../Xconfig/card.pm_.c:20
+msgid "4 MB"
+msgstr "4 MB"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Differential backups only save files that have changed or are new since the "
-"original 'base' backup."
-msgstr ""
-"'n Differensile rugsteun stoor slegs die lers wat nuut bygekom het, of "
-"verander is, sedert die 'base' rugsteun gedoen is."
+#: ../../Xconfig/card.pm_.c:21
+msgid "8 MB"
+msgstr "8 MB"
-#
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "network printer port"
-msgstr "poort van netwerkdrukker"
+#: ../../Xconfig/card.pm_.c:22
+msgid "16 MB"
+msgstr "16 MB"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Please insert floppy disk:"
-msgstr "Plaas disket in aandrywer:"
+#: ../../Xconfig/card.pm_.c:23
+msgid "32 MB"
+msgstr "32 MB"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "DrakTermServ"
-msgstr "DrakTermServ"
+#: ../../Xconfig/card.pm_.c:24
+msgid "64 MB or more"
+msgstr "64MB of meer"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "PCMCIA"
-msgstr "PCMCIA"
+#: ../../Xconfig/card.pm_.c:203
+msgid "Choose a X server"
+msgstr "Kies 'n X-bediener"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../Xconfig/card.pm_.c:203
+msgid "X server"
+msgstr "X-bediener"
+
+#: ../../Xconfig/card.pm_.c:230
+msgid "Multi-head configuration"
+msgstr "Multikopkonfigurasie"
+
+#: ../../Xconfig/card.pm_.c:231
msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
+"Your system support multiple head configuration.\n"
+"What do you want to do?"
msgstr ""
-"Die rugsteunpartisielys se grootte verskil\n"
-"Wil u voortgaan?"
+"U stelsel onderstuen multikopkonfigurasie.\n"
+"Wat wil u doen?"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Which username"
-msgstr "Watter gebruiker"
+#: ../../Xconfig/card.pm_.c:288
+msgid "Select the memory size of your graphics card"
+msgstr "Kies die geheue grootte van u videokaart"
-#: ../../any.pm:1
-#, c-format
-msgid "Which type of entry do you want to add?"
-msgstr "Watter tipe inskrywing wil u byvoeg?"
+#: ../../Xconfig/card.pm_.c:349
+msgid "XFree configuration"
+msgstr "XFree-konfigurasie"
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Restore partition table"
-msgstr "Herstel partisielys"
+#: ../../Xconfig/card.pm_.c:351
+msgid "Which configuration of XFree do you want to have?"
+msgstr "Watter tipe XFree-konfigurasie verlang u?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure hostname..."
-msgstr "Stel rekenaarnaam op..."
+#: ../../Xconfig/card.pm_.c:383
+msgid "Configure all heads independently"
+msgstr "Konfigureer skyfkoppe afsonderlik"
-#: ../../printer/cups.pm:1
+#: ../../Xconfig/card.pm_.c:384
+msgid "Use Xinerama extension"
+msgstr "Gebruik Xinerama-ekstensies"
+
+#: ../../Xconfig/card.pm_.c:389
+#, fuzzy, c-format
+msgid "Configure only card \"%s\"%s"
+msgstr "Konfigureer net die \"%s\" kaart (%s)"
+
+#: ../../Xconfig/card.pm_.c:401 ../../Xconfig/card.pm_.c:402
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "On CUPS server \"%s\""
-msgstr "Op CUPS bediener\"%s\""
+msgid "XFree %s"
+msgstr "XFree %s"
-#: ../../install_steps_interactive.pm:1
+#: ../../Xconfig/card.pm_.c:413 ../../Xconfig/card.pm_.c:439
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Post-install configuration"
-msgstr "Post-installasiekonfigurasie"
+msgid "XFree %s with 3D hardware acceleration"
+msgstr "XFree %s met 3D-hardwareversnelling"
-#: ../../standalone/drakperm:1
+#: ../../Xconfig/card.pm_.c:416
#, c-format
msgid ""
-"The current security level is %s\n"
-"Select permissions to see/edit"
+"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 ""
-"Die huidige vlak van sekuriteit is %s\n"
-"Ondersoek of verander vergunningsvlakke"
+"U videokaart kan slegs 3D-versnelling onder XFree %s ondersteun.\n"
+"DIt word wel onder XFree %s ondersteun wat dalk beter 2D-ondersteuning het."
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../Xconfig/card.pm_.c:418 ../../Xconfig/card.pm_.c:441
#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Gebruik ``%s'' instede."
+msgid "Your card can have 3D hardware acceleration support with XFree %s."
+msgstr ""
+"U videokaart kan vir 3D-hardewareversnelling ondestuen word in XFree %s."
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../standalone/harddrake2:1
+#: ../../Xconfig/card.pm_.c:426 ../../Xconfig/card.pm_.c:447
#, c-format
-msgid "Type"
-msgstr "Tipe"
+msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
+msgstr "XFree %s met EKSPERIMENTELE 3D-hardewareversnelling"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:429
#, c-format
msgid ""
-"\n"
-"Also printers configured with the PPD files provided by their manufacturers "
-"or with native CUPS drivers cannot be transferred."
+"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"
-"Let tog dat drukkers wat opgestel is met hulle vervaardiger se PPD lers of "
-"plaaslike CUPS drywers, nie oorgeplaas kan word nie."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sri Lanka"
-msgstr "Sri Lanka"
+"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."
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:432 ../../Xconfig/card.pm_.c:449
#, c-format
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"are directly connected to your system"
+"Your card can have 3D hardware acceleration support with XFree %s,\n"
+"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
msgstr ""
-"Hierdie betrokke drukker\n"
-"\n"
-"%s%s\n"
-"is direk aan u rekenaar gekoppel."
+"Hierdie kaart kan ondersteuning vir 3D-hardewareversnelling onder XFree86 %s "
+"bied,\n"
+"MAAR LET DAAROP DAT DIT EKSPERIMENTEEL IS EN DIE REKENAAR MAG VRIES."
-#: ../../lang.pm:1
-#, c-format
-msgid "Central African Republic"
-msgstr "Sentrale-Afrika Republiek"
+#: ../../Xconfig/card.pm_.c:455
+msgid "Xpmac (installation display driver)"
+msgstr "Xpmac (installasievertoondrywer)"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway device"
-msgstr "Deurgangtoestel"
+#
+#: ../../Xconfig/main.pm_.c:76 ../../Xconfig/main.pm_.c:77
+#: ../../Xconfig/monitor.pm_.c:96 ../../any.pm_.c:961
+msgid "Custom"
+msgstr "Aangepaste"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Advanced preferences"
-msgstr "Gevorderde voorkeure"
+#: ../../Xconfig/main.pm_.c:102
+#, fuzzy
+msgid "Graphic Card"
+msgstr "Videokaart"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Net Method:"
-msgstr "Netwerkmetode:"
+#: ../../Xconfig/main.pm_.c:105 ../../Xconfig/monitor.pm_.c:93
+msgid "Monitor"
+msgstr "Monitor"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Ethernetcard"
-msgstr "Ethernetkaart"
+#: ../../Xconfig/main.pm_.c:108 ../../Xconfig/resolution_and_depth.pm_.c:210
+msgid "Resolution"
+msgstr "Resolusie"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "If set, send the mail report to this email address else send it to root"
+#: ../../Xconfig/main.pm_.c:113
+msgid "Test"
msgstr ""
-"Indien gespesifiseer, stuur die e-pos verslag na hierdie adres, so nie,\n"
-"stuur na 'root'"
-
-#: ../../modules/interactive.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Parameters"
-msgstr "Parameters"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "no"
-msgstr "nee"
-
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Auto-detect"
-msgstr "Gebruik outospeuring"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface:"
-msgstr "Koppelvlak:"
+#: ../../Xconfig/main.pm_.c:118 ../../diskdrake/dav.pm_.c:67
+#: ../../diskdrake/interactive.pm_.c:393 ../../diskdrake/removable.pm_.c:25
+#: ../../diskdrake/smbnfs_gtk.pm_.c:86
+msgid "Options"
+msgstr "Opsies"
-#: ../../steps.pm:1
-#, c-format
-msgid "Select installation class"
-msgstr "Kies installasieklas"
+#: ../../Xconfig/main.pm_.c:122 ../../Xconfig/resolution_and_depth.pm_.c:269
+#: ../../install_gtk.pm_.c:86 ../../install_steps_gtk.pm_.c:274
+#: ../../interactive.pm_.c:127 ../../interactive.pm_.c:142
+#: ../../interactive.pm_.c:345 ../../interactive/http.pm_.c:104
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../interactive/stdio.pm_.c:144 ../../my_gtk.pm_.c:159
+#: ../../my_gtk.pm_.c:287 ../../my_gtk.pm_.c:310 ../../security/main.pm_.c:181
+#: ../../standalone/drakbackup_.c:3920 ../../standalone/drakbackup_.c:4015
+#: ../../standalone/drakbackup_.c:4034 ../../ugtk2.pm_.c:435
+#: ../../ugtk2.pm_.c:926 ../../ugtk2.pm_.c:949
+msgid "Ok"
+msgstr "OK"
-#: ../../network/tools.pm:1
-#, c-format
-msgid ""
-"The system doesn't seem to be connected to the Internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Dit blyk dat u rekenaar geen toegang tot die Internet het nie.\n"
-"Probeer weer u konneksie konfigureer."
+#: ../../Xconfig/main.pm_.c:122 ../../diskdrake/dav.pm_.c:28
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/draksplash_.c:114
+#: ../../standalone/harddrake2_.c:152 ../../standalone/logdrake_.c:204
+msgid "Quit"
+msgstr "Verlaat"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/main.pm_.c:145
#, c-format
msgid ""
-"Connect your printer to a Linux server and let your Windows machine(s) "
-"connect to it as a client.\n"
+"Keep the changes?\n"
+"The current configuration is:\n"
"\n"
-"Do you really want to continue setting up this printer as you are doing now?"
+"%s"
msgstr ""
-"Konnekteer u drukker aan 'n Linux bediener, en laat u Windows-rekenaars ook "
-"daardie bediener gebruik.\n"
+"Behou die veranderinge?\n"
+"Huidige konfigurasie is:\n"
"\n"
-"Sal ons voortgaan?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Belarus"
-msgstr "Belarus"
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Error writing to file %s"
-msgstr "Fout met die skryf van %s"
+"%s"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result to syslog"
-msgstr "Skryf toetsreslutate na 'n staafler"
+#: ../../Xconfig/monitor.pm_.c:93
+msgid "Choose a monitor"
+msgstr "Kies 'n monitor"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"apmd is used for monitoring battery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
+#: ../../Xconfig/monitor.pm_.c:97
+msgid "Plug'n Play"
msgstr ""
-"Die apmd monitor die sterkte van u battery en skryf terugvoer na u\n"
-"staaflers.\n"
-"Dit kan ook ingespan word om die rekenaar af te skakeel, sodra die battery\n"
-"pap word."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tape to backup"
-msgstr "Skryf rugsteun na magnetiese band"
-
-#
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be installed"
-msgstr "Ons gaan die volgende pakette installeer"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS configuration"
-msgstr "CUPS-konfigurasie"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total progress"
-msgstr "Totale vordering"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Not enough free space to allocate new partitions"
-msgstr "Tekort aan oop spasie vir die nuwe partisies"
+#: ../../Xconfig/monitor.pm_.c:98 ../../mouse.pm_.c:46
+msgid "Generic"
+msgstr "Generies"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving"
-msgstr "Verskuif"
+#: ../../Xconfig/monitor.pm_.c:99 ../../standalone/harddrake2_.c:67
+#: ../../standalone/harddrake2_.c:68
+#, fuzzy
+msgid "Vendor"
+msgstr "Herroep"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via %s:\n"
-"\n"
+#: ../../Xconfig/monitor.pm_.c:109
+msgid "Plug'n Play probing failed. Please choose a precise monitor"
msgstr ""
-"\n"
-"Drakbackup aktiviteite deur %s:\n"
-"\n"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "yes"
-msgstr "ja"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "("
-msgstr "("
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../Xconfig/monitor.pm_.c:114
msgid ""
-"Welcome to The Network Configuration Wizard.\n"
+"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"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\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 ""
-"Welkom by die Netwerkkonfigurasie-assistent\n"
+"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"
-"Ons gaan nou u internet/netwerkkonneksie konfigureer.\n"
-"Iniden u nie outobespeuring verlang nie, deselekteer die opsie.\n"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ")"
-msgstr ")"
+"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."
-#: ../../lang.pm:1
-#, c-format
-msgid "Lebanon"
-msgstr "Libanon"
+#: ../../Xconfig/monitor.pm_.c:121
+msgid "Horizontal refresh rate"
+msgstr "Horisontale verfristempo"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
+#: ../../Xconfig/monitor.pm_.c:122
+msgid "Vertical refresh rate"
+msgstr "Vertikale verfristempo"
-#: ../../services.pm:1
-#, c-format
-msgid "Stop"
-msgstr "Stop"
+#: ../../Xconfig/resolution_and_depth.pm_.c:12
+msgid "256 colors (8 bits)"
+msgstr "256 kleure (8 bis)"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Edit selected host"
-msgstr "Redigeer gekose rekenaar"
+#: ../../Xconfig/resolution_and_depth.pm_.c:13
+msgid "32 thousand colors (15 bits)"
+msgstr "32-duisend kleure (15 bis)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD device defined!"
-msgstr "Geen opgestelde CD!"
+#: ../../Xconfig/resolution_and_depth.pm_.c:14
+msgid "65 thousand colors (16 bits)"
+msgstr "65-duisend kleure (16 bis)"
-#: ../../network/shorewall.pm:1
-#, fuzzy, c-format
-msgid ""
-"Please enter the name of the interface connected to the "
-"internet. \n"
-" \n"
-"Examples:\n"
-" ppp+ for modem or DSL connections, \n"
-" eth0, or eth1 for cable connection, \n"
-" ippp+ for a isdn connection.\n"
-msgstr ""
-"Voorsien asseblief die koppelvlak-naam wat verbind is aan die Internet.\n"
-"\n"
-"Voorbeelde:\n"
-"\t\tppp+ vir modem of DSL konneksies, \n"
-"\t\teth0, or eth1 vir kabel konneksies, \n"
-"\t\tippp+ vir 'n isdn konneksie.\n"
+#: ../../Xconfig/resolution_and_depth.pm_.c:15
+msgid "16 million colors (24 bits)"
+msgstr "16-miljoen kleure (24 bis)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tUse .backupignore files\n"
-msgstr "\t Gebruik '.backupignore' lers\n"
+#: ../../Xconfig/resolution_and_depth.pm_.c:16
+msgid "4 billion colors (32 bits)"
+msgstr "4 biljoen kleure (32 bis)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (phonetic)"
-msgstr "Bulgaars (Foneties)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:130
+msgid "Resolutions"
+msgstr "Resolusies"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP start ip"
-msgstr "Die DHCP-ip om mee te begin"
+#: ../../Xconfig/resolution_and_depth.pm_.c:255
+msgid "Choose the resolution and the color depth"
+msgstr "Kies die resolusie en kleurdiepte"
-#: ../../Xconfig/card.pm:1
+#: ../../Xconfig/resolution_and_depth.pm_.c:256
#, c-format
-msgid "256 kB"
-msgstr "256 kB"
+msgid "Graphics card: %s"
+msgstr "Videokaart: %s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Don't rewind tape after backup"
-msgstr "Geen opwen na rugsteun"
+#: ../../Xconfig/resolution_and_depth.pm_.c:269 ../../any.pm_.c:1001
+#: ../../bootlook.pm_.c:336 ../../diskdrake/smbnfs_gtk.pm_.c:87
+#: ../../install_steps_gtk.pm_.c:405 ../../install_steps_gtk.pm_.c:463
+#: ../../interactive.pm_.c:142 ../../interactive.pm_.c:345
+#: ../../interactive/http.pm_.c:105 ../../interactive/newt.pm_.c:194
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../my_gtk.pm_.c:158 ../../my_gtk.pm_.c:162 ../../my_gtk.pm_.c:287
+#: ../../network/netconnect.pm_.c:39 ../../printer/printerdrake.pm_.c:2055
+#: ../../security/main.pm_.c:228 ../../standalone/drakautoinst_.c:198
+#: ../../standalone/drakbackup_.c:3874 ../../standalone/drakbackup_.c:3907
+#: ../../standalone/drakbackup_.c:3933 ../../standalone/drakbackup_.c:3960
+#: ../../standalone/drakbackup_.c:3987 ../../standalone/drakbackup_.c:4047
+#: ../../standalone/drakbackup_.c:4074 ../../standalone/drakbackup_.c:4104
+#: ../../standalone/drakbackup_.c:4130 ../../standalone/drakconnect_.c:112
+#: ../../standalone/drakconnect_.c:144 ../../standalone/drakconnect_.c:286
+#: ../../standalone/drakconnect_.c:534 ../../standalone/drakconnect_.c:677
+#: ../../standalone/drakfloppy_.c:207 ../../standalone/drakfont_.c:918
+#: ../../standalone/drakgw_.c:557 ../../standalone/logdrake_.c:204
+#: ../../standalone/net_monitor_.c:337 ../../ugtk.pm_.c:295
+#: ../../ugtk2.pm_.c:362 ../../ugtk2.pm_.c:434 ../../ugtk2.pm_.c:438
+#: ../../ugtk2.pm_.c:926
+msgid "Cancel"
+msgstr "Kanselleer"
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader main options"
-msgstr "Herlaaistelsel hoofopsies"
+#: ../../Xconfig/test.pm_.c:29
+msgid "Test of the configuration"
+msgstr "Toets konfigurasie"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
-msgstr ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
+#: ../../Xconfig/test.pm_.c:30
+msgid "Do you want to test the configuration?"
+msgstr "Wil u die konfigurasie toets?"
-#: ../../harddrake/data.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Tape"
-msgstr "Magnetiese band"
+#: ../../Xconfig/test.pm_.c:30
+#, fuzzy
+msgid "Warning: testing this graphic card may freeze your computer"
+msgstr "Waarskuwing: Toetsing is gevaarlik met hierdie videokaart"
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:29
#, c-format
-msgid "Malaysia"
-msgstr "Maleisi"
+msgid "Keyboard layout: %s\n"
+msgstr "Sleutelbord uitleg: %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/various.pm_.c:30
#, c-format
-msgid "Scanning network..."
-msgstr "Deursoek die netwerk..."
+msgid "Mouse type: %s\n"
+msgstr "Muistipe: %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:31
#, c-format
-msgid ""
-"With this option you will be able to restore any version\n"
-" of your /etc directory."
-msgstr ""
-"Hierdie opsie stel u instaat om enige weergawe van u \n"
-"'/etc' lergids te herstel."
+msgid "Mouse device: %s\n"
+msgstr "Muistoestel: %s\n"
-#: ../../standalone/drakedm:1
+#: ../../Xconfig/various.pm_.c:32
#, c-format
-msgid "The change is done, do you want to restart the dm service ?"
-msgstr "Die veranderinge is voltooi, wil u die 'dm' diens oorbegin?"
+msgid "Monitor: %s\n"
+msgstr "Monitor: %s\n"
-#: ../../keyboard.pm:1
+#: ../../Xconfig/various.pm_.c:33
#, c-format
-msgid "Swiss (French layout)"
-msgstr "Switsers (Franse uitleg)"
+msgid "Monitor HorizSync: %s\n"
+msgstr "Monitor HoriSink: %s\n"
-#: ../../raid.pm:1
+#: ../../Xconfig/various.pm_.c:34
#, c-format
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid het gefaal. Dalk is 'raidtools' nie beskikbaar nie."
+msgid "Monitor VertRefresh: %s\n"
+msgstr "Monitor VertVerfris: %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:35
#, c-format
-msgid "August"
-msgstr "Augustus"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "FTP server"
-msgstr "NTP-bediener"
+msgid "Graphics card: %s\n"
+msgstr "Videokaart: %s\n"
-#: ../../harddrake/data.pm:1
+#: ../../Xconfig/various.pm_.c:36
#, c-format
-msgid "Webcam"
-msgstr "Webkamera"
+msgid "Graphics memory: %s kB\n"
+msgstr "Video geheue: %s kB\n"
-#: ../../standalone/harddrake2:1
+#: ../../Xconfig/various.pm_.c:38
#, c-format
-msgid "size of the (second level) cpu cache"
-msgstr "grotte van die (tweede vlak) verwerker-tussengeheue"
+msgid "Color depth: %s\n"
+msgstr "Kleurdiepte: %s\n"
-#: ../../harddrake/data.pm:1
+#: ../../Xconfig/various.pm_.c:39
#, c-format
-msgid "Soundcard"
-msgstr "Klankkaart"
+msgid "Resolution: %s\n"
+msgstr "Resolusie: %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:41
#, c-format
-msgid "Month"
-msgstr "Maand"
+msgid "XFree86 server: %s\n"
+msgstr "XFree86 bediener: %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:42
#, c-format
-msgid "Search for files to restore"
-msgstr "Opsoek na lers om te herstel"
+msgid "XFree86 driver: %s\n"
+msgstr "XFree86-drywer: %s\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Luxembourg"
-msgstr "Luxemburg"
+#: ../../Xconfig/various.pm_.c:61
+msgid "Graphical interface at startup"
+msgstr "X met herlaai"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:62
msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\".\n"
+"I can setup your computer to automatically start the graphical interface "
+"(XFree) upon booting.\n"
+"Would you like XFree to start when you reboot?"
msgstr ""
-"Om 'n ler uit te druk vanaf die instruksielyn, gebruik die opdrag \"%s "
-"<lernaam>\".\n"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Level %s\n"
-msgstr "Vlak %s\n"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac (phonetic)"
-msgstr "Siries (Foneties)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Iran"
-msgstr "Iran"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bus"
-msgstr "Bus"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Iraq"
-msgstr "Irak"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "connecting to %s ..."
-msgstr "konnekteer aan %s ..."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Potential LAN address conflict found in current config of %s!\n"
-msgstr "Moontlike LAN-adresbotsing in konfigurasie gevind%s!\n"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring..."
-msgstr "Konfigurasie in aabou..."
+"Ek kan u rekenaar so opstel om X outomaties te laai.\n"
+"Wil u X begin met 'n herlaai?"
-#: ../../harddrake/v4l.pm:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:73
msgid ""
-"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
-"detect the rights parameters.\n"
-"If your card is misdetected, you can force the right tuner and card types "
-"here. Just select your tv card parameters if needed."
+"Your graphic card seems to have a TV-OUT connector.\n"
+"It can be configured to work using frame-buffer.\n"
+"\n"
+"For this you have to plug your graphic card to your TV before booting your "
+"computer.\n"
+"Then choose the \"TVout\" entry in the bootloader\n"
+"\n"
+"Do you have this feature?"
msgstr ""
-"Die GNU/Linux se bttv module outospeur gewoonlik al die TV-kaart se "
-"parameters korrek.\n"
-"Indien dit nie gebeur het nie, kan u die korrekte instemmer en kaart tipe "
-"hier opstel. Kies bloot die parameters wat benodig word."
-
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Password (again)"
-msgstr "Wagwoord (weer)"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search installed fonts"
-msgstr "Opsoek na genstalleerde lettertipes"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default desktop"
-msgstr "Verstek werkskerm"
+#: ../../Xconfig/various.pm_.c:85
+#, fuzzy
+msgid "What norm is your TV using?"
+msgstr "Watter tipe is u ISDN-konneksie?"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid ""
-"To submit a bug report, click on the button report.\n"
-"This will open a web browser window on %s\n"
-" where you'll find a form to fill in. The information displayed above will "
-"be \n"
-"transferred to that server."
-msgstr ""
-"Klik die 'Verslag' knoppie, indien u 'n foutverslag wil instuur.\n"
-"Dit sal die blaaier oopmaak op %s\n"
-"en 'n vorm om in te vul aan u toon. Die bogenoemde inligting\n"
-"sal na daardie bediener gestuur word."
+#: ../../any.pm_.c:107 ../../any.pm_.c:132
+msgid "First sector of boot partition"
+msgstr "Eerste sektor van herlaaipartisie"
-#: ../../lang.pm:1
-#, c-format
-msgid "Venezuela"
-msgstr "Venezuela"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132 ../../any.pm_.c:209
+msgid "First sector of drive (MBR)"
+msgstr "Eerste sektor van skyf (MBR)"
-#
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "IP address"
-msgstr "IP-adres"
+#: ../../any.pm_.c:111
+msgid "SILO Installation"
+msgstr "SILO installasie"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Choose the sizes"
-msgstr "Kies die groottes"
+#: ../../any.pm_.c:112 ../../any.pm_.c:125
+msgid "Where do you want to install the bootloader?"
+msgstr "Waar wil u die herlaaistelsel installeer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"List of data corrupted:\n"
-"\n"
-msgstr ""
-"Lys van korrupte data:\n"
-"\n"
+#: ../../any.pm_.c:124
+msgid "LILO/grub Installation"
+msgstr "LILO/grub installasie"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Can only be mounted explicitly (i.e.,\n"
-"the -a option will not cause the file system to be mounted)."
-msgstr ""
-"Kan slegs afsonderlik geheg word (- op sy eie - , \n"
-"die '-a' opsie sal hiedie lerstelsel nie laat heg nie)."
+#: ../../any.pm_.c:136 ../../any.pm_.c:150
+msgid "SILO"
+msgstr "SILO"
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"Your modem isn't supported by the system.\n"
-"Take a look at http://www.linmodems.org"
-msgstr ""
-"U modem word nie ten volle deur Linux ondersteun nie.\n"
-"Probeer http://www.linmodems.org vir meer inligting."
+#: ../../any.pm_.c:138
+msgid "LILO with text menu"
+msgstr "LILO met tekskieskaart"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose another partition"
-msgstr "Kies 'n ander partisie"
+#: ../../any.pm_.c:139 ../../any.pm_.c:150
+msgid "LILO with graphical menu"
+msgstr "LILO met grafiese kieskaart"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Current user"
-msgstr "Huidige gebruiker"
+#: ../../any.pm_.c:142
+msgid "Grub"
+msgstr "Grub"
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Username"
-msgstr "Gebruikernaam"
+#: ../../any.pm_.c:146
+msgid "Boot from DOS/Windows (loadlin)"
+msgstr "Laai vauit DOS/Windows (loadlin)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left \"Windows\" key"
-msgstr "Linker \"Windows\" sleutel"
+#: ../../any.pm_.c:148 ../../any.pm_.c:150
+msgid "Yaboot"
+msgstr "Yaboot"
-#: ../../lang.pm:1
-#, c-format
-msgid "Guyana"
-msgstr "Guyana"
+#: ../../any.pm_.c:158 ../../any.pm_.c:189
+msgid "Bootloader main options"
+msgstr "Herlaaistelsel hoofopsies"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Server Configuration"
-msgstr "dhcpd Bediener-konfigurasie"
+#: ../../any.pm_.c:159 ../../any.pm_.c:190
+msgid "Bootloader to use"
+msgstr "Herlaaistelsel om te gebruik"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid ""
-"Used for directory:\n"
-" only owner of directory or file in this directory can delete it"
-msgstr ""
-"Gebruik vir lergids:\n"
-"kan slegs deur die eienaar van die lergids (of ler) verwyder word"
+#: ../../any.pm_.c:161
+msgid "Bootloader installation"
+msgstr "Herlaaiprogram installasie"
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on Novell server \"%s\", printer \"%s\""
-msgstr " op Novell bediener \"%s\", drukker \"%s\""
+#: ../../any.pm_.c:163 ../../any.pm_.c:192
+msgid "Boot device"
+msgstr "Herlaaitoestel"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Printer Name"
-msgstr "Drukkernaam"
+#: ../../any.pm_.c:164
+msgid "Compact"
+msgstr "Kompak"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Setting up USB key"
-msgstr ""
+#: ../../any.pm_.c:164
+msgid "compact"
+msgstr "kompak"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Remove a module"
-msgstr "Verwyder module"
+#: ../../any.pm_.c:165 ../../any.pm_.c:289
+msgid "Video mode"
+msgstr "Videomodus"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../network/modem.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../any.pm_.c:167
+msgid "Delay before booting default image"
+msgstr "Wagperiode voro verstekstelsel gelaai word"
+
+#: ../../any.pm_.c:169 ../../any.pm_.c:772
+#: ../../diskdrake/smbnfs_gtk.pm_.c:179
+#: ../../install_steps_interactive.pm_.c:1077 ../../network/modem.pm_.c:71
+#: ../../printer/printerdrake.pm_.c:803 ../../printer/printerdrake.pm_.c:916
+#: ../../standalone/drakbackup_.c:3478 ../../standalone/drakconnect_.c:622
+#: ../../standalone/drakconnect_.c:647
msgid "Password"
msgstr "Wagwoord"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Advanced Configuration"
-msgstr "Gevorderde-konfigurasie"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Scanning on your HP multi-function device"
-msgstr "Deursoek u HP multi-funksionele toestel"
+#: ../../any.pm_.c:170 ../../any.pm_.c:773
+#: ../../install_steps_interactive.pm_.c:1078
+msgid "Password (again)"
+msgstr "Wagwoord (weer)"
-#: ../../any.pm:1
-#, c-format
-msgid "Root"
-msgstr "'Root'"
+#: ../../any.pm_.c:171
+msgid "Restrict command line options"
+msgstr "Beperk instruksielynopsies"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing RAID to add to"
-msgstr "Kies 'n bestaande RAID om by toe te voeg"
+#: ../../any.pm_.c:171
+msgid "restrict"
+msgstr "beperk"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turks (moderne \"Q\" model)"
+#: ../../any.pm_.c:173
+msgid "Clean /tmp at each boot"
+msgstr "Maak /tmp skoon met elke herlaai"
-#: ../../standalone/drakboot:1
+#: ../../any.pm_.c:174
#, c-format
-msgid "Lilo message not found"
-msgstr "Lilo boodskap nie gevind nie"
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Presiese RAM grootte indien nodig (%d MB bespeur)"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
+#: ../../any.pm_.c:176
+msgid "Enable multi profiles"
+msgstr "Gebruik multiprofiele"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "if needed"
-msgstr "indien nodig"
+#: ../../any.pm_.c:180
+msgid "Give the ram size in MB"
+msgstr "Gee die geheuegrootte in MB"
-#: ../../standalone/drakclock:1
-#, c-format
+#: ../../any.pm_.c:182
msgid ""
-"We need to install ntp package\n"
-" to enable Network Time Protocol"
+"Option ``Restrict command line options'' is of no use without a password"
msgstr ""
+"Opsie ``Beperk instruksielynopsies'' kan nie sonder wagwoord gebruikword nie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Failed..."
-msgstr "Herstel Het Gefaal..."
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../diskdrake/interactive.pm_.c:1204
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "Please try again"
+msgstr "Probeer asb. weer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Store the password for this system in drakbackup configuration."
-msgstr "Stoor hierdie rekenaar se wagwoord in 'drakbackup' se konfigurasie."
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "The passwords do not match"
+msgstr "Die wagwoorde stem nie ooreen nie."
-#: ../../install_messages.pm:1
-#, c-format
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Mandrake "
-"Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read this document carefully. 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 "
-"occurence 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 Mandrake Linux 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\", \"Mandrake Linux\" 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"
+#: ../../any.pm_.c:191
+msgid "Init Message"
+msgstr "Beginboodskap"
+
+#: ../../any.pm_.c:193
+msgid "Open Firmware Delay"
msgstr ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Mandrake "
-"Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read this document carefully. 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 "
-"occurence 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 Mandrake Linux 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\", \"Mandrake Linux\" 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"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default user"
-msgstr "Verstekgebruiker"
+#: ../../any.pm_.c:194
+msgid "Kernel Boot Timeout"
+msgstr "Tydsbeperking vir stelselkernlaai"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"the progress bar x coordinate\n"
-"of its upper left corner"
-msgstr ""
-"die vorderingsbalk se x kordinaat\n"
-"van sy linker-boonste hoek"
+#: ../../any.pm_.c:195
+msgid "Enable CD Boot?"
+msgstr "Laat CD-herlaai toe?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Current interface configuration"
-msgstr "Huidige koppelvlak-konfigurasie"
+#: ../../any.pm_.c:196
+msgid "Enable OF Boot?"
+msgstr "Laat OF-herlaai toe?"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD - Line Printer Daemon"
-msgstr "LPD - Lyndrukkerdiensprogram"
+#: ../../any.pm_.c:197
+msgid "Default OS?"
+msgstr "Verstek bedryfstelsel?"
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../any.pm_.c:231
msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
"\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"
+"On which drive are you booting?"
msgstr ""
-"\n"
-"Indien u 'n ISA-kaart het, behoort die waardes op die volgende skerm\n"
-"reg te wees.\n"
-"\n"
-"Indien u 'n PCMCIA-kaart het, moet u die IRQ en I/O van u kaart weet.\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not print any test page"
-msgstr "Geen toetsbladsy(e)"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gurmukhi"
-msgstr "Gurmukhi"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s already in use\n"
-msgstr "%s is alreeds in gebruik\n"
-#: ../../any.pm:1
-#, c-format
-msgid "Force No APIC"
-msgstr "Dwing Geen APIC"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "This password is too short (it must be at least %d characters long)"
-msgstr "Hierdie wagwoord is te eenvoudig. (moet ten minste %d karakters bevat)"
-
-#: ../../standalone.pm:1
-#, c-format
-msgid "[keyboard]"
-msgstr "[sleutelbord]"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "FTP proxy"
-msgstr "FTP-instaanbediener"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install List"
-msgstr "Installeer-lys"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:247
msgid ""
-"Change\n"
-"Restore Path"
+"Here are the entries on your boot menu so far.\n"
+"You can add some more or change the existing ones."
msgstr ""
-"Verander\n"
-"Herstelroete"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Show only for the selected day"
-msgstr "Vertoon slegs vir gekose dag"
+"Hier is die huidige inskrywings\n"
+"U kan byvoeg or verwyder soos nodig."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tLimit disk usage to %s MB\n"
-msgstr "\tBeperk gebruik van skyfspasie tot %s MB\n"
+#: ../../any.pm_.c:257 ../../standalone/drakbackup_.c:1531
+#: ../../standalone/drakbackup_.c:1644 ../../standalone/drakfont_.c:953
+#: ../../standalone/drakfont_.c:996
+msgid "Add"
+msgstr "Voeg by"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "512 kB"
-msgstr "512 kB"
+#: ../../any.pm_.c:257 ../../any.pm_.c:760 ../../diskdrake/dav.pm_.c:68
+#: ../../diskdrake/hd_gtk.pm_.c:156 ../../diskdrake/removable.pm_.c:27
+#: ../../diskdrake/smbnfs_gtk.pm_.c:88 ../../interactive/http.pm_.c:153
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/drakbackup_.c:2726
+msgid "Done"
+msgstr "Klaar"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "(Note: Parallel ports cannot be auto-detected)"
-msgstr "(Aandag: Kan nie parallelle poorte outospeur nie)"
+#: ../../any.pm_.c:257
+msgid "Modify"
+msgstr "Verander"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>N"
-msgstr "<control>N"
+#: ../../any.pm_.c:265
+msgid "Which type of entry do you want to add?"
+msgstr "Watter tipe inskrywing wil u byvoeg?"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind of card do you have?"
-msgstr "Oor watter tipe kaart beskik u?"
+#: ../../any.pm_.c:266 ../../standalone/drakbackup_.c:1674
+msgid "Linux"
+msgstr "Linux"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>O"
-msgstr "<control>O"
+#: ../../any.pm_.c:266
+msgid "Other OS (SunOS...)"
+msgstr "Ander bedryfstelsel (SunOS...)"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Security"
-msgstr "Sekuriteit"
+#: ../../any.pm_.c:267
+msgid "Other OS (MacOS...)"
+msgstr "Ander bedryfstelsel (MacOS...)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can also use the graphical interface \"xpdq\" for setting options and "
-"handling printing jobs.\n"
-"If you are using KDE as desktop environment you have a \"panic button\", an "
-"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
-"jobs immediately when you click it. This is for example useful for paper "
-"jams.\n"
-msgstr ""
-"Om opsies te kies en druktake te bestuur, kan u ook die grafiese program "
-"\"xpdq\" gebruik \n"
-"Indien u KDE as werksomgewing gebruik, kan u 'n \"paniek knoppie\" opstel, "
-"dit is 'n ikoon op u werkskerm wat lui \"STOP Drukker\", wat dan dadelik "
-"alle druktake sal stop, sodra u op dit klik. Dit is byvoorbeeld handig as "
-"die papier vasdruk.\n"
+#: ../../any.pm_.c:267
+msgid "Other OS (windows...)"
+msgstr "Ander bedryfstelsel (windows...)"
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "<control>Q"
-msgstr "<control>Q"
+#: ../../any.pm_.c:285
+msgid "Image"
+msgstr "Beeld"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Unable to find backups to restore...\n"
-msgstr "Kon nie 'n rugsteun om te herstel vind nie...\n"
+#: ../../any.pm_.c:286 ../../any.pm_.c:297
+msgid "Root"
+msgstr "Basis"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown"
-msgstr "Onbekend"
+#: ../../any.pm_.c:287 ../../any.pm_.c:315
+msgid "Append"
+msgstr "Aanlas"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This server is already in the list, it cannot be added again.\n"
-msgstr "Jammer, hierdie bediener is reeds deel van die lys.\n"
+#: ../../any.pm_.c:291
+msgid "Initrd"
+msgstr "Initrd"
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Network Configuration"
-msgstr "Netwerkkonfigurasie"
+#: ../../any.pm_.c:292
+msgid "Read-write"
+msgstr "Lees-skryf"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>S"
-msgstr "<control>S"
+#: ../../any.pm_.c:299
+msgid "Table"
+msgstr "Tabel"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid ""
-"Protocol for the rest of the world\n"
-"No D-Channel (leased lines)"
-msgstr ""
-"Protokol vir die res vd wreld \n"
-"geen D-Kanaal nie (bruikhuurlyne)"
+#: ../../any.pm_.c:300
+msgid "Unsafe"
+msgstr "Onveilig"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - /etc/xinetd.d/tftp:\n"
-" \tdrakTermServ will configure this file to work in conjunction with "
-"the images created\n"
-" \tby mkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
-"the boot image to \n"
-" \teach diskless client.\n"
-"\n"
-" \tA typical tftp configuration file looks like:\n"
-" \t\t\n"
-" \tservice tftp\n"
-"\t\t\t{\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t}\n"
-" \t\t\n"
-" \tThe changes here from the default installation are changing the "
-"disable flag to\n"
-" \t'no' and changing the directory path to /var/lib/tftpboot, where "
-"mkinitrd-net\n"
-" \tputs its images."
-msgstr ""
-" - /etc/xinetd.d/tftp:\n"
-" \tdrakTermServ will configure this file to work in conjunction with "
-"the images created\n"
-" \tby mkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
-"the boot image to \n"
-" \teach diskless client.\n"
-"\n"
-" \tA typical tftp configuration file looks like:\n"
-" \t\t\n"
-" \tservice tftp\n"
-"\t\t\t{\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t}\n"
-" \t\t\n"
-" \tThe changes here from the default installation are changing the "
-"disable flag to\n"
-" \t'no' and changing the directory path to /var/lib/tftpboot, where "
-"mkinitrd-net\n"
-" \tputs its images."
+#: ../../any.pm_.c:307 ../../any.pm_.c:312 ../../any.pm_.c:314
+msgid "Label"
+msgstr "Etiket"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be a number!"
-msgstr "Opsie %s moet 'n nommer wees!"
+#: ../../any.pm_.c:309 ../../any.pm_.c:319 ../../harddrake/v4l.pm_.c:215
+msgid "Default"
+msgstr "Verstek"
-#: ../../standalone/drakboot:1 ../../standalone/draksplash:1
-#, c-format
-msgid "Notice"
-msgstr "Aandag"
+#: ../../any.pm_.c:316
+msgid "Initrd-size"
+msgstr "Initrd-grootte"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "You have not configured X. Are you sure you really want this?"
-msgstr "U het nog nie 'X' opgestel nie. Verlang u dit regtig?"
+#: ../../any.pm_.c:318
+msgid "NoVideo"
+msgstr "Geen video"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The configuration of the printer will work fully automatically. If your "
-"printer was not correctly detected or if you prefer a customized printer "
-"configuration, turn on \"Manual configuration\"."
-msgstr ""
-"Die opstel van u drukker is ten volle outomaties. Indien u drukker nie "
-"korrek bespeur is nie, of u moonlik 'n pasmaak konfigurasie verkies, gebruik "
-"\"Selfdoen konfigurasie\"."
+#: ../../any.pm_.c:326
+msgid "Remove entry"
+msgstr "Verwyder inskrywing"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "What type of partitioning?"
-msgstr "Watter soort partisie?"
+#: ../../any.pm_.c:329
+msgid "Empty label not allowed"
+msgstr "Le etiket word nie toegelaat nie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"file list sent by FTP: %s\n"
-" "
+#: ../../any.pm_.c:330
+msgid "You must specify a kernel image"
msgstr ""
-"deur FTPgestuur: %s\n"
-" "
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface"
-msgstr "Koppelvlak"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Multisession CD"
-msgstr "Multisessie-CD"
-
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated strings"
-msgstr "komma-afgeskeie reekse"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "These are the machines from which the scanners should be used:"
-msgstr "Gebruik die skandeerders vanaf hierdie rekenaars:"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Messages"
-msgstr "Boodskappe"
-
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH06X (bt878) [many vendors]"
-msgstr "Onbekend|CPH06X (bt878) [baie vervaardigers]"
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "POP and IMAP Server"
-msgstr "POP en IMAP bediener"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mexico"
-msgstr "Mexiko"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Model stepping"
-msgstr "Stap deur modelle"
+#: ../../any.pm_.c:330
+#, fuzzy
+msgid "You must specify a root partition"
+msgstr "U moet oor 'n ruilpartisie beskik"
-#: ../../lang.pm:1
-#, c-format
-msgid "Rwanda"
-msgstr "Rwanda"
+#: ../../any.pm_.c:331
+msgid "This label is already used"
+msgstr "Hierdie etiket is alreeds in gebruik"
-#: ../../lang.pm:1
+#: ../../any.pm_.c:640
#, c-format
-msgid "Switzerland"
-msgstr "Switserland"
+msgid "Found %s %s interfaces"
+msgstr "Het %s %s koppelvlakke gevind"
-#: ../../lang.pm:1
-#, c-format
-msgid "Brunei Darussalam"
-msgstr "Brunei Darussalam"
+#: ../../any.pm_.c:641
+msgid "Do you have another one?"
+msgstr "Beskik u oor nog?"
-#: ../../modules/interactive.pm:1
+#: ../../any.pm_.c:642
#, c-format
msgid "Do you have any %s interfaces?"
msgstr "Het u enige %s koppelvlakke?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "You must be root to read configuration file. \n"
-msgstr "Om die konfigurasieler te lees, moet u 'root' wees.\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote lpd Printer Options"
-msgstr "Eksterne lpd drukkeropsies"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"GNU/Linux is a multi-user system, meaning each user may have their own\n"
-"preferences, their own files and so on. You can read the ``Starter Guide''\n"
-"to learn more about multi-user systems. But unlike \"root\", who is the\n"
-"system administrator, the users you add at this point will not be\n"
-"authorized to change anything except their own files and their own\n"
-"configurations, protecting the system from unintentional or malicious\n"
-"changes that impact on the system as a whole. You will have to create at\n"
-"least one regular user for yourself -- this is the account which you should\n"
-"use for routine, day-to-day use. Although it is very easy to log in as\n"
-"\"root\" to do anything and everything, it may also be very dangerous! A\n"
-"very simple mistake could mean that your system will not work any more. If\n"
-"you make a serious mistake as a regular user, the worst that will happen is\n"
-"that you will lose some information, but not affect the entire system.\n"
-"\n"
-"The first field asks you for a real name. Of course, this is not mandatory\n"
-"-- you can actually enter whatever you like. DrakX will use the first word\n"
-"you typed in this field and copy it to the \"%s\" field, which is the name\n"
-"this user will enter to log onto the system. If you like, you may override\n"
-"the default and change the username. The next step is to enter a password.\n"
-"From a security point of view, a non-privileged (regular) user password is\n"
-"not as crucial as the \"root\" password, but that is no reason to neglect\n"
-"it by making it blank or too simple: after all, your files could be the\n"
-"ones at risk.\n"
-"\n"
-"Once you click on \"%s\", you can add other users. Add a user for each one\n"
-"of your friends: your father or your sister, for example. Click \"%s\" when\n"
-"you have finished adding users.\n"
-"\n"
-"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
-"that user (bash by default).\n"
-"\n"
-"When you have finished adding users, you will be asked to choose a user\n"
-"that can automatically log into the system when the computer boots up. If\n"
-"you are interested in that feature (and do not care much about local\n"
-"security), choose the desired user and window manager, then click \"%s\".\n"
-"If you are not interested in this feature, uncheck the \"%s\" box."
-msgstr ""
-"GNU/Linux is 'n multigebruikerstelsel, dit beteken dat elke gebruiker sy\n"
-"eie voorkeure kan stel, met sy eie lers ens. U kan meer hieroor in die\n"
-"\"Starter Guide\" lees. Andersins as 'root' (die supergebruiker) kan\n"
-"gebruikers wat u hier byvoeg niks behalwe hul eie lers en eie\n"
-"konfigurasie verander nie. U moet ten minste een gewone gebruiker vir uself\n"
-"skep.\n"
-"Hierdie gebruker is die een waaronder u moet inteken vir normale gebruik\n"
-"van die rekenaar. Alhoewel dit baie gemaklik is om as 'root' in te teken "
-"vir\n"
-"daaglikse werk, is dit baie gevaarlik. 'n Eenvoudige fout kan moontlik u\n"
-"stelsel\n"
-"breek. 'n Fout wat as gewone gebruiker gemaak word, sal net daardie\n"
-"gebruiker\n"
-"benvloed en nie hele stelsel nie.\n"
-"\n"
-"Eers moet u, u eie naam intik. Dit is nie verpligtend nie, want u kan\n"
-"eintlik\n"
-"enigiets intik, as u wil. DrakX sal dan die eerste woord wat u ingetik het,\n"
-"in die\n"
-"\"%s\" veld plaas. U kan hier verander indien u wil. Dit is die\n"
-"gebruikernaam waarmee\n"
-"die gebruiker op die rekenaar sal aanteken. U moet dan ook 'n wagwoord\n"
-"voorsien.\n"
-"'n Gewone gebruiker se wagwoord is nie so krities soos di van die\n"
-"supergebruiker\n"
-"(uit 'n sekuriteitsoogpunt) nie, maar daar is geen\n"
-"rede om agterlosig met u data te wees nie.\n"
-"\n"
-"\n"
-"Indien u op \"%s\" kliek sal die gebruiker geskep word en kan u nog\n"
-"gebruikers byvoeg.\n"
-"U kan vir al u vriende gebruikername skep, sommer een vir pa en ma ook. \n"
-"Sodra u klaar is, kliek op \"%s\".\n"
-"Kliek op die \"%s\" knoppie indien u die verstek-instruksiedop vir die\n"
-"gebruiker\n"
-"wil verander.\n"
-"Dit is bash by verstek.\n"
-"\n"
-"Sodra u klaar is met die skep van gebruikers, sal u gevra word om 'n\n"
-"gebruiker\n"
-"te kies wie outomaties sal inteken sodra Linux klaar selfgelaai het. Indien\n"
-"u hierdie funksie wil gebruik (en plaaslike sekuriteit tans nie vreeslik\n"
-"belangrik is nie), kies asseblief die verlangde gebruiker en venstermaker,\n"
-"klik dan op \"%s\".\n"
-"Indien u NIE hierdie funksie wil gebruik nie, sorg dat \"%s\" NIE gemerk is\n"
-"nie."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Internet Access..."
-msgstr "Konfigureer Internettoegang..."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose the time interval between each backup"
-msgstr "Kies asseblief die tydsinterval tussen elke rugsteun"
+#: ../../any.pm_.c:644 ../../any.pm_.c:807 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../ugtk2.pm_.c:925
+msgid "No"
+msgstr "Nee"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Norway"
-msgstr "Noorwe"
+#: ../../any.pm_.c:644 ../../any.pm_.c:806 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../standalone/drakgw_.c:258
+#: ../../standalone/drakgw_.c:259 ../../standalone/drakgw_.c:267
+#: ../../standalone/drakgw_.c:277 ../../ugtk2.pm_.c:925
+msgid "Yes"
+msgstr "Ja"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Delete profile"
-msgstr "Verwyder profiel"
+#: ../../any.pm_.c:645
+msgid "See hardware info"
+msgstr "Sien hardeware inligting"
-#: ../../keyboard.pm:1
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: ../../any.pm_.c:662
#, c-format
-msgid "Danish"
-msgstr "Deens"
+msgid "Installing driver for %s card %s"
+msgstr "Drywer vir %s kaart %s in installasieproses"
-#: ../../services.pm:1
+#: ../../any.pm_.c:663
#, c-format
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"Aktiveer outomaties die numslot-sleutel vir die aantekentolk en\n"
-"'XFree' tydens selflaai."
+msgid "(module %s)"
+msgstr "(module %s)"
-#: ../../network/network.pm:1
+#: ../../any.pm_.c:674
#, c-format
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)."
+"You may now provide its options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
msgstr ""
-"Gee asb die IP-konfigurasie vir hierdie rekenaar.\n"
-"Elke item moet as 'n IP-adres in dot-desimalenotasie\n"
-"(1.2.3.4) gegee word."
-#: ../../help.pm:1
+#: ../../any.pm_.c:680
#, c-format
msgid ""
-"The Mandrake Linux installation is distributed on several CD-ROMs. DrakX\n"
-"knows if a selected package is located on another CD-ROM so it will eject\n"
-"the current CD and ask you to insert the correct CD as required."
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
msgstr ""
-"Die Mandrake Linux installasie is versprei oor 'n aantal CD-ROMs.DrakX\n"
-"weet wanneer 'n gekose pakket op 'n ander CD-ROM is. DrakX sal in so\n"
-"geval die huidige CD uitskop en aandui watter een benodig word."
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "When checked, owner and group won't be changed"
-msgstr "Indien gemerk, sal die eienaar en groep nie verander nie"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bulgaria"
-msgstr "Bulgaars"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Tuesday"
-msgstr "Dinsdag"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Processors"
-msgstr "Verwerkers"
+"U kan noue die opsies voorsien vir module %s.\n"
+"Opsies is in die formaat ``naam=waarde naam2=waarde2 ...''.\n"
+"Bv. ``io=0x300 irq-7''"
-#: ../../lang.pm:1
-#, c-format
-msgid "Svalbard and Jan Mayen Islands"
-msgstr "Svalbard en Jan Mayen Eilande"
+#: ../../any.pm_.c:682
+msgid "Module options:"
+msgstr "Module opsies:"
-#: ../../standalone/drakTermServ:1
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: ../../any.pm_.c:694
#, c-format
-msgid "No NIC selected!"
-msgstr "Geen NIC gekies!"
+msgid "Which %s driver should I try?"
+msgstr "Watter %s drywer meot ek probeer?"
-#: ../../network/netconnect.pm:1
+#: ../../any.pm_.c:703
#, c-format
msgid ""
-"Problems occured during configuration.\n"
-"Test your connection via net_monitor or mcc. If your connection doesn't "
-"work, you might want to relaunch the configuration."
+"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 ""
-"Probleme is tydens die konfigurasie ondervind.\n"
-"Toets u konneksie deur 'net_monitor' of 'mcc'. Indien u steeds probleme "
-"ondervind, konfigureer weer van voor af."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "partition %s is now known as %s"
-msgstr "partisie %s staan bekens as %s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Other files..."
-msgstr "Skep 'n rugsteun van \"ander \" lers..."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Kinshasa)"
-msgstr "Kongo (Kinshasa)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server IP"
-msgstr "SMB-bediener se IP:"
+"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."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Die partisielys op skyf %s gaan opdateer word!"
+#: ../../any.pm_.c:707
+msgid "Autoprobe"
+msgstr "Aftas"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing HPOJ package..."
-msgstr "Installeer HPOJ pakket..."
+#: ../../any.pm_.c:707
+msgid "Specify options"
+msgstr "Spesifieer opsies"
-#: ../../any.pm:1
+#: ../../any.pm_.c:719
#, c-format
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?\n"
-"%s"
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
msgstr ""
-"'n Spesiale herlaaiskyf voorsien 'n metode waarby u Linux kan laai sonder\n"
-"die gebruik van 'n normale herlaaistelsel. Dit is veral handig wanneer\n"
-"u nie LILO (of Grub) op u stelsel wil installeer nie, 'n ander "
-"bedryfstelsel\n"
-"LILO\n"
-"verwyder het, of LILO nie met u stelsel werk nie. Hierdie herlaaiskyf kan\n"
-"ook\n"
-"met die Mandrake reddingsbeeld gebruik word, wat dit makliker maak om van\n"
-"ernstige stelselfalings te herstel. Wil u 'n herlaaiskyf maak?\n"
-"%s"
+"Laai van module %s het gefaal.\n"
+"Wil u ander parameters probeer?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" DrakBackup Daemon Report\n"
+#: ../../any.pm_.c:734
+msgid "access to X programs"
msgstr ""
-"\n"
-" DrakBackup Daemon Verslag\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latvian"
-msgstr "Lets"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "monthly"
-msgstr "maandeliks"
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Retry"
-msgstr "Herstel"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Module name"
-msgstr "Modulenaam"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Start at boot"
-msgstr "Begin tydens herlaaityd"
+#: ../../any.pm_.c:735
+msgid "access to rpm tools"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental Backups"
-msgstr "Gebruik Aanwas-rugsteun"
+#: ../../any.pm_.c:736
+msgid "allow \"su\""
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of drive (MBR)"
-msgstr "Eerste sektor van skyf (MBR)"
+#: ../../any.pm_.c:737
+msgid "access to administrative files"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "El Salvador"
-msgstr "El Salvador"
+#: ../../any.pm_.c:738
+msgid "access to network tools"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Joystick"
-msgstr "Stuurstok"
+#: ../../any.pm_.c:739
+msgid "access to compilation tools"
+msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../any.pm_.c:744
#, c-format
-msgid "DVD"
-msgstr "DVD"
+msgid "(already added %s)"
+msgstr "(%s alreeds bygevoeg)"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Use Unicode by default"
-msgstr "Gebruik Unicode by verstek"
+#: ../../any.pm_.c:749
+msgid "This password is too simple"
+msgstr "Die wagwoorde is te eenvoudig"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the module of the GNU/Linux kernel that handles the device"
-msgstr "die GNU/Liunux kernel se module wat die toestel beheer"
+#: ../../any.pm_.c:750
+msgid "Please give a user name"
+msgstr "Gee asb. 'n gebruikerskode"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Is your hardware clock set to GMT?"
-msgstr "Hardewareklok gestel vir GMT"
+#: ../../any.pm_.c:751
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Die gebruikerskode maag alleenlikui kleinletter, nommers, '-' en '_' bestaan"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Trying to rescue partition table"
-msgstr "Probeer die partisielys red"
+#: ../../any.pm_.c:752
+#, fuzzy
+msgid "The user name is too long"
+msgstr "Hierdie genruikerskode bestaan alreeds"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be an integer number!"
-msgstr "Opsie %s moet 'n heeltal wees!"
+#: ../../any.pm_.c:753
+msgid "This user name is already added"
+msgstr "Hierdie genruikerskode bestaan alreeds"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Use password to authenticate users"
-msgstr "Geldigverklaring deur wagwoorde"
+#: ../../any.pm_.c:757
+msgid "Add user"
+msgstr "Voeg gebruiker by"
-#: ../../interactive/stdio.pm:1
+#: ../../any.pm_.c:758
#, c-format
msgid ""
-"Entries you'll have to fill:\n"
+"Enter a user\n"
"%s"
msgstr ""
-"Velde wat u moet invul:\n"
+"Tik 'n gebruiker in\n"
"%s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"For backups to other media, files are still created on the hard drive, then "
-"moved to the other media. Enabling this option will remove the hard drive "
-"tar files after the backup."
-msgstr ""
-"Indien u 'n rugsteun na 'n ander media skryf, sal daar eers lers op die "
-"hardeskyf geskep word en dan oorgeskuif word. Om daarna hierdie 'tar' lers "
-"van u hardeskyf te verwyder, moet u hierdie opsie aktiveer."
-
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Kon nie die intydse opgradering begin nie !!!\n"
-
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Name: "
-msgstr "Naam: "
+#: ../../any.pm_.c:759
+msgid "Accept user"
+msgstr "Aanvaar gebruiker"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "up"
-msgstr ""
+#: ../../any.pm_.c:770
+msgid "Real name"
+msgstr "Regte naam"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "16 million colors (24 bits)"
-msgstr "16-miljoen kleure (24 bis)"
+#: ../../any.pm_.c:771 ../../printer/printerdrake.pm_.c:802
+#: ../../printer/printerdrake.pm_.c:915
+msgid "User name"
+msgstr "Gebruikerskode"
-#: ../../any.pm:1
-#, c-format
-msgid "Allow all users"
-msgstr "Laat alle gebruikers toe"
+#: ../../any.pm_.c:774
+msgid "Shell"
+msgstr "Dop"
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid "The official MandrakeSoft Store"
-msgstr "Die amptelike MandrakeSoft Winkel"
+#: ../../any.pm_.c:776
+msgid "Icon"
+msgstr "Ikoon"
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resizing"
-msgstr "Grootteverandering"
+#: ../../any.pm_.c:803
+msgid "Autologin"
+msgstr "Outointeken"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:804
msgid ""
-"Enter the maximum size\n"
-" allowed for Drakbackup (MB)"
+"I can set up your computer to automatically log on one user.\n"
+"Do you want to use this feature?"
msgstr ""
-"Voorsien die maksimum grootte\n"
-"wat Drakbackup mag gebruik(MB)"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Cable connection"
-msgstr "Kabelkonneksie"
-
-#: ../../standalone/drakperm:1 ../../standalone/logdrake:1
-#, c-format
-msgid "User"
-msgstr "Gebruiker"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do new backup before restore (only for incremental backups.)"
-msgstr "Maak 'n nuwe rugsteun voor herstel (slegs vir 'n aanwas-rugsteun.)"
-
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed"
-msgstr "mkraid het gefaal"
+"Ek kan u rekenaar so opstel om X outomaties een gebruiker in te teken.\n"
+"Verlang u hierdie funksionaliteit?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Name"
-msgstr "Naam"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 3 Emulation"
-msgstr "3-Knop emulasie"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of sgid files"
-msgstr "Ondersoek die byvoeg/verwydering van sgid-lers"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files..."
-msgstr "Stuur lers..."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli (Phonetic)"
-msgstr "Israelies (Foneties)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to rpm tools"
-msgstr "toegang tot rpm-nutsprogramme"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must choose/enter a printer/device!"
-msgstr "U moet 'n drukker / toestel spesifiseer!"
+#: ../../any.pm_.c:808
+msgid "Choose the default user:"
+msgstr "Kies die verstek gebruiker:"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission problem accessing CD."
-msgstr "Toegangsprobleme na CD"
+#
+#: ../../any.pm_.c:809
+msgid "Choose the window manager to run:"
+msgstr "Kies die vensterbestuurder om te loop:"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Phone number"
-msgstr "Telefoonnommer"
+#: ../../any.pm_.c:824
+#, fuzzy
+msgid "Please choose a language to use."
+msgstr "Kies asb. 'n taal om te gebruik."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Error: The \"%s\" driver for your sound card is unlisted"
-msgstr "Fout: Die \"%s\" drywer vir u klankkaart in nie gelys nie"
+#: ../../any.pm_.c:826
+msgid ""
+"Mandrake Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "U kan ander tale selekteer wat na installasie beskikbaar sal wees."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer name, description, location"
-msgstr "Drukkernaam, beskrywing, ligging"
+#: ../../any.pm_.c:840 ../../install_steps_interactive.pm_.c:697
+#: ../../standalone/drakxtv_.c:70
+msgid "All"
+msgstr "Alles"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (broadcast)"
-msgstr "VSA (uitsaai)"
+#: ../../any.pm_.c:961
+#, fuzzy
+msgid "Allow all users"
+msgstr "Voeg 'n gebruiker by"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Use Xinerama extension"
-msgstr "Gebruik Xinerama-ekstensies"
+#: ../../any.pm_.c:961
+#, fuzzy
+msgid "No sharing"
+msgstr "CUPS word gelaai"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback"
-msgstr "Teruglus"
+#: ../../any.pm_.c:971 ../../install_any.pm_.c:1207 ../../standalone.pm_.c:185
+#, fuzzy, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr ""
+"Hierdie pakket moet opgradeer word\n"
+"Is u seker u wil dit deselekteer?"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "West Europe"
-msgstr "Wes-Europa"
+#: ../../any.pm_.c:973
+msgid ""
+"You can export using NFS or Samba. Please select which you'd like to use."
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:981 ../../install_any.pm_.c:1212 ../../standalone.pm_.c:190
#, c-format
-msgid "On CD-R"
-msgstr "Op CD-R"
+msgid "Mandatory package %s is missing"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../any.pm_.c:987
msgid ""
-"[OPTIONS] [PROGRAM_NAME]\n"
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
"\n"
-"OPTIONS:\n"
-" --help - print this help message.\n"
-" --report - program should be one of mandrake tools\n"
-" --incident - program should be one of mandrake tools"
+"\"Custom\" permit a per-user granularity.\n"
msgstr ""
-"[OPSIES] [PROGRAMNAAM]\n"
-"\n"
-"OPSIES:\n"
-" --help - vertoon hierdie hulp boodskap.\n"
-" --report - program behoort een van die 'mandrake tools' te wees\n"
-" --incedent - program behoort een van die 'mandrake tools' te wees"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake2 version %s"
-msgstr "Harddrake2 weergawe %s"
+#: ../../any.pm_.c:1001
+msgid "Launch userdrake"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Preferences"
-msgstr "Voorkeure"
+#: ../../any.pm_.c:1003
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user in this group."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Swaziland"
-msgstr "Swaziland"
+#: ../../any.pm_.c:1053 ../../security/level.pm_.c:7
+msgid "Welcome To Crackers"
+msgstr "Krakers welkom"
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominican Republic"
-msgstr "Dominikaanse Republiek"
+#: ../../any.pm_.c:1054 ../../security/level.pm_.c:8
+msgid "Poor"
+msgstr "Swak"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Copying %s"
-msgstr "Kopieer %s"
+#: ../../any.pm_.c:1055 ../../mouse.pm_.c:31 ../../security/level.pm_.c:9
+msgid "Standard"
+msgstr "Standaard"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Choose color"
-msgstr "Kies 'n kleur"
+#: ../../any.pm_.c:1056 ../../security/level.pm_.c:10
+msgid "High"
+msgstr "Hoog"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac"
-msgstr "Siries"
+#: ../../any.pm_.c:1057 ../../security/level.pm_.c:11
+#, fuzzy
+msgid "Higher"
+msgstr "Hoog"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-UID"
-msgstr "Set-UID"
+#: ../../any.pm_.c:1058 ../../security/level.pm_.c:12
+msgid "Paranoid"
+msgstr "Paranoes"
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1061
msgid ""
-"Choose the hard drive you want to erase in order to install your new\n"
-"Mandrake Linux partition. Be careful, all data present on this partition\n"
-"will be lost and will not be recoverable!"
+"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 ""
-"Kies die hardeskyf wat u wil wis, om u nuwe Mandrake Linux\n"
-"te kan installeer. Wees tog versigtig, alle huidige data op daardie\n"
-"partisie sal vernietig 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:1
-#, c-format
-msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Gebruik die %c en %c sleutels om te kies wat uitgelig moet word."
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 2 Button Mouse"
-msgstr "Generiese 2-knop muis"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to execute the file"
-msgstr "Ontsper \"%s\" om ler uit te kan voer"
-
-#: ../../lvm.pm:1
-#, c-format
-msgid "Remove the logical volumes first\n"
-msgstr "Verwyder eers die logiese volumes\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:1
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Die uitgeligte inskrywing sal outomaties in %d sek gelaai word."
+"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/drakboot:1
-#, c-format
+#: ../../any.pm_.c:1064
msgid ""
-"Can't write /etc/sysconfig/bootsplash\n"
-"File not found."
+"Password are now enabled, but use as a networked computer is still not "
+"recommended."
msgstr ""
-"Kan nie na ' /etc/sysconfig/bootsplash ' skryf nie.\n"
-"Ler is soek."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet access"
-msgstr "Internettoegang"
+"Wagwoorde is nou ontsper, maar gebruik as 'n netwerkrekenaar word nie "
+"aanbeveel nie."
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../any.pm_.c:1065
+#, fuzzy
msgid ""
-"y coordinate of text box\n"
-"in number of characters"
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
msgstr ""
-"die teksboksie se x kordinaat\n"
-"in aantal karakters"
+"Hierdie is die standaard sekuriteitsvlak wat aanbeveel word vir rekenaars\n"
+"wat aan die internet as 'n klint konnekteer. Daar is heelwat "
+"sekuriteitstoetse."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../any.pm_.c:1066
msgid ""
-"To get a list of the options available for the current printer click on the "
-"\"Print option list\" button."
+"There are already some restrictions, and more automatic checks are run every "
+"night."
msgstr ""
-"Klik op die \"Drukkeropsies\" knoppie, om 'n lys beskikbare opsies vir die "
-"huidige drukker te verkry."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Enabling servers..."
-msgstr "Bedieners word geaktiveer..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing test page(s)..."
-msgstr "Toetsbladsy(e) word gedruk..."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:1067
+#, fuzzy
msgid ""
-"Transfer successful\n"
-"You may want to verify you can login to the server with:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"without being prompted for a password."
+"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 can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
msgstr ""
-"Suksesvolle Oordrag\n"
-"U kan net seker maak dat u by die bediener kan inteken:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"sonder om 'n wagwoord-porteks te ontvang."
+"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."
-#: ../../fsedit.pm:1
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Daar is alreeds 'n partisie met hegpunt %s\n"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable msec hourly security check."
-msgstr "Versper/Ontsper msec se uurlikse toets."
-
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1070
+#, fuzzy
msgid ""
-"At this point, you need to decide where you want to install the Mandrake\n"
-"Linux operating system on your hard drive. If your hard drive is empty or\n"
-"if an existing operating system is using all the available space you will\n"
-"have to partition the drive. Basically, partitioning a hard drive consists\n"
-"of logically dividing it to create the space needed to install your new\n"
-"Mandrake Linux system.\n"
-"\n"
-"Because the process of partitioning a hard drive is usually irreversible\n"
-"and can lead to lost data if there is an existing operating system already\n"
-"installed on the drive, partitioning can be intimidating and stressful if\n"
-"you are an inexperienced user. Fortunately, DrakX includes a wizard which\n"
-"simplifies this process. Before continuing with this step, read through the\n"
-"rest of this section and above all, take your time.\n"
-"\n"
-"Depending on your hard drive configuration, several options are available:\n"
-"\n"
-" * \"%s\": this option will perform an automatic partitioning of your blank\n"
-"drive(s). If you use this option there will be no further prompts.\n"
-"\n"
-" * \"%s\": the wizard has detected one or more existing Linux partitions on\n"
-"your hard drive. If you want to use them, choose this option. You will then\n"
-"be asked to choose the mount points associated with each of the partitions.\n"
-"The legacy mount points are selected by default, and for the most part it's\n"
-"a good idea to keep them.\n"
-"\n"
-" * \"%s\": if Microsoft Windows is installed on your hard drive and takes\n"
-"all the space available on it, you will have to create free space for\n"
-"Linux. To do so, you can delete your Microsoft Windows partition and data\n"
-"(see ``Erase entire disk'' solution) or resize your Microsoft Windows FAT\n"
-"partition. Resizing can be performed without the loss of any data, provided\n"
-"you have previously defragmented the Windows partition and that it uses the\n"
-"FAT format. Backing up your data is strongly recommended.. Using this\n"
-"option is recommended if you want to use both Mandrake Linux and Microsoft\n"
-"Windows on the same computer.\n"
-"\n"
-" Before choosing this option, please understand that after this\n"
-"procedure, the size of your Microsoft Windows partition will be smaller\n"
-"then when you started. You will have less free space under Microsoft\n"
-"Windows to store your data or to install new software.\n"
-"\n"
-" * \"%s\": if you want to delete all data and all partitions present on\n"
-"your hard drive and replace them with your new Mandrake Linux system,\n"
-"choose this option. Be careful, because you will not be able to undo your\n"
-"choice after you confirm.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be deleted. !!\n"
-"\n"
-" * \"%s\": this will simply erase everything on the drive and begin fresh,\n"
-"partitioning everything from scratch. All data on your disk will be lost.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be lost. !!\n"
-"\n"
-" * \"%s\": choose this option if you want to manually partition your hard\n"
-"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
-"easily lose all your data. That's why this option is really only\n"
-"recommended if you have done something like this before and have some\n"
-"experience. For more instructions on how to use the DiskDrake utility,\n"
-"refer to the ``Managing Your Partitions '' section in the ``Starter\n"
-"Guide''."
-msgstr ""
-"Op hierdie tydstip moet u besluit waar op die hardeskyf u Mandrake Linux\n"
-"wil installeer. Indien u 'n le hardeskyf het, of indien 'n bestaande\n"
-"bedryfstelsel al\n"
-"die beskikbare spasie gebruik, sal u partisies moet skep. Om 'n partisie te\n"
-"skep\n"
-"veroorsaak dat u die hardeskyf logies verdeel, om spasie te skep vir u nuwe\n"
-"Mandrake Linux bedryfstelsel.\n"
-"\n"
-"Indien u 'n onervare gebruiker is, kan die skep van partisies vreemd en\n"
-"intimiderend\n"
-"wees\n"
-"Die skep van partisies is gewoonlik onomkeerbaar en kan dataverlies\n"
-"meebring indien daar reeds 'n bestaande bedryfstelsel op die hardeskyf is.\n"
-"Gelukkig sluit DrakX 'n assisstent in wat die proses vergemaklik.\n"
-"Voor u verder gaan, lees die volgende deel deeglik deur, en wees rustig!\n"
-"(Moet nie stres kap nie!)\n"
-"\n"
-"Afhangende van hoe u hardeskyf gekonfigureer is, is daar 'n aantal opsies\n"
-"beskikbaar:\n"
-"\n"
-" * \"%s\": hierdie opsie sal die partisies op u le hardeskyf outomaties\n"
-"opstel.\n"
-"Indien u die een kies, is dit al inset wat u hoef te lewer.\n"
-"\n"
-" * \"%s\": die assistent het een of meer bestaande Linux-partisies op die\n"
-"hardeskyf\n"
-"gekry. Indien u wil gebruik maak van hulle, kies hierdie opsie.Daar is\n"
-"verstek hegpunte,\n"
-"wat u kan verander, indien u wil, maar ons stel voor u hou daarby.\n"
-"\n"
-" * \" %s\": indien u Microsoft Windows op u hardeskyf genstalleer het, en\n"
-"dit neem\n"
-"al die spasie in beslag, moet ons eers 'n plekkie vir Linux skep. U kan die\n"
-"Microsoft\n"
-"Windows partisie met al die data uitwis (verwys na 'Erase entie disk'\n"
-"oplossing)\n"
-"of u kan die Microsoft Windows FAT partisie verklein. Dit kan geskied "
-"sonner\n"
-"verlies\n"
-"van data, mits u die partisie gedefragmenteer het, en dit die FAT formaat\n"
-"gebruik.\n"
-"Ons beveel ten sterkste aan dat u 'n rugsteun maak van u data. Hierdie is\n"
-"die\n"
-"beste metode indien u beide Mandrake Linux en Microsoft Windows op die\n"
-"rekenaar wil gebruik.\n"
-"\n"
-"Neem tog kennis dat dit die beskikbare oop spasie in Microsoft Windows sal\n"
-"verminder, aangesien ons plek moet maak vir Linux op die hardeskyf.\n"
-"\n"
-" * \"%s\": Indien u alle data op alle partisies op u hardeskyf wil uitwis,\n"
-"en\n"
-"dit dan vervang met Mandrake Linux, kan u hierdie opsie kies. Wees "
-"versigtig\n"
-"die opsie is onomkeerbaar!\n"
-"\n"
-" !! Net weer waarsku: alle data op die skyf sal vernietig word. !! \n"
-" * \"%s\" hierdie opsie gaan doodeenvoudig alles uitwis en van vooraf\n"
-"die hardeskyf partisies skep. Alle data sal verlore gaan.\n"
-"\n"
-" !! Net weer waarsku: alle data up die skyf sal vernietig word. !! \n"
-" * \"%s\": kies hierdie opsie indien u self die partisies wil opstel. Wees\n"
-"uiters\n"
-"versigtig -- dit is 'n gevaarlike keuse en u kan maklik al u data verloor.\n"
-"Hierdie\n"
-"opsie word aanbeveel vir persone wat ondervinding het en vertroud is met\n"
-"Linux .\n"
-"U kan verder oplees oor hoe om te werk te gaan in die \"Managing Your\n"
-"Partitions\"\n"
-"deel van die \"Starter Guide\"."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ukraine"
-msgstr "Oekraine"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Application:"
-msgstr "Applikasie:"
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Hierdie is Vlak-4 sekuriteit, maar die stelsel is afgeslote.\n"
+"Sekuriteitseienskappe is maksimaal."
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "External ISDN modem"
-msgstr "Eksterne ISDN modem"
+#: ../../any.pm_.c:1076
+#, fuzzy
+msgid "DrakSec Basic Options"
+msgstr "Opsies"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result by mail."
-msgstr "indien ja gekies is, stuur toetsreslutate via e-pos."
+#: ../../any.pm_.c:1077
+#, fuzzy
+msgid "Please choose the desired security level"
+msgstr "Gebruik sekuriteitsvlak"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "U keuse? (verstek %s) "
+#: ../../any.pm_.c:1080
+#, fuzzy
+msgid "Security level"
+msgstr "Sekuriteitsvlak word gestel."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Trouble shooting"
-msgstr "Probleemoplossing"
+#: ../../any.pm_.c:1082
+#, fuzzy
+msgid "Use libsafe for servers"
+msgstr "Selekteer opsies vir bediener"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../any.pm_.c:1083
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
+"A library which defends against buffer overflow and format string attacks."
msgstr ""
-"Toetsbladsy(e) is na die drukkerstelsel gestuur.\n"
-"Dit mag 'n tydjie neem voordat drukwerk begin.\n"
-"Drukstatus:\n"
-"%s\n"
-"\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "daily"
-msgstr "daagliks"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and one unknown printer"
-msgstr "en een onbekende drukker"
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Ireland"
-msgstr "Ierland"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Restore Configuration "
-msgstr " Herstel Konfigurasie "
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Is this the correct setting?"
-msgstr "Is dit korrek?"
+#: ../../any.pm_.c:1084
+msgid "Security Administrator (login or email)"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1166
msgid ""
-"You will now set up your Internet/network connection. If you wish to\n"
-"connect your computer to the Internet or to a local network, click \"%s\".\n"
-"Mandrake Linux will attempt to autodetect network devices and modems. If\n"
-"this detection fails, uncheck the \"%s\" box. You may also choose not to\n"
-"configure the network, or to do it later, in which case clicking the \"%s\"\n"
-"button will take you to the next step.\n"
-"\n"
-"When configuring your network, the available connections options are:\n"
-"traditional modem, ISDN modem, ADSL connection, cable modem, and finally a\n"
-"simple LAN connection (Ethernet).\n"
-"\n"
-"We will not detail each configuration option - just make sure that you have\n"
-"all the parameters, such as IP address, default gateway, DNS servers, etc.\n"
-"from your Internet Service Provider or system administrator.\n"
-"\n"
-"You can consult the ``Starter Guide'' chapter about Internet connections\n"
-"for details about the configuration, or simply wait until your system is\n"
-"installed and use the program described there to configure your connection."
-msgstr ""
-"U kan nou die Internet/netwerk konneksie opstel. Indien u graag die "
-"rekenaar\n"
-"aan die Internet of plaaslike netwerk wil koppel, kies \"%s\".\n"
-"Mandrake Linux sal poog om u netwerk toestelle en modems te outospeur.\n"
-"Indien\n"
-"dit onsuksesvol was, probeer waar \"%s\" nie gemerk is nie. U kan ook kies\n"
-"om nie \n"
-"die netwerk op te stel nie, of dit selfs eers later te doen, kies dan \"%s"
-"\"\n"
-", wat u na die volgende stap sal neem.\n"
-"\n"
-"Waneer u die netwerk opstel, is die volgende opsies tot u beskiking:\n"
-"gewone modem, ISDN-modem, ADSL konneksie, kabel-modem, en ten laaste,\n"
-"'n normale LAN konneksie (Ethernet).\n"
-"\n"
-"Ons gaan nie al die opsies bespreek nie - maak net seker dat u die nodigste\n"
-"inligting soos IP-adres, 'default gateway', DNS bedieners, ens.\n"
-"verkry het van u ISP of administrateur.\n"
-"U kan die \"Starter Guide\" se hoofstuk omtrent die Internet raadpleeg\n"
-"vir besonderhede rakende die konfigurasie, of doodgewoon wag tot alles "
-"klaar\n"
-"genstalleer is en agterna die konneksie opstel."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wizard Configuration"
-msgstr "Wysgeer Konfigurasie"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Autoprobe"
-msgstr "Aftas"
+"Here you can choose the key or key combination that will \n"
+"allow switching between the different keyboard layouts\n"
+"(eg: latin and non latin)"
+msgstr ""
-#: ../../security/help.pm:1
+# 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:436
#, c-format
msgid ""
-"if set to yes, check for :\n"
-"\n"
-"- empty passwords,\n"
+"Welcome to %s the operating system chooser!\n"
"\n"
-"- no password in /etc/shadow\n"
+"Choose an operating system in the list above or\n"
+"wait %d seconds for default boot.\n"
"\n"
-"- for users with the 0 id other than root."
msgstr ""
-"indien ja gekies is, toets vir:\n"
-"\n"
-"-le wagwoorde,\n"
+"Welkom by %s die bedryfstelselkeuseprogram!\n"
"\n"
-"-geen wagwoord in /etc/shadow\n"
+"Kies u bedryfstelsel uit die bogelyste opsies of wag\n"
+"%d sekonde vir die verstekopsie.\n"
"\n"
-"-vir gebuikers buiten 'root' wie se UID '0' is."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files..."
-msgstr "Maak 'n rugsteun van die 'system'-lers..."
+# 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:983
+msgid "Welcome to GRUB the operating system chooser!"
+msgstr "Welkom by GRUB, die bedryfstelselkieskaart!"
-#: ../../any.pm:1
+#. -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:986
#, c-format
-msgid "Can't use broadcast with no NIS domain"
-msgstr "Kan nie uitsaai sonder 'n NIS-domein nie"
+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."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer \"%s\"..."
-msgstr "Verwyder drukker \"%s\"..."
+#. -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:989
+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."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell history size"
-msgstr "Instruksiedop se geskiendenis-gootte"
+#. -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:992
+msgid "commands before booting, or 'c' for a command-line."
+msgstr "instruksies voor herlaai, of 'c' vir 'n instruksielyn."
-#: ../../standalone/drakfloppy:1
+#. -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:995
#, c-format
-msgid "drakfloppy"
-msgstr "drakfloppy"
+msgid "The highlighted entry will be booted automatically in %d seconds."
+msgstr "Die uitgeligte inskrywing sal outomaties in %ds gelaai word."
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"Please indicate where the auto_install.cfg file is located.\n"
-"\n"
-"Leave it blank if you do not want to set up automatic installation mode.\n"
-"\n"
-msgstr ""
-"Dui asseblief aan waar 'auto_install.cfg' gele is.\n"
-"\n"
-"Laat dit uit, indien u nie outomatiese installasie modus verlang nie.\n"
-"\n"
+#: ../../bootloader.pm_.c:999
+msgid "not enough room in /boot"
+msgstr "nie genoeg spasie in /boot nie"
-#: ../../printer/cups.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Configured on other machines"
-msgstr "Gekonfigureer op ander rekenaars"
+#. -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:1099
+msgid "Desktop"
+msgstr "Werkskerm"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "information level that can be obtained through the cpuid instruction"
-msgstr "inligtingsvlak wat verkry kan word deur die cpuid instruksie"
+#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
+#: ../../bootloader.pm_.c:1101
+msgid "Start Menu"
+msgstr "Beginkieskaart"
-#: ../../lang.pm:1
-#, c-format
-msgid "Peru"
-msgstr "Peru"
+#: ../../bootloader.pm_.c:1120
+#, fuzzy, c-format
+msgid "You can't install the bootloader on a %s partition\n"
+msgstr "Waar wil u die herlaaistelsel installeer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " on device: %s"
-msgstr " op toestel: %s"
+#: ../../bootlook.pm_.c:53
+msgid "Boot Style Configuration"
+msgstr "Herlaaistylkonfigurasie"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Remove Windows(TM)"
-msgstr "Verwyder Windows(TM)"
+#: ../../bootlook.pm_.c:70 ../../standalone/drakfloppy_.c:54
+#: ../../standalone/harddrake2_.c:81 ../../standalone/harddrake2_.c:82
+#: ../../standalone/logdrake_.c:74
+msgid "/_File"
+msgstr "/_Ler"
-#: ../../services.pm:1
-#, c-format
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Laai die X-fontbediener (dis nodig vir XFree)."
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/logdrake_.c:80
+msgid "/File/_Quit"
+msgstr "/Ler/_Verlaat"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Most of these values were extracted\n"
-"from your running system.\n"
-"You can modify as needed."
-msgstr ""
-"Meeste van hierdie waardes kom\n"
-"uit u huidige konfigurasie.\n"
-"U kan dit verander soos benodig."
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/harddrake2_.c:82 ../../standalone/logdrake_.c:80
+msgid "<control>Q"
+msgstr "<control>Q"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Select the font file or directory and click on 'Add'"
-msgstr "Kies die fontler of lergids en klik op 'Voeg by'"
+#: ../../bootlook.pm_.c:82
+msgid "NewStyle Categorizing Monitor"
+msgstr "Nuwe monitorkategoriasiestyl"
-#: ../../lang.pm:1
-#, c-format
-msgid "Madagascar"
-msgstr "Madagaskar"
+#: ../../bootlook.pm_.c:83
+msgid "NewStyle Monitor"
+msgstr "Nuwe styl monitor"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Urpmi"
-msgstr "Urpmi"
+#: ../../bootlook.pm_.c:84
+msgid "Traditional Monitor"
+msgstr "Tradisionele monitor"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Cron not available yet as non-root"
-msgstr "Cron nie beskikbaar vir normale gebruikers"
+#: ../../bootlook.pm_.c:85
+msgid "Traditional Gtk+ Monitor"
+msgstr "Tradisionele Gtk+ Monitor"
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "System"
-msgstr "Stelsel"
+#: ../../bootlook.pm_.c:86
+msgid "Launch Aurora at boot time"
+msgstr "Laai Aurora met herlaaityd"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Do you want to use this feature?"
-msgstr "Wil u hierdie funksie gebruik?"
+#: ../../bootlook.pm_.c:89
+msgid "Lilo/grub mode"
+msgstr "LILO/GRUB metode"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Arabic"
-msgstr "Arabies"
+#: ../../bootlook.pm_.c:89
+msgid "Yaboot mode"
+msgstr "Yaboot metode"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../bootlook.pm_.c:138
+#, fuzzy
+msgid "Install themes"
+msgstr "Installeer stelsel"
+
+#: ../../bootlook.pm_.c:139
msgid ""
-"\n"
-"- Options:\n"
+"Display theme\n"
+"under console"
msgstr ""
-"\n"
-"-Opsies:\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Password required"
-msgstr "Benodig wagwoord"
-
-#: ../../common.pm:1
-#, c-format
-msgid "%d minutes"
-msgstr "%d minute"
+#: ../../bootlook.pm_.c:140
+#, fuzzy
+msgid "Create new theme"
+msgstr "Kies 'n nuwe grootte"
-#: ../../Xconfig/resolution_and_depth.pm:1
+#: ../../bootlook.pm_.c:184
#, c-format
-msgid "Graphics card: %s"
-msgstr "Videokaart: %s"
+msgid "Backup %s to %s.old"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../bootlook.pm_.c:187
#, c-format
-msgid "WebDAV transfer failed!"
-msgstr "WebDAV oordrag-probleme!"
+msgid "Copy %s to %s"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree configuration"
-msgstr "XFree-konfigurasie"
+#: ../../bootlook.pm_.c:192 ../../bootlook.pm_.c:222 ../../bootlook.pm_.c:224
+#: ../../bootlook.pm_.c:234 ../../bootlook.pm_.c:243 ../../bootlook.pm_.c:250
+#: ../../diskdrake/dav.pm_.c:77 ../../diskdrake/hd_gtk.pm_.c:119
+#: ../../diskdrake/interactive.pm_.c:216 ../../diskdrake/interactive.pm_.c:352
+#: ../../diskdrake/interactive.pm_.c:367 ../../diskdrake/interactive.pm_.c:481
+#: ../../diskdrake/interactive.pm_.c:486 ../../diskdrake/smbnfs_gtk.pm_.c:45
+#: ../../fsedit.pm_.c:239 ../../install_steps.pm_.c:75
+#: ../../install_steps_interactive.pm_.c:67 ../../interactive/http.pm_.c:119
+#: ../../interactive/http.pm_.c:120 ../../standalone/draksplash_.c:21
+msgid "Error"
+msgstr "Fout"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Choose action"
-msgstr "Kies aksie"
+#: ../../bootlook.pm_.c:192
+msgid "Lilo message not found"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "French Polynesia"
-msgstr "Fraanse Polinesi"
+#: ../../bootlook.pm_.c:222
+msgid "Can't write /etc/sysconfig/bootsplash."
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Usually, DrakX has no problems detecting the number of buttons on your\n"
-"mouse. If it does, it assumes you have a two-button mouse and will\n"
-"configure it for third-button emulation. The third-button mouse button of a\n"
-"two-button mouse can be ``pressed'' by simultaneously clicking the left and\n"
-"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
-"a PS/2, serial or USB interface.\n"
-"\n"
-"If for some reason you wish to specify a different type of mouse, select it\n"
-"from the list provided.\n"
-"\n"
-"If you choose a mouse other than the default, a test screen will be\n"
-"displayed. Use the buttons and wheel to verify that the settings are\n"
-"correct and that the mouse is working correctly. If the mouse is not\n"
-"working well, press the space bar or [Return] key to cancel the test and to\n"
-"go back to the list of choices.\n"
-"\n"
-"Wheel mice are occasionally not detected automatically, so you will need to\n"
-"select your mouse from a list. Be sure to select the one corresponding to\n"
-"the port that your mouse is attached to. After selecting a mouse and\n"
-"pressing the \"%s\" button, a mouse image is displayed on-screen. Scroll\n"
-"the mouse wheel to ensure that it is activated correctly. Once you see the\n"
-"on-screen scroll wheel moving as you scroll your mouse wheel, test the\n"
-"buttons and check that the mouse pointer moves on-screen as you move your\n"
-"mouse."
-msgstr ""
-"DrakX het gewoonlik geen probleme met die speur van die aantal muisknoppies\n"
-"nie. Indien wel, sal dit aanneem dat die muis twee knoppies het, en sal dan\n"
-"3-knop emulasie konfigureer. Die 3de knoppie kan \"gedruk\" word deur beide\n"
-"knoppies gelyktydig te klik. DrakX sal vanself weet watter tipe muis u het,\n"
-"of dit nou 'n PS/2, sierie of USB muis mag wees.\n"
-"\n"
-"Indien u moontlik 'n ander tipe muis wil spesifiseer, kies dit vanaf die\n"
-" voorsiende lys.\n"
-"\n"
-"Indien u gekose muis verskil van die verstek muis, sal 'n toetsskerm\n"
-"vertoon\n"
-"word. Gebruik die knoppies en wielletjie om seker te maak alles werk\n"
-"korrek.\n"
-"Indien u probleme ondervind, druk die spasiebalk of [ Enter ] sleutel om\n"
-"die toets te kansselleer en weer te kies.\n"
-"\n"
-"Wielmuise word soms verkeerdelik gedentifiseer, dan moet u self u\n"
-"muis vanaf die lys kies.\n"
-"Maak tog seker u kies die regte poort waaraan die muis\n"
-"gekoppel is. Na u die muis gekies, en \"%s\" geklik het, sal 'n beeld van\n"
-" 'n muis verskyn.\n"
-"Rol die wielletjie om te bevestig dat dit korrek funksioneer. Sodra u\n"
-"die beeld van die muis se wielletjie sien reageer, kan u ook die knoppies\n"
-"en beweging van u muis toets."
-
-#: ../../services.pm:1
-#, c-format
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "Ondersteun die OKI-4W en aanpasbare WIN-drukkers"
+#: ../../bootlook.pm_.c:222
+#, fuzzy, c-format
+msgid "Write %s"
+msgstr "XFree %s"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../bootlook.pm_.c:224
msgid ""
-"Files or wildcards listed in a .backupignore file at the top of a directory "
-"tree will not be backed up."
+"Can't write /etc/sysconfig/bootsplash\n"
+"File not found."
msgstr ""
-"Lers of wisselkaarte wat in die '.backupignore' ler in die top van 'n "
-"gidsboom gelys is, sal nie deel van die rugsteun wees nie."
-#: ../../services.pm:1
+#: ../../bootlook.pm_.c:235
#, c-format
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "Loop die ALSA (Gevorderde Linux Klankargitektuur) klankstelsel"
+msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
+msgstr ""
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../modules/interactive.pm:1
+#: ../../bootlook.pm_.c:238
#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Drywer vir %s kaart %s in installasieproses"
+msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:244
msgid ""
-"You have transferred your former default printer (\"%s\"), Should it be also "
-"the default printer under the new printing system %s?"
+"Can't relaunch LiLo!\n"
+"Launch \"lilo\" as root in command line to complete LiLo theme installation."
msgstr ""
-"U het die vorige verstek-drukker (\"%s\") oorgeplaas, moet dit ook die "
-"verstek-drukker wees onder die nuwe drukkerstelsel %s?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Enable Server"
-msgstr "Ontsper Bediener"
+#: ../../bootlook.pm_.c:248
+msgid "Relaunch 'lilo'"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ukrainian"
-msgstr "Ukranies"
+#: ../../bootlook.pm_.c:250 ../../standalone/draksplash_.c:156
+#: ../../standalone/draksplash_.c:321 ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "Notice"
+msgstr "Geen video"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The network access was not running and could not be started. Please check "
-"your configuration and your hardware. Then try to configure your remote "
-"printer again."
+#: ../../bootlook.pm_.c:251
+msgid "LiLo and Bootsplash themes installation successfull"
msgstr ""
-"Die netwerk was ontoeganklik. Ondersoek asseblief u konfigurasie en "
-"hardeware. Probeer daarna weer om u eksterne drukker te konfigureer."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to write the file"
-msgstr "Laat \"%s\" toe om die ler te skryf"
+#: ../../bootlook.pm_.c:251
+#, fuzzy
+msgid "Theme installation failed!"
+msgstr "Kies installasieklas"
-#: ../../install_steps_interactive.pm:1
+#: ../../bootlook.pm_.c:259
#, c-format
-msgid "Please insert the Boot floppy used in drive %s"
-msgstr "Plaas die herlaaiskyf wat gebruik is, in aandrywer %s"
+msgid ""
+"You are currently using %s as your boot manager.\n"
+"Click on Configure to launch the setup wizard."
+msgstr ""
+"U gebruik huidig %s as herlaaibestuurder.\n"
+"Kliek op Konfigureer om opstelassistent te laai."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local network(s)"
-msgstr "Plaaslike netwerk(e)"
+#: ../../bootlook.pm_.c:261 ../../standalone/drakbackup_.c:2380
+#: ../../standalone/drakbackup_.c:2390 ../../standalone/drakbackup_.c:2400
+#: ../../standalone/drakbackup_.c:2408 ../../standalone/drakgw_.c:551
+msgid "Configure"
+msgstr "Konfigureer"
-#: ../../help.pm:1
-#, c-format
-msgid "Remove Windows"
-msgstr "Verwyder Windows(TM)"
+#: ../../bootlook.pm_.c:268
+#, fuzzy
+msgid "Splash selection"
+msgstr "Stoor pakketseleksie"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Your %s has been configured.\n"
-"You may now scan documents using \"XSane\" from Multimedia/Graphics in the "
-"applications menu."
+#: ../../bootlook.pm_.c:271
+msgid "Themes"
msgstr ""
-"U %s is klaar gekonfigureer.\n"
-"U kan nou dokumente skandeer deur \"XSane\" te gebruik."
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Firewire controllers"
-msgstr "Firewire-beheerders"
-#: ../../help.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:273
msgid ""
-"After you have configured the general bootloader parameters, the list of\n"
-"boot options that will be available at boot time will be displayed.\n"
-"\n"
-"If there are other operating systems installed on your machine they will\n"
-"automatically be added to the boot menu. You can fine-tune the existing\n"
-"options by clicking \"%s\" to create a new entry; selecting an entry and\n"
-"clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your\n"
-"changes.\n"
"\n"
-"You may also not want to give access to these other operating systems to\n"
-"anyone who goes to the console and reboots the machine. You can delete the\n"
-"corresponding entries for the operating systems to remove them from the\n"
-"bootloader menu, but you will need a boot disk in order to boot those other\n"
-"operating systems!"
-msgstr ""
-"Nadat u die algemene herlaaistelsel se parameters gekies het, sal die\n"
-"lys van beskikbare herlaai-opsies om te kies, na die rekenaar\n"
-"aangeskakel is, vertoon word.\n"
-"\n"
-"Indien daar bestaande bedryfstelsels op u rekenaar is, sal hulle\n"
-"outomaties by die keuses gevoeg word. U kan fyner verstellings\n"
-"maak: \"%s\" vir 'n nuwe toevoeging, kies 'n inskrywing en\n"
-"klik op \"%s\" of \"%s\" om dit te verander of te verwyder.\n"
-"\"%s\" bekragtig u veranderinge.\n"
-"\n"
-"U mag dalk toegang tot ander bedryfstelsels beperk, in welke geval u die\n"
-"nodige inskrywings kan uitvee. Maar dan het u die nodige herlaaiskywe\n"
-"nodig om die betrokke bedryfstelsels te laai!"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "System mode"
-msgstr "Stelselmodus"
+"Select theme for\n"
+"lilo and bootsplash,\n"
+"you can choose\n"
+"them separatly"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print on 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."
+#: ../../bootlook.pm_.c:276
+msgid "Lilo screen"
msgstr ""
-"Om na 'n Netware drukker te druk, moet u die volgende voorsien: Netware "
-"rekenaarnaam (dis nie noodwendig dieselfde as die TCP/IP rekenaarnaam nie), "
-"asook die drukker se 'print queue' naam,en toepaslike gebruikernaam en "
-"wagwoord."
-#
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Netmask:"
-msgstr "Netmasker:"
+#: ../../bootlook.pm_.c:281
+msgid "Bootsplash"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Do it later"
-msgstr "Doen dit later"
+#: ../../bootlook.pm_.c:316
+msgid "System mode"
+msgstr "Stelselmode"
-#: ../../any.pm:1
-#, c-format
-msgid "Append"
-msgstr "Aanlas"
+#: ../../bootlook.pm_.c:318
+msgid "Launch the graphical environment when your system starts"
+msgstr "Laai X-Windowstelsel met herlaai"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refresh printer list (to display all available remote CUPS printers)"
-msgstr ""
-"Verfris die drukkerlys (vertoon alle beskikbare eksterne CUPS-drukkers)"
+#: ../../bootlook.pm_.c:323
+msgid "No, I don't want autologin"
+msgstr "Nee, ek verlang outo-aanteken"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"When this option is turned on, on every startup of CUPS it is automatically "
-"made sure that\n"
-"\n"
-"- if LPD/LPRng is installed, /etc/printcap will not be overwritten by CUPS\n"
-"\n"
-"- if /etc/cups/cupsd.conf is missing, it will be created\n"
-"\n"
-"- when printer information is broadcasted, it does not contain \"localhost\" "
-"as the server name.\n"
-"\n"
-"If some of these measures lead to problems for you, turn this option off, "
-"but then you have to take care of these points."
-msgstr ""
-"Indien hierdie opsie gekies is, sal dit elke keer wanneer CUPS begin, "
-"verseker dat:\n"
-"\n"
-"- indien LPD/LPRng genstalleer is, CUPS nie die '/etc/printcap' ler\n"
-" sal vernietig nie.\n"
-"\n"
-"- indien '/etc/cups/cupsd.conf' ontbreek, dit geskep sal word.\n"
-"\n"
-"- indien inligting oor die drukker uitgesaai word, die bediener se naam nie\n"
-"\"localhost\" sal wees nie.\n"
-"\n"
-"Indien sommige van hierdie punte probleme vir u mag skep, moet nie die "
-"opsie\n"
-"kies nie , maar dit in gedagte hou."
+#: ../../bootlook.pm_.c:325
+msgid "Yes, I want autologin with this (user, desktop)"
+msgstr "Ja, ek verlang outoaanteken met hierdie (gebruiker,werkskerm)"
+
+#: ../../bootlook.pm_.c:335 ../../network/netconnect.pm_.c:96
+#: ../../standalone/drakTermServ_.c:222 ../../standalone/drakTermServ_.c:355
+#: ../../standalone/drakbackup_.c:4139 ../../standalone/drakbackup_.c:4797
+#: ../../standalone/drakconnect_.c:105 ../../standalone/drakconnect_.c:137
+#: ../../standalone/drakconnect_.c:293 ../../standalone/drakconnect_.c:432
+#: ../../standalone/drakconnect_.c:518 ../../standalone/drakconnect_.c:561
+#: ../../standalone/drakconnect_.c:665 ../../standalone/drakfont_.c:604
+#: ../../standalone/drakfont_.c:783 ../../standalone/drakfont_.c:911
+#: ../../standalone/net_monitor_.c:336 ../../ugtk.pm_.c:288
+#: ../../ugtk2.pm_.c:355
+msgid "OK"
+msgstr "OK"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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 outomatiese installasie kan ten volle geoutomatiseer\n"
-"word, in daardie geval kan dit die hardeskyf oorskryf!!!\n"
-"(dit is vir die installasie op 'n ander rekenaar).\n"
-"\n"
-"U mag verkies om hierdie installasie elders te herhaal.\n"
+#: ../../common.pm_.c:107
+msgid "GB"
+msgstr "GB"
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network printer \"%s\", port %s"
-msgstr "Netwerkdrukker \"%s\", poort %s"
+#: ../../common.pm_.c:107
+msgid "KB"
+msgstr "KB"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr "Kies asseblief die netwerkkaart wat aan u LAN gekoppel is."
+#: ../../common.pm_.c:107
+msgid "MB"
+msgstr "MB"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "OK to restore the other files."
-msgstr "OK om die ander lers te herstel."
+#: ../../common.pm_.c:115
+msgid "TB"
+msgstr "TB"
-#: ../../install_steps_interactive.pm:1
+#: ../../common.pm_.c:123
#, c-format
-msgid "Please choose your keyboard layout."
-msgstr "Kies asseblief u sleutelborduitleg."
+msgid "%d minutes"
+msgstr "%d minute"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Device URI"
-msgstr "Drukkertoestel se URI"
+#: ../../common.pm_.c:125
+msgid "1 minute"
+msgstr "1 minuut"
-#: ../../standalone/drakbackup:1
+#: ../../common.pm_.c:127
#, c-format
-msgid "Not erasable media!"
-msgstr "Nie-uitveebare media!"
+msgid "%d seconds"
+msgstr "%d sekondes"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Terminal-based"
-msgstr "Terminaaltipe"
+#: ../../common.pm_.c:172
+#, fuzzy
+msgid "Can't make screenshots before partitioning"
+msgstr "Ek kan nie meer partisies byvoeg nie"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable IP spoofing protection."
-msgstr "Ontsper/Versper \"IP spoofing\" beskerming."
+#: ../../common.pm_.c:179
+#, fuzzy, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "U kan ander tale selekteer wat na installasie beskikbaar sal wees."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing a printing system in the %s security level"
-msgstr "Installeer 'n drukkerstelsel in die %s sekuriteitsvlak"
+#: ../../crypto.pm_.c:14 ../../crypto.pm_.c:28 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:127
+msgid "France"
+msgstr "Frankryk"
-#: ../../any.pm:1
-#, c-format
-msgid "The user name is too long"
-msgstr "Hierdie naam is te lank"
+#: ../../crypto.pm_.c:15
+msgid "Costa Rica"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (windows...)"
-msgstr "Ander bedryfstelsel (windows...)"
+#: ../../crypto.pm_.c:16 ../../crypto.pm_.c:29 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:130
+#, fuzzy
+msgid "Belgium"
+msgstr "Belgies"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WebDAV remote site already in sync!"
-msgstr "Eksterne WebDAV werf alteeds gesinchroniseer!"
+#: ../../crypto.pm_.c:17 ../../crypto.pm_.c:30
+msgid "Czech Republic"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer database..."
-msgstr "Drukkerdata word gelees..."
+#: ../../crypto.pm_.c:18 ../../crypto.pm_.c:31
+msgid "Germany"
+msgstr "Duitsland"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Generate auto install floppy"
-msgstr "Skep outoinstallasieskyf"
+#: ../../crypto.pm_.c:19 ../../crypto.pm_.c:32
+#, fuzzy
+msgid "Greece"
+msgstr "Grieks"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\t\t user name: %s\n"
-"\t\t on path: %s \n"
+#: ../../crypto.pm_.c:20 ../../crypto.pm_.c:33
+#, fuzzy
+msgid "Norway"
+msgstr "Norweegs"
+
+#: ../../crypto.pm_.c:21 ../../crypto.pm_.c:34
+#, fuzzy
+msgid "Sweden"
+msgstr "Sien"
+
+#: ../../crypto.pm_.c:22 ../../crypto.pm_.c:36 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:128
+msgid "Netherlands"
msgstr ""
-"\t\t gebruikernaam: %s\n"
-"\t\t op roete: %s \n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Somalia"
-msgstr "Somali"
+#: ../../crypto.pm_.c:23 ../../crypto.pm_.c:37 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:129 ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Italy"
+msgstr "Italiaans"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No open source driver"
-msgstr "Geen oopbron drywer"
+#: ../../crypto.pm_.c:24 ../../crypto.pm_.c:38
+#, fuzzy
+msgid "Austria"
+msgstr "seriaal"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Def."
-msgstr "Def."
+#: ../../crypto.pm_.c:35 ../../crypto.pm_.c:61 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:131
+msgid "United States"
+msgstr ""
-#: ../../security/level.pm:1
-#, c-format
+#: ../../diskdrake/dav.pm_.c:19
msgid ""
-"This is similar to the previous level, but the system is entirely closed and "
-"security features are at their maximum."
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
msgstr ""
-"Hierdie is soortgelyk aan die vorige vlak, maar die stelsel is totaal "
-"geslote en sekuriteit is op sy maksimum."
-#: ../../lang.pm:1
-#, c-format
-msgid "Nicaragua"
-msgstr "Nicaragua"
+#: ../../diskdrake/dav.pm_.c:27
+#, fuzzy
+msgid "New"
+msgstr "nuut"
-#: ../../lang.pm:1
-#, c-format
-msgid "New Caledonia"
-msgstr "Nieu-Caledoni"
+#: ../../diskdrake/dav.pm_.c:63 ../../diskdrake/interactive.pm_.c:400
+#: ../../diskdrake/smbnfs_gtk.pm_.c:81
+msgid "Unmount"
+msgstr "Ontheg"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol (EDSS1)"
-msgstr "Europese protokol (EDSS1)"
+#: ../../diskdrake/dav.pm_.c:64 ../../diskdrake/interactive.pm_.c:397
+#: ../../diskdrake/smbnfs_gtk.pm_.c:82
+msgid "Mount"
+msgstr "Heg"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Delete"
-msgstr "/_Skrap"
+#: ../../diskdrake/dav.pm_.c:65
+msgid "Server"
+msgstr "Bediener"
-#: ../../any.pm:1
-#, c-format
-msgid "Video mode"
-msgstr "Videomodus"
+#: ../../diskdrake/dav.pm_.c:66 ../../diskdrake/interactive.pm_.c:391
+#: ../../diskdrake/interactive.pm_.c:580 ../../diskdrake/interactive.pm_.c:607
+#: ../../diskdrake/removable.pm_.c:24 ../../diskdrake/smbnfs_gtk.pm_.c:85
+msgid "Mount point"
+msgstr "Hegpunt"
-#: ../../lang.pm:1
-#, c-format
-msgid "Oman"
-msgstr "Oman"
+#
+#: ../../diskdrake/dav.pm_.c:85
+#, fuzzy
+msgid "Please enter the WebDAV server URL"
+msgstr "Toets asb. die muis"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Please enter your email address below "
-msgstr "Voorsien asseblief u e-posadres"
+#: ../../diskdrake/dav.pm_.c:88
+msgid "The URL must begin with http:// or https://"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Network Monitoring"
-msgstr "Monitor van Netwerk"
+#: ../../diskdrake/dav.pm_.c:109
+#, fuzzy
+msgid "Server: "
+msgstr "Bediener"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "SunOS"
-msgstr "SunOS"
+#: ../../diskdrake/dav.pm_.c:110 ../../diskdrake/interactive.pm_.c:452
+#: ../../diskdrake/interactive.pm_.c:1102
+#: ../../diskdrake/interactive.pm_.c:1177
+msgid "Mount point: "
+msgstr "Hegpunt:"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/dav.pm_.c:111 ../../diskdrake/interactive.pm_.c:1183
#, c-format
-msgid "New size in MB: "
-msgstr "Nuwe grootte in MB: "
+msgid "Options: %s"
+msgstr "Opsies: %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Tipe Partisielys: %s\n"
+#: ../../diskdrake/hd_gtk.pm_.c:97
+msgid "Please make a backup of your data first"
+msgstr "Rugsteun u data eers asb."
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication Windows Domain"
-msgstr "Magtiging deur Windows-domein"
+#: ../../diskdrake/hd_gtk.pm_.c:97 ../../diskdrake/interactive.pm_.c:946
+#: ../../diskdrake/interactive.pm_.c:956
+#: ../../diskdrake/interactive.pm_.c:1022
+msgid "Read carefully!"
+msgstr "Lees noukeurig!"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard"
-msgstr "VSA sleutelbord"
+#: ../../diskdrake/hd_gtk.pm_.c:100
+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)."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Buttons emulation"
-msgstr "Knoppie-emulasie"
+#: ../../diskdrake/hd_gtk.pm_.c:154
+msgid "Wizard"
+msgstr "Assistent"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", network printer \"%s\", port %s"
-msgstr ", netwerkdrukker \"%s\", poort %s"
+#: ../../diskdrake/hd_gtk.pm_.c:187
+msgid "Choose action"
+msgstr "Kies aksie"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:191
msgid ""
-"\n"
-"Drakbackup activities via tape:\n"
-"\n"
+"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 ""
-"\n"
-"Drakbackup deur magnetiese band:\n"
-"\n"
+"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\")"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" FTP connection problem: It was not possible to send your backup files by "
-"FTP.\n"
-msgstr ""
-"\n"
-"Probleem met FTP-konneksie: dit was nie moontlik om u lers via FTP te "
-"rugsteun nie.\n"
+#: ../../diskdrake/hd_gtk.pm_.c:194
+msgid "Please click on a partition"
+msgstr "Kliek asb. op 'n partisie"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Sending Speed:"
-msgstr "Stuurspoed:"
+#: ../../diskdrake/hd_gtk.pm_.c:208 ../../diskdrake/smbnfs_gtk.pm_.c:69
+#: ../../install_steps_gtk.pm_.c:464
+msgid "Details"
+msgstr "Detail"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"The classic bug sound tester is to run the following commands:\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
-"by default\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" will tell you what driver it\n"
-"currently uses\n"
-"\n"
-"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-"loaded or not\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
-"tell you if sound and alsa services're configured to be run on\n"
-"initlevel 3\n"
-"\n"
-"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
-msgstr ""
-"Probeer gerus hierdie metode om u klank aan die gang te kry:\n"
-"(vanaf die instruksielyn)\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\"sal vir u aandui watter verstek drywer u\n"
-"kaart gebruik\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" sal aan u vertoon watter drywer\n"
-"tans gebruik word\n"
-"\n"
-"- \"/sbin/lsmod\" sal u toelaat om te sien of die kaart se module (drywer)\n"
-"reeds gelaai is of nie.\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" en \"/sbin/chkconfig --list alsa\" sal\n"
-"aandui indien 'sound' en 'alsa' dienste loop in init vlak 3\n"
-"\n"
-"- \"aumix -q\" sal vir u aandui of die klank swygend is of nie \n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" sal aandui watter program die klankkaart\n"
-"gebruik.\n"
+#: ../../diskdrake/hd_gtk.pm_.c:254
+#, fuzzy
+msgid "No hard drives found"
+msgstr "Plaaslike drukker"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Halt bug"
-msgstr "Halt-fout"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Ext2"
+msgstr "Ext2"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert configuration"
-msgstr "Konfigurasie van e-pos alarm"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "FAT"
+msgstr "FAT"
-#: ../../lang.pm:1
-#, c-format
-msgid "Tokelau"
-msgstr "Tokelau"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "HFS"
+msgstr "HFS"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Matching"
-msgstr "Passend"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+#, fuzzy
+msgid "Journalised FS"
+msgstr "Gejoernaliseer"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bosnian"
-msgstr "Bosnies"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "SunOS"
+msgstr "SunOS"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Release: "
-msgstr "Vrystelling: "
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Swap"
+msgstr "Ruilarea"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection speed"
-msgstr "Konneksiespoed"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../diskdrake/interactive.pm_.c:1118
+msgid "Empty"
+msgstr "Leeg"
-#: ../../lang.pm:1
-#, c-format
-msgid "Namibia"
-msgstr "Namibi"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../install_steps_gtk.pm_.c:324
+#: ../../install_steps_gtk.pm_.c:382 ../../mouse.pm_.c:165
+#: ../../services.pm_.c:162 ../../standalone/drakbackup_.c:1719
+msgid "Other"
+msgstr "Ander"
-#: ../../services.pm:1
-#, c-format
-msgid "Database Server"
-msgstr "Databasis-bediener"
+#: ../../diskdrake/hd_gtk.pm_.c:330
+msgid "Filesystem types:"
+msgstr "LOersteltipes:"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "special capacities of the driver (burning ability and or DVD support)"
-msgstr "spesiale voordele van die drywer ( skryfvermo en DVD-ondersteuning)"
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:414
+msgid "Create"
+msgstr "Skep"
-#: ../../raid.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:392
+#: ../../diskdrake/interactive.pm_.c:543 ../../diskdrake/removable.pm_.c:26
+#: ../../diskdrake/removable.pm_.c:49 ../../standalone/harddrake2_.c:66
+msgid "Type"
+msgstr "Tipe"
+
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/hd_gtk.pm_.c:349
#, 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"
+msgid "Use ``%s'' instead"
+msgstr "Gebruik ``%s'' instede."
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Network Time Protocol"
-msgstr "Netwerkkoppelvlak"
+#: ../../diskdrake/hd_gtk.pm_.c:349 ../../diskdrake/interactive.pm_.c:401
+msgid "Delete"
+msgstr "Uitwis"
-#: ../../Xconfig/card.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:353
+msgid "Use ``Unmount'' first"
+msgstr "Gebruik ``Ontheg'' eerste"
+
+#: ../../diskdrake/hd_gtk.pm_.c:354 ../../diskdrake/interactive.pm_.c:530
#, 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."
+"After changing type of partition %s, all data on this partition will be lost"
msgstr ""
-"Hierdie kaart kan ondersteuning vir 3D-hardewareversnelling onder XFree86 %"
-"s\n"
-"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."
+"Alle data om hierdie partisie %s sal uitgewis word na verandering van die "
+"partisietipe"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security options..."
-msgstr "Net 'n oomblik, verstel sekuriteitsopsies..."
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose a partition"
+msgstr "Kies 'n partisie"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH05X (bt878) [many vendors]"
-msgstr "Onbekend|CPH05X (bt878) [baie vervaardigers]"
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose another partition"
+msgstr "Kies 'n ander partisie"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Launch the graphical environment when your system starts"
-msgstr "Laai X-Windowstelsel met herlaai"
+#: ../../diskdrake/interactive.pm_.c:202
+msgid "Exit"
+msgstr "Verlaat"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hourly"
-msgstr "uurliks"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to expert mode"
+msgstr "Skakel oor na kundige gebruiksvlak"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Shift key"
-msgstr "Regter 'Shift'-sleutel"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to normal mode"
+msgstr "Skakel oor na normale gebruiksvlak"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Successfuly Restored on %s "
-msgstr " Suksesvolle Herstel op %s "
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Undo"
+msgstr "Herroep"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Making printer port available for CUPS..."
-msgstr "Stel drukkerpoort tot CUPS se beskikking..."
+#: ../../diskdrake/interactive.pm_.c:247
+msgid "Continue anyway?"
+msgstr "Wil u in elk geval voortgaan?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Antigua and Barbuda"
-msgstr "Antigua and Barbuda"
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without saving"
+msgstr "Verlaat, maar moenie iets stoor nie"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"!!! Indicates the password in the system database is different than\n"
-" the one in the Terminal Server database.\n"
-"Delete/re-add the user to the Terminal Server to enable login."
-msgstr ""
-"!!! Dui dat die wagwoord in die stelsel se databasis verskil van\n"
-"die een in die 'Terminal Server' sin.\n"
-"Om weer die aanteken-vermo te bekragtig, verwyder/voeg gebruiker by die\n"
-"'Terminal Server'."
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without writing the partition table?"
+msgstr "Wil u verlaat, sonder om die partisietabel op te dateer?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Spanish"
-msgstr "Spaans"
+#: ../../diskdrake/interactive.pm_.c:257
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Wil u die /etc/fstab veranderinge stoor?"
-#: ../../services.pm:1
-#, c-format
-msgid "Start"
-msgstr "Begin"
+#: ../../diskdrake/interactive.pm_.c:271
+msgid "Clear all"
+msgstr "Verwydeer almal"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Direct root login"
-msgstr "Direkte 'root' inteken"
+#: ../../diskdrake/interactive.pm_.c:272
+msgid "Auto allocate"
+msgstr "Outo-allokeer"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring applications..."
-msgstr "Konfigureer applikasies...."
+#: ../../diskdrake/interactive.pm_.c:273
+#: ../../install_steps_interactive.pm_.c:220
+msgid "More"
+msgstr "Nog"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer, connected directly to the network or to a remote Windows machine.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected. Also your network printer(s) and your Windows "
-"machines must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network and/or Windows-hosted printers when you don't need "
-"it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
-"\n"
-"Welkom by die \"Printer Setup Wizard\"\n"
-"\n"
-"Hierdie wysgeer sal u help op u drukker(s) op te stel, hetsy hulle direk aan "
-"die rekenaar, direk aan die netwerk, of aan 'n eksterne Windows rekenaar\n"
-"gekoppel is.\n"
-"\n"
-"Maak tog seker die drukker(s) is reg gekoppel en aangeskakel, sodat "
-"outospeur sy werk reg kan doen. Maak ook seker u netwerkdrukker(s) en "
-"Windows drukker bedieners aangeskakel en gekonnekteer is.\n"
-"\n"
-"Let ook tog dat autospeur van drukkers oor die netwerk langer neem as die "
-"outospeur van plaaslike drukkers. U kan gerus die outospeur van netwerk en/"
-"of Windows-drukker-bedieners versper indien u dit nie gaan gebruik nie.\n"
-"\n"
-"Klik op \"Volgende\" sodra u gereed is, of op \"Kanselleer\" indien u NIE "
-"nou enige drukkers wil opstel NIE."
+#: ../../diskdrake/interactive.pm_.c:278
+msgid "Hard drive information"
+msgstr "Hardeskyfinligting"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Normal modem connection"
-msgstr "Normale modemkonneksie"
+#: ../../diskdrake/interactive.pm_.c:310
+msgid "All primary partitions are used"
+msgstr "Alle primre partisies is gebruik"
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "File Selection"
-msgstr "Lerkeuse"
+#: ../../diskdrake/interactive.pm_.c:311
+msgid "I can't add any more partition"
+msgstr "Ek kan nie meer partisies byvoeg nie"
-#: ../../help.pm:1 ../../printer/cups.pm:1 ../../printer/data.pm:1
-#, c-format
-msgid "CUPS"
-msgstr "CUPS"
+#: ../../diskdrake/interactive.pm_.c:312
+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"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase tape before backup"
-msgstr "Vee magnetiese band uit, voor begin met rugsteun"
+#: ../../diskdrake/interactive.pm_.c:322
+#, fuzzy
+msgid "Save partition table"
+msgstr "Skryf partisietabel"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Run config tool"
-msgstr "Loop konfigurasieprogram"
+#: ../../diskdrake/interactive.pm_.c:323
+#, fuzzy
+msgid "Restore partition table"
+msgstr "Reddingspartisietabel"
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation"
-msgstr "Installasie van herlaaistelsel"
+#: ../../diskdrake/interactive.pm_.c:324
+msgid "Rescue partition table"
+msgstr "Reddingspartisietabel"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Root partition size in MB: "
-msgstr "'root'-partisiegrootte in MB:"
+#: ../../diskdrake/interactive.pm_.c:326
+#, fuzzy
+msgid "Reload partition table"
+msgstr "Reddingspartisietabel"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Hierdie is 'n verpligte pakket. Dit kan nie uitgehaal word nie."
+#: ../../diskdrake/interactive.pm_.c:331
+#, fuzzy
+msgid "Removable media automounting"
+msgstr "Verwyderbare media"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:340 ../../diskdrake/interactive.pm_.c:360
+msgid "Select file"
+msgstr "Selekteer lOer"
+
+#: ../../diskdrake/interactive.pm_.c:347
msgid ""
-" - Create etherboot floppies/CDs:\n"
-" \tThe diskless client machines need either ROM images on the NIC, or "
-"a boot floppy\n"
-" \tor CD to initate the boot sequence. drakTermServ will help "
-"generate these\n"
-" \timages, based on the NIC in the client machine.\n"
-" \t\t\n"
-" \tA basic example of creating a boot floppy for a 3Com 3c509 "
-"manually:\n"
-" \t\t\n"
-" \tcat /usr/lib/etherboot/boot1a.bin \\\n"
-" \t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0"
+"The backup partition table has not the same size\n"
+"Still continue?"
msgstr ""
-" - Create etherboot floppies/CDs:\n"
-" \tThe diskless client machines need either ROM images on the NIC, or "
-"a boot floppy\n"
-" \tor CD to initate the boot sequence. drakTermServ will help "
-"generate these\n"
-" \timages, based on the NIC in the client machine.\n"
-" \t\t\n"
-" \tA basic example of creating a boot floppy for a 3Com 3c509 "
-"manually:\n"
-" \t\t\n"
-" \tcat /usr/lib/etherboot/boot1a.bin \\\n"
-" \t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0"
+"Die rugsteunpartisietabel het nie dieselfde grootte nie\n"
+"Wil u voortgaan?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot ISO image is %s"
-msgstr "Etherboot ISO-beeld is %s"
+#: ../../diskdrake/interactive.pm_.c:361 ../../harddrake/sound.pm_.c:202
+#: ../../network/modem.pm_.c:95
+msgid "Warning"
+msgstr "Waarskuwing"
-#: ../../services.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:362
msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
-"names to IP addresses."
+"Insert a floppy in drive\n"
+"All data on this floppy will be lost"
msgstr ""
-"named (BIND) is die domeinnaamdiens (DNS) wat gebruik word om\n"
-"rekenaarname na IP-adresse toe om te skakel."
+"Sit 'n floppie in die aandrywer.\n"
+"Alle data op hierdie floppie sal verloor word."
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Lucia"
-msgstr "Saint Lucia"
+#: ../../diskdrake/interactive.pm_.c:373
+msgid "Trying to rescue partition table"
+msgstr "Partisietabel Reddingspoging"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "November"
-msgstr "November"
+#: ../../diskdrake/interactive.pm_.c:379
+msgid "Detailed information"
+msgstr "Gedetaileerde inligting"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Disconnect..."
-msgstr "Diskonnekteer..."
+#: ../../diskdrake/interactive.pm_.c:394 ../../diskdrake/interactive.pm_.c:674
+msgid "Resize"
+msgstr "Verstel Grootte"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Report"
-msgstr "Verslag"
+#: ../../diskdrake/interactive.pm_.c:395 ../../diskdrake/interactive.pm_.c:727
+msgid "Move"
+msgstr "Skuif"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palau"
-msgstr "Palau"
+#: ../../diskdrake/interactive.pm_.c:396
+msgid "Format"
+msgstr "Formatteer"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "level"
-msgstr "vlak"
+#: ../../diskdrake/interactive.pm_.c:398
+msgid "Add to RAID"
+msgstr "Voeg by RAID"
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid ""
-"All incidents will be followed up by a single qualified MandrakeSoft "
-"technical expert."
-msgstr ""
-"Alle insidente sal opgevolg word deur 'n bekwame deskundige van MandrakeSoft."
+#: ../../diskdrake/interactive.pm_.c:399
+msgid "Add to LVM"
+msgstr "Voeg by LVM"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package Group Selection"
-msgstr "Kies Pakketgroepe"
+#: ../../diskdrake/interactive.pm_.c:402
+msgid "Remove from RAID"
+msgstr "Verwyder uit RAID"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Allow local hardware\n"
-"configuration."
-msgstr ""
-"Laat plaaslike hardeware-\n"
-"konfigurasie toe."
+#: ../../diskdrake/interactive.pm_.c:403
+msgid "Remove from LVM"
+msgstr "Verwyder uit LVM"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network Protocol: %s"
-msgstr "Herstel Via Netwerkprotokol: %s"
+#: ../../diskdrake/interactive.pm_.c:404
+msgid "Modify RAID"
+msgstr "Verander RAID"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "You can configure each parameter of the module here."
-msgstr "U kan elke parameter van die module hier konfigureer"
+#: ../../diskdrake/interactive.pm_.c:405
+msgid "Use for loopback"
+msgstr "Gebruik vir teruglus"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Choose the resolution and the color depth"
-msgstr "Kies die resolusie en kleurdiepte"
+#: ../../diskdrake/interactive.pm_.c:445
+msgid "Create a new partition"
+msgstr "Kies 'n nuwe grootte"
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Emulate third button?"
-msgstr "Emuleer derde knop?"
+#: ../../diskdrake/interactive.pm_.c:448
+msgid "Start sector: "
+msgstr "Kies sektor: "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:450 ../../diskdrake/interactive.pm_.c:827
+msgid "Size in MB: "
+msgstr "Grootte in MB: "
+
+#: ../../diskdrake/interactive.pm_.c:451 ../../diskdrake/interactive.pm_.c:828
+msgid "Filesystem type: "
+msgstr "LOerstelseltipe: "
+
+#: ../../diskdrake/interactive.pm_.c:456
+msgid "Preference: "
+msgstr "Voorkeure: "
+
+#: ../../diskdrake/interactive.pm_.c:481
msgid ""
"You can't create a new partition\n"
"(since you reached the maximal number of primary partitions).\n"
"First remove a primary partition and create an extended partition."
msgstr ""
-"U kan nie 'n nuwe partisie skep nie\n"
-"(aangsien u die maksimum aantal primre partisies bereik het).\n"
-"Verwyder eerstens 'n primre partisie en skep dan 'n sekondre partisie."
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount"
-msgstr "Heg"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Creating auto install floppy"
-msgstr "Outo-installasieskyf word geskep."
-#: ../../steps.pm:1
-#, c-format
-msgid "Install updates"
-msgstr "Installeer updaterings"
+#: ../../diskdrake/interactive.pm_.c:511
+#, fuzzy
+msgid "Remove the loopback file?"
+msgstr "Teruglusler %s word geformateer"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text box height"
-msgstr "tekskassie se hoogte"
+#: ../../diskdrake/interactive.pm_.c:541
+msgid "Change partition type"
+msgstr "Verander partisietipe"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "State"
-msgstr "Toestand"
+#
+#: ../../diskdrake/interactive.pm_.c:542 ../../diskdrake/removable.pm_.c:48
+msgid "Which filesystem do you want?"
+msgstr "Watter lerstelsel verlang u?"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Be sure a media is present for the device %s"
-msgstr "Versker asb dat die regte mediatipe vir toestel %s beskikbaar is"
+#: ../../diskdrake/interactive.pm_.c:548
+msgid "Switching from ext2 to ext3"
+msgstr "Oorskakeling van ext2 na ext3"
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:578
#, c-format
-msgid "Enable multiple profiles"
-msgstr "Gebruik multiprofiele"
+msgid "Where do you want to mount loopback file %s?"
+msgstr "Waar wil u teruglusler %s heg?"
-#: ../../fs.pm:1
+#: ../../diskdrake/interactive.pm_.c:579
#, c-format
-msgid "Do not interpret character or block special devices on the file system."
-msgstr ""
-"Moet nie teenwoordige karakter- of blok-toestelle op die lerstelsel "
-"vertolk\n"
-"nie."
+msgid "Where do you want to mount device %s?"
+msgstr "Waar wil u toestel %s heg?"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:585
msgid ""
-"These options can backup and restore all files in your /etc directory.\n"
+"Can't unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
msgstr ""
-"Hierdie opsies kan alle lers in u '/etc' lergids rugsteun en herstel.\n"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Local printer"
-msgstr "Plaaslike drukker"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Files Restored..."
-msgstr "Lers Wat Herstel Is...."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package selection"
-msgstr "Pakketkeuse"
+"Kan nie hegpunt ontset nie, omdat hierdie partisie vir teruglus\n"
+"gebruik word. Verwyder eers die teruglus."
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritania"
-msgstr "Mauritani"
+#: ../../diskdrake/interactive.pm_.c:606
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Waar wil u toestel %s heg?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"I can keep your current configuration and assume you already set up a DHCP "
-"server; in that case please verify I correctly read the Network that you use "
-"for your local network; I will not reconfigure it and I will not touch your "
-"DHCP server configuration.\n"
-"\n"
-"The default DNS entry is the Caching Nameserver configured on the firewall. "
-"You can replace that with your ISP DNS IP, for example.\n"
-"\t\t \n"
-"Otherwise, I can reconfigure your interface and (re)configure a DHCP server "
-"for you.\n"
-"\n"
-msgstr ""
-"Ek kan u huidige konfigurasie behou en aanneem u het alreeds 'n DHCP "
-"bediener opgestel, in hierdie geval, maak tog seker dat ek die Netwerk "
-"korrek lees vir u plaaslike netwerk, Ek gaan dit nie herkonfigureer nie, en "
-"ook nie verander aan u DHCP bediener se konfigurasie nie.\n"
-"\n"
-"Die verstek DNS inskrywing is die van die 'Caching Nameserver' gekonfigureer "
-"op die vuurmuur. U kan dit vervang met die van u ISP DNS IP, byvoorbeeld:\n"
-"\t\t \n"
-"Anders kan ek u netwerk en 'n DHCP bediener vir u konfigureer of oor "
-"konfigureer.\n"
-"\n"
+#: ../../diskdrake/interactive.pm_.c:630
+msgid "Computing FAT filesystem bounds"
+msgstr "FAT lerstelselgrense word bereken"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"No local printer found! To manually install a printer enter a device name/"
-"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
-"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
-"printer: /dev/usb/lp1, ...)."
-msgstr ""
-"Geen plaaslike drukkers bespeur.Om self een te spesifiseer, voorsien 'n "
-"toestelnaam/lernaam (Parallelle poorte: /dev/lp0,/dev/lp1,..., gelyk aan "
-"LPT1:,LPT2:,...,1e USB-drukker: /dev/usb/lp0, 2de USB- drukker: /dev/usb/"
-"lp1,...)."
+#: ../../diskdrake/interactive.pm_.c:630 ../../diskdrake/interactive.pm_.c:689
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing"
+msgstr "Grootteverandering"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All primary partitions are used"
-msgstr "Alle primre partisies is gebruik"
+#: ../../diskdrake/interactive.pm_.c:662
+msgid "This partition is not resizeable"
+msgstr "Hierdie partisie se greootte kan nie verstel word nie"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "LPD server \"%s\", printer \"%s\""
-msgstr "LPD bediener \"%s\"/, drukker \"%s\""
+#: ../../diskdrake/interactive.pm_.c:667
+msgid "All data on this partition should be backed-up"
+msgstr "Alle data om hierdie partisie moet gerugsteun word."
-#: ../../network/netconnect.pm:1
+#: ../../diskdrake/interactive.pm_.c:669
#, c-format
-msgid ""
-"After this is done, we recommend that you restart your X environment to "
-"avoid any hostname-related problems."
-msgstr ""
-"Nadat dit klaar is, sal dit beter wees om u X-omgewing te herlaai om die "
-"rekenaarnaamverandering-probleem te voorkom."
+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"
-#: ../../services.pm:1
-#, c-format
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr "Outospeuring en hardewarekonfigurasie met herlaaityd."
+#: ../../diskdrake/interactive.pm_.c:674
+msgid "Choose the new size"
+msgstr "Kies die nuwe grootte"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation Server Configuration"
-msgstr "Konfigurasie van Installasie-bediener"
+#: ../../diskdrake/interactive.pm_.c:675
+msgid "New size in MB: "
+msgstr "Nuwe grootte in MB: "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring IDE"
-msgstr "IDE word opgestel"
+#: ../../diskdrake/interactive.pm_.c:728
+msgid "Which disk do you want to move it to?"
+msgstr "Na watter skyf wil u skuif?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network functionality not configured"
-msgstr "Netwerk nie gekonfigureer nie"
+#: ../../diskdrake/interactive.pm_.c:729
+msgid "Sector"
+msgstr "Sektor"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Configure module"
-msgstr "Konfigureer module"
+#: ../../diskdrake/interactive.pm_.c:730
+msgid "Which sector do you want to move it to?"
+msgstr "Na watter sektor wil u skuif?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cocos (Keeling) Islands"
-msgstr "Kokos-eilande"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving"
+msgstr "Verskuiwing"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "You'll need to reboot before the modification can take place"
-msgstr "U sal moet herlaai voor die veranderinge geaktiveer kan word"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving partition..."
+msgstr "Partisie word verskuif..."
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider phone number"
-msgstr "Verskaffer se foonnommer"
+#: ../../diskdrake/interactive.pm_.c:750
+msgid "Choose an existing RAID to add to"
+msgstr "Kies 'n bestaande RAID om by toe te voeg"
-#
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Host %s"
-msgstr "Rekenaar %s"
+#: ../../diskdrake/interactive.pm_.c:751 ../../diskdrake/interactive.pm_.c:768
+msgid "new"
+msgstr "nuut"
-#: ../../lang.pm:1
-#, c-format
-msgid "Fiji"
-msgstr "Fidji"
+#: ../../diskdrake/interactive.pm_.c:766
+msgid "Choose an existing LVM to add to"
+msgstr "Kies 'n bestaande LVM om by toe te voeg"
-#: ../../lang.pm:1
-#, c-format
-msgid "Armenia"
-msgstr "Armeni"
+#: ../../diskdrake/interactive.pm_.c:771
+msgid "LVM name?"
+msgstr "LVM naam?"
-#: ../../any.pm:1
-#, c-format
-msgid "Second floppy drive"
-msgstr "Tweede disketaandrywer"
+#: ../../diskdrake/interactive.pm_.c:812
+msgid "This partition can't be used for loopback"
+msgstr "Hierdie partisie kan nie vir teruglus gebruik word nie."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "About Harddrake"
-msgstr "Omtrent Harddrake"
+#: ../../diskdrake/interactive.pm_.c:825
+msgid "Loopback"
+msgstr "Teruglus"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize TCP connections to X Window"
-msgstr "Magtig TCP konneksies na 'X Window'"
+#: ../../diskdrake/interactive.pm_.c:826
+msgid "Loopback file name: "
+msgstr "Teruglus lernaam:"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Drive capacity"
-msgstr "Kapasiteit"
+#: ../../diskdrake/interactive.pm_.c:831
+#, fuzzy
+msgid "Give a file name"
+msgstr "Regte naam"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Plaas 'n disket in die aandrywer.\n"
-"Alle data daarop sal vernietig word."
+#: ../../diskdrake/interactive.pm_.c:834
+msgid "File already used by another loopback, choose another one"
+msgstr "Ler word alreeds deur 'n ander teruglus gebruik,kies 'n ander een"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s"
-msgstr "Grootte: %s"
+#: ../../diskdrake/interactive.pm_.c:835
+msgid "File already exists. Use it?"
+msgstr "Ler bestaan alreeds. Moet dit gebruik word?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Control and Shift keys simultaneously"
-msgstr "'Control' en 'Shift' sleutels gelyktydig"
+#: ../../diskdrake/interactive.pm_.c:858
+msgid "Mount options"
+msgstr "Hegopsies:"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "secondary"
-msgstr "sekondre"
+#: ../../diskdrake/interactive.pm_.c:865
+msgid "Various"
+msgstr "Verskeie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Backup Configuration."
-msgstr "Bekyk Rugsteun-konfigurasie."
+#: ../../diskdrake/interactive.pm_.c:929 ../../standalone/drakfloppy_.c:76
+msgid "device"
+msgstr "toestel"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result to syslog."
-msgstr "indien ja gekies is, skryf deursoek-resultate na staafler."
+#: ../../diskdrake/interactive.pm_.c:930
+msgid "level"
+msgstr "vlak"
-#. -PO: keep this short or else the buttons will not fit in the window
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No password"
-msgstr "Geen wagwoord"
+#: ../../diskdrake/interactive.pm_.c:931
+msgid "chunk size"
+msgstr "blokgrootte"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nigeria"
-msgstr "Nigeri"
+#: ../../diskdrake/interactive.pm_.c:947
+msgid "Be careful: this operation is dangerous."
+msgstr "Wees versigtig: hierdie is 'n gevaarlike operasie"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires hostname...\n"
-msgstr "%s:%s benodig 'n rekenaarnaam...\n"
+#: ../../diskdrake/interactive.pm_.c:962
+msgid "What type of partitioning?"
+msgstr "Watter tipe van partisionering?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no existing partition to use"
-msgstr "Daar is geen bestaande partisies om te gebruik nie"
+#: ../../diskdrake/interactive.pm_.c:978
+#, fuzzy, c-format
+msgid "The package %s is needed. Install it?"
+msgstr ""
+"Hierdie pakket moet opgradeer word\n"
+"Is u seker u wil dit deselekteer?"
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:992
msgid ""
-"The following scanners\n"
-"\n"
-"%s\n"
-"are available on your system.\n"
+"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 ""
-"Die volgende skandeerders\n"
-"\n"
-"%s\n"
-"is tot u beskikking.\n"
+"Jammer, ek kan nie die versoek om /boot om hierdie skyf (op 'n silinder > "
+"1024) te skep,\n"
+"aanvaar nie. As u LILO gebruik sal dit nie werk nie en as u nie LILO "
+"gebruik\n"
+"nie, dan het u nie /boot nodig nie."
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on parallel port #%s"
-msgstr "Multi-funksionele toestel op parallelle poort #%s"
+#: ../../diskdrake/interactive.pm_.c:996
+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,"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1002
msgid ""
-"To print to a TCP or socket printer, you need to provide the host name or IP "
-"of the printer and optionally the port number (default is 9100). On HP "
-"JetDirect servers the port number is usually 9100, on other servers it can "
-"vary. See the manual of your hardware."
+"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 ""
-"Om aan 'n sokdrukker te konnekteer, moet u die rekenaarnaam van diedrukker "
-"voorsien en dalk ook 'n poortnommer voorsien.Met HP JetDirect-bedieners is "
-"die poortnommer gewoonlik 9100,maar dit mag anders wees met ander bedieners. "
-"Raadpleeg die handleidingwat saam met die hardeware gekom het."
+"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/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1022
#, c-format
-msgid "Hard drive information"
-msgstr "Hardeskyfinligting"
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Partisietabel van skyf %s gaan opdateer word!"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian"
-msgstr "Russies"
+#: ../../diskdrake/interactive.pm_.c:1026
+msgid "You'll need to reboot before the modification can take place"
+msgstr "U sal moet herlaai voor die veranderinge geaktiveer kan word"
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1037
#, c-format
-msgid "Jordan"
-msgstr "Jordani"
+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/interactive.pm:1
-#, c-format
-msgid "Hide files"
-msgstr "Versteek lers"
+#: ../../diskdrake/interactive.pm_.c:1039
+msgid "Formatting"
+msgstr "Formatering"
-#
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1040
#, c-format
-msgid "Auto-detect printers connected to this machine"
-msgstr "Outospeur vir plaaslike drukkers"
+msgid "Formatting loopback file %s"
+msgstr "Teruglusler %s word geformateer"
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:1041
+#: ../../install_steps_interactive.pm_.c:466
#, c-format
-msgid "Sorry, no floppy drive available"
-msgstr "Jammer, geen sagteskyfaandrywer beskikbaar nie"
+msgid "Formatting partition %s"
+msgstr "Partisie %s word formateer"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bolivia"
-msgstr "Bolivia"
+#: ../../diskdrake/interactive.pm_.c:1052
+#, fuzzy
+msgid "Hide files"
+msgstr "mkraid het gefaal"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1052
+#, fuzzy
+msgid "Move files to the new partition"
+msgstr "Nie genoeg spasie beskikbaar om nuwe partisies toe te ken nie"
+
+#: ../../diskdrake/interactive.pm_.c:1053
#, c-format
msgid ""
-"Set up your Windows server to make the printer available under the IPP "
-"protocol and set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+"Directory %s already contains data\n"
+"(%s)"
msgstr ""
-"Stel u Windows bediener so op dat dit die drukker beskikbaar stel onder die "
-"IPP-protokol en stel drukwerk vanaf die masjien op met die \"%s\" konneksie-"
-"tipe in Printerdrake.\n"
-"\n"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Bad package"
-msgstr "Foutiewe pakket"
+#: ../../diskdrake/interactive.pm_.c:1064
+#, fuzzy
+msgid "Moving files to the new partition"
+msgstr "Nie genoeg spasie beskikbaar om nuwe partisies toe te ken nie"
-#: ../advertising/07-server.pl:1
+#: ../../diskdrake/interactive.pm_.c:1068
#, c-format
-msgid ""
-"Transform your computer into a powerful Linux server: Web server, mail, "
-"firewall, router, file and print server (etc.) are just a few clicks away!"
+msgid "Copying %s"
msgstr ""
-"Met 'n paar klikke van u muis, het u 'n kragtige Linux bediener:Webbediener, "
-"e-pos, vuurmuur, ler- en drukker-bediener (en nog meer!)"
-#: ../../security/level.pm:1
-#, c-format
-msgid "DrakSec Basic Options"
-msgstr "DrakSec Basiese Opsies"
+#: ../../diskdrake/interactive.pm_.c:1072
+#, fuzzy, c-format
+msgid "Removing %s"
+msgstr "LPD word verwyder..."
-#: ../../standalone/draksound:1
+#: ../../diskdrake/interactive.pm_.c:1082
#, c-format
-msgid ""
-"\n"
-"\n"
-"\n"
-"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
-"program. Just type \"sndconfig\" in a console."
+msgid "partition %s is now known as %s"
msgstr ""
-"\n"
-"\n"
-"\n"
-"Aandag: Indien u klankkaart 'n ISA PnP tipe kaart is, moet u gebruik maak "
-"van die 'sndconfig' program. ( tik \"sndconfig\" in op die instruksielyn)."
-#: ../../lang.pm:1
-#, c-format
-msgid "Romania"
-msgstr "Roemeni"
+#: ../../diskdrake/interactive.pm_.c:1103
+#: ../../diskdrake/interactive.pm_.c:1162
+msgid "Device: "
+msgstr "Toestel:"
-#: ../../standalone/drakperm:1
+#: ../../diskdrake/interactive.pm_.c:1104
#, c-format
-msgid "Group"
-msgstr "Groep:"
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS-skyfletter: %s ('n raaiskoot)\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Canada"
-msgstr "Kanada"
+#: ../../diskdrake/interactive.pm_.c:1108
+#: ../../diskdrake/interactive.pm_.c:1116
+#: ../../diskdrake/interactive.pm_.c:1181
+msgid "Type: "
+msgstr "Tipe:"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "choose device"
-msgstr "kies toestel"
+#: ../../diskdrake/interactive.pm_.c:1112
+msgid "Name: "
+msgstr "Naam: "
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1120
#, c-format
-msgid "Remove from LVM"
-msgstr "Verwyder uit LVM"
+msgid "Start: sector %s\n"
+msgstr "Begin: sektor %s\n"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1121
#, c-format
-msgid "Timezone"
-msgstr "Tydsone"
+msgid "Size: %s"
+msgstr "Grootte: %s"
-#: ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1123
#, c-format
-msgid "German"
-msgstr "Duits"
+msgid ", %s sectors"
+msgstr ", %s sektore"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Next ->"
-msgstr "Volgende ->"
+#: ../../diskdrake/interactive.pm_.c:1125
+#, fuzzy, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Silinder %d na silinder %d\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Turning on this allows to print plain text files in japanese language. Only "
-"use this function if you really want to print text in japanese, if it is "
-"activated you cannot print accentuated characters in latin fonts any more "
-"and you will not be able to adjust the margins, the character size, etc. "
-"This setting only affects printers defined on this machine. If you want to "
-"print japanese text on a printer set up on a remote machine, you have to "
-"activate this function on that remote machine."
-msgstr ""
-"Deur hierdie keuse kan u standaard tekslers in japanees druk. Kies dit "
-"SLEGS indien u japanese tekslers wil druk, indien dit geaktiveer is kan u "
-"nie geaksentueerde karakters in latynse lettertipes druk nie, u sal ook nie "
-"die kantlyne of karaktergrottes kan verstel nie. Die verstelling affekteer "
-"slegs plaaslike drukkers. Indien u japanese teks op 'n eksterne drukker wil "
-"druk, moet u dit op daardie drukker se rekenaar aktiveer."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition. You should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Dis hoogs waarskynlik dat hierdie partisie 'n\n"
-"drywerpartisie is en verkieslik alleen gelos\n"
-"moet word.\n"
+#: ../../diskdrake/interactive.pm_.c:1126
+msgid "Formatted\n"
+msgstr "Geformateer\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea-Bissau"
-msgstr "Guinea-Bissau"
+#: ../../diskdrake/interactive.pm_.c:1127
+msgid "Not formatted\n"
+msgstr "Nie geformatter\n"
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Horizontal refresh rate"
-msgstr "Horisontale verfristempo"
+#: ../../diskdrake/interactive.pm_.c:1128
+msgid "Mounted\n"
+msgstr "Geheg\n"
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1129
#, c-format
-msgid "Edit"
-msgstr "Redigeer"
+msgid "RAID md%s\n"
+msgstr "RAID md%s\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1131
+#, fuzzy, c-format
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."
+"Loopback file(s):\n"
+" %s\n"
+msgstr "Teruglus ler(s): %s\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1132
msgid ""
-"The network configuration done during the installation cannot be started "
-"now. Please check whether the network is accessable after booting your "
-"system and correct the configuration using the Mandrake Control Center, "
-"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
-"printer, also using the Mandrake Control Center, section \"Hardware\"/"
-"\"Printer\""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
msgstr ""
-"Die netwerk, soos opgestel gedurende die installasie, kom nie aan die gang "
-"nie. Maak tog seker die netwerk is tot u beskikking, en gaan u konfigurasie "
-"na deur die 'Mandrake Control Center' te gebruik. "
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "USB controllers"
-msgstr "USB beheerders"
+"Verstekpartisie vir herlaai\n"
+" (vir MS_DOS doeleindes, nie LILO s'n nie)\n"
-#: ../../Xconfig/various.pm:1
+#: ../../diskdrake/interactive.pm_.c:1134
#, c-format
-msgid "What norm is your TV using?"
-msgstr "Watter norm gebruik u TV?"
+msgid "Level %s\n"
+msgstr "Vlak %s\n"
-#: ../../standalone/drakconnect:1
+#: ../../diskdrake/interactive.pm_.c:1135
#, c-format
-msgid "Type:"
-msgstr "Tipe:"
+msgid "Chunk size %s\n"
+msgstr "Blokgrootte %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1136
#, c-format
-msgid "Share name"
-msgstr "Naam van deelarea"
+msgid "RAID-disks %s\n"
+msgstr "RAID-skywe %s\n"
-#: ../../standalone/drakgw:1
+#: ../../diskdrake/interactive.pm_.c:1138
#, c-format
-msgid "enable"
-msgstr "aktiveer"
+msgid "Loopback file name: %s"
+msgstr "Teruglus lernaam: %s"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1141
msgid ""
-"Contacting Mandrake Linux web site to get the list of available mirrors..."
-msgstr "Kontak MandrakeLinux se webwerf vir 'n lys van spielwebplekke...."
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition, you should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Dis hoogs waarskynlik dat hierdie partisie\n"
+"drywerpartisie is en verkieslik alleen gelos\n"
+"moet word.\n"
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1144
msgid ""
-"A problem occured while restarting the network: \n"
"\n"
-"%s"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
msgstr ""
-"Daar was 'n probleem met die herlaai van die netwerk.\n"
"\n"
-"%s"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove the loopback file?"
-msgstr "Verwyder die teruglusler?"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Selected size is larger than available space"
-msgstr "Geselekteerde grootte is groter as beskikbare spasie."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP server name missing!"
-msgstr "NCP-bedienernaam ontbreek!"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose your country."
-msgstr "Kies asseblief u land."
+"Hierdie spesiale herlaaipartisie\n"
+"is om u stelsel te duolaai.\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup files..."
-msgstr "Hardeskyf Rugsteun lers..."
+#: ../../diskdrake/interactive.pm_.c:1163
+msgid "Read-only"
+msgstr ""
-#: ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1164
#, c-format
-msgid "Laotian"
-msgstr "Laoties"
+msgid "Size: %s\n"
+msgstr "Grootte: %s\n"
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1165
#, c-format
-msgid "Samoa"
-msgstr "Samoa"
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometrie: %s silinders, %s koppe, %s sektore\n"
-#: ../../services.pm:1
-#, c-format
-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"
-"werksverrigting-inligting oor enige rekenaar op die\n"
-"netwerk te onttrek."
+#: ../../diskdrake/interactive.pm_.c:1166
+msgid "Info: "
+msgstr "Info:"
-#: ../../standalone/scannerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1167
#, c-format
-msgid "Re-generating list of configured scanners ..."
-msgstr "Vervris die lys van gekonfigureerde skandeerders ..."
+msgid "LVM-disks %s\n"
+msgstr "LVM-skywe %s\n"
-#: ../../modules/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1168
#, c-format
-msgid "Module configuration"
-msgstr "Konfigurasie van module"
+msgid "Partition table type: %s\n"
+msgstr "Partisietabeltipe: %s\n"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Scanner"
-msgstr "Skandeerder"
+#: ../../diskdrake/interactive.pm_.c:1169
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "op bus %d id %d\n"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Waarskuwing: deur hierdie grafikakaart te toets, mag u rekenaar fries"
+#: ../../diskdrake/interactive.pm_.c:1199
+#, fuzzy
+msgid "Filesystem encryption key"
+msgstr "LOerstelseltipe: "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
+#: ../../diskdrake/interactive.pm_.c:1200
+msgid "Choose your filesystem encryption key"
msgstr ""
-"Die gebruikernaam mag alleenlik uit kleinletter, nommers, '-' en '_' bestaan"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Menudrake"
-msgstr "Menudrake"
+#: ../../diskdrake/interactive.pm_.c:1203
+#, fuzzy, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Hierdie wagwoord is te eenvoudig. Dit moet ten minste %d karakters bevat."
-#: ../../security/level.pm:1
-#, c-format
-msgid "Welcome To Crackers"
-msgstr "Krakers Welkom"
+#: ../../diskdrake/interactive.pm_.c:1204
+#, fuzzy
+msgid "The encryption keys do not match"
+msgstr "Die wagwoorde stem nie ooreen nie."
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module options:"
-msgstr "Module opsies:"
+#: ../../diskdrake/interactive.pm_.c:1207
+msgid "Encryption key"
+msgstr ""
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "Secure your networks with the Multi Network Firewall"
-msgstr "Maak u netwerk veilig deur die \"Multi Network Firewall\""
+#: ../../diskdrake/interactive.pm_.c:1208
+msgid "Encryption key (again)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Go on without configuring the network"
-msgstr "Gaan voort sonder om die netwerk te konfigureer"
+#: ../../diskdrake/removable.pm_.c:47
+msgid "Change type"
+msgstr "Verander tipe"
-#: ../../network/isdn.pm:1
+#: ../../diskdrake/smbnfs_gtk.pm_.c:162
#, c-format
-msgid "Abort"
-msgstr "Staak"
+msgid "Can't login using username %s (bad password?)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No password prompt on %s at port %s"
-msgstr "Geen wagwoord-porteks op %s by poort %s"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:166 ../../diskdrake/smbnfs_gtk.pm_.c:175
+#, fuzzy
+msgid "Domain Authentication Required"
+msgstr "Magtiging"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse with Wheel emulation"
-msgstr "Kensington Thinking Mouse met Wiel-emulasie"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Another one"
+msgstr "Internet"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Usage of remote scanners"
-msgstr "Gebruik van eksterne skandeerders"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Which username"
+msgstr "Gebruikerskode"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../diskdrake/smbnfs_gtk.pm_.c:176
msgid ""
-"Your Windows partition is too fragmented. Please reboot your computer under "
-"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
-"installation."
-msgstr "U Windows-partisie is te gefragmenteer. Loop eers 'defrag' asb."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norweegs)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup Progress..."
-msgstr "Hardeskyf Rugsteun Vordering..."
-
-#: ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Unable to fork: %s"
-msgstr "Kon nie vurk nie: %s"
+"Please enter your username, password and domain name to access this host."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Type: "
-msgstr "Tipe:"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:178 ../../standalone/drakbackup_.c:3477
+#, fuzzy
+msgid "Username"
+msgstr "Gebruikerskode"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Edit Client"
-msgstr "<-- Redigeer Klint"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:180
+#, fuzzy
+msgid "Domain"
+msgstr "NIS-domein"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "no fonts found"
-msgstr "geen lettertipes gevind"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:200
+#, fuzzy
+msgid "Search servers"
+msgstr "DNS bediener"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1
+#: ../../fs.pm_.c:547 ../../fs.pm_.c:557 ../../fs.pm_.c:561 ../../fs.pm_.c:565
+#: ../../fs.pm_.c:569 ../../fs.pm_.c:573
#, c-format
-msgid "Mouse"
-msgstr "Muis"
+msgid "%s formatting of %s failed"
+msgstr "%s formatering ban %s het gefaal"
-#: ../../bootloader.pm:1
+#: ../../fs.pm_.c:610
#, c-format
-msgid "not enough room in /boot"
-msgstr "nie genoeg spasie in /boot nie"
+msgid "I don't know how to format %s in type %s"
+msgstr "Ek weet nie om %s as tipe %s te formateer nie"
-#: ../../install_steps_gtk.pm:1
+#: ../../fs.pm_.c:684 ../../fs.pm_.c:727
#, c-format
-msgid "trying to promote %s"
+msgid "mounting partition %s in directory %s failed"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Liechtenstein"
-msgstr "Liechtenstein"
-
-#
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../fs.pm_.c:742 ../../partition_table.pm_.c:599
#, c-format
-msgid "Host name"
-msgstr "Rekenaarnaam"
+msgid "error unmounting %s: %s"
+msgstr "fout met onthegting van %s: %s"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the color of the progress bar"
-msgstr "die kleur van die vorderingbalk"
+#: ../../fsedit.pm_.c:21
+msgid "simple"
+msgstr "eenvoudig"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Fonts Files"
-msgstr "Onderdruk Lettertipe-lers"
+#: ../../fsedit.pm_.c:25
+msgid "with /usr"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to RAID"
-msgstr "Voeg by RAID"
+#: ../../fsedit.pm_.c:30
+msgid "server"
+msgstr "bediener"
-#: ../../help.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:240
+#, fuzzy, c-format
msgid ""
-"You can add additional entries in yaboot for other operating systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"For other OSs, the entry consists only of a label and the \"root\"\n"
-"partition.\n"
-"\n"
-"For Linux, there are a few possible options:\n"
-"\n"
-" * Label: this is the name you will have to type at the yaboot prompt to\n"
-"select this boot option.\n"
-"\n"
-" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n"
-"variation of vmlinux with an extension.\n"
-"\n"
-" * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-"\n"
-" * Append: on Apple hardware, the kernel append option is often used to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button\n"
-"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n"
-"The following are some examples:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: this option can be used either to load initial modules before\n"
-"the boot device is available, or to load a ramdisk image for an emergency\n"
-"boot situation.\n"
-"\n"
-" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n"
-"need to allocate a large ramdisk, this option can be used to specify a\n"
-"ramdisk larger than the default.\n"
-"\n"
-" * Read-write: normally the \"root\" partition is initially mounted as\n"
-"read-only, to allow a file system check before the system becomes ``live''.\n"
-"You can override the default with this option.\n"
-"\n"
-" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-"problematic, you can select this option to boot in ``novideo'' mode, with\n"
-"native frame buffer support.\n"
+"I can't read the partition table of device %s, it's too corrupted for me :(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
"\n"
-" * Default: selects this entry as being the default Linux selection,\n"
-"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n"
-"highlighted with a ``*'' if you press [Tab] to see the boot selections."
+"Do you agree to loose all the partitions?\n"
msgstr ""
-"U kan ekstra inskrywings in 'yaboot' maak vir ander bedryfstelsels,\n"
-"alternatiewe 'kernels' of selfs 'n nood-herlaaibeeld.\n"
-"\n"
-"Die inskrywing vir ander bedryfstelsels bestaan uit die naam en die\n"
-"\"root\"partisie van daardie bedryfstelsel.\n"
-"\n"
-"Linux het 'n paar opsies beskikbaar:\n"
-"\n"
-" * Naam: Die naam wat u sal gebruik tydens die 'yaboot' por-teks om\n"
-"hierdie keuse te maak.\n"
-" * Beeld: dit is die naam van die 'kernel' wat gaan selflaai. Gewoonlik is\n"
-"dit 'vmlinux' of 'n variasie daarvan.\n"
-" * Root: die \"root\" toestel of '/' vir u Linux installasie.\n"
-"\n"
-" * Aanlas: spesifiseer spesifike opsies gewoonlik met hardeware te doen,\n"
-"bv die muis , sie grafiesekaart ens. \n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: hierdie opsie kan gebruik word om modules te laai alvorens die\n"
-"'boot' toestel beskikbaar is, of om 'n 'ramdisk' beeld te laai in 'n nood-\n"
-"herlaai toestand.\n"
-"\n"
-" * Initrd-size: die verstek 'ramdisk' se grootte is gewoonlik 4096 Kb.\n"
-"Indien u 'n groter 'ramdisk' verlang, kan u dit hier spesifiseer.\n"
-"\n"
-" * Read-write: \"root\" word gewoonlik eerstens gehag in lees-alleen modus\n"
-"dit is om te toets of alles korrek werk met die lerstelsel. Indien u dit\n"
-"oorskryf kan u hierdie verstek opsie verander.\n"
-"\n"
-" * NoVideo: sou die Apple grafiese hardeware vir u probleme verskaf\n"
-"kan u herlaai in \"novideo\" modus, met plaaslike \"frame buffer\"\n"
-"ondersteuning\n"
+"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"
-" * Default: kies hierdie een vir die verstek Linux keuse, waneer u\n"
-"\"ENTER\" druk tydens die yaboot-porteks. Hierdie inskrywing sal verlig\n"
-"wees met 'n '*' indien u [Tab] druk om die herlaai keuses te beskou"
+"Will u al die partisies verwyder?\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
-msgstr "Drukker \"%s\" is korrek bygevoeg by Star Office/OpenOffice.org/GIMP."
+#: ../../fsedit.pm_.c:501
+msgid "You can't use JFS for partitions smaller than 16MB"
+msgstr "U kan nie JFS vir partisies kleiner as 16MB gebruik nie"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No floppy drive available!"
-msgstr "Geen disketdrywer beskikbaar nie!"
+#: ../../fsedit.pm_.c:502
+msgid "You can't use ReiserFS for partitions smaller than 32MB"
+msgstr "U kan nie ReiserFS vir partisies kleiner as 32MB gebruik nie"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To know about the options available for the current printer read either the "
-"list shown below or click on the \"Print option list\" button.%s%s%s\n"
-"\n"
-msgstr ""
-"Om meer uit te vind oor die beskikbare opsies vir die huidige drukker, lees "
-"die onderstaande lys of klik op die \"Drukkeropsies\" knoppie.%s%s%s\n"
-"\n"
+#: ../../fsedit.pm_.c:521
+msgid "Mount points must begin with a leading /"
+msgstr "Hegpunte moet met 'n / begin"
-#: ../../lang.pm:1
+#: ../../fsedit.pm_.c:522
#, c-format
-msgid "Saudi Arabia"
-msgstr "Saoedi-Arabi"
+msgid "There is already a partition with mount point %s\n"
+msgstr "Daar is alreeds 'n partisie met hegpunt %s\n"
-#: ../../services.pm:1
+#: ../../fsedit.pm_.c:526
#, c-format
-msgid "Internet"
-msgstr "Internet"
+msgid "You can't use a LVM Logical Volume for mount point %s"
+msgstr "U kan nie LVM logiese volume vir hegpunt %s gebruik nie."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Continue anyway?"
-msgstr "Wil u in elk geval voortgaan?"
+#: ../../fsedit.pm_.c:528
+msgid "This directory should remain within the root filesystem"
+msgstr "Hierdie lergids moet altyd in die wortellerstelsel bly"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:530
+#, fuzzy
msgid ""
-"If your printer is not listed, choose a compatible (see printer manual) or a "
-"similar one."
-msgstr ""
-"Indien u drukker nie gelys is nie, kies 'n versoenbare (verwys na u drukker "
-"se handleiding) of 'n soortgelyke een."
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr "U benodig 'n ware lerstelsel (ext2, reiserfs) vir hierdie hegpunt\n"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer"
-msgstr "Drukker"
+#: ../../fsedit.pm_.c:532
+#, fuzzy, c-format
+msgid "You can't use an encrypted file system for mount point %s"
+msgstr "U kan nie LVM logiese volume vir hegpunt %s gebruik nie."
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices were added:\n"
-msgstr "Party toestelle is bygevoeg:\n"
+#: ../../fsedit.pm_.c:599
+#, fuzzy
+msgid "Not enough free space for auto-allocating"
+msgstr "Nie genoeg spasie beskikbaar om nuwe partisies toe te ken nie"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometrie: %s silinders, %s koppe, %s sektore\n"
+#: ../../fsedit.pm_.c:601
+msgid "Nothing to do"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../fsedit.pm_.c:694
#, c-format
-msgid "Printing on the printer \"%s\""
-msgstr "Drukwerk vir drukker \"%s\""
+msgid "Error opening %s for writing: %s"
+msgstr "Four om %s in skryfmode te open: %s"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
-msgstr "'/etc/hosts.allow' en 'etc'hosts.deny' is alreeds gekonfigureer"
+#: ../../harddrake/data.pm_.c:71
+msgid "cpu /* "
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From Tape"
-msgstr "Herstel vanaf Magnetiese Band"
+#: ../../harddrake/sound.pm_.c:170
+msgid "No alternative driver"
+msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../harddrake/sound.pm_.c:171
#, c-format
msgid ""
-"To submit a bug report, click the report button, which will open your "
-"default browser\n"
-"to Anthill where you will be able to upload the above information as a bug "
-"report."
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
msgstr ""
-"Klik die 'Verslag' knoppie, indien u 'n foutverslag wil instuur.\n"
-"Dit sal die blaaier oopmaak by 'Anthill' waar u bogenoemde inligting\n"
-"na kan oplaai."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the profile to configure"
-msgstr "Kies die profiel om te konfigureer"
+#: ../../harddrake/sound.pm_.c:173
+#, fuzzy
+msgid "Sound configuration"
+msgstr "Konfigurasie"
-#: ../../security/l10n.pm:1
+#: ../../harddrake/sound.pm_.c:174
#, c-format
-msgid "Password minimum length and number of digits and upcase letters"
-msgstr "Wagwoord se minimum lente en die aantal syfers en hoofletters"
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../harddrake/sound.pm_.c:176
#, c-format
msgid ""
"\n"
"\n"
-"Enter a Zeroconf host name without any dot if you don't\n"
-"want to use the default host name."
-msgstr ""
-"\n"
-"\n"
-"Voorsien 'n 'Zeroconf' rekenaarnaam sonder enige punt indien\n"
-"u nie die verstek-rekenaarnaam wil gebruik nie."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now from configuration file"
-msgstr "Maak nou 'n rugsteun vanaf konfigurasie-ler"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points should contain only alphanumerical characters"
-msgstr "Hegpunte kan slegs alfa-numeriese karakters bevat"
-
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting printing system..."
-msgstr "Drukkerstelsel word herbegin..."
-
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "You can only run with no CDROM support"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "See hardware info"
-msgstr "Sien hardeware inligting"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Day"
-msgstr "Dag"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of boot partition"
-msgstr "Eerste sektor van herlaaipartisie"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model"
-msgstr "Drukkervervaardiger, model"
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ - Print, Don't Queue"
-msgstr "PDQ - Druk sonder drukkertou"
+#: ../../harddrake/sound.pm_.c:178
+#, fuzzy
+msgid "Driver:"
+msgstr "Drywer"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires "
-"username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, "
-"nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, "
-"IP, nbi image name)"
+#: ../../harddrake/sound.pm_.c:183 ../../standalone/drakTermServ_.c:303
+#: ../../standalone/drakbackup_.c:3878 ../../standalone/drakbackup_.c:3911
+#: ../../standalone/drakbackup_.c:3937 ../../standalone/drakbackup_.c:3964
+#: ../../standalone/drakbackup_.c:3991 ../../standalone/drakbackup_.c:4030
+#: ../../standalone/drakbackup_.c:4051 ../../standalone/drakbackup_.c:4078
+#: ../../standalone/drakbackup_.c:4108 ../../standalone/drakbackup_.c:4134
+#: ../../standalone/drakbackup_.c:4157 ../../standalone/drakfont_.c:690
+msgid "Help"
msgstr ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires "
-"username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, "
-"nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, "
-"IP, nbi image name)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet Mask:"
-msgstr "Subnet-masker:"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Set password expiration and account inactivation delays"
+#: ../../harddrake/sound.pm_.c:185
+msgid "Switching between ALSA and OSS help"
msgstr ""
-"Spesifseer intervalle van wagwoord-verval en de-aktivering van rekeninge"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"_: load here is a noun, the load of the system\n"
-"Load"
-msgstr "Laai"
-#: ../../Xconfig/monitor.pm:1
-#, c-format
+#: ../../harddrake/sound.pm_.c:186
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"
+"OSS (Open Sound System) was the first sound API. It's an OS independant "
+"sound API (it's available on most unices systems) but it's a very basic and "
+"limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\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"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\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."
-
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Modify"
-msgstr "Verander"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
+"It also provides a much higher API than OSS.\n"
"\n"
-"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
-"a particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\".\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
msgstr ""
-"\n"
-"\"%s\" en \"%s\" laat u ook toe om die opsies vir 'n spesifieke drukwerk te "
-"verander. Voeg net eenvoudig die verstellings wat u verlang by die opdrag "
-"bv. \"%s <ler>\".\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Need hostname, username and password!"
-msgstr "Benodig rekenaarnaam, gebruikernaam en wagwoord!"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Insert floppy"
-msgstr "Plaas skyf in aandrywer"
-
-#: ../../diskdrake/dav.pm:1
+#: ../../harddrake/sound.pm_.c:202
#, c-format
msgid ""
-"WebDAV is a protocol that allows you to mount a web server's directory\n"
-"locally, and treat it like a local filesystem (provided the web server is\n"
-"configured as a WebDAV server). If you would like to add WebDAV mount\n"
-"points, select \"New\"."
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oopses the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver'll only be used on next bootstrap."
msgstr ""
-"'WebDAV' is 'n protokol wat u in staat stel om 'n web-bediener se lergids\n"
-"(e) plaaslik te kan heg. (dit is nou indien die web-bediener opgestel\n"
-"is as 'n WebDAV-bediener). Indien u 'n 'WebDAV' hegpunt\n"
-"wil heg, kies \"Nuwe\"."
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "HardDrake"
-msgstr "HardDrake"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "new"
-msgstr "nuut"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable syslog reports to console 12"
-msgstr "Ontsper/Versper 'syslog' verslae na konsole 12"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Would you like to try again?"
-msgstr "Wil u weer probeer?"
-#: ../../help.pm:1 ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Wizard"
-msgstr "Assistent"
+#: ../../harddrake/sound.pm_.c:205 ../../standalone/drakconnect_.c:298
+msgid "Please Wait... Applying the configuration"
+msgstr "Wag asb... Konfigurasie word toegpas"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected server"
-msgstr "Redigeer gekose bediener"
+#: ../../harddrake/sound.pm_.c:205 ../../interactive.pm_.c:382
+#: ../../standalone/drakxtv_.c:108 ../../standalone/harddrake2_.c:113
+#: ../../standalone/service_harddrake_.c:64
+msgid "Please wait"
+msgstr "Wag asb."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose where you want to backup"
-msgstr "Kies asseblief die plek waarna u wil regsteun"
+#: ../../harddrake/sound.pm_.c:210
+msgid "No known driver"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../harddrake/sound.pm_.c:211
#, c-format
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "U moet herlaai om die partisielys-veranderinge te aktiveer"
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include the browser cache"
-msgstr "Moet nie die blaaier se kasgeheue insluit nie"
+#: ../../harddrake/sound.pm_.c:214
+#, fuzzy
+msgid "Unkown driver"
+msgstr "Onbekende model"
-#: ../../install_steps_interactive.pm:1
+#: ../../harddrake/sound.pm_.c:215
#, c-format
msgid ""
-"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
-"you can lose data)"
+"The \"%s\" driver for your sound card is unlisted\n"
+"\n"
+"Please send the output of the \"lspcidrake -v\" command to\n"
+"<install at mandrakesoft dot com>\n"
+"with subject: unlisted sound driver \"%s\""
msgstr ""
-"Probleme met die ondersoek van lerstelsel %s. Wil u die foute herstel? "
-"( neem kennis dat dit dataverlies kan meebring)"
-
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Please, choose your keyboard layout."
-msgstr "Wat is u sleutelborduitleg?"
-
-#: ../../mouse.pm:1 ../../security/level.pm:1
-#, c-format
-msgid "Standard"
-msgstr "Standaard"
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose your mouse type."
-msgstr "Wat is u muistoestel?"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Connect..."
-msgstr "Konnekteer..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to configure printer \"%s\"!"
-msgstr "Probleme met die konfigurasie van drukker \" %s\"!"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "not configured"
-msgstr "nie gekonfigureer nie"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "About"
-msgstr "Omtrent"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxies configuration"
-msgstr "Instaanbediener-konfigurasie"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Begin: sektor %s\n"
+#: ../../harddrake/v4l.pm_.c:14 ../../harddrake/v4l.pm_.c:64
+#, fuzzy
+msgid "Auto-detect"
+msgstr "Gebruik outobespeuring"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Mask"
-msgstr "Geen Masker"
+#: ../../harddrake/v4l.pm_.c:65 ../../harddrake/v4l.pm_.c:198
+#, fuzzy
+msgid "Unknown|Generic"
+msgstr "Generies"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface already configured"
-msgstr "Netwerk-koppelvlak alreeds gekonfigureer"
+#: ../../harddrake/v4l.pm_.c:97
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Couldn't access the floppy!"
-msgstr "Geen toegang tot skyf nie!"
+#: ../../harddrake/v4l.pm_.c:98
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../harddrake/v4l.pm_.c:224
msgid ""
-"Warning: Free Software may not necessarily be patent free, and some Free\n"
-"Software included may be covered by patents in your country. For example, "
-"the\n"
-"MP3 decoders included may require a licence for further usage (see\n"
-"http://www.mp3licensing.com for more details). If you are unsure if a "
-"patent\n"
-"may be applicable to you, check your local laws."
-msgstr ""
-"Waarskuwing: Oopbronsagteware is nie noodwendig vry van patente nie.\n"
-"Sommige van die sagteware hier ingesluit mag dalk gedek wees deur\n"
-"patente in die land waar u woon.\n"
-"Die MP3-dekodeerders wat hier ingesluit word, benodig moonlik 'n\n"
-"lisensie om wettiglik gebruik te kan word.(http://www.mp3licensing.com)\n"
-"Indien u onseker is oor 'n patent, raadpleeg die plaaslike wette.\n"
-"( Wees daarom bly jy woon nie in die VSA nie! )"
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Mail Server"
-msgstr "e-Pos bediener"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please click on a partition"
-msgstr "Kliek asb. op 'n partisie"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on HP JetDirect"
-msgstr "Multi-funksionele toestel op 'HP JetDirect'"
-
-#: ../../any.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Have a nice day!"
-msgstr "Jy moet 'n wonderlike dag h!"
-
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/fd0"
-msgstr "/dev/fd0"
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Upgrade %s"
-msgstr "Opgradeer %s"
+#: ../../harddrake/v4l.pm_.c:227
+#, fuzzy
+msgid "Card model:"
+msgstr "Kaartgeheue (DMA)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Connection"
-msgstr "Kies drukkerkonneksie"
+#: ../../harddrake/v4l.pm_.c:228
+#, fuzzy
+msgid "Tuner type:"
+msgstr "Verander tipe"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels in progress ..."
-msgstr "Aftas vir TV-kanale in wording ..."
+#: ../../harddrake/v4l.pm_.c:229
+msgid "Number of capture buffers:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Error during sending file via FTP.\n"
-" Please correct your FTP configuration."
+#: ../../harddrake/v4l.pm_.c:229
+msgid "number of capture buffers for mmap'ed capture"
msgstr ""
-"Probleme met die stuur van die ler via FTP.\n"
-" Gaan asseblief u FTP-konfigurasie na."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range Start:"
-msgstr "Begin van IP-reeks:"
+#: ../../harddrake/v4l.pm_.c:231
+#, fuzzy
+msgid "PLL setting:"
+msgstr "Formatering"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../harddrake/v4l.pm_.c:232
+msgid "Radio support:"
msgstr ""
-"Die internet-superbedienerdiensprogram (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."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the height of the progress bar"
-msgstr "die hoogte van die vorderingbalk"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "enable radio support"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:13
+#, fuzzy
msgid ""
+"GNU/Linux is a multiuser system, and this means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more this concept. But unlike \"root\", which is the\n"
+"administrator, the users you add here will not be entitled to change\n"
+"anything except their own files and their own configurations. You will have\n"
+"to create at least one regular user for yourself. That account is where you\n"
+"should log in for routine use. Although it is very practical to log in as\n"
+"\"root\" everyday, it may also be very dangerous! The slightest mistake\n"
+"could mean that your system would not work any more. If you make a serious\n"
+"mistake as a regular user, you may only lose some information, but not the\n"
+"entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course\n"
+"-- as you can actually enter whatever you want. DrakX will then take the\n"
+"first word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as the \"root\"\n"
+"one from a security point of view, but that is no reason to neglect it:\n"
+"after all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of the people meant to use that computer. When you are\n"
+"finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"Advanced\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default).\n"
+"\n"
+"When you are finished adding all users, you will be proposed to choose a\n"
+"user which can automatically log into the system when the computer boots\n"
+"up. If you are interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click \"Yes\".\n"
+"If you are not interested in this feature, click \"No\"."
+msgstr ""
+"GNU/Linux is 'n multigebruikerstelsel en dit beteken dat elke gebruiker sy "
+"eie\n"
+"voorkeure kan stel, met sy eie lers ens. U kan meer hieroor in die "
+"gebruikersgids\n"
+"lees. Maak andersins as 'root', die supergebruiker, kan gebruikers wat u "
+"hier byvoeg\n"
+"niks verander behalwe hul eie lers en konfigurasie nie. U moet ten minste "
+"een gewone\n"
+"gebruiker vir u self skep. Hierdie gebruker is die een waaronder u moet "
+"inteken vir\n"
+"normale gebruik van die stelsel. Alhoewel dit baie gemaklik is om as 'root' "
+"in te teken vir\n"
+"daaglikse werk, is dit baie gevaarlik. 'n Eenvoudige fout kan u stelsel "
+"immobiliseer. 'n Fout\n"
+"wat as gewone gebruiker gemaak word sal net daardie gebruiker benvloed\n"
+"en nie hele stelsel nie.\n"
+"\n"
+"\n"
+"Eers moet u u eie naam intik. Dit is nie verpligtend nie, want u kan eintlik "
+"enigiets intik as\n"
+"u wil. DrakX sal dan die eerste woord wat u ingetik het in die "
+"gebruikerskode inskrywingsveld\n"
+"plaas. U kan hier verander indien u wil. Dit is die gebruikerskode waarmee "
+"die gebruiker in die\n"
+"stelsel sal inteken. U moet dan ook 'n wagwoord hier invoeg. 'n Gewone "
+"gebruiker se wagwoord\n"
+"is nie so krities as di van die supergebruiker (uit 'n sekuriteitsoogpunt) "
+"nie, maar daar is geen\n"
+"rede om agterlosig met u data te wees nie.\n"
"\n"
-"- Save via %s on host: %s\n"
-msgstr ""
"\n"
-"- Stoor via %s op rekenaar: %s\n"
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Argentina"
-msgstr "Argentini"
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Domain Name Server"
-msgstr "Domeinnaam-bediener"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Level:"
-msgstr "Sekuriteitsvlak:"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points must begin with a leading /"
-msgstr "Hegpunte moet met 'n / begin"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Choose your CD/DVD device"
-msgstr "Kies u CD/DVD toestel"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "CUPS server"
-msgstr "DNS-bediener"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Postfix Mail Server"
-msgstr "Postfix e-posbediener"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without saving"
-msgstr "Verlaat, maar moenie iets stoor nie"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Yemen"
-msgstr "Yemen"
-
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "This product is available on the MandrakeStore Web site."
-msgstr "Hierdie produk is beskikbaar vanaf die MandrakeStore webwef."
+"Indien u op Aanvaar kliek sal die gebruiker geskep word en kan u nog "
+"gebruikers byvoeg.\n"
+"U kan vir al u vriende gebruikerskodes skep of sommer een vir pa en ma ook. "
+"Wanneer u\n"
+"klaar is kliek op Klaar.\n"
+"\n"
+"Kliek op die Gevorderd knoppie indien u die verstek instruksiedop vir die "
+"gebruiker wil verander.\n"
+"Dit is bash by verstek."
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "=> There are many things to choose from (%s).\n"
-msgstr "=> Daar is heelwat dinge om van te kies (%s).\n"
+#: ../../help.pm_.c:48
+msgid ""
+"Listed above are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "GMT - DrakClock"
+#: ../../help.pm_.c:79
+msgid ""
+"The Mandrake Linux installation is spread out over several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required."
msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../help.pm_.c:84
msgid ""
-"An error occurred:\n"
+"It is now time to specify which programs you wish to install on your\n"
+"system. There are thousands of packages available for Mandrake Linux, and\n"
+"you are not supposed to know them all by heart.\n"
"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
"\n"
-"%s\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
+"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
+"\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
"\n"
-"This may come from corrupted system configuration files\n"
-"on the USB key, in this case removing them and then\n"
-"rebooting Mandrake Move would fix the problem. To do\n"
-"so, click on the corresponding button.\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you unselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewest packages possible to have a working\n"
+"graphical desktop;\n"
"\n"
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
"\n"
-"You may also want to reboot and remove the USB key, or\n"
-"examine its contents under another OS, or even have\n"
-"a look at log files in console #3 and #4 to try to\n"
-"guess what's happening."
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
+"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
+"\n"
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful to repair or\n"
+"update an existing system."
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Hard drive detection"
-msgstr "Hardeskyf-speuring."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../help.pm_.c:135
msgid ""
-"You haven't selected any group of packages.\n"
-"Please choose the minimal installation you want:"
+"Finally, depending on whether or not you chose to be able to select\n"
+"individual packages, you will be presented a tree containing all packages\n"
+"classified by groups and subgroups. While browsing the tree, you can select\n"
+"entire groups, subgroups, or individual packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An installation time estimate is displayed\n"
+"on the screen, to help you gauge if there is sufficient time to enjoy a cup\n"
+"of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mandrake Linux, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mandrake Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
+"\n"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of the previous step on how to\n"
+"create such a floppy disk."
msgstr ""
-"U het glad nie 'n groep pakkette gekies nie.\n"
-"Kies asseblief die tipe minimale installasie:"
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../help.pm_.c:171
msgid ""
-"You need the Alcatel microcode.\n"
-"You can provide it now via a floppy or your windows partition,\n"
-"or skip and do it later."
+"You are now able to set up your Internet/network connection. If you wish to\n"
+"connect your computer to the Internet or to a local network, click \"OK\".\n"
+"The autodetection of network devices and modem will be launched. If this\n"
+"detection fails, uncheck the \"Use auto-detection\" box next time. You may\n"
+"also choose not to configure the network, or do it later; in that case,\n"
+"simply click the \"Cancel\" button.\n"
+"\n"
+"Available connections are: traditional modem, ISDN modem, ADSL connection,\n"
+"cable modem, and finally a simple LAN connection (Ethernet).\n"
+"\n"
+"Here, we will not detail each configuration. Simply make sure that you have\n"
+"all the parameters from your Internet Service Provider or system\n"
+"administrator.\n"
+"\n"
+"You can consult the ``Starter Guide'' chapter about Internet connections\n"
+"for details about the configuration, or simply wait until your system is\n"
+"installed and use the program described there to configure your connection.\n"
+"\n"
+"If you wish to configure the network later after installation, or if you\n"
+"are finished configuring your network connection, click \"Cancel\"."
msgstr ""
-"U benodig die 'Alcatel microcode'.\n"
-"U kan dit deur 'n disket voorsien, of deur u Windows partisie,\n"
-"of dit oorslaan en later doen."
-
-#
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Please enter the WebDAV server URL"
-msgstr "Voorsien asseblief die WebDAV-bediener se URL"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tajikistan"
-msgstr "Tajikistan"
-
-#
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Accept"
-msgstr "Aanvaar"
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Description"
-msgstr "Beskrywing"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Please enter summary text."
-msgstr "Voorsien asseblief 'n opsomming."
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Fout om %s in skryfmodus te open: %s"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Muistipe: %s\n"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "U videokaart kan 3D-hardewareversnelling onderstuen in XFree %s."
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Choose a monitor"
-msgstr "Kies 'n monitor"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Empty label not allowed"
-msgstr "Le etiket word nie toegelaat nie"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (UK)"
-msgstr "Maltese (UK)"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "I can't add any more partition"
-msgstr "Ek kan nie meer partisies byvoeg nie"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size in MB: "
-msgstr "Grootte in MB: "
-
-#
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Remote printer"
-msgstr "Eksterne drukker"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose a language to use."
-msgstr "Kies asb. 'n taal om te gebruik."
-
-#: ../../network/network.pm:1
-#, c-format
+#: ../../help.pm_.c:193
+#, 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."
+"You may now choose which services you wish to start at boot time.\n"
+"\n"
+"Here are listed all the services available with the current installation.\n"
+"Review them carefully and uncheck those which are not always needed at boot\n"
+"time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
msgstr ""
-"WAARSKUWING: Die toestel is alreeds opgestel om aan die Internet "
-"konnekteer.\n"
-"U kan die toestel net so aanvaar.\n"
-"Veranderinge aan onderstaande velde sal hierdie\n"
-"konfigurasie oorskryf."
-
-#: ../../any.pm:1
-#, c-format
-msgid "I can set up your computer to automatically log on one user."
-msgstr "Ek kan u rekenaar so opstel om een gebruiker outomaties in te teken."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Floppy format"
-msgstr "Disket se formaat"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Generic Printers"
-msgstr "Generiese Drukkers"
+"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."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:210
msgid ""
-"Please choose the printer to which the print jobs should go or enter a "
-"device name/file name in the input line"
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by unselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
msgstr ""
-"Kies asseblief die drukker wat drukwerk moet ontvang of voorsien 'n "
-"toestelnaam / lernaam."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The scanners on this machine are available to other computers"
+#: ../../help.pm_.c:224
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandrake Linux rely.\n"
+"\n"
+"You will be presented the list of available resolutions and color depth\n"
+"available for your hardware. Choose the one that best suit your needs (you\n"
+"will be able to change that after installation though). When you are\n"
+"satisfied with the sample shown in the monitor, click \"OK\". A window will\n"
+"then appear and ask you if you can see it.\n"
+"\n"
+"If you are doing an \"Expert\" installation, you will enter the X\n"
+"configuration wizard. See the corresponding section of the manual for more\n"
+"information about this wizard.\n"
+"\n"
+"If you can see the message during the test, and answer \"Yes\", then DrakX\n"
+"will proceed to the next step. If you cannot see the message, it simply\n"
+"means that the configuration was wrong and the test will automatically end\n"
+"after 10 seconds, restoring the screen. Refer then to the video\n"
+"configuration section of the user guide for more information on how to\n"
+"configure your display."
+msgstr ""
+
+#: ../../help.pm_.c:246
+msgid ""
+"Finally, you will be asked whether you want to see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
+msgstr ""
+
+#: ../../help.pm_.c:253
+msgid ""
+"The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it by\n"
+"booting from the CD-ROM, press the >>F1<< key at boot and type >>rescue<<\n"
+"at the prompt. But in case your computer cannot boot from the CD-ROM, you\n"
+"should come back to this step for help in at least two situations:\n"
+"\n"
+" * when installing the bootloader, DrakX will rewrite the boot sector (\n"
+"MBR) of your main disk (unless you are using another boot manager), to\n"
+"allow you to start up with either Windows or GNU/Linux (assuming you have\n"
+"Windows in your system). If you need to reinstall Windows, the Microsoft\n"
+"install process will rewrite the boot sector, and then you will not be able\n"
+"to start GNU/Linux!\n"
+"\n"
+" * if a problem arises and you cannot start up GNU/Linux from the hard\n"
+"disk, this floppy disk will be the only means of starting up GNU/Linux. It\n"
+"contains a fair number of system tools for restoring a system, which has\n"
+"crashed due to a power failure, an unfortunate typing error, a typo in a\n"
+"password, or any other reason.\n"
+"\n"
+"If you say \"Yes\", you will be asked to enter a disk inside the drive. The\n"
+"floppy disk you will insert must be empty or contain data which you do not\n"
+"need. You will not have to format it since DrakX will rewrite the whole\n"
+"disk."
+msgstr ""
+
+#: ../../help.pm_.c:277
+msgid ""
+"You now need to choose where you want to install the Mandrake Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space, you will need\n"
+"to partition it. Basically, partitioning a hard drive consists of logically\n"
+"dividing it to create space to install your new Mandrake Linux system.\n"
+"\n"
+"Because the partitioning process' effects are usually irreversible,\n"
+"partitioning can be intimidating and stressful if you are an inexperienced\n"
+"user. Fortunately, there is a wizard which simplifies this process. Before\n"
+"beginning, please consult the manual and take your time.\n"
+"\n"
+"If you are running the installation in Expert mode, you will enter\n"
+"DiskDrake, the Mandrake Linux partitioning tool, which allows you to\n"
+"fine-tune your partitions. See the DiskDrake section in the ``Starter\n"
+"Guide''. From the installation interface, you can use the wizards as\n"
+"described here by clicking the dialog's \"Wizard\" button.\n"
+"\n"
+"If partitions have already been defined, either from a previous\n"
+"installation or from another partitioning tool, simply select those to\n"
+"install your Linux system.\n"
+"\n"
+"If partitions are not defined, you will need to create them using the\n"
+"wizard. Depending on your hard drive configuration, several options are\n"
+"available.\n"
+"\n"
+" * \"Use free space\": this option will simply lead to an automatic\n"
+"partitioning of your blank drive(s). You will not be prompted further;\n"
+"\n"
+" * \"Use existing partition\": the wizard has detected one or more existing\n"
+"Linux partitions on your hard drive. If you want to use them, choose this\n"
+"option. You will then be asked to choose the mount points associated to\n"
+"each of the partitions. The legacy mount points are selected by default,\n"
+"and you should generally keep them.\n"
+"\n"
+" * \"Use the free space on the Windows partition\": if Microsoft Windows is\n"
+"installed on your hard drive and takes all the space available on it, you\n"
+"have to create free space for Linux data. To do so, you can delete your\n"
+"Microsoft Windows partition and data (see ``Erase entire disk'' or ``Expert\n"
+"mode'' solutions) or resize your Microsoft Windows partition. Resizing can\n"
+"be performed without the loss of any data, provided you previously\n"
+"defragment the Windows partition. Backing up your data won't hurt either..\n"
+"This solution is recommended if you want to use both Mandrake Linux and\n"
+"Microsoft Windows on the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than at the present time. You will have less free space under Microsoft\n"
+"Windows to store your data or to install new software;\n"
+"\n"
+" * \"Erase entire disk\": if you want to delete all data and all partitions\n"
+"present on your hard drive and replace them with your new Mandrake Linux\n"
+"system, choose this option. Be careful with this solution because you will\n"
+"not be able to revert your choice after you confirm;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Remove Windows\": this will simply erase everything on the drive and\n"
+"begin fresh, partitioning everything from scratch. All data on your disk\n"
+"will be lost;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Expert mode\": choose this option if you want to manually partition\n"
+"your hard drive. Be careful -- it is a powerful but dangerous option. You\n"
+"can very easily lose all your data. Hence, do not choose this unless you\n"
+"know what you are doing. To know how to use the DiskDrake utility used\n"
+"here, refer to the section ``Managing Your Partitions'' of the ````Starter\n"
+"Guide''''"
msgstr ""
-"Die skandeerders op hierdie rekenaar is tot ander rekenaars se beskikking"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of the root partition"
-msgstr "Eerste sektor van die 'root'-partisie"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Alternative drivers"
-msgstr "Alternatiewe drywers"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:347
msgid ""
+"There you are. Installation is now completed and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
"\n"
-"Please check all options that you need.\n"
-msgstr ""
+"The \"Advanced\" button (in Expert mode only) shows two more buttons to:\n"
"\n"
-" Merk asseblief al die opsies wat u benodig.\n"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cape Verde"
-msgstr "Cape Verde"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "whether this cpu has the Cyrix 6x86 Coma bug"
-msgstr "indien hierdie verwerker die 'Cyrix 6x86 Coma'-gogga het"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Loading printer configuration... Please wait"
-msgstr "Laai tans die drukkerkonfigurasie.... Net 'n oomblik asb"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "early pentiums were buggy and freezed when decoding the F00F bytecode"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
msgstr ""
-"vroe pentiums het foute gehad en het gevries wanneer 'F00F bytecode' "
-"gedekodeer word"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guam"
-msgstr "Guam"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:378
msgid ""
-"Please choose the port that your printer is connected to or enter a device "
-"name/file name in the input line"
+"Any partitions that have been newly defined must be formatted for use\n"
+"(formatting means creating a filesystem on it).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mandrake Linux operating system installation.\n"
+"\n"
+"Click on \"Advanced\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
msgstr ""
-"Kies asseblief die poort waaraan u drukker gekoppel is of voorsien 'n "
-"toestelnaam / lernaam."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Options/Test"
-msgstr "/Opsies/Toets"
-
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:404
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."
+"Your new Mandrake Linux operating system is currently being installed.\n"
+"Depending on the number of packages you will be installing and the speed of\n"
+"your computer, this operation could take from a few minutes to a\n"
+"significant amount of time.\n"
+"\n"
+"Please be patient."
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\n"
-"wagwoord toegang nie."
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Mounting partition %s"
-msgstr "Heg partisie %s"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "User name"
-msgstr "Gebruiker"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Userdrake"
-msgstr "Userdrake"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Watter partisie wil u vir Linux4Win gebruik?"
-
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "due to missing %s"
-msgstr "kdesu is weg"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Test pages"
-msgstr "Toetsbladsye"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Logical volume name "
-msgstr "Logiese-volumenaam "
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:412
msgid ""
-"List of data to restore:\n"
+"At the time you are installing Mandrake Linux, it is likely that some\n"
+"packages have been updated since the initial release. Some bugs may have\n"
+"been fixed, and security issues solved. To allow you to benefit from these\n"
+"updates, you are now able to download them from the Internet. Choose\n"
+"\"Yes\" if you have a working Internet connection, or \"No\" if you prefer\n"
+"to install updated packages later.\n"
"\n"
+"Choosing \"Yes\" displays a list of places from which updates can be\n"
+"retrieved. Choose the one nearest you. Then a package-selection tree\n"
+"appears: review the selection, and press \"Install\" to retrieve and\n"
+"install the selected package(s), or \"Cancel\" to abort."
msgstr ""
-"Lys van data om te herstel:\n"
-"\n"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Checking %s"
-msgstr "Toets %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "TCP/Socket Printer Options"
-msgstr "TCP/Sokdrukker-opsies"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card mem (DMA)"
-msgstr "Kaartgeheue (DMA)"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnecting from Internet "
-msgstr "Diskonnekteer van die Internet "
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "France"
-msgstr "Frankryk"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "browse"
-msgstr "blaai"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking installed software..."
-msgstr "Genstalleerde sagteware word deursoek..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name missing!"
-msgstr "Eksterne drukkernaam ontbreek!"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you want to enable printing on printers in the local network?\n"
-msgstr "Wil u drukwerk op drukkers in die plaaslike netwerk toelaat?\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkey"
-msgstr "Turkye"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Alcatel speedtouch usb"
-msgstr "Alcatel speedtouch usb"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Number of buttons"
-msgstr "Aantal knoppies"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vitnamees \"nommerry\" QWERTY"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Module"
-msgstr "Module"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:425
+#, fuzzy
msgid ""
-"In addition, queues not created with this program or \"foomatic-configure\" "
-"cannot be transferred."
+"Before continuing, you should read carefully the terms of the license. It\n"
+"covers the whole Mandrake Linux distribution, and if you do not agree with\n"
+"all the terms included in it, click on the \"Refuse\" button which will\n"
+"immediately terminate the installation. To continue with the installation,\n"
+"click on the \"Accept\" button."
msgstr ""
-"En boonop, druker-rye kan nie oorgedra word nie, indien hulle nie deur "
-"hierdie program of \"foomatic-configure\" geskep is nie."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware"
-msgstr "Hardeware"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ctrl and Alt keys simultaneously"
-msgstr "Ctrl- en Atl-sleutels tegelyk"
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United States"
-msgstr "Verenigde State"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "User umask"
-msgstr "Gebruiker se 'umask'"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Default OS?"
-msgstr "Verstek bedryfstelsel?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (German layout)"
-msgstr "Switsers (Duitse uitleg)"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure all heads independently"
-msgstr "Konfigureer skyfkoppe afsonderlik"
+"Voordat u voortgaan, lees asb die lisensieterme noukeurig deur. Dit dek\n"
+"die hele Mandrake Lnux distirbusie, and indien u nie saamstem met al die\n"
+"terme daarin bevat nie, kliek om die Weier knoppie. Dit sal onmiddelik die\n"
+"installasie stop sit. Om met die installasie voort te gaan kliek op die "
+"Aanvaar\n"
+"knoppie."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:432
msgid ""
-"Please choose the printer you want to set up. The configuration of the "
-"printer will work fully automatically. If your printer was not correctly "
-"detected or if you prefer a customized printer configuration, turn on "
-"\"Manual configuration\"."
+"At this point, it is time to choose the security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"ease of use. Refer to the \"msec\" chapter of the ``Reference Manual'' to\n"
+"get more information about the meaning of these levels.\n"
+"\n"
+"If you do not know what to choose, keep the default option."
msgstr ""
-"Kies asseblief die drukker om op te stel.Die opstel van u drukker is ten "
-"volle outomaties. Indien u drukker nie korrek bespeur is nie of u moonlik "
-"'n pasmaak konfigurasie verkies, gebruik \"Selfdoen konfigurasie\""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NTP Server"
-msgstr "NTP-bediener"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Sulogin(8) in single user level"
-msgstr "'Sulogin(8)' in enkel-gebruikervlak"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Load/Save on floppy"
-msgstr "Laai/Stoor op disket"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "This theme does not yet have a bootsplash in %s !"
-msgstr "Hierdie tema het nie huidiglik 'n selflaai-splatskerm in %s nie!"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "nice"
-msgstr "oulik"
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "Verlaat in %d sekondes"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Op watter seriepoort is u modem gekoppel?"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Property"
-msgstr "Eienskap"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript"
-msgstr "Ghostscript"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN Configuration"
-msgstr "LAN-konfigurasie"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ghana"
-msgstr "Ghana"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Path or Module required"
-msgstr "Benodig Roete of Module"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Advanced Options"
-msgstr "Gevorderde Opsies"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Configuration"
-msgstr "Bekyk Konfigurasie"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Coma bug"
-msgstr "Comba gogga"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:442
msgid ""
"At this point, you need to choose which partition(s) will be used for the\n"
"installation of your Mandrake Linux system. If partitions have already been\n"
-"defined, either from a previous installation of GNU/Linux or by another\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
"partitions must be defined.\n"
"\n"
@@ -5201,2141 +3161,1042 @@ msgid ""
"\n"
"To partition the selected hard drive, you can use these options:\n"
"\n"
-" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
"\n"
-" * \"%s\": this option enables you to automatically create ext3 and swap\n"
-"partitions in the free space of your hard drive\n"
+" * \"Auto allocate\": this option enables to automatically create ext3 and\n"
+"swap partitions on your hard drive's free space;\n"
"\n"
-"\"%s\": gives access to additional features:\n"
+"\"More\": gives access to additional features:\n"
"\n"
-" * \"%s\": saves the partition table to a floppy. Useful for later\n"
-"partition-table recovery if necessary. It is strongly recommended that you\n"
-"perform this step.\n"
+" * \"Save partition table\": saves the partition table to a floppy. Useful\n"
+"for later partition-table recovery, if necessary. It is strongly\n"
+"recommended to perform this step;\n"
"\n"
-" * \"%s\": allows you to restore a previously saved partition table from a\n"
-"floppy disk.\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from a floppy disk;\n"
"\n"
-" * \"%s\": if your partition table is damaged, you can try to recover it\n"
-"using this option. Please be careful and remember that it doesn't always\n"
-"work.\n"
+" * \"Rescue partition table\": if your partition table is damaged, you can\n"
+"try to recover it using this option. Please be careful and remember that it\n"
+"can fail;\n"
"\n"
-" * \"%s\": discards all changes and reloads the partition table that was\n"
-"originally on the hard drive.\n"
+" * \"Reload partition table\": discards all changes and loads your initial\n"
+"partition table;\n"
"\n"
-" * \"%s\": unchecking this option will force users to manually mount and\n"
-"unmount removable media such as floppies and CD-ROMs.\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
"\n"
-" * \"%s\": use this option if you wish to use a wizard to partition your\n"
-"hard drive. This is recommended if you do not have a good understanding of\n"
-"partitioning.\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard drive. This is recommended if you do not have a good knowledge of\n"
+"partitioning;\n"
"\n"
-" * \"%s\": use this option to cancel your changes.\n"
+" * \"Undo\": use this option to cancel your changes;\n"
"\n"
-" * \"%s\": allows additional actions on partitions (type, options, format)\n"
-"and gives more information about the hard drive.\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
"\n"
-" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+" * \"Done\": when you are finished partitioning your hard drive, this will\n"
"save your changes back to disk.\n"
"\n"
-"When defining the size of a partition, you can finely set the partition\n"
-"size by using the Arrow keys of your keyboard.\n"
-"\n"
"Note: you can reach any option using the keyboard. Navigate through the\n"
-"partitions using [Tab] and the [Up/Down] arrows.\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
"\n"
"When a partition is selected, you can use:\n"
"\n"
-" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
"\n"
-" * Ctrl-d to delete a partition\n"
+" * Ctrl-d to delete a partition;\n"
"\n"
-" * Ctrl-m to set the mount point\n"
+" * Ctrl-m to set the mount point.\n"
"\n"
-"To get information about the different file system types available, please\n"
+"To get information about the different filesystem types available, please\n"
"read the ext2FS chapter from the ``Reference Manual''.\n"
"\n"
"If you are installing on a PPC machine, you will want to create a small HFS\n"
-"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"``bootstrap'' partition of at least 1MB, which will be used by the yaboot\n"
"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
"may find it a useful place to store a spare kernel and ramdisk images for\n"
"emergency boot situations."
msgstr ""
-"Nou moet u asseblief besluit watter partisie(s) u gaan gebruik vir die\n"
-"installasie van u Mandrake Linux rekenaar.Indien die partisies reeds\n"
-"geskep is gedurende 'n vorige GNU/Linux installasie of deur 'n ander\n"
-"partisie-program, kan u hulle gebruik.Indien nie, moet u eerstens\n"
-"partisies skep.\n"
-"\n"
-"Die skep van 'n partisie behels dat u 'n hardeskyf kies.U kan klik op\n"
-"\"hda\" om die eerste IDE hardeskyf te kies, \"hdb\" is die tweede ens.\n"
-"\"sda\" is die eerste SCSI skyf.\n"
-"\n"
-"Hier is die opsies wanneer u partisies skep op die gekose hardeskyf:\n"
-"\n"
-" * \"%s\": hierdie opsie wis alle partisies op die gekose skyf uit.\n"
-"\n"
-" * \"%s\": hierdie opsie sal outomaties 'ext3' en 'swap' partisies in die\n"
-"vrye spasie op die hardeskyf skep.\n"
-"\n"
-"\"%s\": gee u toegang tot verdere keuses:\n"
-"\n"
-" * \"%s\": stoor die partisielys op 'n disket. Handig indien u later die\n"
-"partisielys wil herstel.Ons beveel hierdie stap aan.\n"
-"\n"
-" * \"%s\": stel u in staat om 'n vorige gestoorde partisielys van 'n\n"
-"disket af te herstel.\n"
-"\n"
-" * \"%s\": indien u partisielys beskadig is, kan u poog om dit te\n"
-" herstel met hierdie opsie. Wees asseblief versigtig, en onthou\n"
-"dat dit nie altyd werk nie.\n"
-"\n"
-" * \"%s\": ignoreer al die veranderinge en herlaai die partisielys wat\n"
-"oorspronklik op die hardeskyf was.\n"
-"\n"
-" * \"%s\": deur hierdie opsie NIE te merk NIE, sal u gebruikers verplig\n"
-"om verwyderbere media soos diskette en CD-ROMs self te heg en\n"
-"te ontheg.\n"
-"\n"
-" * \"%s\": gebruik die opsie indien u 'n assistent verlang wat sal help\n"
-" met die skep van partisies. Word aanbeveel indien u nie vertroud met\n"
-"die skep van partisies is nie\n"
-"\n"
-" * \"%s\": kanselleer al u veranderinge.\n"
-"\n"
-" * \"%s\": laat ekstra aksies toe op die partisies (tipe, opsies, formaat)\n"
-"en gee ook eksta inligting omtrent die hardeskyf.\n"
-"\n"
-" * \"%s\": sodra u klaar is, sal sal dit u veranderinge stoor\n"
+
+#: ../../help.pm_.c:513
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mandrake Linux operating system.\n"
"\n"
-"Wanneer u die grootte spesifiseer, kan u die fyner verstellings spesifiseer\n"
-"deur u sleutelbord se Pyltjie sleutels te gebruik.\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
"\n"
-"Aandag: U kan enige opsie bereik deur die sleutelbort te gebruik. Gebruik\n"
-"bloot die [Tab] sleutel en die [Op/Af] pyltjies. om 'n partisie te kies\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
"\n"
-"Wanneer 'n partisie gekies is, kan u die volgende doen:\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
"\n"
-" * Ctrl-c om 'n nuwe partisie te skep (mits 'n le partisie gekies is)\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
"\n"
-" * Ctrl-d om 'n partisie uit te wis\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
"\n"
-" * Ctrl-m om 'n hegpunt te spesifiseer\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
"\n"
-"Om inligting rakende die verskillende beskikbare lerstelsels te bekom, "
-"lees\n"
-"asseblief die ext2FS hoofstuk in die \"Reference Manual\".\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
"\n"
-"Indien u op 'n PPC masjien installeer, sal u 'n klien HFS 'bootstrap'\n"
-"partisie van ten minste 1MB wil skep. Dit sal deur 'yaboot' herlaai-\n"
-" stelsel gebruik word. Maak dit bietjie groter vir spaar 'kernel' en\n"
-"'ramdisk' beelde vir hulp in nood situasies."
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Graphic Card\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
msgstr ""
-"Grafiesekaart\n"
-"\n"
-" Die installeer-program sal in meeste gevalle u grafiesekaart outomaties\n"
-"opspoor. Indien daar probleme is, kan u self van hierdie lys die kaart\n"
-"kies.\n"
-"\n"
-" Dit mag gebeur dat daar verskillende tipe X-bedieners beskikbaar sal\n"
-"wees vir u kaart, met of sonder 3D-versnelling, kies dan die een wat u\n"
-"behoefdes die beste sal bevredig."
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error installing packages:"
-msgstr "Daar was 'n fout met die installasie van die pakkette:"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Lexmark inkjet configuration"
-msgstr "Lexmark inkjet konfigurasie"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Undo"
-msgstr "Herroep"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Save partition table"
-msgstr "Skryf partisielys"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Finnish"
-msgstr "Finnies"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Macedonia"
-msgstr "Masedoni"
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The per-user sharing uses the group \"fileshare\". \n"
-"You can use userdrake to add a user to this group."
+#: ../../help.pm_.c:544
+msgid "Please be patient. This operation can take several minutes."
msgstr ""
-"Die per-gebruiker saamdeel-fasiliteit gebruik die groep \"fileshare\".\n"
-"U kan van 'userdrake' gebruik maak om gebruikers by heirdie\n"
-"groep te voeg."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovenian"
-msgstr "Sloveens"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:547
+#, fuzzy
msgid ""
-"Authorize:\n"
-"\n"
-"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
-"set to \"ALL\",\n"
+"DrakX now needs to know if you want to perform a default (\"Recommended\")\n"
+"installation or if you want to have greater control (\"Expert\") over your\n"
+"installation. You can also choose to do a new installation or upgrade your\n"
+"existing Mandrake Linux system:\n"
"\n"
-"- only local ones if set to \"LOCAL\"\n"
+" * \"Install\": completely wipes out the old system. However, depending on\n"
+"what is currently installed on your machine, you may be able to keep some\n"
+"old partitions (Linux or otherwise) unchanged;\n"
"\n"
-"- none if set to \"NONE\".\n"
+" * \"Upgrade\": this installation class allows to simply update the\n"
+"packages currently installed on your Mandrake Linux system. It keeps your\n"
+"hard drives' current partitions as well as user configurations. All other\n"
+"configuration steps remain available, similar to a normal installation;\n"
"\n"
-"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
-"(5))."
-msgstr ""
-"Authorize:\n"
+" * \"Upgrade Packages Only\": this new installation class allows you to\n"
+"upgrade an existing Mandrake Linux system while keeping all system\n"
+"configurations unchanged. Adding new packages to the current installation\n"
+"is also possible.\n"
"\n"
-"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
-"set to \"ALL\",\n"
+"Upgrades should work fine on Mandrake Linux systems using version \"8.1\"\n"
+"or later.\n"
"\n"
-"- only local ones if set to \"LOCAL\"\n"
+"Depending on your GNU/Linux knowledge, select one of the following choices:\n"
"\n"
-"- none if set to \"NONE\".\n"
+" * Recommended: choose this if you have never installed a GNU/Linux\n"
+"operating system. The installation will be very easy and you will only be\n"
+"asked a few questions;\n"
"\n"
-"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
-"(5))."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Libya"
-msgstr "Libi"
+" * Expert: if you have a good GNU/Linux understanding, you may wish to\n"
+"perform a highly customized installation. Some of the decisions you will\n"
+"have to make may be difficult if you do not have good GNU/Linux knowledge,\n"
+"so it is not recommended that those without a fair amount of experience\n"
+"select this installation class."
+msgstr "Kies asb. "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-"Skrips word konfigureer, sagterware installeer en bedieners afgeskop..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on parallel port #%s"
-msgstr "Drukker op parallele poort #%s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Burn to CD"
-msgstr ""
-"\n"
-" Skryf na CD"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Table"
-msgstr "Tabel"
-
-#: ../../fs.pm:1
-#, 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"
-
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Model"
-msgstr "Model"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "USB printer #%s"
-msgstr "USB drukker #%s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Stop Server"
-msgstr "Stop Bediener"
-
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../help.pm_.c:582
msgid ""
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen). However, you might not have a keyboard that\n"
+"corresponds exactly to your language: for example, if you are an English\n"
+"speaking Swiss person, you may still want your keyboard to be a Swiss\n"
+"keyboard. Or if you speak English but are located in Quebec, you may find\n"
+"yourself in the same situation. In both cases, you will have to go back to\n"
+"this installation step and select an appropriate keyboard from the list.\n"
"\n"
-"Select the theme for\n"
-"lilo and bootsplash,\n"
-"you can choose\n"
-"them separately"
-msgstr ""
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.\n"
"\n"
-"Kies die tema vir \n"
-"lilo en selflaai- \n"
-"splatskerm, u kan\n"
-"hulle apart kies."
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Modem"
-msgstr "Modem"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tuvalu"
-msgstr "Tuvalu"
-
-#: ../../help.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Use auto detection"
-msgstr "Gebruik outobespeuring"
-
-#: ../../services.pm:1
-#, c-format
-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."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Started on boot"
-msgstr "Gelaai tydens herlaaityd"
-
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid ""
-"Join the MandrakeSoft support teams and the Linux Community online to share "
-"your knowledge and help others by becoming a recognized Expert on the online "
-"technical support website:"
-msgstr ""
-"Sluit by die MandrakeSoft ondersteuning-spanne, of by die Linux Gemeenskap "
-"aan deur u kennis aanlyn te deel en so ander mense te help. Hierdeur kan u "
-"'n erkende kenner word:"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "No password aging for"
-msgstr "Geen wagwoordveroudering vir"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid ""
-"The following options can be set to customize your\n"
-"system security. If you need an explanation, look at the help tooltip.\n"
+"If you choose a keyboard layout based on a non-latin alphabet, you will be\n"
+"asked in the next dialog to choose the key binding that will switch the\n"
+"keyboard layout between the latin and non-latin layouts."
msgstr ""
-"Die volgende opsies kan gestel word om u rekenaar-sekuriteit\n"
-"te verander. Indien u 'n verduideliking soek, kyk na die gereedskap-wenke.\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatically find available printers on remote machines"
-msgstr "Vind beskikbare drukkers op eksterne rekenaars outomaties"
-#: ../../lang.pm:1
-#, c-format
-msgid "East Timor"
-msgstr "East Timor"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Tape Device"
-msgstr "Op Band-toestel"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:598
msgid ""
+"The first step is to choose your preferred language.\n"
"\n"
-"- Save to Tape on device: %s"
-msgstr ""
+"Please choose your preferred language for installation and system usage.\n"
"\n"
-" Stoor na Band op toestel: %s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Login name"
-msgstr "Aanteken naam"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report unowned files"
-msgstr "Raporteer eienaarlose-lers"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Del profile..."
-msgstr "Vee profiel uit..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing Foomatic..."
-msgstr "Installeer Foomatic..."
-
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Teken uit en gebruik dan Ctrl-Alt-Backspace"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected"
-msgstr "reeds bespeur"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "The network needs to be restarted. Do you want to restart it ?"
-msgstr "Die netwerk moet herbegin word. Wil u dit nou doen?"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package: "
-msgstr "Pakket: "
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't write /etc/sysconfig/bootsplash."
-msgstr "Kan nie '/etc/sysconfig/bootsplash' skryf nie."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SECURITY WARNING!"
-msgstr "SEKURITEITS WAARSKUWING!"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "StarOffice"
-msgstr "StarOffice"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "No, I don't want autologin"
-msgstr "Nee, ek verlang NIE outo-aanteken NIE"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Windows Migration tool"
-msgstr "Nutsprogram vir Windows-migrasie "
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "All languages"
-msgstr "Alle tale"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removing %s"
-msgstr "Verwyder %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s not found...\n"
-msgstr "%s is nie gevind nie...\n"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Testing your connection..."
-msgstr "Konneksie word getoets..."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cache size"
-msgstr "Grootte van Kas"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"Passwords are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-"Wagwoorde is nou ontsper, maar die gebruik as 'n netwerk-rekenaar word nie "
-"aanbeveel nie."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start sector: "
-msgstr "Begin-sektor: "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Brazzaville)"
-msgstr "Congo (Brazzaville)"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Read"
-msgstr "Lees"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "The package %s needs to be installed. Do you want to install it?"
-msgstr "Die pakket %s moet genstalleer word. Wil u dit installeer?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Seychelles"
-msgstr "Seychelle"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Printerdrake has compared the model name resulting from the printer auto-"
-"detection with the models listed in its printer database to find the best "
-"match. This choice can be wrong, especially when your printer is not listed "
-"at all in the database. So check whether the choice is correct and click "
-"\"The model is correct\" if so and if not, click \"Select model manually\" "
-"so that you can choose your printer model manually on the next screen.\n"
+"Clicking on the \"Advanced\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you host users from Spain on your machine,\n"
+"select English as the main language in the tree view and in the Advanced\n"
+"section, click on the box corresponding to \"Spanish|Spain\".\n"
"\n"
-"For your printer Printerdrake has found:\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.\n"
"\n"
-"%s"
+"To switch from one language to the other, you can launch the\n"
+"\"/usr/sbin/localedrake\" command as \"root\" to change the whole system\n"
+"language, or as a simple user to only change that user's default language."
msgstr ""
-"Printerdrake het die model wat dit deur outospeur bekom het vergelyk met die "
-"modelle in die drukker-databasis. Daarna is die beste eweknie gesoek. Die "
-"resultaat-drukker mag verkeerd wees, veral indien u drukker nie in die "
-"drukker-databasis gelys word nie. Maak dus seker dat die model korrek is en "
-"klik op \"Die model is korrek\", andersins moet u op \"Kies model self\" "
-"klik, om self u drukker te kan kies.\n"
-"\n"
-"Die model drukker wat 'Printerdrake' gevind het:\n"
-"\n"
-"%s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Bad password on %s"
-msgstr "Slegte wagwoord op %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:617
msgid ""
+"DrakX generally detects the number of buttons your mouse possesses. If not,\n"
+"it assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
"\n"
-"There is one unknown printer directly connected to your system"
-msgstr ""
+"If you wish to specify a different type of mouse, select the appropriate\n"
+"type from the provided list.\n"
"\n"
-"Daar is een onbekende drukker wat direk aan u rekenaar gekoppel is"
-
-#
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Control key"
-msgstr "Regter 'Control'-sleutel"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid ""
-"Insert a FAT formatted floppy in drive %s with %s in root directory and "
-"press %s"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.\n"
+"\n"
+"Sometimes, wheel mouses are not automatically detected. You will need to\n"
+"manually select it in the list. Be sure to select the one corresponding to\n"
+"the correct port it is attached to. After you have pressed the \"OK\"\n"
+"button, a mouse image will be displayed. You then need to move the wheel of\n"
+"your mouse to activate it correctly. Then test that all buttons and\n"
+"movements are correct."
msgstr ""
-"Plaas 'n FAT-geformatteerde skyf in aandrywer %s met %s in die 'root' "
-"lergids en druk %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Zambia"
-msgstr "Zambi"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security Administrator (login or email)"
-msgstr "Sekuriteits-administrateur (gebruiker of e-pos)"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Sorry, we support only 2.4 kernels."
-msgstr "Jammer, slegs 2.4 kernels word ondersteun."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwerty)"
-msgstr "Romanies (QWERTY)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Under Devel ... please wait."
-msgstr "Onder Ontwikkeling... wag asseblief."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Egypt"
-msgstr "Egipte"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Czech Republic"
-msgstr "Tsjeggiese Republiek"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Sound card"
-msgstr "Klankkaart"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Import Fonts"
-msgstr "Trek Lettertipes in"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../help.pm_.c:638
msgid ""
-"You have one big MicroSoft Windows partition.\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
msgstr ""
-"U het een massiewe Microsoft Windows partisie. \n"
-"Ek stel voor u verstel eers die grootte van di partisie\n"
-"(kliek daarop en kliek dan op \"Verstel Grootte\")"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Temporary Files"
-msgstr "Onderdruk tydelike-lers"
+"Kies asb. die korrekte poort. Onthou dat COM1 onder MS Windows \n"
+"ttyS0 onder GNU/Linux is."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"Congratulations, the network and Internet configuration is finished.\n"
+#: ../../help.pm_.c:642
+msgid ""
+"This is the most crucial decision in regards with the security of your\n"
+"GNU/Linux system: you have to enter the \"root\" password. \"Root\" is the\n"
+"system administrator and is the only one authorized to make updates, add\n"
+"users, change the overall system configuration, and so on. In short,\n"
+"\"root\" can do everything! That is why you must choose a password that is\n"
+"difficult to guess -- DrakX will tell you if it is too easy. As you can\n"
+"see, you can choose not to enter a password, but we strongly advise you\n"
+"against this if only for one reason: do not think that because you booted\n"
+"GNU/Linux that your other operating systems are safe from mistakes. Since\n"
+"\"root\" can overcome all limitations and unintentionally erase all data on\n"
+"partitions by carelessly accessing the partitions themselves, it is\n"
+"important for it to be difficult to become \"root\".\n"
"\n"
-msgstr ""
-"Daarsy dude / dudes, die netwerk en Internetkonfigurasie is voltooi.\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it too\n"
+"easy to compromise a system.\n"
"\n"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Change partition type"
-msgstr "Verander partisietipe"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Resolution\n"
+"However, please do not make the password too long or complicated because\n"
+"you must be able to remember it without too much effort.\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor."
-msgstr ""
-"Resolusie\n"
+"The password will not be displayed on screen as you type it in. Hence, you\n"
+"will have to type the password twice to reduce the chance of a typing\n"
+"error. If you do happen to make the same typing error twice, this\n"
+"``incorrect'' password will have to be used the first time you connect.\n"
"\n"
-" Hier kan u die resolusie en aantal kleure kies wat vir u hardeware\n"
-"beskikbaar is. Kies die een wat u die beste sal pas.( let dat u wel hierdie\n"
-"keuse weer kan verander na die installasie). 'n voorbeeld van die gekose\n"
-"konfigurasie word vertoon op die skerm."
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Network Options"
-msgstr "Netwerk Opsies:"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable msec hourly security check"
-msgstr "Aktiveer msec se uurlikse ondersoek"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Display theme\n"
-"under console"
-msgstr ""
-"Vertoon tema\n"
-"onder konsole"
-
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on %s)"
-msgstr "(op %s)"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"A library which defends against buffer overflow and format string attacks."
-msgstr ""
-"'n Programmateek wat beskerm teen buffer-vloede en formaat-string aanvalle."
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "average"
-msgstr "gemiddeld"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "New printer name"
-msgstr "Nuwe drukkernaam"
-
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Allow an ordinary user to mount the file system. The\n"
-"name of the mounting user is written to mtab so that he can unmount the "
-"file\n"
-"system again. This option implies the options noexec, nosuid, and nodev\n"
-"(unless overridden by subsequent options, as in the option line\n"
-"user,exec,dev,suid )."
-msgstr ""
-"Laat 'n gewone gebruiker toe om 'n lerstelsel te kan heg.\n"
-"Die naam van daardie gebruiker word na 'mtab' geskryf sodat hy/sy dit NIE\n"
-"kan ontheg NIE.\n"
-"Hierdie opsie sluit in opsies 'noexec, nosuid, en nodev'\n"
-"(behalwe dit oorskryf word deur ekstra opsies in die\n"
-"opsielyn\n"
-"'user,exec,dev,suid')."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Equatorial Guinea"
-msgstr "Ekwatoriale Guinea"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup System"
-msgstr "Rugsteun Stelsel"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Build Backup"
-msgstr "Rugsteun in Aanbou"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\" or \"%s <file>\".\n"
-msgstr ""
-"Om 'n ler uit te druk vanaf die instruksielyn, gebruik die opdrag \"%s "
-"<lernaam>\" of \"%s <lernaam>\".\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Currently, no alternative possibility is available"
-msgstr "Huidiglik is daar geen alternatiwe moontlikheid beskikbaar nie"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwertz)"
-msgstr "Romanies (QWERTZ)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Write Config"
-msgstr "Skryf Konfigurasie"
-
-#: ../../services.pm:1
-#, c-format
-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."
+"In Expert mode, you will be asked if you will be connecting to an\n"
+"authentication server, like NIS or LDAP.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one as \"authentication\". If you have no\n"
+"clue, ask your network administrator.\n"
+"\n"
+"If your computer is not connected to any administrated network, you will\n"
+"want to choose \"Local files\" for authentication."
msgstr ""
-"Die 'routed' diensprogram hanteer outomatiese IP-roeteer-tabel-opdatering\n"
-"via die RIP protokol. Alhoewel RIP baie gebruik word in klein netwerke, is\n"
-"meer komplekse protokolle nodig vir komplekser netwerke."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kiribati"
-msgstr "Kiribati"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type) with Wheel emulation"
-msgstr "Logitech Muis (seriaal, ou C7 tipe) met wielletjie-emulasie"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other (not drakbackup) keys in place already"
-msgstr "Ander (nie drakbackup) sleutels alreeds in plek"
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:678
msgid ""
-"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
-"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
-"WindowMaker, etc.) bundled with Mandrake Linux rely upon.\n"
+"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
+"automated. In fact, DrakX analyzes the disk boot sector and acts\n"
+"accordingly, depending on what it finds there:\n"
"\n"
-"You will be presented with a list of different parameters to change to get\n"
-"an optimal graphical display: Graphic Card\n"
+" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
+"boot sector. Hence, you will be able to load either GNU/Linux or another\n"
+"OS;\n"
+"\n"
+" * if a grub or LILO boot sector is found, it will replace it with a new\n"
+"one.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"if in doubt, DrakX will display a dialog with various options.\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs.\n"
+" * \"Bootloader to use\": you have three choices:\n"
"\n"
+" * \"GRUB\": if you prefer grub (text menu);\n"
"\n"
+" * \"LILO with graphical menu\": if you prefer LILO with its graphical\n"
+"interface;\n"
"\n"
-"Monitor\n"
+" * \"LILO with text menu\": if you prefer LILO with its text menu\n"
+"interface.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer.\n"
+" * \"Boot device\": in most cases, you will not change the default\n"
+"(\"/dev/hda\"), but if you prefer, the bootloader can be installed on the\n"
+"second hard drive (\"/dev/hdb\"), or even on a floppy disk (\"/dev/fd0\");\n"
"\n"
+" * \"Delay before booting the default image\": when rebooting the computer,\n"
+"this is the delay granted to the user to choose -- in the bootloader menu,\n"
+"another boot entry than the default one.\n"
"\n"
+"!! Beware that if you choose not to install a bootloader (by selecting\n"
+"\"Cancel\" here), you must ensure that you have a way to boot your Mandrake\n"
+"Linux system! Also, be sure you know what you do before changing any of the\n"
+"options. !!\n"
"\n"
-"Resolution\n"
+"Clicking the \"Advanced\" button in this dialog will offer many advanced\n"
+"options, which are reserved for the expert user."
+msgstr ""
+
+#: ../../help.pm_.c:718
+msgid ""
+"After you have configured the general bootloader parameters, the list of\n"
+"boot options which will be available at boot time will be displayed.\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor.\n"
+"If there is another operating system installed on your machine, it will\n"
+"automatically be added to the boot menu. Here, you can choose to fine-tune\n"
+"the existing options. Select an entry and click \"Modify\" to modify or\n"
+"remove it. \"Add\" creates a new entry. and \"Done\" goes on to the next\n"
+"installation step.\n"
"\n"
+"You may also not want to give access to these other operating systems to\n"
+"anyone. In which case, you can delete the corresponding entries. But then,\n"
+"you will need a boot disk in order to boot those other operating systems!"
+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"
-"Test\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:732
+msgid ""
+"You must indicate where you wish to place the information required to boot\n"
+"GNU/Linux.\n"
"\n"
-" the system will try to open a graphical screen at the desired\n"
-"resolution. If you can see the message during the test and answer \"%s\",\n"
-"then DrakX will proceed to the next step. If you cannot see the message, it\n"
-"means that some part of the autodetected configuration was incorrect and\n"
-"the test will automatically end after 12 seconds, bringing you back to the\n"
-"menu. Change settings until you get a correct graphical display.\n"
+"Unless you know exactly what you are doing, choose \"First sector of drive\n"
+"(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:739
+msgid ""
+"Here, we select a printing system for your computer. Other OSes may offer\n"
+"you one, but Mandrake Linux offers two.\n"
"\n"
-"Options\n"
+" * \"pdq\" -- which means ``print, don't queue'', is the choice if you have\n"
+"a direct connection to your printer and you want to be able to panic out of\n"
+"printer jams, and you do not have networked printers. It will handle only\n"
+"very simple network cases and is somewhat slow for networks. Pick \"pdq\"\n"
+"if this is your first voyage to GNU/Linux. You can change your choices\n"
+"after installation by running PrinterDrake from the Mandrake Control Center\n"
+"and clicking the expert button.\n"
"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+" * \"CUPS\" -- ``Common Unix Printing System'', is excellent at printing to\n"
+"your local printer and also halfway-around the planet. It is simple and can\n"
+"act as a server or a client for the ancient \"lpd\" printing system. Hence,\n"
+"it is compatible with the systems that went before. It can do many tricks,\n"
+"but the basic setup is almost as easy as \"pdq\". If you need this to\n"
+"emulate an \"lpd\" server, you must turn on the \"cups-lpd\" daemon. It has\n"
+"graphical front-ends for printing or choosing printer options."
msgstr ""
-"X (staan vir X Window Stelsel -let geen 's') is die hart van die GNU/Linux \n"
-"se grafiese-koppelvlak. Bo-op X, laai grafiese omgewings. ( dit sluit\n"
-"KDE, GNOME, AfterStep, WindowMaker ens. in)\n"
+
+#: ../../help.pm_.c:759
+#, fuzzy
+msgid ""
+"DrakX now detects any IDE device present in your computer. It will also\n"
+"scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
"\n"
-"Hier is 'n lys van verstellings wat u kan verander om die beste resultate\n"
-"te verkry: Grafiesekaart\n"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented with a list of SCSI cards to choose from. Click \"No\" if you\n"
+"have no SCSI hardware. If you are unsure, you can check the list of\n"
+"hardware detected in your machine by selecting \"See hardware info\" and\n"
+"clicking \"OK\". Examine the hardware list and then click on the \"OK\"\n"
+"button to return to the SCSI interface question.\n"
"\n"
-"Die program sal gewoonlik die regte grafiesekaart optel en opstel.\n"
-"Indien nie, kan u self die regte een vanaf hierdie lys kies.\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\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
"\n"
-" Dit mag gebeur dat daar verskillende tipe X-bedieners beskikbaar sal\n"
-"wees vir u kaart, met of sonder 3D-versnelling, kies dan die een wat u\n"
-"behoefdes die beste sal bevredig.\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to manually provide options to the driver."
+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"
-"Monitor\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"
-" Die program sal gewoonlik u monitor korrek kies.\n"
-"Indien nie, kan u self die regte een vanaf hierdie lys kies.\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:781
+msgid ""
+"You can add additional entries for yaboot, either for other operating\n"
+"systems, alternate kernels, or for an emergency boot image.\n"
"\n"
+"For other OSes, the entry consists only of a label and the \"root\"\n"
+"partition.\n"
"\n"
+"For Linux, there are a few possible options:\n"
"\n"
-"Resolusie\n"
+" * Label: this is simply the name you will have to type at the yaboot\n"
+"prompt to select this boot option;\n"
"\n"
-" Hier kan u die resolusie en aantal kleure kies wat vir u hardeware\n"
-"beskikbaar is. Kies die een wat u die beste sal pas.( let dat u wel\n"
-"hierdie keuse weer kan verander na die installasie). 'n voorbeeld\n"
-"van die gekose konfigurasie word vertoon op die skerm.\n"
+" * Image: this would be the name of the kernel to boot. Typically, vmlinux\n"
+"or a variation of vmlinux with an extension;\n"
"\n"
+" * Root: the \"root\" device or ``/'' for your Linux installation;\n"
"\n"
+" * Append: on Apple hardware, the kernel append option is used quite often\n"
+"to assist in initializing video hardware, or to enable keyboard mouse\n"
+"button emulation for the often lacking 2nd and 3rd mouse buttons on a stock\n"
+"Apple mouse. The following are some examples:\n"
"\n"
-"Toets\n"
+" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
+"hda=autotune\n"
"\n"
-" ons gaan 'n grafiese skerm probeer opstel met die verstellings\n"
-"wat u gemaak het. Indien u die boodskap daarop kan sien en \"%s\"\n"
-"antwoord, sal DrakX na die volgende stap gaan. Indien u nie die boodskap\n"
-"kan sien nie, dui dit aan dat iets nie reg opgestel is nie. Die toets sal "
-"dan\n"
-"na 12 sekondes eindig, en terugval na die kieslys toe. Verander dan u\n"
-"keuses vir nog 'n probeerslag.\n"
+" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
"\n"
+" * Initrd: this option can be used either to load initial modules, before\n"
+"the boot device is available, or to load a ramdisk image for an emergency\n"
+"boot situation;\n"
"\n"
+" * Initrd-size: the default ramdisk size is generally 4,096 bytes. If you\n"
+"need to allocate a large ramdisk, this option can be used;\n"
"\n"
-"Opsies\n"
+" * Read-write: normally the \"root\" partition is initially brought up in\n"
+"read-only, to allow a filesystem check before the system becomes ``live''.\n"
+"Here, you can override this option;\n"
"\n"
-" Hier kan u spesifiseer indien u rekenaar die grafiese-koppelvlak moet\n"
-"begin tydens selflaai. U kan \"%s\" merk indien u 'die rekenaar as bediener\n"
-"gaan gebruik, of indien u nie X met sukses kon opstel nie"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Browse"
-msgstr "Blaai"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CDROM"
-msgstr "CDROM"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Wil u nou aan die internet konnekteer?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belgian"
-msgstr "Belgies"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you have an ISA sound card?"
-msgstr "Beskik u oor 'n ISA klankkaart?"
-
-#: ../../network/ethernet.pm:1
-#, c-format
-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.\n"
-"Ek kan nie hierdie tipe konneksie opstel nie."
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Windows"
-msgstr "Windows"
-
-#: ../../common.pm:1
-#, c-format
-msgid "Can't make screenshots before partitioning"
-msgstr "Kan nie skermfoto's neem voor partisie skep nie"
-
-#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Name"
-msgstr "Rekenaarnaam"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/Save _As"
-msgstr "/Ler/Stoor _as"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To get access to printers on remote CUPS servers in your local network you "
-"only need to turn on the \"Automatically find available printers on remote "
-"machines\" option; the CUPS servers inform your machine automatically about "
-"their printers. All printers currently known to your machine are listed in "
-"the \"Remote printers\" section in the main window of Printerdrake. If your "
-"CUPS server(s) is/are not in your local network, you have to enter the IP "
-"address(es) and optionally the port number(s) here to get the printer "
-"information from the server(s)."
-msgstr ""
-"Om toegang tot eksterne CUPS-bedieners in u plaaslike netwerk te bekom, kies "
-"die \"Vind beskikbare drukkers op eksterne rekenaars outomaties\" opsie. die "
-"CUPS-bedieners sal u rekenaar outomaties verwittig oor hulle drukkers. Al "
-"die drukkers wat tans bekend is aan u rekenaar sal in \"Eksterne drukkers\" "
-"gelys wees (in Printerdrake). Indien u CUPS-bediener(s) nie op die plaaslike "
-"netwerk is nie, sal u self die IP adres(se) en ook opsioneel hulle poort(e) "
-"moet voorsien, om die inligting oor hulle drukkers te verkry."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s is not in the scanner database, configure it manually?"
-msgstr ""
-"%s is nie teenwoordig in die skandeerder-databasis nie, stel dit self op?"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Delay before booting default image"
-msgstr "Wagperiode voor verstekstelsel gelaai word"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Restrict command line options"
-msgstr "Beperk instruksielyn-opsies"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "East Europe"
-msgstr "Oos-Europa"
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use free space"
-msgstr "Gebruik beskikbare spasie"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use dhcp"
-msgstr "gebruik dhcp"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert"
-msgstr "e-pos waarskuwing"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Internet configuration"
-msgstr "Internetkonfigurasie"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uzbekistan"
-msgstr "Uzbekistan"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected %s"
-msgstr "%s bespeur"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _printers"
-msgstr "Outospeur drukkers"
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#, c-format
-msgid "Finish"
-msgstr "Voltooi"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Show automatically selected packages"
-msgstr "Wys outogeselekteerde pakkette."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Togo"
-msgstr "Togo"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "CPU flags reported by the kernel"
-msgstr "CPU flaggies deur kernel geraporteer"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Something went wrong! - Is mkisofs installed?"
-msgstr "Iets is fout! - Is mkisofs genstalleer?"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "16 MB"
-msgstr "16 MB"
-
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Please try again"
-msgstr "Probeer asb. weer"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The model is correct"
-msgstr "Die model is korrek"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "FAT-grootteverandering het gefaal: %s"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Individual package selection"
-msgstr "Individuele pakket-seleksie"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition is not resizeable"
-msgstr "Hierdie partisie se grootte kan nie verstel word nie"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Location"
-msgstr "Ligging"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable-hrc)"
-msgstr "VSA (cable-hrc)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guatemala"
-msgstr "Guatemala"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Journalised FS"
-msgstr "Gejoernaliseerde FS"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Ethernet cards promiscuity check"
-msgstr "Ethernetkaarte 'promoscuity' toets"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "This machine"
-msgstr "Hierdie rekenaar"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS-skyfletter: %s ('n raaiskoot)\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahrain"
-msgstr "Bahrain"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select the files or directories and click on 'OK'"
-msgstr "Kies die lers en lergidse, klik daarna op 'OK'"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit scsi modules"
-msgstr "laat SCSI-modules weg"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "family of the cpu (eg: 6 for i686 class)"
-msgstr "CPU se familie (bv. 6 vir i686 tipe)"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-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 ""
-"Omdat u netwerk installasie doen, is u netwerk aslreeds opgestel.\n"
-"Kliek op OK om hierdee konfigurasie te behou, of op Kanselleer om u "
-"Internet\n"
-"& Netwerkkonneksie te herkonfigureer.\n"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run the daily security checks"
-msgstr "Loop die daaglikse sekuriteits-toetse"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Sleutelbord uitleg: %s\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here you can choose whether the printers connected to this machine should be "
-"accessable by remote machines and by which remote machines."
-msgstr ""
-"Hier kan u kies of die drukkers wat aan hierdie masjien beskikbaar sal wees "
-"aan eksterne rekenaars en watter rekenaars dit sal wees."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (US)"
-msgstr "Maltees (VSA)"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "The creation of the boot floppy has been successfully completed \n"
-msgstr "Die selflaai-disket is suksesvol geskep.\n"
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Heg en ontheg alle netwerklerstels (NFS), SMB (Lan Manger/Windows)\n"
-"en NCP (Netware) hegpunte."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Launch the wizard"
-msgstr "Loods die wysgeer"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Tvcard"
-msgstr "TV-kaart"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Toggle between normal/expert mode"
-msgstr "Skakel tussen normale/kenner modus"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Size"
-msgstr "Grootte"
-
-#: ../../help.pm:1
-#, c-format
-msgid "GRUB"
-msgstr "GRUB"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Greenland"
-msgstr "Groenland"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Thursday"
-msgstr "Donderdag"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct tape label. Tape is labelled %s."
-msgstr "Nie die korrekte etiket nie. Band se etiket is %s."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"The setup of Internet Connection Sharing has already been done.\n"
-"It's currently enabled.\n"
+" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
+"problematic, you can select this option to boot in ``novideo'' mode, with\n"
+"native frame buffer support;\n"
"\n"
-"What would you like to do?"
+" * Default: selects this entry as being the default Linux selection,\n"
+"selectable by just pressing ENTER at the yaboot prompt. This entry will\n"
+"also be highlighted with a ``*'', if you press [Tab] to see the boot\n"
+"selections."
msgstr ""
-"Die opstelling van die Internetkonnkesiedeling is alreeds gedoen.\n"
-"Dis tans aktief.\n"
-"\n"
-"Wat wil u doen?"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Delete All NBIs"
-msgstr "Verwyder alle NBIs"
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:828
msgid ""
-"This dialog allows you to fine tune your bootloader:\n"
+"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able to boot\n"
+"either GNU/Linux, MacOS or MacOSX if present on your computer. Normally,\n"
+"these other operating systems are correctly detected and installed. If this\n"
+"is not the case, you can add an entry by hand in this screen. Be careful to\n"
+"choose the correct parameters.\n"
"\n"
-" * \"%s\": there are three choices for your bootloader:\n"
+"Yaboot's main options are:\n"
"\n"
-" * \"%s\": if you prefer grub (text menu).\n"
+" * Init Message: a simple text message displayed before the boot prompt;\n"
"\n"
-" * \"%s\": if you prefer LILO with its text menu interface.\n"
+" * Boot Device: indicates where you want to place the information required\n"
+"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
+"to hold this information;\n"
"\n"
-" * \"%s\": if you prefer LILO with its graphical interface.\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"
-" * \"%s\": in most cases, you will not change the default (\"%s\"), but if\n"
-"you prefer, the bootloader can be installed on the second hard drive\n"
-"(\"%s\"), or even on a floppy disk (\"%s\");\n"
+" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
+"After selecting Linux, you will have this delay in 0.1 second before your\n"
+"default kernel description is selected;\n"
"\n"
-" * \"%s\": after a boot or a reboot of the computer, this is the delay\n"
-"given to the user at the console to select a boot entry other than the\n"
-"default.\n"
+" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
+"at the first boot prompt;\n"
"\n"
-"!! Beware that if you choose not to install a bootloader (by selecting\n"
-"\"%s\"), you must ensure that you have a way to boot your Mandrake Linux\n"
-"system! Be sure you know what you are doing before changing any of the\n"
-"options. !!\n"
+" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
+"Open Firmware at the first boot prompt;\n"
"\n"
-"Clicking the \"%s\" button in this dialog will offer advanced options which\n"
-"are normally reserved for the expert user."
+" * Default OS: you can select which OS will boot by default when the Open\n"
+"Firmware Delay expires."
msgstr ""
-"Hierdie deel help met die fyner verstelling van u\n"
-"herlaaistelsel: \n"
-"\n"
-" * \"%s\": kies een van drie herlaaistelsels:\n"
+
+#: ../../help.pm_.c:860
+msgid ""
+"Here are presented various parameters concerning your machine. Depending on\n"
+"your installed hardware, you may (or may not), see the following entries:\n"
"\n"
-" * \"%s\": indien u grub (teks-kieslys) verkies.\n"
+" * \"Mouse\": check the current mouse configuration and click on the button\n"
+"to change it if necessary;\n"
"\n"
-" * \"%s\": indien u LILO met 'n teks-koppelvlak verkies.\n"
+" * \"Keyboard\": check the current keyboard map configuration and click on\n"
+"the button to change that if necessary;\n"
"\n"
-" * \"%s\": indien u LILO met 'n grafiese-koppelvlak verkies.\n"
+" * \"Timezone\": DrakX, by default, guesses your time zone from the\n"
+"language you have chosen. But here again, as for the choice of a keyboard,\n"
+"you may not be in the country for which the chosen language should\n"
+"correspond. Hence, you may need to click on the \"Timezone\" button in\n"
+"order to configure the clock according to the time zone you are in;\n"
"\n"
-" * \"%s\": in die meeste gevalle, sal die verstek (\"%s\") reg wees, indien\n"
-"u so verkies, kan die herlaaistelsel op die tweede hardeskyf genstalleer\n"
-"word (\"%s\"), of selfs op 'n disket (\"%s\");\n"
+" * \"Printer\": clicking on the \"No Printer\" button will open the printer\n"
+"configuration wizard. Consult the correpsonding chapter of the ``Starter\n"
+"Guide'' for more information on how to setup a new printer. The interface\n"
+"presented there is similar to the one used at installation time;\n"
"\n"
-" * \"%s\": met die herlaai of selflaai, sal hierdie die wagperiode wees \n"
-"wat aan die gebruiker gegun sal word, waarin hy/sy 'n keuse kan\n"
-"maak oor die bedryfstelsel wat dan sal selflaai\n"
+" * \"Sound card\": if a sound card is detected on your system, it will be\n"
+"displayed here.\n"
"\n"
-"!! AANDAG: indien u sou verkies om nie 'n herlaaistelsel te installeer\n"
-"nie(deur \"%s\" te kies) moet u 'n ander metode vind om u Mandrake\n"
-"Linux te selflaai! Maak seker dat u uitmaak wat die move doen voor u\n"
-" dit verander, maak uit !!\n"
+" * \"TV card\": if a TV card is detected on your system, it will be\n"
+"displayed here.\n"
"\n"
-"Deur op die \"%s\" knoppie klik, sal u gevorderde opsies kan gebruik\n"
-"wat normaalweg slegs vir slimkoppe nodig is."
+" * \"ISDN card\": if an ISDN card is detected on your system, it will be\n"
+"displayed here. You can click on the button to change the parameters\n"
+"associated to it."
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:891
msgid ""
-"if set, send the mail report to this email address else send it to root."
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandrake Linux partition. Be careful, all data present on it will be lost\n"
+"and will not be recoverable!"
msgstr ""
-"Indien gespesifiseer, stuur die e-pos verslag na hierdie adres, so nie,\n"
-"stuur na 'root'"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Watter tipe XFree-konfigurasie verlang u?"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "More"
-msgstr "Meer Keuses"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:896
msgid ""
-"This uses the same syntax as the command line program 'cdrecord'. 'cdrecord -"
-"scanbus' would also show you the device number."
+"Click on \"OK\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"OK\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to stop this operation without losing any data and\n"
+"partitions present on this hard drive."
msgstr ""
-"Hierdie een gebruik dieselfde sintaksis as die program 'cdrecord', 'cdrecord "
-"- scanbus' sal ook aan u die toestelnommer vertoon."
-#: ../../security/level.pm:1
+#: ../../install2.pm_.c:111
#, c-format
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 can "
-"accept\n"
-"connections from many clients. Note: if your machine is only a client on the "
-"Internet, you should choose a lower level."
+"Can't access kernel modules corresponding to your kernel (file %s is "
+"missing), this generally means your boot floppy in not in sync with the "
+"Installation medium (please create a newer boot floppy)"
msgstr ""
-"Met hierdie sekuriteitsvlak kan u stelsel as 'n bediener gebruik word.\n"
-"Die sekuriteit is goed genoeg sodat die rekenaar konneksies van klinte\n"
-"af kan aanvaar.\n"
-"Aandag: Indien u masjien bloot 'n klint op die Internet is, kan u 'n laer\n"
-"vlak kies."
-#: ../../standalone/printerdrake:1
+#: ../../install2.pm_.c:167
#, c-format
-msgid "Server Name"
-msgstr "Bedienernaam"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Password"
-msgstr "Wagwoord"
-
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-"%s cannot be displayed \n"
-". No Help entry of this type\n"
+msgid "You must also format %s"
msgstr ""
-"Kan nie %s vertoon nie \n"
-" Geen Hulp inskrywing van hierdie tipe nie\n"
-#: ../../any.pm:1
+#: ../../install_any.pm_.c:423
#, c-format
msgid ""
-"You decided to install the bootloader on a partition.\n"
-"This implies you already have a bootloader on the hard drive you boot (eg: "
-"System Commander).\n"
+"You have selected the following server(s): %s\n"
"\n"
-"On which drive are you booting?"
-msgstr ""
-"U het verkies om die herlaaistelsel op 'n partisie\n"
-"te installeer. Hiermee impliseer u dat u alreeds 'n herlaaistelsel op\n"
-"die hardeskyf waarmee u selflaai het (bv 'System Commander').\n"
"\n"
-"Vanaf watter hardeyskyf geskied die selflaai?"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid ""
-"WARNING!\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"
-"DrakX will now resize your Windows partition. Be careful: this\n"
-"operation is dangerous. If you have not already done so, you\n"
-"first need to exit the installation, run \"chkdsk c:\" from a\n"
-"Command Prompt under Windows (beware, running graphical program\n"
-"\"scandisk\" is not enough, be sure to use \"chkdsk\" in a\n"
-"Command Prompt!), optionally run defrag, then restart the\n"
-"installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"WAARSKUWING\n"
"\n"
-"DrakX gaan nou u Windows-partisie vestel. WEES VERSIGTIG:\n"
-"Hierdie aksie kan gevaarlik wees. Indien nog nie, moet u tog\n"
-"\"chkdsk c:\" loop vanaf die instruksielyn in Windows. (let daarop\n"
-"die grafiese \"scandisk\" is nie voldoende nie - GEBRUIK \"chkdsk\"!)\n"
-"U kan ook gerus \"defrag\" daarna loop, en u data rugsteun\n"
-"Begin dan weer hierdie installasie.\n"
-"Andersins, klik op OK."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tajik keyboard"
-msgstr "Tajik sleutelbord"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can copy the printer configuration which you have done for the spooler %"
-"s to %s, your current spooler. All the configuration data (printer name, "
-"description, location, connection type, and default option settings) is "
-"overtaken, but jobs will not be transferred.\n"
-"Not all queues can be transferred due to the following reasons:\n"
+"Do you really want to install these servers?\n"
msgstr ""
-"U kan die drukker se konfigurasie wat u vir spoel %s gedoen het, dupliseer "
-"na %s, u huidige spoeller. Al die konfigurasie (drukkernaam, beskrywing, "
-"ligging, konneksie-tipe en verstek opsies) sal oorgeplaas word, drukwerk sal "
-"nie oorgeplaas word nie.\n"
-"Nie alle druk-rye kan so oorgeplaas word nie a.g.v. die volgende redes:\n"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Font List"
-msgstr "Lettertipe-lys"
-
-#: ../../install_steps_interactive.pm:1
+#: ../../install_any.pm_.c:441
#, c-format
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 %s,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
msgstr ""
-"U mag moontlik u 'Open Firmware' selflaai-toestel verander om\n"
-" die herlaaistelsel te aktiveer. Indien u nie die herlaaistelsel-porteks \n"
-" tydens seklflaai sien nie, hou die \"Command-Option-O-F\" in\n"
-" gedurende selflaai en tik die volgende in:\n"
-" setenv boot-device %s,\\\\:tbxi\n"
-"Tik daarna 'shut-down' in\n"
-"U behoort die herlaaistelsel-porteks met die volgende selflaai te sien."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"You appear to have an OldWorld or Unknown\n"
-" machine, the yaboot bootloader will not work for you.\n"
-"The install will continue, but you'll\n"
-" need to use BootX or some other means to boot your machine"
-msgstr ""
-"Dit wil voorkom of u 'n 'OldWorld' of Onbekende\n"
-"rekenaar het, die yaboot herlaaistelsel sal nie hier werk nie.\n"
-"Ons sal voortgaan met die installasie, maar u sal\n"
-"BootX of 'n ander manier moet gedruik om u rekenaar te selflaai"
+#: ../../install_any.pm_.c:471
+msgid "Can't use broadcast with no NIS domain"
+msgstr "Kan nie uitsaau sonder 'n NIS-domein nie"
-#: ../../diskdrake/interactive.pm:1
+#: ../../install_any.pm_.c:879
#, c-format
-msgid "Select file"
-msgstr "Kies ler"
+msgid "Insert a FAT formatted floppy in drive %s"
+msgstr "Sit 'n FAT-geformatteerde skyf in aandrywer %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Choose the network or host on which the local printers should be made "
-"available:"
-msgstr ""
-"Kies die netwerk of rekenaar waarop die plaaslike drukkers beskikbaar\n"
-"gestel moet word:"
+#: ../../install_any.pm_.c:883
+msgid "This floppy is not FAT formatted"
+msgstr "Hierdie floppie is nie in FAT-formaat nie"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_any.pm_.c:895
msgid ""
-"These commands you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications, but here do not supply the file name "
-"because the file to print is provided by the application.\n"
+"To use this saved packages selection, boot installation with ``linux "
+"defcfg=floppy''"
msgstr ""
-"Hierdie opdragte kan u ook in die \"Printing command\" veld in die drukker-"
-"dialoogvensters van baie programme gebruik, maar nou hoef u nie die lernaam "
-"te voorsien nie , die program doen dit vir jou.\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Japan"
-msgstr "Japan"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print option list"
-msgstr "Drukkeropsies"
-
-#: ../../standalone/localedrake:1
-#, c-format
-msgid "The change is done, but to be effective you must logout"
-msgstr "Die verandering is aangebring, maar u moet eers afteken"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Country / Region"
-msgstr "Land / Omgewing"
-
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search servers"
-msgstr "Soek bedieners"
+"Om hierdie gestoorde pakketkeuse te gebruik, herlaai die installasie met "
+"\"linux defcfg=floppy\""
-#: ../../printer/printerdrake.pm:1
+#: ../../install_any.pm_.c:918 ../../partition_table.pm_.c:767
#, c-format
-msgid "NCP queue name missing!"
-msgstr "NCP-tounaam ontbreek!"
+msgid "Error reading file %s"
+msgstr "Fout met die les van ler %s"
-#: ../../standalone/net_monitor:1
-#, c-format
+#: ../../install_any.pm_.c:1040
msgid ""
-"Warning, another internet connection has been detected, maybe using your "
-"network"
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
msgstr ""
-"Pasop, daar is 'n ander internet konneksie, wat moontlik u netwerk gebruik, "
-"bespeur"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CDROM getiteld \"%s\""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CDRW media"
-msgstr "CDRW media"
+"'n Fout het voorgekom - geen geldige toestelle om die nuwe lerstelsels op "
+"te skep, is gevind nie. Deursoek asb. die hardeware vir die oorsaak."
-#: ../../services.pm:1
+#: ../../install_interactive.pm_.c:21
#, c-format
msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
msgstr ""
-"Stoor en herstel die stelsel-entropie-poel vir ho kwaliteit,\n"
-"lukraak-nommergenerasie."
-
-#: ../advertising/07-server.pl:1
-#, c-format
-msgid "Turn your computer into a reliable server"
-msgstr "Verander u rekenaar in 'n betroubare bediener"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check empty password in /etc/shadow"
-msgstr "Kyk vir le wagwoorde in '/etc/shadow'"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid " (driver %s)"
-msgstr " (drywer %s)"
-
-#: ../../services.pm:1
-#, c-format
-msgid "Start when requested"
-msgstr "Begin sodra gevra word"
+"Sekere hardeware op u rekenaar benodig geslote drywers.\n"
+" U kan inligting hieroorvind by %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:56
msgid ""
-"Loopback file(s):\n"
-" %s\n"
+"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 ""
-"Teruglus ler(s):\n"
-" %s\n"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "I don't know"
-msgstr "Ek weet nie"
+"U moet 'n wortelpartisie definieer.\n"
+"Skep 'n partisie of kliek op 'n bestaande een.\n"
+"Kies dan Hegpunt en stel dit dan '/'."
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", TCP/IP host \"%s\", port %s"
-msgstr ", TCP/IP rekenaar \"%s\", poort %s"
+#: ../../install_interactive.pm_.c:61
+msgid "You must have a swap partition"
+msgstr "U moet oor 'n ruilpartisie beskik"
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../install_interactive.pm_.c:62
msgid ""
-"You are about to configure an Auto Install floppy. This feature is somewhat "
-"dangerous and must be used circumspectly.\n"
-"\n"
-"With that feature, you will be able to replay the installation you've "
-"performed on this computer, being interactively prompted for some steps, in "
-"order to change their values.\n"
-"\n"
-"For maximum safety, the partitioning and formatting will never be performed "
-"automatically, whatever you chose during the install of this computer.\n"
+"You don't have a swap partition.\n"
"\n"
-"Do you want to continue?"
+"Continue anyway?"
msgstr ""
-"U gaan nou 'n Outomatiese Installasie disket opstel. Die gebruik daarvan kan "
-"gevaarlik wees, en u moet bewus wees daarvan.\n"
-"\n"
-"Dit laat u toe om die installasie, wat u op hierdie rekenaar uitgevoer het, "
-"te kan herhaal.(op 'n ander rekenaar) U sal hier en daar gevra word om die "
-"waardes van sekere stappe te verander, sou u so verkies.\n"
-"\n"
-"Die skep van partisies en formattering daarvan sal altyd nog voor gevra word."
-"Dit is om te verhoed dat u ongewense glipse maak.\n"
+"U het nie 'n ruilpartisie nie\n"
"\n"
-"Sal ons voortgaan?"
+"Wil u steeds voortgaan?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Telugu"
-msgstr "Telugu"
+#: ../../install_interactive.pm_.c:65 ../../install_steps.pm_.c:169
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "U moet oor 'n FAT partisie wat as /boot/efi geheg is, beskik"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Your card currently use the %s\"%s\" driver (default driver for your card is "
-"\"%s\")"
-msgstr ""
-"\n"
-"\n"
-"U kaart gebruik tans die %s\"%s\" drywer ( die kaart se verstek drywer is \"%"
-"s\")"
+#: ../../install_interactive.pm_.c:90
+msgid "Use free space"
+msgstr "Gebruik beskikbare spasie"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Uninstall"
-msgstr "Post-Verwyder"
+#: ../../install_interactive.pm_.c:92
+msgid "Not enough free space to allocate new partitions"
+msgstr "Nie genoeg spasie beskikbaar om nuwe partisies toe te ken nie"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connecting to Internet "
-msgstr "Konnekteer aan die Internet"
+#: ../../install_interactive.pm_.c:100
+msgid "Use existing partitions"
+msgstr "Gebruik bestaande partisies"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid " ("
-msgstr " ("
+#: ../../install_interactive.pm_.c:102
+msgid "There is no existing partition to use"
+msgstr "Daar is geen bestaande partisies om te gebruik nie"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid level"
-msgstr "Cpuid vlak"
+#: ../../install_interactive.pm_.c:109
+msgid "Use the Windows partition for loopback"
+msgstr "Gebruik vir die Windows-partisie vir teruglus"
-#
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Novell server \"%s\", printer \"%s\""
-msgstr "Novell-bediener \"%s\", drukker \"%s\""
+#: ../../install_interactive.pm_.c:112
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Watter partisie wil u vir Linux4Win gebruik?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Mongolian (cyrillic)"
-msgstr "Mongools (cyrillic)"
+#: ../../install_interactive.pm_.c:114
+msgid "Choose the sizes"
+msgstr "Kies die groottes"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Add a module"
-msgstr "Voeg module by"
+#: ../../install_interactive.pm_.c:115
+msgid "Root partition size in MB: "
+msgstr "Basispartisiegrootte in MB:"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile to delete:"
-msgstr "Profiel om uit te vee:"
+#: ../../install_interactive.pm_.c:116
+msgid "Swap partition size in MB: "
+msgstr "Ruilpartisiegrootte in MB: "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Local measure"
-msgstr "Plaaslike meting"
+#: ../../install_interactive.pm_.c:126
+msgid "Use the free space on the Windows partition"
+msgstr "Gebruik die beskikbare spasie op die Windowspartisie"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Warning : IP address %s is usually reserved !"
-msgstr "Pasop: IP-adres %s is alreeds gebruik !"
+#: ../../install_interactive.pm_.c:129
+msgid "Which partition do you want to resize?"
+msgstr "Watter partisie se grootte wil u verander?"
-#: ../../mouse.pm:1
-#, c-format
-msgid "busmouse"
-msgstr "busmuis"
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing Windows partition"
+msgstr "Windowslerstelselgrense word bereken"
-#: ../../standalone/drakTermServ:1
+#: ../../install_interactive.pm_.c:134
#, c-format
msgid ""
-" - Create Etherboot Enabled Boot Images:\n"
-" \tTo boot a kernel via etherboot, a special kernel/initrd image must "
-"be created.\n"
-" \tmkinitrd-net does much of this work and drakTermServ is just a "
-"graphical \n"
-" \tinterface to help manage/customize these images. To create the "
-"file \n"
-" \t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an "
-"include in \n"
-" \tdhcpd.conf, you should create the etherboot images for at least "
-"one full kernel."
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occured: %s"
msgstr ""
-" - Create Etherboot Enabled Boot Images:\n"
-" \tTo boot a kernel via etherboot, a special kernel/initrd image must "
-"be created.\n"
-" \tmkinitrd-net does much of this work and drakTermServ is just a "
-"graphical \n"
-" \tinterface to help manage/customize these images. To create the "
-"file \n"
-" \t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an "
-"include in \n"
-" \tdhcpd.conf, you should create the etherboot images for at least "
-"one full kernel."
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Login (user name)"
-msgstr "Gebruikerskode"
+"Die FAT-verstellingsprogram kan nie u partisie hanteer nie.\n"
+"Fout: %s"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Fdiv bug"
-msgstr "Fdiv-gogga"
+#: ../../install_interactive.pm_.c:137
+msgid ""
+"Your Windows partition is too fragmented. Please reboot your computer under "
+"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
+"installation."
+msgstr "U Windows-partisie is te gefragmenteer. Loop eers 'defrag' asb."
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:138
+#, fuzzy
msgid ""
-"drakfirewall configurator\n"
+"WARNING!\n"
"\n"
-"Make sure you have configured your Network/Internet access with\n"
-"drakconnect before going any further."
+"DrakX will now resize your Windows partition. Be careful:\n"
+"this operation is dangerous. If you have not already done\n"
+"so, you should first exit the installation, run scandisk\n"
+"under Windows (and optionally run defrag), then restart the\n"
+"installation. You should also backup your data.\n"
+"When sure, press Ok."
msgstr ""
-"drakefirewall assistent\n"
+"WAARSKUWING\n"
"\n"
-"Maak seker dat u alreeds die Netwerk/Internet toegang opgestel het\n"
-"deur 'drakconnect' te gebruik."
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept broadcasted icmp echo"
-msgstr "Aanvaar uitgesaaide icmp-ego's"
+"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."
-#: ../../lang.pm:1
-#, c-format
-msgid "Uruguay"
-msgstr "Uruguay"
+#: ../../install_interactive.pm_.c:148
+msgid "Which size do you want to keep for Windows on"
+msgstr "Watter grootte wil u vir Windows behou?"
-#: ../../lang.pm:1
+#: ../../install_interactive.pm_.c:149
#, c-format
-msgid "Benin"
-msgstr "Benin"
+msgid "partition %s"
+msgstr "partisie %s"
-#: ../../printer/main.pm:1
+#: ../../install_interactive.pm_.c:156
#, c-format
-msgid "SMB/Windows server \"%s\", share \"%s\""
-msgstr "SMB/Windows-bediener \"%s\", deelarea \"%s\""
+msgid "FAT resizing failed: %s"
+msgstr "FAT-grootteverandering het gefaal: %s"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path selection"
-msgstr "Roete-keuse"
+#: ../../install_interactive.pm_.c:171
+msgid ""
+"There is no FAT partition 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"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Name/IP address of host:"
-msgstr "Naam/IP-adres van rekenaar:"
+#: ../../install_interactive.pm_.c:177
+msgid "Erase entire disk"
+msgstr "Wis hele skyf"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
+#: ../../install_interactive.pm_.c:177
+msgid "Remove Windows(TM)"
+msgstr "Verwyder Windows(TM)"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom & system settings"
-msgstr "Pasmaak & stelsel verstellings"
+#: ../../install_interactive.pm_.c:180
+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?"
-#: ../../partition_table/raw.pm:1
+#: ../../install_interactive.pm_.c:183
#, c-format
-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, corrupted "
-"data."
-msgstr ""
-"Iets vrots gebeur op u hardeskyf.\n"
-"'n Data-integriteitstoets het misluk.\n"
-"Dit beteken dat enigiets wat na u hardeskyf geskryf word as gemors sal "
-"eindig."
+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"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP missing!"
-msgstr "Drukkerbedienernaam of IP ontbreek!"
+#: ../../install_interactive.pm_.c:191
+msgid "Custom disk partitioning"
+msgstr "Gespesialiseerde skyfpartisionering"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please check all users that you want to include in your backup."
-msgstr "Kies al die gebruikers wie ingesluit moet word by die rugsteun."
+#: ../../install_interactive.pm_.c:195
+msgid "Use fdisk"
+msgstr "Gebruik fdisk"
-#: ../../standalone/scannerdrake:1
+#: ../../install_interactive.pm_.c:198
#, c-format
msgid ""
-"The %s must be configured by printerdrake.\n"
-"You can launch printerdrake from the Mandrake Control Center in Hardware "
-"section."
+"You can now partition %s.\n"
+"When you are done, don't forget to save using `w'"
msgstr ""
-"Die %s moet opgestel word deur 'printerdrake'.\n"
-"U kan printerdrake onder die Mandrake Control Center se Hardeware gedeelte "
-"vind."
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Key isn't writable"
-msgstr "XawTV in nie genstalleer nie"
+"U het nou partisie %s partisioneer.\n"
+"Wanneer u klaar is, stoor u veranderinge met 'w'."
-#: ../../lang.pm:1
-#, c-format
-msgid "Bangladesh"
-msgstr "Bangladesh"
+#: ../../install_interactive.pm_.c:227
+msgid "You don't have enough free space on your Windows partition"
+msgstr "Die Windowspartisie beskik nie oor die nodige spasie nie."
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (cable)"
-msgstr "Japan (kabel)"
+#: ../../install_interactive.pm_.c:243
+msgid "I can't find any room for installing"
+msgstr "Ek kon geen plek vir installasie vind nie."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Initial tests"
-msgstr "Begin-toetse"
+#: ../../install_interactive.pm_.c:246
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Die DrakX partisioneringsassistent het die volgende oplossings:"
-#: ../../network/isdn.pm:1
+#: ../../install_interactive.pm_.c:250
#, c-format
-msgid "Continue"
-msgstr "Gaan voort"
+msgid "Partitioning failed: %s"
+msgstr "Partisionering het misluk: %s"
-#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom Restore"
-msgstr "Aangepaste-herstel"
+#: ../../install_interactive.pm_.c:260
+msgid "Bringing up the network"
+msgstr "Netwerk op pad op"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Saturday"
-msgstr "Saterdag"
+#: ../../install_interactive.pm_.c:265
+msgid "Bringing down the network"
+msgstr "Netwerk op pad af"
-#: ../../help.pm:1
-#, c-format
+#: ../../install_steps.pm_.c:76
msgid ""
-"\"%s\": if a sound card is detected on your system, it is displayed here.\n"
-"If you notice the sound card displayed is not the one that is actually\n"
-"present on your system, you can click on the button and choose another\n"
-"driver."
+"An error occurred, but I don't know how to handle it nicely.\n"
+"Continue at your own risk."
msgstr ""
-"\"%s\" die bespeurde klankkaart op u rekenaar sal hier vertoon word.\n"
-"Indien die aangeduide klankkaart verskil van die werklike een op u\n"
-"rekenaar,\n"
-"kan u op die knoppie klik, om 'n ander drywer te kies."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the root umask."
-msgstr "Kies 'root' se 'umask'."
-
-#: ../../install_any.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "Error reading file %s"
-msgstr "Fout met die lees van ler %s"
+"'n Fout het plaasgevind en ek weet nie hoe om dit veilig te hanteer\n"
+"nie. Gaan op u eie risiko voort."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
+#: ../../install_steps.pm_.c:211
#, c-format
-msgid "Script-based"
-msgstr "Skriptipe"
+msgid "Duplicate mount point %s"
+msgstr "Duplikaat hegpunt %s"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "PLL setting:"
-msgstr "PLL verstelling:"
+#: ../../install_steps.pm_.c:380
+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_interactive.pm:1 ../../install_steps.pm:1
+#: ../../install_steps.pm_.c:450
#, c-format
-msgid "You must have a FAT partition mounted in /boot/efi"
-msgstr "U moet oor 'n FAT partisie wat as /boot/efi geheg is, beskik"
+msgid "Welcome to %s"
+msgstr "Welkom by %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on "
-msgstr " on "
+#: ../../install_steps.pm_.c:543 ../../install_steps.pm_.c:769
+msgid "No floppy drive available"
+msgstr "Geen sagteskyaandrywer beskikbaar nie"
-#: ../../diskdrake/dav.pm:1
+#: ../../install_steps_auto_install.pm_.c:76
+#: ../../install_steps_stdio.pm_.c:22
#, c-format
-msgid "The URL must begin with http:// or https://"
-msgstr "Die URL moet begin met http:// or https://"
+msgid "Entering step `%s'\n"
+msgstr "Gaan stap '%s' binne\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:146
msgid ""
-"You can specify directly the URI to access the printer. The URI must fulfill "
-"either the CUPS or the Foomatic specifications. Note that not all URI types "
-"are supported by all the spoolers."
+"Your system is low on resources. You may have some problem installing\n"
+"Mandrake Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
msgstr ""
-"U kan die URI om die drukker te bereik direk spesifiseer. Die URI moet in "
-"CUPS- of Foomatic-formaat wees. Nie alle URI-tipes word deur die "
-"spoelprogramme ondersteun nie."
+"U stelsel het min hulpbronne beskikbaar. U mag dalk probleme ondervind met "
+"die installering\n"
+"van Mandrake Linux. 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."
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (SunOS...)"
-msgstr "Ander bedryfstelsel (SunOS...)"
+#: ../../install_steps_gtk.pm_.c:157 ../../install_steps_interactive.pm_.c:237
+msgid "Install Class"
+msgstr "Installasieklas"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Install/Upgrade"
-msgstr "Installeer/Opgradeer"
+#: ../../install_steps_gtk.pm_.c:160
+#, fuzzy
+msgid "Please choose one of the following classes of installation:"
+msgstr "Kies asb. een van die volgende installasieklasse:"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "%d packages"
-msgstr "%d pakkette"
+#: ../../install_steps_gtk.pm_.c:236 ../../install_steps_interactive.pm_.c:683
+msgid "Package Group Selection"
+msgstr "Kies pakketgroepe"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Costa Rica"
-msgstr "Costa Rica"
+#: ../../install_steps_gtk.pm_.c:269 ../../install_steps_interactive.pm_.c:698
+msgid "Individual package selection"
+msgstr "Individuele pakketseleksie"
-#: ../../standalone.pm:1
+#: ../../install_steps_gtk.pm_.c:292 ../../install_steps_interactive.pm_.c:621
#, c-format
-msgid ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X "
-"users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
-msgstr ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X "
-"users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
+msgid "Total size: %d / %d MB"
+msgstr "Totale grootte: %d / %d MB"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain Authentication Required"
-msgstr "Benodig Domein-magtiging"
+#: ../../install_steps_gtk.pm_.c:334
+msgid "Bad package"
+msgstr "Foutiewe pakket"
-#: ../../security/level.pm:1
+#: ../../install_steps_gtk.pm_.c:335
#, c-format
-msgid "Use libsafe for servers"
-msgstr "Gebruik libsafe vir bedieners"
+msgid "Name: %s\n"
+msgstr "Naam: %s\n"
-#: ../../keyboard.pm:1
+#: ../../install_steps_gtk.pm_.c:336
#, c-format
-msgid "Icelandic"
-msgstr "Yslandies"
+msgid "Version: %s\n"
+msgstr "Weergawe: %s\n"
-#: ../../standalone.pm:1
+#: ../../install_steps_gtk.pm_.c:337
#, c-format
-msgid ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
-msgstr ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
+msgid "Size: %d KB\n"
+msgstr "Groote: %d KB\n"
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_gtk.pm_.c:338
#, c-format
+msgid "Importance: %s\n"
+msgstr "Belangrikheid: %s\n"
+
+#: ../../install_steps_gtk.pm_.c:360
msgid ""
-"Maximum size\n"
-" allowed for Drakbackup (MB)"
+"You can't select this package as there is not enough space left to install it"
msgstr ""
-"Maksimum grootte\n"
-"toegelaat vir Drakbackup (MB)"
-
-#: ../../loopback.pm:1
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Sirkulre heg %s\n"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo/grub mode"
-msgstr "LILO/GRUB metode"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Martinique"
-msgstr "Martinique"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "HardDrive / NFS"
-msgstr "Hardeskyf / NFS"
+"U kan nie hierdie pakket selekteer nie, omdat daar nie meer spasie "
+"beskikbaar is nie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Old user list:\n"
-msgstr "Ou gebruiker-lys:\n"
+#
+#: ../../install_steps_gtk.pm_.c:365
+msgid "The following packages are going to be installed"
+msgstr "Die volgende pakkette gaan installeer word"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Search Backups"
-msgstr "Deursoek Rugsteun"
+#
+#: ../../install_steps_gtk.pm_.c:366
+msgid "The following packages are going to be removed"
+msgstr "Dei volgende pakkette gaan verwyder word"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "a number"
-msgstr "'n syfer"
+#: ../../install_steps_gtk.pm_.c:378
+msgid "You can't select/unselect this package"
+msgstr "U kan nie hierdie pakket selekteer/deselekteer nie"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swedish"
-msgstr "Sweeds"
+#: ../../install_steps_gtk.pm_.c:390
+msgid "This is a mandatory package, it can't be unselected"
+msgstr "Hierdie is 'n verpligte pakket. Dit kan nie uitgehaal word nie."
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Watter %s drywer moet ek probeer?"
+#: ../../install_steps_gtk.pm_.c:392
+msgid "You can't unselect this package. It is already installed"
+msgstr "U kan nie heirdie pakket verwyder nie. Dis alreeds genstalleer"
-#: ../../standalone/logdrake:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:395
msgid ""
-"You will receive an alert if one of the selected services is no longer "
-"running"
+"This package must be upgraded.\n"
+"Are you sure you want to deselect it?"
msgstr ""
-"U sal 'n waarskuwing ontvang indien een van die dienste nie meer beskikbaar "
-"is nie"
+"Hierdie pakket moet opgradeer word\n"
+"Is u seker u wil dit deselekteer?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Weekday"
-msgstr "Weeksdag"
+#: ../../install_steps_gtk.pm_.c:398
+msgid "You can't unselect this package. It must be upgraded"
+msgstr "U kan nie hierdie pakket deselekteer nie. Dit moet opgradeer word."
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Filesystem types:"
-msgstr "Lerstelsel-tipes:"
+#: ../../install_steps_gtk.pm_.c:403
+msgid "Show automatically selected packages"
+msgstr "Wys outogeselekteerde pakkette."
-#: ../../lang.pm:1
-#, c-format
-msgid "Northern Mariana Islands"
-msgstr "Noordelike Mariana Eilande"
+#: ../../install_steps_gtk.pm_.c:404 ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#: ../../standalone/drakbackup_.c:4211
+msgid "Install"
+msgstr "Installasie"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on HP JetDirect"
-msgstr ", multi-funksionele toestel op 'HP JetDirect'"
+#: ../../install_steps_gtk.pm_.c:407
+msgid "Load/Save on floppy"
+msgstr "Laai/Stoor op floppie"
-#: ../../mouse.pm:1
-#, c-format
-msgid "none"
-msgstr "niks"
+#: ../../install_steps_gtk.pm_.c:408
+msgid "Updating package selection"
+msgstr "Pakketseleksie word opgedateer"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"Name of the profile to create (the new profile is created as a copy of the "
-"current one) :"
-msgstr ""
-"Naam van die profiel om te skep ( die nuwe profiel is dieselfde as die "
-"huidige een) :"
+#: ../../install_steps_gtk.pm_.c:413
+msgid "Minimal install"
+msgstr "Minimale installasie"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Floppy"
-msgstr "Disket"
+#: ../../install_steps_gtk.pm_.c:428 ../../install_steps_interactive.pm_.c:529
+msgid "Choose the packages you want to install"
+msgstr "Kies die pakkette wat u wil installeer"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript referencing"
-msgstr "Gostscript verwysing"
+#: ../../install_steps_gtk.pm_.c:444 ../../install_steps_interactive.pm_.c:767
+msgid "Installing"
+msgstr "Besig met installasie"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Bootloader"
-msgstr "Herlaaistelsel"
+#: ../../install_steps_gtk.pm_.c:450
+msgid "Estimating"
+msgstr "Skatting"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize all services controlled by tcp_wrappers"
-msgstr "Magtig al die dienste wat tcp_wrappers beheer"
+#: ../../install_steps_gtk.pm_.c:457
+msgid "Time remaining "
+msgstr "Tyd oor "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move"
-msgstr "Skuif"
+#: ../../install_steps_gtk.pm_.c:469
+msgid "Please wait, preparing installation..."
+msgstr "Wag asb. installasie word voorberei"
-#: ../../any.pm:1 ../../help.pm:1
+#: ../../install_steps_gtk.pm_.c:551
#, c-format
-msgid "Bootloader to use"
-msgstr "Herlaaistelsel om te gebruik"
+msgid "%d packages"
+msgstr "%d pakkette"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_gtk.pm_.c:556
#, c-format
-msgid "SMB server host"
-msgstr "SMB-bedienernaam"
+msgid "Installing package %s"
+msgstr "Installeer pakket %s"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Name Servers:"
-msgstr "DNS-bedieners:"
+#
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+#: ../../standalone/drakautoinst_.c:197
+msgid "Accept"
+msgstr "Aanvaar "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Minute"
-msgstr "Minuut"
+#
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+msgid "Refuse"
+msgstr "Weier"
-#: ../../install_messages.pm:1
+#: ../../install_steps_gtk.pm_.c:594 ../../install_steps_interactive.pm_.c:792
#, c-format
msgid ""
+"Change your Cd-Rom!\n"
"\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"
+"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:608 ../../install_steps_gtk.pm_.c:612
+#: ../../install_steps_interactive.pm_.c:804
+#: ../../install_steps_interactive.pm_.c:808
+msgid "Go on anyway?"
+msgstr "Gaan steeds voort?"
+
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_interactive.pm_.c:804
+msgid "There was an error ordering packages:"
+msgstr "Daar was 'n fout met pakkette:"
+
+#: ../../install_steps_gtk.pm_.c:612 ../../install_steps_interactive.pm_.c:808
+msgid "There was an error installing packages:"
+msgstr "Daar was 'n fout met die installasie van die pakkette:"
+
+#: ../../install_steps_interactive.pm_.c:10
+msgid ""
"\n"
"Warning\n"
"\n"
@@ -7364,5953 +4225,4405 @@ msgstr ""
"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"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Expert mode"
-msgstr "/_Kundige modus"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
-msgstr ""
-"Verwyder hierdie drukker uit die Star Office/OpenOffice.org/GIMP programme"
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
msgstr ""
-"'Linux Virtual Server', word gebruik om 'n ho werkverrigting\n"
-"en beskikbare bediener te verkry."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Micronesia"
-msgstr "Micronesia"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "4 billion colors (32 bits)"
-msgstr "4 biljoen kleure (32 bis)"
+#: ../../install_steps_interactive.pm_.c:67
+msgid "An error occurred"
+msgstr "'n Fout het voorgekom"
-#: ../../steps.pm:1
-#, c-format
-msgid "License"
-msgstr "Lisensie"
+#: ../../install_steps_interactive.pm_.c:85
+#, fuzzy
+msgid "Do you really want to leave the installation?"
+msgstr "Wil u die werklik die drukker verwyder?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to generate the keys."
-msgstr "Dit sal 'n rukkie neem om die sleutels te genereer."
+#: ../../install_steps_interactive.pm_.c:112
+msgid "License agreement"
+msgstr "Lisensieooreenkoms"
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:113
msgid ""
-"Here, you can setup the security level and administrator of your machine.\n"
-"\n"
-"\n"
-"The Security Administrator is the one who will receive security alerts if "
-"the\n"
-"'Security Alerts' option is set. It can be a username or an email.\n"
-"\n"
-"\n"
-"The Security Level menu allows you to select one of the six preconfigured "
-"security levels\n"
-"provided with msec. These levels range from poor security and ease of use, "
-"to\n"
-"paranoid config, suitable for very sensitive server applications:\n"
-"\n"
-"\n"
-"<span foreground=\"royalblue3\">Poor</span>: This is a totally unsafe but "
-"very\n"
-"easy to use security level. It should only be used for machines not "
-"connected to\n"
-"any network and that are not accessible to everybody.\n"
-"\n"
-"\n"
-"<span foreground=\"royalblue3\">Standard</span>: This is the standard "
-"security\n"
-"recommended for a computer that will be used to connect to the Internet as "
-"a\n"
-"client.\n"
+"Introduction\n"
"\n"
+"The operating system and the different components available in the Mandrake "
+"Linux 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 Mandrake Linux distribution.\n"
"\n"
-"<span foreground=\"royalblue3\">High</span>: There are already some\n"
-"restrictions, and more automatic checks are run every night.\n"
"\n"
+"1. License Agreement\n"
"\n"
-"<span foreground=\"royalblue3\">Higher</span>: The security is now high "
-"enough\n"
-"to use the system as a server which can accept connections from many "
-"clients. If\n"
-"your machine is only a client on the Internet, you should choose a lower "
-"level.\n"
+"Please read this document carefully. 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"
-"<span foreground=\"royalblue3\">Paranoid</span>: This is similar to the "
-"previous\n"
-"level, but the system is entirely closed and security features are at their\n"
-"maximum"
-msgstr ""
-"Hier kan u die vlak administrasie van sekuriteit op u rekenaar opstel.\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 "
+"occurence of such \n"
+"damages.\n"
"\n"
-"Die Sekuriteits-administrateur sal die sekuriteits-waarskuwings ontvang\n"
-"indien\n"
-"die 'Sekuriteits-waarskuwings' opsie gekies is. Dit kan 'n gebruikernaam of\n"
-"'n e-pos adres wees.\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 Mandrake Linux 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"
-"Die Sekuriteitsvlak-kieslys stel u in staat om een van ses vooraf-"
-"opgestelde\n"
-"vlakke te kies.\n"
-"Hierdie vlakke wissel van ligte sekuriteit en maklike gebruik tot "
-"paranoes,\n"
-"wat geskik is vir uiters sensitiewe toepassings.\n"
"\n"
+"3. The GPL License and Related Licenses\n"
"\n"
-"<span foreground=\"royalblue3\">Lig</span>: Hierdie is glad nie veilig nie,\n"
-"alhoewel dit rekenaargebruik vergemaklik.\n"
-"Gebruik dit op masjiene wat nie aan 'n netwerk gekoppel is nie,\n"
-"en nie toeganklik tot almal is nie.\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"
-"<span foreground=\"royalblue3\">Standaard</span>: Hierdie is die standaard\n"
-"sekuriteit\n"
-"wat ons aanbeveel vir rekenaars wat aan die Internet gebruik as 'n klint\n"
+"4. Intellectual Property Rights\n"
"\n"
-"<span foreground=\"royalblue3\">Hoog</span>:Daar is reeds versperrings, en\n"
-"meer outomatise toetse word saans gedoen\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\", \"Mandrake Linux\" and associated logos are trademarks of "
+"MandrakeSoft S.A. \n"
"\n"
-"<span foreground=\"royalblue3\">Hor</span>: Met hierdie sekuriteitsvlak "
-"kan\n"
-"u stelsel as 'n bediener gebruik.\n"
-"Die sekuriteit is goed genoeg sodat die rekenaar konneksies van klinte\n"
-"af kan aanvaar.\n"
-"Aandag: Indien u masjien bloot 'n klint op die Internet is, kan u 'n laer\n"
-"vlak kies.\n"
"\n"
+"5. Governing Laws \n"
"\n"
-"<span foreground=\"royalblue3\">Paranoes</span>: Soortgelyk aan die vorige\n"
-"vlak, maar die rekenaar is totaal toe en sekuriteit is op sy\n"
-"maksimum"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
-msgstr "Drukker-outospeur ( Plaaslik, TCP/Sok, en SMB-drukkers)"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using pppoa) usb"
-msgstr "Sagem (gebruik pppoa) usb"
-
-#: ../../install_any.pm:1
-#, c-format
-msgid ""
-"An error occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
+"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 Fout het voorgekom - geen geldige toestelle om die nuwe lerstelsels op "
-"te skep, is gevind nie. Deursoek asb. die hardeware vir die oorsaak."
-
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting the printing system at boot time"
-msgstr "Begin die drukkerstelsel tydens selflaai"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Do you want to start the connection at boot?"
-msgstr "Wil u die konneksie met herlaaityd aanskakel?"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Processor ID"
-msgstr "Verwerker ID"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound trouble shooting"
-msgstr "Klank foutopsporing"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwerty layout)"
-msgstr "Pools (QWERTY uitleg)"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Add Printer"
-msgstr "/_Voeg Drukker by"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via CD:\n"
-"\n"
+#: ../../install_steps_interactive.pm_.c:197
+msgid "Are you sure you refuse the licence?"
msgstr ""
-"\n"
-"Drakbackup aktiviteite via CD:\n"
-"\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to install the printing system %s on a system running in the %"
-"s security level.\n"
-"\n"
-"This printing system runs a daemon (background process) which waits for "
-"print jobs and handles them. This daemon is also accessable by remote "
-"machines through the network and so it is a possible point for attacks. "
-"Therefore only a few selected daemons are started by default in this "
-"security level.\n"
-"\n"
-"Do you really want to configure printing on this machine?"
-msgstr ""
-"U gaan nou die %s drukkerstelsel installeer op 'n rekenaar wat in die %s "
-"sekuriteitsvlak is.\n"
-"\n"
-"Die drukkerstelsel loop 'n daemoon (agtergrond proses) wat wag vir drukwerk "
-"en dit dan doen. Hierdie daemoon kan bereik word deur ander rekenaars op die "
-"netwerk, so dit kan 'n swakpunt in die sekuriteit van u rekenaar wees. Die "
-"reel is dat hoe minder van hierdie daemone loop, hoe meer veilig is u "
-"rekenaar , maar u moet dit ook kan gebruik!\n"
-"\n"
-"Wil u drukkers opstel op hierdie rekenaar?"
+#: ../../install_steps_interactive.pm_.c:217
+#: ../../install_steps_interactive.pm_.c:995
+#: ../../standalone/keyboarddrake_.c:25
+msgid "Keyboard"
+msgstr "Sleutelbord"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host \"%s\", port %s"
-msgstr "Rekenaar \"%s\", poort %s"
+#: ../../install_steps_interactive.pm_.c:218
+#, fuzzy
+msgid "Please choose your keyboard layout."
+msgstr "Wat is u sleutelborduitleg?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition can't be used for loopback"
-msgstr "Hierdie partisie kan nie vir teruglus gebruik word nie."
+#: ../../install_steps_interactive.pm_.c:219
+msgid "Here is the full list of keyboards available"
+msgstr "Hierdie is die volledige lys van beskikbare sleutelborde"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File already exists. Use it?"
-msgstr "Ler bestaan alreeds. Moet dit gebruik word?"
+#: ../../install_steps_interactive.pm_.c:237
+msgid "Which installation class do you want?"
+msgstr "Watter installasieklas verlang u?"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received: "
-msgstr "ontvang: "
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Install/Update"
+msgstr "Installeer/Opgradeer"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Alt key"
-msgstr "Regter Alt-sleutel"
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Is this an install or an update?"
+msgstr "Is hierdie 'n installasie of opgradering?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the list of alternative drivers for this sound card"
-msgstr "lys van alternatiewe drywers vir hierdie klankkaart"
+#: ../../install_steps_interactive.pm_.c:250
+msgid "Recommended"
+msgstr "Aanbevole"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway"
-msgstr "Portaal"
+#: ../../install_steps_interactive.pm_.c:253
+#: ../../install_steps_interactive.pm_.c:256
+msgid "Expert"
+msgstr "Kundige"
-#: ../../lang.pm:1
-#, c-format
-msgid "Tonga"
-msgstr "Tonga"
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#, fuzzy
+msgid "Upgrade"
+msgstr "Opgradeer"
-#: ../../lang.pm:1
-#, c-format
-msgid "Tunisia"
-msgstr "Tunisi"
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#, fuzzy
+msgid "Upgrade packages only"
+msgstr "Pakketseleksie word opgedateer"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing"
-msgstr "Deel skandeerders"
+#: ../../install_steps_interactive.pm_.c:282
+#, fuzzy
+msgid "Please choose the type of your mouse."
+msgstr "Wat is u muistoestel?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile: "
-msgstr "Profiel:"
+#: ../../install_steps_interactive.pm_.c:288 ../../standalone/mousedrake_.c:52
+msgid "Mouse Port"
+msgstr "Muispoort"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Click on a device in the left tree in order to display its information here."
-msgstr "Klik op 'n toestel links, om sy inligting hier te vertoon."
+#: ../../install_steps_interactive.pm_.c:289 ../../standalone/mousedrake_.c:53
+msgid "Please choose on which serial port your mouse is connected to."
+msgstr "Aan watter seriaalpoort is u muis gekoppel?"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid autologin."
-msgstr "Laat toe/Verbied outo-inteken."
+#: ../../install_steps_interactive.pm_.c:297
+msgid "Buttons emulation"
+msgstr "Knoppie-emulasie"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "XawTV isn't installed!"
-msgstr "XawTV in nie genstalleer nie"
+#: ../../install_steps_interactive.pm_.c:299
+msgid "Button 2 Emulation"
+msgstr "Knop-2 Emulasie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include critical files (passwd, group, fstab)"
-msgstr "Moet nie kritiese lers insluit nie (passwd, group, fstab)"
+#: ../../install_steps_interactive.pm_.c:300
+msgid "Button 3 Emulation"
+msgstr "Knop-3 emulasie"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "old static device name used in dev package"
-msgstr "ou statise toestelnaam wat in die dev pakket gebruik word"
+#: ../../install_steps_interactive.pm_.c:321
+msgid "Configuring PCMCIA cards..."
+msgstr "Stel PCMCIA op..."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable the logging of IPv4 strange packets"
-msgstr "Ontsper aanteken van vreemde IPv4-pakkies in staafler."
+#: ../../install_steps_interactive.pm_.c:321
+msgid "PCMCIA"
+msgstr "PCMCIA"
-#: ../../any.pm:1
-#, c-format
-msgid "This label is already used"
-msgstr "Hierdie etiket is alreeds in gebruik"
+#: ../../install_steps_interactive.pm_.c:328
+msgid "Configuring IDE"
+msgstr "IDE word opgestel"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer or connected directly to the network.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected. Also "
-"your network printer(s) must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network printers when you don't need it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
-"\n"
-"Welkom by die \"Printer Setup Wizard\"\n"
-"\n"
-"Hierdie wysgeer sal u help op u drukker(s) op te stel, hetsy hulle direk aan "
-"die rekenaar ,direk aan die netwerk, of aan 'n eksterne Windows rekenaar\n"
-"gekoppel is.\n"
-"\n"
-"Maak tog seker die drukker(s) is reg gekoppel en aangeskakel, sodat "
-"outospeur sy werk reg kan doen. Maak ook seker u netwerkdrukker(s) en "
-"Windows drukker bedieners aangeskakel en gekonnekteer is.\n"
-"\n"
-"Let ook tog dat autospeur van drukkers oor die netwerk langer neem as die "
-"outospeur van plaaslike drukkers. U kan gerus die outospeur van netwerk en/"
-"of Windows drukker bedieners versper indien u dit nie gaan gebruik nie.\n"
-"\n"
-"Klik op \"Volgende\" sodra u gereed is, of op \"Kanselleer\" indien u nou "
-"enige drukkers wil opstel nie."
+#: ../../install_steps_interactive.pm_.c:328
+msgid "IDE"
+msgstr "IDE"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek (polytonic)"
-msgstr "Grieks (polytonies)"
+#: ../../install_steps_interactive.pm_.c:345
+msgid "No partition available"
+msgstr "geen beskikbare partisies"
-#: ../../diskdrake/interactive.pm:1
-#, 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."
+#: ../../install_steps_interactive.pm_.c:348
+msgid "Scanning partitions to find mount points"
+msgstr "Hegpunte vir partisies word nou gesoek"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection Time: "
-msgstr "Konneksietyd: "
+#: ../../install_steps_interactive.pm_.c:356
+msgid "Choose the mount points"
+msgstr "Kies die hegpunte"
-#: ../../standalone/livedrake:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:386
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."
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
msgstr ""
-"Plaas asb. die instasllasie CDROM in die aandrywer en druk OK. Indien u nie\n"
-"hieroor beskik nie, druk Kanselleer om die intydse opgradering te vermy."
+"Geen beskikbare 1MB herlaaipartisie nie! Installasie sal voortgaan, maar u "
+"sal herlaaipartisie met DiskDrake moet skep indien u die stelsel wil "
+"herlaai."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use group id for execution"
-msgstr "Gebruik groep-id vir uitvoering"
+#: ../../install_steps_interactive.pm_.c:395
+msgid "No root partition found to perform an upgrade"
+msgstr "Geen wortellerstelsel gevind nie"
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the default user:"
-msgstr "Kies die verstek gebruiker:"
+#: ../../install_steps_interactive.pm_.c:396
+msgid "Root Partition"
+msgstr "Basispartisie"
-#: ../../lang.pm:1
-#, c-format
-msgid "Gabon"
-msgstr "Gaboen"
+#: ../../install_steps_interactive.pm_.c:397
+msgid "What is the root partition (/) of your system?"
+msgstr "Wat is die basispartisie (/) van u stelsel?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Printers on remote CUPS servers do not need to be configured here; these "
-"printers will be automatically detected."
-msgstr ""
-"\n"
-"Met 'n eksterne CUPS-bediener, hoef u glad nie 'n drukker hier op te stel "
-"nie; drukkers word outomaties bespeur."
+#: ../../install_steps_interactive.pm_.c:411
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "U moet herlaai om die partisietabelveranderinge te aktiveer"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Mandrake Linux can support multiple languages. Select\n"
-"the languages you would like to install. They will be available\n"
-"when your installation is complete and you restart your system."
-msgstr "U kan ander tale selekteer wat na installasie beskikbaar sal wees."
+#: ../../install_steps_interactive.pm_.c:435
+msgid "Choose the partitions you want to format"
+msgstr "Kies die partisies om te formatteer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Directory (or module) to put the backup on this host."
-msgstr ""
-"Lergids (of module) waarop rugsteun vir hierdie rekenaar geplaas moet word."
+#: ../../install_steps_interactive.pm_.c:436
+msgid "Check bad blocks?"
+msgstr "Toets vir foutiewe areas?"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain"
-msgstr "Domein"
+#: ../../install_steps_interactive.pm_.c:463
+msgid "Formatting partitions"
+msgstr "Partisies word formateer"
-#: ../../any.pm:1
+#: ../../install_steps_interactive.pm_.c:465
#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Presiese RAM grootte indien nodig (%d MB bespeur)"
+msgid "Creating and formatting file %s"
+msgstr "Ler %s word geskep en formatteer"
-#: ../../help.pm:1
+#: ../../install_steps_interactive.pm_.c:470
#, c-format
msgid ""
-"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
-"automated. DrakX will analyze the disk boot sector and act according to\n"
-"what it finds there:\n"
-"\n"
-" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
-"boot sector. This way you will be able to load either GNU/Linux or another\n"
-"OS.\n"
-"\n"
-" * if a grub or LILO boot sector is found, it will replace it with a new\n"
-"one.\n"
-"\n"
-"If it cannot make a determination, DrakX will ask you where to place the\n"
-"bootloader."
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can loose data)"
msgstr ""
-"LILO en grup is herlaaistelsels vir GNU/Linux. Hierdie stap is normaalweg\n"
-"geheel en al outomaties. DrakX sal u hardeskyf se selflaai-sektor nagaan\n"
-"en dienooreenkomstig handel met wat dit vind:\n"
-"\n"
-" * indien 'n Windows selflaai-sektor teenwoordig is, sal dit met 'n grub/\n"
-"LILO\n"
-"een vervang word. Dit sal u toelaat om te kan kies watter bedryfstelsel\n"
-"om te laai sodra u die masjien aanskakel.\n"
-"\n"
-" * indien 'n grub of LILO selflaai-sektor teenwoordig is, sal dit vervang\n"
-"word.\n"
-"\n"
-"Indien DrakX nie self kan besluit nie, sal u gevra word om 'n ligging vir\n"
-"die herlaaistelsel te voorsien."
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 2 (optional)"
-msgstr "Voorsiener DNS 2 (opsioneel)"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Boot device"
-msgstr "Herlaaitoestel"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to resize?"
-msgstr "Watter partisie se grootte wil u verander?"
+#: ../../install_steps_interactive.pm_.c:472
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Nie genoeg ruilarea om die installasie te voltooi. Voeg asb. by."
-#: ../../lang.pm:1
-#, c-format
-msgid "United States Minor Outlying Islands"
-msgstr "Verenigde State se Kliener Omliggende Eilande"
+#: ../../install_steps_interactive.pm_.c:479
+#, fuzzy
+msgid "Looking for available packages and rebuilding rpm database..."
+msgstr "Soek vir beskikbare pakkette"
-#: ../../lang.pm:1
-#, c-format
-msgid "Djibouti"
-msgstr "Djibouti"
+#: ../../install_steps_interactive.pm_.c:480
+msgid "Looking for available packages..."
+msgstr "Soek vir beskikbare pakkette"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "A tool to monitor your logs"
-msgstr "'n Nutsprogram wat u help met die staaflers"
+#: ../../install_steps_interactive.pm_.c:483
+#, fuzzy
+msgid "Looking at packages already installed..."
+msgstr "U kan nie heirdie pakket verwyder nie. Dis alreeds genstalleer"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected on port %s"
-msgstr "Op poort %s bespeur"
+#: ../../install_steps_interactive.pm_.c:487
+msgid "Finding packages to upgrade..."
+msgstr "Soek vir pakkette om op te gradeer."
-#: ../../printer/data.pm:1
+#: ../../install_steps_interactive.pm_.c:505
#, c-format
-msgid "LPD"
-msgstr "LPD"
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%d "
+"> %d)"
+msgstr ""
+"U stelsel het nie genoeg plek vir 'n installasie of opgradering nie (%d > %d)"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics card: %s\n"
-msgstr "Videokaart: %s\n"
+#: ../../install_steps_interactive.pm_.c:541
+msgid ""
+"Please choose load or save package selection on floppy.\n"
+"The format is the same as auto_install generated floppies."
+msgstr ""
+"Kies asb. die laai of stoor pakketkeuse op die floppie.\n"
+"Die formaat is dieselfde as outoinstallasie-genereerde floppies."
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/Set as _Default"
-msgstr "/Maak _Verstel"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Load from floppy"
+msgstr "Laai vanaf floppie"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept icmp echo"
-msgstr "Aanvaar icmp-ego's"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Save on floppy"
+msgstr "Stoor op floppie"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Yaboot"
-msgstr "Yaboot"
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Loading from floppy"
+msgstr "Oplaai vanaf floppie"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series with Wheel emulation"
-msgstr "Logitech CC Reeks (seriaal) met Wielletjie-emulasie"
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Package selection"
+msgstr "Pakketkeuse"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Extended partition not supported on this platform"
-msgstr "Ekstensiepartisie word nie op hierdie platform ondersteun nie"
+#: ../../install_steps_interactive.pm_.c:552
+msgid "Insert a floppy containing package selection"
+msgstr "Sit 'n floppie met die pakketkeuse in aandrywer "
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Splash selection"
-msgstr "Splatskerm-keuse"
+#: ../../install_steps_interactive.pm_.c:634
+msgid "Selected size is larger than available space"
+msgstr "Geselekteerde grootte is groter as beskikbare spasie."
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISDN Configuration"
-msgstr "ISDN Konfigurasie"
+#: ../../install_steps_interactive.pm_.c:649
+#, fuzzy
+msgid "Type of install"
+msgstr "Kies pakket om te installeer"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "high"
-msgstr "hoog"
+#: ../../install_steps_interactive.pm_.c:650
+msgid ""
+"You haven't selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing"
-msgstr "Internetkonneksiedeling"
+#: ../../install_steps_interactive.pm_.c:653
+#, fuzzy
+msgid "With X"
+msgstr "Wag"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Choose file"
-msgstr "Kies ler"
+#: ../../install_steps_interactive.pm_.c:655
+msgid "With basic documentation (recommended!)"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Summary: "
-msgstr "Opsomming: "
+#: ../../install_steps_interactive.pm_.c:656
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
-#: ../../network/shorewall.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:741
msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fixes after installation."
+"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 ""
-"Waarskuwing! 'n Bestaande vuurmuurkonfigurasie is bespeur. U sal dalk na die "
-"tyd self regstellings moet aanbring."
+"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."
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:746
#, c-format
-msgid "Printing/Photo Card Access on \"%s\""
-msgstr "Drukwerk/Fotokaart Toegang op \"%s\""
+msgid "Cd-Rom labeled \"%s\""
+msgstr "CDROM getiteld \"%s\""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Daily security check"
-msgstr "Daaglikse sekuriteits-toets"
+#: ../../install_steps_interactive.pm_.c:767
+msgid "Preparing installation"
+msgstr "Berei installasie voor"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:776
#, c-format
msgid ""
-"Do you want to enable printing on the printers mentioned above or on "
-"printers in the local network?\n"
+"Installing package %s\n"
+"%d%%"
msgstr ""
-"Wil u drukwerk toelaat op bogenoemde drukkers, of op drukkers in u plaaslike "
-"netwerk?\n"
+"Installeer nou pakket %s\n"
+"%d%%"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer default settings"
-msgstr "Verstek verstellings van drukker"
+#: ../../install_steps_interactive.pm_.c:822
+msgid "Post-install configuration"
+msgstr "Postinstallasiekonfigurasie"
-#: ../../mouse.pm:1
+#: ../../install_steps_interactive.pm_.c:828
#, c-format
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Generiese PS2 wielmuis"
+msgid "Please insert the Boot floppy used in drive %s"
+msgstr "Sit 'n herlaaiskyf wat gebruik is, in aandrywer %s"
-#: ../../standalone/harddrake2:1
+#: ../../install_steps_interactive.pm_.c:834
#, c-format
+msgid "Please insert the Update Modules floppy in drive %s"
+msgstr "Sit asb. die module-opdateringsfloppie in aandrywer %s"
+
+#: ../../install_steps_interactive.pm_.c:861
msgid ""
-"the WP flag in the CR0 register of the cpu enforce write proctection at the "
-"memory page level, thus enabling the processor to prevent unchecked kernel "
-"accesses to user memory (aka this is a bug guard)"
+"You now have the opportunity to download updated packages. These packages\n"
+"have been released after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates ?"
msgstr ""
-"die WP-flaggie in die CD0 -register van die verwerker, forseer beskerming "
-"teen die skryf na geheue-bladsye. Dit vehoed dat die kernel ongehoorde "
-"toegang na die gebruiker-geheue kry (maw. dit beskerm teen goggas (bugs))"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing old printer \"%s\"..."
-msgstr "Verwyder ou drukker \"%s\" ...."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Select a device !"
-msgstr "Kies 'n toestel !"
+#: ../../install_steps_interactive.pm_.c:876
+#, fuzzy
+msgid ""
+"Contacting Mandrake Linux web site to get the list of available mirrors..."
+msgstr "Spiel word gekontak vir die lys van pakkette"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected server"
-msgstr "Verwyder gekose bediener"
+#: ../../install_steps_interactive.pm_.c:881
+msgid "Choose a mirror from which to get the packages"
+msgstr "Kies 'n spiel waar die pakkette verkry kan word"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using dhcp) usb"
-msgstr "Sagem (gebruik dhcp) usb"
+#: ../../install_steps_interactive.pm_.c:890
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Spiel word gekontak vir die lys van pakkette"
-#: ../../lang.pm:1
-#, c-format
-msgid "French Southern Territories"
-msgstr "French Southern Territories"
+#: ../../install_steps_interactive.pm_.c:918
+msgid "Which is your timezone?"
+msgstr "Wat is u tydsone?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the processor"
-msgstr "die verwerker se vervaardiger"
+#: ../../install_steps_interactive.pm_.c:923
+msgid "Hardware clock set to GMT"
+msgstr "Hardewareklok gestel vir GMT"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain %s:\n"
-" \tFor users to be able to log into the system from a diskless "
-"client, their entry in\n"
-" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n"
-" \thelps in this respect by adding or removing system users from this "
-"file."
-msgstr ""
-" - Maintain %s:\n"
-" \tFor users to be able to log into the system from a diskless "
-"client, their entry in\n"
-" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n"
-" \thelps in this respect by adding or removing system users from this "
-"file."
+#: ../../install_steps_interactive.pm_.c:924
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Outotydsinkronisasie met NTP"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All data on this partition should be backed-up"
-msgstr "Alle data om hierdie partisie moet gerugsteun word."
+#: ../../install_steps_interactive.pm_.c:931
+msgid "NTP Server"
+msgstr "NTP-bediener"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Installing package %s"
-msgstr "Installeer pakket %s"
+#
+#: ../../install_steps_interactive.pm_.c:965
+#: ../../install_steps_interactive.pm_.c:972
+msgid "Remote CUPS server"
+msgstr "Verwyder CUPS-bediener"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking device and configuring HPOJ..."
-msgstr "Bekyk die toestel en konfigureer HPOJ ..."
+#: ../../install_steps_interactive.pm_.c:966
+msgid "No printer"
+msgstr "Geen drukker"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-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"
+#: ../../install_steps_interactive.pm_.c:982
+#, fuzzy
+msgid "Do you have an ISA sound card?"
+msgstr "Beskik u oor nog?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Your printer was configured automatically to give you access to the photo "
-"card drives from your PC. Now you can access your photo cards using the "
-"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
-"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
-"\"man mtools\" on the command line for more info). You find the card's file "
-"system under the drive letter \"p:\", or subsequent drive letters when you "
-"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
-"can switch between drive letters with the field at the upper-right corners "
-"of the file lists."
+#: ../../install_steps_interactive.pm_.c:984
+msgid "Run \"sndconfig\" after installation to configure your sound card"
msgstr ""
-"U drukker is so opgestel dat dit toegang aan die fotokaart-toestelle op u "
-"rekenaar verleen. U kan u fotokaarte gebruik deur die grafiese \"MtoolsFM\" "
-"program. (Menu: \"Applications\" -> \"File tools\" -> \"MTools File Manager"
-"\"). U kan ook vanaf die instruksielyn \"mtools\" intik. (sien \"man mtools"
-"\"). U sal die kaart se lerstelsel onder die letter \"p:\" vind. Indien u "
-"meer as een HP-drukker, met fotokaarte het sal hulle daarop volg. In "
-"\"MtoolsFM\" kan u tussen letters skakel in die regter-boonste hoek."
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose packages to install"
-msgstr "Kies pakkette om te installeer"
-
-#: ../../install_interactive.pm:1
-#, 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_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Your system does not have enough space left for installation or upgrade (%d "
-"> %d)"
+#: ../../install_steps_interactive.pm_.c:986
+msgid "No sound card detected. Try \"harddrake\" after installation"
msgstr ""
-"U stelsel het nie genoeg plek vir 'n installasie of opgradering nie (%d > %d)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Every printer needs a name (for example \"printer\"). The Description and "
-"Location fields do not need to be filled in. They are comments for the users."
-msgstr ""
-"Elke drukker benodig naam (bv. lp). Die Beskrywing- en Liggingvelde is "
-"opsioneel. Hulle dien as inligting vir gebruikers."
+#: ../../install_steps_interactive.pm_.c:991 ../../steps.pm_.c:27
+msgid "Summary"
+msgstr "Opsomming"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
-"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
-"information on how to setup a new printer. The interface presented there is\n"
-"similar to the one used during installation."
-msgstr ""
-"\"%s\": deur op die \"%s\" knoppie te klik, sal u toegang tot die 'printer\n"
-"configuration wizard' kry. Gaan gerus die ooreenstemde hoofstuk in die\n"
-"\"Starter Guide\" na vir meer inligting. Dit stem baie ooreen met die een."
+#: ../../install_steps_interactive.pm_.c:994
+msgid "Mouse"
+msgstr "Muis"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bhutan"
-msgstr "Bhutan"
+#: ../../install_steps_interactive.pm_.c:996
+msgid "Timezone"
+msgstr "Tydsone"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface"
-msgstr "Netwerkkoppelvlak"
+#: ../../install_steps_interactive.pm_.c:997
+#: ../../printer/printerdrake.pm_.c:2759 ../../printer/printerdrake.pm_.c:2844
+msgid "Printer"
+msgstr "Drukker"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet failed."
-msgstr "Probleme met die opbreek van die Internerkonneksie."
+#: ../../install_steps_interactive.pm_.c:999
+msgid "ISDN card"
+msgstr "ISDN-kaart"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer data..."
-msgstr "Drukkerdata word gelees..."
+#: ../../install_steps_interactive.pm_.c:1003
+#: ../../install_steps_interactive.pm_.c:1009
+msgid "Sound card"
+msgstr "Klankkaart"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Korean keyboard"
-msgstr "Koreaanse sleutelbord"
+#: ../../install_steps_interactive.pm_.c:1012
+msgid "TV card"
+msgstr "TV-kaaer"
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Not connected"
-msgstr "Nie gekonnekteer"
+#: ../../install_steps_interactive.pm_.c:1055
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1084
+msgid "LDAP"
+msgstr "KDAP"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "No internet connection configured"
-msgstr "Internetkonneksie-konfigurasie"
+#: ../../install_steps_interactive.pm_.c:1056
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1093
+msgid "NIS"
+msgstr "NIS"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek"
-msgstr "Grieks"
+#: ../../install_steps_interactive.pm_.c:1057
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1101
+#: ../../install_steps_interactive.pm_.c:1107
+#, fuzzy
+msgid "Windows Domain"
+msgstr "NIS-domein"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Kitts and Nevis"
-msgstr "Saint Kitts and Nevis"
+#: ../../install_steps_interactive.pm_.c:1058
+#: ../../install_steps_interactive.pm_.c:1080
+msgid "Local files"
+msgstr "Plaaslike lers"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse with Wheel emulation"
-msgstr "Generiese 3-knop Muis met Wielletjie-emulasie"
+#: ../../install_steps_interactive.pm_.c:1067
+#: ../../install_steps_interactive.pm_.c:1068 ../../steps.pm_.c:24
+msgid "Set root password"
+msgstr "Kies 'root' se wagwoord"
-#: ../../any.pm:1
-#, c-format
-msgid "Enable OF Boot?"
-msgstr "Laat OF-herlaai toe?"
+#: ../../install_steps_interactive.pm_.c:1069
+msgid "No password"
+msgstr "Geen wagwoord"
-#: ../../fsedit.pm:1
+#: ../../install_steps_interactive.pm_.c:1074
#, c-format
-msgid "You can't use JFS for partitions smaller than 16MB"
-msgstr "U kan nie JFS vir partisies kleiner as 16MB gebruik nie"
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Hierdie wagwoord is te eenvoudig. Dit moet ten minste %d karakters bevat."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase your RW media (1st Session)"
-msgstr "Vee u RW-media uit (1e Sessie)"
+#: ../../install_steps_interactive.pm_.c:1080 ../../network/modem.pm_.c:72
+#: ../../standalone/drakconnect_.c:623 ../../standalone/logdrake_.c:144
+msgid "Authentication"
+msgstr "Magtiging"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Monitor VertVerfris: %s\n"
+#: ../../install_steps_interactive.pm_.c:1088
+msgid "Authentication LDAP"
+msgstr "LDAP-magtiging"
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount point"
-msgstr "Hegpunt"
+#: ../../install_steps_interactive.pm_.c:1089
+msgid "LDAP Base dn"
+msgstr "LDAP Basis-dn"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid ""
-"An error occurred:\n"
-"%s\n"
-"Try to change some parameters"
-msgstr ""
-"'n Fout het voorgekom:\n"
-"%s\n"
-"Probeer om van u parameters te verander"
+#: ../../install_steps_interactive.pm_.c:1090
+msgid "LDAP Server"
+msgstr "LDAP-bediener"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "TCP/IP host \"%s\", port %s"
-msgstr "TCP/IP rekenaarnaam \"%s\", poort %s"
+#: ../../install_steps_interactive.pm_.c:1096
+msgid "Authentication NIS"
+msgstr "NIS-magtiging"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "User :"
-msgstr "Gebruik:"
+#: ../../install_steps_interactive.pm_.c:1097
+msgid "NIS Domain"
+msgstr "NIS-domein"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore system"
-msgstr "Herstel stelsel"
+#: ../../install_steps_interactive.pm_.c:1098
+msgid "NIS Server"
+msgstr "NIS-bediener"
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1104
msgid ""
-"These are the machines on which the locally connected scanner(s) should be "
-"available:"
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
msgstr ""
-"Hierdie masjiene behoort die plaaslik-gekoppelde skandeerder(s) beskikbaar "
-"te stel:"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP end ip"
-msgstr "Die DHCP ip om mee te eindig"
-
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Another one"
-msgstr "Nog een"
+#: ../../install_steps_interactive.pm_.c:1106
+#, fuzzy
+msgid "Authentication Windows Domain"
+msgstr "LDAP-magtiging"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup"
-msgstr "Drakbackup"
+#: ../../install_steps_interactive.pm_.c:1108
+#, fuzzy
+msgid "Domain Admin User Name"
+msgstr "Domeinnaam"
-#: ../../lang.pm:1
-#, c-format
-msgid "Colombia"
-msgstr "Colombi"
+#: ../../install_steps_interactive.pm_.c:1109
+msgid "Domain Admin Password"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1144
msgid ""
-"Current configuration of `%s':\n"
+"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"
-"Network: %s\n"
-"IP address: %s\n"
-"IP attribution: %s\n"
-"Driver: %s"
+"If you want to create a bootdisk for your system, insert a floppy in the "
+"first\n"
+"drive and press \"Ok\"."
msgstr ""
-"Huidige konfigurasie van '%s':\n"
+"'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"
-"Netwerk: %s\n"
-"IP-adres: %s\n"
-"IP attribution: %s\n"
-"Drywer: %s"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play"
-msgstr "Plug'n Play"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Reunion"
-msgstr "Hereniging"
-
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Details"
-msgstr "Detail"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "For security reasons, it will be disconnected now."
-msgstr "Vir sekuriteitsredes, word u nou gediskonnekteer."
+"Indien u 'n herlaaiskyf wil maak,\n"
+"plaas 'n skyf in die aandrywer en druk \"OK\"."
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Synchronization tool"
-msgstr "Sinkronisasie-nutsprogram"
+#: ../../install_steps_interactive.pm_.c:1160
+msgid "First floppy drive"
+msgstr "Eerste sagteskyfaandrywer"
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking your system..."
-msgstr "Deursoek u rekenaar..."
+#: ../../install_steps_interactive.pm_.c:1161
+msgid "Second floppy drive"
+msgstr "Tweede sagteskyfaandrywer"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print"
-msgstr "Druk"
+#: ../../install_steps_interactive.pm_.c:1162
+#: ../../printer/printerdrake.pm_.c:2397
+msgid "Skip"
+msgstr "Mis hierdie stap"
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:1167
#, c-format
msgid ""
-"Insert the tape with volume label %s\n"
-" in the tape drive device %s"
+"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?\n"
+"%s"
msgstr ""
-"Plaas band met volume-naam %s\n"
-"in die aandrywer %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mongolia"
-msgstr "Mongoli"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mounted\n"
-msgstr "Geheg\n"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Configure CUPS"
-msgstr "Konfigureer CUPS"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Interface"
-msgstr "Grafiese koppelvlak"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Users"
-msgstr "Herstel Gebruikers"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Encryption key for %s"
-msgstr "Enkripsie-sleutel vir %s"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you want to recover your system?"
-msgstr "Wil u die stelsel herstel?"
+"'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?\n"
+"%s"
-#: ../../services.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1173
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."
+"\n"
+"\n"
+"(WARNING! You're using XFS for your root partition,\n"
+"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
+"because XFS needs a very large driver)."
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."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detected hardware"
-msgstr "Bespeurde hardeware"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritius"
-msgstr "Mauritius"
+#: ../../install_steps_interactive.pm_.c:1181
+msgid "Sorry, no floppy drive available"
+msgstr "Jammer, geen sagteskyfaandrywer beskikbaar nie"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Myanmar (Burmese)"
-msgstr "Myanmar (Burmese)"
+#: ../../install_steps_interactive.pm_.c:1185
+msgid "Choose the floppy drive you want to use to make the bootdisk"
+msgstr "Kies die sagteskyfaandrywer wat u wil gebruik"
-#: ../../fs.pm:1
-#, c-format
-msgid "Enabling swap partition %s"
-msgstr "Aktiveer 'swap'-partisie %s"
+#: ../../install_steps_interactive.pm_.c:1189
+#, fuzzy, c-format
+msgid "Insert a floppy in %s"
+msgstr "Sit 'n skyf in aandrywer %s"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to use as loopback (or not enough space left)"
-msgstr ""
-"Daar is geen FAT partisies om as teruglus (nie genoeg spasie nie) te gebruik "
-"nie"
+#: ../../install_steps_interactive.pm_.c:1192
+msgid "Creating bootdisk..."
+msgstr "Herlaaiskyf word geskryf"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (old)"
-msgstr "Armenies (oud)"
+#: ../../install_steps_interactive.pm_.c:1199
+msgid "Preparing bootloader..."
+msgstr "Herlaaistelsel word voorberei"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1210
msgid ""
-"A printer named \"%s\" already exists under %s. \n"
-"Click \"Transfer\" to overwrite it.\n"
-"You can also type a new name or skip this printer."
+"You appear to have an OldWorld or Unknown\n"
+" machine, the yaboot bootloader will not work for you.\n"
+"The install will continue, but you'll\n"
+" need to use BootX to boot your machine"
msgstr ""
-"A drukker met die naam \"%s\" bestaan reeds onder %s.\n"
-"Klik op \"Oordra\" om dit te oorskryf.\n"
-"U kan ook 'n nuwe naam intik of hierdie drukker oorslaan."
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1216
+msgid "Do you want to use aboot?"
+msgstr "Wil u aboot gebruik?"
+
+#: ../../install_steps_interactive.pm_.c:1219
msgid ""
-"Find the solutions of your problems via MandrakeSoft's online support "
-"platform."
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
msgstr ""
-"Kry oplossings vir u probleme deur van MandrakeSoft se ondersteuning gebruik "
-"te maak."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", host \"%s\", port %s"
-msgstr ", rekenaarnaam \"%s\", poort %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Monaco"
-msgstr "Monaco"
+"Die 'aboot' installasie het gefaal. Wil u 'n installasie afwurg al\n"
+"word die eerste partisie vernietig?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Partisionering het misluk: %s"
+#: ../../install_steps_interactive.pm_.c:1226
+msgid "Installing bootloader"
+msgstr "Herlaaistelselinstallasie"
-#: ../../fs.pm:1 ../../swap.pm:1
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s formatering ban %s het gefaal"
+#: ../../install_steps_interactive.pm_.c:1232
+msgid "Installation of bootloader failed. The following error occured:"
+msgstr "Installasie van herlaaiprogram het gefaal a.g.v. hierdie fout: "
-#: ../../standalone/drakxtv:1
+#: ../../install_steps_interactive.pm_.c:1240
#, c-format
-msgid "Canada (cable)"
-msgstr "Kanada (kabel)"
+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 %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../install_steps_interactive.pm_.c:1274
+#: ../../standalone/drakautoinst_.c:76
#, c-format
-msgid "Floppy creation completed"
-msgstr "Skep van disket is voltooi"
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sit 'n le floppie in aandrywer %s"
-#: ../../help.pm:1
-#, c-format
-msgid "Upgrade"
-msgstr "Opgradeer"
+#: ../../install_steps_interactive.pm_.c:1278
+msgid "Creating auto install floppy..."
+msgstr "Outoinstallasieskyf word geskep."
-#: ../../help.pm:1
-#, c-format
-msgid "Workstation"
-msgstr "Werkstasie"
+#: ../../install_steps_interactive.pm_.c:1289
+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:1
+#: ../../install_steps_interactive.pm_.c:1300
#, c-format
msgid ""
-"Installing package %s\n"
-"%d%%"
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press return to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandrake "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandrake Linux User's Guide."
msgstr ""
-"Installeer nou pakket %s\n"
-"%d%%"
+"Geluk, installasie is afgehandel.\n"
+"Verwyder die herlaaimedium en druk 'enter' om te herlaai.\n"
+"\n"
+"\n"
+"Vir lapinligting oor hierdie vrystelling vanMandrake Linux,\n"
+"bekyk die errata beskikbaar op\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Inligting oor stelskonfigurasie is beskikbaar in die postinstallasie-\n"
+"hoofstuk in die Offisile Liux-Mandrake Gebruikersgids."
-#: ../../lang.pm:1
-#, c-format
-msgid "Kyrgyzstan"
-msgstr "Kyrgyzstan"
+#: ../../install_steps_interactive.pm_.c:1313
+msgid "http://www.mandrakelinux.com/en/90errata.php3"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on USB"
-msgstr "Multi-funksionele toestel op USB"
+#: ../../install_steps_interactive.pm_.c:1318
+msgid "Generate auto install floppy"
+msgstr "Skep outoinstallasieskyf"
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1320
msgid ""
-"We didn't detect any USB key on your system. If you\n"
-"plug in an USB key now, Mandrake Move will have the ability\n"
-"to transparently save the data in your home directory and\n"
-"system wide configuration, for next boot on this computer\n"
-"or another one. Note: if you plug in a key now, wait several\n"
-"seconds before detecting again.\n"
-"\n"
+"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 also proceed without an USB key - you'll still be\n"
-"able to use Mandrake Move as a normal live Mandrake\n"
-"Operating System."
+"You may prefer to replay the installation.\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "With basic documentation"
-msgstr "Met basiese dokumentasie"
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Automated"
+msgstr "Outomaties"
-#: ../../services.pm:1
-#, c-format
-msgid "Anacron is a periodic command scheduler."
-msgstr "Anacron is skeduleerder vir periodiese instruksies."
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Replay"
+msgstr "Herspeel"
+
+#: ../../install_steps_interactive.pm_.c:1328
+msgid "Save packages selection"
+msgstr "Stoor pakketseleksie"
-#: ../../install_interactive.pm:1
+#: ../../install_steps_newt.pm_.c:20
#, c-format
+msgid "Mandrake Linux Installation %s"
+msgstr "Mandrake Linux Installasie %s"
+
+#. -PO This string must fit in a 80-char wide text screen
+#: ../../install_steps_newt.pm_.c:33
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 `/'"
+" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
msgstr ""
-"U moet 'n wortelpartisie definieer.\n"
-"Skep 'n partisie of kliek op 'n bestaande een.\n"
-"Kies dan Hegpunt en stel dit dan '/'."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Western Sahara"
-msgstr "Westelike Sahara"
+" <Tab>/<Alt-Tab> tussen elemente | <Space> selekteer | <F12> volgende skerm "
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxy should be http://..."
-msgstr "Instaanbediener moet begin met http://..."
+#: ../../interactive.pm_.c:87
+msgid "kdesu missing"
+msgstr "kdesu is weg"
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "South Africa"
-msgstr "Suid-Afrika"
+#: ../../interactive.pm_.c:89 ../../interactive.pm_.c:100
+msgid "consolehelper missing"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Eject tape after the backup"
-msgstr "Skop band uit na die rugsteun"
+#: ../../interactive.pm_.c:152
+msgid "Choose a file"
+msgstr "Kies 'n ler"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot Floppy/ISO"
-msgstr "Etherboot Floppy/ISO"
+#: ../../interactive.pm_.c:318
+msgid "Advanced"
+msgstr "Gevorderd"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Modify printer configuration"
-msgstr "Verander drukkerkonfigurasie"
+#: ../../interactive.pm_.c:319 ../../security/main.pm_.c:117
+msgid "Basic"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose a partition"
-msgstr "Kies 'n partisie"
+#: ../../interactive/newt.pm_.c:194 ../../my_gtk.pm_.c:158
+#: ../../printer/printerdrake.pm_.c:2055 ../../ugtk2.pm_.c:434
+msgid "<- Previous"
+msgstr "<- Vorige"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Edit current rule"
-msgstr "Redigeer die huidige rel"
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../standalone/drakbackup_.c:4060 ../../standalone/drakbackup_.c:4087
+#: ../../standalone/drakbackup_.c:4117 ../../standalone/drakbackup_.c:4143
+#, fuzzy
+msgid "Next"
+msgstr "Teks"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: ../../interactive/stdio.pm_.c:29 ../../interactive/stdio.pm_.c:149
+msgid "Bad choice, try again\n"
+msgstr "Swak keuse, probeer weer\n"
-#
-#: ../../mouse.pm:1
+#: ../../interactive/stdio.pm_.c:30 ../../interactive/stdio.pm_.c:150
#, c-format
-msgid "Please test the mouse"
-msgstr "Toets asb. die muis"
+msgid "Your choice? (default %s) "
+msgstr "U keuse? (verstek %s) "
-#: ../../fs.pm:1
+#: ../../interactive/stdio.pm_.c:54
#, c-format
msgid ""
-"Do not update inode access times on this file system\n"
-"(e.g, for faster access on the news spool to speed up news servers)."
+"Entries you'll have to fill:\n"
+"%s"
msgstr ""
-"Moet nie 'inode'-toegangstye op hierdie lerstelsel opdateer nie\n"
-"(bv. maak die toegang na die nuus-spoel vinniger, wat weer die\n"
-"nuus-bediener vinniger maak)"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons with Wheel emulation"
-msgstr "3-knoppies met wielletjie-emulasie"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Sticky-bit"
-msgstr "Sticky-bit"
+#: ../../interactive/stdio.pm_.c:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "U keuse? (verstek %s) "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other Media"
-msgstr "Ander Media"
+#: ../../interactive/stdio.pm_.c:95
+#, fuzzy, c-format
+msgid "Button `%s': %s"
+msgstr "Opsies: %s"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
+#: ../../interactive/stdio.pm_.c:96
+#, fuzzy
+msgid "Do you want to click on this button?"
+msgstr "Wil u aboot gebruik?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files"
-msgstr "Rugsteun die stelsel-lers"
+#: ../../interactive/stdio.pm_.c:105
+msgid " enter `void' for void entry"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Sector"
-msgstr "Sektor"
+#: ../../interactive/stdio.pm_.c:105
+#, fuzzy, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "U keuse? (verstek %s) "
-#: ../../lang.pm:1
+#: ../../interactive/stdio.pm_.c:123
#, c-format
-msgid "Qatar"
-msgstr "Qatar"
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Base dn"
-msgstr "LDAP Basis-dn"
+#: ../../interactive/stdio.pm_.c:126
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
-#: ../../install_steps_gtk.pm:1
+#: ../../interactive/stdio.pm_.c:139
#, c-format
msgid ""
-"You can't select this package as there is not enough space left to install it"
+"=> Notice, a label changed:\n"
+"%s"
msgstr ""
-"U kan nie hierdie pakket selekteer nie, omdat daar nie meer spasie "
-"beskikbaar is nie"
-#: ../../help.pm:1
-#, c-format
-msgid "generate auto-install floppy"
-msgstr "skep outo-installasieskyf"
+#: ../../interactive/stdio.pm_.c:146
+msgid "Re-submit"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Dialing mode"
-msgstr "Belmetode"
+#: ../../keyboard.pm_.c:153 ../../keyboard.pm_.c:188
+msgid "Czech (QWERTZ)"
+msgstr "Tseggies (QWERTZ)"
-#: ../../services.pm:1
-#, c-format
-msgid "File sharing"
-msgstr "Lerdeling"
+#: ../../keyboard.pm_.c:154 ../../keyboard.pm_.c:190
+msgid "German"
+msgstr "Duits"
-#: ../../any.pm:1
-#, c-format
-msgid "Clean /tmp at each boot"
-msgstr "Maak /tmp skoon met elke herlaai"
+#: ../../keyboard.pm_.c:155
+msgid "Dvorak"
+msgstr "Dvorak"
-#: ../../lang.pm:1
-#, c-format
-msgid "Malawi"
-msgstr "Malawi"
+#: ../../keyboard.pm_.c:156 ../../keyboard.pm_.c:198
+msgid "Spanish"
+msgstr "Spaans"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: false"
-msgstr "plaaslike konfigurasie: onwaar"
+#: ../../keyboard.pm_.c:157 ../../keyboard.pm_.c:199
+msgid "Finnish"
+msgstr "Finnies"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "System settings"
-msgstr "Stelsel verstellings"
+#: ../../keyboard.pm_.c:158 ../../keyboard.pm_.c:200
+msgid "French"
+msgstr "Frans"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your type of mouse."
-msgstr "Kies is u tipe muistoestel."
+#: ../../keyboard.pm_.c:159 ../../keyboard.pm_.c:233
+msgid "Norwegian"
+msgstr "Norweegs"
-#: ../../services.pm:1
-#, c-format
-msgid "running"
-msgstr "aktief"
+#: ../../keyboard.pm_.c:160
+msgid "Polish"
+msgstr "Pools"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "class of hardware device"
-msgstr "hardeware-toestel se klas"
+#: ../../keyboard.pm_.c:161 ../../keyboard.pm_.c:241
+msgid "Russian"
+msgstr "Russies"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"These are the machines and networks on which the locally connected printer"
-"(s) should be available:"
-msgstr ""
-"Hierdie is die rekenaars en netwerke waarop die plaaslik-gekoppelde drukker"
-"(s) beskikbaar behoort te wees."
+#: ../../keyboard.pm_.c:163 ../../keyboard.pm_.c:243
+msgid "Swedish"
+msgstr "Sweeds"
-#: ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United Kingdom"
-msgstr "Verenigde Koninkryk"
+#: ../../keyboard.pm_.c:164 ../../keyboard.pm_.c:259
+msgid "UK keyboard"
+msgstr "VK sleutelbord"
-#: ../../lang.pm:1
-#, c-format
-msgid "Indonesia"
-msgstr "Indonesi"
+#: ../../keyboard.pm_.c:165 ../../keyboard.pm_.c:260
+msgid "US keyboard"
+msgstr "VSA sleutelbord"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "default"
-msgstr "verstek"
+#: ../../keyboard.pm_.c:167
+msgid "Albanian"
+msgstr "Albanies"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "France [SECAM]"
-msgstr "Frankryk [SECAM]"
+#: ../../keyboard.pm_.c:168
+msgid "Armenian (old)"
+msgstr "Armenies (oud)"
-#: ../../any.pm:1
-#, c-format
-msgid "restrict"
-msgstr "beperk"
+#: ../../keyboard.pm_.c:169
+msgid "Armenian (typewriter)"
+msgstr "Armenies (tikmasjien)"
-#: ../../pkgs.pm:1
-#, c-format
-msgid "must have"
-msgstr "benodig"
+#: ../../keyboard.pm_.c:170
+msgid "Armenian (phonetic)"
+msgstr "Armenies (Foneties)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"CUPS does not support printers on Novell servers or printers sending the "
-"data into a free-formed command.\n"
-msgstr ""
-"CUPS ondersteun nie Novell-bedieners se drukkers nie, ook nie die stuur van "
-"data in 'n 'free-formed command' styl nie.\n"
+#: ../../keyboard.pm_.c:175
+msgid "Azerbaidjani (latin)"
+msgstr "Azerbaidjani (latyns)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Senegal"
-msgstr "Senekal"
+#: ../../keyboard.pm_.c:177
+msgid "Belgian"
+msgstr "Belgies"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Command line"
-msgstr "Instruksielyn"
+#: ../../keyboard.pm_.c:178
+#, fuzzy
+msgid "Bengali"
+msgstr "Aktiveer"
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid ""
-"Our full range of Linux solutions, as well as special offers on products and "
-"other \"goodies\", are available on our e-store:"
-msgstr ""
-"Ons volledige reeks Linux produkte, asook spesiale aanbiedinge en ander "
-"benodigdhede is by ons e-winkel beskikbaar:"
+#: ../../keyboard.pm_.c:179
+#, fuzzy
+msgid "Bulgarian (phonetic)"
+msgstr "Armenies (Foneties)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "March"
-msgstr "Maart"
+#: ../../keyboard.pm_.c:180
+#, fuzzy
+msgid "Bulgarian (BDS)"
+msgstr "Bulgaars"
-#: ../../any.pm:1
-#, c-format
-msgid "access to administrative files"
-msgstr "toegang tot administratiewe-lers"
+#: ../../keyboard.pm_.c:181
+msgid "Brazilian (ABNT-2)"
+msgstr "Brasiliaans (ABNT-2)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Error during sendmail.\n"
-" Your report mail was not sent.\n"
-" Please configure sendmail"
-msgstr ""
-"Fout met stuur van e-pos.\n"
-" U verslag is nie gepos nie.\n"
-" Konfigureer asseblief u e-pos"
+#: ../../keyboard.pm_.c:184
+#, fuzzy
+msgid "Bosnian"
+msgstr "Estoniaans"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Do not allow set-user-identifier or set-group-identifier\n"
-"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
-"have suidperl(1) installed.)"
-msgstr ""
-"Do not allow set-user-identifier or set-group-identifier\n"
-"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
-"have suidperl(1) installed.)"
+#: ../../keyboard.pm_.c:185
+msgid "Belarusian"
+msgstr "Belarussies"
-#: ../../lang.pm:1
-#, c-format
-msgid "Montserrat"
-msgstr "Montserrat"
+#: ../../keyboard.pm_.c:186
+msgid "Swiss (German layout)"
+msgstr "Switsers (Duitse uitleg)"
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic dependencies"
-msgstr "Outomatiese-afhanklikhede"
+#: ../../keyboard.pm_.c:187
+msgid "Swiss (French layout)"
+msgstr "Switsers (Franse uitleg)"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Swap"
-msgstr "Ruilarea"
+#: ../../keyboard.pm_.c:189
+msgid "Czech (QWERTY)"
+msgstr "Tseggies (QWERTY)"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom settings"
-msgstr "Aangepaste verstellings"
+#: ../../keyboard.pm_.c:191
+msgid "German (no dead keys)"
+msgstr "Duits (geen dooie sleutels)"
-#: ../../../move/move.pm:1
-#, c-format
-msgid ""
-"The USB key seems to have write protection enabled, but we can't safely\n"
-"unplug it now.\n"
-"\n"
-"\n"
-"Click the button to reboot the machine, unplug it, remove write protection,\n"
-"plug the key again, and launch Mandrake Move again."
+#: ../../keyboard.pm_.c:192
+msgid "Devanagari"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Other"
-msgstr "Herstel Ander"
+#: ../../keyboard.pm_.c:193
+msgid "Danish"
+msgstr "Deens"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "TV card"
-msgstr "TV-kaart"
+#: ../../keyboard.pm_.c:194
+msgid "Dvorak (US)"
+msgstr "Dvorak (VSA)"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on SMB/Windows 95/98/NT server"
-msgstr "Eksterne SMB/Windows 95/98/NT-drukker"
+#: ../../keyboard.pm_.c:195
+msgid "Dvorak (Norwegian)"
+msgstr "Dvorak (Norweegs)"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Configure CUPS"
-msgstr "/_Konfigureer CUPS"
+#: ../../keyboard.pm_.c:196
+#, fuzzy
+msgid "Dvorak (Swedish)"
+msgstr "Dvorak (VSA)"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ", "
-msgstr ", "
+#: ../../keyboard.pm_.c:197
+msgid "Estonian"
+msgstr "Estoniaans"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit lspci"
-msgstr "Dien 'lspci' in"
+#: ../../keyboard.pm_.c:201
+msgid "Georgian (\"Russian\" layout)"
+msgstr "Georgies (Russiese uitleg)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected host/network"
-msgstr "Verwyder gekose rekenaar/netwerk"
+#: ../../keyboard.pm_.c:202
+msgid "Georgian (\"Latin\" layout)"
+msgstr "Georgies (Latynse uitleg)"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that 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."
+#: ../../keyboard.pm_.c:203
+msgid "Greek"
+msgstr "Grieks"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Uzbek (cyrillic)"
-msgstr "Uzbek (Kirillies)"
+#: ../../keyboard.pm_.c:204
+msgid "Gujarati"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid ""
-"Here you can choose the key or key combination that will \n"
-"allow switching between the different keyboard layouts\n"
-"(eg: latin and non latin)"
+#: ../../keyboard.pm_.c:205
+msgid "Gurmukhi"
msgstr ""
-"Hier kan u die sleutel of sleutelkombinasie kies wat\n"
-"die sal help om tussen verskillende sleutelbord-uitlegte te wissel.\n"
-"(bv: latyns en iets anders)"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Network Hotplugging"
-msgstr "Warm-inprop Netwerk"
+#: ../../keyboard.pm_.c:206
+msgid "Hungarian"
+msgstr "Hongaars"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, reports check result to tty."
-msgstr "indien ja gekies is, skryf toetsresultate na tty."
+#: ../../keyboard.pm_.c:207
+msgid "Croatian"
+msgstr "Kroaties"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From CD"
-msgstr "Herstel vanaf CD"
+#: ../../keyboard.pm_.c:208
+msgid "Israeli"
+msgstr "Israelies"
-#: ../../standalone/drakgw:1
-#, c-format
-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"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"U gaan nou u rekenaar so opstel dat die die Internetkonneksie deel.\n"
-"As dit opgestel is, kan ander rekenaars op die LAN gebruik maak van hierdie\n"
-"rekenaar se konneksie na die Internet.\n"
-"\n"
-"Maak tog seker dat u alreeds die Netwerk/Internet toegang opgestel het deur\n"
-"'drakconnect' te gebruik, alvorens u verder gaan.\n"
-"\n"
-"Let Wel: U benodig 'n Netwerkkaart om die LAN gedeelte te maak werk."
+#: ../../keyboard.pm_.c:209
+msgid "Israeli (Phonetic)"
+msgstr "Israelies (Foneties)"
-#: ../../network/ethernet.pm:1
-#, c-format
-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."
+#: ../../keyboard.pm_.c:210
+msgid "Iranian"
+msgstr "Iranies"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo memory card access on your HP multi-function device"
-msgstr "Foto-geheuekaart toegang op u HP multi-funksionele toestel"
+#: ../../keyboard.pm_.c:211
+msgid "Icelandic"
+msgstr "Yslandies"
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid ""
-"Enhance your computer performance with the help of a selection of partners "
-"offering professional solutions compatible with Mandrake Linux"
-msgstr ""
-"Verbeter u rekenaar se werkverrigting deur gebruik te maak van die "
-"oplossings wat Mandrake Linux se vennote u bied."
+#: ../../keyboard.pm_.c:212
+msgid "Italian"
+msgstr "Italiaans"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Authors: "
-msgstr "Programeeerders: "
+#: ../../keyboard.pm_.c:213
+msgid "Inuktitut"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now disabled."
-msgstr "Internetkonneksiedeling is gedeaktiveer"
+#: ../../keyboard.pm_.c:214
+msgid "Japanese 106 keys"
+msgstr "Japanees 106 sleutels"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, verify checksum of the suid/sgid files."
-msgstr ""
-"indien ja gekies is, ondersoek die toetssom (checksum) van suid/sgid lers"
+#: ../../keyboard.pm_.c:217
+msgid "Korean keyboard"
+msgstr "Koreaanse sleutelbord"
-#: ../../keyboard.pm:1
-#, c-format
+#: ../../keyboard.pm_.c:218
msgid "Latin American"
msgstr "Latyns-Amerikaans"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Japanese text printing mode"
-msgstr "Japanese teks-drukmodus"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Old device file"
-msgstr "Ou 'device file'"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Info: "
-msgstr "Info:"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Button `%s': %s"
-msgstr "Knoppie: %s: %s"
-
-#: ../../any.pm:1 ../../interactive.pm:1 ../../harddrake/sound.pm:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakxtv:1 ../../standalone/harddrake2:1
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Please wait"
-msgstr "Wag asb."
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
+#: ../../keyboard.pm_.c:219
+#, fuzzy
+msgid "Laotian"
+msgstr "Latvies"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "None"
-msgstr "Geen"
+#: ../../keyboard.pm_.c:220
+msgid "Lithuanian AZERTY (old)"
+msgstr "Lituanies AZERTY (oud)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered IP is not correct.\n"
-msgstr "Die voorsiende IP is nie reg nie.\n"
+#: ../../keyboard.pm_.c:222
+msgid "Lithuanian AZERTY (new)"
+msgstr "Lituanies AZERTY (nuut)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please be sure that the cron daemon is included in your services."
-msgstr "Maak tog seker dat 'cron' deel is van u dienste."
+#: ../../keyboard.pm_.c:223
+msgid "Lithuanian \"number row\" QWERTY"
+msgstr "Lituanies \"nommerry\" QWERTY"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Ethernet Card"
-msgstr "Ethernetkaart"
+#: ../../keyboard.pm_.c:224
+msgid "Lithuanian \"phonetic\" QWERTY"
+msgstr "Lituanies \"foneties\" QWERTY"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Delete selected printer"
-msgstr "Verwyder gekose drukker"
+#: ../../keyboard.pm_.c:225
+msgid "Latvian"
+msgstr "Latvies"
-#: ../../services.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Info"
-msgstr "Info"
+#: ../../keyboard.pm_.c:226
+msgid "Malayalam"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Install"
-msgstr "Installasie"
+#: ../../keyboard.pm_.c:227
+msgid "Macedonian"
+msgstr "Masedonies"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Click on \"%s\" if you want to delete all data and partitions present on\n"
-"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
-"to recover any data and partitions present on this hard drive, including\n"
-"any Windows data.\n"
-"\n"
-"Click on \"%s\" to stop this operation without losing any data and\n"
-"partitions present on this hard drive."
+#: ../../keyboard.pm_.c:228
+msgid "Myanmar (Burmese)"
msgstr ""
-"Klik op \"%s\" sou u al die data an al die partisies wat tans op hierdie\n"
-"hardeskyf is wil uitwis. Wees versigtig! Na u \"%s\" geklik het, sal u nie\n"
-"weer enige van die data of partisies kan red nie, dit sluit data op\n"
-"Windows-partisies in.\n"
-"\n"
-"Klik op \"%s\" indien u hierdie aksie wil staak, sonder om data te verloor."
-#: ../../steps.pm:1
-#, c-format
-msgid "Exit install"
-msgstr "Verlaat installasie"
+#: ../../keyboard.pm_.c:229
+#, fuzzy
+msgid "Mongolian (cyrillic)"
+msgstr "Serwies (Kirillies)"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Need a key to save your data"
+#: ../../keyboard.pm_.c:230
+msgid "Maltese (UK)"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-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)."
+#: ../../keyboard.pm_.c:231
+msgid "Maltese (US)"
msgstr ""
-"Alles is nou opgestel.\n"
-"U kan nou die Internet-konneksie met ander rekenaars op u LAN deel, deur "
-"outomatiese netwerk konfigurasie te gebruik (DHCP)."
-#
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Remote CUPS server"
-msgstr "Eksterne CUPS-bediener"
+#: ../../keyboard.pm_.c:232
+msgid "Dutch"
+msgstr "Nederlands"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Sun - Mouse"
-msgstr "Sun - Muis"
+#: ../../keyboard.pm_.c:234
+msgid "Polish (qwerty layout)"
+msgstr "Pools (QWERTY uitleg)"
-#
-#: ../../standalone/drakgw:1
-#, 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"
-"%s\n"
-"\n"
-"Ek gaan nou u LAN met daardie kaart opstel."
+#: ../../keyboard.pm_.c:235
+msgid "Polish (qwertz layout)"
+msgstr "Pools (QWERTZ uitleg)"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit cpuinfo"
-msgstr "Dien 'cpuinfo' in"
+#: ../../keyboard.pm_.c:236
+msgid "Portuguese"
+msgstr "Portugees"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Minimal install"
-msgstr "Minimale installasie"
+#: ../../keyboard.pm_.c:237
+msgid "Canadian (Quebec)"
+msgstr "Kanadees (Quebec)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Ethiopia"
-msgstr "Ethiopi"
+#: ../../keyboard.pm_.c:239
+msgid "Romanian (qwertz)"
+msgstr "Romanies (QWERTZ)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "YES"
-msgstr "JA"
+#: ../../keyboard.pm_.c:240
+msgid "Romanian (qwerty)"
+msgstr "Romanies (QWERTY)"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable \"crontab\" and \"at\" for users"
-msgstr "Aktiveer \"crontab en \"at\" vir gebruikers"
+#: ../../keyboard.pm_.c:242
+msgid "Russian (Yawerty)"
+msgstr "Russue (Yawerty)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Devanagari"
-msgstr "Devanagari"
+#: ../../keyboard.pm_.c:244
+msgid "Slovenian"
+msgstr "Sloveens"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"- pci devices: this gives the PCI slot, device and function of this card\n"
-"- eide devices: the device is either a slave or a master device\n"
-"- scsi devices: the scsi bus and the scsi device ids"
-msgstr ""
-"- pci devices: this gives the PCI slot, device and function of this card\n"
-"- eide devices: the device is either a slave or a master device\n"
-"- scsi devices: the scsi bus and the scsi device ids"
+#: ../../keyboard.pm_.c:245
+msgid "Slovakian (QWERTZ)"
+msgstr "Slovaaks (QWERTZ)"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Totale grootte: %d / %d MB"
+#: ../../keyboard.pm_.c:246
+msgid "Slovakian (QWERTY)"
+msgstr "Slovaaks (QWERTY)"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "disabled"
-msgstr "ge-deaktiveer"
+#: ../../keyboard.pm_.c:248
+msgid "Serbian (cyrillic)"
+msgstr "Serwies (Kirillies)"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Search for new scanners"
-msgstr "Soek na nuwe skandeerders"
+#: ../../keyboard.pm_.c:250
+msgid "Tamil (Unicode)"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Disabling servers..."
-msgstr "Bedieners word gedeaktiveer..."
+#: ../../keyboard.pm_.c:251
+msgid "Tamil (TSCII)"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Installation of %s failed. The following error occured:"
-msgstr "%s installasie het gefaal a.g.v. hierdie fout: "
+#: ../../keyboard.pm_.c:252
+msgid "Thai keyboard"
+msgstr "Thai sleutelbord"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
-msgstr "Kan nie 'mkinitrd -f /boot/initrd -%s.img %s' loods nie."
+#: ../../keyboard.pm_.c:254
+msgid "Tajik keyboard"
+msgstr "Tajik sleutelbord"
-#: ../../install_any.pm:1
-#, 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 ones could be found. In that case, you must make sure\n"
-"to upgrade as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"U het die volgende bediener(s) gekies: %s\n"
-"\n"
-"\n"
-"Hierdie bedieners is aktief by verstek. Sover bekend, het hulle nie enige\n"
-"sekuriteits-gevare nie. Daar mag wel mettertyd nuwe gevare gevind word.\n"
-"In so geval, moet u tot verseker dat u hulle so gou moontlik updateer.\n"
-"\n"
-"\n"
-"Verlang u nog steeds hierdie dienste?\n"
+#: ../../keyboard.pm_.c:255
+msgid "Turkish (traditional \"F\" model)"
+msgstr "Turks (tradisionele \"F\" model)"
-#
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network printer (TCP/Socket)"
-msgstr "Netwerkdrukker (TCP/sok)"
+#: ../../keyboard.pm_.c:256
+msgid "Turkish (modern \"Q\" model)"
+msgstr "Turks (moderne \"Q\" modem)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup User files..."
-msgstr "Rugsteun Gebruiker-lers..."
+#: ../../keyboard.pm_.c:258
+msgid "Ukrainian"
+msgstr "Ukranies"
-#: ../../steps.pm:1
-#, c-format
-msgid "Install system"
-msgstr "Installeer stelsel"
+#: ../../keyboard.pm_.c:261
+msgid "US keyboard (international)"
+msgstr "VSA internasionale sleutelbord"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "First DNS Server (optional)"
-msgstr "Eerste DNS-bediener (opsioneel)"
+#: ../../keyboard.pm_.c:262
+msgid "Vietnamese \"numeric row\" QWERTY"
+msgstr "Vitnamees \"nommerry\" QWERTY"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Alternatively, you can specify a device name/file name in the input line"
-msgstr ""
-"Alternatiewelik, kan u 'n toestelnaam/lernaam voorsien op die toevoerlyn"
+#: ../../keyboard.pm_.c:263
+msgid "Yugoslavian (latin)"
+msgstr "Jugoslaavs (latynse uitleg)"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
-"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
-"symlink /etc/security/msec/server to point to\n"
-"/etc/security/msec/server.<SERVER_LEVEL>.\n"
-"\n"
-"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
-"add a service if it is present in the file during the installation of\n"
-"packages."
+#: ../../keyboard.pm_.c:270
+msgid "Right Alt key"
msgstr ""
-"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
-"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
-"symlink /etc/security/msec/server to point to\n"
-"/etc/security/msec/server.<SERVER_LEVEL>.\n"
-"\n"
-"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
-"add a service if it is present in the file during the installation of\n"
-"packages."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian (Phonetic)"
-msgstr "Russies (Foneties)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Config..."
-msgstr "dhcpd Konfigurasie ..."
-
-#: ../../any.pm:1
-#, c-format
-msgid "LILO/grub Installation"
-msgstr "LILO/grub installasie"
+#: ../../keyboard.pm_.c:271
+msgid "Both Shift keys simultaneously"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli"
-msgstr "Israelies"
+#: ../../keyboard.pm_.c:272
+msgid "Control and Shift keys simultaneously"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on server \"%s\""
-msgstr "Drukker \"%s\" op bediener \"%s\""
+#: ../../keyboard.pm_.c:273
+msgid "CapsLock key"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Floppy can be removed now"
-msgstr "Disket kan nou verwyder word"
+#: ../../keyboard.pm_.c:274
+msgid "Ctrl and Alt keys simultaneously"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Truly minimal install"
-msgstr "Werklike minimale installasie"
+#: ../../keyboard.pm_.c:275
+msgid "Alt and Shift keys simultaneously"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Denmark"
-msgstr "Denemarke"
+#: ../../keyboard.pm_.c:276
+msgid "\"Menu\" key"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving partition..."
-msgstr "Partisie word verskuif..."
+#: ../../keyboard.pm_.c:277
+msgid "Left \"Windows\" key"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "(This) DHCP Server IP"
-msgstr "(Hierdie) DHCP-bediener se IP"
+#: ../../keyboard.pm_.c:278
+msgid "Right \"Windows\" key"
+msgstr ""
-#: ../../Xconfig/test.pm:1
+#: ../../loopback.pm_.c:32
#, c-format
-msgid "Test of the configuration"
-msgstr "Toets konfigurasie"
+msgid "Circular mounts %s\n"
+msgstr "Sirkulre heg %s\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing %s ..."
-msgstr "Installeer %s ..."
+#: ../../lvm.pm_.c:103
+msgid "Remove the logical volumes first\n"
+msgstr "Verwyder eers die logiese volumes\n"
-#: ../../help.pm:1
-#, c-format
+#: ../../modules.pm_.c:290
msgid ""
-"If you told the installer that you wanted to individually select packages,\n"
-"it will present a tree containing all packages classified by groups and\n"
-"subgroups. While browsing the tree, you can select entire groups,\n"
-"subgroups, or individual packages.\n"
-"\n"
-"Whenever you select a package on the tree, a description appears on the\n"
-"right to let you know the purpose of the package.\n"
-"\n"
-"!! If a server package has been selected, either because you specifically\n"
-"chose the individual package or because it was part of a group of packages,\n"
-"you will be asked to confirm that you really want those servers to be\n"
-"installed. By default Mandrake Linux will automatically start any installed\n"
-"services at boot time. Even if they are safe and have no known issues at\n"
-"the time the distribution was shipped, it is entirely possible that that\n"
-"security holes were discovered after this version of Mandrake Linux was\n"
-"finalized. If you do not know what a particular service is supposed to do\n"
-"or why it is being installed, then click \"%s\". Clicking \"%s\" will\n"
-"install the listed services and they will be started automatically by\n"
-"default during boot. !!\n"
-"\n"
-"The \"%s\" option is used to disable the warning dialog which appears\n"
-"whenever the installer automatically selects a package to resolve a\n"
-"dependency issue. Some packages have relationships between each other such\n"
-"that installation of a package requires that some other program is also\n"
-"rerquired to be installed. The installer can determine which packages are\n"
-"required to satisfy a dependency to successfully complete the installation.\n"
-"\n"
-"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
-"package list created during a previous installation. This is useful if you\n"
-"have a number of machines that you wish to configure identically. Clicking\n"
-"on this icon will ask you to insert a floppy disk previously created at the\n"
-"end of another installation. See the second tip of last step on how to\n"
-"create such a floppy."
-msgstr ""
-"Inidein u gespesifiseer het dat u individuele pakkette wil kies,\n"
-"sal daar 'n boom-struktuur aan u vertoon word met al die pakkette\n"
-"wat opgedeel is in groepe en sub-groepe. Soos u die deur hulle rits\n"
-"kan u hele groepe of sub-groepe kies, of self individuele pakkette.\n"
-"\n"
-"Sodra u 'n pakket kies, sal daar 'n beskrywing aan die regterkant verskyn\n"
-"wat aandui waarvoor die pakket gebruik word.\n"
-"\n"
-"Indien u 'n diensprogram kies, of dit nou deel is van 'n groepe pakkette of\n"
-"'n enkel een, sal u gevra word om die installasie daarvan te bevestig.\n"
-"Mandrake Linux sal by verstek alle bediener-programme afskop nadat u die\n"
-"rekenaar aangeskakel het. Hierdie bediener-programme is verpak sonder\n"
-"enige probleme bekend. Dit kon intussen verander het, nadat sekuriteits-"
-"gate\n"
-"gevind is. Indien u nie weet wat 'n diens veronderstel is om te doen nie, "
-"of\n"
-"waarom dit genstalleer word nie, klik op \"%s\". Deur op \"%s\" te klik "
-"sal\n"
-"die bediener-program genstalleer word en afskop sodra die Linux laai!!\n"
-"\n"
-"Die \"%s\"-opsie VERSPER die waarskuwings-dialoog wat verskyn\n"
-"sodra die installeerder ander pakkette moet kies a.g.v. afhanklikhede\n"
-"Afhanklikhede werk as volg: Sommige pakkette moet ander programme\n"
-"installeer om korrek te funksioneer, maar hierdie programme maak soms deel\n"
-"uit van 'n ander pakket, dus sal die installeer-program daardie pakkette\n"
-"ook installeer.\n"
-"\n"
-"Die klein disket-ikoon aan die lys se onderkant laat u toe om 'n lys van\n"
-"pakkette van 'n vorige installeasie te laai. Dit is handig indien u 'n\n"
-"aantal masjiene identies wil konfigureer. As u hierop klik, sal u gevra\n"
-"word om die disket te voorsien wat aan die einde van 'n vorige\n"
-"installasie geskep is. Raadpleeg die tweede wenk van die laaste stap\n"
-"oor hoe mens so disket skep."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose your filesystem encryption key"
-msgstr "Kies 'n enkripsie-sleutel vir u lerstelsel"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sierra Leone"
-msgstr "Sierra Leone"
+"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Botswana"
-msgstr "Botswana"
+#: ../../modules/interactive.pm_.c:16
+msgid "You can configure each parameter of the module here."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Andorra"
-msgstr "Andorra"
+#: ../../modules/parameters.pm_.c:18
+#, fuzzy
+msgid "modinfo is not available"
+msgstr "Geen sagteskyaandrywer beskikbaar nie"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "(default value: %s)"
-msgstr "(verstek waarde: %s)"
+#: ../../modules/parameters.pm_.c:50
+#, fuzzy
+msgid "a number"
+msgstr "Telefoonnommer"
-#: ../../security/help.pm:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgid "%d comma separated numbers"
msgstr ""
-"Verstel wagwoord-veroudering no \"max\" dae en versuim om\n"
-"te verander na \"inactive\"."
-#: ../../printer/printerdrake.pm:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "Alternative test page (Letter)"
-msgstr "Alternatiewe toetsbladsy (Lettergrootte)"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"DHCP Server Configuration.\n"
-"\n"
-"Here you can select different options for the DHCP server configuration.\n"
-"If you don't know the meaning of an option, simply leave it as it is.\n"
-"\n"
+msgid "%d comma separated strings"
msgstr ""
-"Konfigureer die DHCP-bediener.\n"
-"\n"
-"Hier kan u die verskillende opsies kies vir die DHCP-bediener.\n"
-"Sou 'n opsie onbekend wees aan u, laat staan dit bloot net.\n"
-"\n"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Choose an X server"
-msgstr "Kies 'n X-bediener"
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "Copying to memory to allow removing the CDROM"
+#: ../../modules/parameters.pm_.c:54
+msgid "comma separated numbers"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Swap partition size in MB: "
-msgstr "Ruilpartisiegrootte in MB: "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No changes to backup!"
-msgstr "Geen veranderinge, geen rugsteun!"
+#: ../../modules/parameters.pm_.c:54
+#, fuzzy
+msgid "comma separated strings"
+msgstr "Formateer partisies"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Formatted\n"
-msgstr "Geformateer\n"
+#: ../../mouse.pm_.c:25
+msgid "Sun - Mouse"
+msgstr "Sun - Muis"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Type of install"
-msgstr "Tipe installasie"
+#: ../../mouse.pm_.c:32
+msgid "Logitech MouseMan+"
+msgstr "Logitech MouseMan+"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on SMB/Windows server \"%s\""
-msgstr "Drukker \"%s\" op SMB/Windows-bediener \"%s\""
+#: ../../mouse.pm_.c:33
+msgid "Generic PS2 Wheel Mouse"
+msgstr "Generiese PS2 wielmuis"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated numbers"
-msgstr "%d komma-afgeskeie getalle"
+#: ../../mouse.pm_.c:34
+msgid "GlidePoint"
+msgstr "GlidePoint"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:65
+msgid "Kensington Thinking Mouse"
+msgstr "Kensington Thinking Mouse"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Automatic Steps Configuration"
-msgstr "Outomatiese Stappe Konfigurasie"
+#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:61
+msgid "Genius NetMouse"
+msgstr "Genius NetMouse"
-#: ../../lang.pm:1
-#, c-format
-msgid "Barbados"
-msgstr "Barbados"
+#: ../../mouse.pm_.c:38
+msgid "Genius NetScroll"
+msgstr "Genius NetScroll"
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid ""
-"Want to know more and to contribute to the Open Source community? Get "
-"involved in the Free Software world!"
-msgstr ""
-"Wil u meer te wete kom oor die Oopbron-gemeenskap? Raak gerus betrokke by "
-"die Oopbron/Vrye-sagteware beweging!"
+#: ../../mouse.pm_.c:39 ../../mouse.pm_.c:48
+#, fuzzy
+msgid "Microsoft Explorer"
+msgstr "Microsoft IntelliMouse"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select data to backup..."
-msgstr "Kies asseblief data wat gerugsteun moet word...."
+#: ../../mouse.pm_.c:44 ../../mouse.pm_.c:70
+msgid "1 button"
+msgstr "1 knop"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"Probleme met die Konneksie\n"
-"Maak tog seker van u konfigurasie in die 'Mandrake Control Center'."
+#: ../../mouse.pm_.c:45 ../../mouse.pm_.c:53
+msgid "Generic 2 Button Mouse"
+msgstr "Generiese 2-knop muis"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received"
-msgstr "reeds ontvang"
+#
+#: ../../mouse.pm_.c:47
+msgid "Wheel"
+msgstr "Wiel"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable su only from the wheel group members or for any user"
-msgstr ""
-"Aktiveer 'su' slegs vir die 'wheel'-groep se lede OF vir enige gebruiker"
+#: ../../mouse.pm_.c:51
+msgid "serial"
+msgstr "seriaal"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_New"
-msgstr "/Ler/_Nuut"
+#: ../../mouse.pm_.c:54
+msgid "Generic 3 Button Mouse"
+msgstr "Generiese 3-knop muis"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DNS Server IP"
-msgstr "Die DNS-bediener se IP"
+#: ../../mouse.pm_.c:55
+msgid "Microsoft IntelliMouse"
+msgstr "Microsoft IntelliMouse"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range End:"
-msgstr "IP-Reeks se Einde:"
+#: ../../mouse.pm_.c:56
+msgid "Logitech MouseMan"
+msgstr "Logitech MouseMan"
-#: ../../security/level.pm:1
-#, c-format
-msgid "High"
-msgstr "Hoog"
+#: ../../mouse.pm_.c:57
+msgid "Mouse Systems"
+msgstr "Mouse Systems"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Add a new printer to the system"
-msgstr "Voeg 'n nuwe drukker by"
+#: ../../mouse.pm_.c:59
+msgid "Logitech CC Series"
+msgstr "Logitech CC Reeks (seriaal)"
-#: ../../any.pm:1
-#, c-format
-msgid "NoVideo"
-msgstr "Geen video"
+#: ../../mouse.pm_.c:60
+msgid "Logitech MouseMan+/FirstMouse+"
+msgstr "Logitech MouseMan+/FirstMouse+"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "this field describes the device"
-msgstr "Hierdie veld beskryf die toestel"
+#: ../../mouse.pm_.c:62
+msgid "MM Series"
+msgstr "MM Series"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
-msgstr "Voeg drukker by Star Office/OpenOffice.org/GIMP"
+#: ../../mouse.pm_.c:63
+msgid "MM HitTablet"
+msgstr "MM HitTablet"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printers"
-msgstr "Plaaslike Drukkers"
+#: ../../mouse.pm_.c:64
+msgid "Logitech Mouse (serial, old C7 type)"
+msgstr "Logitech Muis (seriaal, ou C7 tipe)"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation image directory"
-msgstr "Lergids vir installasie-beelde"
+#: ../../mouse.pm_.c:68
+msgid "busmouse"
+msgstr "busmuis"
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Server"
-msgstr "NIS-bediener"
+#: ../../mouse.pm_.c:71
+msgid "2 buttons"
+msgstr "2 knoppies"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Port: %s"
-msgstr "Poort: %s"
+#: ../../mouse.pm_.c:72
+msgid "3 buttons"
+msgstr "3 knoppies"
-#: ../../lang.pm:1
-#, c-format
-msgid "Spain"
-msgstr "Spanje"
+#: ../../mouse.pm_.c:75
+msgid "none"
+msgstr "niks"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: %s"
-msgstr "plaaslike konfigurasie: %s"
+#: ../../mouse.pm_.c:77
+msgid "No mouse"
+msgstr "Geen muis"
-#: ../../any.pm:1
-#, c-format
-msgid "This user name has already been added"
-msgstr "Hierdie genruikerskode bestaan alreeds"
+#
+#: ../../mouse.pm_.c:490
+msgid "Please test the mouse"
+msgstr "Toets asb. die muis"
-#: ../../interactive.pm:1
-#, c-format
-msgid "Choose a file"
-msgstr "Kies 'n ler"
+#
+#: ../../mouse.pm_.c:491
+msgid "To activate the mouse,"
+msgstr "Om die muis te aktiveer"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Apply"
-msgstr "Pas toe"
+#: ../../mouse.pm_.c:492
+msgid "MOVE YOUR WHEEL!"
+msgstr "BEWEEG DIE WIEL!"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Auto-detect available ports"
-msgstr "Outospeur beskikbare poorte"
+#: ../../my_gtk.pm_.c:65
+#, fuzzy
+msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
+msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#: ../../lang.pm:1
-#, c-format
-msgid "San Marino"
-msgstr "San Marino"
+#: ../../my_gtk.pm_.c:159 ../../ugtk2.pm_.c:435
+msgid "Finish"
+msgstr "Finnies"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Internetkonneksiedeling is gesper"
+#: ../../my_gtk.pm_.c:159 ../../printer/printerdrake.pm_.c:2057
+#: ../../ugtk2.pm_.c:435
+msgid "Next ->"
+msgstr "Volgende ->"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Belgium"
-msgstr "Belgi"
+#: ../../my_gtk.pm_.c:287 ../../ugtk2.pm_.c:926
+msgid "Is this correct?"
+msgstr "Is dit korrek?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kuwait"
-msgstr "Koeweit"
+#: ../../my_gtk.pm_.c:359 ../../services.pm_.c:227 ../../ugtk2.pm_.c:1011
+msgid "Info"
+msgstr "Info"
-#
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the window manager to run:"
-msgstr "Kies die vensterbestuurder om te loop:"
+#: ../../my_gtk.pm_.c:380 ../../ugtk2.pm_.c:1036
+msgid "Expand Tree"
+msgstr "Maak boom oop"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "December"
-msgstr "Desember"
+#: ../../my_gtk.pm_.c:381 ../../ugtk2.pm_.c:1037
+msgid "Collapse Tree"
+msgstr "Maak boom toe"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "sub generation of the cpu"
-msgstr "sub-generasie van cpu"
+#: ../../my_gtk.pm_.c:382 ../../ugtk2.pm_.c:1038
+msgid "Toggle between flat and group sorted"
+msgstr "Skakel tussen plat- en groepsortering"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "First Time Wizard"
-msgstr "First Time Wizard"
+#: ../../network/adsl.pm_.c:23
+msgid "use pppoe"
+msgstr "gebruik pppoe"
-#: ../../lang.pm:1
-#, c-format
-msgid "Taiwan"
-msgstr "Taiwan"
+#: ../../network/adsl.pm_.c:24
+msgid "use pptp"
+msgstr "gebruik pptp"
-#: ../../lang.pm:1
-#, c-format
-msgid "Pakistan"
-msgstr "Pakistan"
+#: ../../network/adsl.pm_.c:25
+msgid "use dhcp"
+msgstr "gebruik dhcp"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "please wait, parsing file: %s"
-msgstr "net 'n oomblik, ontleed ler: %s"
+#: ../../network/adsl.pm_.c:26
+#, fuzzy
+msgid "Alcatel speedtouch usb"
+msgstr "speedtouch USB"
-#: ../../install_steps.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
+#: ../../network/adsl.pm_.c:27
+msgid "Sagem (using pppoe) usb"
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_gtk.pm:1
-#, c-format
-msgid "Importance: "
-msgstr "Belangrikheid: "
+#: ../../network/adsl.pm_.c:29 ../../network/ethernet.pm_.c:36
+msgid "Connect to the Internet"
+msgstr "Konnekteer aan die internet"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/adsl.pm_.c:30
msgid ""
-"To be able to print with your Lexmark inkjet and this configuration, you "
-"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
-"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
-"\"Linux\" as operating system. The drivers come as RPM packages or shell "
-"scripts with interactive graphical installation. You do not need to do this "
-"configuration by the graphical frontends. Cancel directly after the license "
-"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
-"adjust the head alignment settings with this program."
+"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 ""
-"To be able to print with your Lexmark inkjet and this configuration, you "
-"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
-"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
-"\"Linux\" as operating system. The drivers come as RPM packages or shell "
-"scripts with interactive graphical installation. You do not need to do this "
-"configuration by the graphical frontends. Cancel directly after the license "
-"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
-"adjust the head alignment settings with this program."
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Permissions"
-msgstr "Vergunnigs"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider name (ex provider.net)"
-msgstr "Voorsienernaam (bv voorsiener.co.za)"
+"Die mees algemene metode vir ADSL is om pppoe te gebruik.\n"
+"Daar is wel sekere konneksie wat pptp of DHCP gebruik.\n"
+"Indien u nie weet nie, kies 'gebruik pppoe'."
-#: ../../install_steps_gtk.pm:1
-#, c-format
+#: ../../network/adsl.pm_.c:166
msgid ""
-"Your system is low on resources. You may have some problem installing\n"
-"Mandrake Linux. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
+"You need the alcatel microcode.\n"
+"Download it at\n"
+"http://www.speedtouchdsl.com/dvrreg_lx.htm\n"
+"and copy the mgmt.o in /usr/share/speedtouch"
msgstr ""
-"U stelsel het min hulpbronne beskikbaar. U mag dalk probleme\n"
-"ondervind met die installering\n"
-"van Mandrake Linux. In so 'n geval probeer eerder die teksinstallasie.\n"
-"Daarvoor moet u\n"
-"'F1' druk wanneer u vanaf die CDROM herlaai en dan 'text' op die\n"
-"instruksielyn intik."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use the Windows partition for loopback"
-msgstr "Gebruik vir die Windows-partisie vir teruglus"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (typewriter)"
-msgstr "Armenies (tikmasjien)"
-
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection type: "
-msgstr "Konneksietipe:"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Graphical interface"
-msgstr "Grafiese-koppelvlak"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Chad"
-msgstr "Tsjad"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "India"
-msgstr "Indi"
-
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s met 3D-hardwareversnelling"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovakia"
-msgstr "Slovakye"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Singapore"
-msgstr "Singapoer"
+#: ../../network/drakfirewall.pm_.c:12
+#, fuzzy
+msgid "Web Server"
+msgstr "Bediener"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cambodia"
-msgstr "Kambodja"
+#: ../../network/drakfirewall.pm_.c:17
+#, fuzzy
+msgid "Domain Name Server"
+msgstr "Domeinnaam"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Monitor HoriSink: %s\n"
+#: ../../network/drakfirewall.pm_.c:32
+#, fuzzy
+msgid "Mail Server"
+msgstr "Datbasis"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path"
-msgstr "Roete"
+#: ../../network/drakfirewall.pm_.c:37
+#, fuzzy
+msgid "POP and IMAP Server"
+msgstr "LDAP-bediener"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "NOT FOUND"
-msgstr "NIE GEVIND NIE"
+#: ../../network/drakfirewall.pm_.c:111
+#, fuzzy
+msgid "No network card"
+msgstr "geen netwerkkaart gevind nie"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:129
msgid ""
-"Here you can specify any arbitrary command line into which the job should be "
-"piped instead of being sent directly to a printer."
+"drakfirewall configurator\n"
+"\n"
+"This configures a personal firewall for this Mandrake Linux machine.\n"
+"For a powerful dedicated firewall solution, please look to the\n"
+"specialized MandrakeSecurity Firewall distribution."
msgstr ""
-"Hier kan u enige instruksie spesifiseer waarna die drukwerk gepyp moet word "
-"instede van dit direk na die drukker te stuur."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:135
msgid ""
-"The printing system (%s) will not be started automatically when the machine "
-"is booted.\n"
-"\n"
-"It is possible that the automatic starting was turned off by changing to a "
-"higher security level, because the printing system is a potential point for "
-"attacks.\n"
+"drakfirewall configurator\n"
"\n"
-"Do you want to have the automatic starting of the printing system turned on "
-"again?"
+"Make sure you have configured your Network/Internet access with\n"
+"drakconnect before going any further."
msgstr ""
-"Die drukkerstelsel (%s) sal nie automaties, tydens selflaai, saam met die "
-"ander dienste begin nie.\n"
-"\n"
-"Dit is moontlik versper deur die verandering na 'n hor sekuriteitsvlak."
-"(sien \"man msec\" vanaf die instruksielyn)\n"
-"\n"
-"Wil u graag dat die drukkerstelsel WEER saam met die ander dienste tydens "
-"selflaai begin?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Printer %s\n"
-"What do you want to modify on this printer?"
+#: ../../network/drakfirewall.pm_.c:152
+msgid "Which services would you like to allow the Internet to connect to?"
msgstr ""
-"Drukker %s\n"
-"Wat wil u aan hierdie drukker verander?"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add host"
-msgstr "Voeg rekenaar by"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:153
msgid ""
-"If you really think that you know which driver is the right one for your "
-"card\n"
-"you can pick one in the above list.\n"
-"\n"
-"The current driver for your \"%s\" sound card is \"%s\" "
+"You can enter miscellaneous ports. \n"
+"Valid examples are: 139/tcp 139/udp.\n"
+"Have a look at /etc/services for information."
msgstr ""
-"Indien u seker is dat u die regte drywer vir u kaart ken\n"
-"kies dan dit uit die lys.\n"
-"\n"
-"Die \"%s\" klankkaart gebruik tans die \"%s\" drywer "
-#: ../../any.pm:1
+#: ../../network/drakfirewall.pm_.c:159
#, c-format
msgid ""
-"Would you like to allow users to share some of their directories?\n"
-"Allowing this will permit users to simply click on \"Share\" in konqueror "
-"and nautilus.\n"
-"\n"
-"\"Custom\" permit a per-user granularity.\n"
+"Invalid port given: %s.\n"
+"The proper format is \"port/tcp\" or \"port/udp\", \n"
+"where port is between 1 and 65535."
msgstr ""
-"Wil u graag dat gebruikers van hulle lergidse kan deel?\n"
-"Deur dit toe te laat, kan gebruikers bloot op \"Share\" in konqueror en "
-"nautilus klik.\n"
-"\n"
-"\"Aangepaste\" laat toe vir per-gebruiker verstellings.\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Please choose load or save package selection on floppy.\n"
-"The format is the same as auto_install generated floppies."
+#: ../../network/drakfirewall.pm_.c:167
+msgid "Everything (no firewall)"
msgstr ""
-"Kies asb. die laai of stoor pakketkeuse op die floppie.\n"
-"Die formaat is dieselfde as outoinstallasie-genereerde floppies."
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "No CDROM support"
-msgstr "Ondersteunig vir Radio:"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "China (broadcast)"
-msgstr "China (uitsaai)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use quota for backup files."
-msgstr "Gebruik kwotas vir rugsteun-lers."
+#: ../../network/drakfirewall.pm_.c:169
+#, fuzzy
+msgid "Other ports"
+msgstr "Toets poorte"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer \"%s\"..."
-msgstr "Konfigureer drukker \"%s\" ..."
+#: ../../network/ethernet.pm_.c:37
+msgid ""
+"Which dhcp client do you want to use?\n"
+"Default is dhcp-client"
+msgstr ""
+"Watter DCHP-klint wil u gebruik?\n"
+"Verstek is dhcp-client"
-#: ../../fs.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:88
msgid ""
-"Do not allow execution of any binaries on the mounted\n"
-"file system. This option might be useful for a server that has file systems\n"
-"containing binaries for architectures other than its own."
+"No ethernet network adapter has been detected on your system.\n"
+"I cannot set up this connection type."
msgstr ""
-"Moet nie die uitvoer van programme vanaf die gehegde\n"
-"lerstelsel toelaat nie. Hierdie opsie kan handig wees indien 'n bediener\n"
-"lerstelsels het, wie se programme nie op linux uitgevoer kan word nie."
+"Geen ethernetkaart is op die stelsel gevind nie.\n"
+"Ek kan nie hierdie konneksietipe opstel nie."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Internet connection"
-msgstr "Internetkonneksie"
+#: ../../network/ethernet.pm_.c:92 ../../standalone/drakgw_.c:234
+msgid "Choose the network interface"
+msgstr "Kies die netwerkkoppelvlak"
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:93
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?"
+"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."
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Welcome to the Open Source world."
-msgstr "Welkom by die Oopbron-wreld."
+#: ../../network/ethernet.pm_.c:176
+msgid "no network card found"
+msgstr "geen netwerkkaart gevind nie"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bosnia and Herzegovina"
-msgstr "Bosni en Herzegovina"
+#: ../../network/ethernet.pm_.c:200 ../../network/network.pm_.c:349
+msgid "Configuring network"
+msgstr "Stel netwerk op"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:201
msgid ""
-"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
-"point\n"
-msgstr "U benodig 'n ware lerstelsel (ext2, reiserfs) vir hierdie hegpunt\n"
+"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''."
#
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "You must enter a host name or an IP address.\n"
-msgstr "U moet 'n rekenaarnaam of 'n IP-adres voorsien\n"
+#: ../../network/ethernet.pm_.c:205 ../../network/network.pm_.c:354
+msgid "Host name"
+msgstr "Rekenaarnaam"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Netherlands"
-msgstr "Nederlands"
+#: ../../network/isdn.pm_.c:21 ../../network/isdn.pm_.c:44
+#: ../../network/netconnect.pm_.c:89 ../../network/netconnect.pm_.c:103
+#: ../../network/netconnect.pm_.c:156 ../../network/netconnect.pm_.c:171
+#: ../../network/netconnect.pm_.c:222 ../../network/netconnect.pm_.c:245
+#: ../../network/netconnect.pm_.c:253
+msgid "Network Configuration Wizard"
+msgstr "Netwerkkonfigurasie-assistent"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files by FTP"
-msgstr "Stuur lers via FTP"
+#: ../../network/isdn.pm_.c:22
+msgid "External ISDN modem"
+msgstr "Eksterne ISDN-kaart"
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:22
msgid "Internal ISDN card"
msgstr "Interne ISDN-kaart"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:22
+msgid "What kind is your ISDN connection?"
+msgstr "Watter tipe is u ISDN-konneksie?"
+
+#: ../../network/isdn.pm_.c:45
msgid ""
-"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
-"currently uses \"%s\""
+"Which ISDN configuration do you prefer?\n"
+"\n"
+"* The Old configuration uses isdn4net. It contains powerful\n"
+" tools, but is tricky to configure, and not standard.\n"
+"\n"
+"* The New configuration is easier to understand, more\n"
+" standard, but with less tools.\n"
+"\n"
+"We recommand the light configuration.\n"
msgstr ""
-"Daar is geen OSS/ALSA alternatief vir u klankkaart (%s) wat huidiglik \"%s\" "
-"gebruik"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Title"
-msgstr "Titel"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install & convert Fonts"
-msgstr "Installeer & omskep die Lettertipes"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WARNING"
-msgstr "WAARSKUWING"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing bootloader"
-msgstr "Herlaaistelsel-installasie"
+#: ../../network/isdn.pm_.c:54
+msgid "New configuration (isdn-light)"
+msgstr "Nuwe konfigurasie (Ligte ISDN/isdn-light)"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "replay"
-msgstr "herspeel"
+#: ../../network/isdn.pm_.c:54
+msgid "Old configuration (isdn4net)"
+msgstr "Ou konfigurasie (isdn4net)"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected %s"
-msgstr "%s bespeur"
+#: ../../network/isdn.pm_.c:166 ../../network/isdn.pm_.c:184
+#: ../../network/isdn.pm_.c:196 ../../network/isdn.pm_.c:202
+#: ../../network/isdn.pm_.c:209 ../../network/isdn.pm_.c:219
+msgid "ISDN Configuration"
+msgstr "ISDN Konfigurasie"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/isdn.pm_.c:166
msgid ""
-"Expect is an extension to the Tcl scripting language that allows interactive "
-"sessions without user intervention."
+"Select your provider.\n"
+"If it isn't listed, choose Unlisted."
msgstr ""
-"'Expect' is 'n uitbreiding op die Tcl-skriptaal. Dit kan interaktiewe "
-"sessies, SONDER dat die gebruiker inmeng, meebring."
+"Kies u internetdiensvoorsiener.\n"
+"Indien nie in die lys nie kies Ongelys"
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (U.S.)"
-msgstr "Virgin Eilande (VSA)"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol"
+msgstr "Europese protokol"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Bad backup file"
-msgstr "Korrupte rugsteunler"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol (EDSS1)"
+msgstr "Europese protokol (EDSS1)"
-#: ../../standalone/drakgw:1
-#, c-format
-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"
-"Dis tans gedeaktiveer.\n"
-"\n"
-"Wat wil u doen?"
+#
+#: ../../network/isdn.pm_.c:181
+msgid "Protocol for the rest of the world"
+msgstr "Protokol vir die res van die wreld"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter IP address and port of the host whose printers you want to use."
+#: ../../network/isdn.pm_.c:181
+msgid ""
+"Protocol for the rest of the world\n"
+"No D-Channel (leased lines)"
msgstr ""
-"Voorsien die IP-adres en poort, van die rekenaar, wie se\n"
-"drukkers u wil gebruik."
+"Protokol vir die res vd wreld \n"
+" geen D-Kanaal nie (bruikhuurlyne)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Pipe into command"
-msgstr "Pyp drukstuk na program"
+#: ../../network/isdn.pm_.c:185
+msgid "Which protocol do you want to use?"
+msgstr "Watter protokol verlang u?"
-#: ../../install_interactive.pm:1
+#: ../../network/isdn.pm_.c:196
#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
+msgid "Found \"%s\" interface do you want to use it ?"
msgstr ""
-"Sekere hardeware op u rekenaar benodig geslote drywers.\n"
-"U kan inligting hieroorvind by %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Haiti"
-msgstr "Hati"
+#: ../../network/isdn.pm_.c:203
+msgid "What kind of card do you have?"
+msgstr "Oor watter tipe kaart beskik u?"
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detecting devices..."
-msgstr "Toestel word afgetas..."
+#: ../../network/isdn.pm_.c:204
+msgid "I don't know"
+msgstr "Ek weet nie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Custom allows you to specify your own day and time. The other options use "
-"run-parts in /etc/crontab."
-msgstr ""
-"Aangepaste, laat u toe om u eie dag en tyd te spesifiseer. Die ander opsies "
-"gebruik crontab inskrywings in '/etc/crontab'."
+#: ../../network/isdn.pm_.c:204
+msgid "ISA / PCMCIA"
+msgstr "ISA / PCMCIA"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/isdn.pm_.c:204
+msgid "PCI"
+msgstr "PCI"
+
+#: ../../network/isdn.pm_.c:210
msgid ""
-"Description of the fields:\n"
"\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 ""
-"Beskrywing van die velde:\n"
"\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"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Basic options"
-msgstr "Basiese opsies"
+#: ../../network/isdn.pm_.c:214
+msgid "Abort"
+msgstr "Aborteer"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the name of the CPU"
-msgstr "die verwerker se naam"
+#: ../../network/isdn.pm_.c:214
+msgid "Continue"
+msgstr "Gaan voort"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept bogus IPv4 error messages"
-msgstr "Aanvaar snert IPv4 foutboodskappe"
+#: ../../network/isdn.pm_.c:220
+msgid "Which is your ISDN card?"
+msgstr "Wat is u ISDN-kaart?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refreshing printer data..."
-msgstr "Drukkerdata word verfris..."
+#: ../../network/isdn.pm_.c:239
+msgid ""
+"I have detected an ISDN PCI card, but I don't know its type. Please select a "
+"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."
-#: ../../install2.pm:1
-#, c-format
-msgid "You must also format %s"
-msgstr "U moet ook %s formatteer"
+#: ../../network/isdn.pm_.c:248
+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."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Be careful: this operation is dangerous."
-msgstr "Wees versigtig: hierdie is 'n gevaarlike operasie"
+#: ../../network/modem.pm_.c:57
+msgid "Please choose which serial port your modem is connected to."
+msgstr "Op watter seriaalpoort is u modem gekoppel?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Insert a floppy containing package selection"
-msgstr "Sit 'n floppie met die pakketkeuse in aandrywer "
+#: ../../network/modem.pm_.c:67
+msgid "Dialup options"
+msgstr "Opbelopsies"
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server: "
-msgstr "Bediener: "
+#: ../../network/modem.pm_.c:68 ../../standalone/drakconnect_.c:619
+msgid "Connection name"
+msgstr "Konneksienaam"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Alerts:"
-msgstr "Sekuriteits-waarskuwings:"
+#: ../../network/modem.pm_.c:69 ../../standalone/drakconnect_.c:620
+msgid "Phone number"
+msgstr "Telefoonnommer"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Sweden"
-msgstr "Swede"
+#: ../../network/modem.pm_.c:70 ../../standalone/drakconnect_.c:621
+msgid "Login ID"
+msgstr "Aantekenkode"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Expect for SSH"
-msgstr "Gebruik, behalwe vir SSH"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "CHAP"
+msgstr "CHAP"
-#: ../../lang.pm:1
-#, c-format
-msgid "Poland"
-msgstr "Pole"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "PAP"
+msgstr "PAP"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Other ports"
-msgstr "Ander poorte"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Script-based"
+msgstr "Skriptipe"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "number of capture buffers for mmap'ed capture"
-msgstr "aantal ontvang-buffers vir nmap se vangs"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Terminal-based"
+msgstr "Terminaaltipe"
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid " - detected"
-msgstr "reeds bespeur"
+#: ../../network/modem.pm_.c:73 ../../standalone/drakconnect_.c:624
+msgid "Domain name"
+msgstr "Domeinnaam"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SMBus controllers"
-msgstr "SMBus-beheerders"
+#: ../../network/modem.pm_.c:74 ../../standalone/drakconnect_.c:625
+msgid "First DNS Server (optional)"
+msgstr "Eerste DNS-bediener (opsioneel)"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection timeout (in sec)"
-msgstr "Konneksie tydlimiet (in sekondes)"
+#: ../../network/modem.pm_.c:75 ../../standalone/drakconnect_.c:626
+msgid "Second DNS Server (optional)"
+msgstr "Tweede DNS-bediener (opsioneel)"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/modem.pm_.c:95
msgid ""
-"Some of the early i486DX-100 chips cannot reliably return to operating mode "
-"after the \"halt\" instruction is used"
+"Your modem isn't supported by the system.\n"
+"Take a look at http://www.linmodems.org"
msgstr ""
-"Van die vroer i486DX-100 verwerkers kan nie weer betroubaar terugkeur om te "
-"funksioneer na die \"halt\" instruksie gebruik is nie."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Croatian"
-msgstr "Kroaties"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Use existing partition"
-msgstr "Gebruik bestaande partisies"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Unable to contact mirror %s"
-msgstr "Kon nie die spielwebplek %s kontak nie"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Help/_About..."
-msgstr "/Help/_Aangaande..."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remove user directories before restore."
-msgstr "Verwyder gebruiker se lergidse alvorens begin met die herstel."
-
-#: ../../printer/printerdrake.pm:1
+#: ../../network/modem.pm_.c:97
#, c-format
msgid ""
-"You are going to configure a remote printer. This needs working network "
-"access, but your network is not configured yet. If you go on without network "
-"configuration, you will not be able to use the printer which you are "
-"configuring now. How do you want to proceed?"
+"\"%s\" based winmodem detected, do you want to install needed software ?"
msgstr ""
-"U gaan 'n eksterne drukker opstel. Dit benodig netwerktoegang, maar u "
-"netwerk is nog nie opgestel nie. Indien u so voortgaan, sal u nie hierdie "
-"drukker kan gebruik nie. Hoe moet ons te werk gaan?"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS printer configuration"
-msgstr "CUPS-drukkerkonfigurasie"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font in your mounted partitions"
-msgstr "kon nie enige lettertipes in u gehegte partisies vind nie"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "F00f bug"
-msgstr "F00f-gogga"
-
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Domain Name:"
-msgstr "Domeinnaam:"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Root umask"
-msgstr "'root' se umask"
-#: ../../any.pm:1
-#, c-format
-msgid "On Floppy"
-msgstr "Op Disket"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Reboot by the console user"
-msgstr "Herbegin deur die konsole se gebruiker"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Do nothing"
+msgstr "CUPS word gelaai"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore"
-msgstr "Herstel"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Install rpm"
+msgstr "Installasie"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Server:"
-msgstr "Bediener: "
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Title"
+msgstr "Tabel"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check if the network devices are in promiscuous mode."
+#: ../../network/netconnect.pm_.c:29
+msgid ""
+"\n"
+"You can disconnect or reconfigure your connection."
msgstr ""
-"indien ja gekies is, kyk of netwerk-toestelle in 'promiscuous'-modus is."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages..."
-msgstr "Soek vir beskikbare pakkette"
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Please wait, setting up system configuration files on USB key..."
-msgstr "Net 'n oomblik, sekuriteitsvlak word gestel..."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Init Message"
-msgstr "Beginboodskap"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Rescue partition table"
-msgstr "Reddingspartisielys"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cyprus"
-msgstr "Ciprus"
+"\n"
+"U kan diskonnekteer or herkonfigureer."
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection complete."
-msgstr "Voltooide konneksie."
+#: ../../network/netconnect.pm_.c:29 ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can reconfigure your connection."
+msgstr ""
+"\n"
+"U kan u konneksie herkonfigureer."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from RAID"
-msgstr "Verwyder uit RAID"
+#: ../../network/netconnect.pm_.c:29
+msgid "You are currently connected to internet."
+msgstr "U is tans aan die internet gekonnekteer."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This encryption key is too simple (must be at least %d characters long)"
+#: ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can connect to Internet or reconfigure your connection."
msgstr ""
-"Hierdie enkripsie-sleutel is te eenvoudig. (moet ten minste %d karakters "
-"bevat.)"
+"\n"
+"U kan aan die internet konnekter of u konneksie herkonfigureer."
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Configuration Wizards"
-msgstr "Konfigurasie-assistente"
+#: ../../network/netconnect.pm_.c:32
+msgid "You are not currently connected to Internet."
+msgstr "U is nie tans aan die internet gekonnekteer nie."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ISDN connection"
-msgstr "ISDN konneksie"
+#: ../../network/netconnect.pm_.c:36
+msgid "Connect"
+msgstr "Konnekteer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD-R / DVD-R"
-msgstr "CD-R / DVD-R"
+#: ../../network/netconnect.pm_.c:37
+msgid "Disconnect"
+msgstr "Diskonnekteer"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "primary"
-msgstr "primre"
+#: ../../network/netconnect.pm_.c:38
+#, fuzzy
+msgid "Configure the connection"
+msgstr "Stel netwerk op"
+
+#: ../../network/netconnect.pm_.c:41
+msgid "Internet connection & configuration"
+msgstr "Internetkonneksie en konfigurasie"
-#: ../../printer/main.pm:1
+#: ../../network/netconnect.pm_.c:94
#, c-format
-msgid " on SMB/Windows server \"%s\", share \"%s\""
-msgstr "op SMB/Windows-bediener \"%s\", deelarea \"%s\""
+msgid "We are now going to configure the %s connection."
+msgstr "Ons gaan nou die %s konneksie herkonfigureer."
-#: ../../help.pm:1
+#: ../../network/netconnect.pm_.c:103
#, c-format
msgid ""
-"This dialog is used to choose which services you wish to start at boot\n"
-"time.\n"
"\n"
-"DrakX will list all the services available on the current installation.\n"
-"Review each one carefully and uncheck those which are not needed at boot\n"
-"time.\n"
"\n"
-"A short explanatory text will be displayed about a service when it is\n"
-"selected. However, if you are not sure whether a service is useful or not,\n"
-"it is safer to leave the default behavior.\n"
"\n"
-"!! At this stage, be very careful if you intend to use your machine as a\n"
-"server: you will probably not want to start any services that you do not\n"
-"need. Please remember that several services can be dangerous if they are\n"
-"enabled on a server. In general, select only the services you really need.\n"
-"!!"
+"We are now going to configure the %s connection.\n"
+"\n"
+"\n"
+"Press OK to continue."
msgstr ""
-"U kan nou dienste kies wat by herlaaityd moet afskop.\n"
"\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."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Niue"
-msgstr "Niue"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Skip"
-msgstr "Mis hierdie stap"
+"\n"
+"Ons gan nou die %s konneksie konfigureer.\n"
+"\n"
+"\n"
+"Drk OK om voort te gaan."
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../network/netconnect.pm_.c:132 ../../network/netconnect.pm_.c:272
+#: ../../network/netconnect.pm_.c:292 ../../network/tools.pm_.c:77
+msgid "Network Configuration"
+msgstr "Netwerkkonfigurasie"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/netconnect.pm_.c:133
msgid ""
-"the CPU frequency in MHz (Megahertz which in first approximation may be "
-"coarsely assimilated to number of instructions the cpu is able to execute "
-"per second)"
+"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 ""
-"die verwerker se frekwensie in MHz ( dit is rofweg hoeveel instruksies "
-"dieverwerker per sekondes kan uitvoer)"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "important"
-msgstr "belangrik"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Mandrake Linux Printer Management Tool"
-msgstr "Mandrake Linux Printer Management Tool"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total Progress"
-msgstr "Totale Vordering"
+"Omdat u netwerk installasie doen, is u netwerk aslreeds opgestel.\n"
+"Kliek op OK om hierdee konfigurasie te behou, of op Kanselleer om u Internet "
+"& Netwerkkonneksie te herkonfigureer.\n"
-#: ../../help.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:157
msgid ""
-"DrakX will first detect any IDE devices present in your computer. It will\n"
-"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
-"found, DrakX will automatically install the appropriate driver.\n"
-"\n"
-"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
-"your hard drives. If so, you'll have to specify your hardware by hand.\n"
-"\n"
-"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
-"want to configure options for it. You should allow DrakX to probe the\n"
-"hardware for the card-specific options which are needed to initialize the\n"
-"adapter. Most of the time, DrakX will get through this step without any\n"
-"issues.\n"
+"Welcome to The Network Configuration Wizard.\n"
"\n"
-"If DrakX is not able to probe for the options to automatically determine\n"
-"which parameters need to be passed to the hardware, you'll need to manually\n"
-"configure the driver."
+"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 ""
-"DrakX sal eerstens vir IDE toestelle op die rekenaar soek.\n"
-"Daarna sal dit probeer om vir PCI SCSI-kaarte te kry.\n"
-"Indien DrakX 'n SCSI-kaart bespeur en weet watter drywer\n"
-"om te gebruik sal dit outomaties installeer word.\n"
-"\n"
-"Omrede hierdie proses nie altyd alles opspoor nie, sal u dalk self u\n"
-"hardeware moet spesifiseer.\n"
-"\n"
-"Indien u self 'n drywer moes spesifiseer, sal DrakX u ook vra vir enige\n"
-"spesifieke opsies.\n"
-"U kan egter DrakX toelaat om self die hardeware te ondervra. Dit werk\n"
-"gewoonlik die beste.\n"
+"Welkom by die Netwerkkonfigurasie-assistent\n"
"\n"
-"Lees die installasie inligting hoe om hierdie tipe inligting m.b.v. die\n"
-"Windows-bedryfstelsel te bekom.\n"
-"U kan dit ook vanaf die internet onttrek indien u sulke toegang het."
+"Ons gaan nou u internet/netwerkkonneksie konfigureer.\n"
+"Iniden u nie outobespeuring verlang nie, deselekteer die opsie.\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Aruba"
-msgstr "Aruba"
+#: ../../network/netconnect.pm_.c:163
+msgid "Choose the profile to configure"
+msgstr "Kies die profiel om te konfigureer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Users"
-msgstr "Gebruikers"
+#: ../../network/netconnect.pm_.c:164
+msgid "Use auto detection"
+msgstr "Gebruik outobespeuring"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing bootloader..."
-msgstr "Herlaaistelsel word voorberei..."
+#: ../../network/netconnect.pm_.c:165 ../../printer/printerdrake.pm_.c:2966
+#: ../../standalone/drakconnect_.c:271 ../../standalone/drakconnect_.c:274
+#: ../../standalone/drakfloppy_.c:118
+msgid "Expert Mode"
+msgstr "Kundige bedryfsvlak"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Enter your user information, password will be used for screensaver"
-msgstr ""
+#: ../../network/netconnect.pm_.c:171 ../../printer/printerdrake.pm_.c:364
+msgid "Detecting devices..."
+msgstr "Toestel word afgetas..."
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway (e.g. %s)"
-msgstr "Deurgangspoort (bv. %s)"
+#: ../../network/netconnect.pm_.c:214
+msgid "Normal modem connection"
+msgstr "Normale modemkonneksie"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
+#: ../../network/netconnect.pm_.c:214
#, c-format
-msgid "The passwords do not match"
-msgstr "Die wagwoorde stem nie ooreen nie."
+msgid "detected on port %s"
+msgstr "Op poort %s bespeur"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Examples for correct IPs:\n"
-msgstr "Voorbeelde van korrekte IPs:\n"
+#: ../../network/netconnect.pm_.c:215
+#, fuzzy
+msgid "Winmodem connection"
+msgstr "Normale modemkonneksie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose the media for backup."
-msgstr "Kies asseblief die media vir die rugsteun."
+#: ../../network/netconnect.pm_.c:215 ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "detected"
+msgstr "%s bespeur"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Frequency (MHz)"
-msgstr "Frekwensie (MHz)"
+#: ../../network/netconnect.pm_.c:216
+msgid "ISDN connection"
+msgstr "ISDN konneksie"
-#: ../../install_any.pm:1
+#: ../../network/netconnect.pm_.c:216
#, c-format
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Om hierdie gestoorde pakketkeuse te gebruik, herlaai die installasie met "
-"\"linux defcfg=floppy\""
+msgid "detected %s"
+msgstr "%s bespeur"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the number of the processor"
-msgstr "die verwerker se nommer"
+#: ../../network/netconnect.pm_.c:217
+msgid "ADSL connection"
+msgstr "ADSL konneksie"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware clock set to GMT"
-msgstr "Hardewareklok gestel vir GMT"
+#: ../../network/netconnect.pm_.c:218
+msgid "Cable connection"
+msgstr "Kabelkonneksie"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Do you want to start a new configuration ?"
-msgstr "Wil u 'n nuwe konfigurasie begin ?"
+#: ../../network/netconnect.pm_.c:218
+msgid "cable connection detected"
+msgstr "Kabelkonneksie bespeur"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Give a file name"
-msgstr "Voorsien 'n lernaam"
+#: ../../network/netconnect.pm_.c:219
+msgid "LAN connection"
+msgstr "LAN konneksie"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the port that your printer is connected to."
-msgstr "Kies asseblief die poort waaraan u drukker gekoppel is."
+#: ../../network/netconnect.pm_.c:219
+msgid "ethernet card(s) detected"
+msgstr "ethernet kaart(e) bespeur"
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Change Cd-Rom"
-msgstr "Verander CDROM"
+#: ../../network/netconnect.pm_.c:222
+msgid "Choose the connection you want to configure"
+msgstr "Kies die konneksie wat u wil konfigureer"
-#: ../../lang.pm:1
-#, c-format
-msgid "Paraguay"
-msgstr "Paraguay"
+#: ../../network/netconnect.pm_.c:246
+msgid ""
+"You have configured multiple ways to connect to the Internet.\n"
+"Choose the one you want to use.\n"
+"\n"
+msgstr ""
+"U het meer as een internetkonneksiemetode opgste.\n"
+"Kies die een wat u verlang.\n"
+"\n"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Configuration is complete, do you want to apply settings ?"
-msgstr "Konfigurasie is voltooi, wil u hierdie verstellings toepas?"
+#: ../../network/netconnect.pm_.c:247
+msgid "Internet connection"
+msgstr "Internetkonneksie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental/Differential Backups (do not replace old backups)"
+#: ../../network/netconnect.pm_.c:253
+msgid "Do you want to start the connection at boot?"
+msgstr "Wil u die konneksie met herlaaityd aanskakel?"
+
+#: ../../network/netconnect.pm_.c:267
+msgid "Network configuration"
+msgstr "Netwerkkonfigurasie"
+
+#: ../../network/netconnect.pm_.c:268
+msgid "The network needs to be restarted"
msgstr ""
-"Gebruik Aanwas-/Differensile-rugsteune (moet nie ou regsteune vervang nie)"
-#: ../../standalone/drakTermServ:1
+#: ../../network/netconnect.pm_.c:272
#, c-format
msgid ""
-" - Maintain /etc/dhcpd.conf:\n"
-" \tTo net boot clients, each client needs a dhcpd.conf entry, "
-"assigning an IP \n"
-" \taddress and net boot images to the machine. drakTermServ helps "
-"create/remove \n"
-" \tthese entries.\n"
-"\t\t\t\n"
-" \t(PCI cards may omit the image - etherboot will request the correct "
-"image. \n"
-"\t\t\tYou should also consider that when etherboot looks for the images, it "
-"expects \n"
-"\t\t\tnames like boot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
-"\t\t\t \n"
-" \tA typical dhcpd.conf stanza to support a diskless client looks "
-"like:"
+"A problem occured while restarting the network: \n"
+"\n"
+"%s"
msgstr ""
-" - Maintain /etc/dhcpd.conf:\n"
-" \tTo net boot clients, each client needs a dhcpd.conf entry, "
-"assigning an IP \n"
-" \taddress and net boot images to the machine. drakTermServ helps "
-"create/remove \n"
-" \tthese entries.\n"
-"\t\t\t\n"
-" \t(PCI cards may omit the image - etherboot will request the correct "
-"image. \n"
-"\t\t\tYou should also consider that when etherboot looks for the images, it "
-"expects \n"
-"\t\t\tnames like boot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
-"\t\t\t \n"
-" \tA typical dhcpd.conf stanza to support a diskless client looks "
-"like:"
+"Daar was 'n probleem met die herlaai van die netwerk.\n"
+"\n"
+"%s"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no known driver for your sound card (%s)"
+#: ../../network/netconnect.pm_.c:282
+msgid ""
+"Congratulations, the network and Internet configuration is finished.\n"
+"The configuration will now be applied to your system.\n"
+"\n"
msgstr ""
-"Daar is geen drywer, sover ons weet, beskikbaar vir klankkaart (%s) nie"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "force"
-msgstr "forseer"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Exit"
-msgstr "Verlaat"
+"Geluk, die netwerk en internetkonfigurasie is voltooi.\n"
+"\n"
+"Die kongiurasie gaan op u stelsel toegepas word.\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:286
msgid ""
-"NOTE: Depending on the printer model and the printing system up to %d MB of "
-"additional software will be installed."
+"After this is done, we recommend that you restart your X environment to "
+"avoid any hostname-related problems."
msgstr ""
-"NEEM KENNIS: Afhangende van die model drukker en die drukkerstelsel wat u "
-"gaan gebruik, kan tot %d MB ekstra sagteware genstalleer word."
+"Nadat dit klaar is, sal dit beter wes om u X-omgewing te herlaai\n"
+"om die rekenaarnaamveranderingprobleem te voorkom."
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../network/netconnect.pm_.c:287
msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
+"Problems occured during configuration.\n"
+"Test your connection via net_monitor or mcc. If your connection doesn't "
+"work, you might want to relaunch the configuration."
msgstr ""
-"U het geen koppelvlak wat opgestel is nie.\n"
-"Stel hulle eers op deur op deur op 'Konfigureer' te klik"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Estonian"
-msgstr "Estoniaans"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../network/network.pm_.c:278
msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+"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 ""
-"Apache is 'n WWW-bediener.\n"
-"Dit kan HTML-lers uitstuur en CGI's hanteer"
+"WAARSKUWING: Die toestel is alreeds opgestel om aan die internette "
+"konnekteer.\n"
+"U kan die toestel net so aanvaar.\n"
+"Veranderinge aan onderstaande velde sal hierdie konfigurasie oorskryf."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/network.pm_.c:283
msgid ""
-"Enter your CD Writer device name\n"
-" ex: 0,1,0"
+"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 ""
-"Voorsien u CD-skrywer se toestelnaam\n"
-" bv: 0,1,0"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ALL"
-msgstr "ALMAL"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Clients"
-msgstr "Voeg by/Verwyder Klinte"
+"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/ethernet.pm:1 ../../standalone/drakgw:1
-#: ../../standalone/drakpxe:1
+#: ../../network/network.pm_.c:293 ../../network/network.pm_.c:294
#, c-format
-msgid "Choose the network interface"
-msgstr "Kies die netwerkkoppelvlak"
+msgid "Configuring network device %s"
+msgstr "Konfigureer netwerktoestel %s"
-#: ../../printer/detect.pm:1 ../../printer/printerdrake.pm:1
+#: ../../network/network.pm_.c:294
#, c-format
-msgid "Unknown Model"
-msgstr "Onbekende Model"
+msgid " (driver %s)"
+msgstr "(drywer %s)"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CD/DVD burners"
-msgstr "CD/DVD-skrywers"
+#
+#: ../../network/network.pm_.c:296 ../../standalone/drakconnect_.c:228
+#: ../../standalone/drakconnect_.c:464
+msgid "IP address"
+msgstr "IP adres"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-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"
+#
+#: ../../network/network.pm_.c:297 ../../standalone/drakconnect_.c:465
+#: ../../standalone/drakgw_.c:291
+msgid "Netmask"
+msgstr "Netmasker"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to read the file"
-msgstr "Stel \"%s\" in staat om die ler te lees"
+#: ../../network/network.pm_.c:298
+msgid "(bootp/dhcp)"
+msgstr "(bootp/dhcp)"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image"
-msgstr "Kies 'n beeld"
+#: ../../network/network.pm_.c:298
+msgid "Automatic IP"
+msgstr "Outomatiese IP"
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid "Firewalling configuration detected!"
-msgstr "Vuurmuurkonfigurasie gevind!"
+#: ../../network/network.pm_.c:299
+#, fuzzy
+msgid "Start at boot"
+msgstr "Gelaai tydens herlaaityd"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection name"
-msgstr "Konneksienaam"
+#: ../../network/network.pm_.c:320 ../../printer/printerdrake.pm_.c:812
+msgid "IP address should be in format 1.2.3.4"
+msgstr "IP-adres moet in 1.2.3.4. formaat wees"
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../network/network.pm_.c:326
msgid ""
-"x coordinate of text box\n"
-"in number of characters"
+"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
+"frequency), or add enough '0'."
msgstr ""
-"x-kordinaat van teksboks\n"
-"in aantal karakters"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/network.pm_.c:330
msgid ""
-"You may not be able to install lilo (since lilo doesn't handle a LV on "
-"multiple PVs)"
+"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
+"enough '0'."
msgstr ""
-"U mag moontlik nie instaat wees om lilo te installeer nie ( sedert lilo nie "
-"'n LV op menigte PV's kan hanteer nie)"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Updating package selection"
-msgstr "Pakketseleksie word opgedateer"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount the loopback file %s?"
-msgstr "Waar wil u teruglusler %s heg?"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../network/network.pm_.c:350
msgid ""
-"The floppy has been successfully generated.\n"
-"You may now replay your installation."
+"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 ""
-"Die floppie is sukselvol geskep.\n"
-"U kan nou weer 'n installasie uitspeel."
+"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"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use CD-R/DVD-R to backup"
-msgstr "Gebruik CD-R/DVD-R vir maak van rugsteun"
+#: ../../network/network.pm_.c:355
+msgid "DNS server"
+msgstr "DNS bediener"
-#: ../../standalone/harddrake2:1
+#: ../../network/network.pm_.c:356
#, c-format
-msgid "the number of buttons the mouse has"
-msgstr "die muis se aantal knoppies"
+msgid "Gateway (e.g. %s)"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Replay"
-msgstr "Herspeel"
+#: ../../network/network.pm_.c:358
+msgid "Gateway device"
+msgstr "Netwerkportaaltoestel"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup other files"
-msgstr "Rugsteun ander lers"
+#: ../../network/network.pm_.c:363
+#, fuzzy
+msgid "DNS server address should be in format 1.2.3.4"
+msgstr "IP-adres moet in 1.2.3.4. formaat wees"
-#: ../../install_steps.pm:1
-#, c-format
-msgid "No floppy drive available"
-msgstr "Geen disketaandrywer beskikbaar nie"
+#: ../../network/network.pm_.c:367
+#, fuzzy
+msgid "Gateway address should be in format 1.2.3.4"
+msgstr "IP-adres moet in 1.2.3.4. formaat wees"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files are corrupted"
-msgstr "Rugsteun-lers is korrup"
+#: ../../network/network.pm_.c:381
+msgid "Proxies configuration"
+msgstr "Instaanbedienerkonfigurasie"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "TV norm:"
-msgstr "TV-norm:"
+#: ../../network/network.pm_.c:382
+msgid "HTTP proxy"
+msgstr "HTTP instaanbediener"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid family"
-msgstr "Cpuid-familie"
+#: ../../network/network.pm_.c:383
+msgid "FTP proxy"
+msgstr "FTP instaanbediener"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "32 MB"
-msgstr "32 MB"
+#: ../../network/network.pm_.c:384
+msgid "Track network card id (useful for laptops)"
+msgstr "Volg netwerkkart ID. (nuttig vir skootrekenaars)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: thin"
-msgstr "tipe: dun"
+#: ../../network/network.pm_.c:387
+msgid "Proxy should be http://..."
+msgstr "Instaanbediener moet begin met http://"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lituanies AZERTY (nuut)"
+#: ../../network/network.pm_.c:388
+#, fuzzy
+msgid "Url should begin with 'ftp:' or 'http:'"
+msgstr "Instaanbediener moet begin met http://"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the arithmetic coprocessor has an exception vector attached"
-msgstr ""
-"ja, beteken dat die rekenkundige-koverwerker 'n eksepsie-vektor aangeheg het"
+#: ../../network/shorewall.pm_.c:26
+msgid "Firewalling configuration detected!"
+msgstr "Vuurmuurkonfigurasie gevind!"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/shorewall.pm_.c:27
msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"Please be sure to add a /boot partition"
+"Warning! An existing firewalling configuration has been detected. You may "
+"need some manual fix after installation."
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."
+"Waarskuwing! 'n Bestaande vuurmuurkonfigurasie is bespeur. U sal dalk na "
+"dietyd self regstellings moet aanbring."
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (MacOS...)"
-msgstr "Ander bedryfstelsel (MacOS...)"
+#: ../../network/tools.pm_.c:57
+msgid "Internet configuration"
+msgstr "Internetkonfigurasie"
-#
-#: ../../mouse.pm:1
-#, c-format
-msgid "To activate the mouse,"
-msgstr "Om die muis te aktiveer,"
+#: ../../network/tools.pm_.c:58
+msgid "Do you want to try to connect to the Internet now?"
+msgstr "Wil u nou aan die internet konnekteer?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing up the network"
-msgstr "Netwerk op pad op"
+#: ../../network/tools.pm_.c:61 ../../standalone/drakconnect_.c:193
+msgid "Testing your connection..."
+msgstr "Konneksie word getoets..."
-#: ../../common.pm:1
-#, c-format
-msgid "Screenshots will be available after install in %s"
-msgstr "Skermfoto's sal na die installasie beskikbaar wees in %s"
+#: ../../network/tools.pm_.c:70
+msgid "The system is now connected to Internet."
+msgstr "Die stelsel is nou aan die internet gekonnekteer."
-#: ../../help.pm:1
-#, c-format
+#: ../../network/tools.pm_.c:71
+msgid "For security reason, it will be disconnected now."
+msgstr "Vir sekuriteitsredes, word u nou gediskonnekteer."
+
+#: ../../network/tools.pm_.c:72
msgid ""
-"More than one Microsoft partition has been detected on your hard drive.\n"
-"Please choose which one you want to resize in order to install your new\n"
-"Mandrake Linux operating system.\n"
-"\n"
-"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
-"\"Capacity\".\n"
-"\n"
-"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc.\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
-"disk or partition is called \"C:\")."
+"The system doesn't seem to be connected to internet.\n"
+"Try to reconfigure your connection."
msgstr ""
-"Ons het meer as een Microsoft-partisie op u hardeskyf gevind.\n"
-"Kies dan nou die een wie se grootte u wil verander, om plek te maak\n"
-"vir u nuwe Mandrake Linux bedryfstelsel.\n"
-"\n"
-"Elke partisie is as volg gelys: \"Linux-naam\", \"Windows-naam\"\n"
-"\"Kapasiteit\".\n"
-"\n"
-"\"Linux-naam werk as volg\" \"tipe hardeskyf\", \"nommer van hardeskyf\",\n"
-"\"nommer van partisie\" (byvoorbeeld: \"hda1\").\n"
-"\n"
-"Indien u 'n IDE tipe hardeskyf het sal die tipe \"hd\" wees, en SCSI, sal \n"
-"\"sd\" wees\n"
-"\n"
-"Die nommer van die hardeskyf is altyd 'n letter, wat volg na \"hd\" of\n"
-"\"sd\".\n"
-"Met IDE hardeskywe:\n"
-"\n"
-" * \"a\" beteken \"meester-hardeskyf op die primre IDE-beheerder\";\n"
-"\n"
-" * \"b\" beteken \"slaaf-hardeskyf op die primre IDE-beheerder\";\n"
-"\n"
-" * \"c\" beteken \"meester-hardeskyf op die sekondre IDE-beheerder\";\n"
-"\n"
-" * \"e\" beteken \"slaaf-hardeskyf op die sekondre IDE-beheerder\";\n"
-"\n"
-"Met SCSI-hardeskywe, beteken 'n \"a\" die kleinste SCSI-ID,\"b\" sal\n"
-"dan die volgende ID verteenwoordig ens.\n"
-"\n"
-"\"Windows-naam\" is die letter van u hardeskyf onder Windoes ( die eerste\n"
-"skyf of partisie word \"C:\" genoem.)"
+"Die tselsel blyk nie aan die internet gekonnekteer te wees nie.\n"
+"Probeer om u stelsel te herkonfigureer."
-#: ../../lang.pm:1
-#, c-format
-msgid "Tanzania"
-msgstr "Tanzani"
+#
+#: ../../network/tools.pm_.c:96
+msgid "Connection Configuration"
+msgstr "Konneksiekonfigurasie"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Computing FAT filesystem bounds"
-msgstr "FAT lerstelselgrense word bereken"
+#: ../../network/tools.pm_.c:97
+msgid "Please fill or check the field below"
+msgstr "Vul asb. die velde hieronder in"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Backup Sources: \n"
-msgstr ""
-"\n"
-"Rugsteun-bronne: \n"
+#: ../../network/tools.pm_.c:99 ../../standalone/drakconnect_.c:605
+msgid "Card IRQ"
+msgstr "Kaart IRQ"
-#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "custom"
-msgstr "aangepaste"
+#: ../../network/tools.pm_.c:100 ../../standalone/drakconnect_.c:606
+msgid "Card mem (DMA)"
+msgstr "Kaartgeheue (DMA)"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Content of the file"
-msgstr "Inhoud van die ler"
+#: ../../network/tools.pm_.c:101 ../../standalone/drakconnect_.c:607
+msgid "Card IO"
+msgstr "Kaart I/O"
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication LDAP"
-msgstr "LDAP-magtiging"
+#: ../../network/tools.pm_.c:102 ../../standalone/drakconnect_.c:608
+msgid "Card IO_0"
+msgstr "Kaart IO_0"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "in order to keep %s"
-msgstr ""
+#: ../../network/tools.pm_.c:103 ../../standalone/drakconnect_.c:609
+msgid "Card IO_1"
+msgstr "Kaart IO_1"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Let me pick any driver"
-msgstr "Laat ek enige drywer kies"
+#: ../../network/tools.pm_.c:104 ../../standalone/drakconnect_.c:610
+msgid "Your personal phone number"
+msgstr "U persoonlike telefoonnommer"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "transmitted"
-msgstr "reeds versend"
+#: ../../network/tools.pm_.c:105 ../../standalone/drakconnect_.c:611
+msgid "Provider name (ex provider.net)"
+msgstr "Voorsienernaam (bv voorsiener.co.za)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palestine"
-msgstr "Palestina"
+#: ../../network/tools.pm_.c:106 ../../standalone/drakconnect_.c:612
+msgid "Provider phone number"
+msgstr "Voorsiener se telefoonnommer"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
+#: ../../network/tools.pm_.c:107 ../../standalone/drakconnect_.c:613
+msgid "Provider dns 1 (optional)"
+msgstr "Voorsiener DNS 1 (opsioneel)"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated strings"
-msgstr "%d komma-afgeskeie teks"
+#: ../../network/tools.pm_.c:108 ../../standalone/drakconnect_.c:614
+msgid "Provider dns 2 (optional)"
+msgstr "Voorsiener DNS 2 (opsioneel)"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " isdn"
-msgstr " isdn"
+#: ../../network/tools.pm_.c:109
+msgid "Choose your country"
+msgstr "Kies u land"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Here is the full list of keyboards available"
-msgstr "Hierdie is die volledige lys van beskikbare sleutelborde"
+#: ../../network/tools.pm_.c:110 ../../standalone/drakconnect_.c:617
+msgid "Dialing mode"
+msgstr "Belmetode"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Theme name"
-msgstr "Naam van tema"
+#: ../../network/tools.pm_.c:111 ../../standalone/drakconnect_.c:629
+msgid "Connection speed"
+msgstr "Konneksiespoed"
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Help"
-msgstr "/_Help"
+#: ../../network/tools.pm_.c:112 ../../standalone/drakconnect_.c:630
+msgid "Connection timeout (in sec)"
+msgstr "Konneksie tydlimiet (in sekondes)"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Choosing an arbitrary driver"
-msgstr "Kies 'n eiemagtige drywer"
+#: ../../network/tools.pm_.c:113 ../../standalone/drakconnect_.c:615
+msgid "Account Login (user name)"
+msgstr "Gebruikerskode"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cook Islands"
-msgstr "Cook Eilande"
+#: ../../network/tools.pm_.c:114 ../../standalone/drakconnect_.c:616
+#: ../../standalone/drakconnect_.c:647
+msgid "Account Password"
+msgstr "Wagwoord"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Here you can choose whether the scanners connected to this machine should be "
-"accessable by remote machines and by which remote machines."
+#: ../../network/tools.pm_.c:118 ../../network/tools.pm_.c:132
+msgid "United Kingdom"
msgstr ""
-"Hier kan u kies of skandeerders wat aan hierdie rekenaar gekoppel is "
-"toeganklik sal wees vir eksterne masjiene, asook watter masjiene."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the width of the progress bar"
-msgstr "die wydte van die vorderingbalk"
+#: ../../partition_table.pm_.c:603
+msgid "mount failed: "
+msgstr "heg het gefaal"
-#: ../../fs.pm:1
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Partisie %s word formateer"
+#: ../../partition_table.pm_.c:667
+msgid "Extended partition not supported on this platform"
+msgstr "Ekstensiepartisie word nie op hierdie platform ondersteun nie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hostname required"
-msgstr "Rekenaarnaam word benodig"
+#: ../../partition_table.pm_.c:685
+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"
-#: ../../standalone/drakfont:1
+#: ../../partition_table.pm_.c:774
#, c-format
-msgid "Unselect fonts installed"
-msgstr "Nie-gekose lettertipes genstalleer"
+msgid "Restoring from file %s failed: %s"
+msgstr "Herstel van ler %s het gefaal: %s"
-#
-#: ../../mouse.pm:1
-#, c-format
-msgid "Wheel"
-msgstr "Wiel"
+#: ../../partition_table.pm_.c:776
+msgid "Bad backup file"
+msgstr "Korrupte rugsteunler"
-#: ../../standalone/drakbug:1
+#: ../../partition_table.pm_.c:796
#, c-format
-msgid "Submit kernel version"
-msgstr "Dien kernel se weergawe in"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakautoinst:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/logdrake:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Cancel"
-msgstr "Kanselleer"
+msgid "Error writing to file %s"
+msgstr "Fout in die skryf van %s"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for configured scanners ..."
-msgstr "Opsoek na skandeerders wat reeds opgestel is ..."
+#: ../../partition_table/raw.pm_.c:192
+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 ""
+"Iets vrots gebeur op u hardeskyf.\n"
+"'n Dataintegriteitstoets het misluk.\n"
+"Dit beteken dat enigiets wat na u hardeskyf geskryf word as gemors sal "
+"eindig."
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Videocard"
-msgstr "Videokaart"
+#: ../../pkgs.pm_.c:26
+msgid "must have"
+msgstr "benodig"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and bzip2\n"
-msgstr "\tRugsteun gebruik 'tar' en 'bzip2'\n"
+#: ../../pkgs.pm_.c:27
+msgid "important"
+msgstr "belangrik"
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Remove Selected"
-msgstr "Verwyder Gekose"
+#: ../../pkgs.pm_.c:28
+msgid "very nice"
+msgstr "baie oulik"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _modems"
-msgstr "/Outospeur _modems"
+#: ../../pkgs.pm_.c:29
+msgid "nice"
+msgstr "oulik"
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove printer"
-msgstr "Verwyder drukker"
+#: ../../pkgs.pm_.c:30
+msgid "maybe"
+msgstr "moontlik"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Last Log"
-msgstr "Bekyk Laaste Log"
+#: ../../printer/data.pm_.c:18
+msgid "PDQ - Print, Don't Queue"
+msgstr "PDQ - Druk sonder drukkertou"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Which services would you like to allow the Internet to connect to?"
-msgstr "Watter dienste wil u toelaat vanaf die Internet?"
+#: ../../printer/data.pm_.c:19
+msgid "PDQ"
+msgstr "PDQ"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Connection Type"
-msgstr "Konneksietipe"
+#: ../../printer/data.pm_.c:30
+msgid "LPD - Line Printer Daemon"
+msgstr "LPD - Lyndrukkerdiensprogram"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"Welcome to the mail configuration utility.\n"
-"\n"
-"Here, you'll be able to set up the alert system.\n"
-msgstr ""
-"Welkom by die e-pos konfigurasie-program.\n"
-"\n"
-"Hier kan u die waarskuwing-stelsel opstel\n"
+#: ../../printer/data.pm_.c:31
+msgid "LPD"
+msgstr "LPD"
-#: ../../install_steps_gtk.pm:1 ../../mouse.pm:1 ../../services.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Other"
-msgstr "Ander"
+#: ../../printer/data.pm_.c:51
+msgid "LPRng - LPR New Generation"
+msgstr "LPRng - Nuwe generasie LPR"
-#: ../../any.pm:1 ../../harddrake/v4l.pm:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Default"
-msgstr "Verstek"
+#: ../../printer/data.pm_.c:52
+msgid "LPRng"
+msgstr "LPRng"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 2 Emulation"
-msgstr "Knop-2 Emulasie"
+#: ../../printer/data.pm_.c:75
+msgid "CUPS - Common Unix Printing System"
+msgstr "CUPS - Generiese Unixdrukstelsel (Common Unix Printing System) "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Please enter a package name."
-msgstr "Voorsien asseblief 'n pakketnaam."
+#: ../../printer/data.pm_.c:76 ../../printer/main.pm_.c:677
+msgid "CUPS"
+msgstr "CUPS"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run chkrootkit checks"
-msgstr "Loop 'chkrootkit' toetste"
+#: ../../printer/detect.pm_.c:80 ../../printer/detect.pm_.c:213
+#: ../../printer/detect.pm_.c:250
+#, fuzzy
+msgid "Unknown Model"
+msgstr "Onbekende model"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "type1inst building"
-msgstr "type1inst building"
+#: ../../printer/main.pm_.c:26
+msgid "Local printer"
+msgstr "Plaaslike drukker"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Abiword"
-msgstr "Abiword"
+#
+#: ../../printer/main.pm_.c:27
+msgid "Remote printer"
+msgstr "Eksterne drukker"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image file"
-msgstr "kies grafika-ler"
+#
+#: ../../printer/main.pm_.c:28
+msgid "Printer on remote CUPS server"
+msgstr "Eksterne CUPS-drukker"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "X server"
-msgstr "X-bediener"
+#
+#: ../../printer/main.pm_.c:29 ../../printer/printerdrake.pm_.c:835
+msgid "Printer on remote lpd server"
+msgstr "Eksterne LPD-drukker"
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin User Name"
-msgstr "Domein-administrarteur se naam"
+#
+#: ../../printer/main.pm_.c:30
+#, fuzzy
+msgid "Network printer (TCP/Socket)"
+msgstr "Netwerkdrukker (sok)"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "There was an error while scanning for TV channels"
-msgstr "Daar was 'n fout met die skandering vir TV-kanale"
+#: ../../printer/main.pm_.c:31
+msgid "Printer on SMB/Windows 95/98/NT server"
+msgstr "Eksterne SMB/Windows 95/98/NT-drukker"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard (international)"
-msgstr "VSA internasionale sleutelbord"
+#: ../../printer/main.pm_.c:32
+msgid "Printer on NetWare server"
+msgstr "Eksterne Netware-drukker"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Not installed"
-msgstr "Nie genstalleeer"
+#: ../../printer/main.pm_.c:33 ../../printer/printerdrake.pm_.c:839
+msgid "Enter a printer device URI"
+msgstr "Tik drukkertoestel URI in"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Alt keys simultaneously"
-msgstr "Beide Alt-sleutels gelyktydig"
+#: ../../printer/main.pm_.c:34
+msgid "Pipe job into a command"
+msgstr "Pyk drukstuk na program"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "LAN connection"
-msgstr "LAN-konneksie"
+#: ../../printer/main.pm_.c:290 ../../printer/main.pm_.c:478
+#: ../../printer/main.pm_.c:794 ../../printer/printerdrake.pm_.c:3228
+msgid "Unknown model"
+msgstr "Onbekende model"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/-"
-msgstr "/Ler/-"
+#: ../../printer/main.pm_.c:317
+#, fuzzy
+msgid "Local Printers"
+msgstr "Plaaslike drukker"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Italian"
-msgstr "Italiaans"
+#
+#: ../../printer/main.pm_.c:319 ../../printer/main.pm_.c:678
+#, fuzzy
+msgid "Remote Printers"
+msgstr "Eksterne drukker"
-#: ../../interactive.pm:1
+#: ../../printer/main.pm_.c:326 ../../printer/printerdrake.pm_.c:381
#, c-format
-msgid "Basic"
-msgstr "Basies"
+msgid " on parallel port \\/*%s"
+msgstr ""
-#: ../../install_messages.pm:1
+#: ../../printer/main.pm_.c:329 ../../printer/printerdrake.pm_.c:383
#, c-format
-msgid "http://www.mandrakelinux.com/en/92errata.php3"
-msgstr "http://www.mandrakelinux.com/en/92errata.php3"
+msgid ", USB printer \\/*%s"
+msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/main.pm_.c:334
#, c-format
-msgid "Honduras"
-msgstr "Honduras"
+msgid ", multi-function device on parallel port \\/*%s"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "pdq"
-msgstr "pdq"
+#: ../../printer/main.pm_.c:337
+msgid ", multi-function device on USB"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO"
-msgstr "Kaart I/O"
+#: ../../printer/main.pm_.c:339
+msgid ", multi-function device on HP JetDirect"
+msgstr ""
+
+#: ../../printer/main.pm_.c:341
+msgid ", multi-function device"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../printer/main.pm_.c:344
#, fuzzy, c-format
-msgid "Samba server"
-msgstr "Samba-bediener"
+msgid ", printing to %s"
+msgstr "Fout in die skryf van %s"
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/main.pm_.c:346
#, c-format
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
+msgid " on LPD server \"%s\", printer \"%s\""
msgstr ""
-"\n"
-"Hierdie spesiale herlaaipartisie\n"
-"is om u stelsel te duolaai.\n"
-#: ../../standalone/drakautoinst:1
+#: ../../printer/main.pm_.c:348
#, c-format
-msgid ""
-"Please choose for each step whether it will replay like your install, or it "
-"will be manual"
+msgid ", TCP/IP host \"%s\", port %s"
msgstr ""
-"Gaan asseblief deur elke stap, en kies of dit moet herspeel soos tydens die "
-"installasie, of dit vir u moet wag"
-#: ../../standalone/scannerdrake:1
+#: ../../printer/main.pm_.c:352
#, c-format
-msgid ""
-"You can also decide here whether scanners on remote machines should be made "
-"available on this machine."
+msgid " on SMB/Windows server \"%s\", share \"%s\""
msgstr ""
-"U kan ook hier kies of skandeerders van eksterne rekenaars beskikbaar moet "
-"wees op hierdie masjien."
-#: ../../standalone/drakbackup:1
+#: ../../printer/main.pm_.c:356
#, c-format
-msgid "\t-Network by FTP.\n"
-msgstr "\t-Netwerk deur FTP.\n"
+msgid " on Novell server \"%s\", printer \"%s\""
+msgstr ""
-#: ../../security/l10n.pm:1
+#: ../../printer/main.pm_.c:358
#, c-format
-msgid "Reports check result to tty"
-msgstr "Stuur toets-resultate na tty"
+msgid ", using command %s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must enter a device or file name!"
-msgstr "U moet 'n toestel- of lernaam voorsien!"
+#: ../../printer/main.pm_.c:475 ../../printer/printerdrake.pm_.c:1603
+msgid "Raw printer (No driver)"
+msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
+#: ../../printer/main.pm_.c:647
#, c-format
-msgid "/_Quit"
-msgstr "/_Verlaat"
+msgid "(on %s)"
+msgstr "(op %s)"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics memory: %s kB\n"
-msgstr "Video geheue: %s kB\n"
+#: ../../printer/main.pm_.c:649
+msgid "(on this machine)"
+msgstr "(op hierdie rekenaar)"
-#: ../../standalone.pm:1
-#, c-format
+#: ../../printer/main.pm_.c:674
+#, fuzzy, c-format
+msgid "On CUPS server \"%s\""
+msgstr "CUPS-bediener IP:"
+
+#: ../../printer/main.pm_.c:680 ../../printer/printerdrake.pm_.c:2888
+#: ../../printer/printerdrake.pm_.c:2899 ../../printer/printerdrake.pm_.c:3120
+#: ../../printer/printerdrake.pm_.c:3171 ../../printer/printerdrake.pm_.c:3197
+#: ../../printer/printerdrake.pm_.c:3352 ../../printer/printerdrake.pm_.c:3354
+msgid " (Default)"
+msgstr " (Verstek)"
+
+#: ../../printer/printerdrake.pm_.c:27
+msgid "Select Printer Connection"
+msgstr "Kies drukkerkonneksie"
+
+#: ../../printer/printerdrake.pm_.c:28
+msgid "How is the printer connected?"
+msgstr "Hoe is die drukker gekonekteer?"
+
+#: ../../printer/printerdrake.pm_.c:30
+#, fuzzy
msgid ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"Printers on remote CUPS servers you do not have to configure here; these "
+"printers will be automatically detected."
msgstr ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"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-drukker\"."
-#: ../../any.pm:1
-#, c-format
-msgid "access to compilation tools"
-msgstr "toegang na kompilasie-gereedskap"
+#: ../../printer/printerdrake.pm_.c:38
+msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Global statistics"
-msgstr "Statistieke"
+#: ../../printer/printerdrake.pm_.c:81 ../../printer/printerdrake.pm_.c:2950
+#, fuzzy
+msgid "CUPS configuration"
+msgstr "Konfigurasie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select data to restore..."
-msgstr "Kies asseblief data om te herstel..."
+#
+#: ../../printer/printerdrake.pm_.c:82 ../../printer/printerdrake.pm_.c:2951
+#, fuzzy
+msgid "Specify CUPS server"
+msgstr "Verwyder CUPS-bediener"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:83
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"
+"To get access to printers on remote CUPS servers in your local network you "
+"do not have to configure anything; the CUPS servers inform your machine "
+"automatically about their printers. All printers currently known to your "
+"machine are listed in the \"Remote printers\" section in the main window of "
+"Printerdrake. When your CUPS server is not in your local network, you have "
+"to enter the CUPS server IP address and optionally the port number to get "
+"the printer information from the server, otherwise leave these fields blank."
msgstr ""
-"Indien u beplan om 'aboot' te gebruik, los spasie aan die begin\n"
-"van die skyf. (2048 sektors is genoeg)."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Standard test page"
-msgstr "Standaard toetsbladsy"
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Time Zone"
-msgstr "Tydsone"
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create"
-msgstr "Skep"
+#: ../../printer/printerdrake.pm_.c:84
+msgid ""
+"\n"
+"Normally, CUPS is automatically configured according to your network "
+"environment, so that you can access the printers on the CUPS servers in your "
+"local network. If this does not work correctly, turn off \"Automatic CUPS "
+"configuration\" and edit your file /etc/cups/cupsd.conf manually. Do not "
+"forget to restart CUPS afterwards (command: \"service cups restart\")."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "What"
-msgstr "Wat"
+#: ../../printer/printerdrake.pm_.c:88
+msgid "The IP address should look like 192.168.1.20"
+msgstr "IP-adres moet iets soos 192.168.1.20. lyk"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error ordering packages:"
-msgstr "Daar was 'n fout met pakkette:"
+#: ../../printer/printerdrake.pm_.c:92 ../../printer/printerdrake.pm_.c:1041
+msgid "The port number should be an integer!"
+msgstr "Die poortnommer moet heeltal wees."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (BDS)"
-msgstr "Bulgaars (BDS)"
+#: ../../printer/printerdrake.pm_.c:99
+msgid "CUPS server IP"
+msgstr "CUPS-bediener IP:"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Server"
-msgstr "Versper Bediener"
+#: ../../printer/printerdrake.pm_.c:100 ../../printer/printerdrake.pm_.c:1061
+#: ../../standalone/harddrake2_.c:63
+msgid "Port"
+msgstr "Poort"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem encryption key"
-msgstr "Enkripsie-sleutel van lerstelsel"
+#: ../../printer/printerdrake.pm_.c:102
+msgid "Automatic CUPS configuration"
+msgstr "Outomatiese CUPS konfigurasie"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gujarati"
-msgstr "Gujarati"
+#
+#: ../../printer/printerdrake.pm_.c:159
+#, fuzzy
+msgid "Checking your system..."
+msgstr "Watter drukkerstelsel verlang u?"
+
+#: ../../printer/printerdrake.pm_.c:159 ../../printer/printerdrake.pm_.c:226
+#: ../../printer/printerdrake.pm_.c:1477 ../../printer/printerdrake.pm_.c:1481
+#: ../../printer/printerdrake.pm_.c:1598 ../../printer/printerdrake.pm_.c:2133
+#: ../../printer/printerdrake.pm_.c:2284 ../../printer/printerdrake.pm_.c:2343
+#: ../../printer/printerdrake.pm_.c:2415 ../../printer/printerdrake.pm_.c:2436
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2630
+#: ../../printer/printerdrake.pm_.c:2636 ../../printer/printerdrake.pm_.c:2701
+#: ../../printer/printerdrake.pm_.c:2720 ../../printer/printerdrake.pm_.c:2731
+#: ../../printer/printerdrake.pm_.c:2764 ../../printer/printerdrake.pm_.c:2809
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:2911
+#: ../../printer/printerdrake.pm_.c:2989 ../../printer/printerdrake.pm_.c:3281
+#: ../../printer/printerdrake.pm_.c:3328 ../../printer/printerdrake.pm_.c:3369
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Printerdrake"
+msgstr "Drukker"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:167
msgid ""
-" While you can use a pool of IP addresses, rather than setup a "
-"specific entry for\n"
-" a client machine, using a fixed address scheme facilitates using the "
-"functionality\n"
-" of client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-" Note: The '#type' entry is only used by drakTermServ. Clients can "
-"either be 'thin'\n"
-" or 'fat'. Thin clients run most software on the server via xdmcp, "
-"while fat clients run \n"
-" most software on the client machine. A special inittab, %s is\n"
-" written for thin clients. System config files xdm-config, kdmrc, and "
-"gdm.conf are \n"
-" modified if thin clients are used, to enable xdmcp. Since there are "
-"security issues in \n"
-" using xdmcp, hosts.deny and hosts.allow are modified to limit access "
-"to the local\n"
-" subnet.\n"
-"\t\t\t\n"
-" Note: The '#hdw_config' entry is also only used by drakTermServ. "
-"Clients can either \n"
-" be 'true' or 'false'. 'true' enables root login at the client "
-"machine and allows local \n"
-" hardware configuration of sound, mouse, and X, using the 'drak' "
-"tools. This is enabled \n"
-" by creating separate config files associated with the client's IP "
-"address and creating \n"
-" read/write mount points to allow the client to alter the file. Once "
-"you are satisfied \n"
-" with the configuration, you can remove root login privileges from "
-"the client.\n"
-"\t\t\t\n"
-" Note: You must stop/start the server after adding or changing "
-"clients."
+"There are no printers found which are directly connected to your machine"
msgstr ""
-" While you can use a pool of IP addresses, rather than setup a "
-"specific entry for\n"
-" a client machine, using a fixed address scheme facilitates using the "
-"functionality\n"
-" of client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-" Note: The '#type' entry is only used by drakTermServ. Clients can "
-"either be 'thin'\n"
-" or 'fat'. Thin clients run most software on the server via xdmcp, "
-"while fat clients run \n"
-" most software on the client machine. A special inittab, %s is\n"
-" written for thin clients. System config files xdm-config, kdmrc, and "
-"gdm.conf are \n"
-" modified if thin clients are used, to enable xdmcp. Since there are "
-"security issues in \n"
-" using xdmcp, hosts.deny and hosts.allow are modified to limit access "
-"to the local\n"
-" subnet.\n"
-"\t\t\t\n"
-" Note: The '#hdw_config' entry is also only used by drakTermServ. "
-"Clients can either \n"
-" be 'true' or 'false'. 'true' enables root login at the client "
-"machine and allows local \n"
-" hardware configuration of sound, mouse, and X, using the 'drak' "
-"tools. This is enabled \n"
-" by creating separate config files associated with the client's IP "
-"address and creating \n"
-" read/write mount points to allow the client to alter the file. Once "
-"you are satisfied \n"
-" with the configuration, you can remove root login privileges from "
-"the client.\n"
-"\t\t\t\n"
-" Note: You must stop/start the server after adding or changing "
-"clients."
-#: ../../interactive/stdio.pm:1
-#, c-format
+#
+#: ../../printer/printerdrake.pm_.c:179
+#, fuzzy
msgid ""
-"Please choose the first number of the 10-range you wish to edit,\n"
-"or just hit Enter to proceed.\n"
-"Your choice? "
-msgstr ""
-"Kies asseblief die eerste getal van die 10-reeks wat u wil redigeer,\n"
-"of gebruik bloot [Enter] om voort te gaan.\n"
-"U keuse?"
+"The following printers\n"
+"\n"
+msgstr "Dei volgende pakkette gaan verwyder word"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#
+#: ../../printer/printerdrake.pm_.c:180
+#, fuzzy
msgid ""
+"The following printer\n"
"\n"
-" Copyright (C) 2002 by MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
+msgstr "Dei volgende pakkette gaan verwyder word"
+
+#: ../../printer/printerdrake.pm_.c:182
+msgid ""
"\n"
+"and one unknown printer are "
msgstr ""
-"\n"
-" Copyright (C) 2002 by MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
-"\n"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Save theme"
-msgstr "Stoor tema"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Brazil"
-msgstr "Brasili"
-#: ../../standalone/drakautoinst:1
+#: ../../printer/printerdrake.pm_.c:184
#, c-format
-msgid "Auto Install"
-msgstr "Outomatiese-installasie"
+msgid ""
+"\n"
+"and %d unknown printers are "
+msgstr ""
-#: ../../network/isdn.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Network Configuration Wizard"
-msgstr "Netwerkkonfigurasie-assistent"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"are "
+msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removable media automounting"
-msgstr "Outoheg van verwyderbare media"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"is "
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Printing"
-msgstr "Drukwerk"
+#: ../../printer/printerdrake.pm_.c:189
+#, fuzzy
+msgid "directly connected to your system"
+msgstr "Daar is geen netwerkkaart op hierdie rekenaar nie!"
-#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save:"
-msgstr "Voorsien die lergids om te stoor:"
+#: ../../printer/printerdrake.pm_.c:192
+msgid ""
+"\n"
+"There is one unknown printer directly connected to your system"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:194
#, c-format
msgid ""
-"There are no printers found which are directly connected to your machine"
-msgstr "Geen drukkers te vinde wat direk aan u rekenaar gekoppel is nie"
+"\n"
+"There are %d unknown printers directly connected to your system"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create a new partition"
-msgstr "Skep 'n nuwe partisie"
+#: ../../printer/printerdrake.pm_.c:200
+#, fuzzy
+msgid " (Make sure that all your printers are connected and turned on).\n"
+msgstr "Op watter seriaalpoort is u modem gekoppel?"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Driver:"
-msgstr "Drywer:"
+#: ../../printer/printerdrake.pm_.c:214
+msgid ""
+"Do you want to enable printing on the printers mentioned above or on "
+"printers in the local network?\n"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "unknown"
-msgstr "Onbekend"
+#: ../../printer/printerdrake.pm_.c:215
+#, fuzzy
+msgid "Do you want to enable printing on printers in the local network?\n"
+msgstr ""
+"Wil u hierdie drukker (\"%s\")\n"
+"die verstek drukker maak?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use fdisk"
-msgstr "Gebruik fdisk"
+#: ../../printer/printerdrake.pm_.c:217
+#, fuzzy
+msgid "Do you want to enable printing on the printers mentioned above?\n"
+msgstr "Wil u die konneksie met herlaaityd aanskakel?"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MOVE YOUR WHEEL!"
-msgstr "BEWEEG DIE WIEL!"
+#: ../../printer/printerdrake.pm_.c:218
+msgid "Are you sure that you want to set up printing on this machine?\n"
+msgstr ""
-#: ../../standalone/net_monitor:1
+#: ../../printer/printerdrake.pm_.c:219
#, c-format
-msgid "sent: "
-msgstr "stuur: "
+msgid ""
+"NOTE: Depending on the printer model and the printing system up to %d MB of "
+"additional software will be installed."
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Automatic IP"
-msgstr "Outomatiese IP"
+#: ../../printer/printerdrake.pm_.c:258 ../../printer/printerdrake.pm_.c:270
+#: ../../printer/printerdrake.pm_.c:328 ../../printer/printerdrake.pm_.c:2933
+#: ../../printer/printerdrake.pm_.c:3060
+#, fuzzy
+msgid "Add a new printer"
+msgstr "Voeg drukker by"
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:259
msgid ""
-"There you are. Installation is now complete and your GNU/Linux system is\n"
-"ready to use. Just click \"%s\" to reboot the system. The first thing you\n"
-"should see after your computer has finished doing its hardware tests is the\n"
-"bootloader menu, giving you the choice of which operating system to start.\n"
"\n"
-"The \"%s\" button shows two more buttons to:\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\": to create an installation floppy disk that will automatically\n"
-"perform a whole installation without the help of an operator, similar to\n"
-"the installation you just configured.\n"
+"This wizard allows you to install local or remote printers to be used from "
+"this machine and also from other machines in the network.\n"
"\n"
-" Note that two different options are available after clicking the button:\n"
+"It asks you for all necessary information to set up the printer and gives "
+"you access to all available printer drivers, driver options, and printer "
+"connection types."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:272
+msgid ""
"\n"
-" * \"%s\". This is a partially automated installation. The partitioning\n"
-"step is the only interactive procedure.\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\". Fully automated installation: the hard disk is completely\n"
-"rewritten, all data is lost.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer, connected directly to the network or to a remote Windows machine.\n"
"\n"
-" This feature is very handy when installing a number of similar machines.\n"
-"See the Auto install section on our web site for more information.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) and you Windows machines must be connected and "
+"turned on.\n"
"\n"
-" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
-"To use this selection with another installation, insert the floppy and\n"
-"start the installation. At the prompt, press the [F1] key and type >>linux\n"
-"defcfg=\"floppy\" <<.\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network and/or Windows-hosted printers when you don't need "
+"it.\n"
"\n"
-"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
-"\"mformat a:\")"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-"Fluit-fluit my storie is uit! Die installasie het tot 'n einde gekom en u\n"
-"GNU/Linux reknaar is gereed vir gebruik. Klik bloot op \"%s\" om\n"
-"te herlaai. Die eerste skerm wat u sal sien, na die rekenaar sy\n"
-"hardeware-toetse uitgevoer het, is die herlaaistelsel se kieslys.\n"
-"Daar kan u die bedryfstelsel kies wat moet laai.\n"
+
+#: ../../printer/printerdrake.pm_.c:281 ../../printer/printerdrake.pm_.c:298
+msgid ""
"\n"
-"Die \"%s\" knoppie sal nog twee knoppies laat verskyn:\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\": om 'n installasie-disket te skep wat die hele installasie\n"
-"aotomaties sal doen, sonner die hulp van 'n persoon.\n"
-"Dit sal soortgelyk aan hierdie een wees.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer.\n"
"\n"
-" Let daarop dat twee verskillende opsies daarna beskikbaar sal wees:\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected.\n"
"\n"
-" * \"%s\" Gedeeltelik outomaties. Die skep van partisies benodig 'n\n"
-"persoon om te spesifiseer.\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:289
+msgid ""
"\n"
-" * \"%s\" Volkome outomaties. Die hardeskyf word totaal gewis, alle\n"
-"data word verloor.\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" Hierdie is handig wanneer u 'n paar van dieselfde masjiene moet\n"
-"installeer.\n"
-"Besoek gerus ons webwerf vir meer inligting hieroor.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer or connected directly to the network.\n"
"\n"
-" * \"%s\"(*): stoor 'n lys van die gekose pakette in hierdie installasie.\n"
-"Om hierdie keuses met 'n volgende installasie te gebruik, plaas disket\n"
-"in aandrywer en begin die installasie. Kies [F1] en tik '>> linux\n"
-"defcfg=\"floppy\" <<' in.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) must be connected and turned on.\n"
"\n"
-"(*) U sal 'n FAT-geformatteerde disket benodig (onder GNU/Linux, tik\n"
-"\"mformat a:\" op die instruksielyn)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Moldova"
-msgstr "Moldova"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuration of a remote printer"
-msgstr "Konfigurasie van eksterne drukker"
-
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "An online platform to respond to enterprise support needs."
-msgstr "'n Aanlyn-platvorm wat reageer op u onderneming se behoefdes."
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "URL should begin with 'ftp:' or 'http:'"
-msgstr "URL moet begin met 'ftp' of 'http':"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Oriya"
-msgstr "Oriya"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network printers when you don't need it.\n"
+"\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a new rule at the end"
-msgstr "Voeg 'n nuwe rel aan die einde by"
+#
+#: ../../printer/printerdrake.pm_.c:307
+#, fuzzy
+msgid "Auto-detect printers connected to this machine"
+msgstr "Eksterne drukker"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "LiLo and Bootsplash themes installation successful"
-msgstr "LiLo en selflaai-splatskerm se ttema installasie was suksesvol"
+#: ../../printer/printerdrake.pm_.c:310
+msgid "Auto-detect printers connected directly to the local network"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can also decide here whether printers on remote machines should be "
-"automatically made available on this machine."
+#: ../../printer/printerdrake.pm_.c:313
+msgid "Auto-detect printers connected to machines running Microsoft Windows"
msgstr ""
-"U kan ook hier besluit indien eksterne drukkers outomaties op hierdie "
-"rekenaar beskikbaar gestel behoort te word."
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:329
msgid ""
-"You may now provide options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
+"\n"
+"Congratulations, your printer is now installed and configured!\n"
+"\n"
+"You can print using the \"Print\" command of your application (usually in "
+"the \"File\" menu).\n"
+"\n"
+"If you want to add, remove, or rename a printer, or if you want to change "
+"the default option settings (paper input tray, printout quality, ...), "
+"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
+"Center."
msgstr ""
-"U kan nou die opsies voorsien vir module %s.\n"
-"Opsies is in die formaat ``naam=waarde naam2=waarde2 ...''.\n"
-"Bv. ``io=0x300 irq-7''"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without writing the partition table?"
-msgstr "Wil u verlaat, sonder om die partisietabel op te dateer?"
+#: ../../printer/printerdrake.pm_.c:364 ../../printer/printerdrake.pm_.c:538
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Printer auto-detection"
+msgstr "Gebruik outobespeuring"
-#: ../../mouse.pm:1
+#: ../../printer/printerdrake.pm_.c:385
#, c-format
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
+msgid ", network printer \"%s\", port %s"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Hard Drive"
-msgstr "Op hardeskyf"
+#: ../../printer/printerdrake.pm_.c:387
+#, fuzzy, c-format
+msgid ", printer \"%s\" on SMB/Windows server \"%s\""
+msgstr "Eksterne SMB/Windows 95/98/NT-drukker"
-#: ../../standalone.pm:1
-#, c-format
-msgid "Installing packages..."
-msgstr "Installeer pakkette..."
+#: ../../printer/printerdrake.pm_.c:391
+#, fuzzy, c-format
+msgid "Detected %s"
+msgstr "%s bespeur"
-#: ../../keyboard.pm:1
+#: ../../printer/printerdrake.pm_.c:395 ../../printer/printerdrake.pm_.c:423
+#: ../../printer/printerdrake.pm_.c:440
#, c-format
-msgid "Dutch"
-msgstr "Nederlands"
+msgid "Printer on parallel port \\/*%s"
+msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:397 ../../printer/printerdrake.pm_.c:425
+#: ../../printer/printerdrake.pm_.c:443
#, c-format
-msgid "Angola"
-msgstr "Angola"
+msgid "USB printer \\/*%s"
+msgstr ""
#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "The following packages need to be installed:\n"
-msgstr "Die volgende pakkette genstalleer word:\n"
+#: ../../printer/printerdrake.pm_.c:399
+#, fuzzy, c-format
+msgid "Network printer \"%s\", port %s"
+msgstr "Netwerkdrukker (sok)"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "service setting"
-msgstr "diens verstelling"
+#: ../../printer/printerdrake.pm_.c:401
+#, fuzzy, c-format
+msgid "Printer \"%s\" on SMB/Windows server \"%s\""
+msgstr "Eksterne SMB/Windows 95/98/NT-drukker"
-#
-#: ../../any.pm:1 ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Custom"
-msgstr "Aangepaste"
+#: ../../printer/printerdrake.pm_.c:525 ../../printer/printerdrake.pm_.c:547
+#, fuzzy
+msgid "Local Printer"
+msgstr "Plaaslike drukker"
-#: ../../lang.pm:1
-#, c-format
-msgid "Latvia"
-msgstr "Letland"
+#: ../../printer/printerdrake.pm_.c:526
+msgid ""
+"No local printer found! To manually install a printer enter a device name/"
+"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
+"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
+"printer: /dev/usb/lp1, ...)."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File is already used by another loopback, choose another one"
-msgstr "Ler word alreeds deur 'n ander teruglus gebruik,kies 'n ander een"
+#: ../../printer/printerdrake.pm_.c:530
+#, fuzzy
+msgid "You must enter a device or file name!"
+msgstr "Tik drukkertoestel URI in"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read-only"
-msgstr "Lees-alleen"
+#: ../../printer/printerdrake.pm_.c:539
+#, fuzzy
+msgid "No printer found!"
+msgstr "Plaaslike drukker"
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:548
+#, fuzzy
+msgid "Available printers"
+msgstr "Plaaslike drukker"
+
+#: ../../printer/printerdrake.pm_.c:552
msgid ""
-"Enable/Disable name resolution spoofing protection. If\n"
-"\"alert\" is true, also reports to syslog."
+"The following printer was auto-detected, if it is not the one you want to "
+"configure, enter a device name/file name in the input line"
msgstr ""
-"Versper/Ontsper flous-naamresolusie-beskerming. Indien\n"
-" \"waarsku\" gekies is, sal dit aangeteken word\n"
-" in die staaflers."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No known driver"
-msgstr "Geen drywer bekend"
+#: ../../printer/printerdrake.pm_.c:553
+msgid ""
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up or enter a device name/file name in the input line"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "1 MB"
-msgstr "1 MB"
+#: ../../printer/printerdrake.pm_.c:555
+msgid ""
+"The following printer was auto-detected. The configuration of the printer "
+"will work fully automatically. If your printer was not correctly detected or "
+"if you prefer a customized printer configuration, turn on \"Manual "
+"configuration\"."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:556
msgid ""
-"If it is not the one you want to configure, enter a device name/file name in "
-"the input line"
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up. The configuration of the printer will work fully "
+"automatically. If your printer was not correctly detected or if you prefer a "
+"customized printer configuration, turn on \"Manual configuration\"."
msgstr ""
-"Indien u nie hierde een wil konfigureer nie, voorsien dan 'n toestel-/"
-"lernaam aan die toevoerlyn."
-#: ../../standalone/draksound:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:558
msgid ""
-"No Sound Card has been detected on your machine. Please verify that a Linux-"
-"supported Sound Card is correctly plugged in.\n"
-"\n"
-"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
+"Please choose the port where your printer is connected to or enter a device "
+"name/file name in the input line"
msgstr ""
-"Geen klankkaart is op u rekenaar bespeur nie. Maak tog seker dat dit 'n\n"
-"Linux-ondersteunde klankkaart is. Kyk of dit reg ingeprop is.\n"
-"\n"
-"\n"
-"U kan ons hardeware-databasis besoek te:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Local Area Network..."
-msgstr "Stel plaaslike netwerk op..."
+#: ../../printer/printerdrake.pm_.c:559
+#, fuzzy
+msgid "Please choose the port where your printer is connected to."
+msgstr "Op watter seriaalpoort is u modem gekoppel?"
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:561
msgid ""
-"The USB key seems to have write protection enabled. Please\n"
-"unplug it, remove write protection, and then plug it again."
+" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
+"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the sound system on your machine"
-msgstr "Laai die klankstelsel op u rekenaar"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Verify checksum of the suid/sgid files"
-msgstr "Ondersoek die toetssom (checksum) van suid/sgid lers"
+#: ../../printer/printerdrake.pm_.c:565
+#, fuzzy
+msgid "You must choose/enter a printer/device!"
+msgstr "Tik drukkertoestel URI in"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run some checks against the rpm database"
-msgstr "Doen 'n paar toetse teen die rpm-databasis"
+#: ../../printer/printerdrake.pm_.c:584
+#, fuzzy
+msgid "Manual configuration"
+msgstr "Kleurkonfigurasie"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Execute"
-msgstr "Voer uit"
+#: ../../printer/printerdrake.pm_.c:633
+msgid "Remote lpd Printer Options"
+msgstr "Eksterne lpd drukkeropsies"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Preparing printer database..."
-msgstr "Drukkerdatabasis word voorberei..."
+#: ../../printer/printerdrake.pm_.c:634
+#, fuzzy
+msgid ""
+"To use a remote lpd printer, you need to supply the hostname of the printer "
+"server and the printer name on that server."
+msgstr ""
+"Om 'n eksterne lpd drukkertou te gebruik,moett die naam\n"
+"van die drukkkerbediener en die naam van die drukkertou\n"
+"voorsien word."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Information"
-msgstr "Inligting"
+#: ../../printer/printerdrake.pm_.c:635
+msgid "Remote host name"
+msgstr "Eksterne bedienernaam"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "No network card"
-msgstr "Geen netwerkkaart nie"
+#
+#: ../../printer/printerdrake.pm_.c:636
+msgid "Remote printer name"
+msgstr "Eksterne drukkernaam"
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons"
-msgstr "3 knoppies"
+#: ../../printer/printerdrake.pm_.c:639
+msgid "Remote host name missing!"
+msgstr "Eksterne bedienernaam ontbreek!"
-#
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Which filesystem do you want?"
-msgstr "Watter lerstelsel verlang u?"
+#: ../../printer/printerdrake.pm_.c:643
+msgid "Remote printer name missing!"
+msgstr "Eksterne drukkernam ontbreek!"
-#: ../../lang.pm:1
-#, c-format
-msgid "Malta"
-msgstr "Malta"
+#: ../../printer/printerdrake.pm_.c:665 ../../printer/printerdrake.pm_.c:1170
+#, fuzzy, c-format
+msgid "Detected model: %s %s"
+msgstr "%s bespeur"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Detailed information"
-msgstr "Gedetaileerde inligting"
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Scanning network..."
+msgstr "Konneksie word begin..."
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:751 ../../printer/printerdrake.pm_.c:772
#, c-format
-msgid ""
-"Printer default settings\n"
-"\n"
-"You should make sure that the page size and the ink type/printing mode (if "
-"available) and also the hardware configuration of laser printers (memory, "
-"duplex unit, extra trays) are set correctly. Note that with a very high "
-"printout quality/resolution printing can get substantially slower."
+msgid ", printer \"%s\" on server \"%s\""
msgstr ""
-"Verstek verstellings van drukker\n"
-"\n"
-"Maak seker die volgende is korrek opgestel: 1.) bladsy grootte; 2.) ink tipe/"
-"drukmodus; 3.)hardeware verstellings van laserdrukkers (geheue, dupleks of "
-"nie, ekstra laaie). Let tog dat baie ho kwaliteit/resolusie die spoed "
-"waarteen gedruk word aansienlik verminder."
-#: ../../install_any.pm:1
-#, c-format
-msgid "This floppy is not FAT formatted"
-msgstr "Hierdie floppie is nie in FAT-formaat nie"
+#: ../../printer/printerdrake.pm_.c:754 ../../printer/printerdrake.pm_.c:775
+#, fuzzy, c-format
+msgid "Printer \"%s\" on server \"%s\""
+msgstr "Netwerk op pad af"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Configuring network"
-msgstr "Stel netwerk op"
+#: ../../printer/printerdrake.pm_.c:795
+msgid "SMB (Windows 9x/NT) Printer Options"
+msgstr "SMB (Windows 9x/NT) drukkeropsies"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:796
+#, fuzzy
msgid ""
-"This option will save files that have changed. Exact behavior depends on "
-"whether incremental or differential mode is used."
+"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."
msgstr ""
-"Hierdie opsie sal lers wat verander het stoor. Presiese gedrag hang af "
-"indien Aanwas of Differensile modus gebruik word."
+"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."
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Graphic Card"
-msgstr "Grafiesekaart"
+#: ../../printer/printerdrake.pm_.c:797
+msgid ""
+" If the desired printer was auto-detected, simply choose it from the list "
+"and then add user name, password, and/or workgroup if needed."
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Resizing Windows partition"
-msgstr "Windowslerstelselgrense word bereken"
+#: ../../printer/printerdrake.pm_.c:799
+msgid "SMB server host"
+msgstr "SMB-bedienernaam"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cameroon"
-msgstr "Kameroen"
+#: ../../printer/printerdrake.pm_.c:800
+msgid "SMB server IP"
+msgstr "SMB-bediener IP:"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 1 (optional)"
-msgstr "Voorsiener DNS 1 (opsioneel)"
+#: ../../printer/printerdrake.pm_.c:801
+msgid "Share name"
+msgstr "Drukkernaam:"
-#: ../../install_interactive.pm:1
-#, 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'."
+#: ../../printer/printerdrake.pm_.c:804
+msgid "Workgroup"
+msgstr "Werkgroep:"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Saami (swedish/finnish)"
-msgstr "Saami (sweeds/fins)"
+#: ../../printer/printerdrake.pm_.c:806
+#, fuzzy
+msgid "Auto-detected"
+msgstr "Gebruik outobespeuring"
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakfont:1 ../../standalone/net_monitor:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Close"
-msgstr "Sluit af"
+#: ../../printer/printerdrake.pm_.c:816
+msgid "Either the server name or the server's IP must be given!"
+msgstr "f die bedienernaam f die bediener-IP moet verskaf word!"
+
+#: ../../printer/printerdrake.pm_.c:820
+msgid "Samba share name missing!"
+msgstr "SAMBA-deelnaam ontbreek!"
+
+#: ../../printer/printerdrake.pm_.c:826
+msgid "SECURITY WARNING!"
+msgstr ""
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:827
#, c-format
msgid ""
-"\"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list."
+"You are about to set up printing to a Windows account with password. Due to "
+"a fault in the architecture of the Samba client software the password is put "
+"in clear text into the command line of the Samba client used to transmit the "
+"print job to the Windows server. So it is possible for every user on this "
+"machine to display the password on the screen by issuing commands as \"ps "
+"auxwww\".\n"
+"\n"
+"We recommend to make use of one of the following alternatives (in all cases "
+"you have to make sure that only machines from your local network have access "
+"to your Windows server, for example by means of a firewall):\n"
+"\n"
+"Use a password-less account on your Windows server, as the \"GUEST\" account "
+"or a special account dedicated for printing. Do not remove the password "
+"protection from a personal account or the administrator account.\n"
+"\n"
+"Set up your Windows server to make the printer available under the LPD "
+"protocol. Then set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
msgstr ""
-"\"%s\": ondersoek die huidige landskeuse. Indien u nie in daardie land\n"
-"is nie, klik op die \"%s\"-knoppie en kies die regte een. Indien u land\n"
-"nie in daardie lys teenwoordig is nie, kies die \"%s\"-knoppie vir 'n\n"
-"volledige lys."
-#: ../../standalone/logdrake:1
+#: ../../printer/printerdrake.pm_.c:837
#, c-format
-msgid "Calendar"
-msgstr "Kalender"
+msgid ""
+"Set up your Windows server to make the printer available under the IPP "
+"protocol and set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:840
msgid ""
-"Restore Selected\n"
-"Catalog Entry"
+"Connect your printer to a Linux server and let your Windows machine(s) "
+"connect to it as a client.\n"
+"\n"
+"Do you really want to continue setting up this printer as you are doing now?"
msgstr ""
-"Herstel Gekose\n"
-"Katalogus-inskrywing"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:911
+msgid "NetWare Printer Options"
+msgstr "NetWare drukkeropsies"
+
+#: ../../printer/printerdrake.pm_.c:912
+#, fuzzy
msgid ""
-"To use a remote lpd printer, you need to supply the hostname of the printer "
-"server and the printer name on that server."
+"To print on 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."
msgstr ""
-"Om 'n eksterne lpd drukker te gebruik, moet die naam van die "
-"drukkkerbediener en die naam van die drukkertou voorsien word."
+"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."
-#: ../../lang.pm:1
-#, c-format
-msgid "Iceland"
-msgstr "Ysland"
+#: ../../printer/printerdrake.pm_.c:913
+msgid "Printer Server"
+msgstr "Drukkerbediener"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Network & Internet Configuration"
-msgstr "Netwerk- & Internet-konfigurasie"
+#: ../../printer/printerdrake.pm_.c:914
+msgid "Print Queue Name"
+msgstr "Drukkertounaam"
-#: ../../common.pm:1
-#, c-format
-msgid "consolehelper missing"
-msgstr "konsole-helper is soek"
+#: ../../printer/printerdrake.pm_.c:919
+msgid "NCP server name missing!"
+msgstr "NCP-bedienernaam ontbreek!"
-#: ../../services.pm:1
-#, c-format
-msgid "stopped"
-msgstr "onaktief"
+#: ../../printer/printerdrake.pm_.c:923
+msgid "NCP queue name missing!"
+msgstr "NCP-tounaam ontbreek!"
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:987 ../../printer/printerdrake.pm_.c:1007
#, c-format
-msgid "Whether the FPU has an irq vector"
-msgstr "Indien die FPU 'n 'irq-vektor' het"
+msgid ", host \"%s\", port %s"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../printer/printerdrake.pm_.c:990 ../../printer/printerdrake.pm_.c:1010
#, c-format
-msgid "Ext2"
-msgstr "Ext2"
+msgid "Host \"%s\", port %s"
+msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Expand Tree"
-msgstr "Maak boom oop"
+#: ../../printer/printerdrake.pm_.c:1030
+#, fuzzy
+msgid "TCP/Socket Printer Options"
+msgstr "Sokdrukkeropsies"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1032
msgid ""
-"The old \"%s\" driver is blacklisted.\n"
-"\n"
-"It has been reported to oops the kernel on unloading.\n"
-"\n"
-"The new \"%s\" driver'll only be used on next bootstrap."
+"Choose one of the auto-detected printers from the list or enter the hostname "
+"or IP and the optional port number (default is 9100) into the input fields."
msgstr ""
-"Die ou \"%s\" drywer is op 'n swartlys.\n"
-"\n"
-"Dit is geraporteer dat die die kernel 'oops' as dit aflaai.\n"
-"\n"
-"Die nuwe \"%s\" drywer sal met die volgende selflaai gebruik word."
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Expert Mode"
-msgstr "Kundige bedryfsvlak"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer options"
-msgstr "Drukkeropsies"
+#: ../../printer/printerdrake.pm_.c:1033
+#, fuzzy
+msgid ""
+"To print to a TCP or socket printer, you need to provide the host name or IP "
+"of the printer and optionally the port number (default is 9100). On HP "
+"JetDirect servers the port number is usually 9100, on other servers it can "
+"vary. See the manual of your hardware."
+msgstr ""
+"Om aan 'n sokdrukker te konnekteer, moet u die rekenaarnaam van die\n"
+"drukker voorsien en dalk ook 'n poortnommer voorsien.\n"
+"Met HP JetDirect-bedieners is die poortnommer gewoonlik 9100,\n"
+"maar dit mag anders wees met ander bedieners. Raadpleeg die handleiding\n"
+"wat saam met die hardeware gekom het."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Local Network adress"
-msgstr "Plaaslike Netwerkadres"
+#: ../../printer/printerdrake.pm_.c:1037
+#, fuzzy
+msgid "Printer host name or IP missing!"
+msgstr "Drukkerbedienernaam ontbreek!"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup your System files. (/etc directory)"
-msgstr "Rugsteun u stelsel-lers: (/etc lergids)"
+#: ../../printer/printerdrake.pm_.c:1059
+#, fuzzy
+msgid "Printer host name or IP"
+msgstr "Drukkerbedienernaam"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the user umask."
-msgstr "Stel die 'umask'"
+#: ../../printer/printerdrake.pm_.c:1107 ../../printer/printerdrake.pm_.c:1109
+msgid "Printer Device URI"
+msgstr "Drukkertoestel URI"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1108
msgid ""
-"You now have the opportunity to download updated packages. These packages\n"
-"have been updated after the distribution was released. They may\n"
-"contain security or bug fixes.\n"
-"\n"
-"To download these packages, you will need to have a working Internet \n"
-"connection.\n"
-"\n"
-"Do you want to install the updates ?"
+"You can specify directly the URI to access the printer. The URI must fulfill "
+"either the CUPS or the Foomatic specifications. Note that not all URI types "
+"are supported by all the spoolers."
msgstr ""
-"U het nou 'n geleentheid om opgedateerde pakkette af te laai.Hierdie "
-"pakkette is opgedateer na die distribusie vrygestel is.\n"
-"Hulle mag moontlike sekuriteits-probleme en goggas regstel.\n"
-"\n"
-"Sou u hulle wil aflaai, benodig u 'n werkende Internetkonneksie.\n"
-"\n"
-"Wil u dit nou installeer?"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Samba Server"
-msgstr "Samba-bediener"
+"U kan die URI om die drukker te bereik direk spesifiseer. Die URI moet in "
+"CUPS- of Foomatic-formaat wees. Nie alle UTI-tipes moet deur al die "
+"spoelprogramme ondersteun nie."
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Australian Optus cable TV"
-msgstr "Australise, Optus kabel-TV"
+#: ../../printer/printerdrake.pm_.c:1123
+msgid "A valid URI must be entered!"
+msgstr "'n Geldige URI moet verskaf word!"
-#: ../../install_steps_newt.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1463
+#, fuzzy
msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
+"Every printer needs a name (for example \"printer\"). The Description and "
+"Location fields do not need to be filled in. They are comments for the users."
msgstr ""
-" <Tab>/<Alt-Tab> tussen elemente | <Space> selekteer | <F12> volgende skerm "
+"Elke drukker benodig naam (bv. lp).\n"
+"Die Beskrywing- en Liggingvelde is opsioneel.\n"
+"Hulle dien as inligting vir gebruikers."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet:"
-msgstr "Subnet:"
+#: ../../printer/printerdrake.pm_.c:1464
+msgid "Name of printer"
+msgstr "Drukkernaam"
-#: ../../lang.pm:1
-#, c-format
-msgid "Zimbabwe"
-msgstr "Zimbabwe"
+#: ../../printer/printerdrake.pm_.c:1465 ../../standalone/harddrake2_.c:38
+msgid "Description"
+msgstr "Beskrywing"
+
+#: ../../printer/printerdrake.pm_.c:1466
+msgid "Location"
+msgstr "Ligging"
+
+#: ../../printer/printerdrake.pm_.c:1478 ../../printer/printerdrake.pm_.c:1599
+#, fuzzy
+msgid "Reading printer database..."
+msgstr "Drukkerdata word gelees..."
+
+#: ../../printer/printerdrake.pm_.c:1482
+#, fuzzy
+msgid "Preparing printer database..."
+msgstr "Drukkerdata word gelees..."
#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "When"
-msgstr "Wanneer"
+#: ../../printer/printerdrake.pm_.c:1578
+#, fuzzy
+msgid "Your printer model"
+msgstr "Eksterne drukkernaam"
-#: ../../network/adsl.pm:1
+#: ../../printer/printerdrake.pm_.c:1579
#, c-format
msgid ""
-"You need the Alcatel microcode.\n"
-"Download it at:\n"
-"%s\n"
-"and copy the mgmt.o in /usr/share/speedtouch"
+"Printerdrake has compared the model name resulting from the printer auto-"
+"detection with the models listed in its printer database to find the best "
+"match. This choice can be wrong, especially when your printer is not listed "
+"at all in the database. So check whether the choice is correct and click "
+"\"The model is correct\" if so and if not, click \"Select model manually\" "
+"so that you can choose your printer model manually on the next screen.\n"
+"\n"
+"For your printer Printerdrake has found:\n"
+"\n"
+"%s"
msgstr ""
-"U benodig die Alcatel mikrokode.\n"
-"Laai dit af by:\n"
-"%s en kopieer die mgmt.o na '/usr/share/speedtouch'"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hour"
-msgstr "Uur"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Second DNS Server (optional)"
-msgstr "Tweede DNS-bediener (opsioneel)"
+#: ../../printer/printerdrake.pm_.c:1584 ../../printer/printerdrake.pm_.c:1587
+#, fuzzy
+msgid "The model is correct"
+msgstr "Is dit korrek?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Finland"
-msgstr "Finland"
+#
+#: ../../printer/printerdrake.pm_.c:1585 ../../printer/printerdrake.pm_.c:1586
+#: ../../printer/printerdrake.pm_.c:1589
+#, fuzzy
+msgid "Select model manually"
+msgstr "Eksterne drukkernaam"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Kleurdiepte: %s\n"
+#: ../../printer/printerdrake.pm_.c:1606
+msgid "Printer model selection"
+msgstr "Drukkermodelkeuse"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "U kan nie hierdie pakket deselekteer nie. Dit moet opgradeer word."
+#: ../../printer/printerdrake.pm_.c:1607
+msgid "Which printer model do you have?"
+msgstr "Oor watter tipe drukker beskik u?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Loading from floppy"
-msgstr "Oplaai vanaf floppie"
+#: ../../printer/printerdrake.pm_.c:1608
+msgid ""
+"\n"
+"\n"
+"Please check whether Printerdrake did the auto-detection of your printer "
+"model correctly. Search the correct model in the list when the cursor is "
+"standing on a wrong model or on \"Raw printer\"."
+msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Timezone - DrakClock"
+#: ../../printer/printerdrake.pm_.c:1611
+msgid ""
+"If your printer is not listed, choose a compatible (see printer manual) or a "
+"similar one."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable the logging of IPv4 strange packets."
-msgstr "Versper/Ontsper aanteken van vreemde IPv4-pakkies in staafler."
+#: ../../printer/printerdrake.pm_.c:1697
+#, fuzzy
+msgid "OKI winprinter configuration"
+msgstr "Verander drukkerkonfigurasie"
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovenia"
-msgstr "Sloveni"
+#: ../../printer/printerdrake.pm_.c:1698
+msgid ""
+"You are configuring an OKI laser winprinter. These printers\n"
+"use a very special communication protocol and therefore they work only when "
+"connected to the first parallel port. When your printer is connected to "
+"another port or to a print server box please connect the printer to the "
+"first parallel port before you print a test page. Otherwise the printer will "
+"not work. Your connection type setting will be ignored by the driver."
+msgstr ""
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse test"
-msgstr "Toets van muis"
+#: ../../printer/printerdrake.pm_.c:1718 ../../printer/printerdrake.pm_.c:1745
+#, fuzzy
+msgid "Lexmark inkjet configuration"
+msgstr "Internetkonfigurasie"
-#: ../../standalone/drakperm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1719
msgid ""
-"Drakperm is used to see files to use in order to fix permissions, owners, "
-"and groups via msec.\n"
-"You can also edit your own rules which will owerwrite the default rules."
+"The inkjet printer drivers provided by Lexmark only support local printers, "
+"no printers on remote machines or print server boxes. Please connect your "
+"printer to a local port or configure it on the machine where it is connected "
+"to."
msgstr ""
-"Drakperm is used to see files to use in order to fix permissions, owners, "
-"and groups via msec.\n"
-"You can also edit your own rules which will owerwrite the default rules."
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1746
msgid ""
-"Enter a user\n"
-"%s"
+"To be able to print with your Lexmark inkjet and this configuration, you "
+"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
+"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
+"\"Linux\" as operating system. The drivers come as RPM packages or shell "
+"scripts with interactive graphical installation. You do not need to do this "
+"configuration by the graphical frontends. Cancel directly after the license "
+"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
+"adjust the head alignment settings with this program."
msgstr ""
-"Tik 'n gebruiker in\n"
-"%s"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"- PCI and USB devices: this lists the vendor, device, subvendor and "
-"subdevice PCI/USB ids"
+#: ../../printer/printerdrake.pm_.c:1749
+msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
msgstr ""
-"- PCI en USB toestelle: lys die vervaardiger, toestel, sub-vervaardiger en "
-"sub-toestel PCI/USB id's"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "ProgressBar color selection"
-msgstr "Vorderingstafie se kleurkeuse"
+#: ../../printer/printerdrake.pm_.c:1750
+msgid ""
+"Your printer belongs to the group of GDI laser printers (winprinters) sold "
+"by different manufacturers which uses the Zenographics ZJ-stream raster "
+"format for the data sent to the printer. The driver for these printers is "
+"still in a very early development stage and so it will perhaps not always "
+"work properly. Especially it is possible that the printer only works when "
+"you choose the A4 paper size.\n"
+"\n"
+"Some of these printers, as the HP LaserJet 1000, for which this driver was "
+"originally created, need their firmware to be uploaded to them after they "
+"are turned on. In the case of the HP LaserJet 1000 you have to search the "
+"printer's Windows driver CD or your Windows partition for the file "
+"\"sihp1000.img\" and upload the file to the printer with one of the "
+"following commands:\n"
+"\n"
+" lpr -o raw sihp1000.img\n"
+" cat sihp1000.img > /dev/usb/lp0\n"
+"\n"
+"The first command can be given by any normal user, the second must be given "
+"as root. After having done so you can print normally.\n"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1972
msgid ""
-"Here are the entries on your boot menu so far.\n"
-"You can create additional entries or change the existing ones."
+"Printer default settings\n"
+"\n"
+"You should make sure that the page size and the ink type/printing mode (if "
+"available) and also the hardware configuration of laser printers (memory, "
+"duplex unit, extra trays) are set correctly. Note that with a very high "
+"printout quality/resolution printing can get substantially slower."
msgstr ""
-"Hier is die huidige inskrywings\n"
-"U kan byvoeg or verwyder soos nodig."
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:1981
#, c-format
-msgid "/dev/hda"
-msgstr "/dev/hda"
+msgid "Option %s must be an integer number!"
+msgstr "Opsie %s moet 'n heeltal wees!"
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:1985
#, c-format
-msgid "/dev/hdb"
-msgstr "/dev/hdb"
+msgid "Option %s must be a number!"
+msgstr "Opsie %s moet 'n nommer wees"
+
+#: ../../printer/printerdrake.pm_.c:1989
+#, c-format
+msgid "Option %s out of range!"
+msgstr "Opsie %s is buite bereik!"
-#: ../../standalone/drakbug:1
+#: ../../printer/printerdrake.pm_.c:2028
#, c-format
msgid ""
-"Application Name\n"
-"or Full Path:"
+"Do you want to set this printer (\"%s\")\n"
+"as the default printer?"
msgstr ""
-"Programnaam\n"
-"of volle roete:"
+"Wil u hierdie drukker (\"%s\")\n"
+"die verstek drukker maak?"
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2051
+msgid "Test pages"
+msgstr "Toetsbladsye"
+
+#: ../../printer/printerdrake.pm_.c:2052
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."
+"Please select the test pages you want to print.\n"
+"Note: the photo test page can take a rather long time to get printed and on "
+"laser printers with too low memory it can even not come out. In most cases "
+"it is enough to print the standard test page."
msgstr ""
-"Loop instruksies deur 'at' geskeduleer op die tyd deur 'at'\n"
-"gespesifiseer.\n"
-"Loop ook instruksiebondels wanneer die stelsellas laag genoeg is."
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Radio support:"
-msgstr "Ondersteunig vir Radio:"
+#: ../../printer/printerdrake.pm_.c:2056
+msgid "No test pages"
+msgstr "Geen toetsbladsye"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing SANE packages..."
-msgstr "Installeer SANE pakkette..."
+#: ../../printer/printerdrake.pm_.c:2057
+msgid "Print"
+msgstr "Druk"
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP"
-msgstr "LDAP"
+#: ../../printer/printerdrake.pm_.c:2114
+msgid "Standard test page"
+msgstr "Standaard toetsbladsy"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "SILO"
-msgstr "SILO"
+#: ../../printer/printerdrake.pm_.c:2117
+msgid "Alternative test page (Letter)"
+msgstr "Alternatiewe toetsbladsy (Lettergrootte)"
-#: ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Change type"
-msgstr "Verander tipe"
+#: ../../printer/printerdrake.pm_.c:2120
+msgid "Alternative test page (A4)"
+msgstr "Alternatiewe toetsbladsy (A4)"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", USB printer #%s"
-msgstr ", USB-drukker #%s"
+#: ../../printer/printerdrake.pm_.c:2122
+msgid "Photo test page"
+msgstr "Fototoetsbladsy"
-#: ../../any.pm:1
-#, c-format
-msgid "SILO Installation"
-msgstr "SILO installasie"
+#: ../../printer/printerdrake.pm_.c:2126
+#, fuzzy
+msgid "Do not print any test page"
+msgstr "Druk toetsbladsy(e)"
-#: ../../install_messages.pm:1
+#: ../../printer/printerdrake.pm_.c:2134 ../../printer/printerdrake.pm_.c:2285
+msgid "Printing test page(s)..."
+msgstr "Toetsbladsy(e) word gedruk..."
+
+#: ../../printer/printerdrake.pm_.c:2159
#, c-format
msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"\n"
-"For information on fixes which are available for this release of Mandrake "
-"Linux,\n"
-"consult the Errata available from:\n"
-"\n"
-"\n"
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+"Printing status:\n"
"%s\n"
"\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Mandrake Linux User's Guide."
msgstr ""
-"Geluk, installasie is afgehandel.\n"
-"Verwyder die herlaaimedium en druk 'enter' om te herlaai.\n"
-"\n"
-"\n"
-"Vir inligting oor hierdie vrystelling van Mandrake Linux,\n"
-"bekyk die errata beskikbaar op\n"
-"\n"
-"\n"
+"Toetsbladsy(e) is na die drukkerstelsel gestuur.\n"
+"Dit mag 'n tydjie neem voordat drukwerk begin.\n"
+"Drukstatus:\n"
"%s\n"
"\n"
-"\n"
-"Inligting oor stelskonfigurasie is beskikbaar in die postinstallasie-\n"
-"hoofstuk in die Offisile Linux-Mandrake Gebruikersgids."
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Enable Network Time Protocol"
-msgstr "Herstel Via Netwerkprotokol: %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "paranoid"
-msgstr "paranoes"
+#: ../../printer/printerdrake.pm_.c:2163
+msgid ""
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+msgstr ""
+"Toetsbladsy(e) is na die drukker gestuur.\n"
+"Dit mag 'n tydjie neem voordat drukwerk begin.\n"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Do not send mails when unneeded"
-msgstr "Moet nie onnodige e-pos stuur nie"
+#: ../../printer/printerdrake.pm_.c:2170
+msgid "Did it work properly?"
+msgstr "Het dit reg gewerk?"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Your scanner(s) will not be available on the network."
-msgstr "U skandeerder(s) sal NIE op die netwerk beskikbaar wees NIE. "
+#: ../../printer/printerdrake.pm_.c:2190 ../../printer/printerdrake.pm_.c:3229
+#, fuzzy
+msgid "Raw printer"
+msgstr "Geen drukker"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2216
#, c-format
-msgid "Send mail report after each backup to:"
-msgstr "Stuur 'n e-posverslag na elke rugsteun na:"
+msgid ""
+"To print a file from the command line (terminal window) you can either use "
+"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
+"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
+"to modify the option settings easily.\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2218
msgid ""
-"This command you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications. But here do not supply the file name "
+"These commands you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications, but here do not supply the file name "
"because the file to print is provided by the application.\n"
msgstr ""
-"Hierdie opdragte kan u ook in die \"Printing command\" veld in die drukker-"
-"dialoogvensters van baie programme gebruik, maar nou hoef u nie die lernaam "
-"te voorsien nie , die program doen dit vir jou.\n"
-
-#: ../../Xconfig/main.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolution"
-msgstr "Resolusie"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2221 ../../printer/printerdrake.pm_.c:2238
+#: ../../printer/printerdrake.pm_.c:2248
#, c-format
msgid ""
-"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."
+"\n"
+"The \"%s\" command also allows to modify the option settings for a "
+"particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\". "
msgstr ""
-"Indien u drukwerk na 'n SMB drukker wil stuur, voorsien asseblief die "
-"volgende: SMB-rekenaarnaam ( Let dat dit mag verskil van die TCP/IP-"
-"rekenaarnaam) en moontlik die IP-adres van die bediener, die deelnaam van "
-"die drukker, toepaslike gebruikernaam, wagwoord, en werkgroep."
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:2224 ../../printer/printerdrake.pm_.c:2264
#, c-format
msgid ""
-" Enabling su only from members of the wheel group or allow su from any user."
+"To know about the options available for the current printer read either the "
+"list shown below or click on the \"Print option list\" button.%s%s\n"
+"\n"
msgstr ""
-"'su'-funksie slegs vir lede van die \"wheel\"-groep of vir enige gebruiker."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "reconfigure"
-msgstr "herkonfigureer"
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2228
msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
+"Here is a list of the available printing options for the current printer:\n"
+"\n"
msgstr ""
-"Hierdie kaart kan ondersteuning vir 3D-hardewareversnelling\n"
-"onder XFree86 %s bied,\n"
-"MAAR LET DAAROP DAT DIT EKSPERIMENTEEL IS EN DIE REKENAAR MAG VRIES."
-#: ../../security/l10n.pm:1
+#: ../../printer/printerdrake.pm_.c:2233 ../../printer/printerdrake.pm_.c:2243
#, c-format
-msgid "Shell timeout"
-msgstr "Tydsbeperking vir dop"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Xinetd Service"
-msgstr "Xinetd Service"
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to network tools"
-msgstr "toegang na netwerk-nutsprogramme"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Firmware-Upload for HP LaserJet 1000"
-msgstr "Laai Fermware (Firmware) Op vir HP LaserJet 1000"
+msgid ""
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\".\n"
+msgstr ""
-#: ../advertising/03-software.pl:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2235 ../../printer/printerdrake.pm_.c:2245
+#: ../../printer/printerdrake.pm_.c:2255
msgid ""
-"And, of course, push multimedia to its limits with the very latest software "
-"to play videos, audio files and to handle your images or photos."
+"This command you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications. But here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-"En natuurlik, maak die meeste van multimedia deur die nuutste programme om "
-"video's mee te speel, klank-lers te geniet en u grafika en fotos te hanteer."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Here is a list of all auto-detected printers. "
-msgstr "Hier is 'n lys van aouto-opgespoorde drukkers. "
+#: ../../printer/printerdrake.pm_.c:2240 ../../printer/printerdrake.pm_.c:2250
+msgid ""
+"To get a list of the options available for the current printer click on the "
+"\"Print option list\" button."
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2253
#, c-format
msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\" or \"%s <file>\".\n"
msgstr ""
-"Die 'aboot' installasie het gefaal. Wil u 'n installasie afwurg al\n"
-"word die eerste partisie vernietig?"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2257
msgid ""
-"Restore Selected\n"
-"Files"
+"You can also use the graphical interface \"xpdq\" for setting options and "
+"handling printing jobs.\n"
+"If you are using KDE as desktop environment you have a \"panic button\", an "
+"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
+"jobs immediately when you click it. This is for example useful for paper "
+"jams.\n"
msgstr ""
-"Herstel Gekose\n"
-"Lers"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2261
#, c-format
msgid ""
-"%s exists, delete?\n"
"\n"
-"Warning: If you've already done this process you'll probably\n"
-" need to purge the entry from authorized_keys on the server."
+"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
+"a particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\".\n"
msgstr ""
-"%s bestaan, verwyder dit?\n"
-"\n"
-"Waarskuwing: Indien u reeds hierdie stap deurgegaan het, sal u\n"
-"moontlik die inskrywing moet verwyder uit die 'authorized_keys' \n"
-"op die bediener."
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Please fill or check the field below"
-msgstr "Vul asb. die velde hieronder in"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Do you want to save /etc/fstab modifications"
-msgstr "Wil u die /etc/fstab veranderinge stoor?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Boot Protocol"
-msgstr "Herlaaiprotokol"
+#: ../../printer/printerdrake.pm_.c:2271
+#, fuzzy, c-format
+msgid "Printing/Scanning/Photo Cards on \"%s\""
+msgstr "Netwerk op pad af"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-skywe %s\n"
+#: ../../printer/printerdrake.pm_.c:2272
+#, fuzzy, c-format
+msgid "Printing/Scanning on \"%s\""
+msgstr "Netwerk op pad af"
-#: ../../services.pm:1
-#, c-format
-msgid "On boot"
-msgstr "met herlaai"
+#: ../../printer/printerdrake.pm_.c:2274
+#, fuzzy, c-format
+msgid "Printing/Photo Card Access on \"%s\""
+msgstr "Netwerk op pad af"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The package %s is needed. Install it?"
-msgstr "Pakket %s word benodig. Moet ons installeer?"
+#: ../../printer/printerdrake.pm_.c:2275
+#, fuzzy, c-format
+msgid "Printing on the printer \"%s\""
+msgstr "Netwerk op pad af"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bus identification"
-msgstr "Bus identifikasie"
+#: ../../printer/printerdrake.pm_.c:2278 ../../printer/printerdrake.pm_.c:2281
+#: ../../printer/printerdrake.pm_.c:2282 ../../printer/printerdrake.pm_.c:2283
+#: ../../printer/printerdrake.pm_.c:3216 ../../standalone/drakTermServ_.c:307
+#: ../../standalone/drakbackup_.c:1533 ../../standalone/drakbackup_.c:4156
+#: ../../standalone/drakbug_.c:108 ../../standalone/drakfont_.c:695
+#: ../../standalone/drakfont_.c:956 ../../standalone/net_monitor_.c:118
+msgid "Close"
+msgstr "Sluit af"
-#: ../../lang.pm:1
-#, c-format
-msgid "Vatican"
-msgstr "Vatican"
+#: ../../printer/printerdrake.pm_.c:2281
+#, fuzzy
+msgid "Print option list"
+msgstr "Drukkeropsies"
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../printer/printerdrake.pm_.c:2301
#, c-format
-msgid "Please make a backup of your data first"
-msgstr "Rugsteun u data eers asb."
+msgid ""
+"Your multi-function device was configured automatically to be able to scan. "
+"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
+"scanner when you have more than one) from the command line or with the "
+"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
+"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
+"\" menu. Call also \"man scanimage\" on the command line to get more "
+"information.\n"
+"\n"
+"Do not use \"scannerdrake\" for this device!"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "ADSL adapters"
+#: ../../printer/printerdrake.pm_.c:2322
+msgid ""
+"Your printer was configured automatically to give you access to the photo "
+"card drives from your PC. Now you can access your photo cards using the "
+"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
+"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
+"\"man mtools\" on the command line for more info). You find the card's file "
+"system under the drive letter \"p:\", or subsequent drive letters when you "
+"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
+"can switch between drive letters with the field at the upper-right corners "
+"of the file lists."
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-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?"
+#: ../../printer/printerdrake.pm_.c:2344 ../../printer/printerdrake.pm_.c:2702
+#: ../../printer/printerdrake.pm_.c:2990
+msgid "Reading printer data..."
+msgstr "Drukkerdata word gelees..."
-#: ../../lang.pm:1
-#, c-format
-msgid "Eritrea"
-msgstr "Eritrea"
+#: ../../printer/printerdrake.pm_.c:2364 ../../printer/printerdrake.pm_.c:2391
+#: ../../printer/printerdrake.pm_.c:2426
+msgid "Transfer printer configuration"
+msgstr "Dra drukkerkonfigurasie oor"
-#: ../../standalone/drakTermServ:1
+#: ../../printer/printerdrake.pm_.c:2365
#, c-format
-msgid "Boot ISO"
-msgstr "Selflaai-ISO"
+msgid ""
+"You can copy the printer configuration which you have done for the spooler %"
+"s to %s, your current spooler. All the configuration data (printer name, "
+"description, location, connection type, and default option settings) is "
+"overtaken, but jobs will not be transferred.\n"
+"Not all queues can be transferred due to the following reasons:\n"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Firmware needed"
-msgstr "Fermware (Firmware) word benodig"
+#: ../../printer/printerdrake.pm_.c:2368
+msgid ""
+"CUPS does not support printers on Novell servers or printers sending the "
+"data into a free-formed command.\n"
+msgstr ""
-#
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove List"
-msgstr "Verwyder Lys"
+#: ../../printer/printerdrake.pm_.c:2370
+msgid ""
+"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
+"printers.\n"
+msgstr ""
-#: ../advertising/05-desktop.pl:1
-#, c-format
-msgid "A customizable environment"
-msgstr "'n Aanpasbare omgewing"
+#: ../../printer/printerdrake.pm_.c:2372
+msgid "LPD and LPRng do not support IPP printers.\n"
+msgstr "LPD en LPRng ondersteun nie IPP-drukkers nie.\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Inuktitut"
-msgstr "Inuktitut"
+#: ../../printer/printerdrake.pm_.c:2374
+msgid ""
+"In addition, queues not created with this program or \"foomatic-configure\" "
+"cannot be transferred."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2375
msgid ""
-"Some protocols, like rsync, may be configured at the server end. Rather "
-"than using a directory path, you would use the 'module' name for the service "
-"path."
+"\n"
+"Also printers configured with the PPD files provided by their manufacturers "
+"or with native CUPS drivers cannot be transferred."
msgstr ""
-"Party protokolle, soos 'rsync', kan aan die bediener se kan gekonfigureer "
-"word. In pleks van 'n roete na die lergids te gebruik, sal u die 'module' "
-"naam vir die diens se roete gebruik."
-#: ../../lang.pm:1
-#, c-format
-msgid "Morocco"
-msgstr "Marokko"
+#: ../../printer/printerdrake.pm_.c:2376
+msgid ""
+"\n"
+"Mark the printers which you want to transfer and click \n"
+"\"Transfer\"."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printer model do you have?"
-msgstr "Oor watter tipe drukker beskik u?"
+#: ../../printer/printerdrake.pm_.c:2379
+msgid "Do not transfer printers"
+msgstr "Moet nie drukkers oordra nie"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add a new printer"
-msgstr "Voeg drukker by"
+#: ../../printer/printerdrake.pm_.c:2380 ../../printer/printerdrake.pm_.c:2396
+msgid "Transfer"
+msgstr "Oordrag"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2392
#, c-format
-msgid " All of your selected data have been "
-msgstr " All u gekose data is "
+msgid ""
+"A printer named \"%s\" already exists under %s. \n"
+"Click \"Transfer\" to overwrite it.\n"
+"You can also type a new name or skip this printer."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Nepal"
-msgstr "Nepal"
+#: ../../printer/printerdrake.pm_.c:2400
+msgid "Name of printer should contain only letters, numbers and the underscore"
+msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../printer/printerdrake.pm_.c:2405
#, c-format
-msgid "<-- Delete"
-msgstr "<--Verwyder"
+msgid ""
+"The printer \"%s\" already exists,\n"
+"do you really want to overwrite its configuration?"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "cpu # "
-msgstr "cpu # "
+#: ../../printer/printerdrake.pm_.c:2413
+msgid "New printer name"
+msgstr "Nuwe drukkernaam"
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2416
#, c-format
-msgid "chunk size"
-msgstr "blokgrootte"
+msgid "Transferring %s..."
+msgstr "%s word oorgedra..."
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:2427
#, c-format
msgid ""
-"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
-"\n"
-"If set to NONE, no issues are allowed.\n"
-"\n"
-"Else only /etc/issue is allowed."
+"You have transferred your former default printer (\"%s\"), Should it be also "
+"the default printer under the new printing system %s?"
msgstr ""
-"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
-"\n"
-"If set to NONE, no issues are allowed.\n"
-"\n"
-"Else only /etc/issue is allowed."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid " Enable/Disable sulogin(8) in single user level."
-msgstr "Versper/Ontsper sulogin(8) in enkel-gebruiker modus"
-#. -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:1
-#, c-format
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "instruksies voor herlaai, of 'c' vir 'n instruksielyn."
+#: ../../printer/printerdrake.pm_.c:2437
+#, fuzzy
+msgid "Refreshing printer data..."
+msgstr "Drukkerdata word gelees..."
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "Problems installing package %s"
-msgstr "Probleme met Installasue van pakket %s"
+#: ../../printer/printerdrake.pm_.c:2445 ../../printer/printerdrake.pm_.c:2516
+#: ../../printer/printerdrake.pm_.c:2528
+#, fuzzy
+msgid "Configuration of a remote printer"
+msgstr "Konfigureer drukker"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "You will receive an alert if the load is higher than this value"
-msgstr "U sal 'n waarskuwing ontvang sodra die las hor as die waarde styg"
+#: ../../printer/printerdrake.pm_.c:2446
+#, fuzzy
+msgid "Starting network..."
+msgstr "Konneksie word begin..."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add a scanner manually"
-msgstr "Voeg self 'n skandeerder by"
+#: ../../printer/printerdrake.pm_.c:2479 ../../printer/printerdrake.pm_.c:2483
+#: ../../printer/printerdrake.pm_.c:2485
+#, fuzzy
+msgid "Configure the network now"
+msgstr "Stel netwerk op"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh"
-msgstr "Herlaai"
+#: ../../printer/printerdrake.pm_.c:2480
+#, fuzzy
+msgid "Network functionality not configured"
+msgstr "Monitor is nie opgestel nie"
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Reload partition table"
-msgstr "Herlaai partisietabel"
+#: ../../printer/printerdrake.pm_.c:2481
+msgid ""
+"You are going to configure a remote printer. This needs working network "
+"access, but your network is not configured yet. If you go on without network "
+"configuration, you will not be able to use the printer which you are "
+"configuring now. How do you want to proceed?"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "Ja, ek verlang outo-inteken met hierdie (gebruiker,werkskerm)"
+#: ../../printer/printerdrake.pm_.c:2484
+#, fuzzy
+msgid "Go on without configuring the network"
+msgstr "Stel netwerk op"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Selected"
-msgstr "Verwyder Gekose"
+#: ../../printer/printerdrake.pm_.c:2518
+msgid ""
+"The network configuration done during the installation cannot be started "
+"now. Please check whether the network gets accessable after booting your "
+"system and correct the configuration using the Mandrake Control Center, "
+"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
+"printer, also using the Mandrake Control Center, section \"Hardware\"/"
+"\"Printer\""
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search for fonts in installed list"
-msgstr "Soek vir lettertipes in genstalleerde lys"
+#: ../../printer/printerdrake.pm_.c:2519
+msgid ""
+"The network access was not running and could not be started. Please check "
+"your configuration and your hardware. Then try to configure your remote "
+"printer again."
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The Local Network did not finish with `.0', bailing out."
-msgstr "Die plaaslike netwer het nie met 'n '0' voltooi nie, ontsnap hier."
+#
+#: ../../printer/printerdrake.pm_.c:2529
+#, fuzzy
+msgid "Restarting printing system..."
+msgstr "Watter drukkerstelsel verlang u?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Boot"
-msgstr "Selflaai"
+#: ../../printer/printerdrake.pm_.c:2568
+#, fuzzy
+msgid "high"
+msgstr "Hoog"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " and the CD is in the drive"
-msgstr " en die CD in die aandrywer is"
+#: ../../printer/printerdrake.pm_.c:2568
+#, fuzzy
+msgid "paranoid"
+msgstr "Paranoes"
-#: ../../harddrake/v4l.pm:1
+#: ../../printer/printerdrake.pm_.c:2569
#, c-format
-msgid "Tuner type:"
-msgstr "Tipe instemmer"
+msgid "Installing a printing system in the %s security level"
+msgstr ""
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:2570
#, c-format
msgid ""
-"Now, it's time to select a printing system for your computer. Other OSs may\n"
-"offer you one, but Mandrake Linux offers two. Each of the printing system\n"
-"is best suited to particular types of configuration.\n"
-"\n"
-" * \"%s\" -- which is an acronym for ``print, don't queue'', is the choice\n"
-"if you have a direct connection to your printer, you want to be able to\n"
-"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
-"will handle only very simple network cases and is somewhat slow when used\n"
-"with networks.) It's recommended that you use \"pdq\" if this is your first\n"
-"experience with GNU/Linux.\n"
-"\n"
-" * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n"
-"printing to your local printer or to one halfway around the planet. It is\n"
-"simple to configure and can act as a server or a client for the ancient\n"
-"\"lpd \" printing system, so it compatible with older operating systems\n"
-"which may still need print services. While quite powerful, the basic setup\n"
-"is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make\n"
-"sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n"
-"front-ends for printing or choosing printer options and for managing the\n"
-"printer.\n"
-"\n"
-"If you make a choice now, and later find that you don't like your printing\n"
-"system you may change it by running PrinterDrake from the Mandrake Control\n"
-"Center and clicking the expert button."
-msgstr ""
-"Dit is nou tyd om u drukkerstelsel te kies. Ander bedryfstelsels sal\n"
-"seker net een aan u bied, maar Mandrake Linux gee twee. Elk van hulle\n"
-"is beter as die ander in sekere gevalle.\n"
-"\n"
-" * \"%s\" -- wat vir \"print, don't queue\" staan. Kies dit indien u\n"
-"'n direkte konneksie na die drukker het, en u blitsig wil inmeng sodra\n"
-"daar probleme is, ook indien u nie netwerk-drukkers het nie. (\"%s\"\n"
-"hanteer net eenvoudige netwerk-toegang en is effe stadig deur die netwerk)\n"
-"Ons beveel aan dat u \"pdq\" gebruik indien u nog groen is met GNU/Linux.\n"
-"\n"
-" * \"%s\" - 'Common Unix Printing System', is 'n uitstekende keuse om na\n"
-"u plaaslike drukker, of na een in myle vanaf u, te druk. Eenvoudig om\n"
-"op te stel, kan klint of bediener rolle vertolk vir die lpd-fossiel. Dit\n"
-" beteken dat ons omsien na ons veterane! Dit is baie kragtig, maar 'n\n"
-"elementre opstel is byna so maklik soos \"pdq\". Indien u 'n lpd-\n"
-"bediener wil nastreef, maak seker dat u die \"cups-lpd\"-daemoon\n"
-"loop. \"%s\" sluit grafiese programme in om vanaf te druk of om\n"
-"opsies te keis en drukkers te bestuur.\n"
-"\n"
-"Sou u die keuse nou, later wil verander, gaan gerus na 'PrinterDrake'\n"
-"in die 'Mandrake Control Center' en klik op die \"Kenner\" knoppie."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "\"Menu\" key"
-msgstr "\"Menu\"-sleutel"
+"You are about to install the printing system %s on a system running in the %"
+"s security level.\n"
+"\n"
+"This printing system runs a daemon (background process) which waits for "
+"print jobs and handles them. This daemon is also accessable by remote "
+"machines through the network and so it is a possible point for attacks. "
+"Therefore only a few selected daemons are started by default in this "
+"security level.\n"
+"\n"
+"Do you really want to configure printing on this machine?"
+msgstr ""
+
+#
+#: ../../printer/printerdrake.pm_.c:2604
+#, fuzzy
+msgid "Starting the printing system at boot time"
+msgstr "Watter drukkerstelsel verlang u?"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2605
#, c-format
msgid ""
+"The printing system (%s) will not be started automatically when the machine "
+"is booted.\n"
"\n"
+"It is possible that the automatic starting was turned off by changing to a "
+"higher security level, because the printing system is a potential point for "
+"attacks.\n"
"\n"
-"Please check whether Printerdrake did the auto-detection of your printer "
-"model correctly. Find the correct model in the list when a wrong model or "
-"\"Raw printer\" is highlighted."
+"Do you want to have the automatic starting of the printing system turned on "
+"again?"
msgstr ""
-"\n"
-"\n"
-"Maak tog seker dat 'Printerdrake' u drukker korrek bespeur het. Sou dit "
-"verkeerdelik bespeur was, of \"Onverwerkte (direkte) drukker\" verlig is, "
-"kies dan die korrekte een vanuit die lys."
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Administrator:"
-msgstr "Sekuriteits-admin:"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the shell timeout. A value of zero means no timeout."
-msgstr "Voorsien die tydsbeperking van die dop. Indien geen, maak dit Zero"
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2765
+msgid "Checking installed software..."
+msgstr "Installeerde sagteware word deursoek..."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy succeeded"
-msgstr "Kopieer van Fermware was suksesvol"
+#: ../../printer/printerdrake.pm_.c:2630
+#, fuzzy, c-format
+msgid "Removing %s ..."
+msgstr "LPD word verwyder..."
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid ""
-"You can't use another CDROM when the following programs are running: \n"
-"%s"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2636
+#, fuzzy, c-format
+msgid "Installing %s ..."
+msgstr "Installeer pakket %s"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check permissions of files in the users' home."
-msgstr ""
-"indien ja gekies is, ondersoek ler-vergunningsvlakke in gebuiker se tuisgids"
+#: ../../printer/printerdrake.pm_.c:2685
+msgid "Select Printer Spooler"
+msgstr "Kies drukkerspoelprogram"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"You don't have an Internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-"U het nie 'n Internetkonneksie nie.\n"
-"Skep eerstens een deur op 'Konfigureer' te klik"
+#
+#: ../../printer/printerdrake.pm_.c:2686
+msgid "Which printing system (spooler) do you want to use?"
+msgstr "Watter drukkerstelsel (spoelprogram) verlang u?"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Fonts copy"
-msgstr "Kopieer Lettertipes"
+#: ../../printer/printerdrake.pm_.c:2720
+#, fuzzy, c-format
+msgid "Configuring printer \"%s\"..."
+msgstr "Konfigureer drukker"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automated"
-msgstr "Outomaties"
+#: ../../printer/printerdrake.pm_.c:2731
+#, fuzzy
+msgid "Installing Foomatic..."
+msgstr "Installeer pakket %s"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Do you want to test the configuration?"
-msgstr "Wil u die konfigurasie toets?"
+#: ../../printer/printerdrake.pm_.c:2800 ../../printer/printerdrake.pm_.c:2838
+#: ../../printer/printerdrake.pm_.c:3230 ../../printer/printerdrake.pm_.c:3300
+msgid "Printer options"
+msgstr "Drukkeropsies"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
-"GIMP."
-msgstr ""
-"Die drukker \"%s\" is suksesvol uit Star Office/OpenOffice.org/GIMP verwyder"
+#: ../../printer/printerdrake.pm_.c:2810
+#, fuzzy
+msgid "Preparing Printerdrake..."
+msgstr "Drukkerdata word gelees..."
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save packages selection"
-msgstr "Stoor pakketseleksie"
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:3369
+#, fuzzy
+msgid "Configuring applications..."
+msgstr "Konfigureer drukker"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Actions"
-msgstr "/_Aksies"
+#: ../../printer/printerdrake.pm_.c:2845
+msgid "Would you like to configure printing?"
+msgstr "Wil u 'n drukwerk nou konfigureer?"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Remove the last item"
-msgstr "Verwyder die laaste item"
+#: ../../printer/printerdrake.pm_.c:2857
+msgid "Printing system: "
+msgstr "Drukkerstelsel:"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "User list to restore (only the most recent date per user is important)"
+#: ../../printer/printerdrake.pm_.c:2915
+#, fuzzy
+msgid ""
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; to view information about it; "
+"or to make a printer on a remote CUPS server available for Star Office/"
+"OpenOffice.org/GIMP."
msgstr ""
-"Gebruikers om te herstel ( slegs die mees onlangse datum / gebruiker is "
-"belangrik)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No net boot images created!"
-msgstr "Geen netwerk-selflaai beelde is geskep"
+"Hier is die bestaande drukkertoue.\n"
+"U kan byvoeg or verwyder soos nodig."
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pptp"
-msgstr "gebruik pptp"
+#: ../../printer/printerdrake.pm_.c:2916
+#, fuzzy
+msgid ""
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; or to view information about "
+"it."
+msgstr ""
+"Hier is die bestaande drukkertoue.\n"
+"U kan byvoeg or verwyder soos nodig."
-#: ../../services.pm:1
-#, c-format
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Kies watter dienste moet outomaties begin met herlaaityd."
+#: ../../printer/printerdrake.pm_.c:2942
+msgid "Refresh printer list (to display all available remote CUPS printers)"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check files/directories writable by everybody"
-msgstr "Soek vir lers/lergidse waarna enige iemand kan skryf."
+#: ../../printer/printerdrake.pm_.c:2960
+#, fuzzy
+msgid "Change the printing system"
+msgstr "Stel netwerk op"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Learn how to use this printer"
-msgstr "Leer hoe om hierdie drukker te gebruik"
+#: ../../printer/printerdrake.pm_.c:2965 ../../standalone/drakconnect_.c:274
+msgid "Normal Mode"
+msgstr "Normale modus"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configure the network now"
-msgstr "Stel nou die netwerk op"
+#: ../../printer/printerdrake.pm_.c:3127 ../../printer/printerdrake.pm_.c:3176
+#: ../../printer/printerdrake.pm_.c:3363
+#, fuzzy
+msgid "Do you want to configure another printer?"
+msgstr "Wil u die konfigurasie toets?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose a mirror from which to get the packages"
-msgstr "Kies 'n spiel waar die pakkette verkry kan word"
+#: ../../printer/printerdrake.pm_.c:3211
+msgid "Modify printer configuration"
+msgstr "Verander drukkerkonfigurasie"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:3213
+#, fuzzy, c-format
msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
+"Printer %s\n"
+"What do you want to modify on this printer?"
msgstr ""
-"Die FAT-verstellingsprogram kan nie u partisie hanteer nie.\n"
-"Fout: %s"
+"Drukker %s: %s %s\n"
+"Wil u hierdie drukker verander?"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Size: "
-msgstr "Grootte: "
+#: ../../printer/printerdrake.pm_.c:3217
+msgid "Do it!"
+msgstr "Gaan voort!"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which sector do you want to move it to?"
-msgstr "Na watter sektor wil u skuif?"
+#: ../../printer/printerdrake.pm_.c:3222 ../../printer/printerdrake.pm_.c:3271
+msgid "Printer connection type"
+msgstr "Drukkerkonneksietipe"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahamas"
-msgstr "Bahamas"
+#: ../../printer/printerdrake.pm_.c:3223 ../../printer/printerdrake.pm_.c:3275
+msgid "Printer name, description, location"
+msgstr "Drukkernaam,. beskrywing, ligging"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Do you want to click on this button?"
-msgstr "Wil u op hierdie knoppie klik?"
+#: ../../printer/printerdrake.pm_.c:3225 ../../printer/printerdrake.pm_.c:3293
+msgid "Printer manufacturer, model, driver"
+msgstr "Drukkervervaardiger, model, drywer"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Manual configuration"
-msgstr "Selfdoen konfigurasie"
+#: ../../printer/printerdrake.pm_.c:3226 ../../printer/printerdrake.pm_.c:3294
+msgid "Printer manufacturer, model"
+msgstr "Drukkervervaardiger, model"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "search"
-msgstr "soek"
+#: ../../printer/printerdrake.pm_.c:3232 ../../printer/printerdrake.pm_.c:3304
+msgid "Set this printer as the default"
+msgstr "Maak hierdie die verstekdrukker"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../printer/printerdrake.pm_.c:3234 ../../printer/printerdrake.pm_.c:3309
+msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-"Hierdie pakket laai die sleutelbordkaart soos dit in\n"
-"/etc/sysconfig/keyboard\n"
-"opgestel is. Dit kan vernader word met die kbdconfig nutsprogram.\n"
-"U moet dit op meeste rekenaars ongesper laat."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Xpmac (installation display driver)"
-msgstr "Xpmac (installasievertoondrywer)"
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf host name must not contain a ."
-msgstr "'Zeroconf'-naam mag nie 'n '.' bevat nie"
+#: ../../printer/printerdrake.pm_.c:3235 ../../printer/printerdrake.pm_.c:3314
+msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid " Accept/Refuse icmp echo."
-msgstr "Aanvaar/Weier icmp-ego's."
+#: ../../printer/printerdrake.pm_.c:3236 ../../printer/printerdrake.pm_.c:3319
+msgid "Print test pages"
+msgstr "Druk toetsbladsy(e)"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../printer/printerdrake.pm_.c:3237 ../../printer/printerdrake.pm_.c:3321
+#, fuzzy
+msgid "Know how to use this printer"
+msgstr "Wil u die konfigurasie toets?"
-#: ../../harddrake/data.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown/Others"
-msgstr "Onbekend/Ander"
+#
+#: ../../printer/printerdrake.pm_.c:3238 ../../printer/printerdrake.pm_.c:3323
+msgid "Remove printer"
+msgstr "Verwyder drukker"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "No TV Card detected!"
-msgstr "Geen TV-kaart opgespoor!"
+#: ../../printer/printerdrake.pm_.c:3282
+#, fuzzy, c-format
+msgid "Removing old printer \"%s\"..."
+msgstr "Drukkerdata word gelees..."
-#: ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Options"
-msgstr "Opsies"
+#: ../../printer/printerdrake.pm_.c:3307
+msgid "Default printer"
+msgstr "Verstek drukker"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3308
#, c-format
msgid "The printer \"%s\" is set as the default printer now."
msgstr "Drukker \"%s\" is nou die verstekdrukker"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are configuring an OKI laser winprinter. These printers\n"
-"use a very special communication protocol and therefore they work only when "
-"connected to the first parallel port. When your printer is connected to "
-"another port or to a print server box please connect the printer to the "
-"first parallel port before you print a test page. Otherwise the printer will "
-"not work. Your connection type setting will be ignored by the driver."
+#: ../../printer/printerdrake.pm_.c:3310
+msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-"U stel nou 'n OKI laser-windrukker op. Hierdie drukkers\n"
-"gebruik 'n baie spesiale protokol vir kommunikasie en kan slegs korrek werk "
-"indien hulle aan die eerste parallelle poort gekoppel word. Sou u drukker "
-"tans elders gekoppel wees, skuif dit na die eerste parallele poort voordat u "
-"'n toetsbladsy druk. Dit is baie belangrik, anders sal die drukker nie reg "
-"werk nie, en die drywer sal u tipe konneksie ignoreer."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "generation of the cpu (eg: 8 for PentiumIII, ...)"
-msgstr "verwerker se generasie (bv. 8 vir PentiumIII,...)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detected"
-msgstr "Outomaties Opgespoor"
-
-#: ../../standalone/drakpxe:1
+#: ../../printer/printerdrake.pm_.c:3312
#, c-format
msgid ""
-"You are about to configure your computer to install a PXE server as a DHCP "
-"server\n"
-"and a TFTP server to build an installation server.\n"
-"With that feature, other computers on your local network will be installable "
-"using this computer as source.\n"
-"\n"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
+"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
msgstr ""
-"You are about to configure your computer to install a PXE server as a DHCP "
-"server\n"
-"and a TFTP server to build an installation server.\n"
-"With that feature, other computers on your local network will be installable "
-"using this computer as source.\n"
-"\n"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-#: ../../harddrake/sound.pm:1
+#: ../../printer/printerdrake.pm_.c:3313
#, c-format
-msgid ""
-"OSS (Open Sound System) was the first sound API. It's an OS independent "
-"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
-"and limited API.\n"
-"What's more, OSS drivers all reinvent the wheel.\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
-"which\n"
-"supports quite a large range of ISA, USB and PCI cards.\n"
-"\n"
-"It also provides a much higher API than OSS.\n"
-"\n"
-"To use alsa, one can either use:\n"
-"- the old compatibility OSS api\n"
-"- the new ALSA api that provides many enhanced features but requires using "
-"the ALSA library.\n"
+msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
msgstr ""
-"OSS (Open Sound System) was die eerste klank-API. Dit is onafhanklikvan die "
-"bedryfstelsel (dus is dit beskikbaar op meeste UNIX(tm) stelselsdit is 'n "
-"vreeslik basiese API.\n"
-"Drywers vir OSS is ook vreeslik omslagtig\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) het 'n modulre argitektuur wat\n"
-"'n wye verskeidenheid ISA, USB en PCI kaarte ondersteun.\n"
-"\n"
-"Die API is ook heelwat hor as die van OSS.\n"
-"\n"
-"On alsa te gebruik, kan u:\n"
-"- die ou versoenbare OSS-api gebruik\n"
-"- die nuwe ALSA-api gebruik. Dit het heelwat gevorderde\n"
-"glanspunte het, maar moet die ALSA programmateek gebruik\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"No free space for 1MB bootstrap! Install will continue, but to boot your "
-"system, you'll need to create the bootstrap partition in DiskDrake"
+#: ../../printer/printerdrake.pm_.c:3315
+msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-"Geen beskikbare 1MB herlaaipartisie nie! Installasie sal voortgaan, maar u "
-"sal herlaaipartisie met DiskDrake moet skep indien u die stelsel wil "
-"herlaai."
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3317
#, c-format
msgid ""
-"Please choose the printer you want to set up or enter a device name/file "
-"name in the input line"
+"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
+"GIMP."
msgstr ""
-"Kies asseblief die drukker wat u wil opstel of voorsien 'n toestel-/ler-"
-"naam "
-
-#
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Refuse"
-msgstr "Weier"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "LOCAL"
-msgstr "PLAASLIK"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../services.pm:1
+#: ../../printer/printerdrake.pm_.c:3318
#, c-format
msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
+"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
msgstr ""
-"HardDrake tas die hardeware af, en konfigureer\n"
-"nuwe/veranderde hardeware."
-#: ../../fs.pm:1
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Ler %s word geskep en formatteer"
+#: ../../printer/printerdrake.pm_.c:3325
+#, fuzzy, c-format
+msgid "Do you really want to remove the printer \"%s\"?"
+msgstr "Wil u die werklik die drukker verwyder?"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of sgid files."
-msgstr "indien ja gekies is, ondersoek byvoeg/verwydering van sgid-lers."
+#: ../../printer/printerdrake.pm_.c:3329
+#, fuzzy, c-format
+msgid "Removing printer \"%s\"..."
+msgstr "Drukkerdata word gelees..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned "
-"on. Download the Windows driver package from the HP web site (the firmware "
-"on the printer's CD does not work) and extract the firmware file from it by "
-"uncompresing the self-extracting '.exe' file with the 'unzip' utility and "
-"searching for the 'sihp1000.img' file. Copy this file into the '/etc/"
-"printer' directory. There it will be found by the automatic uploader script "
-"and uploaded whenever the printer is connected and turned on.\n"
-msgstr ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned "
-"on. Download the Windows driver package from the HP web site (the firmware "
-"on the printer's CD does not work) and extract the firmware file from it by "
-"uncompresing the self-extracting '.exe' file with the 'unzip' utility and "
-"searching for the 'sihp1000.img' file. Copy this file into the '/etc/"
-"printer' directory. There it will be found by the automatic uploader script "
-"and uploaded whenever the printer is connected and turned on.\n"
-
-#: ../../diskdrake/interactive.pm:1
+#: ../../raid.pm_.c:35
#, c-format
-msgid "Choose an existing LVM to add to"
-msgstr "Kies 'n bestaande LVM om by toe te voeg"
+msgid "Can't add a partition to _formatted_ RAID md%d"
+msgstr "Kan nie 'n partisie by geformatteerde RAID md%d byvoeg nie"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "xfs restart"
-msgstr "herbegin xfs"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed"
+msgstr "mkraid het gefaal"
-#: ../../printer/printerdrake.pm:1
+#: ../../raid.pm_.c:137
+msgid "mkraid failed (maybe raidtools are missing?)"
+msgstr "mkraid het gefaal. Dalk is 'raidtools' nie beskikbaar nie."
+
+#: ../../raid.pm_.c:153
#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Nie genoeg partisies vir RAID vlak %d nie\n"
+
+#: ../../security/main.pm_.c:36
msgid ""
-"The printer \"%s\" already exists,\n"
-"do you really want to overwrite its configuration?"
+"Standard: This is the standard security recommended for a computer that will "
+"be used to connect\n"
+" to the Internet as a client.\n"
+"\n"
+"High: There are already some restrictions, and more automatic checks "
+"are run every night.\n"
+"\n"
+"Higher: The security is now high enough to use the system as a server "
+"which can accept\n"
+" connections from many clients. If your machine is only a "
+"client on the Internet, you\n"
+"\t should choose a lower level.\n"
+"\n"
+"Paranoid: This is similar to the previous level, but the system is entirely "
+"closed and security\n"
+" features are at their maximum\n"
+"\n"
+"Security Administrator:\n"
+" If the 'Security Alerts' option is set, security alerts will "
+"be sent to this user (username or\n"
+"\t email)"
msgstr ""
-"Drukker \"%s\" bestaan alreeds,\n"
-"Wil u werklik die konfigurasie oorskryf?"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use the scanners on hosts: "
-msgstr "Gebruik skandeerders op rekenaars: "
+#: ../../security/main.pm_.c:66
+#, fuzzy
+msgid "Security Level:"
+msgstr "Sekuriteitsvlak word gestel."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselected All"
-msgstr "Herstel Keuses"
+#: ../../security/main.pm_.c:77
+#, fuzzy, c-format
+msgid " (default value: %s)"
+msgstr " (Verstek)"
-#: ../../install_steps_interactive.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "No partition available"
-msgstr "geen beskikbare partisies"
+#: ../../security/main.pm_.c:113
+#, fuzzy
+msgid "Security Alerts:"
+msgstr "Sekuriteitsvlak word gestel."
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Printer Management \n"
-msgstr "Bestuur Drukkers \n"
+#: ../../security/main.pm_.c:115
+#, fuzzy
+msgid "Security Administrator:"
+msgstr "Eksterne lpd drukkeropsies"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Domain Name Resolver"
-msgstr "Oplosser van Domeinnaam"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "Network Options"
+msgstr "Module opsies:"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key (again)"
-msgstr "Enkripsie-sleutel (nogmaals)"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "System Options"
+msgstr "Module opsies:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Samba share name missing!"
-msgstr "SAMBA-deelnaam ontbreek!"
+#: ../../security/main.pm_.c:133 ../../security/main.pm_.c:164
+msgid ""
+"The following options can be set to customize your\n"
+"system security. If you need explanations, click on Help.\n"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type install done"
-msgstr "'True Type' (lettertipes) installasie"
+#: ../../security/main.pm_.c:177
+msgid "Periodic Checks"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detection in progress"
-msgstr "Bespeuring aan die gebeur"
+#: ../../security/main.pm_.c:191
+#, fuzzy
+msgid "Please wait, setting security level..."
+msgstr "Sekuriteitsvlak word gestel."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Whole Kernel -->"
-msgstr "Bou die Hele 'Kernel' -->"
+#: ../../security/main.pm_.c:197
+#, fuzzy
+msgid "Please wait, setting security options..."
+msgstr "Wag asb. installasie word voorberei"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "modem"
-msgstr "modem"
+#: ../../services.pm_.c:19
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Loop die ALSA (Gevorderde Linux Klankargitektuur) klankstelsel"
-#: ../../lang.pm:1
-#, c-format
-msgid "Welcome to %s"
-msgstr "Welkom by %s"
+#: ../../services.pm_.c:20
+msgid "Anacron a periodic command scheduler."
+msgstr "Anacron is skeduleerder vir periodiese instruksies."
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../services.pm_.c:21
msgid ""
-" drakhelp 0.1\n"
-"Copyright (C) 2003 MandrakeSoft.\n"
-"This is free software and may be redistributed under the terms of the GNU "
-"GPL.\n"
-"\n"
-"Usage: \n"
+"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 ""
-" drakhelp 0.1\n"
-"Copyright (C) 2003 MandrakeSoft.\n"
-"This is free software and may be redistributed under the terms of the GNU "
-"GPL.\n"
-"\n"
-"Usage: \n"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please insert the Update Modules floppy in drive %s"
-msgstr "Sit asb. die module-opdateringsfloppie in aandrywer %s"
+"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."
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Bootsplash"
-msgstr "Selflaai-splatskerm"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:23
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"is directly connected to your system"
+"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 ""
-"Die volgende drukker\n"
-"\n"
-"%s%s\n"
-"is direk aan u rekenaar gekoppel"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer sharing on hosts/networks: "
-msgstr "Deel drukkers op rekenaars/netwerke:"
+"Loop instruksies deur 'at' geskeduleer op die tyd deur 'at' gespesifiseer. "
+"Loop ook instruksiebondels wanneer die stelsellas laag genoeg is."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:25
msgid ""
-"\n"
-"The \"%s\" command also allows to modify the option settings for a "
-"particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\". "
+"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 ""
-"\n"
-"Die \"%s\"-opdrag laat u toe om opsies vir 'n sekere drukstuk te verander. "
-"Sit net doodeenvoudig die ekstra opsies by die opdragbyvoorbeeld \"%s <ler>"
-"\". "
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "DrakClock"
-msgstr "Drakbackup"
+"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."
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:28
msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without them. 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."
+"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 ""
-"In sekere gevalle sal die %s drywer ekstra inligting benodig, alhoewel in\n"
-"meeste gevalle dit nie nodig is nie. Wil u ekstra opsies voorsien of moet\n"
-"rekenaar self daarvoor aftas. In uitsonderlike gevalle mag die rekenaar\n"
-"vries, maar sal nie skade veroorsaak nie."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct CD label. Disk is labelled %s."
-msgstr "Nie die korrekte CD nie. CD is %s genoem."
+"GPM verleen muisvermons aan teksgebaseerde Linuxapplikasies soos\n"
+"Midnight Commander. Dit laat muisgebaseerde knip-en-plak aksies op die\n"
+"konsole toe asook opspringkieskaarte."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../services.pm_.c:31
msgid ""
-"\n"
-"- Daemon, %s via:\n"
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
msgstr ""
-"\n"
-"- Daemoon %s via:\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cuba"
-msgstr "Kuba"
+#: ../../services.pm_.c:33
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache is 'n WWW-bediener.\n"
+"Dit kan HTML-lers uitstuur en CGI's hanteer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "October"
-msgstr "Oktober"
+#: ../../services.pm_.c:34
+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."
-#: ../../lang.pm:1
-#, c-format
-msgid "Belize"
-msgstr "Belize"
+#: ../../services.pm_.c:38
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Searching for new printers..."
-msgstr "Opsoek na nuwe drukkers..."
+#: ../../services.pm_.c:40
+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."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (multi-session)"
-msgstr " (multi-sessie)"
+#: ../../services.pm_.c:43
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Kernel Boot Timeout"
-msgstr "Tydsbeperking vir stelselkernlaai"
+#: ../../services.pm_.c:45
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Outobespeuring en hardewarekonfigurasie met herlaaityd."
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../services.pm_.c:46
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."
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
msgstr ""
-"U videokaart kan slegs 3D-versnelling onder XFree %s ondersteun.\n"
-"DIt word wel onder XFree %s ondersteun wat dalk beter\n"
-"2D-ondersteuning het."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid " Activate/Disable daily security check."
-msgstr "Aktiveer/Versper daaglikese sekuriteits-toets."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-CD-R.\n"
-msgstr "\t-CD-R.\n"
+#: ../../services.pm_.c:48
+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."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable libsafe if libsafe is found on the system"
-msgstr "Ontsper 'libsafe' indien 'libsafe' teenwoordig is."
+#: ../../services.pm_.c:50
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "Die DrakX partisioneringsassistent het die volgende oplossings:"
+#: ../../services.pm_.c:52
+#, fuzzy
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve 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."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Hungarian"
-msgstr "Hongaars"
+#: ../../services.pm_.c:53
+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."
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../services.pm_.c:55
msgid ""
-"Select your provider.\n"
-"If it isn't listed, choose Unlisted."
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
msgstr ""
-"Kies u internetdiensvoorsiener.\n"
-"Indien nie in die lys nie kies Ongelys"
+"Aktiveer/Deaktiveer all netwerkkoppelvlakke wat opgestel is om by\n"
+"herlaaityf te begin."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automatic time synchronization (using NTP)"
-msgstr "Outo-tydsinkronisasie met NTP"
+#: ../../services.pm_.c:57
+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."
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Use my Windows partition"
-msgstr "Gebruik my Windows-partisie"
+#: ../../services.pm_.c:60
+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."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "8 MB"
-msgstr "8 MB"
+#: ../../services.pm_.c:62
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and XFree at boot."
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Server"
-msgstr "LDAP-bediener"
+#: ../../services.pm_.c:64
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Ondersteun die OKI-4W en aanpasbare WIN-drukkers"
-#: ../../services.pm:1
-#, c-format
+#: ../../services.pm_.c:65
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 "
@@ -13322,443 +8635,435 @@ msgstr ""
"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."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Choose your country"
-msgstr "Kies u land"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../services.pm_.c:68
msgid ""
-"\n"
-"- System Files:\n"
+"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 ""
-"\n"
-" - Stelsel-lers:\n"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Standalone Tools"
-msgstr "Alleenstaande nutsprogramme"
+"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."
-#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Where"
-msgstr "Waar"
+#: ../../services.pm_.c:71
+#, fuzzy
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that 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."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "but not matching"
-msgstr "maar nie passend"
+#: ../../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."
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../services.pm_.c:74
msgid ""
-"Here you can select an alternative driver (either OSS or ALSA) for your "
-"sound card (%s)."
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle"
msgstr ""
-"Hier kan u 'n alternatiewe drywer vir u klankkaart kies ( OSS of ALSA)"
-"klankkaart (%s)."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring PCMCIA cards..."
-msgstr "Stel PCMCIA op..."
+#: ../../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."
-#: ../../common.pm:1
-#, c-format
-msgid "kdesu missing"
-msgstr "kdesu is weg"
+#: ../../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."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires a username...\n"
-msgstr "%s: %s benodig 'n gebruikernaam...\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 ""
+"Die 'rusers' protokol laat netwerkgebruikers toe om te bepaal wie\n"
+"aangeteken is op ander samewerkende rekenaars."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key"
-msgstr "Enkripsie-sleutel"
+#: ../../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')."
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
+#: ../../services.pm_.c:85
+msgid "Launch the sound system on your machine"
+msgstr "Laai die klankstelsel op u rekenaar"
-#: ../../keyboard.pm:1
-#, c-format
+#: ../../services.pm_.c:86
msgid ""
-"This setting will be activated after the installation.\n"
-"During installation, you will need to use the Right Control\n"
-"key to switch between the different keyboard layouts."
+"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 ""
-"Hierdie verstelling sal aktief wees na die installasie.\n"
-"Gedurende installasie, moet u die regter 'Control'-sleutel\n"
-"gebruik om tussen die uitlegte te spring."
+"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."
-#: ../../lang.pm:1
-#, c-format
-msgid "Christmas Island"
-msgstr "Christmas Island"
+#: ../../services.pm_.c:88
+msgid "Load the drivers for your usb devices."
+msgstr "Laai die drywers vir u USB-toestelle"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Automatic"
-msgstr "Outomatiese IP"
+#: ../../services.pm_.c:89
+msgid "Starts the X Font Server (this is mandatory for XFree to run)."
+msgstr "Laai die X-fontbediener (dis nodig vir XFree)."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Installasie van herlaaiprogram het gefaal a.g.v. hierdie fout: "
+#: ../../services.pm_.c:115 ../../services.pm_.c:157
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Kies watter dienste moet outomaties begin met herlaaityd."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "EIDE/SCSI channel"
-msgstr "EIDE/SCSI channel"
+#: ../../services.pm_.c:127
+#, fuzzy
+msgid "Printing"
+msgstr "Druk"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Set this printer as the default"
-msgstr "Maak hierdie die verstekdrukker"
+#: ../../services.pm_.c:128
+msgid "Internet"
+msgstr "Internet"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Verify that %s is the correct path"
-msgstr "Is %s die korrekte roete?"
+#: ../../services.pm_.c:131
+msgid "File sharing"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "partition %s"
-msgstr "partisie %s"
+#: ../../services.pm_.c:133 ../../standalone/drakbackup_.c:1709
+#, fuzzy
+msgid "System"
+msgstr "Stelselmode"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Paranoid"
-msgstr "Paranoes"
+#: ../../services.pm_.c:138
+#, fuzzy
+msgid "Remote Administration"
+msgstr "Eksterne lpd drukkeropsies"
-#: ../../any.pm:1
-#, c-format
-msgid "NIS"
-msgstr "NIS"
+#: ../../services.pm_.c:146
+#, fuzzy
+msgid "Database Server"
+msgstr "Datbasis"
-#: ../../standalone/drakTermServ:1
+#: ../../services.pm_.c:175
#, c-format
-msgid "<-- Del User"
-msgstr "<-- Verwyder gebruiker"
+msgid "Services: %d activated for %d registered"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Location on the bus"
-msgstr "Ligging op die bus"
+#: ../../services.pm_.c:191
+msgid "Services"
+msgstr "Dienste"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No printer found!"
-msgstr "Geen drukker gevind nie"
+#: ../../services.pm_.c:203
+msgid "running"
+msgstr "aktief"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the device"
-msgstr "toestel se vervaardiger"
+#: ../../services.pm_.c:203
+msgid "stopped"
+msgstr "onaktief"
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Erase entire disk"
-msgstr "Wis hele skyf"
+#: ../../services.pm_.c:217
+msgid "Services and deamons"
+msgstr ""
-#: ../../printer/cups.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Default)"
-msgstr " (Verstek)"
+#: ../../services.pm_.c:222
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Automatic reconfiguration"
-msgstr "Outomatiese herkonfigurasie"
+#: ../../services.pm_.c:229
+msgid "On boot"
+msgstr "met herlaai"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Receiving Speed:"
-msgstr "Ontvangspoed"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Start"
+msgstr "Toestand"
-#: ../../lang.pm:1
-#, c-format
-msgid "Turks and Caicos Islands"
-msgstr "Turks en Caicos Eilande"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Stop"
+msgstr "Sektor"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Ip"
-msgstr "Geen IP"
+#: ../../share/advertising/01-thanks.pl_.c:9
+msgid "Thank you for choosing Mandrake Linux 9.0"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "<- Previous"
-msgstr "<- Vorige"
+#: ../../share/advertising/01-thanks.pl_.c:10
+msgid "Welcome to the Open Source world"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Transfer Now"
-msgstr "Dra Nou Oor"
+#: ../../share/advertising/01-thanks.pl_.c:11
+msgid ""
+"The success of MandrakeSoft is based upon the principle of Free Software. "
+"Your new operating system is the result of collaborative work on the part of "
+"the worldwide Linux Community"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password and network authentication methods"
-msgstr "Stel 'root' se wagwoord en magtigings-metodes op"
+#
+#: ../../share/advertising/02-community.pl_.c:9
+#, fuzzy
+msgid "Get involved in the Free Software world"
+msgstr "Protokol vir die res van die wreld"
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Toggle between flat and group sorted"
-msgstr "Skakel tussen plat- en groepsortering"
+#: ../../share/advertising/02-community.pl_.c:10
+msgid "Want to know more about the Open Source community?"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Themes"
-msgstr "Temas"
+#: ../../share/advertising/02-community.pl_.c:11
+msgid ""
+"To share your own knowledge and help build Linux tools, join the discussion "
+"forums you'll find on our \"Community\" webpages"
+msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Options: %s"
-msgstr "Opsies: %s"
+#: ../../share/advertising/03-internet.pl_.c:9
+#, fuzzy
+msgid "Get the most from the Internet"
+msgstr "Konnekteer aan die internet"
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../share/advertising/03-internet.pl_.c:10
msgid ""
-"You are currently using %s as your boot manager.\n"
-"Click on Configure to launch the setup wizard."
+"Mandrake Linux 9.0 has selected the best software for you. Surf the Web and "
+"view animations with Mozilla and Konqueror, or read your mail and handle "
+"your personal information with Evolution and Kmail"
msgstr ""
-"U gebruik huidig %s as herlaaibestuurder.\n"
-"Kliek op Konfigureer om opstelassistent te laai."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "OKI winprinter configuration"
-msgstr "OKI windrukker-konfigurasie"
+#: ../../share/advertising/04-multimedia.pl_.c:9
+msgid "Discover the most up-to-date graphical and multimedia tools!"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Helena"
-msgstr "Saint Helena"
+#: ../../share/advertising/04-multimedia.pl_.c:10
+msgid "Push multimedia to its limits!"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Parallel port #%s"
-msgstr "Parallelle poort #%s"
+#: ../../share/advertising/04-multimedia.pl_.c:11
+msgid ""
+"Mandrake Linux 9.0 enables you to use the very latest software to play audio "
+"files, edit and handle your images or photos, and play videos"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Security Level"
-msgstr "Sekuriteitsvlak"
+#: ../../share/advertising/05-games.pl_.c:9
+msgid "Games"
+msgstr "Speletjies"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../share/advertising/05-games.pl_.c:10
msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
+"Mandrake Linux 9.0 provides the best Open Source games - arcade, action, "
+"strategy, ..."
msgstr ""
-"Bepaalde stappe is nie afgehandel nie.\n"
-"\n"
-"Wil u werklik nou eindig?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Sudan"
-msgstr "Sudan"
+#: ../../share/advertising/06-mcc.pl_.c:9 ../../standalone/drakbug_.c:49
+#, fuzzy
+msgid "Mandrake Control Center"
+msgstr "Beheersentrum"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwertz layout)"
-msgstr "Pools (QWERTZ uitleg)"
+#: ../../share/advertising/06-mcc.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides a powerful tool to fully customize and configure "
+"your machine"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Syria"
-msgstr "Siri"
+#: ../../share/advertising/07-desktop.pl_.c:9
+#, fuzzy
+msgid "User interfaces"
+msgstr "Netwerkkoppelvlak"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../share/advertising/07-desktop.pl_.c:10
msgid ""
-"Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, "
-"LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), "
-"an HP PhotoSmart or an HP LaserJet 2200?"
+"Mandrake Linux 9.0 provides you with 11 user interfaces that can be fully "
+"modified: KDE 3, Gnome 2, WindowMaker, ..."
msgstr ""
-"Is u drukker 'n multi-funksionele toestel van HP or Sony (OfficeJet, PSC, "
-"LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), "
-"'n HP PhotoSmart of 'n HP LaserJet 2200?"
-# 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:1
-#, c-format
+#: ../../share/advertising/08-development.pl_.c:9
+#, fuzzy
+msgid "Development simplified"
+msgstr "Ontwikkeling"
+
+#: ../../share/advertising/08-development.pl_.c:10
+msgid "Mandrake Linux 9.0 is the ultimate development platform"
+msgstr ""
+
+#: ../../share/advertising/08-development.pl_.c:11
msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system from the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
+"Use the full power of the GNU gcc 3 compiler as well as the best Open Source "
+"development environments"
msgstr ""
-"Welkom by %s die bedryfstelselkeuseprogram!\n"
-"\n"
-"Kies u bedryfstelsel uit die bogelyste opsies of wag\n"
-"%d sekonde vir die verstekopsie.\n"
-"\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Portuguese"
-msgstr "Portugees"
+#: ../../share/advertising/09-server.pl_.c:9
+msgid "Turn your machine into a reliable server"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: "
-msgstr "Teruglus lernaam:"
+#: ../../share/advertising/09-server.pl_.c:10
+msgid ""
+"Transform your machine into a powerful Linux server with a few clicks of "
+"your mouse: Web server, mail, firewall, router, file and print server, ..."
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server address should be in format 1.2.3.4"
-msgstr "DNS-adres moet in 1.2.3.4. formaat wees"
+#: ../../share/advertising/10-mnf.pl_.c:9
+msgid "Optimize your security"
+msgstr ""
-#
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Control key"
-msgstr "Linker 'Control'-sleutel"
+#: ../../share/advertising/10-mnf.pl_.c:10
+msgid ""
+"The MandrakeSecurity range includes the Multi Network Firewall product (M.N."
+"F.)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Serbia"
-msgstr "Serwi"
+#: ../../share/advertising/10-mnf.pl_.c:11
+msgid ""
+"This firewall product includes network features that allow you to fulfill "
+"all your security needs"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Newzealand"
-msgstr "Neu-Seeland"
+#: ../../share/advertising/10-mnf.pl_.c:12
+msgid "This product is available on MandrakeStore website"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "This directory should remain within the root filesystem"
-msgstr "Hierdie lergids moet altyd in die wortellerstelsel bly"
+#: ../../share/advertising/11-mdkstore.pl_.c:9
+msgid "The official MandrakeSoft store"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Across Network"
-msgstr "Oor Die Netwerk"
+#: ../../share/advertising/11-mdkstore.pl_.c:10
+msgid ""
+"Our full range of Linux solutions, as well as special offers on products and "
+"other \"goodies,\" are available online on our e-store:"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "CapsLock key"
-msgstr "'Capslock'-sleutel"
+#: ../../share/advertising/12-mdkstore.pl_.c:9
+msgid "Strategic partners"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install bootloader"
-msgstr "Installeer herlaaistelsel"
+#: ../../share/advertising/12-mdkstore.pl_.c:10
+msgid ""
+"MandrakeSoft works alongside a selection of companies offering professional "
+"solutions compatible with Mandrake Linux. A list of these partners is "
+"available on the MandrakeStore"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Select the memory size of your graphics card"
-msgstr "Kies die geheue grootte van u videokaart"
+#: ../../share/advertising/13-mdkcampus.pl_.c:9
+msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../share/advertising/13-mdkcampus.pl_.c:10
msgid ""
-"Enable/Disable crontab and at for users.\n"
-"\n"
-"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
-"and crontab(1))."
+"The training program has been created to respond to the needs of both end "
+"users and experts (Network and System administrators)"
msgstr ""
-"Versper/Ontsper 'crantab' en 'at' vir gebruikers.\n"
-"\n"
-"Plaas toegelete gebruikers in /etc/cron.allow en /etc/at.allow\n"
-"(verwys na man at(1) en crontab(1))."
-#: ../../standalone.pm:1
-#, c-format
+#: ../../share/advertising/13-mdkcampus.pl_.c:11
+msgid "Certify yourself on Linux"
+msgstr ""
+
+#: ../../share/advertising/13-mdkcampus.pl_.c:12
msgid ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
-"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
+"Whether you choose to teach yourself online or via our network of training "
+"partners, the Linux-Campus catalogue prepares you for the acknowledged LPI "
+"certification program (worldwide professional technical certification)"
msgstr ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
-"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Dynamic IP Address Pool:"
-msgstr "Dinamiese IP-adres poel:"
+#: ../../share/advertising/14-mdkexpert.pl_.c:9
+#, fuzzy
+msgid "Become a MandrakeExpert"
+msgstr "Kundige"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM name?"
-msgstr "LVM naam?"
+#: ../../share/advertising/14-mdkexpert.pl_.c:10
+msgid ""
+"Find the solutions of your problems via MandrakeSoft's online support "
+"platform"
+msgstr ""
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices in the \"%s\" hardware class were removed:\n"
-msgstr "Sommige toestelle in die \"%s\"-hardewareklas is verwyder:\n"
+#: ../../share/advertising/14-mdkexpert.pl_.c:11
+msgid ""
+"Join the MandrakeSoft support teams and the Linux Community online to share "
+"your knowledge and help others by becoming a recognized Expert on the online "
+"technical support website:"
+msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Het %s %s koppelvlakke gevind"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:9
+#, fuzzy
+msgid "MandrakeExpert Corporate"
+msgstr "Kundige"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Install"
-msgstr "Post-installasie"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:10
+msgid "An online platform to respond to company's specific support needs"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The internal domain name"
-msgstr "Die interne domeinnaam"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:11
+msgid ""
+"All incidents will be followed up by a single qualified MandrakeSoft "
+"technical expert."
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IRQ"
-msgstr "Kaart IRQ"
+#: ../../share/advertising/17-mdkclub.pl_.c:9
+msgid "Discover MandrakeClub and Mandrake Corporate Club"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "logdrake"
-msgstr "logdrake"
+#: ../../share/advertising/17-mdkclub.pl_.c:10
+msgid ""
+"MandrakeClub and Mandrake Corporate Club were created for business and "
+"private users of Mandrake Linux who would like to directly support their "
+"favorite Linux distribution while also receiving special privileges. If you "
+"enjoy our products, if your company benefits from our products to gain a "
+"competititve edge, if you want to support Mandrake Linux development, join "
+"MandrakeClub!"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../standalone.pm_.c:21
msgid ""
-"Font Importation and monitoring "
-"application \n"
-"--windows_import : import from all available windows partitions.\n"
-"--xls_fonts : show all fonts that already exist from xls\n"
-"--strong : strong verification of font.\n"
-"--install : accept any font file and any directry.\n"
-"--uninstall : uninstall any font or any directory of font.\n"
-"--replace : replace all font if already exist\n"
-"--application : 0 none application.\n"
-" : 1 all application available supported.\n"
-" : name_of_application like so for staroffice \n"
-" : and gs for ghostscript for only this one."
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
msgstr ""
+
+#: ../../standalone.pm_.c:40
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version name.\n"
+msgstr ""
+
+#: ../../standalone.pm_.c:51
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of mandrake tools\n"
+" --incident - program should be one of mandrake tools"
+msgstr ""
+
+#: ../../standalone.pm_.c:57
+msgid ""
"Font Importation and monitoring "
"application \n"
"--windows_import : import from all available windows partitions.\n"
@@ -13771,7174 +9076,4319 @@ msgstr ""
" : 1 all application available supported.\n"
" : name_of_application like so for staroffice \n"
" : and gs for ghostscript for only this one."
-
-#: ../../standalone.pm:1
-#, c-format
-msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Kies die sagteskyfaandrywer wat u wil gebruik"
-
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with text menu"
-msgstr "LILO met tekskieskaart"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "instantaneous"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Everything (no firewall)"
-msgstr "Alles (geen vuurmuur)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a kernel image"
-msgstr "U moet 'n kernel-beeld spesifiseer"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on USB"
-msgstr ", multi-funksionele toestel op USB"
+#: ../../standalone.pm_.c:68
+msgid ""
+"[OPTIONS]...\n"
+"\t --debug print debugging information"
+msgstr ""
-#: ../../interactive/newt.pm:1
-#, c-format
-msgid "Do"
-msgstr "Doen"
+#: ../../standalone.pm_.c:70
+msgid ""
+"[OPTIONS]...\n"
+"Mandrake Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Contacting the mirror to get the list of available packages..."
-msgstr "Spiel word gekontak vir die lys van pakkette..."
+#: ../../standalone.pm_.c:82
+#, fuzzy
+msgid "[keyboard]"
+msgstr "Sleutelbord"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lituanies AZERTY (oud)"
+#: ../../standalone.pm_.c:83
+msgid "[--file=myfyle] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasiliaans (ABNT-2)"
+#: ../../standalone.pm_.c:84
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : don't be interactive. To be used with (dis)connect."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address of host/network:"
-msgstr "IP-adres van rekenaar/netwerk"
+#: ../../standalone.pm_.c:93
+msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone.pm_.c:94
msgid ""
-"the progress bar y coordinate\n"
-"of its upper left corner"
+"[OPTION]...\n"
+" --no-confirmation don't ask first confirmation question in "
+"MandrakeUpdate mode\n"
+" --no-verify-rpm don't verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
msgstr ""
-"die vorderingsbalk se y kordinaat\n"
-"van sy linker-boonste hoek"
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System installation"
-msgstr "Stelsel-installasie"
+#: ../../standalone.pm_.c:99
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-usbtable] "
+"[--dynamic=dev]"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Vincent and the Grenadines"
-msgstr "Saint Vincent en die Grenadines"
+#: ../../standalone.pm_.c:100
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
-#: ../../security/help.pm:1
+#: ../../standalone.pm_.c:114
#, c-format
-msgid "Allow/Forbid reboot by the console user."
-msgstr "Laat toe/Verbied herbegin deur 'n konsole-gebruiker."
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Open"
-msgstr "/Ler/_Oopmaak"
+#: ../../standalone.pm_.c:168
+#, fuzzy
+msgid "Installing packages..."
+msgstr "Installeer pakket %s"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Location of auto_install.cfg file"
-msgstr "Ligging van 'auto_install.cfg'-ler"
+#: ../../standalone/XFdrake_.c:138
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Teken uit en gebruik dan Ctrl-Alt-Backspace"
-#: ../../any.pm:1
+#: ../../standalone/XFdrake_.c:142
#, c-format
-msgid "Open Firmware Delay"
-msgstr "Open Firmware Delay"
+msgid "Please relog into %s to activate the changes"
+msgstr "Teken asb. weer in %s om veranderinge te aktiveer"
-#: ../../lang.pm:1
-#, c-format
-msgid "Hungary"
-msgstr "Hongarye"
+#: ../../standalone/drakTermServ_.c:239
+#, fuzzy
+msgid "Mandrake Terminal Server Configuration"
+msgstr "Dra drukkerkonfigurasie oor"
-#: ../../lang.pm:1
-#, c-format
-msgid "New Zealand"
-msgstr "Neu-Seeland"
+#: ../../standalone/drakTermServ_.c:253
+#, fuzzy
+msgid "Enable Server"
+msgstr "Datbasis"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Color configuration"
-msgstr "Kleurkonfigurasie"
+#: ../../standalone/drakTermServ_.c:260
+#, fuzzy
+msgid "Disable Server"
+msgstr "Datbasis"
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"There are already some restrictions, and more automatic checks are run every "
-"night."
-msgstr "Daar is reeds beperkings, en outomatise toetse word snags gedoen."
+#: ../../standalone/drakTermServ_.c:268
+#, fuzzy
+msgid "Start Server"
+msgstr "NIS-bediener"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "please choose the date to restore"
-msgstr "kies asseblief die datum om te herstel"
+#: ../../standalone/drakTermServ_.c:275
+#, fuzzy
+msgid "Stop Server"
+msgstr "NIS-bediener"
-#: ../../lang.pm:1
-#, c-format
-msgid "Netherlands Antilles"
-msgstr "Netherlands Antilles"
+#: ../../standalone/drakTermServ_.c:283
+msgid "Etherboot Floppy/ISO"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Switching from ext2 to ext3"
-msgstr "Oorskakeling van ext2 na ext3"
+#: ../../standalone/drakTermServ_.c:288
+msgid "Net Boot Images"
+msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng"
-msgstr "LPRng"
+#: ../../standalone/drakTermServ_.c:294
+#, fuzzy
+msgid "Add/Del Users"
+msgstr "Voeg gebruiker by"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Browse to new restore repository."
-msgstr "Blaai tot by nuwe herstel-pakplek."
+#: ../../standalone/drakTermServ_.c:299
+#, fuzzy
+msgid "Add/Del Clients"
+msgstr "DHCP-Klint"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:328
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard allows you to install local or remote printers to be used from "
-"this machine and also from other machines in the network.\n"
+" Copyright (C) 2002 by MandrakeSoft \n"
+"\tStew Benedict sbenedict\\@mandrakesoft.com\n"
"\n"
-"It asks you for all necessary information to set up the printer and gives "
-"you access to all available printer drivers, driver options, and printer "
-"connection types."
msgstr ""
+
+#: ../../standalone/drakTermServ_.c:332
+msgid ""
"\n"
-"Welkom by die 'Printer Setup Wizard'\n"
"\n"
-"Hierdie assistent help met die installasie van plaaslike en eksterne "
-"drukkers wat vanaf hierdie en ander masjiene gebruik gaan word\n"
+" Thanks:\n"
+"\t- LTSP Project http://www.ltsp.org\n"
+"\t- Michael Brown <mbrown\\@fensystems.co.uk>\n"
"\n"
-"Dit sal vir die nodige inligting vra om die drukker op te stel, dit gee u "
-"toegang tot alle beskikbare drywers, drywer opsies en konneksie tipes."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and %d unknown printers"
-msgstr "en %d onbekende drukkers"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Early Intel Pentium chips manufactured have a bug in their floating point "
-"processor which did not achieve the required precision when performing a "
-"Floating point DIVision (FDIV)"
msgstr ""
-"Vroe Intel Pentium ververkers het probleme gehad wanneer 'Floating point "
-"DIVision (FDIV)' gedoen moes word. (die presisie was soms nie reg nie)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Backup quota exceeded!\n"
-"%d MB used vs %d MB allocated."
-msgstr "Rugsteunkwota oorskry! %d MB gebruik vs %d MB eenkant gesit."
-
-#: ../../network/isdn.pm:1
-#, c-format
-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."
-
-#: ../../common.pm:1
-#, c-format
-msgid "GB"
-msgstr "GB"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please give a user name"
-msgstr "Gee asb. 'n gebruikerskode"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Enable CD Boot?"
-msgstr "Laat CD-herlaai toe?"
-
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Simply reboot"
-msgstr ""
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid " enter `void' for void entry"
-msgstr " noem 'n le inskrywing 'void'"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backups on unmountable media - Use Catalog to restore"
-msgstr "Rugsteune op nie-hegbare media - Gebruik Katologus vir herstel"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "January"
-msgstr "Januarie"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Password history length"
-msgstr "Lengte van wagwoord-geskiedenis"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Winmodem connection"
-msgstr "Winmodemkonneksie"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:365
msgid ""
+"drakTermServ Overview\n"
+"\t\t\t \n"
+" - Create Etherboot Enabled Boot Images:\n"
+" \t\tTo boot a kernel via etherboot, a special kernel/initrdrd image "
+"must be created.\n"
+" \t\tmkinitrd-net does much of this work and drakTermServ is just a "
+"graphical interface\n"
+" \t\tto help manage/customize these images.\n"
"\n"
-"Congratulations, your printer is now installed and configured!\n"
+" - Maintain /etc/dhcpd.conf:\n"
+" \t\tTo net boot clients, each client needs a dhcpd.conf entry, "
+"assigning an IP address\n"
+" \t\tand net boot images to the machine. drakTermServ helps create/"
+"remove these entries.\n"
+"\t\t\t\n"
+" \t\t(PCI cards may omit the image - etherboot will request the "
+"correct image. You should\n"
+" \t\talso consider that when etherboot looks for the images, it "
+"expects names like\n"
+" \t\tboot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
+"\t\t\t \n"
+" \t\tA typical dhcpd.conf stanza to support a diskless client looks "
+"like:\n"
+" \t\t\n"
+"\t\t\t\thost curly {\n"
+"\t\t\t\t\thardware ethernet 00:20:af:2f:f7:9d;\n"
+"\t\t\t\t\tfixed-address 192.168.192.3;\n"
+"\t\t\t\t\t/*type fat;*/\n"
+"\t\t\t\t\tfilename \"i386/boot/boot-3c509.2.4.18-6mdk."
+"nbi\";\n"
+"\t\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tWhile you can use a pool of IP addresses, rather than setup a specific "
+"entry for\n"
+"\t\t\ta client machine, using a fixed address scheme facilitates using the "
+"functionality\n"
+"\t\t\tof client-specific configuration files that ClusterNFS provides.\n"
+"\t\t\t\n"
+"\t\t\tNote: The \"/*type\" entry is only used by drakTermServ. Clients can "
+"either be \"thin\"*/\n"
+"\t\t\tor 'fat'. Thin clients run most software on the server via xdmcp, "
+"while fat clients run most\n"
+"\t\t\tsoftware on the client machine. A special inittab, /etc/inittab\\$\\"
+"$IP=client_ip\\$\\$ is\n"
+"\t\t\twritten for thin clients. System config files xdm-config, kdmrc, and "
+"gdm.conf are modified\n"
+"\t\t\tif thin clients are used, to enable xdmcp. Since there are security "
+"issues in using xdmcp,\n"
+"\t\t\thosts.deny and hosts.allow are modified to limit access to the local "
+"subnet.\n"
+"\t\t\t\n"
+"\t\t\tNote: You must stop/start the server after adding or changing "
+"clients.\n"
+"\t\t\t\n"
+" - Maintain /etc/exports:\n"
+" \t\tClusternfs allows export of the root filesystem to diskless "
+"clients. drakTermServ\n"
+" \t\tsets up the correct entry to allow anonymous access to the root "
+"filesystem from\n"
+" \t\tdiskless clients.\n"
"\n"
-"You can print using the \"Print\" command of your application (usually in "
-"the \"File\" menu).\n"
+" \t\tA typical exports entry for clusternfs is:\n"
+" \t\t\n"
+" \t\t/ (ro,all_squash)\n"
+" \t\t/home SUBNET/MASK(rw,root_squash)\n"
+"\t\t\t\n"
+"\t\t\tWith SUBNET/MASK being defined for your network.\n"
+" \t\t\n"
+" - Maintain /etc/shadow\\$\\$CLIENT\\$\\$:\n"
+" \t\tFor users to be able to log into the system from a diskless "
+"client, their entry in\n"
+" \t\t/etc/shadow needs to be duplicated in /etc/shadow\\$\\$CLIENTS\\$"
+"\\$. drakTermServ helps\n"
+" \t\tin this respect by adding or removing system users from this "
+"file.\n"
+"\n"
+" - Per client /etc/X11XF86Config-4\\$\\$IP-ADDRESS\\$\\$:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future drakTermServ "
+"will help create these\n"
+" \t\tfiles.\n"
"\n"
-"If you want to add, remove, or rename a printer, or if you want to change "
-"the default option settings (paper input tray, printout quality, ...), "
-"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
-"Center."
-msgstr ""
+" - Per client system configuration files:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future, "
+"drakTermServ can help create files\n"
+" \t\tsuch as /etc/modules.conf, /etc/sysconfig/mouse, /etc/sysconfig/"
+"keyboard on a per-client\n"
+" \t\tbasis.\n"
"\n"
-"Geluk, u drukker is nou genstalleer en gekonfigureer!\n"
+" - /etc/xinetd.d/tftp:\n"
+" \t\tdrakTermServ will configure this file to work in conjunction "
+"with the images created by\n"
+" \t\tmkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
+"the boot image to each\n"
+" \t\tdiskless client.\n"
+"\n"
+" \t\tA typical tftp configuration file looks like:\n"
+" \t\t\n"
+" \t\tservice tftp\n"
+" \t\t(\n"
+" disable = no\n"
+" socket_type = dgram\n"
+" protocol = udp\n"
+" wait = yes\n"
+" user = root\n"
+" server = /usr/sbin/in.tftpd\n"
+" server_args = -s /var/lib/tftpboot\n"
+" \t\t}\n"
+" \t\t\n"
+" \t\tThe changes here from the default installation are changing the "
+"disable flag to\n"
+" \t\t'no' and changing the directory path to /var/lib/tftpboot, where "
+"mkinitrd-net\n"
+" \t\tputs it's images.\n"
"\n"
-"U kan druk deur die \"Print\"-opdrag van u program (gewoonlik in die \"File"
-"\"-kieslys)te gebruik.\n"
+" - Create etherboot floppies/CDs:\n"
+" \t\tThe diskless client machines need either ROM images on the NIC, "
+"or a boot floppy\n"
+" \t\tor CD to initate the boot sequence. drakTermServ will help "
+"generate these images,\n"
+" \t\tbased on the NIC in the client machine.\n"
+" \t\t\n"
+" \t\tA basic example of creating a boot floppy for a 3Com 3c509 "
+"manually:\n"
+" \t\t\n"
+" \t\tcat /usr/lib/etherboot/boot1a.bin /\\n \t\t\t/usr/lib/"
+"etherboot/lzrom/3c509.lzrom > /dev/fd0\n"
+" \n"
"\n"
-"Indien u 'n drukker wil byvoeg, sy naam , of die opsies wil verander, kies "
-"\"Drukker\" in die \"Hardeware\" gedeelte van die 'Mandrake Control Center'."
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Now, you can run xawtv (under X Window!) !\n"
-msgstr "U kan nou xawtv gebruik ( onder X-Window! )!\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Not enough swap space to fulfill installation, please add some"
-msgstr "Nie genoeg ruilarea om die installasie te voltooi. Voeg asb. by."
+#: ../../standalone/drakTermServ_.c:488
+msgid "Boot Floppy"
+msgstr ""
-#. -PO: example: lilo-graphic on /dev/hda1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "%s on %s"
-msgstr "%s op %s"
+#: ../../standalone/drakTermServ_.c:490
+msgid "Boot ISO"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid remote root login."
-msgstr "Laat toe/Verbied 'root' deur die netwerk in te teken."
+#: ../../standalone/drakTermServ_.c:559
+msgid "Build Whole Kernel -->"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
-"local time according to the time zone you selected. If the clock on your\n"
-"motherboard is set to local time, you may deactivate this by unselecting\n"
-"\"%s\", which will let GNU/Linux know that the system clock and the\n"
-"hardware clock are in the same timezone. This is useful when the machine\n"
-"also hosts another operating system like Windows.\n"
-"\n"
-"The \"%s\" option will automatically regulate the clock by connecting to a\n"
-"remote time server on the Internet. For this feature to work, you must have\n"
-"a working Internet connection. It is best to choose a time server located\n"
-"near you. This option actually installs a time server that can used by\n"
-"other machines on your local network as well."
-msgstr ""
-"GNU/Linux gebruik die GMT (Greenwich Mean Time) as verwysing en verstel\n"
-"dan die tyd volgens u tydsone. Dit beteken dat, in Suid-Afrika,\n"
-"die tyd op die moederbord sowat twee ure \"uit\" sal wees,\n"
-"indien u Johannesburg as tydsone kies. U kan GNU/Linux forseer om\n"
-"die moederbord en plaaslike tyd dieselfde te hou deur NIE die \"%s\" te\n"
-"merk NIE. Gebruik dit so wanneer die rekenaar\n"
-"ander bedryfstelsels ook kan laai, byvoorbeeld Windows.\n"
-"\n"
-"Die \"%s\"-opsie sal outomaties die klok reguleer deur gebruik te maak van\n"
-"'n eksterne tyd-bediener op die Internet. U sal natuurlik 'n werkende\n"
-"Internetkonneksie daarvoor benodig. Kies 'n bediener naby u. Hierdie opsie\n"
-"laat u toe om hierdie rekenaar self as 'n tyd-bediener te gebruik."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create log file!"
-msgstr "Kan nie staafler skep nie!"
+#: ../../standalone/drakTermServ_.c:561 ../../standalone/drakTermServ_.c:591
+msgid "This will take a few minutes."
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakclock:1
-#, c-format
-msgid "Which is your timezone?"
-msgstr "Wat is u tydsone?"
+#: ../../standalone/drakTermServ_.c:573
+msgid "No kernel selected!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use .backupignore files"
-msgstr "Gebruik '.backupignore'-lers"
+#: ../../standalone/drakTermServ_.c:576
+msgid "Build Single NIC -->"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea"
-msgstr "Guinee"
+#: ../../standalone/drakTermServ_.c:587
+#, fuzzy
+msgid "No nic selected!"
+msgstr "Nie gekonnekteer nieKabelkonneksie"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "The system is now connected to the Internet."
-msgstr "Die stelsel is nou aan die internet gekonnekteer."
+#: ../../standalone/drakTermServ_.c:590
+msgid "Build All Kernels -->"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "South Georgia and the South Sandwich Islands"
-msgstr "South Georgia and the South Sandwich Islands"
+#: ../../standalone/drakTermServ_.c:604
+#, fuzzy
+msgid "<-- Delete"
+msgstr "Uitwis"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (broadcast)"
-msgstr "Japan (uitsaai)"
+#: ../../standalone/drakTermServ_.c:611
+#, fuzzy
+msgid "Delete All NBIs"
+msgstr "Selekteer lOer"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:668
msgid ""
-"Monitor\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer."
+"!!! Indicates the password in the system database is different than\n"
+" the one in the Terminal Server database.\n"
+"Delete/re-add the user to the Terminal Server to enable login."
msgstr ""
-"Monitor\n"
-"\n"
-" Die program sal gewoonlik u monitor korrek kies.\n"
-"Indien nie, kan u self die regte een vanaf hierdie lys kies."
-#: ../../lang.pm:1
-#, c-format
-msgid "Mozambique"
-msgstr "Mosambiek"
+#: ../../standalone/drakTermServ_.c:673
+#, fuzzy
+msgid "Add User -->"
+msgstr "Voeg gebruiker by"
-#: ../../any.pm:1
-#, c-format
-msgid "Icon"
-msgstr "Ikoon"
+#: ../../standalone/drakTermServ_.c:681
+msgid "<-- Del User"
+msgstr ""
-#: ../../../move/tree/mdk_totem:1
+#: ../../standalone/drakTermServ_.c:720
#, fuzzy, c-format
-msgid "Kill those programs"
-msgstr "toegang na X-programme"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose what you want to backup"
-msgstr "Kies asseblief wat u wil rugsteun"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "256 colors (8 bits)"
-msgstr "256 kleure (8 bis)"
+msgid "type: %s"
+msgstr "Tipe:"
-#: ../../any.pm:1
-#, c-format
-msgid "Read-write"
-msgstr "Lees-skryf"
+#: ../../standalone/drakTermServ_.c:753
+msgid "No net boot images created!"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s\n"
-msgstr "Grootte: %s\n"
+#: ../../standalone/drakTermServ_.c:773
+#, fuzzy
+msgid "Thin Client"
+msgstr "DHCP-Klint"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Hostname: "
-msgstr "Rekenaarnaam: "
+#: ../../standalone/drakTermServ_.c:775
+#, fuzzy
+msgid "Allow Thin Clients"
+msgstr "DHCP-Klint"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a rule"
-msgstr "Voeg 'n reel by"
+#: ../../standalone/drakTermServ_.c:778
+msgid "Add Client -->"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Blokgrootte %s\n"
+#: ../../standalone/drakTermServ_.c:821
+#, fuzzy
+msgid "<-- Edit Client"
+msgstr "DHCP-Klint"
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid "Build the future of Linux!"
-msgstr "Bou aan die toekoms van Linux!"
+#: ../../standalone/drakTermServ_.c:837
+#, fuzzy
+msgid "Delete Client"
+msgstr "DHCP-Klint"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printer"
-msgstr "Plaaslike Drukker"
+#: ../../standalone/drakTermServ_.c:843
+#, fuzzy
+msgid "dhcpd Config..."
+msgstr "Konfigurasie in aabou..."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Floppy access error, unable to mount device %s"
-msgstr "Disket-toegangsfout, kan nie toestel %s heg nie"
+#: ../../standalone/drakTermServ_.c:876
+msgid ""
+"Need to restart the Display Manager for full changes to take effect. \n"
+"(service dm restart - at the console)"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
-msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+#: ../../standalone/drakTermServ_.c:894
+msgid "Subnet:"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ADSL connection"
-msgstr "ADSL-konneksie"
+#
+#: ../../standalone/drakTermServ_.c:901
+#, fuzzy
+msgid "Netmask:"
+msgstr "Netmasker"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No configuration, please click Wizard or Advanced.\n"
-msgstr "Geen konfigurasie nie, gebruik Wysgeer of Gevorderd.\n"
+#: ../../standalone/drakTermServ_.c:908
+msgid "Routers:"
+msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Error!"
-msgstr "Fout!"
+#: ../../standalone/drakTermServ_.c:915
+msgid "Subnet Mask:"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "cable connection detected"
-msgstr "Kabelkonneksie bespeur"
+#: ../../standalone/drakTermServ_.c:922
+msgid "Broadcast Address:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission denied transferring %s to %s"
-msgstr "Toegang geweier met die oordrag van %s na %s"
+#: ../../standalone/drakTermServ_.c:929
+#, fuzzy
+msgid "Domain Name:"
+msgstr "Domeinnaam"
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Report Bug"
-msgstr "/_Raporteer 'n Fout"
+#: ../../standalone/drakTermServ_.c:937
+#, fuzzy
+msgid "Name Servers:"
+msgstr "NIS-bediener"
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominica"
-msgstr "Dominica"
+#: ../../standalone/drakTermServ_.c:948
+msgid "IP Range Start:"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resize"
-msgstr "Verstel Grootte"
+#: ../../standalone/drakTermServ_.c:949
+msgid "IP Range End:"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Resolusie: %s\n"
+#: ../../standalone/drakTermServ_.c:1001
+#, fuzzy
+msgid "dhcpd Server Configuration"
+msgstr "Sluit konfigurasie af"
-#: ../../install2.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:1002
msgid ""
-"Can't access kernel modules corresponding to your kernel (file %s is "
-"missing), this generally means your boot floppy in not in sync with the "
-"Installation medium (please create a newer boot floppy)"
+"Most of these values were extracted\n"
+"from your running system.\n"
+"You can modify as needed."
msgstr ""
-"Kan nie die toegang tot die 'kernel'-modules vir hierdie 'kernel' kry nie. "
-"( ler %s is soek). Dit beteken normaalweg dat u selflaaiskyf verskil van "
-"die Installasie-media sin ( skep assebleif 'n nuwer disket)"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Please select the correct port. For example, the \"COM1\" port under\n"
-"Windows is named \"ttyS0\" under GNU/Linux."
+#: ../../standalone/drakTermServ_.c:1005
+msgid "Dynamic IP Address Pool:"
msgstr ""
-"Kies asb. die korrekte poort. Onthou dat COM1 onder MS Windows \n"
-"ttyS0 onder GNU/Linux is."
-
-#
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be removed"
-msgstr "Die volgende pakkette gaan verwyder word"
-#: ../../network/adsl.pm:1 ../../network/ethernet.pm:1
-#, c-format
-msgid "Connect to the Internet"
-msgstr "Konnekteer aan die internet"
+#: ../../standalone/drakTermServ_.c:1018
+#, fuzzy
+msgid "Write Config"
+msgstr "herkonfigureer"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use existing partitions"
-msgstr "Gebruik bestaande partisies"
+#: ../../standalone/drakTermServ_.c:1120
+#, fuzzy
+msgid "Please insert floppy disk:"
+msgstr "Sit 'n herlaaiskyf wat gebruik is, in aandrywer %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Canadian (Quebec)"
-msgstr "Kanadees (Quebec)"
+#: ../../standalone/drakTermServ_.c:1124
+msgid "Couldn't access the floppy!"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Muistoestel: %s\n"
+#: ../../standalone/drakTermServ_.c:1126
+msgid "Floppy can be removed now"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Reselect correct fonts"
-msgstr "Herkies die korrekte lettertipes"
+#: ../../standalone/drakTermServ_.c:1129
+#, fuzzy
+msgid "No floppy drive available!"
+msgstr "Geen sagteskyaandrywer beskikbaar nie"
-#: ../../help.pm:1
+#: ../../standalone/drakTermServ_.c:1138
#, c-format
-msgid ""
-"Options\n"
-"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+msgid "Etherboot ISO image is %s"
msgstr ""
-"Opsies\n"
-"\n"
-" hier kan u kies of u die rekenaar wil laat eindig in 'n grafiese "
-"koppelvlak\n"
-"na dit aangeskakel is. U sal natuurlik \"%s\" kies indien die rekenaar as\n"
-"'n bediener gebruik gaan word, of u nie die skerm reg kon opstel nie."
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "MandrakeExpert Corporate"
-msgstr "MandrakeExpert Corporate"
+#: ../../standalone/drakTermServ_.c:1140
+msgid "Something went wrong! - Is mkisofs installed?"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-" [everything]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake resolution"
+#: ../../standalone/drakTermServ_.c:1159
+msgid "Need to create /etc/dhcpd.conf first!"
msgstr ""
-" [everything]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake resolution"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Write protection"
-msgstr "Skryf-beskerming"
+#: ../../standalone/drakTermServ_.c:1451
+msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "You've not selected any font"
-msgstr "U het geen lettertipe gekies nie"
+#: ../../standalone/drakautoinst_.c:40
+msgid "Error!"
+msgstr "Fout!"
-#: ../../steps.pm:1
+#: ../../standalone/drakautoinst_.c:41
#, c-format
-msgid "Language"
-msgstr "Taal"
+msgid "I can't find needed image file `%s'."
+msgstr "Ek kan nie die nodige herlaaibeeld '%s' kry nie."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer model selection"
-msgstr "Drukkermodelkeuse"
+#: ../../standalone/drakautoinst_.c:43
+msgid "Auto Install Configurator"
+msgstr "Outoinstallasiekonfigurasieprogram"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:44
msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
+"You are about to configure an Auto Install floppy. This feature is somewhat "
+"dangerous and must be used circumspectly.\n"
+"\n"
+"With that feature, you will be able to replay the installation you've "
+"performed on this computer, being interactively prompted for some steps, in "
+"order to change their values.\n"
+"\n"
+"For maximum safety, the partitioning and formatting will never be performed "
+"automatically, whatever you chose during the install of this computer.\n"
+"\n"
+"Do you want to continue?"
msgstr ""
-"Alle data om hierdie partisie %s sal uitgewis word na verandering van die \n"
-"partisietipe"
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "ISDN adapters"
-msgstr "ISDN-kaart"
-
-#: ../../common.pm:1
-#, c-format
-msgid "%d seconds"
-msgstr "%d sekondes"
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Sit 'n le floppie in aandrywer %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A valid URI must be entered!"
-msgstr "'n Geldige URI moet verskaf word!"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Found \"%s\" interface do you want to use it ?"
-msgstr "Het \"%s\"-koppelvlak gevind, wil u dit gebruik?"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Re-configure interface and DHCP server"
-msgstr "Herkonfigureer die koppelvlak en DHCP-bediener"
+#: ../../standalone/drakautoinst_.c:62 ../../standalone/drakautoinst_.c:71
+msgid "manual"
+msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound configuration"
-msgstr "Klankkonfigurasie"
+#: ../../standalone/drakautoinst_.c:62
+#, fuzzy
+msgid "replay"
+msgstr "Herspeel"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo test page"
-msgstr "Fototoetsbladsy"
+#: ../../standalone/drakautoinst_.c:66
+msgid "Automatic Steps Configuration"
+msgstr "Outomatiese Stappe Konfigurasie"
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Custom disk partitioning"
-msgstr "Gespesialiseerde skyfpartisionering"
+#: ../../standalone/drakautoinst_.c:67
+msgid ""
+"Please choose for each step whether it will replay like your install, or it "
+"will be manual"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter Printer Name and Comments"
-msgstr "Voorsien Drukkernaam en Opmerkings"
+#: ../../standalone/drakautoinst_.c:78 ../../standalone/drakautoinst_.c:79
+#, fuzzy
+msgid "Creating auto install floppy"
+msgstr "Outoinstallasieskyf word geskep."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:139
msgid ""
-"The following printers\n"
"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr ""
-"Die volgende drukkers\n"
+"Welcome.\n"
"\n"
-"%s%s\n"
-"is direk aan u rekenaar gekoppel"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "You don't have any winmodem"
-msgstr "U het nie enige winmodems nie"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: %s"
-msgstr "tipe: %s"
+"The parameters of the auto-install are available in the sections on the left"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTY)"
-msgstr "Slovaaks (QWERTY)"
+#: ../../standalone/drakautoinst_.c:234 ../../standalone/drakgw_.c:504
+#: ../../standalone/scannerdrake_.c:117
+msgid "Congratulations!"
+msgstr "Geluk!"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:235
msgid ""
-"This should be a comma-separated list of local users or email addresses that "
-"you want the backup results sent to. You will need a functioning mail "
-"transfer agent setup on your system."
+"The floppy has been successfully generated.\n"
+"You may now replay your installation."
msgstr ""
-"Hierdie moet 'n komma-afgeskeie lys van plaaslike gebruikers of e-posadresse "
-"wees van wie resultate van die rugsteune moet ontvang. U het 'n funksionele "
-"e-pos-oordrag agent (MTA) op die rekenaar nodig."
+"Die floppie is sukselvol geskep.\n"
+"U kan nou weer 'n installasie uitspeel."
-#: ../../standalone/draksound:1
-#, c-format
-msgid "No Sound Card detected!"
-msgstr "Geen Klankkaart opgespoor!"
+#: ../../standalone/drakautoinst_.c:273
+#, fuzzy
+msgid "Auto Install"
+msgstr "Installasie"
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse Port"
-msgstr "Muispoort"
+#: ../../standalone/drakautoinst_.c:343
+#, fuzzy
+msgid "Add an item"
+msgstr "Voeg 'n gebruiker by"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check for unsecured accounts"
-msgstr "Toets vir nie-veilige rekeninge"
+#: ../../standalone/drakautoinst_.c:350
+#, fuzzy
+msgid "Remove the last item"
+msgstr "Teruglusler %s word geformateer"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Need to restart the Display Manager for full changes to take effect. \n"
-"(service dm restart - at the console)"
+#: ../../standalone/drakbackup_.c:580
+msgid "Cron not available yet as non-root"
msgstr ""
-"Umoet die Vertoonbestuurder herbegin om die veranderinge te bekragtig.\n"
-"('service dm restart' - vanaf die konsole )"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Ftp Server"
-msgstr "FTP-bediener"
-#: ../../lang.pm:1
-#, c-format
-msgid "Uganda"
-msgstr "Uganda"
+#: ../../standalone/drakbackup_.c:690
+msgid "WARNING"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "%s fonts conversion"
-msgstr "%s lettertipe-omsetting"
+#: ../../standalone/drakbackup_.c:691
+#, fuzzy
+msgid "FATAL"
+msgstr "FAT"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the type of bus on which the mouse is connected"
-msgstr "die tipe bus waaraan die muis gekoppel is"
+#: ../../standalone/drakbackup_.c:692
+msgid "INFO"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:704
msgid ""
-"As a review, DrakX will present a summary of information it has about your\n"
-"system. Depending on your installed hardware, you may have some or all of\n"
-"the following entries. Each entry is made up of the configuration item to\n"
-"be configured, followed by a quick summary of the current configuration.\n"
-"Click on the corresponding \"%s\" button to change that.\n"
-"\n"
-" * \"%s\": check the current keyboard map configuration and change that if\n"
-"necessary.\n"
-"\n"
-" * \"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list.\n"
-"\n"
-" * \"%s\": By default, DrakX deduces your time zone based on the country\n"
-"you have chosen. You can click on the \"%s\" button here if this is not\n"
-"correct.\n"
-"\n"
-" * \"%s\": check the current mouse configuration and click on the button to\n"
-"change it if necessary.\n"
-"\n"
-" * \"%s\": clicking on the \"%s\" button will open the printer\n"
-"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-"Guide'' for more information on how to setup a new printer. The interface\n"
-"presented there is similar to the one used during installation.\n"
-"\n"
-" * \"%s\": if a sound card is detected on your system, it is displayed\n"
-"here. If you notice the sound card displayed is not the one that is\n"
-"actually present on your system, you can click on the button and choose\n"
-"another driver.\n"
-"\n"
-" * \"%s\": by default, DrakX configures your graphical interface in\n"
-"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
-"\"%s\" to reconfigure your graphical interface.\n"
-"\n"
-" * \"%s\": if a TV card is detected on your system, it is displayed here.\n"
-"If you have a TV card and it is not detected, click on \"%s\" to try to\n"
-"configure it manually.\n"
-"\n"
-" * \"%s\": if an ISDN card is detected on your system, it will be displayed\n"
-"here. You can click on \"%s\" to change the parameters associated with the\n"
-"card.\n"
"\n"
-" * \"%s\": If you want to configure your Internet or local network access\n"
-"now.\n"
-"\n"
-" * \"%s\": this entry allows you to redefine the security level as set in a\n"
-"previous step ().\n"
-"\n"
-" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
-"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
-"the corresponding section of the ``Starter Guide'' for details about\n"
-"firewall settings.\n"
-"\n"
-" * \"%s\": if you wish to change your bootloader configuration, click that\n"
-"button. This should be reserved to advanced users.\n"
+" DrakBackup Report \n"
"\n"
-" * \"%s\": here you'll be able to fine control which services will be run\n"
-"on your machine. If you plan to use this machine as a server it's a good\n"
-"idea to review this setup."
msgstr ""
-"DrakX sal u 'n oorsig bied van u rekenaar se inligting. Afhangende van die\n"
-"sagteware wat u genstalleer het, sal u sommige of al die volgende "
-"afdelings\n"
-"h. Elke inskrywing bestaan uit die item wat gekonfigureer moet word, asook\n"
-"'n kernopsomming oor die huidige stand.\n"
-"Klik op die ooreenkomstige \"%s\"-knoppie om dit te verander.\n"
-"\n"
-" * \"%s\": bekyk die huidige sleutelbord-uitleg en verander indien nodig.\n"
-"\n"
-" * \"%s\": bekyk die huidige keuse van u land. Indien u nie in hierdie land\n"
-"woon nie, klik op die \"%s\"-knoppie om 'n ander te kies. Sou dit nie in\n"
-"die lys wees nie, klik op die \"%s\"-knoppie vir 'n volledige lys.\n"
-"\n"
-" *\"%s\": By verstek word u tydsone aangepas, afhangende van die land\n"
-"wat u kies. Klik op die \"%s\"-knoppie indien dit verkeerd is.\n"
-"\n"
-" * \"%s\": ondersoek die huidige muiskonfigurasie en klik op die knoppie\n"
-"on dit te verander.\n"
-"\n"
-" * \"%s\": deur op die \"%s\"-knoppie te klik, sal u die drukker-assistent\n"
-"loods. Raadpleeg die ooreenkomstige hoofstuk in die \"Starter Guide\"\n"
-"vir meer inligting daaroor.\n"
-"\n"
-" * \"%s\": sou ons 'n klankkaart opspoor op die rekenaar, sal dit hier\n"
-"vertoon word. Indien u verskil van ons keuse, klik op die knoppie om\n"
-"'n ander drywer te kies.\n"
-"\n"
-" * \"%s\": DrakX stel u skerm op met 'n resolusie van \"800x600\"\n"
-" of \"1024x768\" by verstek. Indien u wil verander, kan u \"%s\"\n"
-"kies om dit te herkonfigureer.\n"
-"\n"
-" * \"%s\": indien 'n TV-kaart opgespoor is, sal dit hier vertoon. Inidien\n"
-"nie, en u het wel een, klik op \"%s\" om dit self op te stel.\n"
+
+#: ../../standalone/drakbackup_.c:705
+msgid ""
"\n"
-" * \"%s\": indien 'n ISDN-kaart opgespoor is, sal dit hier vertoon. Klik\n"
-"op \"%s\" om verstellings daarop aan te bring\n"
+" DrakBackup Daemon Report\n"
"\n"
-" * \"%s\": Indien u die netwerk en Internettoegang nou wil opstel\n"
"\n"
-" * \"%s\": hier kan u die sekuriteitsvlak verander wat in 'n vorige stap \n"
-"opgestel is.\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:709
+msgid ""
"\n"
-" * \"%s\": Indien die masjien toegang tot die Internet sal h, kan u gerus\n"
-"u rekenaar beskem teen die hansworse daar buite, deur 'n vuurmuur op te\n"
-"stel. Lees gerus meer daaroor op in die \"Starter Guide\"\n"
+" DrakBackup Report Details\n"
"\n"
-" * \"%s\": indien u die herlaaistelsel se konfigurasie wil verander. Word\n"
-"meer vir slimkoppe aanbeveel.\n"
"\n"
-" * \"%s\": hier kan u fyner verstellings maak op die dienste wat sal afskop\n"
-"Ondersoek dit gerus indien u die rekenaar as bediener gaan gebruik."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Comoros"
-msgstr "Comoros"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "May"
-msgstr "Mei"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Yaboot mode"
-msgstr "Yaboot metode"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse"
-msgstr "Generiese 3-knop muis"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable)"
-msgstr "VSK (kabel)"
+#: ../../standalone/drakbackup_.c:730 ../../standalone/drakbackup_.c:803
+#: ../../standalone/drakbackup_.c:859
+#, fuzzy
+msgid "Total progess"
+msgstr "Toetsbladsye"
-#: ../../standalone/drakboot:1
+#: ../../standalone/drakbackup_.c:785
#, c-format
msgid ""
-"Can't relaunch LiLo!\n"
-"Launch \"lilo\" as root in command line to complete LiLo theme installation."
+"%s exists, delete?\n"
+"\n"
+"Warning: If you've already done this process you'll probably\n"
+" need to purge the entry from authorized_keys on the server."
msgstr ""
-"Kan nie LiLo weer loods nie!\n"
-"Loods \"lilo\" onder die supergebruiker om die LiLo tema-installasie te "
-"voltooi."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select another media to restore from"
-msgstr "Kies 'n ander media om vanaf te herstel"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Software Manager"
-msgstr "Software Manager"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Re-submit"
-msgstr "Dien weer in"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD in place - continue."
-msgstr "CD in sy plek - gaan voort."
-
-#: ../../common.pm:1
-#, c-format
-msgid "KB"
-msgstr "KB"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Network & Internet"
-msgstr "Netwerk & Internet"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lituanies \"foneties\" QWERTY"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Net Boot Images"
-msgstr "Net-selflaai-beelde"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Sharing of local scanners"
-msgstr "Deel van plaaslike skandeerders"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play probing failed. Please select the correct monitor"
-msgstr "'Plug 'n Play'-aftas het gefaal. Kies asseblief self die monitor"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Detect again USB key"
+#: ../../standalone/drakbackup_.c:794
+msgid "This may take a moment to generate the keys."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Services and deamons"
-msgstr "Dienste en deamone"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name missing!"
-msgstr "Eksterne bedienernaam ontbreek!"
-
-#: ../../fsedit.pm:1
+#: ../../standalone/drakbackup_.c:801
#, c-format
-msgid "with /usr"
-msgstr "met '/usr'"
+msgid "ERROR: Cannot spawn %s."
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:818
#, c-format
-msgid "Network"
-msgstr "Netwerk"
+msgid "No password prompt on %s at port %s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected to machines running Microsoft Windows"
-msgstr "Outospeur drukkers wat aan Microsoft Windows rekenaars gekoppel is"
+#: ../../standalone/drakbackup_.c:819
+#, fuzzy, c-format
+msgid "Bad password on %s"
+msgstr "Geen wagwoord"
-#: ../../any.pm:1
+#: ../../standalone/drakbackup_.c:820
#, c-format
-msgid "This password is too simple"
-msgstr "Die wagwoord is te eenvoudig"
+msgid "Permission denied transferring %s to %s"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Chkconfig obey msec rules"
-msgstr "'Chkconfig' volg 'msec' se rels"
+#: ../../standalone/drakbackup_.c:821
+#, fuzzy, c-format
+msgid "Can't find %s on %s"
+msgstr "Kan nie %s oopmaak nie: %s\n"
-#: ../../keyboard.pm:1
+#: ../../standalone/drakbackup_.c:824
#, c-format
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovaaks (QWERTZ)"
+msgid "%s not responding"
+msgstr ""
-#: ../advertising/06-development.pl:1
+#: ../../standalone/drakbackup_.c:828
#, c-format
msgid ""
-"To modify and to create in different languages such as Perl, Python, C and C+"
-"+ has never been so easy thanks to GNU gcc 3 and the best Open Source "
-"development environments."
+"Transfer successful\n"
+"You may want to verify you can login to the server with:\n"
+"\n"
+"ssh -i %s %s\\@%s\n"
+"\n"
+"without being prompted for a password."
msgstr ""
-"Om in verskillende programmeertale te werk is nou 'n plesier, danksy GNU gcc "
-"3 en die beste Oopbron ontwikkelikngs-omgewings. Tale sluit Perl, Phyton, "
-"PHP, C en C++ in."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No devices found"
-msgstr "Geen toestelle gevind nie"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Truly minimal install (especially no urpmi)"
-msgstr "Absolute minimale installasie (geen urpmi!)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use daemon"
-msgstr "Gebruik daemoon"
-
-#: ../../install_steps_interactive.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakconnect:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Authentication"
-msgstr "Magtiging"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
-msgstr "Voeg hierdie drukker by Star Office/OpenOffice.org/GIMP"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Additional CUPS servers: "
-msgstr "Bykomende CUPS-bedieners: "
+#: ../../standalone/drakbackup_.c:873
+msgid "WebDAV remote site already in sync!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Choose one of the auto-detected printers from the list or enter the hostname "
-"or IP and the optional port number (default is 9100) in the input fields."
+#: ../../standalone/drakbackup_.c:877
+msgid "WebDAV transfer failed!"
msgstr ""
-"Kien een van die drukkers uit die lys, wat ge-outospeur is, of voorsien die "
-"rekenaarnaam of IP en die opsionele poort (verstek is 9100) in die toevoer-"
-"velde."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount %s?"
-msgstr "Waar wil u toestel %s heg?"
+#: ../../standalone/drakbackup_.c:898
+msgid "No CDR/DVDR in drive!"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Algeria"
-msgstr "Algeri"
+#: ../../standalone/drakbackup_.c:902
+msgid "Does not appear to be recordable media!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network"
-msgstr "Herstel Deur Netwerk"
+#: ../../standalone/drakbackup_.c:906
+msgid "Not erasable media!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tar and bzip2 (rather than tar and gzip)"
+#: ../../standalone/drakbackup_.c:945
+msgid "This may take a moment to erase the media."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd-size"
-msgstr "Initrd-grootte"
+#: ../../standalone/drakbackup_.c:1033
+msgid "Permission problem accessing CD."
+msgstr ""
-#: ../../help.pm:1
+#: ../../standalone/drakbackup_.c:1060
#, c-format
-msgid ""
-"In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
+msgid "No tape in %s!"
msgstr ""
-"Indien daar verskillende tipe bedieners vir u kaart beskikbaar is, met of\n"
-"sonder 3D-versnelling, sal u gevra word om die een te kies wat u die beste\n"
-"sal pas."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and gzip\n"
-msgstr "\tRugsteun gebruik 'tar' en 'gzip'\n"
+#: ../../standalone/drakbackup_.c:1174 ../../standalone/drakbackup_.c:1223
+msgid "Backup system files..."
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Set as default"
-msgstr "Maak verstek"
+#: ../../standalone/drakbackup_.c:1224 ../../standalone/drakbackup_.c:1291
+#, fuzzy
+msgid "Hard Disk Backup files..."
+msgstr "Korrupte rugsteunler"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "2 MB"
-msgstr "2 MB"
+#: ../../standalone/drakbackup_.c:1236
+#, fuzzy
+msgid "Backup User files..."
+msgstr "Korrupte rugsteunler"
-#: ../../printer/main.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Configured on this machine"
-msgstr "Gekonfigureer op hierdie rekenaar"
+#: ../../standalone/drakbackup_.c:1237
+msgid "Hard Disk Backup Progress..."
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Control keys simultaneously"
-msgstr "Beide Control-sleutels gelyktydig"
+#: ../../standalone/drakbackup_.c:1290
+#, fuzzy
+msgid "Backup Other files..."
+msgstr "Korrupte rugsteunler"
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid " --help - display this help \n"
-msgstr " --help - vertoon hierdie help \n"
+#: ../../standalone/drakbackup_.c:1296
+#, fuzzy
+msgid "No changes to backup!"
+msgstr "Korrupte rugsteunler"
-#: ../../standalone.pm:1
+#: ../../standalone/drakbackup_.c:1312 ../../standalone/drakbackup_.c:1335
#, c-format
msgid ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in "
-"MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the "
-"description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+"\n"
+"Drakbackup activities via %s:\n"
+"\n"
msgstr ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in "
-"MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the "
-"description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Setting Default Printer..."
-msgstr "Stel Verstekdrukker op ...."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Koppelvlak %s (met module %s)"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Generating preview ..."
-msgstr "Berei voorskou voor ..."
-#: ../../network/network.pm:1
+#: ../../standalone/drakbackup_.c:1319
#, c-format
msgid ""
-"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
-"frequency), or add enough '0' (zeroes)."
+"file list sent by FTP: %s\n"
+" "
msgstr ""
-"Freq moet 'n k, M of G agtervoegsel kry. (byvoorbeeld, \"2.6G\" vir 2.46Ghz "
-"frekwensie), of u moet genoeg 0'e (zero's) byvoeg."
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ignore"
-msgstr "ignoreer"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1322
msgid ""
-"Allow/Forbid X connections:\n"
"\n"
-"- ALL (all connections are allowed),\n"
+" FTP connection problem: It was not possible to send your backup files by "
+"FTP.\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:1340
+msgid ""
"\n"
-"- LOCAL (only connection from local machine),\n"
+"Drakbackup activities via CD:\n"
"\n"
-"- NONE (no connection)."
msgstr ""
-"Laat toe/Verbied X-konneksies:\n"
-"\n"
-"- ALMAL ( alle konneksies word toegelaat),\n"
+
+#: ../../standalone/drakbackup_.c:1345
+msgid ""
"\n"
-"- PLAASLIK (slegs vanaf die plaaslike rekenaar),\n"
+"Drakbackup activities via tape:\n"
"\n"
-"- GEEN (geen konneksie)."
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on parallel port #%s"
-msgstr ", multi-funksionele toestel op parallele poort #%s"
+#: ../../standalone/drakbackup_.c:1354
+#, fuzzy
+msgid " Error during mail sending. \n"
+msgstr "Fout met die les van ler %s"
-#: ../../mouse.pm:1
-#, c-format
-msgid "serial"
-msgstr "seriaal"
+#: ../../standalone/drakbackup_.c:1380
+msgid "Can't create catalog!"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "DVD-ROM"
-msgstr "DVD-ROM"
+#: ../../standalone/drakbackup_.c:1490 ../../standalone/drakbackup_.c:1501
+#: ../../standalone/drakfont_.c:946
+#, fuzzy
+msgid "File Selection"
+msgstr "Pakketkeuse"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Georgies (Latynse uitleg)"
+#: ../../standalone/drakbackup_.c:1529
+msgid "Select the files or directories and click on 'Add'"
+msgstr ""
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid "Get the best items with Mandrake Linux Strategic partners"
-msgstr "Verkry die betste items deur 'Mandrake Linux Strategic'-vennote"
+#: ../../standalone/drakbackup_.c:1573
+msgid ""
+"\n"
+"Please check all options that you need.\n"
+msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1574
msgid ""
-"You may now provide options to module %s.\n"
-"Note that any address should be entered with the prefix 0x like '0x123'"
+"These options can backup and restore all files in your /etc directory.\n"
msgstr ""
-"U kan nou opsies vir module %s voorsien.\n"
-"Let daarop dat enige adresse voorafgegaan moet word deur 0x (bv '0x123')"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kenya"
-msgstr "Kenia"
+#: ../../standalone/drakbackup_.c:1575
+#, fuzzy
+msgid "Backup your System files. (/etc directory)"
+msgstr "Korrupte rugsteunler"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``Unmount'' first"
-msgstr "Gebruik ``Ontheg'' eerste"
+#: ../../standalone/drakbackup_.c:1576
+msgid "Use incremental backup (do not replace old backups)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing mtools packages..."
-msgstr "Installeer 'mtools'-pakette ..."
+#: ../../standalone/drakbackup_.c:1577
+msgid "Do not include critical files (passwd, group, fstab)"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a root partition"
-msgstr "U moet 'n 'root-partisie spesifiseer"
+#: ../../standalone/drakbackup_.c:1578
+msgid ""
+"With this option you will be able to restore any version\n"
+" of your /etc directory."
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "first step creation"
-msgstr "eertste stap skepping"
+#: ../../standalone/drakbackup_.c:1595
+#, fuzzy
+msgid "Please check all users that you want to include in your backup."
+msgstr "Kies die pakkette wat u wil installeer"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Shift keys simultaneously"
-msgstr "Beide Shift-sleutels gelyktydig"
+#: ../../standalone/drakbackup_.c:1622
+msgid "Do not include the browser cache"
+msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-" --id <id_label> - load the html help page which refers to id_label\n"
+#: ../../standalone/drakbackup_.c:1623 ../../standalone/drakbackup_.c:1647
+msgid "Use Incremental Backups (do not replace old backups)"
msgstr ""
-" --id <id_label> - load the html help page which refers to id_label\n"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Select a scanner model"
-msgstr "Kies 'n skandeerder model"
+#: ../../standalone/drakbackup_.c:1645 ../../standalone/drakfont_.c:1000
+#, fuzzy
+msgid "Remove Selected"
+msgstr "Verwyder tou"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Accept/Refuse bogus IPv4 error messages."
-msgstr "Aanvaar/Weier snert IPv4-foutboodskappe."
+#: ../../standalone/drakbackup_.c:1679
+#, fuzzy
+msgid "Windows (FAT32)"
+msgstr "Verwyder Windows(TM)"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng - LPR New Generation"
-msgstr "LPRng - Nuwe generasie LPR"
+#: ../../standalone/drakbackup_.c:1714
+#, fuzzy
+msgid "Users"
+msgstr "Gebruikerskode"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup Configuration"
-msgstr "Drakbackup Konfigurasie"
+#: ../../standalone/drakbackup_.c:1740
+#, fuzzy
+msgid "Use network connection to backup"
+msgstr "Korrupte rugsteunler"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Save as.."
-msgstr "Stoor as.."
+#: ../../standalone/drakbackup_.c:1742
+msgid "Net Method:"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea (North)"
-msgstr "Korea (Noord)"
+#: ../../standalone/drakbackup_.c:1746
+msgid "Use Expect for SSH"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1747
msgid ""
-"This interface has not been configured yet.\n"
-"Launch the configuration wizard in the main window"
+"Create/Transfer\n"
+"backup keys for SSH"
msgstr ""
-"Hierdie koppelvlak is nog nie opgestel nie.\n"
-"Loods die konfigurasie-assistent vanuit die hoof-venster"
-
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System configuration"
-msgstr "Stelsel-konfigurasie"
-#: ../../any.pm:1 ../../security/l10n.pm:1
-#, c-format
-msgid "Autologin"
-msgstr "Outo-inteken"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin Password"
-msgstr "Domein-administrarteur se Wagwoord"
+#: ../../standalone/drakbackup_.c:1748
+#, fuzzy
+msgid ""
+" Transfer \n"
+"Now"
+msgstr "Oordrag"
-#: ../advertising/05-desktop.pl:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1749
msgid ""
-"Perfectly adapt your computer to your needs thanks to the 11 available "
-"Mandrake Linux user interfaces which can be fully modified: KDE 3.1, GNOME "
-"2.2, Window Maker, ..."
+"Other (not drakbackup)\n"
+"keys in place already"
msgstr ""
-"U kan GUI-gewys in al u behoefdes voorsien danksy die 11 beskikbare "
-"koppelvlakke wat Mandrake Linux u bied. Hulle is ook volkome verstelbaar: "
-"KDE 3.1, GNOME 2.4, Window Maker,..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer ..."
-msgstr "Konfigureer drukker ..."
+#
+#: ../../standalone/drakbackup_.c:1753
+#, fuzzy
+msgid "Please enter the host name or IP."
+msgstr "Toets asb. die muis"
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1758
msgid ""
-"To ensure data integrity after resizing the partition(s), \n"
-"filesystem checks will be run on your next boot into Windows(TM)"
+"Please enter the directory (or module) to\n"
+" put the backup on this host."
msgstr ""
-"Om Data-integriteit te verseker nadat u die partisie(s)\n"
-"verklien het,sal daar toetste op u lerstelsel(s) gedoen word,\n"
-"volgende keer as Windows(TM) selflaai"
-
-#: ../../common.pm:1
-#, c-format
-msgid "MB"
-msgstr "MB"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run some checks against the rpm database."
-msgstr "indien ja gekies is, doen 'n paar toetse teen die rpm-databasis."
+#: ../../standalone/drakbackup_.c:1763
+#, fuzzy
+msgid "Please enter your login"
+msgstr "Probeer asb. weer"
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (British)"
-msgstr "Virgin Eilande (Brits)"
+#: ../../standalone/drakbackup_.c:1768
+#, fuzzy
+msgid "Please enter your password"
+msgstr "Probeer asb. weer"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bermuda"
-msgstr "Bermuda"
+#: ../../standalone/drakbackup_.c:1774
+#, fuzzy
+msgid "Remember this password"
+msgstr "Geen wagwoord"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "click here if you are sure."
-msgstr "indien u seker is, klik hier."
+#: ../../standalone/drakbackup_.c:1785
+msgid "Need hostname, username and password!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"No configuration file found \n"
-"please click Wizard or Advanced."
+#: ../../standalone/drakbackup_.c:1879
+msgid "Use CD/DVDROM to backup"
msgstr ""
-"Geen konfigurasieler te vinde \n"
-"klik op Wysgeer of Gevorderd."
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1882
msgid ""
-"Listed here are the existing Linux partitions detected on your hard drive.\n"
-"You can keep the choices made by the wizard, since they are good for most\n"
-"common installations. If you make any changes, you must at least define a\n"
-"root partition (\"/\"). Do not choose too small a partition or you will not\n"
-"be able to install enough software. If you want to store your data on a\n"
-"separate partition, you will also need to create a \"/home\" partition\n"
-"(only possible if you have more than one Linux partition available).\n"
-"\n"
-"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
-"\n"
-"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc."
+"Please choose your CD/DVD device\n"
+"(Press Enter to propogate settings to other fields.\n"
+"This field isn't necessary, only a tool to fill in the form.)"
msgstr ""
-"Hier is 'n lys van die bestaande Linux partisies wat opgespoor is.\n"
-"U kan die assistent se keuses behou, hulle is gewoonlik geskik vir die\n"
-"meeste installasies. Sou u wil verander, moet u ten minste 'n wortel-\n"
-"partisie (\"/\") voorsien. Dit moet nie te klein wees nie, anders kan ons \n"
-"nie genog sagteware installeer nie. Indien u die data op 'n aparte \n"
-"partisie wil stoor, moet u ook 'n \"/home\"-partisie skep.\n"
-"(waarvoor u meer as een Linux partisie nodig het).\n"
-"\n"
-"Elke partisie word as volg gelys: \"Naam\", \"Kapasiteit\".\n"
-"\n"
-"\"Naam werk as volg\" \"tipe hardeskyf\", \"nommer van hardeskyf\",\n"
-"\"nommer van partisie\" (byvoorbeeld: \"hda1\").\n"
-"\n"
-"Indien u 'n IDE tipe hardeskyf het sal die tipe \"hd\" wees, en SCSI, sal \n"
-"\"sd\" wees\n"
-"\n"
-"Die nommer van die hardeskyf is altyd 'n letter, wat volg na \"hd\" \n"
-"of \"sd\".\n"
-"Met IDE hardeskywe:\n"
-"\n"
-" * \"a\" beteken \"meester-hardeskyf op die primre IDE-beheerder\";\n"
-"\n"
-" * \"b\" beteken \"slaaf-hardeskyf op die primre IDE-beheerder\";\n"
-"\n"
-" * \"c\" beteken \"meester-hardeskyf op die sekondre IDE-beheerder\";\n"
-"\n"
-" * \"e\" beteken \"slaaf-hardeskyf op die sekondre IDE-beheerder\";\n"
-"\n"
-"Met SCSI-hardeskywe, beteken 'n \"a\" die kleinste SCSI-ID,\"b\" sal\n"
-"dan die volgende ID verteenwoordig ens."
-#
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Remove"
-msgstr "Verwyder"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lesotho"
-msgstr "Lesotho"
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "utopia 25"
-msgstr "utopia 25"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Pipe job into a command"
-msgstr "Pyp drukstuk na program"
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Remove system config files"
-msgstr "Verwyder die teruglusler?"
+#: ../../standalone/drakbackup_.c:1887
+#, fuzzy
+msgid "Please choose your CD/DVD media size (Mb)"
+msgstr "Wat is u sleutelborduitleg?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cote d'Ivoire"
-msgstr "Cote d'Ivoire"
+#: ../../standalone/drakbackup_.c:1893
+#, fuzzy
+msgid "Please check for multisession CD"
+msgstr "Kliek asb. op 'n partisie"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "new dynamic device name generated by core kernel devfs"
-msgstr "nuwe toestelnaam is dinamies geskep deur die kernel se 'devfs'"
+#: ../../standalone/drakbackup_.c:1899
+#, fuzzy
+msgid "Please check if you are using CDRW media"
+msgstr "Kliek asb. op 'n partisie"
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/drakgw:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Yes"
-msgstr "Ja"
+#: ../../standalone/drakbackup_.c:1905
+#, fuzzy
+msgid "Please check if you want to erase your RW media (1st Session)"
+msgstr "Kliek asb. op 'n partisie"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which protocol do you want to use?"
-msgstr "Watter protokol verlang u?"
+#: ../../standalone/drakbackup_.c:1906
+#, fuzzy
+msgid " Erase Now "
+msgstr "Oordrag"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Progress"
-msgstr "Vordering van Herstel"
+#: ../../standalone/drakbackup_.c:1912
+#, fuzzy
+msgid "Please check if you are using a DVDR device"
+msgstr "Kliek asb. op 'n partisie"
-#: ../../lang.pm:1
-#, c-format
-msgid "Estonia"
-msgstr "Estoni"
+#: ../../standalone/drakbackup_.c:1918
+#, fuzzy
+msgid "Please check if you are using a DVDRAM device"
+msgstr "Kliek asb. op 'n partisie"
-#: ../../partition_table.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1931
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."
+"Please enter your CD Writer device name\n"
+" ex: 0,1,0"
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"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Choose the host on which the local scanners should be made available:"
-msgstr ""
-"Kies rekenaar waarop plaaslike skandeerders beskikbaar gestel moet word:"
+#: ../../standalone/drakbackup_.c:1964
+#, fuzzy
+msgid "No CD device defined!"
+msgstr "Selekteer lOer"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Channel"
-msgstr "Kanaal"
+#: ../../standalone/drakbackup_.c:2012
+#, fuzzy
+msgid "Use tape to backup"
+msgstr "Korrupte rugsteunler"
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Add"
-msgstr "Voeg by"
+#: ../../standalone/drakbackup_.c:2015
+msgid "Please enter the device name to use for backup"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Error while sending mail. \n"
-msgstr "Fout met die stuur van e-pos. \n"
+#: ../../standalone/drakbackup_.c:2021
+#, fuzzy
+msgid "Please check if you want to use the non-rewinding device."
+msgstr "Kies die pakkette wat u wil installeer"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Keyboard"
-msgstr "Sleutelbord"
+#: ../../standalone/drakbackup_.c:2027
+#, fuzzy
+msgid "Please check if you want to erase your tape before the backup."
+msgstr "Kies die pakkette wat u wil installeer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Insert the CD with volume label %s\n"
-" in the CD drive under mount point /mnt/cdrom"
-msgstr ""
-"Plaas CD met die volume-naam %s\n"
-"in die CD-aandrywer onder hegpunt /mnt/cdrom"
+#: ../../standalone/drakbackup_.c:2033
+#, fuzzy
+msgid "Please check if you want to eject your tape after the backup."
+msgstr "Kies die pakkette wat u wil installeer"
-#: ../../network/network.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2039 ../../standalone/drakbackup_.c:2112
+#: ../../standalone/drakbackup_.c:3068
msgid ""
-"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
-"enough '0' (zeroes)."
+"Please enter the maximum size\n"
+" allowed for Drakbackup"
msgstr ""
-"Tempo moet agtervoegsels van k,M, of G kry (byvoorbeeld \"11M\" vir 11M) of "
-"voeg genoeg 0'e (zero'z) by."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the connection you want to configure"
-msgstr "Kies die konneksie wat u wil konfigureer"
+#
+#: ../../standalone/drakbackup_.c:2103
+#, fuzzy
+msgid "Please enter the directory to save to:"
+msgstr "Toets asb. die muis"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security level..."
-msgstr "Net 'n oomblik, sekuriteitsvlak word gestel..."
+#: ../../standalone/drakbackup_.c:2118 ../../standalone/drakbackup_.c:3074
+#, fuzzy
+msgid "Use quota for backup files."
+msgstr "Korrupte rugsteunler"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Konfigureer netwerktoestel %s"
+#: ../../standalone/drakbackup_.c:2180
+#, fuzzy
+msgid "Network"
+msgstr "Netwerkkoppelvlak"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "activated"
-msgstr "ge-aktiveer"
+#: ../../standalone/drakbackup_.c:2185
+msgid "CDROM / DVDROM"
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Please choose which network interface will be used for the dhcp server."
+#: ../../standalone/drakbackup_.c:2190
+msgid "HardDrive / NFS"
msgstr ""
-"Kies asseblief die netwerkkoppelvlak wat u wil gebruik vir die dhcp-bediener."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Finding packages to upgrade..."
-msgstr "Soek vir pakkette om op te gradeer..."
+#: ../../standalone/drakbackup_.c:2195
+#, fuzzy
+msgid "Tape"
+msgstr "Tipe"
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount point: "
-msgstr "Hegpunt: "
+#: ../../standalone/drakbackup_.c:2208 ../../standalone/drakbackup_.c:2212
+#: ../../standalone/drakbackup_.c:2216
+msgid "hourly"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "parse all fonts"
-msgstr "ontleed alle lettetipes"
+#: ../../standalone/drakbackup_.c:2209 ../../standalone/drakbackup_.c:2213
+#: ../../standalone/drakbackup_.c:2216
+msgid "daily"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid direct root login."
-msgstr "Laat toe/Weier vir 'root' om direk in te teken."
+#: ../../standalone/drakbackup_.c:2210 ../../standalone/drakbackup_.c:2214
+#: ../../standalone/drakbackup_.c:2216
+msgid "weekly"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid " Accept/Refuse broadcasted icmp echo."
-msgstr "Aanvaar/Weier uitgesaaide icmp-ego's"
+#: ../../standalone/drakbackup_.c:2211 ../../standalone/drakbackup_.c:2215
+#: ../../standalone/drakbackup_.c:2216
+msgid "monthly"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With X"
-msgstr "Met X"
+#: ../../standalone/drakbackup_.c:2229
+#, fuzzy
+msgid "Use daemon"
+msgstr "Gebruikerskode"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Multi-head configuration"
-msgstr "Multikop-konfigurasie"
+#: ../../standalone/drakbackup_.c:2234
+#, fuzzy
+msgid ""
+"Please choose the time \n"
+"interval between each backup"
+msgstr "Kies die pakkette wat u wil installeer"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "No browser available! Please install one"
-msgstr "Geen blaaier beskikbaar! Installeer asseblief een"
+#: ../../standalone/drakbackup_.c:2240
+#, fuzzy
+msgid ""
+"Please choose the\n"
+"media for backup."
+msgstr "Kies asb. 'n taal om te gebruik."
-#: ../../Xconfig/main.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2247
msgid ""
-"Keep the changes?\n"
-"The current configuration is:\n"
+"Please be sure that the cron daemon is included in your services. \n"
"\n"
-"%s"
+"Note that currently all 'net' medias also use the hard drive."
msgstr ""
-"Behou die veranderinge?\n"
-"Huidige konfigurasie is:\n"
-"\n"
-"%s"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "U kan nie ReiserFS vir partisies kleiner as 32MB gebruik nie"
+#: ../../standalone/drakbackup_.c:2283
+msgid "Send mail report after each backup to:"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-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)."
+#: ../../standalone/drakbackup_.c:2289
+msgid "Delete Hard Drive tar files after backup to other media."
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')."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Domain name"
-msgstr "Domeinnaam"
+#: ../../standalone/drakbackup_.c:2324
+#, fuzzy
+msgid "What"
+msgstr "Wag"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Sharing of local printers"
-msgstr "Deel van plaaslike drukkers"
+#
+#: ../../standalone/drakbackup_.c:2329
+#, fuzzy
+msgid "Where"
+msgstr "Wiel"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable libsafe if libsafe is found on the system."
-msgstr "Versper/Ontsper 'libsafe' indien 'libsafe' teenwoordig is."
+#
+#: ../../standalone/drakbackup_.c:2334
+#, fuzzy
+msgid "When"
+msgstr "Wiel"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Available printers"
-msgstr "Beskikbare drukkers"
+#: ../../standalone/drakbackup_.c:2339
+#, fuzzy
+msgid "More Options"
+msgstr "Module opsies:"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "NO"
-msgstr "NEE"
+#: ../../standalone/drakbackup_.c:2358 ../../standalone/drakbackup_.c:4444
+#, fuzzy
+msgid "Drakbackup Configuration"
+msgstr "Netwerkkonfigurasie"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Empty"
-msgstr "Leeg"
+#: ../../standalone/drakbackup_.c:2376
+#, fuzzy
+msgid "Please choose where you want to backup"
+msgstr "Kies die pakkette wat u wil installeer"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text width"
-msgstr "teks-wydte"
+#: ../../standalone/drakbackup_.c:2378
+msgid "on Hard Drive"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Waar wil u toestel %s heg?"
+#: ../../standalone/drakbackup_.c:2388
+msgid "across Network"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The default lease (in seconds)"
-msgstr "Die verstek huur tydperk (in sekondes)"
+#: ../../standalone/drakbackup_.c:2398
+msgid "on CDROM"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"We are now going to configure the %s connection.\n"
-"\n"
-"\n"
-"Press \"%s\" to continue."
+#: ../../standalone/drakbackup_.c:2406
+msgid "on Tape Device"
msgstr ""
-"Ons gaan nou die %s konneksie konfigureer.\n"
-"\n"
-"\n"
-"Druk \"%s\" om voort te gaan."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Interface \"%s\""
-msgstr "Koppelvlak \"%s\""
+#: ../../standalone/drakbackup_.c:2449
+#, fuzzy
+msgid "Please choose what you want to backup"
+msgstr "Kies die pakkette wat u wil installeer"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With basic documentation (recommended!)"
-msgstr "Met basiese dokumentasie (word aanbeveel!)"
+#: ../../standalone/drakbackup_.c:2450
+#, fuzzy
+msgid "Backup system"
+msgstr "Stel lerstelsels op"
-#: ../../mouse.pm:1
-#, c-format
-msgid "1 button"
-msgstr "1 knop"
+#: ../../standalone/drakbackup_.c:2451
+msgid "Backup Users"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2454
+msgid "Select user manually"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:2537
msgid ""
"\n"
-"There are %d unknown printers directly connected to your system"
+"Backup Sources: \n"
msgstr ""
-"\n"
-"Daar is %d onbekende drukkers direk aan u rekenaar gekoppel"
-
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Test"
-msgstr "Toets"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea"
-msgstr "Korea"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default `%s'%s) "
-msgstr "U keuse? (verstek '%s'%s) "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer"
-msgstr "Onverwerkte (direkte) drukker"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "official vendor name of the cpu"
-msgstr "verwerker se amptelike handelsnaam"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Useless without Terminal Server"
-msgstr "Waardeloos sonder Terninaal-bediener"
-
-#: ../../Xconfig/monitor.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Vendor"
-msgstr "Vervaardiger"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s"
-msgstr "Koppelvlak %s"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure mouse"
-msgstr "Stel muistoestel op"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the mount points"
-msgstr "Kies die hegpunte"
-
-#: ../../help.pm:1 ../../standalone/drakTermServ:1 ../../standalone/drakfont:1
-#, c-format
-msgid "OK"
-msgstr "OK"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Yugoslavian (latin)"
-msgstr "Jugoslaavs (latynse uitleg)"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing"
-msgstr "Besig met installasie"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan with Wheel emulation"
-msgstr "Logitech MouseMan met wielletjie-emulasie"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Launch userdrake"
-msgstr "Loods userdrake"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Is this an install or an upgrade?"
-msgstr "Is hierdie 'n installasie of opgradering?"
-
-#: ../../help.pm:1
-#, c-format
-msgid "ISDN card"
-msgstr "ISDN-kaart"
-#: ../advertising/02-community.pl:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2538
msgid ""
-"To share your own knowledge and help build Linux software, join our "
-"discussion forums on our \"Community\" webpages."
+"\n"
+"- System Files:\n"
msgstr ""
-"Om u kennis met die gemeenskap te deel en Linux-sagteware te bevorder, "
-"besoek ons \"Community\" webblaaie."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Hard drive.\n"
-msgstr "\t-Hardeskyf.\n"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2540
msgid ""
-"This step is activated only if an old GNU/Linux partition has been found on\n"
-"your machine.\n"
"\n"
-"DrakX now needs to know if you want to perform a new install or an upgrade\n"
-"of an existing Mandrake Linux system:\n"
-"\n"
-" * \"%s\": For the most part, this completely wipes out the old system. If\n"
-"you wish to change how your hard drives are partitioned, or change the file\n"
-"system, you should use this option. However, depending on your partitioning\n"
-"scheme, you can prevent some of your existing data from being over-written.\n"
-"\n"
-" * \"%s\": this installation class allows you to update the packages\n"
-"currently installed on your Mandrake Linux system. Your current\n"
-"partitioning scheme and user data is not altered. Most of other\n"
-"configuration steps remain available, similar to a standard installation.\n"
-"\n"
-"Using the ``Upgrade'' option should work fine on Mandrake Linux systems\n"
-"running version \"8.1\" or later. Performing an Upgrade on versions prior\n"
-"to Mandrake Linux version \"8.1\" is not recommended."
+"- User Files:\n"
msgstr ""
-"Hierdie stap word slegs gedoen indien ou GNU/Linux partisies op die\n"
-"rekenaar gevind is.\n"
-"\n"
-"DrakX moet nou weet of u 'n nuwe installasie of 'n opgradering van 'n\n"
-"bestaande Mandrake Linux wil doen:\n"
-"\n"
-" * \"%s\": Hierdie deel word grootliks gebruik vir 'n hele nuwe "
-"installasie.\n"
-"Indien u aan die hardeskywe se partisies of die lerstelsel wil verander,\n"
-"moet u hierdie opsie kies. Maar u kan ook hierdie een kies indien u sekere\n"
-"van u partisies se data wil behou.\n"
-"\n"
-" * \"%s\": hierdie tipe installasie laat u toe om pakkette op te dateer\n"
-"wat deel uitmaak van u huidige Mandrake Linux installasie. Die partisies\n"
-"en gebruiker se data bly onveranderd. Ander stappe is baie dieselfde as\n"
-"'n normale installasie.\n"
-"\n"
-"Die gebruik van die 'Opdateer' opsie behoort reg te werk vir al die\n"
-"weergawes vanaf \"8.1\" en opwaarts. Ons raai u af on dit op weergawes\n"
-"ouer as \"8.1\" te probeer."
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2542
msgid ""
"\n"
-" Copyright (C) 2001-2002 by MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
+"- Other Files:\n"
msgstr ""
-"\n"
-" Copyright (C) 2001-2002 by MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
-#
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on remote CUPS server"
-msgstr "Eksterne CUPS-drukker"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2544
#, c-format
msgid ""
-"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
+"\n"
+"- Save on Hard drive on path: %s\n"
msgstr ""
-"Probleme om drukker \"%s\" uit Star Office/OpenOffice.org/GIMP te verwyder"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "here if no."
-msgstr "hier indien nee."
-
-#
-#: ../../network/network.pm:1
-#, c-format
-msgid "DHCP host name"
-msgstr "DHCP-rekenaarnaam"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The maximum lease (in seconds)"
-msgstr "Die maksimun huur tydperk (in sekondes)"
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose which serial port your mouse is connected to."
-msgstr "Aan watter seriaalpoort is u muis gekoppel?"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Did it work properly?"
-msgstr "Het dit reg gewerk?"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Mount the file system read-only."
-msgstr "Heg die lerstelsel as lees-alleen."
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Poor"
-msgstr "Lig"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result by mail"
-msgstr "Stuur toets-reslutate via e-pos"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Grenada"
-msgstr "Grenada"
+#: ../../standalone/drakbackup_.c:2547
+msgid ""
+"\n"
+"- Delete hard drive tar files after backup.\n"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP start range"
-msgstr "Die DHCP-reeks se begin"
+#: ../../standalone/drakbackup_.c:2553
+msgid ""
+"\n"
+"- Burn to CD"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Unsafe"
-msgstr "Onveilig"
+#: ../../standalone/drakbackup_.c:2554
+msgid "RW"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../standalone/drakbackup_.c:2555
#, fuzzy, c-format
-msgid "SSH server"
-msgstr "SSH-bediener"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektore"
-
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "No"
-msgstr "Nee"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guadeloupe"
-msgstr "Guadeloupe"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Kannada"
-msgstr "Kanada"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font.\n"
-msgstr "kon nie enige lettertipes vind nie.\n"
+msgid " on device: %s"
+msgstr "Muistoestel: %s\n"
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Do you want the BackSpace to return Delete in console?"
+#: ../../standalone/drakbackup_.c:2556
+msgid " (multi-session)"
msgstr ""
-"Wil u h dat die 'BackSpace' sleutel moet uitvee in die konsole ('n 'Delete' "
-"terugstuur)?"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Vertical refresh rate"
-msgstr "Vertikale verfristempo"
-
-#: ../../install_steps_auto_install.pm:1 ../../install_steps_stdio.pm:1
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Gaan stap '%s' binne\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Niger"
-msgstr "Niger"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing %s ..."
-msgstr "Verwyder %s ..."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No printer"
-msgstr "Geen drukker"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "alert configuration"
-msgstr "Waarsku-konfigurasie"
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2557
#, c-format
-msgid "NetWare Printer Options"
-msgstr "NetWare drukkeropsies"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "%s BootSplash (%s) preview"
-msgstr "%s Selflaai-splatskerm (%s) voorskou"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "February"
-msgstr "Februarie"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "General"
-msgstr "Algemeen"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "/etc/issue* exist"
-msgstr "/etc/issue* bestaan reeds"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Add a user"
-msgstr "Voeg 'n gebruiker by"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Netwerkkonfigurasie (%d toestelle)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "April"
-msgstr "April"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Deactivate now"
-msgstr "Deaktiveer nou dadelik"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "Mandatory package %s is missing"
-msgstr "Verpligte pakket %s ontbreek"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Philippines"
-msgstr "Filippyne"
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakperm:1
-#: ../../standalone/draksec:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Ok"
-msgstr "OK"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "drakTermServ Overview"
-msgstr "drakTermServ Oorsig"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print Queue Name"
-msgstr "Drukkertou-naam"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you want to use aboot?"
-msgstr "Wil u aboot gebruik?"
+msgid ""
+"\n"
+"- Save to Tape on device: %s"
+msgstr ""
-#: ../../keyboard.pm:1
+#: ../../standalone/drakbackup_.c:2558
#, c-format
-msgid "Belarusian"
-msgstr "Belarussies"
+msgid "\t\tErase=%s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2561
#, c-format
msgid ""
-"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
-"printers.\n"
+"\n"
+"- Save via %s on host: %s\n"
msgstr ""
-"PDQ ondersteun slegs plaaslike drukkers, eksterne drukkers, en Sok/TCP "
-"drukkers.\n"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move files to the new partition"
-msgstr "Verskuif lers na nuwe partisie toe"
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2562
#, c-format
msgid ""
-"Add here the CUPS servers whose printers you want to use. You only need to "
-"do this if the servers do not broadcast their printer information into the "
-"local network."
+"\t\t user name: %s\n"
+"\t\t on path: %s \n"
msgstr ""
-"Voeg die CUPS-bedieners, wie se drukkers u wil gebruik, hier by. U hoef dit "
-"slegs te doen indien die bedieners nie hulle drukkers se inligting uitsaai "
-"oor die plaaslike netwerk nie."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2563
+#, fuzzy
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"- Options:\n"
+msgstr "Opsies"
+
+#: ../../standalone/drakbackup_.c:2564
+msgid "\tDo not include System Files\n"
msgstr ""
-"\n"
-"Welkom by die 'Printer Setup Wizard'\n"
-"\n"
-"\n"
-"Hierdie wysgeer sal u help op u drukker(s), wat aan u rekenaar gekoppel is, "
-"op te stel, \n"
-"Maak tog seker die drukker(s) is reg gekoppel en aangeskakel, sodat "
-"outospeur sy werk reg kan doen. \n"
-"Klik op \"Volgende\" sodra u gereed is, of op \"Kanselleer\" indien u nou "
-"enige drukkers wil opstel nie."
-#: ../../lang.pm:1
-#, c-format
-msgid "Pitcairn"
-msgstr "Pitcairn"
+#: ../../standalone/drakbackup_.c:2567
+msgid "\tBackups use tar and bzip2\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From Catalog"
-msgstr "Herstel Vanaf Katalogus"
+#: ../../standalone/drakbackup_.c:2569
+msgid "\tBackups use tar and gzip\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:2572
#, c-format
-msgid "IDE"
-msgstr "IDE"
+msgid ""
+"\n"
+"- Daemon (%s) include:\n"
+msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "mounting partition %s in directory %s failed"
-msgstr "heg van partisie %s in lergids %s het gefaal"
+#: ../../standalone/drakbackup_.c:2573
+msgid "\t-Hard drive.\n"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo screen"
-msgstr "Lilo skerm"
+#: ../../standalone/drakbackup_.c:2574
+msgid "\t-CDROM.\n"
+msgstr ""
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with graphical menu"
-msgstr "LILO met grafiese kieskaart"
+#: ../../standalone/drakbackup_.c:2575
+msgid "\t-Tape \n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Estimating"
-msgstr "Skatting"
+#: ../../standalone/drakbackup_.c:2576
+msgid "\t-Network by FTP.\n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It is already installed"
-msgstr "U kan nie heirdie pakket verwyder nie. Dis alreeds genstalleer"
+#: ../../standalone/drakbackup_.c:2577
+msgid "\t-Network by SSH.\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on SMB/Windows server \"%s\""
-msgstr ", drukker \"%s\" op SMB/Windows bediener \"%s\""
+#: ../../standalone/drakbackup_.c:2578
+msgid "\t-Network by rsync.\n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Go on anyway?"
-msgstr "Gaan steeds voort?"
+#: ../../standalone/drakbackup_.c:2579
+msgid "\t-Network by webdav.\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages and rebuilding rpm database..."
-msgstr "Soek vir beskikbare pakkette en herbou die rpm-databasis"
+#: ../../standalone/drakbackup_.c:2581
+msgid "No configuration, please click Wizard or Advanced.\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2587
msgid ""
+"List of data to restore:\n"
"\n"
-" DrakBackup Report \n"
msgstr ""
+
+#: ../../standalone/drakbackup_.c:2754
+msgid ""
+"List of data corrupted:\n"
"\n"
-" DrakBackup Verslag \n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Does not appear to be recordable media!"
-msgstr "Wil voorkom of dit nie skryfbare media is nie!"
+#: ../../standalone/drakbackup_.c:2756
+#, fuzzy
+msgid "Please uncheck or remove it on next time."
+msgstr "Op watter seriaalpoort is u modem gekoppel?"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Specify options"
-msgstr "Spesifieer opsies"
+#: ../../standalone/drakbackup_.c:2766
+msgid "Backup files are corrupted"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Vanuatu"
-msgstr "Vanuatu"
+#: ../../standalone/drakbackup_.c:2787
+msgid " All of your selected data have been "
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:2788
#, c-format
-msgid "New user list:\n"
-msgstr "Lys van nuwe gebruikers:\n"
+msgid " Successfuly Restored on %s "
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Either the server name or the server's IP must be given!"
-msgstr "f die bedienernaam f die bediener-IP moet verskaf word!"
+#: ../../standalone/drakbackup_.c:2906
+#, fuzzy
+msgid " Restore Configuration "
+msgstr "Netwerkkonfigurasie"
-#: ../../any.pm:1
-#, c-format
-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\"."
+#: ../../standalone/drakbackup_.c:2924
+msgid "OK to restore the other files."
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\"."
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use an encrypted file system for mount point %s"
-msgstr "U kan nie 'n lerstelsel met enkripsie vir hegpunt %s gebruik nie."
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the password history length to prevent password reuse."
-msgstr "Stel die wagwoord-geskiedenis se lente om hergebruik te voorkom"
+#: ../../standalone/drakbackup_.c:2941
+msgid "User list to restore (only the most recent date per user is important)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Norfolk Island"
-msgstr "Norfolk Eiland"
+#: ../../standalone/drakbackup_.c:3019
+#, fuzzy
+msgid "Backup the system files before:"
+msgstr "Korrupte rugsteunler"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Theme installation failed!"
-msgstr "Installasie van tema het gefaal!"
+#: ../../standalone/drakbackup_.c:3021
+#, fuzzy
+msgid "please choose the date to restore"
+msgstr "Wat is u muistoestel?"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Nothing to do"
-msgstr "Niks om te doen nie"
+#: ../../standalone/drakbackup_.c:3057
+#, fuzzy
+msgid "Use Hard Disk to backup"
+msgstr "Korrupte rugsteunler"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Use for loopback"
-msgstr "Gebruik vir teruglus"
+#
+#: ../../standalone/drakbackup_.c:3060
+#, fuzzy
+msgid "Please enter the directory to save:"
+msgstr "Toets asb. die muis"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Bug Report Tool"
-msgstr "Mandrake Bug Report Tool"
+#: ../../standalone/drakbackup_.c:3103
+#, fuzzy
+msgid "FTP Connection"
+msgstr "LAN konneksie"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Apply filter"
-msgstr "Pas filter toe"
+#: ../../standalone/drakbackup_.c:3110
+#, fuzzy
+msgid "Secure Connection"
+msgstr "Kies drukkerkonneksie"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pppoe"
-msgstr "gebruik pppoe"
+#: ../../standalone/drakbackup_.c:3134
+#, fuzzy
+msgid "Restore from Hard Disk."
+msgstr "Herstel vanaf floppie"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving files to the new partition"
-msgstr "Verskuif lers na nuwe partisie toe"
+#: ../../standalone/drakbackup_.c:3136
+msgid "Please enter the directory where backups are stored"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s met EKSPERIMENTELE 3D-hardewareversnelling"
+#: ../../standalone/drakbackup_.c:3204
+#, fuzzy
+msgid "Select another media to restore from"
+msgstr "Wat is u muistoestel?"
-#: ../../help.pm:1 ../../interactive.pm:1
-#, c-format
-msgid "Advanced"
-msgstr "Gevorderd"
+#: ../../standalone/drakbackup_.c:3206
+#, fuzzy
+msgid "Other Media"
+msgstr "Ander"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer"
-msgstr "Oordra"
+#: ../../standalone/drakbackup_.c:3211
+#, fuzzy
+msgid "Restore system"
+msgstr "Installeer stelsel"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Swedish)"
-msgstr "Dvorak (Sweeds)"
+#: ../../standalone/drakbackup_.c:3212
+#, fuzzy
+msgid "Restore Users"
+msgstr "Herstel vanaf ler"
-#: ../../lang.pm:1
-#, c-format
-msgid "Afghanistan"
-msgstr "Afghanistan"
+#: ../../standalone/drakbackup_.c:3213
+#, fuzzy
+msgid "Restore Other"
+msgstr "Herstel vanaf ler"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "More Options"
-msgstr "Meer Opsies"
+#: ../../standalone/drakbackup_.c:3215
+#, fuzzy
+msgid "select path to restore (instead of /)"
+msgstr "Wat is u muistoestel?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Delete Hard Drive tar files after backup to other media."
+#: ../../standalone/drakbackup_.c:3219
+msgid "Do new backup before restore (only for incremental backups.)"
msgstr ""
-"Verwyder .tar-lers vanaf hardeskyf, sodra 'n rugsteun na\n"
-"ander media voltooi."
-#: ../../lang.pm:1
-#, c-format
-msgid "Burundi"
-msgstr "Burundi"
+#: ../../standalone/drakbackup_.c:3221
+msgid "Remove user directories before restore."
+msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:3334
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."
+"Restore Selected\n"
+"Catalog Entry"
msgstr ""
-"cron is die standaard UNIX program om gebruikergespesifiseerde programme\n"
-"op periodies geskeduleerde tye te loop. vixie cron voeg addisionele\n"
-" funksionaliteit\n"
-"by die standaard UNIX cron, insluitende beter sekuriteit en 'n kragtiger\n"
-"konfigurasie."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add Client -->"
-msgstr "Voeg Klint By -->"
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read carefully!"
-msgstr "Lees noukeurig!"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "RW"
-msgstr "RW"
-
-#: ../../standalone/drakxtv:1
-#, c-format
+#: ../../standalone/drakbackup_.c:3344
+#, fuzzy
msgid ""
-"Please,\n"
-"type in your tv norm and country"
-msgstr "Voorsien asseblief u TV-norm en land"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Port"
-msgstr "Poort"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "No (experts only)"
-msgstr "Nee (slegs kenners)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No kernel selected!"
-msgstr "Geen kernel is gekies!"
-
-#. -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:1
-#, c-format
-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."
+"Restore Selected\n"
+"Files"
+msgstr "Verwyder tou"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-GID"
-msgstr "Set-GID"
+#: ../../standalone/drakbackup_.c:3361
+#, fuzzy
+msgid ""
+"Change\n"
+"Restore Path"
+msgstr "Herstel vanaf ler"
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakbackup_.c:3427
#, c-format
-msgid "The encryption keys do not match"
-msgstr "Die enkripsie-sleutels stem nie ooreen nie."
+msgid "Backup files not found at %s."
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:3440
#, c-format
msgid ""
-"For a multisession CD, only the first session will erase the cdrw. Otherwise "
-"the cdrw is erased before each backup."
+"Insert the CD with volume label %s\n"
+" in the CD drive under mount point /mnt/cdrom"
msgstr ""
-"Slegs die eerste sessie sal die cdrw uitvee, INDIEN u 'n multi-sessie CD "
-"gebruik. Andersins sal die cdrw uitgevee word met elke rugsteun."
-#: ../../printer/main.pm:1
-#, c-format
-msgid "USB printer"
-msgstr "USB-drukker"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right \"Windows\" key"
-msgstr "Regter \"Windows\"-sleutel"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check empty password in /etc/shadow."
-msgstr "indien ja gekies is, kyk vir le wagwoorde in '/etc/shadow'"
+#: ../../standalone/drakbackup_.c:3440
+#, fuzzy
+msgid "Restore From CD"
+msgstr "Herstel vanaf floppie"
-#: ../../help.pm:1
+#: ../../standalone/drakbackup_.c:3442
#, c-format
-msgid ""
-"Before continuing, you should carefully read the terms of the license. It\n"
-"covers the entire Mandrake Linux distribution. If you do agree with all the\n"
-"terms in it, check the \"%s\" box. If not, simply turn off your computer."
+msgid "Not the correct CD label. Disk is labelled %s."
msgstr ""
-"Voordat u voortgaan, lees asb die lisensieterme noukeurig deur. Dit dek\n"
-"die hele Mandrake Linux distribusie. Indien u saamstem met al die\n"
-"voorwaardes daarin, merk die \"%s\" boksie. Indien nie, skakel maar\n"
-"net u rekenaar af!"
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3452
#, c-format
msgid ""
-"Here is a list of the available printing options for the current printer:\n"
-"\n"
+"Insert the tape with volume label %s\n"
+" in the tape drive device %s"
msgstr ""
-"Hier is 'n lys beskikbare drukkeropsies vir die huidige drukker:\n"
-"\n"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolutions"
-msgstr "Resolusies"
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"drakfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Mandrake Linux machine.\n"
-"For a powerful and dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"drakfirewall konfigurasie\n"
-"\n"
-"Hiermee stel u 'n persoonlike vuurmuur op vir die Mandrake Linux\n"
-"rekenaar. Indien u 'n kragtige en toegewyde vuurmuur verlang, kyk\n"
-"dan gerus na die 'MandrakeSecurity Firewall'."
+#: ../../standalone/drakbackup_.c:3452
+#, fuzzy
+msgid "Restore From Tape"
+msgstr "Reddingspartisietabel"
-#: ../../diskdrake/smbnfs_gtk.pm:1
+#: ../../standalone/drakbackup_.c:3454
#, c-format
-msgid ""
-"Please enter your username, password and domain name to access this host."
+msgid "Not the correct tape label. Tape is labelled %s."
msgstr ""
-"Voorsien asseblief u gebruikernaam, wagwoord en domeinnaam vir toegang tot\n"
-" hierdie rekenaar."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Remove selected host"
-msgstr "Verwyder gekose rekenaar"
+#: ../../standalone/drakbackup_.c:3474
+#, fuzzy
+msgid "Restore Via Network"
+msgstr "Herstel vanaf ler"
-#: ../../network/netconnect.pm:1
+#: ../../standalone/drakbackup_.c:3474
#, c-format
-msgid "Network configuration"
-msgstr "Netwerkkonfigurasie"
+msgid "Restore Via Network Protocol: %s"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _jaz drives"
-msgstr "/Outospeur _jaz-aandrywers"
+#
+#: ../../standalone/drakbackup_.c:3475
+#, fuzzy
+msgid "Host Name"
+msgstr "Rekenaarnaam"
-#: ../../any.pm:1
-#, c-format
-msgid "No sharing"
-msgstr "Geen deling"
+#: ../../standalone/drakbackup_.c:3476
+msgid "Host Path or Module"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule down one level"
-msgstr "Skuif gekose rel een vlak af"
+#: ../../standalone/drakbackup_.c:3483
+#, fuzzy
+msgid "Password required"
+msgstr "Wagwoord"
-#: ../../common.pm:1
-#, c-format
-msgid "TB"
-msgstr "TB"
+#: ../../standalone/drakbackup_.c:3489
+#, fuzzy
+msgid "Username required"
+msgstr "Gebruikerskode"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "FATAL"
-msgstr "DODELIK"
+#: ../../standalone/drakbackup_.c:3492
+#, fuzzy
+msgid "Hostname required"
+msgstr "Bedienernaam:"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh the list"
-msgstr "Herlaai die lys"
+#: ../../standalone/drakbackup_.c:3497
+msgid "Path or Module required"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Per client %s:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tdrakTermServ will help create these files."
-msgstr ""
-" - Per client %s:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tdrakTermServ will help create these files."
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"The DHCP server will allow other computer to boot using PXE in the given "
-"range of address.\n"
-"\n"
-"The network address is %s using a netmask of %s.\n"
-"\n"
+#: ../../standalone/drakbackup_.c:3510
+msgid "Files Restored..."
msgstr ""
-"Die DHCP-bediener sal ander rekenaars wat PXE gebruik toelaat om uit 'n "
-"sekere reeks adresse neem.\n"
-"\n"
-"Die netwerkadres is %s en masker is %s.\n"
-"\n"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Delete"
-msgstr "Uitwis"
+#: ../../standalone/drakbackup_.c:3513
+#, fuzzy
+msgid "Restore Failed..."
+msgstr "Herstel vanaf ler"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"I can setup your computer to automatically start the graphical interface "
-"(XFree) upon booting.\n"
-"Would you like XFree to start when you reboot?"
+#: ../../standalone/drakbackup_.c:3751
+msgid "Restore all backups"
msgstr ""
-"Ek kan u rekenaar so opstel om X outomaties te laai.\n"
-"Wil u X begin met 'n herlaai?"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Build the disk"
-msgstr "Bou die skyf"
+#
+#: ../../standalone/drakbackup_.c:3760
+#, fuzzy
+msgid "Custom Restore"
+msgstr "Aangepaste"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnect %s"
-msgstr "Diskonnekteer %s"
+#: ../../standalone/drakbackup_.c:3804
+msgid "CD in place - continue."
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Status:"
-msgstr "Status:"
+#: ../../standalone/drakbackup_.c:3810
+msgid "Browse to new restore repository."
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "HTTP proxy"
-msgstr "HTTP instaanbediener"
+#: ../../standalone/drakbackup_.c:3813
+#, fuzzy
+msgid "Restore From Catalog"
+msgstr "Reddingspartisietabel"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "SSH Server"
-msgstr "SSH-bediener"
+#: ../../standalone/drakbackup_.c:3841
+#, fuzzy
+msgid "Restore Progress"
+msgstr "Herstel vanaf ler"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by rsync.\n"
-msgstr "\t-Netwerk deur 'rsync'.\n"
+#: ../../standalone/drakbackup_.c:3883 ../../standalone/drakbackup_.c:3916
+#: ../../standalone/drakbackup_.c:3942 ../../standalone/drakbackup_.c:3969
+#: ../../standalone/drakbackup_.c:3996 ../../standalone/drakbackup_.c:4056
+#: ../../standalone/drakbackup_.c:4083 ../../standalone/drakbackup_.c:4113
+#: ../../standalone/drakbackup_.c:4139
+#, fuzzy
+msgid "Previous"
+msgstr "<- Vorige"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol"
-msgstr "Europese protokol"
+#: ../../standalone/drakbackup_.c:3887 ../../standalone/drakbackup_.c:3973
+#: ../../standalone/logdrake_.c:203
+#, fuzzy
+msgid "Save"
+msgstr "Toestand"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on server \"%s\""
-msgstr ", drukker \"%s\" op bediener \"%s\""
+#: ../../standalone/drakbackup_.c:3946
+#, fuzzy
+msgid "Build Backup"
+msgstr "Korrupte rugsteunler"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Note that currently all 'net' media also use the hard drive."
-msgstr ""
-"Neen kennis dat alle 'net' media tans ook van die hardeskyf gebruik maak."
-
-#: ../../fsedit.pm:1 ../../install_steps_interactive.pm:1
-#: ../../install_steps.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakboot:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/draksplash:1 ../../../move/move.pm:1
-#, c-format
-msgid "Error"
-msgstr "Fout"
+#: ../../standalone/drakbackup_.c:4000 ../../standalone/drakbackup_.c:4544
+#, fuzzy
+msgid "Restore"
+msgstr "Herstel vanaf ler"
-#: ../../any.pm:1
-#, c-format
-msgid "allow \"su\""
-msgstr "laat \"su\" toe"
+#: ../../standalone/drakbackup_.c:4189
+msgid ""
+"Error during sendmail.\n"
+" Your report mail was not sent.\n"
+" Please configure sendmail"
+msgstr ""
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Australia"
-msgstr "Australi"
+#: ../../standalone/drakbackup_.c:4195
+msgid ""
+"Error during sending file via FTP.\n"
+" Please correct your FTP configuration."
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "please wait during ttmkfdir..."
-msgstr "wag asseblief gedurende 'ttmkfdir'..."
+#
+#: ../../standalone/drakbackup_.c:4209
+#, fuzzy
+msgid ""
+"The following packages need to be installed:\n"
+" @list_of_rpm_to_install"
+msgstr "Die volgende pakkette gaan installeer word"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure only card \"%s\"%s"
-msgstr "Konfigureer net die \"%s\"%s kaart"
+#: ../../standalone/drakbackup_.c:4232
+#, fuzzy
+msgid "Please select data to restore..."
+msgstr "Kies asb. 'n taal om te gebruik."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Level"
-msgstr "Vlak"
+#: ../../standalone/drakbackup_.c:4267
+#, fuzzy
+msgid "Please select media for backup..."
+msgstr "Kies asb. 'n taal om te gebruik."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Change the printing system"
-msgstr "Verander die drukkerstelsel"
+#: ../../standalone/drakbackup_.c:4275
+#, fuzzy
+msgid "Please select data to backup..."
+msgstr "Kies asb. 'n taal om te gebruik."
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4293 ../../standalone/drakbackup_.c:4304
msgid ""
-"Your system supports multiple head configuration.\n"
-"What do you want to do?"
+"No configuration file found \n"
+"please click Wizard or Advanced."
msgstr ""
-"U stelsel onderstuen multikop-konfigurasie.\n"
-"Wat wil u doen?"
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "mount failed: "
-msgstr "heg het gefaal: "
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure services"
-msgstr "Konfigureer dienste"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Broadcast Address:"
-msgstr "Uitsaai-adres:"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"the GNU/Linux kernel needs to run a calculation loop at boot time to "
-"initialize a timer counter. Its result is stored as bogomips as a way to "
-"\"benchmark\" the cpu."
+#: ../../standalone/drakbackup_.c:4308
+msgid "Under Devel ... please wait."
msgstr ""
-"die 'GNU/Linux kernel' moet 'n berekening-lus gedurende die selflaai loop om "
-"'n tyds-teller af te skop. Die resultaat word gestoor as 'n 'bogomips', 'n "
-"manier om te toets hou kragtig die CPU is."
-#: ../../any.pm:1
-#, c-format
-msgid "Image"
-msgstr "Beeld"
+#: ../../standalone/drakbackup_.c:4382
+#, fuzzy
+msgid "Backup system files"
+msgstr "Korrupte rugsteunler"
-#: ../../services.pm:1
-#, c-format
-msgid "Remote Administration"
-msgstr "Eksterne-administrasie"
+#: ../../standalone/drakbackup_.c:4384
+#, fuzzy
+msgid "Backup user files"
+msgstr "Korrupte rugsteunler"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
-msgstr "Kon nie drukker \"%s\" by Star Office/OpenOffice.org/GIMP voeg nie."
+#: ../../standalone/drakbackup_.c:4386
+#, fuzzy
+msgid "Backup other files"
+msgstr "Korrupte rugsteunler"
-#: ../../modules.pm:1
-#, c-format
-msgid ""
-"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
+#: ../../standalone/drakbackup_.c:4388 ../../standalone/drakbackup_.c:4421
+msgid "Total Progress"
msgstr ""
-"PCMCIA-ondersteuning bestaan nie meer vir 2.2 kernels nie. Gebruik "
-"asseblief\n"
-" 'n 2.4 kernel."
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Selected All"
-msgstr "Kies almal"
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "CUPS - Common Unix Printing System"
-msgstr "CUPS - Generiese Unixdrukstelsel (Common Unix Printing System) "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Webmin Service"
-msgstr "Webmin-diens"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "device"
-msgstr "toestel"
+#: ../../standalone/drakbackup_.c:4412
+msgid "files sending by FTP"
+msgstr ""
-#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save to:"
-msgstr "Voorsien die lergids om na te stoor:"
+#: ../../standalone/drakbackup_.c:4416
+#, fuzzy
+msgid "Sending files..."
+msgstr "Stoor in ler"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Greece"
-msgstr "Griekeland"
+#: ../../standalone/drakbackup_.c:4500
+#, fuzzy
+msgid "Backup Now from configuration file"
+msgstr "Netwerkkonfigurasie"
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "All"
-msgstr "Alles"
+#: ../../standalone/drakbackup_.c:4505
+#, fuzzy
+msgid "View Backup Configuration."
+msgstr "Netwerkkonfigurasie"
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printing system (spooler) do you want to use?"
-msgstr "Watter drukkerstelsel (spoelprogram) verlang u?"
+#: ../../standalone/drakbackup_.c:4526
+#, fuzzy
+msgid "Wizard Configuration"
+msgstr "Konfigurasie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "July"
-msgstr "Julie"
+#: ../../standalone/drakbackup_.c:4531
+#, fuzzy
+msgid "Advanced Configuration"
+msgstr "Sluit konfigurasie af"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Prints into %s"
-msgstr "Druk na %s"
+#: ../../standalone/drakbackup_.c:4536
+#, fuzzy
+msgid "Backup Now"
+msgstr "Stel lerstelsels op"
-#: ../../install_steps_interactive.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid "An error occurred"
-msgstr "'n Fout het voorgekom"
+#: ../../standalone/drakbackup_.c:4576
+msgid "Drakbackup"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4624
msgid ""
-"This package must be upgraded.\n"
-"Are you sure you want to deselect it?"
+"options description:\n"
+"\n"
+" In this step Drakbackup allow you to change:\n"
+"\n"
+" - The compression mode:\n"
+" \n"
+" If you check bzip2 compression, you will compress\n"
+" your data better than gzip (about 2-10 %).\n"
+" This option is not checked by default because\n"
+" this compression mode needs more time (about 1000% more).\n"
+" \n"
+" - The update mode:\n"
+"\n"
+" This option will update your backup, but this\n"
+" option is not really useful because you need to\n"
+" decompress your backup before you can update it.\n"
+" \n"
+" - the .backupignore mode:\n"
+"\n"
+" Like with cvs, Drakbackup will ignore all references\n"
+" included in .backupignore files in each directories.\n"
+" ex: \n"
+" /*> cat .backupignore*/\n"
+" *.o\n"
+" *~\n"
+" ...\n"
+" \n"
+"\n"
msgstr ""
-"Hierdie pakket moet opgradeer word\n"
-"Is u seker u wil dit deselekteer?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (Typewriter-layout)"
-msgstr "Tamil (Tikmasjien-uitleg)"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Use password to authenticate users."
-msgstr "Geldigverklaring deur wagwoorde"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4654
msgid ""
-"Allow/Forbid the list of users on the system on display managers (kdm and "
-"gdm)."
+"\n"
+" Some errors during sendmail are caused by \n"
+" a bad configuration of postfix. To solve it you have to\n"
+" set myhostname or mydomain in /etc/postfix/main.cf\n"
+"\n"
msgstr ""
-"Laat toe/Verbied die vertoon van gebruikername op vertoonbestuurders\n"
-" (display managers, bv. kdm en gdm)."
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "manual"
-msgstr "selfdoen"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Filename text to search for:"
-msgstr "Lernaam se teks om voor te soek:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model, driver"
-msgstr "Drukkervervaardiger, model, drywer"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4662
msgid ""
-"There is no medium or it is write-protected for device %s.\n"
-"Please insert one."
+"options description:\n"
+"\n"
+" - Backup system files:\n"
+" \n"
+"\tThis option allows you to backup your /etc directory,\n"
+"\twhich contains all configuration files. Please be\n"
+"\tcareful during the restore step to not overwrite:\n"
+"\t\t/etc/passwd \n"
+"\t\t/etc/group \n"
+"\t\t/etc/fstab\n"
+"\n"
+" - Backup User files: \n"
+"\n"
+"\tThis option allows you select all users that you want \n"
+"\tto backup.\n"
+"\tTo preserve disk space, it is recommended that you \n"
+"\tdo not include web browser's cache.\n"
+"\n"
+" - Backup Other files: \n"
+"\n"
+"\tThis option allows you to add more data to save.\n"
+"\tWith the other backup it's not possible at the \n"
+"\tmoment to select incremental backup.\t\t\n"
+" \n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption for backup. This option allows you \n"
+"\tto backup all your data the first time, and \n"
+"\tonly the changed afterward.\n"
+"\tThen you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
msgstr ""
-"Daar is geen medium in toestel %s nie.\n"
-"Sit asb. een in."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4701
msgid ""
-"Directory %s already contains data\n"
-"(%s)"
+"restore description:\n"
+" \n"
+"Only the most recent date will be used, because with incremental \n"
+"backups it is necessary to restore one by one each older backup.\n"
+"\n"
+"So if you don't want to restore a user please unselect all their\n"
+"check boxes.\n"
+"\n"
+"Otherwise, you are able to select only one of these.\n"
+"\n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption to use. This option allows you to \n"
+"\tbackup all of your data the first time, and \n"
+"\tonly the changed data after.\n"
+"\tSo you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
+"\n"
msgstr ""
-"Lergids %s bevat alreeds data\n"
-"(%s)"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on NetWare server"
-msgstr "Eksterne Netware-drukker"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Give the ram size in MB"
-msgstr "Gee die geheuegrootte in MB"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Friday"
-msgstr "Vrydag"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet complete."
-msgstr "Ontkoppeling van Internet voltooi."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Real name"
-msgstr "Regte naam"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "done"
-msgstr "klaar"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please uncheck or remove it on next time."
-msgstr "Moet nie kies nie, of verwyder dit die volgende keer."
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Higher"
-msgstr "Hor"
+#: ../../standalone/drakbackup_.c:4727
+msgid ""
+" Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s\\@epita."
+"fr>"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the partitions you want to format"
-msgstr "Kies die partisies om te formatteer"
+#: ../../standalone/drakbackup_.c:4729
+msgid ""
+" updates 2002 MandrakeSoft by Stew Benedict <sbenedict\\@mandrakesoft.com>"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4732
msgid ""
-"No TV Card has been detected on your machine. Please verify that a Linux-"
-"supported Video/TV Card is correctly plugged in.\n"
+"Description:\n"
"\n"
+" Drakbackup is used to backup your system.\n"
+" During the configuration you can select: \n"
+"\t- System files, \n"
+"\t- Users files, \n"
+"\t- Other files.\n"
+"\tor All your system ... and Other (like Windows Partitions)\n"
"\n"
-"You can visit our hardware database at:\n"
+" Drakbackup allows you to backup your system on:\n"
+"\t- Harddrive.\n"
+"\t- NFS.\n"
+"\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
+"\t- FTP.\n"
+"\t- Rsync.\n"
+"\t- Webdav.\n"
+"\t- Tape.\n"
"\n"
+" Drakbackup allows you to restore your system to\n"
+" a user selected directory.\n"
"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-msgstr ""
-"Geen TV-kaart is op u rekenaar bespeur nie. Maak tog seker dat dit 'n Linux-"
-"ondersteunde Video/TV-kaart is. Kyk of dit reg ingeprop is.\n"
+" Per default all backup will be stored on your\n"
+" /var/lib/drakbackup directory\n"
"\n"
+" Configuration file:\n"
+"\t/etc/drakconf/drakbackup/drakbakup.conf\n"
"\n"
-"U kan ons hardeware-databasis besoek te:\n"
+"Restore Step:\n"
+" \n"
+" During the restore step, DrakBackup will remove \n"
+" your original directory and verify that all \n"
+" backup files are not corrupted. It is recommended \n"
+" you do a last backup before restoring.\n"
"\n"
"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't find %s on %s"
-msgstr "Kan nie %s op %s vind nie"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Japanese 106 keys"
-msgstr "Japanees 106 sleutels"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Could not install the packages needed to share your scanner(s)."
-msgstr "Kon nie die pakkete installeer om u skandeerder(s) te deel nie."
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "This will take a few minutes."
-msgstr "Hierdie sal 'n paar minute duur."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Burkina Faso"
-msgstr "Burkina Faso"
+#: ../../standalone/drakbackup_.c:4769
+msgid ""
+"options description:\n"
+"\n"
+"Please be careful when you are using ftp backup, because only \n"
+"backups that are already built are sent to the server.\n"
+"So at the moment, you need to build the backup on your hard \n"
+"drive before sending it to the server.\n"
+"\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "June"
-msgstr "Junie"
+#: ../../standalone/drakbackup_.c:4778
+msgid ""
+"\n"
+"Restore Backup Problems:\n"
+"\n"
+"During the restore step, Drakbackup will verify all your\n"
+"backup files before restoring them.\n"
+"Before the restore, Drakbackup will remove \n"
+"your original directory, and you will loose all your \n"
+"data. It is important to be careful and not modify the \n"
+"backup data files by hand.\n"
+msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/drakboot_.c:50
#, c-format
-msgid "Use scanners on remote computers"
-msgstr "Gebruik skandeerders op eksterne rekenaars"
+msgid "Installation of %s failed. The following error occured:"
+msgstr "%s installasie het gefaal a.g.v. hierdie fout: "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Delete selected rule"
-msgstr "Verwyder gekose rel."
+#: ../../standalone/drakbug_.c:45
+msgid "Mandrake Bug Report Tool"
+msgstr ""
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Accessing printers on remote CUPS servers"
-msgstr "Verkry toegang na eksterne CUPS-bedieners"
+#: ../../standalone/drakbug_.c:50
+msgid "First Time Wizard"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Insert a floppy in %s"
-msgstr "Plaas 'n disket in %s"
+#: ../../standalone/drakbug_.c:51
+msgid "Synchronization tool"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Maldives"
-msgstr "Maldives"
+#: ../../standalone/drakbug_.c:52 ../../standalone/drakbug_.c:66
+#: ../../standalone/drakbug_.c:133 ../../standalone/drakbug_.c:135
+#: ../../standalone/drakbug_.c:139
+#, fuzzy
+msgid "Standalone Tools"
+msgstr "Konsole hulpprogramme"
-#: ../../any.pm:1
-#, c-format
-msgid "compact"
-msgstr "kompak"
+#: ../../standalone/drakbug_.c:53
+msgid "HardDrake"
+msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "1 minute"
-msgstr "1 minuut"
+#: ../../standalone/drakbug_.c:54
+#, fuzzy
+msgid "Mandrake Online"
+msgstr "Beheersentrum"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: fat"
-msgstr "tipe: fat"
+#: ../../standalone/drakbug_.c:55
+#, fuzzy
+msgid "Menudrake"
+msgstr "verpligtend"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "on channel %d id %d\n"
-msgstr "op bus %d id %d\n"
+#: ../../standalone/drakbug_.c:56
+#, fuzzy
+msgid "Msec"
+msgstr "Muis"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device"
-msgstr ", multi-funksionele-toestel"
+#
+#: ../../standalone/drakbug_.c:57
+#, fuzzy
+msgid "Remote Control"
+msgstr "Eksterne drukker"
-#: ../../lang.pm:1
-#, c-format
-msgid "Laos"
-msgstr "Laos"
+#: ../../standalone/drakbug_.c:58
+#, fuzzy
+msgid "Software Manager"
+msgstr "Drukkernaam:"
-#: ../advertising/04-configuration.pl:1
-#, c-format
-msgid ""
-"Mandrake Linux 9.2 provides you with the Mandrake Control Center, a powerful "
-"tool to fully adapt your computer to the use you make of it. Configure and "
-"customize elements such as the security level, the peripherals (screen, "
-"mouse, keyboard...), the Internet connection and much more!"
+#: ../../standalone/drakbug_.c:59
+msgid "Urpmi"
msgstr ""
-"Mandrake Linux 9.2 bied met trots aan u: die 'Mandrake Control Center'.'n "
-"kragtige nutsprogram wat help met die opstel van u rekenaar. Konfigureer en "
-"verstel dinge soos die sekuriteitsvlak, hardeware ( skerm, muis en "
-"sleutelbord ens.), die Internetkonneksie en vele meer!"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Activate/Disable ethernet cards promiscuity check."
-msgstr "Aktiveer/Versper ethernetkaarte 'promoscuity' toets."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to resize (or not enough space left)"
-msgstr "Daar is geen FAT partisies om te verander nie(nie genoeg spasie nie)"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Up"
-msgstr "Op"
+#: ../../standalone/drakbug_.c:60
+msgid "Windows Migration tool"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Firewall"
-msgstr "Vuurmuur"
+#: ../../standalone/drakbug_.c:61
+#, fuzzy
+msgid "Userdrake"
+msgstr "Drukker"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Area:"
-msgstr "Area:"
+#: ../../standalone/drakbug_.c:62
+#, fuzzy
+msgid "Configuration Wizards"
+msgstr "Netwerkkonfigurasie-assistent"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "(E)IDE/ATA controllers"
-msgstr "(E)IDE/ATA beheerders"
+#: ../../standalone/drakbug_.c:75
+#, fuzzy
+msgid "Application:"
+msgstr "Magtiging"
-#: ../../fs.pm:1
-#, c-format
-msgid "All I/O to the file system should be done synchronously."
-msgstr "Alle I/O na die lerstelsel moet sinkronies wees."
+#: ../../standalone/drakbug_.c:76
+#, fuzzy
+msgid "Package: "
+msgstr "Pakketkeuse"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Server"
-msgstr "Drukkerbediener"
+#: ../../standalone/drakbug_.c:77
+msgid "Kernel:"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Custom configuration"
-msgstr "Aanpas-konfigurasie"
+#: ../../standalone/drakbug_.c:78
+#, fuzzy
+msgid "Release: "
+msgstr "Wag asb."
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakbug_.c:93
msgid ""
-"Please indicate where the installation image will be available.\n"
"\n"
-"If you do not have an existing directory, please copy the CD or DVD "
-"contents.\n"
-"\n"
-msgstr ""
-"Dui asseblief aan waar die installasie-beeld beksikbaar sal wees.\n"
"\n"
-"Indien u nie 'n bestaande lergids het nie, kopieer die CD of DVD se "
-"inhoud.\n"
+"To submit a bug report, click on the button report.\n"
+"This will open a web browser window on https://drakbug.mandrakesoft.com\n"
+" where you'll find a form to fill in.The information displayed above will "
+"be \n"
+"transferred to that server\n"
"\n"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Pierre and Miquelon"
-msgstr "Saint Pierre en Miquelon"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "September"
-msgstr "September"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "saving Bootsplash theme..."
-msgstr "stoor selflaai-splatskerm-tema..."
+#: ../../standalone/drakbug_.c:112
+#, fuzzy
+msgid "Report"
+msgstr "Poort"
-#: ../../lang.pm:1
-#, c-format
-msgid "Portugal"
-msgstr "Portugal"
+#: ../../standalone/drakbug_.c:148
+#, fuzzy
+msgid "Not installed"
+msgstr "Verlaay installasie"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have another one?"
-msgstr "Beskik u oor nog?"
+#: ../../standalone/drakbug_.c:160
+#, fuzzy
+msgid "Package not installed"
+msgstr "Verlaay installasie"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", printing to %s"
-msgstr ", drukwerk gestuur na %s"
+#: ../../standalone/drakbug_.c:173
+msgid "connecting to Bugzilla wizard ..."
+msgstr ""
-#
-#: ../../network/network.pm:1
-#, c-format
-msgid "Assign host name from DHCP address"
-msgstr "Ken rekenaarnaam vanaf DHCP-adres toe."
+#: ../../standalone/drakbug_.c:180
+#, fuzzy
+msgid "No browser available! Please install one"
+msgstr "U kan ander tale selekteer wat na installasie beskikbaar sal wees."
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakconnect_.c:75
#, c-format
-msgid "Toggle to normal mode"
-msgstr "Skakel oor na normale gebruiksvlak"
+msgid "Network configuration (%d adapters)"
+msgstr "Netwerkkonfigurasie (%d toestelle)"
-#: ../../mouse.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Generic"
-msgstr "Generies"
+#: ../../standalone/drakconnect_.c:83 ../../standalone/drakconnect_.c:591
+msgid "Profile: "
+msgstr "Profiel:"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Cylinder %d to %d\n"
-msgstr "Silinder %d na silinder %d\n"
+#: ../../standalone/drakconnect_.c:91
+msgid "Del profile..."
+msgstr "Vee profiel uit..."
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "YOUR TEXT HERE"
-msgstr "U TEKS HIER"
+#: ../../standalone/drakconnect_.c:97
+msgid "Profile to delete:"
+msgstr "Profiel om uit te vee..."
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../standalone/drakconnect_.c:125
msgid "New profile..."
msgstr "Nuwe profiel..."
-#: ../../modules/interactive.pm:1 ../../standalone/draksec:1
-#, c-format
-msgid "NONE"
-msgstr "GEEN"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which disk do you want to move it to?"
-msgstr "Na watter skyf wil u skuif?"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Display logo on Console"
-msgstr "Vertoon logo op Konsole"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Windows Domain"
-msgstr "Windows-domein"
+#: ../../standalone/drakconnect_.c:131
+msgid ""
+"Name of the profile to create (the new profile is created as a copy of the "
+"current one) :"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Saami (norwegian)"
-msgstr "Saami (noorweegs)"
+#: ../../standalone/drakconnect_.c:157
+msgid "Hostname: "
+msgstr "Bedienernaam:"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Interface %s (on network %s)"
-msgstr "Koppelvlak %s (op netwerk %s)"
+#: ../../standalone/drakconnect_.c:164
+msgid "Internet access"
+msgstr "Internettoegang"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "INFO"
-msgstr "INLIGTING"
+#: ../../standalone/drakconnect_.c:177
+msgid "Type:"
+msgstr "Tipe:"
-#: ../../lang.pm:1
-#, c-format
-msgid "Wallis and Futuna"
-msgstr "Wallis en Futuna"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Gateway:"
+msgstr "Portaal:"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Need to create /etc/dhcpd.conf first!"
-msgstr "Moet eers '/etc/dhcpd.conf skep!"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Interface:"
+msgstr "Koppelvlak:"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Is FPU present"
-msgstr "Is FPU teenwoordig"
+#: ../../standalone/drakconnect_.c:191
+msgid "Status:"
+msgstr "Status:"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"No additional information\n"
-"about this service, sorry."
+#: ../../standalone/drakconnect_.c:198 ../../standalone/net_monitor_.c:145
+msgid "Wait please"
msgstr ""
-"Jammer, geen ekstra inligting\n"
-"rakende hierdie diens nie."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "There are no scanners found which are available on your system.\n"
-msgstr "Daar is geen bekikbare skandeerders te vinde nie.\n"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Single NIC -->"
-msgstr "Bou Enkel NIC -->"
-#: ../../lang.pm:1
-#, c-format
-msgid "Marshall Islands"
-msgstr "Marshall Eilande"
+#: ../../standalone/drakconnect_.c:216
+msgid "Configure Internet Access..."
+msgstr "Konfigureer internettoegang..."
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Is this correct?"
-msgstr "Is dit korrek?"
+#: ../../standalone/drakconnect_.c:223 ../../standalone/drakconnect_.c:445
+msgid "LAN configuration"
+msgstr "LAN-konfigurasie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Windows (FAT32)"
-msgstr "Windows (FAT32)"
+#: ../../standalone/drakconnect_.c:228
+msgid "Driver"
+msgstr "Drywer"
-#: ../../steps.pm:1
-#, c-format
-msgid "Root password"
-msgstr "Kies 'root' se wagwoord"
+#: ../../standalone/drakconnect_.c:228
+msgid "Interface"
+msgstr "Koppelvlak"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build All Kernels -->"
-msgstr "Bou Alle Kernels -->"
+#: ../../standalone/drakconnect_.c:228
+msgid "Protocol"
+msgstr "Protokol"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVDRAM device"
-msgstr "DVDRAM-toestel"
+#: ../../standalone/drakconnect_.c:228
+msgid "State"
+msgstr "Toestand"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report unowned files."
-msgstr "indie ja gekies is, verklik lers sonder eienaars."
+#: ../../standalone/drakconnect_.c:240
+msgid "Configure Local Area Network..."
+msgstr "Stel plaaslike netwerk op..."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid ""
-"You don't have a swap partition.\n"
-"\n"
-"Continue anyway?"
+#: ../../standalone/drakconnect_.c:252
+msgid "Click here to launch the wizard ->"
msgstr ""
-"U het nie 'n ruilpartisie nie\n"
-"\n"
-"Wil u steeds voortgaan?"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Version: "
-msgstr "Weergawe: "
+#: ../../standalone/drakconnect_.c:253
+msgid "Wizard..."
+msgstr "Assistent..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Server IP missing!"
-msgstr "Bediener se IPontbreek!"
+#: ../../standalone/drakconnect_.c:279
+msgid "Apply"
+msgstr "Pas toe"
-#: ../../lang.pm:1
-#, c-format
-msgid "Suriname"
-msgstr "Suriname"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Connected"
+msgstr "Gekonnekteer"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Use a floppy"
-msgstr "Gebruik 'n disket"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Not connected"
+msgstr "Nie gekonnekteer nieKabelkonneksie"
-#: ../../any.pm:1
-#, c-format
-msgid "Enable ACPI"
-msgstr "Bekragtig ACPI"
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Connect..."
+msgstr "Konnekteer..."
-#: ../../fs.pm:1
-#, c-format
-msgid "Give write access to ordinary users"
-msgstr "Verleen skryf-toegang aan gewone gebruikers"
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Disconnect..."
+msgstr "Diskonnekteer..."
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Environment"
-msgstr "Grafiese Omgewing"
+#: ../../standalone/drakconnect_.c:400
+msgid ""
+"Warning, another Internet connection has been detected, maybe using your "
+"network"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Gibraltar"
-msgstr "Gibraltar"
+#: ../../standalone/drakconnect_.c:427
+msgid ""
+"You don't have any configured interface.\n"
+"Configure them first by clicking on 'Configure'"
+msgstr ""
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Do nothing"
-msgstr "Moet niks doen"
+#: ../../standalone/drakconnect_.c:449
+msgid "LAN Configuration"
+msgstr "LAN konfigurasie"
-#: ../../standalone/drakTermServ:1
+#: ../../standalone/drakconnect_.c:460
#, c-format
-msgid "Delete Client"
-msgstr "Verwyder Klint"
+msgid "Adapter %s: %s"
+msgstr "Toestel %s: %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem type: "
-msgstr "Lerstelsel-tipe: "
+#: ../../standalone/drakconnect_.c:466
+msgid "Boot Protocol"
+msgstr "Herlaaiprotokol"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting network..."
-msgstr "Konneksie word begin..."
+#: ../../standalone/drakconnect_.c:467
+msgid "Started on boot"
+msgstr "Gelaai tydens herlaaityd"
-#: ../../lang.pm:1
-#, c-format
-msgid "Vietnam"
-msgstr "Vitnam"
+#: ../../standalone/drakconnect_.c:468
+msgid "DHCP client"
+msgstr "DHCP-klint"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/_Fields description"
-msgstr "/_Velde se beskrywing"
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+msgid "activate now"
+msgstr "Aktiveer nou dadelik"
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid "Optimize your security by using Mandrake Linux"
-msgstr "Geniet optimale sekuriteit deur Mandrake Linux te gebruik."
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+msgid "deactivate now"
+msgstr "deaktiveer nou dadelik"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../standalone/drakconnect_.c:499
msgid ""
-"\n"
-"\n"
-" Thanks:\n"
-"\t- LTSP Project http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
-"\n"
+"This interface has not been configured yet.\n"
+"Launch the configuration wizard in the main window"
msgstr ""
-"\n"
-"\n"
-" Dankie:\n"
-"\t- LTSP Project http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
-"\n"
-
-#: ../../install_steps_gtk.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../interactive/gtk.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakconnect:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Help"
-msgstr "Hulp"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check if the network devices are in promiscuous mode"
-msgstr "kyk of netwerk-toestelle in 'promiscuous'-modus is"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Your personal phone number"
-msgstr "U persoonlike telefoonnommer"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which size do you want to keep for Windows on"
-msgstr "Watter grootte wil u vir Windows behou?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:556
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
+"You don't have any internet connection.\n"
+"Create one first by clicking on 'Configure'"
msgstr ""
-"Toetsbladsy(e) is na die drukker gestuur.\n"
-"Dit mag 'n tydjie neem voordat drukwerk begin.\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Username required"
-msgstr "Benodig gebruikerskode"
+#: ../../standalone/drakconnect_.c:580
+msgid "Internet connection configuration"
+msgstr "Internetkonneksiekonfigurasie"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Device"
-msgstr "Toestel"
+#: ../../standalone/drakconnect_.c:584
+msgid "Internet Connection Configuration"
+msgstr "Internetkonneksiekonfigurasie"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Depending on the default language you chose in Section , DrakX will\n"
-"automatically select a particular type of keyboard configuration. However,\n"
-"you may not have a keyboard that corresponds exactly to your language: for\n"
-"example, if you are an English speaking Swiss person, you may have a Swiss\n"
-"keyboard. Or if you speak English but are located in Quebec, you may find\n"
-"yourself in the same situation where your native language and keyboard do\n"
-"not match. In either case, this installation step will allow you to select\n"
-"an appropriate keyboard from a list.\n"
-"\n"
-"Click on the \"%s\" button to be presented with the complete list of\n"
-"supported keyboards.\n"
-"\n"
-"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
-"dialog will allow you to choose the key binding that will switch the\n"
-"keyboard between the Latin and non-Latin layouts."
-msgstr ""
-"Afhangende van die verstek taal wat u kies, sal DrakX outomaties 'n\n"
-"betrokke steutelbord-konfigurasie kies. U mag moontlik 'n sleutelbord\n"
-"besit wat nie 100-persent ooreenstem met u taal nie: byvoorbeeld as u 'n\n"
-"Ingelse Sweed is, sal u dalk 'n sweedse sleutelbord besit. Hier is nog\n"
-"een: gestel jy is 'n Afrikaner wat werk in Quebec, u sal dalk met 'n ander\n"
-"tipe sleutelbord moet klaarkom as wat u gewoond is. Wel, hier kan u die\n"
-"gepaste sleutelbord uit 'n lys kies.\n"
-"\n"
-"Klik op die \"%s\"-knoppie vir 'n lys van al die ondersteunde sleutelborde\n"
-"\n"
-"Indien u 'n nie-Latynse sleutelbord kies, sal die volgende dialoog u "
-"toelaat\n"
-"om sleutel-bindings tussen Latynse en nie-Latynse uitlegte te kies."
+#: ../../standalone/drakconnect_.c:593 ../../standalone/net_monitor_.c:94
+msgid "Connection type: "
+msgstr "Konneksietipe:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) drukkeropsies"
+#: ../../standalone/drakconnect_.c:599
+msgid "Parameters"
+msgstr "Parameters"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "URI: %s"
-msgstr "URI: %s"
+#: ../../standalone/drakconnect_.c:618
+msgid "Gateway"
+msgstr "Portaal"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Valid user list changed, rewriting config file."
-msgstr "Geldige lys van gebruikers het verander, herskryf konfigurasie-ler."
+#: ../../standalone/drakconnect_.c:627
+msgid "Ethernet Card"
+msgstr "Ethernetkaart"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "mkinitrd optional arguments"
-msgstr "mkinitrd opsionele parameters"
+#: ../../standalone/drakconnect_.c:628
+msgid "DHCP Client"
+msgstr "DHCP-Klint"
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid ""
-"Surf the Web with Mozilla or Konqueror, read your mail with Evolution or "
-"Kmail, create your documents with OpenOffice.org."
-msgstr ""
-"Rits op die Internet met Mozilla of Konqueror, vir e-pos is daar Evolution "
-"of Kmail, skep u dokumente met OpenOffice.org."
+#: ../../standalone/drakfloppy_.c:39
+msgid "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
+msgstr "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
-#
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Protocol for the rest of the world"
-msgstr "Protokol vir die res van die wreld"
+#: ../../standalone/drakfloppy_.c:40
+msgid "Module name"
+msgstr "Modulenaam"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print test pages"
-msgstr "Druk toetsbladsy(e)"
+#: ../../standalone/drakfloppy_.c:40
+msgid "Size"
+msgstr "Grootte"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Activate now"
-msgstr "Aktiveer nou dadelik"
+#: ../../standalone/drakfloppy_.c:45
+msgid "drakfloppy"
+msgstr "drakfloppy"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "64 MB or more"
-msgstr "64MB of meer"
+#: ../../standalone/drakfloppy_.c:63
+msgid "boot disk creation"
+msgstr "herlaaiskyfskepping"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Please select the test pages you want to print.\n"
-"Note: the photo test page can take a rather long time to get printed and on "
-"laser printers with too low memory it can even not come out. In most cases "
-"it is enough to print the standard test page."
-msgstr ""
-"Kies asseblief watter toetsbladsye u wil druk.\n"
-"Aandag: die foto-toetsbladsy kan 'n tydjie duur om uit te druk, op "
-"laserdrukkers met te min geheue, mag dit moontlik nie eens werk nie. Dit is "
-"gewoonlik net nodig vir 'n normale toetsbladsy."
+#: ../../standalone/drakfloppy_.c:71 ../../standalone/drakfloppy_.c:84
+msgid "default"
+msgstr "verstek"
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/drakfloppy_.c:87
#, c-format
-msgid "Please select the device where your %s is attached"
-msgstr "Kies assblief die toestel waaraan u %s gekoppel is"
+msgid "DrakFloppy Error: %s"
+msgstr "DrakFloppy Fout: %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Not formatted\n"
-msgstr "Nie geformatter\n"
+#: ../../standalone/drakfloppy_.c:98
+msgid "kernel version"
+msgstr "bedryfstelselkernweergawe"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Periodic Checks"
-msgstr "Periodiese Toetse"
+#: ../../standalone/drakfloppy_.c:104
+msgid "General"
+msgstr "Algemeen"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "PXE Server Configuration"
-msgstr "Konfigureer PXE-bediener"
+#: ../../standalone/drakfloppy_.c:109
+msgid "Expert Area"
+msgstr "Kundige area"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup the system files before:"
-msgstr "Maak 'n rugsteun van die stelsel-lers alvorens:"
+#: ../../standalone/drakfloppy_.c:112
+msgid "mkinitrd optional arguments"
+msgstr "mkinitrd opsionele parameters"
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"This is the standard security recommended for a computer that will be used "
-"to connect to the Internet as a client."
-msgstr ""
-"Hierdie is die standaard sekuriteitsvlak wat aanbeveel word vir rekenaars\n"
-"wat aan die internet as 'n klint konnekteer."
+#: ../../standalone/drakfloppy_.c:113
+msgid "Add a module"
+msgstr "Voeg module by"
-#: ../../any.pm:1
-#, c-format
-msgid "First floppy drive"
-msgstr "Eerste disketaandrywer"
+#: ../../standalone/drakfloppy_.c:133
+msgid "force"
+msgstr "forseer"
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Quit"
-msgstr "/Ler/_Verlaat"
+#: ../../standalone/drakfloppy_.c:134
+msgid "if needed"
+msgstr "indien nodig"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak"
-msgstr "Dvorak"
+#: ../../standalone/drakfloppy_.c:135
+msgid "omit scsi modules"
+msgstr "laat SCSI-modules weg"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose the new size"
-msgstr "Kies die nuwe grootte"
+#: ../../standalone/drakfloppy_.c:136
+msgid "omit raid modules"
+msgstr "laat RAID-modules weg"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Media class"
-msgstr "Media-klas"
+#: ../../standalone/drakfloppy_.c:172
+msgid "Remove a module"
+msgstr "Verwyder module"
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "You need to log out and back in again for changes to take effect"
-msgstr "U moet afteken en weer inteken alvorens veranderinge bekragtig word"
+#: ../../standalone/drakfloppy_.c:194
+msgid "Output"
+msgstr "Uitset"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not known by this version of Scannerdrake."
-msgstr "Die %s is onbekend aan hierdie weergawe van Scannerdrake."
+#: ../../standalone/drakfloppy_.c:206
+msgid "Build the disk"
+msgstr "Bou die skyf"
-#: ../../lang.pm:1
+#: ../../standalone/drakfloppy_.c:336
#, c-format
-msgid "Faroe Islands"
-msgstr "Faroe Eilande"
+msgid "Be sure a media is present for the device %s"
+msgstr "versker asb dat die regte mediatipe vir toestel %s beskikbaar is"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Restart XFS"
-msgstr "Herbegin XFS"
+#: ../../standalone/drakfloppy_.c:341
+#, fuzzy, c-format
+msgid ""
+"There is no medium or it is write-protected for device %s.\n"
+"Please insert one."
+msgstr ""
+"Daar is geen medium for toestel %s nie.\n"
+"Sit asb. een in."
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakfloppy_.c:344
#, c-format
-msgid "Add host/network"
-msgstr "Voeg rekenaar/netwerk by"
+msgid "Unable to fork: %s"
+msgstr "Kon nie vurk nie: %s"
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/drakfloppy_.c:349
#, c-format
-msgid "Scannerdrake will not be started now."
-msgstr "Scannerdrake sal nie nou afgeskop word nie."
+msgid ""
+"Unable to close properly mkbootdisk: \n"
+" %s \n"
+" %s"
+msgstr ""
+"Kon nie mkbootdisk ordentelik afsluit nie:\n"
+" %s \n"
+" %s"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Model name"
-msgstr "Naam van model"
+#: ../../standalone/drakfont_.c:213
+msgid "Search installed fonts"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Albania"
-msgstr "Albani"
+#: ../../standalone/drakfont_.c:215
+msgid "Unselect fonts installed"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "British Indian Ocean Territory"
-msgstr "British Indian Ocean Territory"
+#: ../../standalone/drakfont_.c:239
+msgid "parse all fonts"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Normal Mode"
-msgstr "Normale modus"
+#: ../../standalone/drakfont_.c:242
+#, fuzzy
+msgid "no fonts found"
+msgstr "%s is nie gevind nie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD-R/DVD-R in drive!"
-msgstr "Geen CD-R/DVD-R in aandrywer!"
+#: ../../standalone/drakfont_.c:251 ../../standalone/drakfont_.c:305
+#: ../../standalone/drakfont_.c:361 ../../standalone/drakfont_.c:454
+#: ../../standalone/drakfont_.c:466 ../../standalone/drakfont_.c:493
+#: ../../standalone/drakfont_.c:514 ../../standalone/drakfont_.c:532
+#, fuzzy
+msgid "done"
+msgstr "Klaar"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer connection type"
-msgstr "Drukkerkonneksie-tipe"
+#: ../../standalone/drakfont_.c:257
+msgid "could not find any font in your mounted partitions"
+msgstr ""
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "No network adapter on your system!"
-msgstr "Daar is geen netwerkkaart op hierdie rekenaar nie!"
+#: ../../standalone/drakfont_.c:303
+msgid "Reselect correct fonts"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network %s"
-msgstr "Netwerk %s"
+#: ../../standalone/drakfont_.c:307
+msgid "could not find any font.\n"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Malayalam"
-msgstr "Malabaars"
+#: ../../standalone/drakfont_.c:331
+msgid "Search fonts in installed list"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s out of range!"
-msgstr "Opsie %s is buite bereik!"
+#: ../../standalone/drakfont_.c:359
+#, fuzzy
+msgid "Fonts copy"
+msgstr "Formatteer floppie"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connect %s"
-msgstr "Konnekteer %s"
+#: ../../standalone/drakfont_.c:363
+#, fuzzy
+msgid "True Type fonts installation"
+msgstr "Berei installasie voor"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting CUPS..."
-msgstr "Herbegin CUPS..."
+#: ../../standalone/drakfont_.c:371
+msgid "please wait during ttmkfdir..."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning/Photo Cards on \"%s\""
-msgstr "Drukwerk/Skandering/Foto-kaarte op \"%s\""
+#: ../../standalone/drakfont_.c:377
+msgid "True Type install done"
+msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Continue without USB key"
+#: ../../standalone/drakfont_.c:386 ../../standalone/drakfont_.c:413
+msgid "Fonts conversion"
msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Duplikaat hegpunt %s"
+#: ../../standalone/drakfont_.c:392 ../../standalone/drakfont_.c:417
+#: ../../standalone/drakfont_.c:450
+msgid "type1inst building"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run chkrootkit checks."
-msgstr "indien ja gekies is, doen 'chkrootkit'-toetse."
+#: ../../standalone/drakfont_.c:403 ../../standalone/drakfont_.c:427
+msgid "Ghostscript referencing"
+msgstr ""
-#
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Connection Configuration"
-msgstr "Konneksiekonfigurasie"
+#: ../../standalone/drakfont_.c:437
+msgid "ttf fonts conversion"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|Generic"
-msgstr "Onbekend|Generies"
+#: ../../standalone/drakfont_.c:444
+msgid "pfm fonts conversion"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"At the time you are installing Mandrake Linux, it is likely that some\n"
-"packages have been updated since the initial release. Bugs may have been\n"
-"fixed, security issues resolved. To allow you to benefit from these\n"
-"updates, you are now able to download them from the Internet. Check \"%s\"\n"
-"if you have a working Internet connection, or \"%s\" if you prefer to\n"
-"install updated packages later.\n"
-"\n"
-"Choosing \"%s\" will display a list of places from which updates can be\n"
-"retrieved. You should choose one nearer to you. A package-selection tree\n"
-"will appear: review the selection, and press \"%s\" to retrieve and install\n"
-"the selected package(s), or \"%s\" to abort."
-msgstr ""
-"Teen die tyd wat u Mandrake Linux installeer, is dit hoogs waarskynlik\n"
-"dat van die pakkette intussen opgedateer is. Foute kom reggestel wees,\n"
-"of sekuriteits probleme is dalk opgelos. Om voordeel hieruit te put, kan\n"
-"u hulle nou van die Internet aflaai. Merk \"%s\" indien u 'n werkende\n"
-"Internetkonneksie het, of \"%s\" sou u dit eers later wil doen\n"
-"\n"
-"Deur \"%s\" te kies, kan u 'n lys plekke sien waarvanaf hierdie\n"
-" pakkette gelaai kan word. Kies 'n geskikte een. 'n Boom-struktuur\n"
-" met die nuwwe pakkette in sal verskyn. As u gelukkig is met almal,kan u\n"
-" \"%s\" klik om hulle af te laai en te installeer, of \"%s\" om te ontsnap."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Myanmar"
-msgstr "Myanmar"
+#: ../../standalone/drakfont_.c:456
+msgid "Suppress temporary Files"
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../Xconfig/main.pm:1
-#: ../../diskdrake/dav.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/draksplash:1 ../../standalone/harddrake2:1
-#: ../../standalone/logdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Quit"
-msgstr "Verlaat"
+#: ../../standalone/drakfont_.c:459
+#, fuzzy
+msgid "Restart XFS"
+msgstr "Laai dit"
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Auto allocate"
-msgstr "Outo-allokeer"
+#: ../../standalone/drakfont_.c:512 ../../standalone/drakfont_.c:526
+msgid "Suppress Fonts Files"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Check bad blocks?"
-msgstr "Toets vir foutiewe areas?"
+#: ../../standalone/drakfont_.c:528
+#, fuzzy
+msgid "xfs restart"
+msgstr "beperk"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Other MultiMedia devices"
-msgstr "Ander MultiMedia-toestelle"
+#: ../../standalone/drakfont_.c:536 ../../standalone/drakfont_.c:902
+msgid ""
+"Before installing any fonts, be sure that you have the right to use and "
+"install them on your system.\n"
+"\n"
+"-You can install the fonts using the normal way. In rare cases, bogus fonts "
+"may hang up your X Server."
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "burner"
-msgstr "skrywer"
+#: ../../standalone/drakfont_.c:621
+#, fuzzy
+msgid "Fonts Importation"
+msgstr "Formateer partisies"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Bug Description/System Information"
-msgstr "Gogga-beskrywing/Stelsel se inligting"
+#: ../../standalone/drakfont_.c:650
+msgid "Get Windows Fonts"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (Default is all users)"
-msgstr " (Verstek is alle gebruikers)"
+#: ../../standalone/drakfont_.c:658
+#, fuzzy
+msgid "Uninstall Fonts"
+msgstr "Denstallasie van RPMs"
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "No remote machines"
-msgstr "Geen eksterne masjiene"
+#: ../../standalone/drakfont_.c:669
+#, fuzzy
+msgid "Advanced Options"
+msgstr "Sluit konfigurasie af"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:677
+#, fuzzy
+msgid "Font List"
+msgstr "Hegpunt"
+
+#: ../../standalone/drakfont_.c:737
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
+" Copyright (C) 2001-2002 by MandrakeSoft \n"
+"\tDUPONT Sebastien sdupont\\@mandrakesoft.com\n"
"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
+" This program is free software; you can redistribute it and/or modify\n"
+" it under the terms of the GNU General Public License as published by\n"
+" the Free Software Foundation; either version 2, or (at your option)\n"
+" any later version.\n"
"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected.\n"
+" This program is distributed in the hope that it will be useful,\n"
+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+" GNU General Public License for more details.\n"
"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
+" You should have received a copy of the GNU General Public License\n"
+" along with this program; if not, write to the Free Software\n"
+" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
"\n"
-"Welkom by die 'Printer Setup Wizard'\n"
+" Thanks:\n"
+" - pfm2afm: \n"
+"\t by Ken Borgendale:\n"
+"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
+" - type1inst:\n"
+"\t by James Macnicol: \n"
+"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
+" - ttf2pt1: \n"
+"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
+" Convert ttf font files to afm and pfb fonts\n"
"\n"
"\n"
-"Hierdie wysgeer sal u help op u drukker(s), wat aan u rekenaar gekoppel is, "
-"op te stel, \n"
-"Maak tog seker die drukker(s) is reg gekoppel en aangeskakel, sodat "
-"outospeur sy werk reg kan doen. \n"
-"Klik op \"Volgende\" sodra u gereed is, of op \"Kanselleer\" indien u nou "
-"enige drukkers wil opstel nie."
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication NIS"
-msgstr "NIS-magtiging"
+#: ../../standalone/drakfont_.c:793
+msgid ""
+"drakfont Future Overview\n"
+" - Fonts import:\n"
+" pfb ( Adobe Type 1 binary )\n"
+" pfa ( Adobe Type 1 ASCII )\n"
+" ttf ( True-Type )\n"
+" pcf.gz\n"
+" Speedo\n"
+" and Bitmap (PCF, BDF, and SNF)\n"
+" - Features\n"
+" - Install fonts from any directory\n"
+" - Get windows fonts on any vfat partitions\n"
+" - Get fonts on any partitions.\n"
+" - UN-installation of any fonts (even if not installed "
+"through drakfont)\n"
+" - Support\n"
+" - Xfs\n"
+" - ghostscript & printer\n"
+" - Staroffice & printer\n"
+" - abiword\n"
+"\t - netscape\n"
+" - Koffice, Gnumeric, ... studying\n"
+" - all fonts supported by printer\n"
+" - anti-aliases by RENDER in Xfree86 .... \n"
+"\t\t\t\tsupported by KDE.\n"
+"\t\t\t\twill be supported by gnome 1.2.\n"
+"Visual Interface:\n"
+" Window interface:\n"
+" - Fontselectiondialog widget\n"
+" - Command buttons under Fontselectiondialog (like the actual "
+"frontend).\n"
+" Commands buttons:\n"
+" - import from windows partition.\n"
+" import from all fat32 partitions and look for winnt/windows/"
+"font\n"
+" and import all (delete doublon) but don't import if already "
+"exist.\n"
+" - import from directory\n"
+" look for if it exist before for each font and not delete the "
+"original.\n"
+" (replace all, no, none)\n"
+" expert options:\n"
+" ask the directory, and look for if it exist before\n"
+" if it exist ask: (replace all, no, none)\n"
+" - uninstall with list per font type\n"
+" Expert additional switch\n"
+" - option support: ghostscript, Staroffice, etc...\n"
+" check-button. (by default all check)\n"
+" - Printer Application Fonts Support...\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../../standalone/drakfont_.c:862
+#, fuzzy
+msgid "Choose the applications that will support the fonts:"
+msgstr "Kies die partisies om te formatteer"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
+#: ../../standalone/drakfont_.c:870
+msgid "Ghostscript"
msgstr ""
-"Opsie ``Beperk instruksielynopsies'' kan nie sonder wagwoord gebruikword nie"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Internetkonneksie-deling is ontsper"
+#: ../../standalone/drakfont_.c:877
+#, fuzzy
+msgid "StarOffice"
+msgstr "Kantoor"
-#: ../../lang.pm:1
-#, c-format
-msgid "United Arab Emirates"
-msgstr "Verenigde Arabiese Emirate"
+#: ../../standalone/drakfont_.c:884
+#, fuzzy
+msgid "Abiword"
+msgstr "Aborteer"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_0"
-msgstr "Kaart IO_0"
+#: ../../standalone/drakfont_.c:891
+#, fuzzy
+msgid "Generic Printers"
+msgstr "Drukker"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Local Config"
-msgstr "Versper Plaaslike Konfigurasie"
+#: ../../standalone/drakfont_.c:958
+msgid "Select the font file or directory and click on 'Add'"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Thailand"
-msgstr "Thailand"
+#: ../../standalone/drakfont_.c:1005
+#, fuzzy
+msgid "Install List"
+msgstr "Installeer stelsel"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_1"
-msgstr "Kaart IO_1"
+#: ../../standalone/drakfont_.c:1048
+msgid "click here if you are sure."
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Search:"
-msgstr "Soek:"
+#: ../../standalone/drakfont_.c:1055
+msgid "here if no."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kazakhstan"
-msgstr "Kazakhstan"
+#: ../../standalone/drakfont_.c:1112
+msgid "Unselected All"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Routers:"
-msgstr "Roteerders:"
+#: ../../standalone/drakfont_.c:1116
+#, fuzzy
+msgid "Selected All"
+msgstr "Selekteer lOer"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Write"
-msgstr "Skryf"
+#
+#: ../../standalone/drakfont_.c:1120
+#, fuzzy
+msgid "Remove List"
+msgstr "Verwyder drukker"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Display all available remote CUPS printers"
-msgstr "Vertoon alle beskikbare eksterne CUPS-drukkers"
+#: ../../standalone/drakfont_.c:1142 ../../standalone/drakfont_.c:1175
+#, fuzzy
+msgid "Initials tests"
+msgstr "Beginboodskap"
-#: ../../install_steps_newt.pm:1
-#, c-format
-msgid "Mandrake Linux Installation %s"
-msgstr "Mandrake Linux Installasie %s"
+#: ../../standalone/drakfont_.c:1145
+#, fuzzy
+msgid "Copy fonts on your system"
+msgstr "Daar is geen netwerkkaart op hierdie rekenaar nie!"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Unknown driver"
-msgstr "Onbekende drywer"
+#: ../../standalone/drakfont_.c:1149
+msgid "Install & convert Fonts"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Thai keyboard"
-msgstr "Thai sleutelbord"
+#: ../../standalone/drakfont_.c:1153
+#, fuzzy
+msgid "Post Install"
+msgstr "Installasie"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bouvet Island"
-msgstr "Bouvet Eiland"
+#: ../../standalone/drakfont_.c:1178
+#, fuzzy
+msgid "Remove fonts on your system"
+msgstr "Daar is geen netwerkkaart op hierdie rekenaar nie!"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Dialup options"
-msgstr "Opbelopsies"
+#: ../../standalone/drakfont_.c:1182
+#, fuzzy
+msgid "Post Uninstall"
+msgstr "Verlaay installasie"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If no port is given, 631 will be taken as default."
-msgstr "Indien geen poort verskaf word nie, sal 631 gebruik word."
+#: ../../standalone/drakgw_.c:42 ../../standalone/drakgw_.c:182
+msgid "Internet Connection Sharing"
+msgstr "Internetkonneksiedeling"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Per client system configuration files:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tclients can customize files such as /etc/modules.conf, /etc/"
-"sysconfig/mouse, \n"
-" \t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root "
-"login to the terminal \n"
-" server on each client machine that has this feature enabled. Local "
-"configuration can be\n"
-" turned back off, retaining the configuration files, once the client "
-"machine is configured."
-msgstr ""
-" - Per client system configuration files:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tclients can customize files such as /etc/modules.conf, /etc/"
-"sysconfig/mouse, \n"
-" \t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root "
-"login to the terminal \n"
-" server on each client machine that has this feature enabled. Local "
-"configuration can be\n"
-" turned back off, retaining the configuration files, once the client "
-"machine is configured."
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, 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."
+#: ../../standalone/drakgw_.c:114
+msgid "Sorry, we support only 2.4 kernels."
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."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish"
-msgstr "Pools"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Online"
-msgstr "Mandrake Online"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by webdav.\n"
-msgstr "\t -Netwerk deur webdav.\n"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on a parallel port"
-msgstr ", multi-funksionele toestel op 'n parallelle poort"
+#: ../../standalone/drakgw_.c:125
+msgid "Internet Connection Sharing currently enabled"
+msgstr "Internetkonneksiedeling is ontsper"
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakgw_.c:126
msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently enabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-"Geen ethernetkaart is op die stelsel gevind nie. Gebruik asb. die "
-"hardewarekonfigurasieprogram."
-
-#
-#: ../../network/network.pm:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Netmask"
-msgstr "Netmasker"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "No hard drives found"
-msgstr "Geen hardeskywe kon gevind word nie"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "2 buttons"
-msgstr "2 knoppies"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series"
-msgstr "Logitech CC Reeks (seriaal)"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind is your ISDN connection?"
-msgstr "Watter tipe is u ISDN-konneksie?"
+"Die opstelling van die Internetkonnkesiedeling is alreeds gedoen.\n"
+"Dis tans aktief.\n"
+"\n"
+"Wat wil u doen?"
-#: ../../any.pm:1
-#, c-format
-msgid "Label"
-msgstr "Naam"
+#: ../../standalone/drakgw_.c:130
+msgid "disable"
+msgstr "deaktiveer"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save on floppy"
-msgstr "Stoor op floppie"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "dismiss"
+msgstr "ignoreer/sien oor"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check open ports"
-msgstr "Toets oop poorte"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "reconfigure"
+msgstr "herkonfigureer"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Edit selected printer"
-msgstr "Redigeer gekose drukker"
+#: ../../standalone/drakgw_.c:133
+msgid "Disabling servers..."
+msgstr "Bedieners word gedeaktiveer..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection"
-msgstr "Outobespeuring van drukkers"
+#: ../../standalone/drakgw_.c:142
+msgid "Internet connection sharing is now disabled."
+msgstr "Internetkonneksiedeling is gedeaktiveer"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which of the following is your ISDN card?"
-msgstr "Wat is u ISDN-kaart?"
+#: ../../standalone/drakgw_.c:149
+msgid "Internet Connection Sharing currently disabled"
+msgstr "Internetkonneksiedeling is gesper"
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:150
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."
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently disabled.\n"
+"\n"
+"What would you like to do?"
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."
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Msec"
-msgstr "Msec"
+"Die opstelling van die Internetkonnkesiedeling is alreeds gedoen.\n"
+"Dis tans gedeaktiveer.\n"
+"\n"
+"Wat wil u doen?"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid ""
-"=> Notice, a label changed:\n"
-"%s"
-msgstr ""
-"=> Aandag, 'n etiket het verander:\n"
-"%s"
+#: ../../standalone/drakgw_.c:154
+msgid "enable"
+msgstr "Aktiveer"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Number of capture buffers:"
-msgstr "Aantal ontvang-buffers:"
+#: ../../standalone/drakgw_.c:161
+msgid "Enabling servers..."
+msgstr "Bedieneers word aktiveer..."
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (0/1, default `%s') "
-msgstr "U keuse? (0/1, verstek %s) "
+#: ../../standalone/drakgw_.c:166
+msgid "Internet connection sharing is now enabled."
+msgstr "Internetkonneksiedeling is geaktiveer"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:183
+#, fuzzy
msgid ""
-"Any partitions that have been newly defined must be formatted for use\n"
-"(formatting means creating a file system).\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to\n"
-"erase any data they contain. If you wish to do that, please select those\n"
-"partitions as well.\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing\n"
-"partitions. You must reformat the partitions containing the operating\n"
-"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
-"reformat partitions containing data that you wish to keep (typically\n"
-"\"/home\").\n"
-"\n"
-"Please be careful when selecting partitions. After formatting, all data on\n"
-"the selected partitions will be deleted and you will not be able to recover\n"
-"it.\n"
-"\n"
-"Click on \"%s\" when you are ready to format partitions.\n"
+"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"
-"Click on \"%s\" if you want to choose another partition for your new\n"
-"Mandrake Linux operating system installation.\n"
+"Make sure you have configured your Network/Internet access using drakconnect "
+"before going any further.\n"
"\n"
-"Click on \"%s\" if you wish to select partitions that will be checked for\n"
-"bad blocks on the disk."
+"Note: you need a dedicated Network Adapter to set up a Local Area Network "
+"(LAN)."
msgstr ""
-"Enige nuwe partisies moet eers geformatteer word voor dit bruikbaar is.\n"
-"(formatteer beteken dan ons 'n lerstelsel daarop skep).\n"
-"\n"
-"O kan ook nou kies om bestaande partisies te formatteer om so al die\n"
-"data daarop uit te vee. Kies asseblief dan nou daardie partisies ook.\n"
-"\n"
-"Let tog daarop dat die NIE nodig is om al die vooraf-bestaande partisies\n"
-"weer te formatteer NIE. U moet wel partisies wat die bedryfstelsel bevat\n"
-"formatteer. ( byvoorbeeld \"/\",\"/usr\" of \"/var\") maar partisies met\n"
-"data wat u graag wil hou ( bv \"/home\") moet nie geformatteer word\n"
-"nie.\n"
-"\n"
-"Wees daarom versigtig wanneer u die partisies kies. Na dit geformatteer\n"
-"is, sal ALLE data daarop vernietig wees.\n"
+"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"
-"Klik op \"%s\" sodra u gereed is om te formatteer.\n"
-"\n"
-"Klik op \"%s\" indien u 'n ander partisie vir die installasie van u nuwe\n"
-"Madrake Linux bedryfstelsel wil kies\n"
-"\n"
-"Klik op \"%s\" indien u partisies wil kies wat dan ondersoek en\n"
-"getoets moet word."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "French"
-msgstr "Fraans"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTY)"
-msgstr "Tseggies (QWERTY)"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Allow X Window connections"
-msgstr "Laat X Window konneksies toe"
+"Wil u internetdeling opstel?\n"
-#: ../../standalone/service_harddrake:1
+#: ../../standalone/drakgw_.c:211
#, c-format
-msgid "Hardware probing in progress"
-msgstr "Aftas vir hardeware aan die gang"
+msgid "Interface %s (using module %s)"
+msgstr "Koppelvlak %s (met module %s)"
-#: ../../network/shorewall.pm:1 ../../standalone/drakgw:1
+#: ../../standalone/drakgw_.c:212
#, c-format
-msgid "Net Device"
-msgstr "Netwerk Toestel"
+msgid "Interface %s"
+msgstr "Koppelvlak %s"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Summary"
-msgstr "Opsomming"
+#: ../../standalone/drakgw_.c:220
+msgid "No network adapter on your system!"
+msgstr "Daar is geen netwerkkaart op hierdie rekenaar nie!"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:221
msgid ""
-" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
-"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
+"No ethernet network adapter has been detected on your system. Please run the "
+"hardware configuration tool."
msgstr ""
-" (Parallele Poorte: /dev/lp0, /dev/lp1, ..., gelykstaande aan LPT1:, "
-"LPT2:, ..., 1ste USB-drukker: /dev/usb/lp0, 2de USB-drukker: /dev/usb/"
-"lp1, ...)."
-
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Next"
-msgstr "Volgende"
-
-#: ../../bootloader.pm:1
-#, c-format
-msgid "You can't install the bootloader on a %s partition\n"
-msgstr "U kan nie die herlaaistelsel op 'n %s partisie installeer nie\n"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "CHAP"
-msgstr "CHAP"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Puerto Rico"
-msgstr "Puerto Rico"
+"Geen ethernetkaart is op die stelsel gevind nie. Gebruik asb. die "
+"hardewarekonfigurasieprogram."
-#: ../../network/network.pm:1
-#, c-format
-msgid "(bootp/dhcp/zeroconf)"
-msgstr "(bootp/dhcp/zeroconf)"
+#: ../../standalone/drakgw_.c:227
+msgid "Network interface"
+msgstr "Netwerkkoppelvlak"
-#: ../../standalone/drakautoinst:1
+#
+#: ../../standalone/drakgw_.c:228
#, c-format
msgid ""
+"There is only one configured network adapter on your system:\n"
"\n"
-"Welcome.\n"
+"%s\n"
"\n"
-"The parameters of the auto-install are available in the sections on the left"
+"I am about to setup your Local Area Network with that adapter."
msgstr ""
+"Daar is net een konfigureerde netwerkkaart op u stelsel.\n"
"\n"
-"Welkom.\n"
+"%s\n"
"\n"
-"Die parameters van die outo-installasie is beskikbaar in die linker afdelings"
+"Ek gaan nou u LAN met daardie kaart opstel."
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone/drakgw_.c:235
msgid ""
-"package 'ImageMagick' is required to be able to complete configuration.\n"
-"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+"Please choose what network adapter will be connected to your Local Area "
+"Network."
msgstr ""
-"die pakket \"ImageMagick\" word benodig om die konfigurasie te voltooi.\n"
-"Klik op \"Ok\" om 'ImageMagick' te installeer of \"Kanselleer\" om te staak"
+"Kies asb. die netwerkkaart wat aan die loakel area netwerk gekoppel is."
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Telnet server"
-msgstr "X-bediener"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lituanies \"nommerry\" QWERTY"
+#: ../../standalone/drakgw_.c:261
+#, fuzzy
+msgid "Network interface already configured"
+msgstr "Monitor is nie opgestel nie"
-#: ../../install_any.pm:1
+#: ../../standalone/drakgw_.c:262
#, c-format
msgid ""
-"The following packages will be removed to allow upgrading your system: %s\n"
+"Warning, the network adapter (%s) is already configured.\n"
"\n"
+"Do you want an automatic re-configuration?\n"
"\n"
-"Do you really want to remove these packages?\n"
+"You can do it manually but you need to know what you're doing."
msgstr ""
-"Die volgende pakkette moet verwyder word om u rekenaar op te gradeer: %s\n"
-"\n"
-"\n"
-"Wil u werklik dat ons hulle verwyder?\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Anguilla"
-msgstr "Anguilla"
-
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Domain"
-msgstr "NIS-domein"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Antarctica"
-msgstr "Antartika"
+#: ../../standalone/drakgw_.c:267
+#, fuzzy
+msgid "Automatic reconfiguration"
+msgstr "Outomatiese CUPS konfigurasie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- User Files:\n"
+#: ../../standalone/drakgw_.c:267
+msgid "No (experts only)"
msgstr ""
-"\n"
-"- Gebruiker se Lers:\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount options"
-msgstr "Hegopsies:"
+#: ../../standalone/drakgw_.c:268
+#, fuzzy
+msgid "Show current interface configuration"
+msgstr "Verander drukkerkonfigurasie"
-#: ../../lang.pm:1
-#, c-format
-msgid "Jamaica"
-msgstr "Jamaika"
+#: ../../standalone/drakgw_.c:269
+#, fuzzy
+msgid "Current interface configuration"
+msgstr "Verander drukkerkonfigurasie"
-#: ../../services.pm:1
+#: ../../standalone/drakgw_.c:270
#, c-format
msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle or DVD players"
+"Current configuration of `%s':\n"
+"\n"
+"Network: %s\n"
+"IP address: %s\n"
+"IP attribution: %s\n"
+"Driver: %s"
msgstr ""
-"Ken rou-toestelle aan blok-toestelle toe ( soos bv. hardeskyf\n"
-"partisies), vir programme soos Oracle en DVD-spelers"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Please wait, preparing installation..."
-msgstr "Wag asb. installasie word voorberei"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTZ)"
-msgstr "Tseggies (QWERTZ)"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Track network card id (useful for laptops)"
-msgstr "Volg netwerkkart ID. (nuttig vir skootrekenaars)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The port number should be an integer!"
-msgstr "Die poortnommer moet 'n heeltal wees."
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "You must choose an image file first!"
-msgstr "U moet eers 'n beeldler kies!"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore from Hard Disk."
-msgstr "Herstel vanaf Hardeskyf"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to LVM"
-msgstr "Voeg by LVM"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server"
-msgstr "DNS-bediener"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Trinidad and Tobago"
-msgstr "Trinidad en Tobago"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "LPD and LPRng do not support IPP printers.\n"
-msgstr "LPD en LPRng ondersteun nie IPP-drukkers nie.\n"
-
-#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host name or IP."
-msgstr "Rekenaarnaam of IP"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Edit"
-msgstr "/_Redigeer"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "simple"
-msgstr "eenvoudig"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Clear all"
-msgstr "Verwyder almal"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No test pages"
-msgstr "Geen toetsbladsye"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Falkland Islands (Malvinas)"
-msgstr "Falkland Islands (Malvinas)"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "Toestel %s: %s"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Boot disk creation"
-msgstr "herlaaiskyf-skepping"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Monday"
-msgstr "Maandag"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Unknown model"
-msgstr "Onbekende model"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check files/directories writable by everybody."
+#: ../../standalone/drakgw_.c:283
+msgid ""
+"I can keep your current configuration and assume you already set up a DHCP "
+"server; in that case please verify I correctly read the Network that you use "
+"for your local network; I will not reconfigure it and I will not touch your "
+"DHCP server configuration.\n"
+"\n"
+"The default DNS entry is the Caching Nameserver configured on the firewall. "
+"You can replace that with your ISP DNS IP, for example.\n"
+"\t\t \n"
+"Else, I can reconfigure your interface and (re)configure a DHCP server for "
+"you.\n"
+"\n"
msgstr ""
-"indien ja gekies is, soek vir lers/lergidse waarna enige iemand kan skryf."
-
-#: ../../help.pm:1
-#, c-format
-msgid "authentication"
-msgstr "magtiging"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now"
-msgstr "Rugsteun Nou"
-
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_File"
-msgstr "/_Ler"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
-msgstr "Verwyder drukker uit Star Office/OpenOffice.org/GIMP"
+#: ../../standalone/drakgw_.c:290
+#, fuzzy
+msgid "Local Network adress"
+msgstr "geen netwerkkaart gevind nie"
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:294
msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
+"DHCP Server Configuration.\n"
+"\n"
+"Here you can select different options for the DHCP server configuration.\n"
+"If you don't know the meaning of an option, simply leave it as it is.\n"
+"\n"
msgstr ""
-"Loods die filter van pakkies vir die 'Linux 2.2 kernel'-reeks, om 'n\n"
-"vuurmuur op te stel, wat u rekenaar beskerm teen aanvalle oor die netwerk."
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Editable"
-msgstr "Redigeerbaar"
-#: ../../network/ethernet.pm:1
-#, c-format
-msgid "Which dhcp client do you want to use ? (default is dhcp-client)"
-msgstr "Watter DCHP-klint wil u gebruik? (Verstek is dhcp-client)"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (ISCII-layout)"
-msgstr "Tamil (ISCII-layout)"
+#: ../../standalone/drakgw_.c:300
+#, fuzzy
+msgid "(This) DHCP Server IP"
+msgstr "CUPS-bediener IP:"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mayotte"
-msgstr "Mayotte"
+#: ../../standalone/drakgw_.c:301
+#, fuzzy
+msgid "The DNS Server IP"
+msgstr "CUPS-bediener IP:"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set shell commands history size. A value of -1 means unlimited."
-msgstr "Stel instruksiedop se geskiedenisgrootte. '-1' beteken oneindig groot."
+#: ../../standalone/drakgw_.c:302
+#, fuzzy
+msgid "The internal domain name"
+msgstr "Nuwe drukkernaam"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "%d KB\n"
-msgstr "%d KB\n"
+#: ../../standalone/drakgw_.c:303
+msgid "The DHCP start range"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Creating auto install floppy..."
-msgstr "Outoinstallasieskyf word geskep."
+#: ../../standalone/drakgw_.c:304
+msgid "The DHCP end range"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for scanners ..."
-msgstr "Opsoek na skandeerders ..."
+#: ../../standalone/drakgw_.c:305
+msgid "The default lease (in seconds)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Russia"
-msgstr "Rusland"
+#: ../../standalone/drakgw_.c:306
+msgid "The maximum lease (in seconds)"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Partitioning"
-msgstr "Partisionering"
+#: ../../standalone/drakgw_.c:307
+msgid "Re-configure interface and DHCP server"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ethernet card(s) detected"
-msgstr "ethernet kaart(e) bespeur"
+#: ../../standalone/drakgw_.c:314
+msgid "The Local Network did not finish with `.0', bailing out."
+msgstr ""
-#: ../../standalone/logdrake:1
+#: ../../standalone/drakgw_.c:325
#, c-format
-msgid "Syslog"
-msgstr "Syslog"
+msgid "Potential LAN address conflict found in current config of %s!\n"
+msgstr "Moontlike LAN-adresbotsing gevind in konfigurasie %s!\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create catalog!"
-msgstr "Kan nie katalogus skep nie!"
+#: ../../standalone/drakgw_.c:335
+msgid "Configuring..."
+msgstr "Konfigurasie in aabou..."
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid ""
-"Complete your security setup with this very easy-to-use software which "
-"combines high performance components such as a firewall, a virtual private "
-"network (VPN) server and client, an intrusion detection system and a traffic "
-"manager."
+#: ../../standalone/drakgw_.c:336
+msgid "Configuring scripts, installing software, starting servers..."
msgstr ""
-"Voltooi die opstel van u sekuriteit deur hierdie maklik-om-te-gebruik "
-"sagteware te benut om dinge soos 'n vuurmuur, virtuele privaatnetwerke (VPN)-"
-"bediener en -klint, indringer-opsporing en verkeerbeheer op te stel."
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Not enough free space for auto-allocating"
-msgstr "Nie genoeg spasie vir outo-toekenning beskikbaar nie"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password"
-msgstr "Kies 'root' se wagwoord"
+"Skrips word konfigureer, sagterware installeer en bedieners afgeskop..."
-#: ../../security/l10n.pm:1
+#: ../../standalone/drakgw_.c:372
#, c-format
-msgid "Enable IP spoofing protection"
-msgstr "Ontsper flous-naamresolusie-beskerming"
+msgid "Problems installing package %s"
+msgstr "Probleme met Installasue van pakket %s"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:505
msgid ""
-"There's no free driver for your sound card (%s), but there's a proprietary "
-"driver at \"%s\"."
+"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 ""
-"Daar is geen gratis drywer vir u klankkaart (%s) nie, daar is wel 'n "
-"gepatenteerde een by \"%s\"."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Group :"
-msgstr "Groep :"
+#: ../../standalone/drakgw_.c:523
+msgid "The setup has already been done, but it's currently disabled."
+msgstr "Die opstelling van is alreeds gedoen, maar is tans gedeaktiveer."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "Alle data op partisie %s sal uitgewis word met die grootteverandering"
+#: ../../standalone/drakgw_.c:524
+msgid "The setup has already been done, and it's currently enabled."
+msgstr "Die opstelling is alreeds gedoen en is alreeds ook geaktiveer."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet connection configuration"
-msgstr "Internetkonneksie-konfigurasie"
+#: ../../standalone/drakgw_.c:525
+msgid "No Internet Connection Sharing has ever been configured."
+msgstr "Geen internetkonneksiedeling is al gekonfigureer nie."
-#: ../../security/help.pm:1
-#, c-format
-msgid "Add the name as an exception to the handling of password aging by msec."
-msgstr "Voeg die naam by as 'n uitsondering tot wagwoordveroudering deur msec."
+#: ../../standalone/drakgw_.c:531
+msgid "Internet connection sharing configuration"
+msgstr "Internetkonneksiedelingkonfigurasie"
-#: ../../network/isdn.pm:1
+#: ../../standalone/drakgw_.c:539
#, fuzzy, c-format
-msgid "USB"
-msgstr "LSB"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels"
-msgstr "Skandeer vir TV-kanale"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Kernel:"
-msgstr "Kernel:"
-
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_About..."
-msgstr "/_Aangaande..."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bengali"
-msgstr "Bengali"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Preference: "
-msgstr "Voorkeure: "
-
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services: %d activated for %d registered"
-msgstr "Dienste: %d ge-aktiveer vir %d geregistreer"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Create a bootdisk"
-msgstr "Maak 'n herlaaiskyf"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Solomon Islands"
-msgstr "Solomon Eilande"
-
-#
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please test your mouse:"
-msgstr "Toets asb. die muis:"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "(module %s)"
-msgstr "(module %s)"
+msgid ""
+"Welcome to the Internet Connection Sharing utility!\n"
+"\n"
+"%s\n"
+"\n"
+"Click on Configure to launch the setup wizard."
+msgstr "Internetkonneksiedeling"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Workgroup"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "group"
msgstr "Werkgroep:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP"
-msgstr "Drukkernaam of IP"
+#: ../../standalone/drakperm_.c:36
+msgid "path"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "down"
-msgstr "klaar"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "permissions"
+msgstr "partisie %s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Path or Module"
-msgstr "Roete na Rekenaar of Module"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "user"
+msgstr "Gebruikerskode"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer should contain only letters, numbers and the underscore"
+#: ../../standalone/drakperm_.c:43
+msgid "Up"
msgstr ""
-"Die drukkernaam mag slegs letters, syfers en die onderstreep-karakter bevat."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Show current interface configuration"
-msgstr "Wys die huidige koppelvlak-konfigurasie"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Add Printer"
-msgstr "Voeg Drukker By"
+#: ../../standalone/drakperm_.c:44
+#, fuzzy
+msgid "delete"
+msgstr "Uitwis"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"The argument specifies if clients are authorized to connect\n"
-"to the X server from the network on the tcp port 6000 or not."
+#: ../../standalone/drakperm_.c:45
+msgid "edit"
msgstr ""
-"Hierdie argument spesifiseer indien klinte gemagtig is om aan die\n"
-"X-bediener te koppel via die netwerk (tcp poort 6000) of nie."
-#: ../../help.pm:1
-#, c-format
-msgid "Development"
-msgstr "Ontwikkeling"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Done"
+#: ../../standalone/drakperm_.c:46
+#, fuzzy
+msgid "Down"
msgstr "Klaar"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Web Server"
-msgstr "Web-bediener"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Chile"
-msgstr "Chili"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tDo not include System Files\n"
-msgstr "\tMoet nie stelsel-lers insluit nie\n"
+#: ../../standalone/drakperm_.c:47
+#, fuzzy
+msgid "add a rule"
+msgstr "Voeg module by"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The inkjet printer drivers provided by Lexmark only support local printers, "
-"no printers on remote machines or print server boxes. Please connect your "
-"printer to a local port or configure it on the machine where it is connected "
-"to."
+#: ../../standalone/drakperm_.c:48
+msgid "select perm file to see/edit"
msgstr ""
-"Lexmark se inkspuitdrukkers ondersteun slegs plaaslike drukkers, geen "
-"drukkers op eksterne rekenaars of drukkerbediener-boksies. Konnekteer "
-"asseblief die drukker plaaslik en konfigureer dit op daardie (plaaslike) "
-"masjien."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakperm_.c:51
msgid ""
-"Your multi-function device was configured automatically to be able to scan. "
-"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
-"scanner when you have more than one) from the command line or with the "
-"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
-"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
-"\" menu. Call also \"man scanimage\" on the command line to get more "
-"information.\n"
-"\n"
-"Do not use \"scannerdrake\" for this device!"
+"Drakperm is used to see files to use in order to fix permissions, owners, "
+"and groups via msec.\n"
+"You can also edit your own rules which will owerwrite the default rules."
msgstr ""
-"U multi-funksionele toestel is outomaties opgestel dat dit kan skandeer. "
-"Gebruik \"scanimage\" indien u wil skandeer (\"scanimage -d hp:%s\" om die "
-"skandeerder te spesifiseer, sou daar meer as een wees). Grafiese programme "
-"\"xscanimage\" en \"xsane\" is ook beskikbaar. Met GIMP kan u onder \"File\"/"
-"\"Acquire\"-kieslys soek. Vir meer inligting tik \"man scanimage\" op die "
-"instruksielyn.\n"
-"\n"
-"Moet NIE \"scannerdrake\" vir hierdie toestel gebruik NIE! "
-#: ../../any.pm:1
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s alreeds bygevoeg)"
+#: ../../standalone/drakperm_.c:56
+#, fuzzy
+msgid "Add a new rule at the end"
+msgstr "Voeg drukker by"
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation in progress"
-msgstr "Besig met installasie van herlaaistelsel"
+#: ../../standalone/drakperm_.c:57
+msgid "Edit curent rule"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", using command %s"
-msgstr ", gebruik opdrag %s"
+#: ../../standalone/drakperm_.c:58
+msgid "Up selected rule one level"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Alt and Shift keys simultaneously"
-msgstr "Alt- en Shift-sleutels gelyktydig"
+#: ../../standalone/drakperm_.c:59
+msgid "Down selected rule one level"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Flags"
-msgstr "Flaggies"
+#: ../../standalone/drakperm_.c:60
+#, fuzzy
+msgid "Delete selected rule"
+msgstr "Verwyder tou"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Users"
-msgstr "Gebruikers Byvoeg/Verwyder"
+#: ../../standalone/drakperm_.c:224
+msgid "browse"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host/network IP address missing."
-msgstr "Rekenaar/netwerk se IP uitstaande."
+#: ../../standalone/drakperm_.c:231
+#, fuzzy
+msgid "Current user"
+msgstr "Aanvaar gebruiker"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "weekly"
-msgstr "weekliks"
+#: ../../standalone/drakperm_.c:236
+#, fuzzy
+msgid "Permissions"
+msgstr "Weergawe: %s\n"
-#: ../../standalone/logdrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Settings"
-msgstr "Verstellings"
+#: ../../standalone/drakperm_.c:237
+msgid "Path"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered host/network IP is not correct.\n"
-msgstr "Die voorsiende rekenaar/netwerk-IP is foutief\n"
+#: ../../standalone/drakperm_.c:238
+#, fuzzy
+msgid "Property"
+msgstr "Poort"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Create/Transfer backup keys for SSH"
-msgstr "Skep/Dra rugsteun sleutels vir SSH oor"
+#: ../../standalone/drakperm_.c:240
+msgid "sticky-bit"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Here is the full list of available countries"
-msgstr "Hier is die volle lys van beskikbare lande"
+#: ../../standalone/drakperm_.c:241
+msgid "Set-UID"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (A4)"
-msgstr "Alternatiewe toetsbladsy (A4)"
+#: ../../standalone/drakperm_.c:242
+msgid "Set-GID"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../standalone/drakperm_.c:296
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."
+"Used for directory:\n"
+" only owner of directory or file in this directory can delete it"
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."
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please"
-msgstr "Net 'n oomblik"
+#: ../../standalone/drakperm_.c:297
+#, fuzzy
+msgid "Use owner id for execution"
+msgstr "Gebruik outobespeuring"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "PAP"
-msgstr "PAP"
+#: ../../standalone/drakperm_.c:298
+#, fuzzy
+msgid "Use group id for execution"
+msgstr "Gebruik outobespeuring"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup user files"
-msgstr "Rugsteun gebruiker se lers"
+#: ../../standalone/drakperm_.c:299
+msgid "when checked, owner and group won't be changed"
+msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "New"
-msgstr "Nuwe"
+#: ../../standalone/drakperm_.c:304
+#, fuzzy
+msgid "Path selection"
+msgstr "Stoor pakketseleksie"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakperm_.c:350
+#, fuzzy
+msgid "user :"
+msgstr "Gebruikerskode"
+
+#: ../../standalone/drakperm_.c:352
+#, fuzzy
+msgid "group :"
+msgstr "Werkgroep:"
+
+#: ../../standalone/draksound_.c:46
+#, fuzzy
+msgid "No Sound Card detected!"
+msgstr "Nie gekonnekteer nieKabelkonneksie"
+
+#: ../../standalone/draksound_.c:47
msgid ""
-"This is the most crucial decision point for the security of your GNU/Linux\n"
-"system: you have to enter the \"root\" password. \"Root\" is the system\n"
-"administrator and is the only user authorized to make updates, add users,\n"
-"change the overall system configuration, and so on. In short, \"root\" can\n"
-"do everything! That is why you must choose a password that is difficult to\n"
-"guess - DrakX will tell you if the password that you chose too easy. As you\n"
-"can see, you are not forced to enter a password, but we strongly advise you\n"
-"against this. GNU/Linux is just as prone to operator error as any other\n"
-"operating system. Since \"root\" can overcome all limitations and\n"
-"unintentionally erase all data on partitions by carelessly accessing the\n"
-"partitions themselves, it is important that it be difficult to become\n"
-"\"root\".\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. Never write down the \"root\" password -- it makes it far\n"
-"too easy to compromise a system.\n"
+"No Sound Card has been detected on your machine. Please verify that a Linux-"
+"supported Sound Card is correctly plugged in.\n"
"\n"
-"One caveat -- do not make the password too long or complicated because you\n"
-"must be able to remember it!\n"
"\n"
-"The password will not be displayed on screen as you type it in. To reduce\n"
-"the chance of a blind typing error you will need to enter the password\n"
-"twice. If you do happen to make the same typing error twice, this\n"
-"``incorrect'' password will be the one you will have use the first time you\n"
-"connect.\n"
+"You can visit our hardware database at:\n"
"\n"
-"If you wish access to this computer to be controlled by an authentication\n"
-"server, click the \"%s\" button.\n"
"\n"
-"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
-"services, select the appropriate one for \"%s\". If you do not know which\n"
-"one to use, you should ask your network administrator.\n"
-"\n"
-"If you happen to have problems with remembering passwords, if your computer\n"
-"will never be connected to the internet or that you absolutely trust\n"
-"everybody who uses your computer, you can choose to have \"%s\"."
-msgstr ""
-"Hierdie is die belangrikste oomblik vir u GNU/Linux-rekenaar se sekuriteit:\n"
-"u moet 'n wagwoord voorsien vir \"root\". \"Root\" is die supergebruiker "
-"wat\n"
-"dinge doen soos om die sagteware op te dateer, gebruikers by te voeg,\n"
-"en die konfigurasie te verander. \"Root\" kan alles doen! Hieroor moet\n"
-"u 'n deeglike wagwoord vir \"root\" kies - (DrakX sal jou tune as die wag-\n"
-"woord nie op spec is nie.) U kan wel die wagwoord uitlaat, maar dit word\n"
-"te sterkste afgeraai. GNU/Linux is net so vatbaar vir foute soos enige\n"
-"ander bedryfstelsel. Aangesien \"root\" geen perke het nie, kan hy/sy\n"
-"maklik skade aanrig as die persoon roekeloos handel. Dit moet dus\n"
-"moeilik wees vir 'n persoon om \"root\" te word.\n"
-"\n"
-"Die wagwoord behoort 'n mengsel van letters en syfers te wees en ten minste\n"
-"8 karakters lank te wees. Moet dit nie neerskryf nie, dit veroorsaak 'n "
-"swak\n"
-"skakel\n"
-"\n"
-"Moet dit ook nie te vreemd maak nie, u moet dit tog kan onthou!\n"
-"\n"
-"Indien u gebruik maak van 'n eksterne bediener wat die toegang beheer,\n"
-"klik op die \"%s\"-knoppie.\n"
-"\n"
-"Indien u netwerk gebruik maak van LDAP, NIS of 'n Windows PDC, moet\n"
-"u die gepaste diens vir \"%s\" kies. Vra u administrateur indien u nie weet\n"
-"watter een om te kies nie.\n"
-"\n"
-"Indien u probleme ondervind om wagwoorde te onthou, en die rekenaar is\n"
-"ver van die Internet af, en u vertrou almal wat die masjien gebruik, kan u\n"
-"kies om \"%s\" te gebruik. -once & heavy!-"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Name resolution spoofing protection"
-msgstr "Flous-naamresolusie-beskerming"
+"http://www.linux-mandrake.com/en/hardware.php3"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/draksound_.c:54
msgid ""
-"At this point, DrakX will allow you to choose the security level desired\n"
-"for the machine. As a rule of thumb, the security level should be set\n"
-"higher if the machine will contain crucial data, or if it will be a machine\n"
-"directly exposed to the Internet. The trade-off of a higher security level\n"
-"is generally obtained at the expense of ease of use.\n"
"\n"
-"If you do not know what to choose, stay with the default option."
-msgstr ""
-"Op hierdie tydstip laat DrakX u toe om die sekuriteitsvlak vir die\n"
-"rekenaar te kies. 'n Algemene reel is dat die sekuriteit hor behoort\n"
-"te wees indien die masjien belangrike inligting bevat, of direk aan\n"
-"die Internet gekoppel is. Hierdie hor sekuriteit kom met die koste dat\n"
-"dit algemene gebruik op die rekenaar moeiliker maak.\n"
"\n"
-"Indien u onseker is oor wat om te kies, bly by die verstek opsie."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Load from floppy"
-msgstr "Laai vanaf floppie"
-
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The following printer was auto-detected. "
-msgstr "Die volgende drukker is outomaties opgespoor. "
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Uses command %s"
-msgstr "Gebruik opdrag %s"
+"\n"
+"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
+"program. Just type \"sndconfig\" in a console."
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot Floppy"
-msgstr "Selflaai Disket"
+#: ../../standalone/draksplash_.c:21
+msgid ""
+"package 'ImageMagick' is required for correct working.\n"
+"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Norwegian"
-msgstr "Norweegs"
+#: ../../standalone/draksplash_.c:67
+#, fuzzy
+msgid "first step creation"
+msgstr "herlaaiskyfskepping"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for new scanners ..."
-msgstr "Opsoek na nuwe skandeerders"
+#: ../../standalone/draksplash_.c:70
+#, fuzzy
+msgid "final resolution"
+msgstr "Resolusie"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Apache World Wide Web Server"
-msgstr "'Apache World Wide Web'-bediener"
+#: ../../standalone/draksplash_.c:71 ../../standalone/draksplash_.c:163
+#, fuzzy
+msgid "choose image file"
+msgstr "Kies 'n ler"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "stepping of the cpu (sub model (generation) number)"
-msgstr "'stepping' van die verwerker (sub-model (generasie) nommer)"
+#: ../../standalone/draksplash_.c:72
+#, fuzzy
+msgid "Theme name"
+msgstr "Drukkernaam:"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "select path to restore (instead of /)"
-msgstr "kies roete om te herstel (instede van /)"
+#: ../../standalone/draksplash_.c:77
+msgid "Browse"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone/draksplash_.c:87 ../../standalone/draksplash_.c:153
+#, fuzzy
msgid "Configure bootsplash picture"
-msgstr "Konfigureer selflaai-splatskerm beeld"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Georgia"
-msgstr "Georgia"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "China"
-msgstr "China"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Make sure that all your printers are connected and turned on).\n"
-msgstr " (Maak seker dat alle drukkers gekoppel en aangeskakel is).\n"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Reading data of installed printers..."
-msgstr "Lees data van genstalleerde drukkers..."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Erase Now "
-msgstr " Wis Nou "
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "server"
-msgstr "bediener"
-
-#: ../../install_any.pm:1
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Sit 'n FAT-geformatteerde skyf in aandrywer %s"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the processor has an arithmetic coprocessor"
-msgstr "ja, beteken dat die verwerker 'n rekenkundige-koverwerker het"
-
-#: ../../harddrake/sound.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Please Wait... Applying the configuration"
-msgstr "Wag asb... Konfigurasie word toegpas"
-
-# 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:1
-#, c-format
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Welkom by GRUB, die bedryfstelselkieskaart!"
-
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SCSI controllers"
-msgstr "SCSI-beheerders"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on LPD server \"%s\", printer \"%s\""
-msgstr "op LPD-bediener \"%s\", drukker \"%s\""
-
-#: ../../standalone/drakedm:1
-#, c-format
-msgid "Choosing a display manager"
-msgstr "Kies 'n vertoonbestuurder"
-
-#
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf Host name"
-msgstr "Zeroconf Rekenaarnaam"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom setup/crontab entry:"
-msgstr "Aangepaste 'setup/crontab' inskrywing:"
-
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP-adres moet in 1.2.3.4. formaat wees"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Configure CUPS printing system"
-msgstr "Konfigureer die CUPS-drukkerstelsel"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ecuador"
-msgstr "Ecuador"
+msgstr "Konfigureer dienste"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Add an item"
-msgstr "Voeg 'n item by"
+#: ../../standalone/draksplash_.c:90
+msgid ""
+"x coordinate of text box\n"
+"in number of character"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printers on this machine are available to other computers"
-msgstr "Die drukkers op hierdie rekenaar is beskikbaar aan ander rekenaars"
+#: ../../standalone/draksplash_.c:91
+msgid ""
+"y coordinate of text box\n"
+"in number of character"
+msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "China (Hong Kong)"
-msgstr "Hong Kong"
+#: ../../standalone/draksplash_.c:92
+msgid "text width"
+msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "I can't find needed image file `%s'."
-msgstr "Ek kan nie die nodige herlaaibeeld '%s' kry nie."
+#: ../../standalone/draksplash_.c:93
+msgid "text box height"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No sound card detected. Try \"harddrake\" after installation"
+#: ../../standalone/draksplash_.c:94
+msgid ""
+"the progress bar x coordinate\n"
+"of its upper left corner"
msgstr ""
-"Geen klankkaart opgespoor nie. Probeer \"harddrake\" na die installasie"
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:95
msgid ""
-"Invalid port given: %s.\n"
-"The proper format is \"port/tcp\" or \"port/udp\", \n"
-"where port is between 1 and 65535."
+"the progress bar y coordinate\n"
+"of its upper left corner"
msgstr ""
-"Ongeldige poort: %s.\n"
-"Die regte manier is \"poort/tcp\" of \"poort/udp\",\n"
-"waar poort tussen 1 en 65535 is."
-#: ../../any.pm:1
-#, c-format
-msgid "Shell"
-msgstr "Dop"
+#: ../../standalone/draksplash_.c:96
+msgid "the width of the progress bar"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Sao Tome and Principe"
-msgstr "Sao Tome and Principe"
+#: ../../standalone/draksplash_.c:97
+msgid "the heigth of the progress bar"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "PCI"
-msgstr "PCI"
+#: ../../standalone/draksplash_.c:98
+msgid "the color of the progress bar"
+msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Can't login using username %s (bad password?)"
-msgstr "Kan nie met gebruikernaam %s inteken nie (werkeerde wagwoord?)"
+#: ../../standalone/draksplash_.c:113
+#, fuzzy
+msgid "Preview"
+msgstr "toestel"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaidjani (latyns)"
+#: ../../standalone/draksplash_.c:115
+#, fuzzy
+msgid "Save theme"
+msgstr "Installeer stelsel"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package not installed"
-msgstr "Pakket is nie genstalleer nie"
+#: ../../standalone/draksplash_.c:116
+#, fuzzy
+msgid "Choose color"
+msgstr "Kies 'n monitor"
-#: ../../lang.pm:1
-#, c-format
-msgid "American Samoa"
-msgstr "American Samoa"
+#: ../../standalone/draksplash_.c:119
+msgid "Display logo on Console"
+msgstr ""
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid "Become a MandrakeExpert"
-msgstr "Word 'n MandrakeExpert"
+#: ../../standalone/draksplash_.c:120
+msgid "Make kernel message quiet by default"
+msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../standalone/draksplash_.c:156 ../../standalone/draksplash_.c:321
#, c-format
-msgid "Protocol"
-msgstr "Protokol"
+msgid "This theme haven't yet any bootsplash in %s !"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Copy fonts on your system"
-msgstr "Kopieer lettertipes op u stelsel"
+#: ../../standalone/draksplash_.c:205
+msgid "saving Bootsplash theme..."
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake help"
-msgstr "Harddrake help"
+#: ../../standalone/draksplash_.c:428
+#, fuzzy
+msgid "ProgressBar color selection"
+msgstr "Drukkermodelkeuse"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bogomips"
-msgstr "Bogomips"
+#: ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "You must choose an image file first!"
+msgstr "Tik drukkertoestel URI in"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Mandrake Terminal Server Configuration"
-msgstr "Mandrake Terminal Server Configuration"
+#: ../../standalone/draksplash_.c:458
+#, fuzzy
+msgid "Generating preview ..."
+msgstr "Toestel word afgetas..."
-#: ../../standalone/drakbackup:1
+#. -PO First %s is theme name, second %s (in parenthesis) is resolution
+#: ../../standalone/draksplash_.c:506
#, c-format
+msgid "%s BootSplash (%s) preview"
+msgstr ""
+
+#: ../../standalone/drakxtv_.c:46
msgid ""
+"XawTV isn't installed!\n"
"\n"
-" DrakBackup Report Details\n"
-"\n"
-"\n"
-msgstr ""
"\n"
-" DrakBackup Raporteer Detail\n"
+"If you do have a TV card but DrakX has neither detected it (no bttv nor "
+"saa7134\n"
+"module in \"/etc/modules\") nor installed xawtv, please send the\n"
+"results of \"lspcidrake -v -f\" to \"install\\@mandrakesoft.com\"\n"
+"with subject \"undetected TV card\".\n"
"\n"
"\n"
+"You can install it by typing \"urpmi xawtv\" as root, in a console."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore all backups"
-msgstr "Herstel alle rugsteune"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on parallel port #%s"
-msgstr " op pallelle poort #%s"
+#: ../../standalone/drakxtv_.c:63
+#, fuzzy
+msgid "Canada (cable)"
+msgstr "Kanadees (Quebec)"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Set the password minimum length and minimum number of digit and minimum "
-"number of capitalized letters."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (broadcast)"
msgstr ""
-"Stel die wagwoord se minimum lengte, minimum aantal syfers en die minimum "
-"hoofletters."
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check open ports."
-msgstr "indien ja gekies is, ondersoek die oop poorte."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to erase the media."
-msgstr "Dit mag 'n rukkie duur om die media uit te vee."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable-hrc)"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't select/unselect this package"
-msgstr "U kan nie hierdie pakket selekteer/deselekteer nie"
+#: ../../standalone/drakxtv_.c:64
+msgid "China (broadcast)"
+msgstr ""
-#: ../../keyboard.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../harddrake/sound.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Warning"
-msgstr "Waarskuwing"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (broadcast)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Other Files:\n"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (cable)"
msgstr ""
-"\n"
-"- Ander Lers:\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name"
-msgstr "Eksterne bedienernaam"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "East Europe"
+msgstr "Europa"
-#: ../../any.pm:1
-#, c-format
-msgid "access to X programs"
-msgstr "toegang na X-programme"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "France [SECAM]"
+msgstr "Frankryk"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Computing the size of the Windows partition"
-msgstr "Bereken die grootte van die Windowspartisie"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Ireland"
+msgstr "Yslandies"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Refresh"
-msgstr "/_Herlaai"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "West Europe"
+msgstr "Europa"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Italy"
-msgstr "Itali"
+#: ../../standalone/drakxtv_.c:66
+#, fuzzy
+msgid "Australia"
+msgstr "seriaal"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cayman Islands"
-msgstr "Cayman Eilande"
+#: ../../standalone/drakxtv_.c:66
+msgid "Newzealand"
+msgstr ""
-#: ../../fs.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "fout met onthegting van %s: %s"
+#: ../../standalone/drakxtv_.c:67
+msgid "South Africa"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer"
-msgstr "Drukkernaam"
+#: ../../standalone/drakxtv_.c:68
+msgid "Argentina"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "disable"
-msgstr "deaktiveer"
+#: ../../standalone/drakxtv_.c:69
+msgid "Australian Optus cable TV"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do it!"
-msgstr "Gaan voort!"
+#: ../../standalone/drakxtv_.c:102
+msgid ""
+"Please,\n"
+"type in your tv norm and country"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s not responding"
-msgstr "%s reageer nie"
+#: ../../standalone/drakxtv_.c:104
+msgid "TV norm:"
+msgstr ""
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select model manually"
-msgstr "Kies model self"
+#: ../../standalone/drakxtv_.c:105
+msgid "Area:"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Format"
-msgstr "Formatteer"
+#: ../../standalone/drakxtv_.c:109
+msgid "Scanning for TV channels in progress ..."
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
+#: ../../standalone/drakxtv_.c:116
+msgid "Scanning for TV channels"
msgstr ""
-"Die mees algemene metode vir ADSL is om pppoe te gebruik.\n"
-"Daar is wel sekere konneksie wat pptp of DHCP gebruik.\n"
-"Indien u nie weet nie, kies 'gebruik pppoe'."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Various"
-msgstr "Verskeie"
+#: ../../standalone/drakxtv_.c:120
+#, fuzzy
+msgid "There was an error while scanning for TV channels"
+msgstr "Daar was 'n fout met die installasie van die pakkette:"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Zip"
-msgstr "Zip"
+#: ../../standalone/drakxtv_.c:121
+msgid "XawTV isn't installed!"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Alt key"
-msgstr "Linker 'Alt'-sleutel"
+#: ../../standalone/drakxtv_.c:124
+msgid "Have a nice day!"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Load setting"
-msgstr "Laai verstelling"
+#: ../../standalone/drakxtv_.c:125
+msgid "Now, you can run xawtv (under X Window!) !\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakxtv_.c:147
+msgid "No TV Card detected!"
+msgstr ""
+
+#: ../../standalone/drakxtv_.c:148
msgid ""
+"No TV Card has been detected on your machine. Please verify that a Linux-"
+"supported Video/TV Card is correctly plugged in.\n"
"\n"
"\n"
-"Printerdrake could not determine which model your printer %s is. Please "
-"choose the correct model from the list."
-msgstr ""
-"\n"
+"You can visit our hardware database at:\n"
"\n"
-"Printerdrake kon nie u drukker (%s) se model bepaal nie. Kies asseblief die "
-"korrekte model vanaf die lys."
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Set selected printer as the default printer"
-msgstr "Maak hierdie die verstekdrukker"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
"\n"
-"Mark the printers which you want to transfer and click \n"
-"\"Transfer\"."
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-"\n"
-"Kies die drukkers wat u wil oordra en klik op\n"
-"\"Oordra\""
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ"
-msgstr "PDQ"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Albanian"
-msgstr "Albanies"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lithuania"
-msgstr "Litaue"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Compact"
-msgstr "Kompak"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected model: %s %s"
-msgstr "Opgespoorde model: %s %s"
-
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid "MandrakeSoft has selected the best software for you"
-msgstr "MandrakeSoft het die room van sagteware vir u gekies"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Local files"
-msgstr "Plaaslike lers"
-#: ../../pkgs.pm:1
-#, c-format
-msgid "maybe"
-msgstr "moontlik"
+#: ../../standalone/harddrake2_.c:17
+#, fuzzy
+msgid "Alternative drivers"
+msgstr "Alternatiewe toetsbladsy (A4)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Panama"
-msgstr "Panama"
+#: ../../standalone/harddrake2_.c:18
+msgid "the list of alternative drivers for this sound card"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Can't open %s!"
-msgstr "Kan nie %s oopmaak nie!"
+#: ../../standalone/harddrake2_.c:20
+msgid "Bus"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:21
msgid ""
-"Your graphic card seems to have a TV-OUT connector.\n"
-"It can be configured to work using frame-buffer.\n"
-"\n"
-"For this you have to plug your graphic card to your TV before booting your "
-"computer.\n"
-"Then choose the \"TVout\" entry in the bootloader\n"
-"\n"
-"Do you have this feature?"
+"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
msgstr ""
-"Dit blyk dat u vertoonkaart 'n 'TV-OUT'-verbinding het.\n"
-"Dit kan opgestel word deur 'frame-buffer' (raam-buffer)\n"
-"te gebruik.\n"
-"\n"
-"Om dit te laat werk, moet u die vertoonkaart aan die TV gekoppel wees\n"
-"voordat u die rekenaar aanskakel.\n"
-"Kies dan die \"TV out\" inskrywing op die herlaaistelsel se kieslys\n"
-"\n"
-"Verlang u hierdie funksie?"
-#: ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Monitor"
-msgstr "Monitor"
+#: ../../standalone/harddrake2_.c:22
+#, fuzzy
+msgid "Channel"
+msgstr "Kanselleer"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to set up printing to a Windows account with password. Due to "
-"a fault in the architecture of the Samba client software the password is put "
-"in clear text into the command line of the Samba client used to transmit the "
-"print job to the Windows server. So it is possible for every user on this "
-"machine to display the password on the screen by issuing commands as \"ps "
-"auxwww\".\n"
-"\n"
-"We recommend to make use of one of the following alternatives (in all cases "
-"you have to make sure that only machines from your local network have access "
-"to your Windows server, for example by means of a firewall):\n"
-"\n"
-"Use a password-less account on your Windows server, as the \"GUEST\" account "
-"or a special account dedicated for printing. Do not remove the password "
-"protection from a personal account or the administrator account.\n"
-"\n"
-"Set up your Windows server to make the printer available under the LPD "
-"protocol. Then set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+#: ../../standalone/harddrake2_.c:22
+msgid "EIDE/SCSI channel"
msgstr ""
-"U is besig om drukwerk na 'n Windows-gebruiker met 'n wagwoord op te stel. "
-"Daar is fout in Samba se argitektuur sodat hierdie wagwoord in sigbare teks "
-"op die instruksielyn geplaas word. Dit gebeur wanneer die Samba-klint "
-"drukwerk na die Windows-bediener stuur. Enige gebruiker kan dan daardie "
-"wagwoord sien, deur bv \"ps auxwww\" in te tik.\n"
-"\n"
-"Ons beveel een van die volgende alternatiewe aan ( bo en behalve dat u seker "
-"maak dat slegs masjiene op u plaaslike netwerk toegang na u Windows-bediener "
-"het, deur bv 'n vuurmuur op te stel):\n"
-"\n"
-"Gebruik 'n rekening sonder wagwoord op u Windows-bediener vir drukwerk daar "
-"is die \"GUEST\" of stel 'n aparte een op net vir drukwerk. Behou dan steeds "
-"wagwoord beskerming vir die ander.\n"
-"\n"
-"Sel die Windows-bediener so op, dat dit die drukker beskikbaar stel onder "
-"die LPD-protokol. Stel dan drukwerk op hierdie masjien op deur die \"%s\"-"
-"konneksie in Printerdrake te gebruik.\n"
-"\n"
-"Wie is Bernoldus Niemand?\n"
-"\n"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "65 thousand colors (16 bits)"
-msgstr "65-duisend kleure (16 bis)"
+#: ../../standalone/harddrake2_.c:23
+msgid "Bogomips"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/harddrake2_.c:23
msgid ""
-"\n"
-"- Save on Hard drive on path: %s\n"
+"The GNU/Linux kernel needs to do run a calculation loop at boot time\n"
+"\t to initialize a timer counter. Its result is stored as bogomips as a way "
+"to \"benchmark\" the cpu."
msgstr ""
-"\n"
-"- Stoor op Hardeskyf op roete: %s\n"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove fonts on your system"
-msgstr "Verwyder lettertipes vanaf u rekenaar"
+#: ../../standalone/harddrake2_.c:26
+#, fuzzy
+msgid "Bus identification"
+msgstr "Magtiging"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../standalone/harddrake2_.c:27
msgid ""
-"Warning, the network adapter (%s) is already configured.\n"
-"\n"
-"Do you want an automatic re-configuration?\n"
-"\n"
-"You can do it manually but you need to know what you're doing."
+"- PCI and USB devices: this list the vendor, device, subvendor and subdevice "
+"PCI/USB ids"
msgstr ""
-"Waarskuwing, die netwerk-aansluiter (%s) is reeds opgestel.\n"
-"\n"
-"Wil u dit outomaties herkonfigureer?\n"
-"\n"
-"U kan dit self doen, maar moet uitmaak, maak uit?"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphical interface at startup"
-msgstr "X met herlaai"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " adsl"
-msgstr " adsl"
-#: ../../raid.pm:1
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Nie genoeg partisies vir RAID vlak %d nie\n"
+#: ../../standalone/harddrake2_.c:29
+msgid "Location on the bus"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "format of floppies supported by the drive"
-msgstr "aandrywer ondersteun die volgende formate"
+#: ../../standalone/harddrake2_.c:30
+msgid ""
+"- pci devices: this gives the PCI slot, device and function of this card\n"
+"- eide devices: the device is either a slave or a master device\n"
+"- scsi devices: the scsi bus and the scsi device ids"
+msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy failed, file %s not found"
-msgstr "Probleme met die kopieer van Fermware (Firmware), ler %s is soek"
+#: ../../standalone/harddrake2_.c:33
+#, fuzzy
+msgid "Cache size"
+msgstr "blokgrootte"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: true"
-msgstr "plaalike konfigurasie: waar"
+#: ../../standalone/harddrake2_.c:33
+msgid "Size of the (second level) cpu cache"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The following printers are configured. Double-click on a printer to change "
-"its settings; to make it the default printer; or to view information about "
-"it."
+#: ../../standalone/harddrake2_.c:34
+msgid "Coma bug:"
msgstr ""
-"Die volgende drukkers is opgestel. Klik-klik op 'n drukker om sy "
-"verstellings te verander, dit die verstek drukker te maak, of inligting "
-"omtrent dit te sien."
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connected"
-msgstr "Gekonnekteer"
+#: ../../standalone/harddrake2_.c:34
+msgid "Does this cpu has Cyrix 6x86 Coma bug ?"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Macedonian"
-msgstr "Masedonies"
+#: ../../standalone/harddrake2_.c:35
+msgid "Cpuid family"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mali"
-msgstr "Mali"
+#: ../../standalone/harddrake2_.c:35
+msgid "Family of the cpu (eg: 6 for i686 class)"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Bridges and system controllers"
-msgstr "Bre en stelselbeheerders"
+#: ../../standalone/harddrake2_.c:36
+#, fuzzy
+msgid "Cpuid level"
+msgstr "Sekuriteitsvlak word gestel."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Save"
-msgstr "/Ler/_Stoor"
+#: ../../standalone/harddrake2_.c:36
+msgid "Information level that can be obtained through the cpuid instruction"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "No details"
-msgstr "Geen Detail"
+#: ../../standalone/harddrake2_.c:37
+msgid "Frequency (MHz)"
+msgstr ""
-#: ../../pkgs.pm:1
-#, c-format
-msgid "very nice"
-msgstr "baie oulik"
+#: ../../standalone/harddrake2_.c:37
+msgid ""
+"The cpu frequency in Mhz (Mega herz which in first approximation may be "
+"coarsely assimilated to number of instructions the cpu is able to execute "
+"per second)"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Preview"
-msgstr "Voorskou"
+#: ../../standalone/harddrake2_.c:38
+msgid "This field describes the device"
+msgstr ""
-#
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Remote Control"
-msgstr "Eksterne Beheer"
+#: ../../standalone/harddrake2_.c:39
+#, fuzzy
+msgid "Old device file"
+msgstr "Selekteer lOer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select media for backup..."
-msgstr "Kies asb. 'n media vir die rugsteun..."
+#: ../../standalone/harddrake2_.c:40
+msgid "old static device name used in dev package"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Wrong email"
-msgstr "Verkeerde e-pos"
+#: ../../standalone/harddrake2_.c:41
+#, fuzzy
+msgid "New devfs device"
+msgstr "Netwerkportaaltoestel"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 bediener: %s\n"
+#: ../../standalone/harddrake2_.c:42
+msgid "new dinamic device name generated by incore kernel devfs"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Allow Thin Clients"
-msgstr "Laat Maerklinte toe"
+#: ../../standalone/harddrake2_.c:43
+#, fuzzy
+msgid "Module"
+msgstr "Muis"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Georgies (Russiese uitleg)"
+#: ../../standalone/harddrake2_.c:43
+msgid "the module of the GNU/Linux kernel that handle that device"
+msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Options"
-msgstr "/_Opsies"
+#: ../../standalone/harddrake2_.c:44
+msgid "CPU flags reported by the kernel"
+msgstr ""
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Your printer model"
-msgstr "U model drukker"
+#: ../../standalone/harddrake2_.c:44
+msgid "Flags"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"(WARNING! You're using XFS for your root partition,\n"
-"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
-"because XFS needs a very large driver)."
+#: ../../standalone/harddrake2_.c:45
+msgid "Fdiv bug"
msgstr ""
-"\n"
-"\n"
-"(WAARSKUWING! U gbruik XFS vir u wortel-partisie,\n"
-"die skep van 'n laaidisket op 'n 1.44Mb disket sal moontlik\n"
-"faal aangesien XFS se drywer baie spasie vat)."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/harddrake2_.c:46
msgid ""
-"\n"
-"- Delete hard drive tar files after backup.\n"
+"Early Intel Pentium chips manufactured have a bug in their floating point "
+"processor which did not achieve the attended precision when performing a "
+"Floating point DIVision (FDIV)"
msgstr ""
-"\n"
-"- Verwyder .tar-lers vanaf hardeskyf, na rugsteun.\n"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"No CD or DVD image found, please copy the installation program and rpm files."
+#: ../../standalone/harddrake2_.c:49
+msgid "Is FPU present"
msgstr ""
-"Geen CD- of DVD-beelde gevind nie, kopieer die installasie program en rpm-"
-"ler"
-#: ../advertising/04-configuration.pl:1
-#, c-format
-msgid "Mandrake's multipurpose configuration tool"
-msgstr "Mandrake se veelsydige konfigurasie program"
+#: ../../standalone/harddrake2_.c:49
+msgid "yes means the processor has an arithmetic coprocessor"
+msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Save"
-msgstr "Stoor"
+#: ../../standalone/harddrake2_.c:50
+msgid "Does FPU have an irq vector"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is unsupported"
-msgstr "Die %s word nie ondersteun nie"
+#: ../../standalone/harddrake2_.c:50
+msgid "yes means the arithmetic coprocessor has an exception vector attached"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Load the drivers for your usb devices."
-msgstr "Laai die drywers vir u USB-toestelle"
+#: ../../standalone/harddrake2_.c:51
+msgid "Early pentium were buggy and freezed when decoding the F00F bytecode"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Disk"
-msgstr "Skyf"
+#: ../../standalone/harddrake2_.c:51
+msgid "F00f bug"
+msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter a printer device URI"
-msgstr "Tik drukkertoestel se URI in"
+#: ../../standalone/harddrake2_.c:52
+msgid "Halt bug"
+msgstr ""
-#: ../advertising/01-thanks.pl:1
-#, c-format
+#: ../../standalone/harddrake2_.c:53
msgid ""
-"The success of MandrakeSoft is based upon the principle of Free Software. "
-"Your new operating system is the result of collaborative work of the "
-"worldwide Linux Community."
+"Some of the early i486DX-100 chips cannot reliably return to operating mode "
+"after the \"halt\" instruction is used"
msgstr ""
-"Die sukses van MandrakeSoft is te danke aan die prinsiep van Vrye Sagteware. "
-"Hierdie bedryfstelsel is te danke aan die spanwerk van 'n wreldwye "
-"gemeenskap."
-#: ../../lang.pm:1
-#, c-format
-msgid "Israel"
-msgstr "Israel"
+#: ../../standalone/harddrake2_.c:55
+#, fuzzy
+msgid "Floppy format"
+msgstr "Formatteer"
-#: ../../lang.pm:1
-#, c-format
-msgid "French Guiana"
-msgstr "Frans-Guiana"
+#: ../../standalone/harddrake2_.c:55
+msgid "Format of floppies the drive accept"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "default:LTR"
-msgstr "default:LTR"
+#: ../../standalone/harddrake2_.c:56
+#, fuzzy
+msgid "Level"
+msgstr "vlak"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A command line must be entered!"
-msgstr "'n Opdrag moet voorsien word!"
+#: ../../standalone/harddrake2_.c:56
+msgid "Sub generation of the cpu"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select user manually"
-msgstr "Kies self gebruikers"
+#: ../../standalone/harddrake2_.c:57
+msgid "Media class"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer printer configuration"
-msgstr "Dra drukkerkonfigurasie oor"
+#: ../../standalone/harddrake2_.c:57
+msgid "class of hardware device"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you want to enable printing on the printers mentioned above?\n"
-msgstr "Wil u drukwerk aktiveer op bogenoemde drukkers?\n"
+#: ../../standalone/harddrake2_.c:58 ../../standalone/harddrake2_.c:59
+#, fuzzy
+msgid "Model"
+msgstr "Muis"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of suid root files"
-msgstr "Ondersoek die byvoeg/verwydering van suid 'root'-lers"
+#: ../../standalone/harddrake2_.c:58
+#, fuzzy
+msgid "hard disk model"
+msgstr "Kaartgeheue (DMA)"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"For this to work for a W2K PDC, you will probably need to have the admin "
-"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
-"add and reboot the server.\n"
-"You will also need the username/password of a Domain Admin to join the "
-"machine to the Windows(TM) domain.\n"
-"If networking is not yet enabled, Drakx will attempt to join the domain "
-"after the network setup step.\n"
-"Should this setup fail for some reason and domain authentication is not "
-"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
-"Domain, and Admin Username/Password, after system boot.\n"
-"The command 'wbinfo -t' will test whether your authentication secrets are "
-"good."
+#: ../../standalone/harddrake2_.c:59
+msgid "Generation of the cpu (eg: 8 for PentiumIII, ...)"
msgstr ""
-"Om hierdie te laat werk met 'n W2K PDC, moet u die volgende doen: As admin "
-"voer die volgende opdrag uit, 'C:\\>net localgroup \"Pre-Windows 2000 "
-"Compatibla Acces\" everyone' en herlaai die bediener.\n"
-"U moet ook die gebruikernaam/wagwoord van die 'Domain Admin' h om hierdie "
-"masjien aan te sluit by die Windows(TM)-domein.\n"
-"Indien die netwerk nog nie opgestel is nie, sal Drakx poog om by die domein "
-"aan te sluit, as die netwerk reg is.\n"
-"Sou dit nie werk nie, kan u later 'smbpasswd -j DOMEIN -U GEBRUIKER%%"
-"WAGWOORD' op die instruksielyn as die supergebruiker intik. Die Windows(tm) "
-"Domein, en Admin gebruiker/wagwoord moet gebruik word.\n"
-"Die opdrag 'wbinfo -t' sal u 'authentication secrets' ondersoek."
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "%s (Port %s)"
-msgstr "%s (Poort %s)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use network connection to backup"
-msgstr "Gebruik netwerkkonneksie vir rugsteun"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Kernel version"
-msgstr "Weergawe van kernel"
+#: ../../standalone/harddrake2_.c:60
+#, fuzzy
+msgid "Model name"
+msgstr "Modulenaam"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"It is now time to specify which programs you wish to install on your\n"
-"system. There are thousands of packages available for Mandrake Linux, and\n"
-"to make it simpler to manage the packages have been placed into groups of\n"
-"similar applications.\n"
-"\n"
-"Packages are sorted into groups corresponding to a particular use of your\n"
-"machine. Mandrake Linux has four predefined installations available. You\n"
-"can think of these installation classes as containers for various packages.\n"
-"You can mix and match applications from the various groups, so a\n"
-"``Workstation'' installation can still have applications from the\n"
-"``Development'' group installed.\n"
-"\n"
-" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
-"more of the applications that are in the workstation group.\n"
-"\n"
-" * \"%s\": if plan on using your machine for programming, choose the\n"
-"appropriate packages from that group.\n"
-"\n"
-" * \"%s\": if your machine is intended to be a server, select which of the\n"
-"more common services you wish to install on your machine.\n"
-"\n"
-" * \"%s\": this is where you will choose your preferred graphical\n"
-"environment. At least one must be selected if you want to have a graphical\n"
-"interface available.\n"
-"\n"
-"Moving the mouse cursor over a group name will display a short explanatory\n"
-"text about that group. If you unselect all groups when performing a regular\n"
-"installation (as opposed to an upgrade), a dialog will pop up proposing\n"
-"different options for a minimal installation:\n"
-"\n"
-" * \"%s\": install the minimum number of packages possible to have a\n"
-"working graphical desktop.\n"
-"\n"
-" * \"%s\": installs the base system plus basic utilities and their\n"
-"documentation. This installation is suitable for setting up a server.\n"
-"\n"
-" * \"%s\": will install the absolute minimum number of packages necessary\n"
-"to get a working Linux system. With this installation you will only have a\n"
-"command line interface. The total size of this installation is about 65\n"
-"megabytes.\n"
-"\n"
-"You can check the \"%s\" box, which is useful if you are familiar with the\n"
-"packages being offered or if you want to have total control over what will\n"
-"be installed.\n"
-"\n"
-"If you started the installation in \"%s\" mode, you can unselect all groups\n"
-"to avoid installing any new package. This is useful for repairing or\n"
-"updating an existing system."
+#: ../../standalone/harddrake2_.c:60
+msgid "Official vendor name of the cpu"
msgstr ""
-"Nou moet u spesifiseer watter programme u op die rekenaar wil\n"
-"installeer. Daar is duisende pakkette beskikbaar vir Mandrake Linux, en\n"
-"om alles meer eenvoudig te maak, is die pakkette gegroepeer onder\n"
-"groepe van selfde tipe programme.\n"
-"\n"
-"Die groepe is so saamgestel dat dit saamval met die tipe gebruik van u\n"
-"rekenaar. Mandrake Linux het vier vooraf gespesifseerde installasies\n"
-"beskikbaar. Dink aan hierdie tipes as houers met verskillende pakkette.\n"
-"U kan wel uit die verskillende houers, verskillende pakkette kies.\n"
-"Dus kan u \"Werkstasie\" ook programme uit die \"Ontwikkeling\"\n"
-"bevat.\n"
-"( Amper soos die \"pick 'n mix\" by 'n Clicks of 'n winkel van u keuse! )\n"
-"\n"
-" * \"%s\": indien u die rekenaar as 'n werkstasie wil gebruik, kies een of\n"
-"meer hieruit.\n"
-"\n"
-" * \"%s\": indien u ontwikkelling op die masjien wil doen, kan u hier\n"
-"kies en keur.\n"
-"\n"
-" * \"%s\": mense wat 'n bediener wil opstel, hier is vir julle keuses.\n"
-"\n"
-" * \"%s\": Grafiese-omgewings. Indien u 'n grafiese omgewing wil\n"
-"gebruik, moet u ten minste een hier kies.\n"
-"\n"
-"Beweeg u muis stadig oor elke groep om meer inligting daaroor te bekom.\n"
-"Indien u NIKS kies nie gedurende 'n normale installasie, sal 'n venster\n"
-"opspring met verskillende keuses vir hierdie minimale installasie:\n"
-"\n"
-" * \"%s\": installeer die minimale programme vir 'n werkende grafiese\n"
-"werksomgewing.\n"
-"\n"
-" * \"%s\": installeer 'n basiese stelsel met basiese nutsporgramme en hul\n"
-"dokumentasie. Dit is geskik om 'n bediener op te stel.\n"
-"\n"
-" * \"%s\": sal 'n absolute minimale installasie doen, sodat u bloot 'n\n"
-"werkende Linux rekenaar het. Die grootte sal so 65 megagrepe wees.\n"
-"\n"
-"U kan die \"%s\" blokkie merk, dit is handig indien u vertroud is met al\n"
-"die beskikbare pakette, en u meer beheer verlang.\n"
-"\n"
-"Indien u die installasie in \"%s\"-modus begin het, kan u NIKS kies nie\n"
-"om te verhoed dat nuwe pakette installeer. Baie handig wanneer u 'n\n"
-"bestaande stelsel opdateeer, of herstel."
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Accept user"
-msgstr "Aanvaar gebruiker"
+#: ../../standalone/harddrake2_.c:61
+#, fuzzy
+msgid "Number of buttons"
+msgstr "2 knoppies"
-#: ../../help.pm:1 ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server"
-msgstr "Bediener"
+#: ../../standalone/harddrake2_.c:62
+#, fuzzy
+msgid "Name"
+msgstr "Naam: "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Shift key"
-msgstr "Linker 'Shift'-sleutel"
+#
+#: ../../standalone/harddrake2_.c:63
+#, fuzzy
+msgid "network printer port"
+msgstr "Netwerkdrukker (sok)"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " local network"
-msgstr " plaaslike netwerk"
+#: ../../standalone/harddrake2_.c:64
+msgid "Processor ID"
+msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Bad choice, try again\n"
-msgstr "Swak keuse, probeer weer\n"
+#: ../../standalone/harddrake2_.c:64
+msgid "the number of the processor"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Syslog reports to console 12"
-msgstr "'syslog' verslae na konsole 12"
+#: ../../standalone/harddrake2_.c:65
+#, fuzzy
+msgid "Model stepping"
+msgstr "Formatering"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search new servers"
-msgstr "Deursoek netnuus-bedieners"
+#: ../../standalone/harddrake2_.c:65
+msgid "Stepping of the cpu (sub model (generation) number)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Heard and McDonald Islands"
-msgstr "Heard en McDonald Eilande"
+#: ../../standalone/harddrake2_.c:66
+#, fuzzy
+msgid "The type of bus on which the mouse is connected"
+msgstr "Aan watter seriaalpoort is u muis gekoppel?"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No alternative driver"
-msgstr "Geen alternatiewe drywer"
+#: ../../standalone/harddrake2_.c:67
+msgid "the vendor name of the device"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to expert mode"
-msgstr "Skakel oor na kundige gebruiksvlak"
+#: ../../standalone/harddrake2_.c:68
+msgid "the vendor name of the processor"
+msgstr ""
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on this machine)"
-msgstr "(op hierdie rekenaar)"
+#: ../../standalone/harddrake2_.c:82
+#, fuzzy
+msgid "/_Quit"
+msgstr "Verlaat"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway address should be in format 1.2.3.4"
-msgstr "Deurgang IP-adres moet in 1.2.3.4. formaat wees"
+#: ../../standalone/harddrake2_.c:83
+#, fuzzy
+msgid "/Autodetect _printers"
+msgstr "Gebruik outobespeuring"
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"\"%s\" based winmodem detected, do you want to install needed software ?"
-msgstr ""
-"\"%s\"-tipe winmodem opgespoor, wil u die sagteware daarvoor installeer"
+#: ../../standalone/harddrake2_.c:83 ../../standalone/harddrake2_.c:85
+#: ../../standalone/logdrake_.c:81
+msgid "/_Options"
+msgstr "/_Opsies"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking at packages already installed..."
-msgstr "Ondersoek pakette wat reeds genstalleer is..."
+#: ../../standalone/harddrake2_.c:85
+#, fuzzy
+msgid "/Autodetect _modems"
+msgstr "Gebruik outobespeuring"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Differential Backups"
-msgstr "Gebruik Differensile Rugsteune"
+#: ../../standalone/harddrake2_.c:87 ../../standalone/harddrake2_.c:89
+#: ../../standalone/harddrake2_.c:100 ../../standalone/harddrake2_.c:102
+#: ../../standalone/logdrake_.c:83
+msgid "/_Help"
+msgstr "/_Help"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Driver"
-msgstr "Drywer"
+#: ../../standalone/harddrake2_.c:89
+#, fuzzy
+msgid "/_Help..."
+msgstr "/_Help"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
+#: ../../standalone/harddrake2_.c:92
+msgid "Harddrake help"
msgstr ""
-"Linuxconf sal soms verskillende take verrig tydens die selflaai,\n"
-"om so die stelsel se konfigurasie te onderhou."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVD-R device"
-msgstr "DVD-R-toestel"
-
-#
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on remote lpd server"
-msgstr "Eksterne LPD-drukker"
-
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/harddrake2_.c:93
msgid ""
-"Before installing any fonts, be sure that you have the right to use and "
-"install them on your system.\n"
+"Description of the fields:\n"
"\n"
-"-You can install the fonts the normal way. In rare cases, bogus fonts may "
-"hang up your X Server."
msgstr ""
-"Maak tog seker dat u die reg tot gebruik van lettertipes het, voordat u dit "
-"installeer.\n"
-"\n"
-"- U kan hierdie lettertipes op die normale manier installeer. In "
-"uitsonderlike gevalle mag dit X laat vries."
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:96
msgid ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
-"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
-"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
-"to hold this information.\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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
-"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
-"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
-"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
+"Once you've selected a device, you'll be able to see explanations on fields "
+"displayed on the right frame (\"Information\")"
msgstr ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
-"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
-"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
-"to hold this information.\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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
-"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
-"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
-"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wednesday"
-msgstr "Woensdag"
+#: ../../standalone/harddrake2_.c:96
+#, fuzzy
+msgid "Select a device !"
+msgstr "Selekteer 'n videokaart"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Germany"
-msgstr "Duitsland"
+#: ../../standalone/harddrake2_.c:100
+msgid "/_Report Bug"
+msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Austria"
-msgstr "Oostenryk"
+#: ../../standalone/harddrake2_.c:102
+#, fuzzy
+msgid "/_About..."
+msgstr "/Help/_Aangaande..."
-#: ../../mouse.pm:1
-#, c-format
-msgid "No mouse"
-msgstr "Geen muis"
+#: ../../standalone/harddrake2_.c:104
+msgid "About Harddrake"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Choose your CD/DVD media size (MB)"
-msgstr "Kies die mediagrootte van u CD/DVD (MB)"
+#: ../../standalone/harddrake2_.c:105
+msgid ""
+"This is HardDrake, a Mandrake hardware configuration tool.\n"
+"Version:"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check permissions of files in the users' home"
-msgstr "Ondersoek ler-verunningsvlakke in gebruiker se tuisgids"
+#: ../../standalone/harddrake2_.c:106
+#, fuzzy
+msgid "Author:"
+msgstr "Aftas"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Run \"sndconfig\" after installation to configure your sound card"
-msgstr "Loop \"sndconfig\" na die installasie om u klankkaart te konfigureer"
+#: ../../standalone/harddrake2_.c:113
+#, fuzzy
+msgid "Detection in progress"
+msgstr "Op poort %s bespeur"
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Collapse Tree"
-msgstr "Maak boom toe"
+#: ../../standalone/harddrake2_.c:119
+#, fuzzy
+msgid "Harddrake2 version "
+msgstr "Hardeskyfdeteksie."
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Auto Install Configurator"
-msgstr "Outoinstallasiekonfigurasieprogram"
+#: ../../standalone/harddrake2_.c:126
+#, fuzzy
+msgid "Detected hardware"
+msgstr "Sien hardeware inligting"
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure networking"
-msgstr "Stel netwerk op"
+#: ../../standalone/harddrake2_.c:129
+#, fuzzy
+msgid "Information"
+msgstr "Vertoon inligting"
-#: ../../any.pm:1
-#, c-format
-msgid "Where do you want to install the bootloader?"
-msgstr "Waar wil u die herlaaistelsel installeer"
+#: ../../standalone/harddrake2_.c:131
+#, fuzzy
+msgid "Configure module"
+msgstr "Stel muistoestel op"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Your choice of preferred language will affect the language of the\n"
-"documentation, the installer and the system in general. Select first the\n"
-"region you are located in, and then the language you speak.\n"
-"\n"
-"Clicking on the \"%s\" button will allow you to select other languages to\n"
-"be installed on your workstation, thereby installing the language-specific\n"
-"files for system documentation and applications. For example, if you will\n"
-"host users from Spain on your machine, select English as the default\n"
-"language in the tree view and \"%s\" in the Advanced section.\n"
-"\n"
-"Note that you're not limited to choosing a single additional language. You\n"
-"may choose several ones, or even install them all by selecting the \"%s\"\n"
-"box. Selecting support for a language means translations, fonts, spell\n"
-"checkers, etc. for that language will be installed. Additionally, the\n"
-"\"%s\" checkbox allows you to force the system to use unicode (UTF-8). Note\n"
-"however that this is an experimental feature. If you select different\n"
-"languages requiring different encoding the unicode support will be\n"
-"installed anyway.\n"
-"\n"
-"To switch between the various languages installed on the system, you can\n"
-"launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n"
-"language used by the entire system. Running the command as a regular user\n"
-"will only change the language settings for that particular user."
-msgstr ""
-"Die taal wat u hier kies sal die dokumentasie se taal, die installeer\n"
-"program, en rekenaar oor die algemeen, benvloed. Kies eerstens\n"
-"die area waar u woon, en daarna die taal wat u praat.\n"
-"( Jammer, geen inskrywing vir die wat 'nonsens' wou kies nie! )\n"
-"\n"
-"Deur op die \"%s\"-knoppie te klik, kan u ander tale by kies.\n"
-"Dit sal dan dokumentasie en programme toelaat in daardie ekstra tale.\n"
-"Sou daar byvoorbeeld Spaanse gebruikers op die masjien inteken, kies\n"
-"Afrikaans(of Engels) as die verstek taal en \"%s\" in die Gevorderde "
-"seksie.\n"
-"\n"
-"Let tog daarop dat u nie verbind is tot slegs een ekstra taal nie. U kan 'n "
-"paar\n"
-"van hulle kies, as u nou regtig wild wil raak, installeer almal deur die \"%s"
-"\"\n"
-"blokkie te merk! Deur 'n sekere taal te kies, sal vertalings, lettertipes,\n"
-"spelkykers ens vir die betrokke taal genstalleer word.\n"
-"Boonop kan die \"%s\" merkblokkie u toelaat om die gebruik van 'unicode\n"
-"(UTF-8)' af te dwing. Let daarop dat dit eksperimenteel is. Indien u "
-"verskillende\n"
-"tale met verskillende koderings kies, sal 'nicode'-ondersteuning "
-"genstalleer\n"
-"word.\n"
-"Om tussen verskillende tale te skakel, gebruik \"/usr/bin/localedrake\"\n"
-"Wanneer die supergebruiker (root) dit doen sal dit die taal vir almal\n"
-"verander, en wanneer 'n gewone gebruiker dit doen , sal dit net vir\n"
-"daardie gebruiker verander."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not supported by this version of Mandrake Linux."
+#: ../../standalone/harddrake2_.c:137
+msgid "Run config tool"
msgstr ""
-"Die %s word nie deur hierdie weergawe van Mandrake Linux ondersteun nie."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "tape"
-msgstr "band"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP client"
-msgstr "DHCP-klint"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "List users on display managers (kdm and gdm)"
-msgstr "Wys gebruikers op vertoonbestuurders (kdm en gdm)"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Muis (seriaal, ou C7 tipe)"
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Herstel van ler %s het gefaal: %s"
+#: ../../standalone/harddrake2_.c:143
+#, fuzzy, c-format
+msgid "Running \"%s\" ..."
+msgstr "Drukkerdata word gelees..."
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:159
msgid ""
-"I can't read the partition table of device %s, it's too corrupted for me :(\n"
-"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to not allow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to lose all the partitions?\n"
+"Click on a device in the left tree in order to get its information displayed "
+"here."
msgstr ""
-"Ek kan nie u partisielys van toesels %s 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 partisielys te verander.\n"
-"(fout is %s)\n"
-"\n"
-"Will u al die partisies verwyder?\n"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Find Package"
-msgstr "Soek Pakket"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Are you sure that you want to set up printing on this machine?\n"
-msgstr "Is u seker dat u drukwerk op hierdie rekenaar wil opstel?\n"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "New devfs device"
-msgstr "Nuwe 'devfs'-toestel"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "ERROR: Cannot spawn %s."
-msgstr "FOUT: Kan nie %s voortbring nie."
+#: ../../standalone/harddrake2_.c:231
+msgid "primary"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Boot Style Configuration"
-msgstr "Herlaaistylkonfigurasie"
+#: ../../standalone/harddrake2_.c:231
+#, fuzzy
+msgid "secondary"
+msgstr "%d sekondes"
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic time synchronization"
-msgstr "Outotydsinkronisasie"
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect modems"
+msgstr "Gebruik outobespeuring"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files not found at %s."
-msgstr "Kon nie rugsteun-lers by %s vind nie"
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect printers"
+msgstr "Gebruik outobespeuring"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (phonetic)"
-msgstr "Armenies (Foneties)"
+#: ../../standalone/harddrake2_.c:261
+#, fuzzy
+msgid "/Options"
+msgstr "/_Opsies"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Card model:"
-msgstr "Model kaart:"
+#: ../../standalone/keyboarddrake_.c:26
+msgid "Please, choose your keyboard layout."
+msgstr "Wat is u sleutelborduitleg?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Thin Client"
-msgstr "Maerklint"
+#: ../../standalone/keyboarddrake_.c:35
+msgid "Do you want the BackSpace to return Delete in console?"
+msgstr ""
+"Wil u h dat die 'BackSpace' sleutel moet uitvee in die konsole ('n 'Delete' "
+"terugstuur)?"
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Thank you for choosing Mandrake Linux 9.2"
-msgstr "Dankie dat u Mandrake Linux 9.2 gekies het"
+#: ../../standalone/livedrake_.c:18
+msgid "Change Cd-Rom"
+msgstr "Verander CDROM"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Start Server"
-msgstr "Skop Bediener Af"
+#: ../../standalone/livedrake_.c:19
+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 ""
+"Dit asb. die instasllasie CDROM in die aandrywer en druk OK. Indien u nie\n"
+"hieroor beskik nie, druk Kanselleer om die intydse opgradering te vermy."
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkmenistan"
-msgstr "Turkmenistan"
+#: ../../standalone/livedrake_.c:29
+msgid "Unable to start live upgrade !!!\n"
+msgstr "Kon nie die intydse opgradering begin nie !!!\n"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "All remote machines"
-msgstr "Alle eksterne rekenaars"
+#: ../../standalone/localedrake_.c:34
+msgid "The change is done, but to be effective you must logout"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Install themes"
-msgstr "Installeer temas"
+#: ../../standalone/logdrake_.c:56 ../../ugtk.pm_.c:284 ../../ugtk2.pm_.c:350
+msgid "logdrake"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Espanol"
-msgstr "Espanol"
+#: ../../standalone/logdrake_.c:68
+msgid "Show only for the selected day"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing installation"
-msgstr "Berei installasie voor"
+#: ../../standalone/logdrake_.c:75
+msgid "/File/_New"
+msgstr "/Ler/_Nuut"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected host/network"
-msgstr "Redigeer gekose rekenaar/netwerk"
+#: ../../standalone/logdrake_.c:75
+msgid "<control>N"
+msgstr "<control>N"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add User -->"
-msgstr "Voeg gebruiker by -->"
+#: ../../standalone/logdrake_.c:76
+msgid "/File/_Open"
+msgstr "/Ler/_Oopmaak"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nauru"
-msgstr "Nauru"
+#: ../../standalone/logdrake_.c:76
+msgid "<control>O"
+msgstr "<control>O"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type fonts installation"
-msgstr "Ware lettertipe (True Type) installasie"
+#: ../../standalone/logdrake_.c:77
+msgid "/File/_Save"
+msgstr "/Ler/_Stoor"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected directly to the local network"
-msgstr "Outospeur drukkers wat direk aan die LAN verbind is"
+#: ../../standalone/logdrake_.c:77
+msgid "<control>S"
+msgstr "<control>S"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN configuration"
-msgstr "LAN-konfigurasie"
+#: ../../standalone/logdrake_.c:78
+msgid "/File/Save _As"
+msgstr "/Ler/Stoor _as"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "hard disk model"
-msgstr "model hardeskyf"
+#: ../../standalone/logdrake_.c:79
+msgid "/File/-"
+msgstr "/Ler/-"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain /etc/exports:\n"
-" \tClusternfs allows export of the root filesystem to diskless "
-"clients. drakTermServ\n"
-" \tsets up the correct entry to allow anonymous access to the root "
-"filesystem from\n"
-" \tdiskless clients.\n"
-"\n"
-" \tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t/\t\t\t\t\t(ro,all_squash)\n"
-" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-" \tWith SUBNET/MASK being defined for your network."
-msgstr ""
-" - Maintain /etc/exports:\n"
-" \tClusternfs allows export of the root filesystem to diskless "
-"clients. drakTermServ\n"
-" \tsets up the correct entry to allow anonymous access to the root "
-"filesystem from\n"
-" \tdiskless clients.\n"
-"\n"
-" \tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t/\t\t\t\t\t(ro,all_squash)\n"
-" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-" \tWith SUBNET/MASK being defined for your network."
+#: ../../standalone/logdrake_.c:82
+msgid "/Options/Test"
+msgstr "/Opsies/Toets"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "U kan nie LVM logiese volume vir hegpunt %s gebruik nie."
+#: ../../standalone/logdrake_.c:84
+msgid "/Help/_About..."
+msgstr "/Help/_Aangaande..."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Get Windows Fonts"
-msgstr "Kry Windows-lettertipes"
+#: ../../standalone/logdrake_.c:145
+#, fuzzy
+msgid "User"
+msgstr "Gebruikerskode"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
+#: ../../standalone/logdrake_.c:146
+#, fuzzy
+msgid "Messages"
+msgstr "Beginboodskap"
-#: ../../standalone/drakclock:1
-#, c-format
-msgid ""
-"Your computer can synchronize its clock\n"
-" with a remote time server using NTP"
+#: ../../standalone/logdrake_.c:147
+msgid "Syslog"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Iranian"
-msgstr "Iranies"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Croatia"
-msgstr "Kroasi"
+#: ../../standalone/logdrake_.c:148
+msgid "Mandrake Tools Explanations"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway:"
-msgstr "Portaal:"
+#: ../../standalone/logdrake_.c:151
+msgid "search"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add server"
-msgstr "Voeg bediener by"
+#: ../../standalone/logdrake_.c:161
+msgid "A tool to monitor your logs"
+msgstr ""
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name"
-msgstr "Eksterne drukkernaam"
+#: ../../standalone/logdrake_.c:162 ../../standalone/net_monitor_.c:91
+msgid "Settings"
+msgstr ""
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid ""
-"MandrakeSoft has designed exclusive tools to create the most secured Linux "
-"version ever: Draksec, a system security management tool, and a strong "
-"firewall are teamed up together in order to highly reduce hacking risks."
+#: ../../standalone/logdrake_.c:167
+msgid "matching"
msgstr ""
-"MandrakeSoft het uitmuntende nutsprogramme ontwerp wat help om die veiligste "
-"Linux nog op te stel: 'Draksec', help bestuur van die sekuriteit van u "
-"rekenaar, asook 'n behoorlike vuurmuur, wat risiko's van buite verminder."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Device: "
-msgstr "Toestel: "
+#: ../../standalone/logdrake_.c:168
+msgid "but not matching"
+msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Printerdrake"
-msgstr "Printerdrake"
+#: ../../standalone/logdrake_.c:172
+msgid "Choose file"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "License agreement"
-msgstr "Lisensieooreenkoms"
+#: ../../standalone/logdrake_.c:181
+msgid "Calendar"
+msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "System Options"
-msgstr "Stelsel-opsies"
+#: ../../standalone/logdrake_.c:191
+msgid "Content of the file"
+msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Please choose the desired security level"
-msgstr "Kies die verlangde sekuriteitsvlak"
+#: ../../standalone/logdrake_.c:195 ../../standalone/logdrake_.c:375
+msgid "Mail alert"
+msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/logdrake_.c:245
#, c-format
-msgid "This host is already in the list, it cannot be added again.\n"
-msgstr "Die rekenaar is alreeds gelys, en kan nie weer bygevoeg word nie.\n"
+msgid "please wait, parsing file: %s"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", USB printer"
-msgstr ", USB-drukker"
+#: ../../standalone/logdrake_.c:392
+#, fuzzy
+msgid "Mail alert configuration"
+msgstr "Konfigurasie"
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/logdrake_.c:393
+#, fuzzy
msgid ""
-"Unable to properly close mkbootdisk:\n"
+"Welcome to the mail configuration utility.\n"
"\n"
-"<span foreground=\"Red\"><tt>%s</tt></span>"
+"Here, you'll be able to set up the alert system.\n"
msgstr ""
-"Kon nie mkbootdisk ordentelik afsluit nie:\n"
+"Welkom by die proksiekonfigurasienutsprogram.\n"
"\n"
-"<span foreground=\"Red\"><tt>%s</tt></span>"
+"Hier kan u die HTTP en FTP-instaanbedieners\n"
+"opstel met of sonder aantekenkodes en wagwoorde\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Incremental backups only save files that have changed or are new since the "
-"last backup."
+#: ../../standalone/logdrake_.c:400
+msgid "Apache World Wide Web Server"
msgstr ""
-"'n Aanwas-rugsteun stoor slegs lers wat nuut bygekom het of die wat "
-"verander het sedert die laaste rugsteun."
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Choose the applications that will support the fonts:"
-msgstr "Kies die programme wat die lettertipes sal ondersteun"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure X"
-msgstr "Stel X op"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hd"
-msgstr "hd"
+#: ../../standalone/logdrake_.c:401
+#, fuzzy
+msgid "Domain Name Resolver"
+msgstr "Domeinnaam"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turks (tradisionele \"F\" model)"
+#: ../../standalone/logdrake_.c:402
+#, fuzzy
+msgid "Ftp Server"
+msgstr "NIS-bediener"
-#: ../../standalone/drakautoinst:1 ../../standalone/drakgw:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Congratulations!"
-msgstr "Geluk!"
+#: ../../standalone/logdrake_.c:403
+#, fuzzy
+msgid "Postfix Mail Server"
+msgstr "Postfix e-posbediener, Inn netnuusbediener"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use owner id for execution"
-msgstr "Gebruik eienaar-id vir uitvoering"
+#: ../../standalone/logdrake_.c:404
+#, fuzzy
+msgid "Samba Server"
+msgstr "NIS-bediener"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Allow remote root login"
-msgstr "Laat eksterne 'root'-inteken toe"
+#: ../../standalone/logdrake_.c:405
+#, fuzzy
+msgid "SSH Server"
+msgstr "NIS-bediener"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Down"
-msgstr "Af"
+#: ../../standalone/logdrake_.c:406
+#, fuzzy
+msgid "Webmin Service"
+msgstr "Dienste"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer (No driver)"
-msgstr "Onverwerkte (direkte) drukker"
+#: ../../standalone/logdrake_.c:407
+#, fuzzy
+msgid "Xinetd Service"
+msgstr "Drukkerbediener"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Install rpm"
-msgstr "Installeer rpm"
+#: ../../standalone/logdrake_.c:414
+#, fuzzy
+msgid "service setting"
+msgstr "interessant"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/logdrake_.c:415
msgid ""
-"To print a file from the command line (terminal window) you can either use "
-"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
-"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
-"to modify the option settings easily.\n"
+"You will receive an alert if one of the selected services is no more running"
msgstr ""
-"Sou u 'n ler van die instruksielyn wil druk kan u of die instruksie \"%s "
-"<ler>\" gebruik, of die grafiese program:\"xpp <ler>\" of \"kprinter <ler>"
-"\". Die grafiese programme vergemaklik die kies en verstel van 'n spesifieke "
-"drukker.\n"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Time remaining "
-msgstr "Tyd oor "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "UK keyboard"
-msgstr "VK sleutelbord"
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Unmount"
-msgstr "Ontheg"
+#: ../../standalone/logdrake_.c:428
+#, fuzzy
+msgid "load setting"
+msgstr "Formatering"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft Explorer"
-msgstr "Microsoft Explorer"
+#: ../../standalone/logdrake_.c:429
+msgid "You will receive an alert if the load is higher than this value"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Uninstall Fonts"
-msgstr "Denstallasie van Lettertipes"
+#: ../../standalone/logdrake_.c:444
+#, fuzzy
+msgid "alert configuration"
+msgstr "Kleurkonfigurasie"
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Please wait, detecting and configuring devices..."
-msgstr "Net 'n oomblik, sekuriteitsvlak word gestel..."
+#: ../../standalone/logdrake_.c:445
+#, fuzzy
+msgid "Please enter your email address below "
+msgstr "Probeer asb. weer"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German (no dead keys)"
-msgstr "Duits (geen dooie sleutels)"
+#: ../../standalone/logdrake_.c:486
+msgid "Save as.."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tSend mail to %s\n"
-msgstr "\tStuur e-pos na %s\n"
+#: ../../standalone/mousedrake_.c:37
+msgid "Please, choose the type of your mouse."
+msgstr "Wat is u muistoestel?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transferring %s..."
-msgstr "%s word oorgedra..."
+#: ../../standalone/mousedrake_.c:50
+msgid "Emulate third button?"
+msgstr "Emuleer derde knop?"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "32 thousand colors (15 bits)"
-msgstr "32-duisend kleure (15 bis)"
+#: ../../standalone/net_monitor_.c:53 ../../standalone/net_monitor_.c:87
+#, fuzzy
+msgid "Network Monitoring"
+msgstr "Netwerkkonfigurasie"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"You can export using NFS or Samba. Please select which you'd like to use."
-msgstr "U kan uitvoer deur NFS of Samba te gebruik. Kies watter u wil gebruik."
+#: ../../standalone/net_monitor_.c:96
+#, fuzzy
+msgid "Profile "
+msgstr "Profiel:"
-#: ../../lang.pm:1
-#, c-format
-msgid "Gambia"
-msgstr "Gambia"
+#: ../../standalone/net_monitor_.c:99
+msgid "Statistics"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Control Center"
-msgstr "Mandrake Control Center"
+#: ../../standalone/net_monitor_.c:103
+#, fuzzy
+msgid "Sending Speed:"
+msgstr "Stoor in ler"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Reboot"
-msgstr "Herlaai"
+#: ../../standalone/net_monitor_.c:104
+msgid "Receiving Speed:"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device"
-msgstr "Multi-funksionele-toestel"
+#: ../../standalone/net_monitor_.c:106
+#, fuzzy
+msgid "Connection Time: "
+msgstr "Konneksietipe:"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"You can enter miscellaneous ports. \n"
-"Valid examples are: 139/tcp 139/udp.\n"
-"Have a look at /etc/services for information."
+#: ../../standalone/net_monitor_.c:113
+msgid "Logs"
msgstr ""
-"U kan uiteenlopende poorte voorsien. \n"
-"Voorbeelde hiervan is: 139/tcp 139/udp.\n"
-"Kyk gerus na '/etc/services' vir meer inligting."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Tape \n"
-msgstr "\t - Band \n"
+#: ../../standalone/net_monitor_.c:147
+#, fuzzy
+msgid "Wait please, testing your connection..."
+msgstr "Konneksie word getoets..."
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-"No browser is installed on your system, Please install one if you want to "
-"browse the help system"
-msgstr ""
-"Geen blaaier is op u rekenaar genstalleer. Installeer asseblief een indien "
-"u die hulp-stelsel wil deurblaai"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Connecting to Internet "
+msgstr "Konnekteer aan die internet"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remember this password"
-msgstr "Onthou hierdie wagwoord"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Disconnecting from Internet "
+msgstr "Konnekteer aan die internet"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "due to unsatisfied %s"
+#: ../../standalone/net_monitor_.c:222
+msgid "Disconnection from Internet failed."
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now enabled."
-msgstr "Internet-konneksie-deling is geaktiveer"
+#: ../../standalone/net_monitor_.c:223
+msgid "Disconnection from Internet complete."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by SSH.\n"
-msgstr "\t- Netwerk deur SSH.\n"
+#: ../../standalone/net_monitor_.c:225
+#, fuzzy
+msgid "Connection complete."
+msgstr "Konneksiespoed"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/net_monitor_.c:226
msgid ""
-" If the desired printer was auto-detected, simply choose it from the list "
-"and then add user name, password, and/or workgroup if needed."
+"Connection failed.\n"
+"Verify your configuration in the Mandrake Control Center."
msgstr ""
-" Indien die verlangde drukker gespeur is, kies dit eenvoudig uit die lys en "
-"voorsien die gebruikernaam, wagwoord, en/of werkgroep indien benodig."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " cable"
-msgstr " kabel"
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use the free space on the Windows partition"
-msgstr "Gebruik die beskikbare spasie op die Windows-partisie"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s found on %s, configure it automatically?"
-msgstr "%s gevind op %s, stel dit outomaties op?"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86-drywer: %s\n"
+#: ../../standalone/net_monitor_.c:330
+#, fuzzy
+msgid "Color configuration"
+msgstr "Kleurkonfigurasie"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This host/network is already in the list, it cannot be added again.\n"
+#: ../../standalone/net_monitor_.c:383 ../../standalone/net_monitor_.c:403
+msgid "sent: "
msgstr ""
-"Die rekenaarnaam/netwerk is alreeds gelys, en kan nie weer bygevoeg\n"
-"word nie.\n"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the packages you want to install"
-msgstr "Kies die pakkette wat u wil installeer"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Papua New Guinea"
-msgstr "Papua New Guinea"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on a parallel port"
-msgstr "multi-funksionele toestel op parallelle poort"
+#: ../../standalone/net_monitor_.c:390 ../../standalone/net_monitor_.c:407
+msgid "received: "
+msgstr ""
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "Busy files"
-msgstr "Rugsteun die stelsel-lers"
+#: ../../standalone/net_monitor_.c:397
+msgid "average"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Serbian (cyrillic)"
-msgstr "Serwies (Kirillies)"
+#: ../../standalone/net_monitor_.c:400
+#, fuzzy
+msgid "Local measure"
+msgstr "Plaaslike lers"
-#
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory where backups are stored"
-msgstr "Voorsien die lergids waar rugsteun na geskryf gaan word"
+#: ../../standalone/net_monitor_.c:432
+msgid "transmitted"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Make kernel message quiet by default"
-msgstr "Hou kernel-boodskappe stil by verstek"
+#: ../../standalone/net_monitor_.c:433
+msgid "received"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/net_monitor_.c:453
msgid ""
-"Do you want to set this printer (\"%s\")\n"
-"as the default printer?"
+"Warning, another internet connection has been detected, maybe using your "
+"network"
msgstr ""
-"Wil u hierdie drukker (\"%s\")\n"
-"die verstek drukker maak?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP end range"
-msgstr "Die DHCP-reeks se einde"
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Connect %s"
+msgstr "Konnekteer"
-#: ../../any.pm:1
-#, c-format
-msgid "Creating bootdisk..."
-msgstr "Herlaaiskyf word geskryf..."
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Disconnect %s"
+msgstr "Diskonnekteer"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please, testing your connection..."
-msgstr "Net 'n oomblik, konneksie word getoets..."
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Reading printer data ..."
+msgstr "Drukkerdata word gelees..."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing down the network"
-msgstr "Netwerk op pad af"
+#: ../../standalone/scannerdrake_.c:39
+#, fuzzy
+msgid "Detecting devices ..."
+msgstr "Toestel word afgetas..."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Login ID"
-msgstr "Aantekenkode"
+#: ../../standalone/scannerdrake_.c:39
+msgid "Test ports"
+msgstr "Toets poorte"
-#: ../../services.pm:1
+#: ../../standalone/scannerdrake_.c:51 ../../standalone/scannerdrake_.c:66
+#: ../../standalone/scannerdrake_.c:79
#, c-format
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
+msgid "The %s is not supported by this version of Mandrake Linux."
msgstr ""
-"NFS is 'n populre protokol vir lerdeling oor TCP/IP netwerke.\n"
-"Hierdie diens voorsien die NFS-lersluitfunksionaliteit."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP Client"
-msgstr "DHCP-Klint"
+#: ../../standalone/scannerdrake_.c:54
+#, fuzzy, c-format
+msgid "%s found on %s, configure it?"
+msgstr "Wil u 'n drukwerk nou konfigureer?"
-#: ../../standalone/harddrake2:1
+#: ../../standalone/scannerdrake_.c:57
#, c-format
-msgid ""
-"This is HardDrake, a Mandrake hardware configuration tool.\n"
-"<span foreground=\"royalblue3\">Version:</span> %s\n"
-"<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud &lt;"
-"tvignaud@mandrakesoft.com&gt;\n"
-"\n"
+msgid "%s is not in the scanner database, configure it manually?"
msgstr ""
-"Hierdie is HardDrake,'n Mandrake program vir hardewarekonfigurasie.\n"
-"<span foreground=\"royalblue3\">Weergawe:</span> %s\n"
-"<span foreground=\"royalblue3\">Skrywer</span> Thierry Vignaud &lt;"
-"tvignaud@mandrakesoft.com&gt;\n"
-"\n"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "dismiss"
-msgstr "ignoreer/sien oor"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning on \"%s\""
-msgstr "Drukwerk/Skandeering op \"%s\""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit raid modules"
-msgstr "laat RAID-modules weg"
+#: ../../standalone/scannerdrake_.c:63
+#, fuzzy
+msgid "Select a scanner"
+msgstr "Selekteer 'n videokaart"
-#: ../../services.pm:1
+#: ../../standalone/scannerdrake_.c:91
#, c-format
-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)."
+msgid "This %s scanner is unsupported"
msgstr ""
-"lpd is die drukkerdiensprogram en is nodig vir lpr om te funksioneer.\n"
-"Dit is 'n diens wat drukstukke na drukkers toe reguleer."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Irish"
-msgstr "Iers"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sunday"
-msgstr "Sondag"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet Connection Configuration"
-msgstr "Internetkonneksiekonfigurasie"
-
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated numbers"
-msgstr "komma-afgeskeie getalle"
-
-#: ../../standalone/harddrake2:1
+#: ../../standalone/scannerdrake_.c:105
#, c-format
msgid ""
-"Once you've selected a device, you'll be able to see the device information "
-"in fields displayed on the right frame (\"Information\")"
+"Scannerdrake was not able to detect your %s scanner.\n"
+"Please select the device where your scanner is plugged"
msgstr ""
-"Sodra u 'n toestel gekies het, sal u meer inligting omtrent dit sien in die "
-"velde aan die regterkant (\"Inligting\")"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule up one level"
-msgstr "Skuif gekose rel een vlak op"
+#: ../../standalone/scannerdrake_.c:107
+#, fuzzy
+msgid "choose device"
+msgstr "Herlaaitoestel"
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/scannerdrake_.c:113
#, c-format
msgid ""
-"The following scanner\n"
-"\n"
-"%s\n"
-"is available on your system.\n"
+"This %s scanner must be configured by printerdrake.\n"
+"You can launch printerdrake from the Mandrake Control Center in Hardware "
+"section."
msgstr ""
-"Die volgende skandeerder\n"
-"\n"
-"%s\n"
-"is beskikbaar op u rekenaar.\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you really want to remove the printer \"%s\"?"
-msgstr "Wil u werklik drukker \"%s\" verwyder?"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "I can't find any room for installing"
-msgstr "Ek kon geen plek vir installasie vind nie."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Default printer"
-msgstr "Verstek drukker"
-#: ../../network/netconnect.pm:1
+#: ../../standalone/scannerdrake_.c:118
#, c-format
msgid ""
-"You have configured multiple ways to connect to the Internet.\n"
-"Choose the one you want to use.\n"
-"\n"
+"Your %s scanner has been configured.\n"
+"You may now scan documents using ``XSane'' from Multimedia/Graphics in the "
+"applications menu."
msgstr ""
-"U het meer as een internetkonneksiemetode opgstel.\n"
-"Kies die een wat u verlang.\n"
-"\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/service_harddrake_.c:44
#, c-format
-msgid "Modify RAID"
-msgstr "Verander RAID"
+msgid "Some devices in the \"%s\" hardware class were removed:\n"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid ""
-"I have detected an ISDN PCI card, but I don't know its type. Please select a "
-"PCI card on the next screen."
+#: ../../standalone/service_harddrake_.c:48
+msgid "Some devices were added:\n"
msgstr ""
-"Ek het 'n ISDB PCI-kaart gevind, maar ek ken nie die tipe nie. Kies asb.'n "
-"PCI-kaart op die volgende skerm."
-#: ../../any.pm:1
-#, c-format
-msgid "Add user"
-msgstr "Voeg gebruiker by"
+#: ../../standalone/service_harddrake_.c:64
+#, fuzzy
+msgid "Hardware probing in progress"
+msgstr "Op poort %s bespeur"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-skywe %s\n"
+#: ../../steps.pm_.c:14
+msgid "Choose your language"
+msgstr "Kies u taal"
-#: ../../lang.pm:1
-#, c-format
-msgid "Liberia"
-msgstr "Liberi"
+#: ../../steps.pm_.c:15
+msgid "Select installation class"
+msgstr "Kies installasieklas"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Could not install the packages needed to set up a scanner with Scannerdrake."
-msgstr "Kon nie die pakkette wat Scannerdrake benodig installeer nie."
+#: ../../steps.pm_.c:16
+msgid "Hard drive detection"
+msgstr "Hardeskyfdeteksie."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Please enter the name of the interface connected to the internet.\n"
-"\n"
-"Examples:\n"
-"\t\tppp+ for modem or DSL connections, \n"
-"\t\teth0, or eth1 for cable connection, \n"
-"\t\tippp+ for a isdn connection.\n"
-msgstr ""
-"Voorsien asseblief die koppelvlak-naam wat verbind is aan die Internet.\n"
-"\n"
-"Voorbeelde:\n"
-"\t\tppp+ vir modem of DSL konneksies, \n"
-"\t\teth0, or eth1 vir kabel konneksies, \n"
-"\t\tippp+ vir 'n isdn konneksie.\n"
+#: ../../steps.pm_.c:17
+msgid "Configure mouse"
+msgstr "Stel muistoestel op"
-#: ../../steps.pm:1
-#, c-format
+#: ../../steps.pm_.c:18
msgid "Choose your keyboard"
msgstr "Kies u sleutelbord"
-#: ../../steps.pm:1
-#, c-format
-msgid "Format partitions"
-msgstr "Formateer partisies"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatic correction of CUPS configuration"
-msgstr "Outomatiese korreksie van CUPS konfigurasie"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Running \"%s\" ..."
-msgstr "Loop \"%s\" ..."
-
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "enable radio support"
-msgstr "laat radio ondersteuning toe"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing to hosts: "
-msgstr "Skandeerder deel na rekenaars: "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Teruglus lernaam: %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the printer to which the print jobs should go."
-msgstr "Kies asseblief die drukker na wie die drukwerk gestuur moet word."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not transfer printers"
-msgstr "Moet nie drukkers oordra nie"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Delay before booting the default image"
-msgstr "Wagperiode voor verstekstelsel gelaai word"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Hard Disk to backup"
-msgstr "Gebruik hardeskyf vir rugsteun"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Configure"
-msgstr "Konfigureer"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake"
-msgstr "Scannerdrake"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"Warning, another Internet connection has been detected, maybe using your "
-"network"
-msgstr ""
-"Pasop, daar is 'n ander internet konneksie, wat moontlik u netwerk gebruik, "
-"bespeur"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Users"
-msgstr "Rugsteun-gebruikers"
+#: ../../steps.pm_.c:19
+msgid "Security"
+msgstr "Sekuriteit"
-#: ../../network/network.pm:1
-#, c-format
-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"
+#: ../../steps.pm_.c:20
+msgid "Setup filesystems"
+msgstr "Stel lerstelsels op"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Spooler"
-msgstr "Kies drukkerspoelprogram"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Create new theme"
-msgstr "Skep 'n nuwe tema"
+#: ../../steps.pm_.c:21
+msgid "Format partitions"
+msgstr "Formateer partisies"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mandrake Tools Explanation"
-msgstr "Mandrake Tools Verduideliking"
+#: ../../steps.pm_.c:22
+msgid "Choose packages to install"
+msgstr "Kies pakkette om te installeer"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "No image found"
-msgstr "Geen beeld gevind nie"
+#: ../../steps.pm_.c:23
+msgid "Install system"
+msgstr "Installeer stelsel"
-#: ../../install_steps.pm:1
-#, c-format
-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"
+#: ../../steps.pm_.c:25
+msgid "Add a user"
+msgstr "Voeg 'n gebruiker by"
-#: ../advertising/06-development.pl:1
-#, c-format
-msgid "Mandrake Linux 9.2: the ultimate development platform"
-msgstr "Mandrake Linux 9.2: 'n uitmuntende ontwikkelingsplatform"
+#: ../../steps.pm_.c:26
+msgid "Configure networking"
+msgstr "Stel netwerk op"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Detected model: %s"
-msgstr "Bespeurde model: %s"
+#: ../../steps.pm_.c:28
+msgid "Configure services"
+msgstr "Konfigureer dienste"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "\"%s\" is not a valid email!"
-msgstr "e-pos \"%s\" is nie geldig nie!"
+#: ../../steps.pm_.c:29
+msgid "Install bootloader"
+msgstr "Installeer herlaaistelsel"
-#: ../../standalone/drakedm:1
-#, c-format
-msgid ""
-"X11 Display Manager allows you to graphically log\n"
-"into your system with the X Window System running and supports running\n"
-"several different X sessions on your local machine at the same time."
-msgstr ""
-"'X11 Display Manager' laat u toe om, deur 'n grafiese- \n"
-"koppelvlak, aan te teken op u rekenaar. Die 'X Window'-stelsel kan tergelyk\n"
-"'n aantal X-sessies op dieselfde rekenaar afskop."
+#: ../../steps.pm_.c:31
+msgid "Create a bootdisk"
+msgstr "Maar 'n herlaaiskyf"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run the daily security checks."
-msgstr "indien ja gekies is, loop daaglikse sekuriteitstoetse."
+#: ../../steps.pm_.c:33
+msgid "Configure X"
+msgstr "Stel X op"
-#: ../../lang.pm:1
-#, c-format
-msgid "Azerbaijan"
-msgstr "Azerbaijan"
+#: ../../steps.pm_.c:34
+#, fuzzy
+msgid "Install system updates"
+msgstr "Installeer stelsel"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Device name to use for backup"
-msgstr "Toestel om vir rugsteun te gebruik"
+#: ../../steps.pm_.c:35
+msgid "Exit install"
+msgstr "Verlaay installasie"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No tape in %s!"
-msgstr "Geen band in %s!"
+#: ../../ugtk.pm_.c:636
+msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
+msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-" --doc <link> - link to another web page ( for WM welcome "
-"frontend)\n"
+#: ../../ugtk2.pm_.c:711
+msgid "utopia 25"
msgstr ""
-" --doc <skakel> - skakel na 'n ander webblabsy ( vir WM se "
-"verwelkomings gedeelte)\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (US)"
-msgstr "Dvorak (VSA)"
+#: ../../share/compssUsers:999
+msgid "Web/FTP"
+msgstr "Web/FTP"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
-msgstr ""
-"hierdie is die fisiese bus waarop die toestel ingeprop is (bv. PCI, USB, ...)"
+#
+#: ../../share/compssUsers:999
+msgid "Network Computer (client)"
+msgstr "Netwerkrekenaar (klint)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "How is the printer connected?"
-msgstr "Hoe is die drukker gekoppel?"
+#: ../../share/compssUsers:999
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS, SMB, Instaan- , SSH (Bedieners)"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security level"
-msgstr "Sekuriteitsvlak"
+#: ../../share/compssUsers:999
+msgid "Office"
+msgstr "Kantoor"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "final resolution"
-msgstr "finale resolusie"
+#: ../../share/compssUsers:999
+msgid "Gnome Workstation"
+msgstr "Gnome werkstasie"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services"
-msgstr "Dienste"
+#: ../../share/compssUsers:999
+msgid "Tools for your Palm Pilot or your Visor"
+msgstr "Nutsprogramme vir PalmPilot en/of Visor"
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Auto configuration"
-msgstr "Aanpas-konfigurasie"
+#: ../../share/compssUsers:999
+msgid "Workstation"
+msgstr "Werkstasie"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "4 MB"
-msgstr "4 MB"
+#: ../../share/compssUsers:999
+msgid "Firewall/Router"
+msgstr "Vuurmuur/Netwerkroteerder"
#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Kantoorwerkstasie"
+msgid "Domain Name and Network Information Server"
+msgstr "Domeinnaam en Netwerk Informasie Bediener (DNS/NIS)"
#: ../../share/compssUsers:999
msgid ""
@@ -20949,72 +13399,76 @@ msgstr ""
"gnumeric), PDF-sigprogramme, ens."
#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Speletjiesrekenaar"
+msgid "Audio-related tools: mp3 or midi players, mixers, etc"
+msgstr "Klankprogramme: MP3- of MIDI-spelers, mengers, ens."
#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Vermaak: Arkade, Bordspel, Strategie ens."
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimediastasie"
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Boeke en HOWTO's oor Linux en Vrye Sagteware"
#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Klank- en videospelers/redigeerders"
+msgid "KDE Workstation"
+msgstr "KDE werkstasie"
#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "Internetstasie"
+msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, ens."
#: ../../share/compssUsers:999
-#, fuzzy
-msgid ""
-"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
-"Web"
-msgstr ""
-"Stel hulpprogramme om e-pos en netnuus te lees en te stuur (pine, mutt, tin) "
-"en om ook die web deur te blaai."
+msgid "Multimedia - Video"
+msgstr "Multimedia - Video"
-#
#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Netwerkrekenaar (klint)"
+msgid "Set of tools for mail, news, web, file transfer, and chat"
+msgstr "Hulpprogramme vir e-pos, netnuus, web, FTP en netpraat"
#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "Klintprogramme vir 'n verkeidenheid protokolle insluitend SSH"
+msgid "Database"
+msgstr "Datbasis"
#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Konfigurasie"
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL of MySQL databasisbediener"
#: ../../share/compssUsers:999
msgid "Tools to ease the configuration of your computer"
-msgstr "Nutsprogramme wat u rekenaarkonfigurasie vergemaklik"
+msgstr "Hulpprogramme vir u rekenaarkonfigurasie te vergemaklik"
#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Wetenskaplike Werkstasie"
+msgid "Multimedia - Sound"
+msgstr "Multimedia - Klank"
#: ../../share/compssUsers:999
-msgid "Scientific applications such as gnuplot"
-msgstr "Wetenskaplike programme soos gnuplot"
+msgid "Documentation"
+msgstr "dokumentasie"
#: ../../share/compssUsers:999
msgid "Console Tools"
-msgstr "Konsole Hulpprogramme"
+msgstr "Konsole hulpprogramme"
#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ""
-"Redigeerders. teksverwerkers, instruksiedoppe, ler-nutsprogramme, terminaal-"
-"programme"
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix e-posbediener, Inn netnuusbediener"
#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE Werkstasie"
+msgid "Internet station"
+msgstr "Internetstasie"
+
+#: ../../share/compssUsers:999
+msgid "Multimedia station"
+msgstr "Multimediastasie"
+
+#: ../../share/compssUsers:999
+msgid "Configuration"
+msgstr "Konfigurasie"
+
+#: ../../share/compssUsers:999
+msgid "More Graphical Desktops (Gnome, IceWM)"
+msgstr "Addisionele grafiese werkskerms (Gnome, IceWM)"
#: ../../share/compssUsers:999
msgid ""
@@ -21025,463 +13479,280 @@ msgstr ""
"versameling bygaande hulpprogramme"
#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome Werkstasie"
+msgid "Graphical Environment"
+msgstr "Grafiese omgewing"
#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"'n Grafiese omgewing met gebruikersvriendelike stel applikasies en "
-"werkskerm-hulpprogramme"
+msgid "Development"
+msgstr "Ontwikkeling"
#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Ander Grafiese Werkskerms"
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, ens."
+msgid "Tools to create and burn CD's"
+msgstr "Hulpprogramme vir die skep en brand van CDs"
+
+#: ../../share/compssUsers:999
+msgid "Office Workstation"
+msgstr "Kantoorwerkstasie"
+
+#: ../../share/compssUsers:999
+msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, ens."
+
+#: ../../share/compssUsers:999
+msgid "Graphics programs such as The Gimp"
+msgstr "Grafiese programme soos Die GIMP"
+
+#: ../../share/compssUsers:999
+msgid "DNS/NIS "
+msgstr "DNS/NIS "
#: ../../share/compssUsers:999
msgid "C and C++ development libraries, programs and include files"
msgstr "C en C++ ontwikkelingsprogrammateke, programme en insluitlers"
+#
#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Dokumentasie"
+msgid "Network Computer server"
+msgstr "Netwerkrekenaarbediener"
#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Boeke en HOWTO's oor Linux en Vrye Sagteware"
+msgid "Mail/Groupware/News"
+msgstr "E-pos/Groepware/Netnuus"
#: ../../share/compssUsers:999
-msgid "LSB"
-msgstr "LSB"
+msgid "Game station"
+msgstr "Speletjiesrekenaar"
#: ../../share/compssUsers:999
-msgid "Linux Standard Base. Third party applications support"
-msgstr "Linux Standard Base. Derdeparty ondersteuning van programme"
+msgid "Video players and editors"
+msgstr "Videospelers en -redigeerders"
#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Web/FTP"
+msgid "Multimedia - Graphics"
+msgstr "Multimedia - Grafika"
#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache, Pro-ftpd"
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Vermaak: Arkade, Bordspel, Strategie ens."
#: ../../share/compssUsers:999
-msgid "Mail"
-msgstr "e-Pos"
+msgid ""
+"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
+"browse the Web"
+msgstr ""
+"Stel hulpprogramme om e-pos en netnuus te lees en te stuur (pine, mutt, tin) "
+"en om ook die web deur te blaai."
#: ../../share/compssUsers:999
-msgid "Postfix mail server"
-msgstr "Postfix e-pos-bediener"
+msgid "Personal Finance"
+msgstr "Persoonlike finansies"
#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Databasis"
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"'n Grafiese omgewing met gebruikersvriendelike stel applikasies en "
+"werkskermhulpprogramme"
#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "PostgreSQL of MySQL databasisbediener"
+msgid "Clients for different protocols including ssh"
+msgstr "Klintprogramme vir 'n verkeidenheid protokolle insluitende SSH"
#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Vuurmuur/Netwerkroteerder"
+msgid "LSB"
+msgstr ""
#: ../../share/compssUsers:999
msgid "Internet gateway"
msgstr "Internetpoort"
#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
+msgid "Sound and video playing/editing programs"
+msgstr "Klank- en videospelers/redigeerders"
#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Domeinnaam en Netwerk-informasie-bediener (DNS/NIS)"
+msgid "Other Graphical Desktops"
+msgstr "Ander grafiese werkskerms"
#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Netwerkrekenaar-bediener"
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+"Redigeerders. teksverwerkers, instruksiedoppe, lernutsprogramme, "
+"terminaalprogramme"
#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS, SMB, Instaan- , SSH (Bedieners)"
+msgid "Programs to manage your finance, such as gnucash"
+msgstr "Programme om u finansies te bestuur, soos GNUcash"
#: ../../share/compssUsers:999
-msgid "Set of tools to read and send mail and news and to browse the Web"
-msgstr ""
-"Programme vir die lees en stuur van e-pos, netnuus en op die Web te rits."
+msgid "Personal Information Management"
+msgstr "Persoonlike Inligtingbestuur."
-#~ msgid "The setup has already been done, and it's currently enabled."
-#~ msgstr "Die opstelling is alreeds gedoen en is tans aktief."
+#: ../../share/compssUsers:999
+msgid "Multimedia - CD Burning"
+msgstr "Multimedia - CD Sny"
-#~ msgid "Logs"
-#~ msgstr "Staaflers"
+#: ../../share/compssUsers:999
+msgid "Scientific Workstation"
+msgstr "Wetenskaplike werkstasie"
-#~ msgid "The setup has already been done, but it's currently disabled."
-#~ msgstr "Die opstelling is alreeds gedoen, maar is tans gedeaktiveer."
+#~ msgid "can not open /etc/inittab for reading: %s"
+#~ msgstr "kan nie /etc/inittab oopmaak vir lees nie: %s"
-#~ msgid "Profile "
-#~ msgstr "Profiel "
+#, fuzzy
+#~ msgid "cpu number "
+#~ msgstr "Telefoonnommer"
#~ msgid ""
-#~ "Welcome to the Internet Connection Sharing utility!\n"
-#~ "\n"
-#~ "%s\n"
-#~ "\n"
-#~ "Click on Configure to launch the setup wizard."
-#~ msgstr ""
-#~ "Welkom by die Internetkonneksiedeling program!\n"
+#~ "You now have the opportunity to download encryption software.\n"
#~ "\n"
-#~ "%s\n"
+#~ "WARNING:\n"
#~ "\n"
-#~ "Klik op Konfigureer om die assistent te loods."
-
-#~ msgid "Internet Connection Sharing configuration"
-#~ msgstr "Internetkonneksiedeling-konfigurasie"
-
-#~ msgid "No Internet Connection Sharing has ever been configured."
-#~ msgstr "Geen internetkonneksiedeling is al opgestel nie."
-
-#~ msgid "when checked, owner and group won't be changed"
-#~ msgstr "as gekies is, sal eienaar en groep nie verander word nie"
-
-#~ msgid ""
-#~ "XawTV isn't installed!\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"
-#~ "If you do have a TV card but DrakX has neither detected it (no bttv nor "
-#~ "saa7134\n"
-#~ "module in \"/etc/modules\") nor installed xawtv, please send the\n"
-#~ "results of \"lspcidrake -v -f\" to \"install@mandrakesoft.com\"\n"
-#~ "with subject \"undetected TV card\".\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"
-#~ "You can install it by typing \"urpmi xawtv\" as root, in a console."
+#~ "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 ""
-#~ "XawTV in nie genstalleer nie!\n"
+#~ "U het nou die kans om enkripsieprogrammatuur af te laai.\n"
#~ "\n"
+#~ "WAARSKUWING:\n"
#~ "\n"
-#~ "Indien u wel 'n TV-kaart het, maar DrakX het dit nie opgetel nie( geen "
-#~ "bttv of saa713\n"
-#~ "module in \"/etc/modules\") en ook nie xawtv geinstalleer nie, stuur\n"
-#~ "asseblief die resultate van \"lspcidrake -v -f\" na "
-#~ "\"install@mandrakesoft.com\"\n"
-#~ "met die onderwerp \"undetected TV card\".\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"
-#~ "U kan dit installeer deur \"urpmi xawtv\" as 'root' op die instruksielyn "
-#~ "te tik."
-
-#~ msgid "on CDROM"
-#~ msgstr "op CDROM"
-
-#~ msgid "DVDR device"
-#~ msgstr "DVDR-toestel"
-
-#~ msgid "\t-CDROM.\n"
-#~ msgstr "\t-CDROM.\n"
-
-#~ msgid "across Network"
-#~ msgstr "oor die Netwerk"
-
-#~ msgid "Backup system"
-#~ msgstr "Rugsteun stelsel"
-
-#~ msgid "Hostname configuration"
-#~ msgstr "Rekenaarnaam konfigurasie"
+#~ "\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"
-#~ msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
-#~ msgstr "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
+#~ msgid "Proxy configuration"
+#~ msgstr "Instaanbedienerkonfigurasie"
#~ msgid ""
-#~ "WARNING!\n"
+#~ "Welcome to the proxy configuration utility.\n"
#~ "\n"
-#~ "DrakX will now resize your Windows partition. Be careful:\n"
-#~ "this operation is dangerous. If you have not already done\n"
-#~ "so, you should first exit the installation, run scandisk\n"
-#~ "under Windows (and optionally run defrag), then restart the\n"
-#~ "installation. You should also backup your data.\n"
-#~ "When sure, press Ok."
+#~ "Here, you'll be able to set up your http and ftp proxies\n"
+#~ "with or without login and password\n"
#~ msgstr ""
-#~ "WAARSKUWING\n"
+#~ "Welkom by die proksiekonfigurasienutsprogram.\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. Rugsteun ook u data. Insien u seker is van u saak, "
-#~ "kies OK."
+#~ "Hier kan u die HTTP en FTP-instaanbedieners\n"
+#~ "opstel met of sonder aantekenkodes en wagwoorde\n"
-#~ msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#~ msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
+#~ msgid "URL"
+#~ msgstr "URL"
-#
-#, fuzzy
-#~ msgid "Hostname"
-#~ msgstr "Rekenaarnaam"
+#~ msgid "port"
+#~ msgstr "Poort"
-#
-#~ msgid "Remote Printers"
-#~ msgstr "Eksterne Drukkers"
+#~ msgid "Url should begin with 'http:'"
+#~ msgstr "Instaanbediener moet begin met http://"
+
+#~ msgid "The port part should be numeric"
+#~ msgstr "Die poortgedeelte moet numeries wees"
#~ msgid ""
-#~ "Mandrake Linux 9.1 provides you with the Mandrake Control Center, a "
-#~ "powerful tool to fully adapt your computer to the use you make of it. "
-#~ "Configure and customize elements such as the security level, the "
-#~ "peripherals (screen, mouse, keyboard...), the Internet connection and "
-#~ "much more!"
+#~ "Please fill in the ftp proxy informations\n"
+#~ "Leave it blank if you don't want an ftp proxy"
#~ msgstr ""
-#~ "Mandrake Linux bied met trots aan u die 'Mandrake Control Center'. Dit is "
-#~ "'n baie kragtige nutsprogram wat u instaat stel om u rekenaar vinnig en "
-#~ "effektief op te stel. Die opstel en verstel van dinge soos "
-#~ "sekuriteitsvlakke, skerm, muis, TV-kaarte, drukkers, netwerke, en nog "
-#~ "vele meer!"
-
-#~ msgid "Mandrake Linux 9.1: the ultimate development platform"
-#~ msgstr "Mandrake Linux: die uitsonderlike ontwikkelings-platform"
-
-#~ msgid "http://www.mandrakelinux.com/en/91errata.php3"
-#~ msgstr "http://www.mandrakelinux.com/en/91errata.php3"
+#~ "Vul asb. die FTP-instaanbediener inligting in\n"
+#~ "Los dit oop indien u nie FTP-instaanbediener verlang nie"
-#~ msgid "Printing system: "
-#~ msgstr "Drukkerstelsel:"
+#~ msgid "login"
+#~ msgstr "Gebruikerskode"
-#~ msgid "CDROM / DVDROM"
-#~ msgstr "CDROM / DVDROM"
+#~ msgid "password"
+#~ msgstr "Herhaal wagwoord"
-#~ msgid "on Tape Device"
-#~ msgstr "op Band-toestel"
+#~ msgid "re-type password"
+#~ msgstr "Geen wagwoord"
-#~ msgid "No CDR/DVDR in drive!"
-#~ msgstr "Geen CDR/DVDR in aandrywer!"
+#~ msgid "The passwords don't match. Try again!"
+#~ msgstr "Die wagwoorde stem nie ooreen nie. Probeer weer!"
-#, fuzzy
-#~ msgid "Level 1"
-#~ msgstr "vlak"
-
-#, fuzzy
-#~ msgid "Level 2"
-#~ msgstr "vlak"
+#~ msgid "Can't write file %s"
+#~ msgstr "Kan nie ler %s skryf nie"
-#, fuzzy
-#~ msgid "Level 3"
-#~ msgstr "vlak"
+#~ msgid "no help implemented yet.\n"
+#~ msgstr "Gee hulp beskikbaar nie (nog nie).\n"
#, fuzzy
-#~ msgid "Level 4"
-#~ msgstr "vlak"
+#~ msgid "Please click on a medium"
+#~ msgstr "Kliek asb. op 'n partisie"
-#, fuzzy
-#~ msgid "Level 5"
-#~ msgstr "vlak"
+#~ msgid "Removing LPRng..."
+#~ msgstr "LPRng word verwyder..."
-#, fuzzy
-#~ msgid "Insert floppy and press %s"
-#~ msgstr "Sit 'n skyf in aandrywer %s"
+#~ msgid "Removing LPD..."
+#~ msgstr "LPD word verwyder..."
-#, fuzzy
-#~ msgid "Load"
-#~ msgstr "Yslandies"
+#~ msgid "usage: drakfloppy\n"
+#~ msgstr "gebruik: drakfloppy\n"
#, fuzzy
-#~ msgid "Bad Ip"
-#~ msgstr "Kaart I/O"
-
-#~ msgid "Output"
-#~ msgstr "Uitset"
-
-#~ msgid "Please relog into %s to activate the changes"
-#~ msgstr "Teken asb. weer in %s om veranderinge te aktiveer"
-
-#~ msgid "Expert Area"
-#~ msgstr "Kundige area"
-
-#~ msgid "Wizard..."
-#~ msgstr "Assistent..."
-
-#~ msgid "We are now going to configure the %s connection."
-#~ msgstr "Ons gaan nou die %s konneksie herkonfigureer."
-
-#~ msgid "Name: %s\n"
-#~ msgstr "Naam: %s\n"
-
-#~ msgid "New configuration (isdn-light)"
-#~ msgstr "Nuwe konfigurasie (Ligte ISDN/isdn-light)"
-
-#~ msgid "Old configuration (isdn4net)"
-#~ msgstr "Ou konfigurasie (isdn4net)"
-
-#~ msgid "Internet connection & configuration"
-#~ msgstr "Internetkonneksie en konfigurasie"
-
-#~ msgid "Disconnect"
-#~ msgstr "Diskonnekteer"
-
-#~ msgid "Connect"
-#~ msgstr "Konnekteer"
-
-#~ msgid ""
-#~ "\n"
-#~ "You can reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ "U kan u konneksie herkonfigureer."
-
#~ msgid ""
#~ "\n"
-#~ "You can connect to the Internet or reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ "U kan aan die internet konnekter of u konneksie herkonfigureer."
-
-#~ msgid "You are not currently connected to the Internet."
-#~ msgstr "U is nie tans aan die internet gekonnekteer nie."
-
-#~ msgid ""
-#~ "\n"
-#~ "You can disconnect or reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ "U kan diskonnekteer or herkonfigureer."
-
-#~ msgid "You are currently connected to the Internet."
-#~ msgstr "U is tans aan die internet gekonnekteer."
-
-#~ msgid "Office"
-#~ msgstr "Kantoor"
-
-#~ msgid "Set of tools for mail, news, web, file transfer, and chat"
-#~ msgstr "Hulpprogramme vir e-pos, netnuus, web, FTP en netpraat"
-
-#~ msgid "Games"
-#~ msgstr "Speletjies"
-
-#~ msgid "Multimedia - Graphics"
-#~ msgstr "Multimedia - Grafika"
-
-#~ msgid "Multimedia - Sound"
-#~ msgstr "Multimedia - Klank"
-
-#~ msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-#~ msgstr "Klankprogramme: MP3- of MIDI-spelers, mengers, ens."
-
-#~ msgid "Multimedia - Video"
-#~ msgstr "Multimedia - Video"
-
-#~ msgid "Video players and editors"
-#~ msgstr "Videospelers en -redigeerders"
-
-#~ msgid "Multimedia - CD Burning"
-#~ msgstr "Multimedia - CD Sny"
-
-#~ msgid "Tools to create and burn CD's"
-#~ msgstr "Hulpprogramme vir die skep en brand van CDs"
-
-#~ msgid "More Graphical Desktops (Gnome, IceWM)"
-#~ msgstr "Addisionele grafiese werkskerms (Gnome, IceWM)"
-
-#~ msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-#~ msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, ens."
+#~ "Usage: harddrake [-h|--help] [--test]\n"
+#~ msgstr "gebruik: keyboarddrake [--expert] [SleutelbordNaam]\n"
-#~ msgid "Personal Information Management"
-#~ msgstr "Persoonlike Inligtingbestuur."
-
-#~ msgid "Tools for your Palm Pilot or your Visor"
-#~ msgstr "Nutsprogramme vir PalmPilot en/of Visor"
-
-#~ msgid "Personal Finance"
-#~ msgstr "Persoonlike finansies"
-
-#~ msgid "Programs to manage your finances, such as gnucash"
-#~ msgstr "Programme om u finansies te bestuur, soos GNUcash"
-
-#~ msgid "no network card found"
-#~ msgstr "geen netwerkkaart gevind nie"
-
-#~ 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''."
-
-#~ msgid "DrakFloppy Error: %s"
-#~ msgstr "DrakFloppy Fout: %s"
-
-#~ msgid "Launch Aurora at boot time"
-#~ msgstr "Laai Aurora met herlaaityd"
-
-#~ msgid "Traditional Gtk+ Monitor"
-#~ msgstr "Tradisionele Gtk+ Monitor"
-
-#~ msgid "Traditional Monitor"
-#~ msgstr "Tradisionele monitor"
-
-#~ msgid "NewStyle Monitor"
-#~ msgstr "Nuwe styl monitor"
-
-#~ msgid "NewStyle Categorizing Monitor"
-#~ msgstr "Nuwe monitorkategoriasiestyl"
-
-#~ msgid "Mail/Groupware/News"
-#~ msgstr "E-pos/Groepware/Netnuus"
-
-#~ msgid "Postfix mail server, Inn news server"
-#~ msgstr "Postfix e-posbediener, Inn netnuusbediener"
-
-#~ msgid "/Options"
-#~ msgstr "/Opsies"
-
-#~ 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,"
-
-#~ 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 gebruik sal dit nie werk nie en as u nie LILO "
-#~ "gebruik\n"
-#~ "nie, dan het u nie /boot nodig nie."
-
-#~ msgid ""
-#~ "You must indicate where you wish to place the information required to "
-#~ "boot\n"
-#~ "GNU/Linux.\n"
-#~ "\n"
-#~ "Unless you know exactly what you are doing, choose \"First sector of "
-#~ "drive\n"
-#~ "(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."
+#~ msgid "usage: keyboarddrake [--expert] [keyboard]\n"
+#~ msgstr "gebruik: keyboarddrake [--expert] [SleutelbordNaam]\n"
-#~ msgid "Test ports"
-#~ msgstr "Toets poorte"
+#~ msgid "detected on interface %s"
+#~ msgstr "op koppelvlak %s bespeur"
diff --git a/perl-install/share/po/ar.po b/perl-install/share/po/ar.po
index 8803bb497..ad1639033 100644
--- a/perl-install/share/po/ar.po
+++ b/perl-install/share/po/ar.po
@@ -6,5024 +6,3059 @@
msgid ""
msgstr ""
"Project-Id-Version: DrakX\n"
-"POT-Creation-Date: 2003-12-03 03:09+0100\n"
-"PO-Revision-Date: 2003-08-19 14:36-0300\n"
+"POT-Creation-Date: 2002-12-05 19:52+0100\n"
+"PO-Revision-Date: 2001-5-12 HO:MI+ZONE\n"
"Last-Translator: Mohammed Gamal <f2c2001@yahoo.com>\n"
-"Language-Team: Arabic\n"
+"Language-Team: Arabic \n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.9.6\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Scanning partitions to find mount points"
-msgstr "جاري عمل مسح للتجزئات لإيجاد نقاط التحميل"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of suid root files."
-msgstr "if set to yes, check additions/removals of suid root files."
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, "
-"0/1 for Local Config...\n"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Configuration changed - restart clusternfs/dhcpd?"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t\tErase=%s"
-msgstr "\t\tErase=%s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Differential backups only save files that have changed or are new since the "
-"original 'base' backup."
-msgstr ""
+#: ../../Xconfig/card.pm_.c:16
+msgid "256 kB"
+msgstr "256 كيلوبايت"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "network printer port"
-msgstr "منفذ طابعة الشبكة"
+#: ../../Xconfig/card.pm_.c:17
+msgid "512 kB"
+msgstr "512 كيلوبايت"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Please insert floppy disk:"
-msgstr "فضلاً أدخل قرص مرن:"
+#: ../../Xconfig/card.pm_.c:18
+msgid "1 MB"
+msgstr "1 ميغابايت"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "DrakTermServ"
-msgstr ""
+#: ../../Xconfig/card.pm_.c:19
+msgid "2 MB"
+msgstr "2 ميغابايت"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "PCMCIA"
-msgstr "PCMCIA"
+#: ../../Xconfig/card.pm_.c:20
+msgid "4 MB"
+msgstr "4 ميغابايت"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"جدول التقسيم المحفوظ ليس بنفس الحجم\n"
-"لا زلت تريد الإكمال؟"
+#: ../../Xconfig/card.pm_.c:21
+msgid "8 MB"
+msgstr "8 ميغابايت"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Which username"
-msgstr "أي اسم مستخدم"
+#: ../../Xconfig/card.pm_.c:22
+msgid "16 MB"
+msgstr "16 ميغابايت"
-#: ../../any.pm:1
-#, c-format
-msgid "Which type of entry do you want to add?"
-msgstr "ما نوع المدخل الذي تريد اضافته؟"
+#: ../../Xconfig/card.pm_.c:23
+msgid "32 MB"
+msgstr "32 ميغابايت"
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Restore partition table"
-msgstr "استعادة جدول التقسيم"
+#: ../../Xconfig/card.pm_.c:24
+msgid "64 MB or more"
+msgstr "64 ميغابايت أو أكثر"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure hostname..."
-msgstr "إعداد اسم المستضيف..."
+#: ../../Xconfig/card.pm_.c:203
+msgid "Choose a X server"
+msgstr "إختر خادم X"
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "On CUPS server \"%s\""
-msgstr "على خادم CUPS \"%s\""
+#: ../../Xconfig/card.pm_.c:203
+msgid "X server"
+msgstr "خادم X"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Post-install configuration"
-msgstr "تهيئة ما بعد التثبيت"
+#: ../../Xconfig/card.pm_.c:230
+msgid "Multi-head configuration"
+msgstr "إعداد متعدد الرؤوس"
-#: ../../standalone/drakperm:1
-#, c-format
+#: ../../Xconfig/card.pm_.c:231
msgid ""
-"The current security level is %s\n"
-"Select permissions to see/edit"
+"Your system support multiple head configuration.\n"
+"What do you want to do?"
msgstr ""
+"نظامك يدعم الإعداد متعدد الرؤوس.\n"
+"ماذا تريد أن تفعل؟"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "استخدم ``%s'' بدلا من ذلك"
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Type"
-msgstr "النوع"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Also printers configured with the PPD files provided by their manufacturers "
-"or with native CUPS drivers cannot be transferred."
-msgstr ""
-"\n"
-"أيضاً الطابعات المهيئة بملفات PPD من مصنّعيها أو بمشغلات CUPS الخاصة بها لا "
-"يمكن نقلها."
+#: ../../Xconfig/card.pm_.c:288
+msgid "Select the memory size of your graphics card"
+msgstr "إختر حجم ذاكرة بطاقة الشاشة"
-#: ../../lang.pm:1
-#, c-format
-msgid "Sri Lanka"
-msgstr "سريلانكا"
+#: ../../Xconfig/card.pm_.c:349
+msgid "XFree configuration"
+msgstr "إعداد XFree"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr ""
-"الطابعات التالية\n"
-"\n"
-"%s%s\n"
-"متصلة مباشرةً بنظامك"
+#: ../../Xconfig/card.pm_.c:351
+msgid "Which configuration of XFree do you want to have?"
+msgstr "أي اعداد لـXFree تريد؟"
-#: ../../lang.pm:1
-#, c-format
-msgid "Central African Republic"
-msgstr "جمهورية وسط أفريقية"
+#: ../../Xconfig/card.pm_.c:383
+msgid "Configure all heads independently"
+msgstr "اعداد كل الرؤوس بشكل مستقل"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway device"
-msgstr "جهاز البوابة"
+#: ../../Xconfig/card.pm_.c:384
+msgid "Use Xinerama extension"
+msgstr "استخدام امتداد Xinerama"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Advanced preferences"
-msgstr "تفضيلات متقدمة"
+#: ../../Xconfig/card.pm_.c:389
+#, fuzzy, c-format
+msgid "Configure only card \"%s\"%s"
+msgstr "قم بإعداد البطاقة \"%s\" فقط (%s)"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/card.pm_.c:401 ../../Xconfig/card.pm_.c:402
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Net Method:"
-msgstr "Net Method:"
+msgid "XFree %s"
+msgstr "XFree %s"
-#: ../../harddrake/data.pm:1
+#: ../../Xconfig/card.pm_.c:413 ../../Xconfig/card.pm_.c:439
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Ethernetcard"
-msgstr "بطاقة ايثرنت"
+msgid "XFree %s with 3D hardware acceleration"
+msgstr "XFree %s مع تسريع ثلاثي الأبعاد"
-#: ../../security/l10n.pm:1
+#: ../../Xconfig/card.pm_.c:416
#, c-format
-msgid "If set, send the mail report to this email address else send it to root"
+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 ""
-"عند التعيين, أرسل التقرير بالبريد الى هذا العنوان أو قم بإرساله الى المستخدم "
-"الجذر"
-
-#: ../../modules/interactive.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Parameters"
-msgstr "Parameters"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "no"
-msgstr "لا"
-
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Auto-detect"
-msgstr "تحقق آلي"
+"يمكن لبطاقتك الحصول على دعم للتسريع ثلاثي الأبعاد لكن فقط مع XFree %s.\n"
+"بطاقتك مدعومة عن طريق XFree %s التي يمكن أن تكون مدعومة بشل أفضل في الوضع "
+"ثنائي الأبعاد."
-#: ../../standalone/drakconnect:1
+#: ../../Xconfig/card.pm_.c:418 ../../Xconfig/card.pm_.c:441
#, c-format
-msgid "Interface:"
-msgstr "الواجهة:"
+msgid "Your card can have 3D hardware acceleration support with XFree %s."
+msgstr "يمكن لبطاقتك الحصول على دعم للتسريع ثلاثي الأبعاد مع XFree %s"
-#: ../../steps.pm:1
+#: ../../Xconfig/card.pm_.c:426 ../../Xconfig/card.pm_.c:447
#, c-format
-msgid "Select installation class"
-msgstr "اختر نوع التثبيت"
+msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
+msgstr "XFree %s مع دعم تجريبي للرسوم ثلاثية الأبعاد"
-#: ../../network/tools.pm:1
+#: ../../Xconfig/card.pm_.c:429
#, c-format
msgid ""
-"The system doesn't seem to be connected to the Internet.\n"
-"Try to reconfigure your connection."
+"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"
+"لاحظ أن هذا الدعم تجريبي و قد يتسبب في ايقاف جهازك.\n"
+"بطاقتك مدعومة عن طريق XFree %s التي يمكن أن تكون مدعومة بشكل أفضل في وضعية "
+"الرسوم ثنائية الأبعاد."
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:432 ../../Xconfig/card.pm_.c:449
#, c-format
msgid ""
-"Connect your printer to a Linux server and let your Windows machine(s) "
-"connect to it as a client.\n"
-"\n"
-"Do you really want to continue setting up this printer as you are doing now?"
+"Your card can have 3D hardware acceleration support with XFree %s,\n"
+"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
msgstr ""
-"وصّل الطابعة الى خادم Linux و اجعل ماكينات Windows تتصل به كعملاء.\n"
-"\n"
-"هل تريد فعلاً متابعة اعداد هذه الطابعة كما تفعل الآن؟"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Belarus"
-msgstr "روسيا البيضاء"
+"يمكن لبطاقتك التمتع بدعم للرسوم ثلاثية الأبعاد مع XFree %s, \n"
+"لاحظ أن هذا الدعم تجريبي و قد يتسبب في ايقاف جهازك."
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Error writing to file %s"
-msgstr "خطأ أثناء الكتابة الى الملف %s"
+#: ../../Xconfig/card.pm_.c:455
+msgid "Xpmac (installation display driver)"
+msgstr "Xpmac (مشغل عرض التثبيت)"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result to syslog"
-msgstr "أرسل تقرير بنتيجة الاختبار الى syslog"
+#: ../../Xconfig/main.pm_.c:76 ../../Xconfig/main.pm_.c:77
+#: ../../Xconfig/monitor.pm_.c:96 ../../any.pm_.c:961
+msgid "Custom"
+msgstr "مخصص"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"apmd is used for monitoring battery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
-msgstr ""
-"تُستخدم apmd لمراقبة حالة البطارية و تسجيلها عن طريق syslog.\n"
-"يمكن كذلك استخدامها لإغلاق الجهاز عند ضعف البطارية."
+#: ../../Xconfig/main.pm_.c:102
+#, fuzzy
+msgid "Graphic Card"
+msgstr "بطاقة الشاشة"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tape to backup"
-msgstr "استخم الشريط للنسخ الإحتياطي"
+#: ../../Xconfig/main.pm_.c:105 ../../Xconfig/monitor.pm_.c:93
+msgid "Monitor"
+msgstr "الشاشة"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be installed"
-msgstr "سيتم تثبيت الحزم التالية"
+#: ../../Xconfig/main.pm_.c:108 ../../Xconfig/resolution_and_depth.pm_.c:210
+msgid "Resolution"
+msgstr "دقة العرض"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS configuration"
-msgstr "CUPS تهيئة"
+#: ../../Xconfig/main.pm_.c:113
+msgid "Test"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total progress"
-msgstr "اجمالي التقدم"
+#: ../../Xconfig/main.pm_.c:118 ../../diskdrake/dav.pm_.c:67
+#: ../../diskdrake/interactive.pm_.c:393 ../../diskdrake/removable.pm_.c:25
+#: ../../diskdrake/smbnfs_gtk.pm_.c:86
+msgid "Options"
+msgstr "خيارات"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Not enough free space to allocate new partitions"
-msgstr "لا توجد مساحة فارغة لعمل التجزئات الجديدة"
+#: ../../Xconfig/main.pm_.c:122 ../../Xconfig/resolution_and_depth.pm_.c:269
+#: ../../install_gtk.pm_.c:86 ../../install_steps_gtk.pm_.c:274
+#: ../../interactive.pm_.c:127 ../../interactive.pm_.c:142
+#: ../../interactive.pm_.c:345 ../../interactive/http.pm_.c:104
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../interactive/stdio.pm_.c:144 ../../my_gtk.pm_.c:159
+#: ../../my_gtk.pm_.c:287 ../../my_gtk.pm_.c:310 ../../security/main.pm_.c:181
+#: ../../standalone/drakbackup_.c:3920 ../../standalone/drakbackup_.c:4015
+#: ../../standalone/drakbackup_.c:4034 ../../ugtk2.pm_.c:435
+#: ../../ugtk2.pm_.c:926 ../../ugtk2.pm_.c:949
+msgid "Ok"
+msgstr "موافق"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving"
-msgstr "جاري النقل"
+#: ../../Xconfig/main.pm_.c:122 ../../diskdrake/dav.pm_.c:28
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/draksplash_.c:114
+#: ../../standalone/harddrake2_.c:152 ../../standalone/logdrake_.c:204
+msgid "Quit"
+msgstr "خروج"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/main.pm_.c:145
#, c-format
msgid ""
+"Keep the changes?\n"
+"The current configuration is:\n"
"\n"
-"Drakbackup activities via %s:\n"
-"\n"
+"%s"
msgstr ""
+"هل تريد حفظ التغييرات؟\n"
+"الإعداد الحالي هو:\n"
"\n"
-"نشاطات Drakbackup عن طريق %s:\n"
-"\n"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "yes"
-msgstr "نعم"
+"%s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "("
-msgstr "("
+#: ../../Xconfig/monitor.pm_.c:93
+msgid "Choose a monitor"
+msgstr "إختر شاشة"
-#: ../../network/netconnect.pm:1
-#, c-format
-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"
+#: ../../Xconfig/monitor.pm_.c:97
+msgid "Plug'n Play"
msgstr ""
-"أهلاً بك في معالج تهيئة الشبكة.\n"
-"\n"
-"نحن على وشك تهيئة وصلة الشبكة/الإنترنت الخاصة بك.\n"
-"اذا لم تريد استخدام التحقق الآلي, احذف التأشير من على الصندوق.\n"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ")"
-msgstr ")"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lebanon"
-msgstr "لبنان"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-#: ../../services.pm:1
-#, c-format
-msgid "Stop"
-msgstr "توقف"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Edit selected host"
-msgstr "حرر المستضيف المختار"
+#: ../../Xconfig/monitor.pm_.c:98 ../../mouse.pm_.c:46
+msgid "Generic"
+msgstr "Generic"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD device defined!"
-msgstr "لم يتم تعريف جهاز قرص مدمج!"
+#: ../../Xconfig/monitor.pm_.c:99 ../../standalone/harddrake2_.c:67
+#: ../../standalone/harddrake2_.c:68
+#, fuzzy
+msgid "Vendor"
+msgstr "تراجع"
-#: ../../network/shorewall.pm:1
-#, fuzzy, c-format
-msgid ""
-"Please enter the name of the interface connected to the "
-"internet. \n"
-" \n"
-"Examples:\n"
-" ppp+ for modem or DSL connections, \n"
-" eth0, or eth1 for cable connection, \n"
-" ippp+ for a isdn connection.\n"
+#: ../../Xconfig/monitor.pm_.c:109
+msgid "Plug'n Play probing failed. Please choose a precise monitor"
msgstr ""
-"فضلاً أدخل اسم الواجهة المتصلة بالإنترنت.\n"
-"\n"
-"أمثلة:\n"
-"\t\tppp+ لوصلات المودم و DSL, \n"
-"\t\teth0, أو eth1 لوصلات الكيبل, \n"
-"\t\tippp+ لوصلات ISDN.\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tUse .backupignore files\n"
-msgstr "\tاستخدم ملفات .backupignore\n"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (phonetic)"
-msgstr "البلغارية (صوتية)"
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP start ip"
-msgstr "DHCP start ip"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "256 kB"
-msgstr "256 كيلوبايت"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Don't rewind tape after backup"
-msgstr "لا تقم بإرجاع الشريط بعد النسخ"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader main options"
-msgstr "خيارات محمّل الإقلاع الرئيسية"
-#: ../../standalone.pm:1
-#, c-format
+#: ../../Xconfig/monitor.pm_.c:114
msgid ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
+"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 ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
+"المعاملان المهمان جدا هما نسبة الإنعاش الأفقي, و هي النسبة التي\n"
+"يتم فيها انعاش الشاشة كاملة, و الأهم هو نسبة التزامن الأفقي\n"
+"و التي في خلالها يتم عرض خطوط المسح.\n"
+"\n"
+"من *المهم جدا* أن لا تحدد نوع شاشة مع متوسط تزامن\n"
+"أكبر من مقدرة شاشتك لأنك بهذا قد تدمر شاشتك.\n"
+" اذا لم تكن متأكدا يمكنك اختيار اعدادات عادية."
-#: ../../harddrake/data.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Tape"
-msgstr "شريط البيانات"
+#: ../../Xconfig/monitor.pm_.c:121
+msgid "Horizontal refresh rate"
+msgstr "نسبة الإنعاش الأفقي"
-#: ../../lang.pm:1
-#, c-format
-msgid "Malaysia"
-msgstr "ماليزيا"
+#: ../../Xconfig/monitor.pm_.c:122
+msgid "Vertical refresh rate"
+msgstr "نسبة الإنعاش الرأسي"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Scanning network..."
-msgstr "جاري مسح الشبكة..."
+#: ../../Xconfig/resolution_and_depth.pm_.c:12
+msgid "256 colors (8 bits)"
+msgstr "256 لون (8 بت)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"With this option you will be able to restore any version\n"
-" of your /etc directory."
-msgstr ""
-"بهذا الخيار يمكنك استرجاع أي نسخة من\n"
-" دليل /etc الخاص بك."
+#: ../../Xconfig/resolution_and_depth.pm_.c:13
+msgid "32 thousand colors (15 bits)"
+msgstr "32 ألف لون (15 بت)"
-#: ../../standalone/drakedm:1
-#, c-format
-msgid "The change is done, do you want to restart the dm service ?"
-msgstr "تم عمل التغيير, هل تريد اعادة تشغيل خدمة dm ؟"
+#: ../../Xconfig/resolution_and_depth.pm_.c:14
+msgid "65 thousand colors (16 bits)"
+msgstr "65 ألف لون (16 بت)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (French layout)"
-msgstr "السويسرية (تصميم فرنسي)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:15
+msgid "16 million colors (24 bits)"
+msgstr "16 مليون لون (24 بت)"
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "فشل mkraid (ربما تكون حزمة raidtools مفقودة؟)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:16
+msgid "4 billion colors (32 bits)"
+msgstr "4 بليون لون (32 بت)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "August"
-msgstr "أغسطس"
+#: ../../Xconfig/resolution_and_depth.pm_.c:130
+msgid "Resolutions"
+msgstr "دقة العرض"
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "FTP server"
-msgstr "خادم NTP"
+#: ../../Xconfig/resolution_and_depth.pm_.c:255
+msgid "Choose the resolution and the color depth"
+msgstr "اختر دقة العرض و عمق الألوام"
-#: ../../harddrake/data.pm:1
+#: ../../Xconfig/resolution_and_depth.pm_.c:256
#, c-format
-msgid "Webcam"
-msgstr "كاميرات الويب"
+msgid "Graphics card: %s"
+msgstr "بطاقة الشاشة: %s"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "size of the (second level) cpu cache"
-msgstr "حجم ذاكرة المعالج المخبئية (المستوى الثاني)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:269 ../../any.pm_.c:1001
+#: ../../bootlook.pm_.c:336 ../../diskdrake/smbnfs_gtk.pm_.c:87
+#: ../../install_steps_gtk.pm_.c:405 ../../install_steps_gtk.pm_.c:463
+#: ../../interactive.pm_.c:142 ../../interactive.pm_.c:345
+#: ../../interactive/http.pm_.c:105 ../../interactive/newt.pm_.c:194
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../my_gtk.pm_.c:158 ../../my_gtk.pm_.c:162 ../../my_gtk.pm_.c:287
+#: ../../network/netconnect.pm_.c:39 ../../printer/printerdrake.pm_.c:2055
+#: ../../security/main.pm_.c:228 ../../standalone/drakautoinst_.c:198
+#: ../../standalone/drakbackup_.c:3874 ../../standalone/drakbackup_.c:3907
+#: ../../standalone/drakbackup_.c:3933 ../../standalone/drakbackup_.c:3960
+#: ../../standalone/drakbackup_.c:3987 ../../standalone/drakbackup_.c:4047
+#: ../../standalone/drakbackup_.c:4074 ../../standalone/drakbackup_.c:4104
+#: ../../standalone/drakbackup_.c:4130 ../../standalone/drakconnect_.c:112
+#: ../../standalone/drakconnect_.c:144 ../../standalone/drakconnect_.c:286
+#: ../../standalone/drakconnect_.c:534 ../../standalone/drakconnect_.c:677
+#: ../../standalone/drakfloppy_.c:207 ../../standalone/drakfont_.c:918
+#: ../../standalone/drakgw_.c:557 ../../standalone/logdrake_.c:204
+#: ../../standalone/net_monitor_.c:337 ../../ugtk.pm_.c:295
+#: ../../ugtk2.pm_.c:362 ../../ugtk2.pm_.c:434 ../../ugtk2.pm_.c:438
+#: ../../ugtk2.pm_.c:926
+msgid "Cancel"
+msgstr "الغاء"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Soundcard"
-msgstr "بطاقة الصوت"
+#: ../../Xconfig/test.pm_.c:29
+msgid "Test of the configuration"
+msgstr "اختبار الإعداد"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Month"
-msgstr "الشهر"
+#: ../../Xconfig/test.pm_.c:30
+msgid "Do you want to test the configuration?"
+msgstr "هل تريد تجربة الإعداد؟"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Search for files to restore"
-msgstr "ابحث عن الملفات المطلوب استعادتها"
+#: ../../Xconfig/test.pm_.c:30
+#, fuzzy
+msgid "Warning: testing this graphic card may freeze your computer"
+msgstr "تحذير: اختبار بطاقة العرض هذه قد يتسب في ايقاف جهازك"
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:29
#, c-format
-msgid "Luxembourg"
-msgstr "لوكسمبورغ"
+msgid "Keyboard layout: %s\n"
+msgstr "لوحة المفاتيح: %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/various.pm_.c:30
#, c-format
-msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\".\n"
-msgstr "لطباعة ملف من سطر الأوامر استخدام الأمر \"%s <file>\".\n"
+msgid "Mouse type: %s\n"
+msgstr "نوع الفأرة: %s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../Xconfig/various.pm_.c:31
#, c-format
-msgid "Level %s\n"
-msgstr "المستوى %s\n"
+msgid "Mouse device: %s\n"
+msgstr "جهاز الفأرة: %s\n"
-#: ../../keyboard.pm:1
+#: ../../Xconfig/various.pm_.c:32
#, c-format
-msgid "Syriac (phonetic)"
-msgstr "السريانية (صوتي)"
+msgid "Monitor: %s\n"
+msgstr "الشاشة: %s\n"
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:33
#, c-format
-msgid "Iran"
-msgstr "ايران"
+msgid "Monitor HorizSync: %s\n"
+msgstr "تزامن الشاشة الأفقي: %s\n"
-# U+200F (RTL mark) has been inserted after "Bus" so the display
-# on screen is correctly "datadatadata :Bus", and not "Bus: datadatadata"
-#: ../../standalone/harddrake2:1
+#: ../../Xconfig/various.pm_.c:34
#, c-format
-msgid "Bus"
-msgstr "Bus‏"
+msgid "Monitor VertRefresh: %s\n"
+msgstr "انعاش الشاشة الرأسي: %s\n"
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:35
#, c-format
-msgid "Iraq"
-msgstr "العراق"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "connecting to %s ..."
-msgstr "جاري الإتصال بمعالج Bugzilla ..."
+msgid "Graphics card: %s\n"
+msgstr "بطاقة الشاشة: %s\n"
-#: ../../standalone/drakgw:1
+#: ../../Xconfig/various.pm_.c:36
#, c-format
-msgid "Potential LAN address conflict found in current config of %s!\n"
-msgstr ""
-"تم ايجاد تعارض في عنوان الشبكة المحلية المبدئي في الإعداد الحالي لـ%s!\n"
+msgid "Graphics memory: %s kB\n"
+msgstr "ذاكرة بطاقة الشاشة: %s كيلوبايت\n"
-#: ../../standalone/drakgw:1
+#: ../../Xconfig/various.pm_.c:38
#, c-format
-msgid "Configuring..."
-msgstr "جاري الإعداد..."
+msgid "Color depth: %s\n"
+msgstr "عمق الألوان: %s\n"
-#: ../../harddrake/v4l.pm:1
+#: ../../Xconfig/various.pm_.c:39
#, c-format
-msgid ""
-"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
-"detect the rights parameters.\n"
-"If your card is misdetected, you can force the right tuner and card types "
-"here. Just select your tv card parameters if needed."
-msgstr ""
-"لأغلب بطاقات التلفاز الحديثة, وحدة bttv لنواة Linux يمكنها التحقق آلياً من "
-"المعاملات الصحيحة.\n"
-"اذا تم التعرف على البطاقة بشكل خاطئ, يمكنك ادخال التونر و نوع البطاقة الصحيح "
-"هنا. فقط اختر المعاملات المناسبة لبطاقة الشاشة."
+msgid "Resolution: %s\n"
+msgstr "دقة العرض: %s\n"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
+#: ../../Xconfig/various.pm_.c:41
#, c-format
-msgid "Password (again)"
-msgstr "كلمة المرور (ثانية)"
+msgid "XFree86 server: %s\n"
+msgstr "خادم XFree86: %s\n"
-#: ../../standalone/drakfont:1
+#: ../../Xconfig/various.pm_.c:42
#, c-format
-msgid "Search installed fonts"
-msgstr "ابحث في الخطوط المثبتة"
+msgid "XFree86 driver: %s\n"
+msgstr "مشغل XFree86: %s\n"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default desktop"
-msgstr "سطح المكتب الإفتراضي"
+#: ../../Xconfig/various.pm_.c:61
+msgid "Graphical interface at startup"
+msgstr "واجهة رسومية عند بدء التشغيل"
-#: ../../standalone/drakbug:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:62
msgid ""
-"To submit a bug report, click on the button report.\n"
-"This will open a web browser window on %s\n"
-" where you'll find a form to fill in. The information displayed above will "
-"be \n"
-"transferred to that server."
+"I can setup your computer to automatically start the graphical interface "
+"(XFree) upon booting.\n"
+"Would you like XFree to start when you reboot?"
msgstr ""
-"لتسليم تقرير العيوب, اضغط على زر تقرير.\n"
-"سيقوم هذا بقتح متصفح ويب على الصفحة %s\n"
-" حيث ستجد استمارة عليك ملؤها. المعلومات المذكرة أعلاه سيتم نقلها\n"
-"الى ذلك الخادم"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Venezuela"
-msgstr "فينزويلا"
-
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "IP address"
-msgstr "عنوان IP"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Choose the sizes"
-msgstr "اختر الأحجام"
+"يمكنني جعل جهازك يبدأ X بشكل آلي بعد الإقلاع.\n"
+"هل تريد X أن بيدأ بعد إعادة تشغيل جهازك؟"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:73
msgid ""
-"List of data corrupted:\n"
+"Your graphic card seems to have a TV-OUT connector.\n"
+"It can be configured to work using frame-buffer.\n"
"\n"
-msgstr ""
-"قائمة بالبيانات الفاسدة:\n"
+"For this you have to plug your graphic card to your TV before booting your "
+"computer.\n"
+"Then choose the \"TVout\" entry in the bootloader\n"
"\n"
-
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Can only be mounted explicitly (i.e.,\n"
-"the -a option will not cause the file system to be mounted)."
+"Do you have this feature?"
msgstr ""
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"Your modem isn't supported by the system.\n"
-"Take a look at http://www.linmodems.org"
+#: ../../Xconfig/various.pm_.c:85
+msgid "What norm is your TV using?"
msgstr ""
-"المودم لديك غير مدعوم من النظام.\n"
-"الق نظرة على http://www.linmodems.org"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose another partition"
-msgstr "إختر شاشة"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Current user"
-msgstr "المستخدم الحالي"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132
+msgid "First sector of boot partition"
+msgstr "القطاع اول من تجزئة الإقلاع"
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Username"
-msgstr "اسم المستخدم"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132 ../../any.pm_.c:209
+msgid "First sector of drive (MBR)"
+msgstr "القطاع الأول من القرص (MBR)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left \"Windows\" key"
-msgstr "مفتاح \"Windows\" الأيسر"
+#: ../../any.pm_.c:111
+msgid "SILO Installation"
+msgstr "تثبيت SILO"
-#: ../../lang.pm:1
-#, c-format
-msgid "Guyana"
-msgstr "غويانا"
+#: ../../any.pm_.c:112 ../../any.pm_.c:125
+msgid "Where do you want to install the bootloader?"
+msgstr "أين تريد تثبيت محمّل الإقلاع؟"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Server Configuration"
-msgstr "تهيئة خادم dhcpd"
+#: ../../any.pm_.c:124
+msgid "LILO/grub Installation"
+msgstr "تثبيت LILO/grub"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid ""
-"Used for directory:\n"
-" only owner of directory or file in this directory can delete it"
-msgstr ""
-"يُستخدم للدليل:\n"
-" يمكن فقط لمالك هذا الدليل أو الملف الغاؤه"
+#: ../../any.pm_.c:136 ../../any.pm_.c:150
+msgid "SILO"
+msgstr "SILO"
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on Novell server \"%s\", printer \"%s\""
-msgstr " على خادم Novell \"%s\", الطابعة \"%s\""
+#: ../../any.pm_.c:138
+msgid "LILO with text menu"
+msgstr "LILO مع قائمة نصية"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Printer Name"
-msgstr "اسم صف الطابعة"
+#: ../../any.pm_.c:139 ../../any.pm_.c:150
+msgid "LILO with graphical menu"
+msgstr "LILO مع قائمة رسومية"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Setting up USB key"
-msgstr ""
+#: ../../any.pm_.c:142
+msgid "Grub"
+msgstr "Grub"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Remove a module"
-msgstr "ازالة وحدة"
+#: ../../any.pm_.c:146
+msgid "Boot from DOS/Windows (loadlin)"
+msgstr "الإقلاع من DOS/Windows (loadlin)"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../network/modem.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Password"
-msgstr "كلمة المرور"
+#: ../../any.pm_.c:148 ../../any.pm_.c:150
+msgid "Yaboot"
+msgstr "Yaboot"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Advanced Configuration"
-msgstr "إعداد متقدم"
+#: ../../any.pm_.c:158 ../../any.pm_.c:189
+msgid "Bootloader main options"
+msgstr "خيارات محمّل الإقلاع الرئيسية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Scanning on your HP multi-function device"
-msgstr "جاري المسح على جهاز HP متعدد الوظائف"
+#: ../../any.pm_.c:159 ../../any.pm_.c:190
+msgid "Bootloader to use"
+msgstr "محمّل الإقلاع المُستخدم"
-#: ../../any.pm:1
-#, c-format
-msgid "Root"
-msgstr "الجذر"
+#: ../../any.pm_.c:161
+msgid "Bootloader installation"
+msgstr "تثبيت محمل الإقلاع"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing RAID to add to"
-msgstr "اختر RAID موجود للاضافة"
+#: ../../any.pm_.c:163 ../../any.pm_.c:192
+msgid "Boot device"
+msgstr "جهاز الإقلاع"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (modern \"Q\" model)"
-msgstr "التركية (طراز \"Q\" الحديث)"
+#: ../../any.pm_.c:164
+msgid "Compact"
+msgstr "مدمج"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo message not found"
-msgstr "لم يتم ايجاد رسالة Lilo"
+#: ../../any.pm_.c:164
+msgid "compact"
+msgstr "مدمج"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-"اعادة توليد آلية لترويسة النواة في دليل /boot لـ\n"
-"/usr/include/linux/{autoconf,version}.h"
+#: ../../any.pm_.c:165 ../../any.pm_.c:289
+msgid "Video mode"
+msgstr "وضعية الفيدية"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "if needed"
-msgstr "اذا احتجته"
+#: ../../any.pm_.c:167
+msgid "Delay before booting default image"
+msgstr "توقيت ما قبل اقلاع الصورة الافتراضية"
-#: ../../standalone/drakclock:1
-#, c-format
-msgid ""
-"We need to install ntp package\n"
-" to enable Network Time Protocol"
-msgstr ""
+#: ../../any.pm_.c:169 ../../any.pm_.c:772
+#: ../../diskdrake/smbnfs_gtk.pm_.c:179
+#: ../../install_steps_interactive.pm_.c:1077 ../../network/modem.pm_.c:71
+#: ../../printer/printerdrake.pm_.c:803 ../../printer/printerdrake.pm_.c:916
+#: ../../standalone/drakbackup_.c:3478 ../../standalone/drakconnect_.c:622
+#: ../../standalone/drakconnect_.c:647
+msgid "Password"
+msgstr "كلمة المرور"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Failed..."
-msgstr "فشلت الإستعادة..."
+#: ../../any.pm_.c:170 ../../any.pm_.c:773
+#: ../../install_steps_interactive.pm_.c:1078
+msgid "Password (again)"
+msgstr "كلمة المرور (ثانية)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Store the password for this system in drakbackup configuration."
-msgstr ""
+#: ../../any.pm_.c:171
+msgid "Restrict command line options"
+msgstr "تشديد خيارات سطر الأوامر"
-#: ../../install_messages.pm:1
-#, c-format
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Mandrake "
-"Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read this document carefully. 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 "
-"occurence 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 Mandrake Linux 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\", \"Mandrake Linux\" 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"
-"نظام التشغيل و المكونات المختلفة الموجودة في توزيعة Mandrake Linux.\n"
-"ستسمى \"المنتجات البرمجية\" في ما بعد. المنتجات البرمجية تتضمن, و لكن غير "
-"محدودة في\n"
-"مجموعة البرامج و الطرق و القواعد و وثائق المساعدة المتعلقة بنظام\n"
-"التشغيل و المكونات المختلفة في توزيعة Mandrake Linux.\n"
-"\n"
-"\n"
-"1. اتفاقية الترخيص\n"
-"\n"
-"فضلاً اقرأ هذه الوثيقة باهتمام. هذه الوثيقة هي اتفاقية الترخيص بينك و \n"
-"بين MandrakeSoft S.A. و تنطبق على المنتجات البرمجية.\n"
-"بتثبيتك, مضاعفتك, أو استخدامك لهذه المنتجات البرمجيات بأي شكل فإنك\n"
-"تقبل بشكل نهائي و توافق بشكل كامل على البنود و الشروط الخاصة بهذا الترخيص. \n"
-"اذا كنت لا توافق على أي جزء من هذا الترخيص, فلن يسمح لك بتثبيت أو مضاعفة أو "
-"استخدام \n"
-"المنتجات البرمجية. \n"
-"أي محاولة لتثبيت أو مضاعفة أو استخدام المنتجات البرمجية بشكل لا يتوافق مع \n"
-"بنود و شروط هذا الترخيص هو غير صالح و سينهي حقوقك تحت هذا \n"
-"الترخيص. عند انهاء هذا الترخيص, يجب عليك تدمير جميع نسخ هذه \n"
-"المنتجات البرمجية.\n"
-"\n"
-"\n"
-"2. الضمان المحدود\n"
-"\n"
-"المنتجات البرمجية و وثائق المساعدة المرفقة هي مرفقة \"كما هي\",. بدون ضمان. "
-"حسب\n"
-"الحد الذي يسمح به القانون.\n"
-"لن تكون MandrakeSoft S.Aa تحت أي ظروف و الى الحد الذي يسمح به القانون مسؤولة "
-"عن أي خسارة خاصة,\n"
-"بسبب حادث, مباشرة, أو غير مباشرة (على سبيل المثال لا الحصر\n"
-"خسارة الأعمال, انقطاع الأعمال, الخسارة المالية, الرسوم القانونية, العقوبات "
-"الصادرة من حكم\n"
-"محكمة, أو أي خسارة ناتجة أخرى) بسبب استخدام أو عدم القدرة على استخدام هذه "
-"المنتجات \n"
-"البرمجية, حتى و إن تم نصح MandrakeSoft S.A. حول امكانية أو حدوث مثل هذه \n"
-"الخسائر.\n"
-"\n"
-"المسؤولية المحدودة المرتبطة بامتلاك أو استخدام البرمجيات الممنوعة في بعض "
-"البلدان\n"
-"\n"
-"الى الحد الذي يسمح به القانون, MandrakeSoft S.A. و موزعوها لن يكونوا, تحت أي "
-"ظروف, مسؤولين \n"
-"عن أي عن أي خسارة خاصة,\n"
-"بسبب حادث, مباشرة, أو غير مباشرة (على سبيل المثال لا الحصر\n"
-"خسارة الأعمال, انقطاع الأعمال, الخسارة المالية, الرسوم القانونية, العقوبات "
-"الصادرة من حكم\n"
-"محكمة, أو أي خسارة ناتجة أخرى) بسبب\n"
-"امتلاك و استخدام المكونات البرمجية أو بسبب تنزيل بعض المكونات البرمجية \n"
-"من أحد مواقع Mandrake Linux اذا كانت مثل هذه المكونات ممنوعة أو محدودة "
-"الاستخدام في بعض البلدان بسبب القوانين المحلية.\n"
-"هذه المسؤولية المحدودة تنطبق على, لكن غير محدودة في, مكونات التشفير القوية \n"
-"المضمنة في المنتجات البرمجية.\n"
-"\n"
-"\n"
-"3. الترخيص العمومي (GPL) و التراخيص ذات الصلة\n"
-"\n"
-"المنتجات البرمجية تتكون من مكونات تم انشاؤها عن طريق أشخاص أو كيانات "
-"مختلفة. معظم \n"
-"هذه المكونات هي تحت ترخيص GNU العمومي (GNU General Public Licence) \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\", \"Mandrake Linux\" , الشعارات المرتبطة هي علامات تجارية لـ "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. القوانين الحاكمة \n"
-"\n"
-"اذا كان أي جزء من الاتفاقية قد أصبح غير صالح, غير شرعي, أو غير قابل للتطبيق "
-"بحكم محكمة, سيتم \n"
-"استثناء هذا الجزء من العقد. و ستظل ملتزماً بالأجزاء الأخـرى القابلة للتطبيق "
-"من هذه \n"
-"الاتفاقية.\n"
-"بنود و شروط هذا الترخيص هي محكومة بموجب قوانين فرنسا.\n"
-"كافة النزاعات حول بنود هذا الترخيص سيتم حلها بشكل أفضل في المحكمة.\n"
-"كحل أخير, سيتم تحويل النزاع الى المحاكم القانونية المختصة في باريس - فرنسا.\n"
-"لأي سؤال حول هذه الوثيقة, فضلاً اتصل بـ MandrakeSoft S.A. \n"
+#: ../../any.pm_.c:171
+msgid "restrict"
+msgstr "تشديد"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default user"
-msgstr "المستخدم الإفتراضي"
+#: ../../any.pm_.c:173
+msgid "Clean /tmp at each boot"
+msgstr "قم بتنظيف /tmp عند كل إقلاع"
-#: ../../standalone/draksplash:1
+#: ../../any.pm_.c:174
#, c-format
-msgid ""
-"the progress bar x coordinate\n"
-"of its upper left corner"
-msgstr ""
-"الإحداثي السيني للركن الأيسر الأعلى\n"
-"لشريط التقدم"
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "حجم الذاكرة الدقيق عند الحاجة )تم ايجاد %d ميغابايت("
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Current interface configuration"
-msgstr "تهيئة الواجهة الحالية"
+#: ../../any.pm_.c:176
+msgid "Enable multi profiles"
+msgstr "تمكين التشكيلات المتعددة"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD - Line Printer Daemon"
-msgstr "LPD - Line Printer Daemon"
+#: ../../any.pm_.c:180
+msgid "Give the ram size in MB"
+msgstr "اكتب حجم الذاكرة بالميغابايت"
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../any.pm_.c:182
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"
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "خيار ``تشديد خيارات سطر الأوامر`` بدون قائدة من دون كلمة مرور"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not print any test page"
-msgstr "لا تطبع أي صفحات اختبارية"
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../diskdrake/interactive.pm_.c:1204
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "Please try again"
+msgstr "رجاء جاول مرة أخرى"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gurmukhi"
-msgstr "غورموكهي"
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "The passwords do not match"
+msgstr "كلمات المرور غير متطابقة"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s already in use\n"
-msgstr ""
+#: ../../any.pm_.c:191
+msgid "Init Message"
+msgstr "رسالة Init"
-#: ../../any.pm:1
-#, c-format
-msgid "Force No APIC"
-msgstr "اجبار على عدم استخدام APIC"
+#: ../../any.pm_.c:193
+msgid "Open Firmware Delay"
+msgstr "Open Firmware Delay"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "This password is too short (it must be at least %d characters long)"
-msgstr "كلمة المرو هذه قصيرة جداً (يجب أن تكون %d رموز على الأقل)"
+#: ../../any.pm_.c:194
+msgid "Kernel Boot Timeout"
+msgstr "الوقت الأقصى لإقلاع النواة"
-#: ../../standalone.pm:1
-#, c-format
-msgid "[keyboard]"
-msgstr "[keyboard]"
+#: ../../any.pm_.c:195
+msgid "Enable CD Boot?"
+msgstr "تمكين الإقلاع من القرص المدمج؟"
-#: ../../network/network.pm:1
-#, c-format
-msgid "FTP proxy"
-msgstr "بروكسي FTP"
+#: ../../any.pm_.c:196
+msgid "Enable OF Boot?"
+msgstr "تمكين اقلاع OF؟"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install List"
-msgstr "ثبّت القائمة"
+#: ../../any.pm_.c:197
+msgid "Default OS?"
+msgstr "نظام التشغيل الافتراضي؟"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:231
msgid ""
-"Change\n"
-"Restore Path"
-msgstr ""
-"غيّر\n"
-"مسار الإستعادة"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Show only for the selected day"
-msgstr "إعرض سجلات اليوم المختار فقط"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tLimit disk usage to %s MB\n"
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "512 kB"
-msgstr "512 كيلوبايت"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "(Note: Parallel ports cannot be auto-detected)"
-msgstr "(ملحوظة: المنافذ المتوازية لا يمكن التحقق منها آلياً)"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>N"
-msgstr "<control>N"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind of card do you have?"
-msgstr "ما هو نوع البطاقة لديك؟"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>O"
-msgstr "<control>O"
-
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Security"
-msgstr "الأمن"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../any.pm_.c:247
msgid ""
-"You can also use the graphical interface \"xpdq\" for setting options and "
-"handling printing jobs.\n"
-"If you are using KDE as desktop environment you have a \"panic button\", an "
-"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
-"jobs immediately when you click it. This is for example useful for paper "
-"jams.\n"
+"Here are the entries on your boot menu so far.\n"
+"You can add some more or change the existing ones."
msgstr ""
-"يمكنك كذلك استخدام البرنامج الرسومي \"xpdq\" لتعيين الخيارات و التعامل مع "
-"وظائف الطباعة.\n"
-"اذا كنت تستعمب كيدي كبيئة سطح مكتب فلديك أيقونة \"للطوارئ\", اسمها \"STOP "
-"Printer!\", تقوم بإيقاف كل وظائف الطباعة فوراً عند النقر عليها. هذا المثال "
-"مفيد للحالات التي يحصل فيها تعثر في استخدام الورق.\n"
+"ها هنا المدخلات المختلفة.\n"
+"يمكنك اضافة مدخلات أخرى أو تغيير الموجودين."
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "<control>Q"
-msgstr "<control>Q"
+#: ../../any.pm_.c:257 ../../standalone/drakbackup_.c:1531
+#: ../../standalone/drakbackup_.c:1644 ../../standalone/drakfont_.c:953
+#: ../../standalone/drakfont_.c:996
+msgid "Add"
+msgstr "اضافة"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Unable to find backups to restore...\n"
-msgstr "رجاء اختر تاريخ الإستعادة..."
+#: ../../any.pm_.c:257 ../../any.pm_.c:760 ../../diskdrake/dav.pm_.c:68
+#: ../../diskdrake/hd_gtk.pm_.c:156 ../../diskdrake/removable.pm_.c:27
+#: ../../diskdrake/smbnfs_gtk.pm_.c:88 ../../interactive/http.pm_.c:153
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/drakbackup_.c:2726
+msgid "Done"
+msgstr "انتهى"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown"
-msgstr "غير معروف"
+#: ../../any.pm_.c:257
+msgid "Modify"
+msgstr "تعديل"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This server is already in the list, it cannot be added again.\n"
-msgstr "هذا الخادم موجود في القائمة مسبقاً, لا يمكن اضافته مرة أخرى.\n"
+#: ../../any.pm_.c:265
+msgid "Which type of entry do you want to add?"
+msgstr "ما نوع المدخل الذي تريد اضافته؟"
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Network Configuration"
-msgstr "اعدادات الشبكة"
+#: ../../any.pm_.c:266 ../../standalone/drakbackup_.c:1674
+msgid "Linux"
+msgstr "لينكس"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>S"
-msgstr "<control>S"
+#: ../../any.pm_.c:266
+msgid "Other OS (SunOS...)"
+msgstr "نظام آخر (SunOS...)"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid ""
-"Protocol for the rest of the world\n"
-"No D-Channel (leased lines)"
-msgstr ""
-"بروتوكول لبقية العالم\n"
-"لا D-Channel (خطوط مؤجرة)"
+#: ../../any.pm_.c:267
+msgid "Other OS (MacOS...)"
+msgstr "نظام آخر (MacOS...)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - /etc/xinetd.d/tftp:\n"
-" \tdrakTermServ will configure this file to work in conjunction with "
-"the images created\n"
-" \tby mkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
-"the boot image to \n"
-" \teach diskless client.\n"
-"\n"
-" \tA typical tftp configuration file looks like:\n"
-" \t\t\n"
-" \tservice tftp\n"
-"\t\t\t{\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t}\n"
-" \t\t\n"
-" \tThe changes here from the default installation are changing the "
-"disable flag to\n"
-" \t'no' and changing the directory path to /var/lib/tftpboot, where "
-"mkinitrd-net\n"
-" \tputs its images."
-msgstr ""
+#: ../../any.pm_.c:267
+msgid "Other OS (windows...)"
+msgstr "نظام آخر (Windows...)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be a number!"
-msgstr "الخيار %s يجب أن يكون رقماً!"
+#: ../../any.pm_.c:285
+msgid "Image"
+msgstr "صورة"
-#: ../../standalone/drakboot:1 ../../standalone/draksplash:1
-#, c-format
-msgid "Notice"
-msgstr "ملاحظة"
+#: ../../any.pm_.c:286 ../../any.pm_.c:297
+msgid "Root"
+msgstr "الجذر"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "You have not configured X. Are you sure you really want this?"
-msgstr "لم تقم بتهيئة خادم X. هل أنت متأكد أنك تريد ذلك؟"
+#: ../../any.pm_.c:287 ../../any.pm_.c:315
+msgid "Append"
+msgstr "الحاق"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The configuration of the printer will work fully automatically. If your "
-"printer was not correctly detected or if you prefer a customized printer "
-"configuration, turn on \"Manual configuration\"."
-msgstr ""
-"اعداد الطابعة سيعمل بشكل آلي. اذا لم يتم اكتشاف طابعتك بالشكل الصحيح أو اذا "
-"كنت تفضل اعداد مخصص شغّل \"تهيئة يدوية\"."
+#: ../../any.pm_.c:291
+msgid "Initrd"
+msgstr "Initrd"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "What type of partitioning?"
-msgstr "أي نوع من التجزئة؟"
+#: ../../any.pm_.c:292
+msgid "Read-write"
+msgstr "للقراءة و الكتابة"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"file list sent by FTP: %s\n"
-" "
-msgstr ""
-"قائمة الملفات المرسلة من FTP: %s\n"
-" "
+#: ../../any.pm_.c:299
+msgid "Table"
+msgstr "الجدول"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface"
-msgstr "الواجهة"
+#: ../../any.pm_.c:300
+msgid "Unsafe"
+msgstr "غير آمن"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Multisession CD"
-msgstr "قرص مدمج متعدد الجلسات"
+#: ../../any.pm_.c:307 ../../any.pm_.c:312 ../../any.pm_.c:314
+msgid "Label"
+msgstr "عنوان"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated strings"
-msgstr "حرفيات مفصولة بالفاصلة"
+#: ../../any.pm_.c:309 ../../any.pm_.c:319 ../../harddrake/v4l.pm_.c:215
+msgid "Default"
+msgstr "الإفتراضي"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "These are the machines from which the scanners should be used:"
-msgstr "توجد ماكينات يمكن استخدام الماسحات الضوئية منها:"
+#: ../../any.pm_.c:316
+msgid "Initrd-size"
+msgstr "حجم Initrd"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Messages"
-msgstr "الرسائل"
+#: ../../any.pm_.c:318
+msgid "NoVideo"
+msgstr "لا فيديو"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH06X (bt878) [many vendors]"
-msgstr "غير معروف|CPH06X (bt878) [مصنعون كثيرون]"
+#: ../../any.pm_.c:326
+msgid "Remove entry"
+msgstr "ازل المدخل"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "POP and IMAP Server"
-msgstr "خادم POP و IMAP"
+#: ../../any.pm_.c:329
+msgid "Empty label not allowed"
+msgstr "غير مسموح بالعلامات الفارغة"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mexico"
-msgstr "المكسيك"
+#: ../../any.pm_.c:330
+msgid "You must specify a kernel image"
+msgstr "يجب أن تحدد صورة النواة"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Model stepping"
-msgstr "Model stepping"
+#: ../../any.pm_.c:330
+msgid "You must specify a root partition"
+msgstr "يجب عليك تحديد تقسيم جذر"
-#: ../../lang.pm:1
-#, c-format
-msgid "Rwanda"
-msgstr "رواندا"
+#: ../../any.pm_.c:331
+msgid "This label is already used"
+msgstr "هذه العلامة مستخدمة مسبقا"
-#: ../../lang.pm:1
+#: ../../any.pm_.c:640
#, c-format
-msgid "Switzerland"
-msgstr "السويسرية"
+msgid "Found %s %s interfaces"
+msgstr "تم ايجاد %s %s واجهات"
-#: ../../lang.pm:1
-#, c-format
-msgid "Brunei Darussalam"
-msgstr "سلطنة بروناي"
+#: ../../any.pm_.c:641
+msgid "Do you have another one?"
+msgstr "هل عندك واحدة أخرى؟"
-#: ../../modules/interactive.pm:1
+#: ../../any.pm_.c:642
#, c-format
msgid "Do you have any %s interfaces?"
msgstr "هل لديك أي واجهات %s؟"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "You must be root to read configuration file. \n"
-msgstr "يجب أن تكون المستخدم الجذر لقراءة ملف التهيئة. \n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote lpd Printer Options"
-msgstr "خيارات طابعة lpd البعيد"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"GNU/Linux is a multi-user system, meaning each user may have their own\n"
-"preferences, their own files and so on. You can read the ``Starter Guide''\n"
-"to learn more about multi-user systems. But unlike \"root\", who is the\n"
-"system administrator, the users you add at this point will not be\n"
-"authorized to change anything except their own files and their own\n"
-"configurations, protecting the system from unintentional or malicious\n"
-"changes that impact on the system as a whole. You will have to create at\n"
-"least one regular user for yourself -- this is the account which you should\n"
-"use for routine, day-to-day use. Although it is very easy to log in as\n"
-"\"root\" to do anything and everything, it may also be very dangerous! A\n"
-"very simple mistake could mean that your system will not work any more. If\n"
-"you make a serious mistake as a regular user, the worst that will happen is\n"
-"that you will lose some information, but not affect the entire system.\n"
-"\n"
-"The first field asks you for a real name. Of course, this is not mandatory\n"
-"-- you can actually enter whatever you like. DrakX will use the first word\n"
-"you typed in this field and copy it to the \"%s\" field, which is the name\n"
-"this user will enter to log onto the system. If you like, you may override\n"
-"the default and change the username. The next step is to enter a password.\n"
-"From a security point of view, a non-privileged (regular) user password is\n"
-"not as crucial as the \"root\" password, but that is no reason to neglect\n"
-"it by making it blank or too simple: after all, your files could be the\n"
-"ones at risk.\n"
-"\n"
-"Once you click on \"%s\", you can add other users. Add a user for each one\n"
-"of your friends: your father or your sister, for example. Click \"%s\" when\n"
-"you have finished adding users.\n"
-"\n"
-"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
-"that user (bash by default).\n"
-"\n"
-"When you have finished adding users, you will be asked to choose a user\n"
-"that can automatically log into the system when the computer boots up. If\n"
-"you are interested in that feature (and do not care much about local\n"
-"security), choose the desired user and window manager, then click \"%s\".\n"
-"If you are not interested in this feature, uncheck the \"%s\" box."
-msgstr ""
-"نظام Linux نظام متعدد المستخدمين, مما يعني أن كل مستخدم\n"
-"له تفضبلاته الخاصة و ملفاته الخاصة و ما الى ذلك. يمكنك قراءة ``دليل "
-"المبتدئ''\n"
-"لتتعلم المزيد حول الأنظمة متعددة المستخدمين. بعكس المستخدم \"الجذر\", وهو\n"
-"مدير النظام, فإن المستخدمين الذين ستضيفهم في هذه النقطة لن يتم\n"
-"تخويلهم لتعديل أي شئ باستثناء ملفات و اعداداتهم \n"
-"الخاصة, مما يحمي النظام من أي تغييرات خطرة أو غير مقصودة\n"
-"قد تؤثر على النظام ككل. يجب عليك انشاء مستخدم عادي\n"
-"واحد فقط على الأقل -- هذا هو الحساب الذي يجب أن تستخدمه\n"
-"للاستخدام اليومي العادي. بالرغم من سهولة الدخول كمستخدم\n"
-"\"جذر\" لفعل أي شئ و كل شئ, لكن هذا قد يكون خطراً! خطأ\n"
-"بسيط قد يعني أن نظامك لن يعود قادراً على العمل في ما بعد. اذا\n"
-"قمت بخطأ جدي كمستخدم عادي فإن أسوأ ما قد يحصل هو خسارتك\n"
-"لبعض المعلومات, لكن هذا لن يؤثر على النظام كاملاً.\n"
-"\n"
-"الحقل الأول سيسألك عن اسمك الحقيقي. بالطبع هذا الحقل\n"
-"ليس اجبارياً -- يمكنك ادخال أي شئ تريد. DrakX سيستخدم الكلمة\n"
-"الأولى التي قمت بإدخالها ف هذا الحقل و سينقلها ال حقل \"%s\", الذي\n"
-"هو الاسم الذي سيدخله المستخدم للدخول على النظام. الخطوة التالية هي ادخال "
-"كلمة المرور.\n"
-"من وجهة نظر أمنية, فإن مستخدم عادي بدون صالحيات لا يحتاج الى كلمة\n"
-"مرور مثل كل المستخدم \"الجذر\", لكن ليس هناك سبب للتغاضي\n"
-"عنها أو جعلها فارغة أو جعلها سهلة جداً: بعد كل شئ, ملفاتك قد تكون هي\n"
-"التي في خطر.\n"
-"\n"
-"بمجرد نقرك على زر \"%s\", يمكنك اضافة مستخدمين آخرين. أضف اسم مستخدم\n"
-"لكل صديق من أصدقائك أو لأبيك لأختك,مثلاً. انقر \"%s\" عندما\n"
-"تنتهي من اضافة المستخدمين.\n"
-"\n"
-"نقر زر \"%s\" يسمح لك بتغيير \"الغلاف\" أو \"سطر الأوامر\" لكل\n"
-"مستخدم (bash هو الافتراضي).\n"
-"\n"
-"عندما تنتهي من اضافة المستخدمين, سيتم سؤالك عما اذا كنت\n"
-"تريد اختيار مستخدم يتم الدخول به الى النظام تلقائياً عند بدء التشغيل.\n"
-"اذا كنت مهتماُ بهذه الميزة (و لم تكن مهتماً كثيراً بالمسائل\n"
-"الأمنية),. اختر المستخدم المطلوب و مدير النوافذ ثم انقر \"%s\".\n"
-"اذا لم تكن مهتماً بهذه الميزة, قم بإزالة التأشير من صندوق \"%s\"."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Internet Access..."
-msgstr "إعداد الدخول الى الإنترنت..."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose the time interval between each backup"
-msgstr "فضلا اختر الفترة ما بين كل عملية نسخ احتياطي"
+#: ../../any.pm_.c:644 ../../any.pm_.c:807 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../ugtk2.pm_.c:925
+msgid "No"
+msgstr "لا"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Norway"
-msgstr "النرويج"
+#: ../../any.pm_.c:644 ../../any.pm_.c:806 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../standalone/drakgw_.c:258
+#: ../../standalone/drakgw_.c:259 ../../standalone/drakgw_.c:267
+#: ../../standalone/drakgw_.c:277 ../../ugtk2.pm_.c:925
+msgid "Yes"
+msgstr "نعم"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Delete profile"
-msgstr "احذف التشكيل"
+#: ../../any.pm_.c:645
+msgid "See hardware info"
+msgstr "عرض معلومات العتاد"
-#: ../../keyboard.pm:1
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: ../../any.pm_.c:662
#, c-format
-msgid "Danish"
-msgstr "الدنماركية"
+msgid "Installing driver for %s card %s"
+msgstr "جاري تثبيت مشغل %s للبطاقة %s"
-#: ../../services.pm:1
+#: ../../any.pm_.c:663
#, c-format
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"تقوم بتشغيل مفتاح numlock آلياً في سطر الأوامر\n"
-"و XFree عند الإقلاع."
+msgid "(module %s)"
+msgstr "(الوحدة %s)"
-#: ../../network/network.pm:1
+#: ../../any.pm_.c:674
#, c-format
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)."
+"You may now provide its options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
msgstr ""
-"فضلاً أدخل تهيئة IP الخاصة بهذه الماكينة.\n"
-"كل مادة يجب ادخالها كعنوان IP بشكل منقوط\n"
-"(مثلاً, 1.2.3.4)."
-#: ../../help.pm:1
+#: ../../any.pm_.c:680
#, c-format
msgid ""
-"The Mandrake Linux installation is distributed on several CD-ROMs. DrakX\n"
-"knows if a selected package is located on another CD-ROM so it will eject\n"
-"the current CD and ask you to insert the correct CD as required."
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
msgstr ""
-"تثبيت Mandrake Linux موزع على العديد من الأقراص. DrakX\n"
-"يعلم إذا كانت حزمة ما في قرص آخر و سيخرج القرص\n"
-"الحالي و سيطلب منك أن تدخل قرصاً مختلفا كما هو مطلوب."
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "When checked, owner and group won't be changed"
-msgstr "عند التأشير لن يتم تغيير المالك و المجموعة"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bulgaria"
-msgstr "بلغاريا"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Tuesday"
-msgstr "الثلاثاء"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Processors"
-msgstr "المعالجات"
+"يمكنك الآن اعطاء الخيارات للوحدة %s.\n"
+"الخيارات في هيئة ``name=value name2=value2 ...'' \n"
+"مثلا, ``io=0x300 irq=7''"
-#: ../../lang.pm:1
-#, c-format
-msgid "Svalbard and Jan Mayen Islands"
-msgstr "جزر سفالبارد و جان ماين"
+#: ../../any.pm_.c:682
+msgid "Module options:"
+msgstr "خيارات الوحدة:"
-#: ../../standalone/drakTermServ:1
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: ../../any.pm_.c:694
#, c-format
-msgid "No NIC selected!"
-msgstr "لم يتم اختيار NIC!"
+msgid "Which %s driver should I try?"
+msgstr "أي مشغل %s يجب أن استخدمه؟"
-#: ../../network/netconnect.pm:1
+#: ../../any.pm_.c:703
#, c-format
msgid ""
-"Problems occured during configuration.\n"
-"Test your connection via net_monitor or mcc. If your connection doesn't "
-"work, you might want to relaunch the configuration."
+"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 ""
-"ظهرت مشاكل أثناء التثبيت.\n"
-"اختبر الوصلة باستخدام net_monitor أو mcc. اذا لم تعمل الوصلة, فقد تريد اعادة "
-"التهيئة."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "partition %s is now known as %s"
-msgstr "التجزئة %s معروفة الآن بالإسم %s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Other files..."
-msgstr "انسخ ملفات أخرى..."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Kinshasa)"
-msgstr "الكونغو كينشاسا"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server IP"
-msgstr "IP خادم SMB"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "جدول اتتقسيم للقرص %s سيتم كتابته الى القرص!"
+"في بعض الأحيان يحتاج مشغل %s معلومات اضافية لكي يعمل\n"
+"بشكل صحيح, الا أنه يمكنه العمل جيدا بدونها. هل تريد تحديد\n"
+"خيارات اضافية له أو تسمح للمشغل بالتحقق في جهازك\n"
+"عن المعلومات التي سيحتاجها؟ في بعض الأحيان, قد يتسبب التحقق في تعليق الجهاز, "
+"لكن\n"
+"لا يجب أن يتسبب ذلك في أي مشاكل."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing HPOJ package..."
-msgstr "جاري تهيئة حزمة HPOJ..."
+#: ../../any.pm_.c:707
+msgid "Autoprobe"
+msgstr "تحقق آلي"
-#: ../../any.pm:1
-#, c-format
-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?\n"
-"%s"
-msgstr ""
-"قرص اقلاع مخصص يوفر طريقة للوصول الى نظام Linux الخاص بك دون\n"
-"الإعتماد على محمّل الإقلاع الإعتيادي. هذا مفيد اذا لم تكن تريد تثبيت\n"
-"LILO (أو grub) على نظامك, أو اذا أزال نظام تشغيل آخر LILO, أو اذا لم يتوافق "
-"LILO\n"
-"مع تهيئة نظامك. يمكن كذلك استخدام قرص اقلاع مخصص مع\n"
-"Mandrake rescue image, مما يجعل المعالجة من انهيارات النظام الخطيرة أكثر "
-"سهولة.\n"
-"هل تريد عمل قرص اقلاع لنظامك؟\n"
-"%s"
+#: ../../any.pm_.c:707
+msgid "Specify options"
+msgstr "حدد الخيارات"
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:719
#, c-format
msgid ""
-"\n"
-" DrakBackup Daemon Report\n"
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
msgstr ""
-"\n"
-" تقرير مراقب DrakBackup\n"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latvian"
-msgstr "اللاتفية"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "monthly"
-msgstr "شهريا"
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Retry"
-msgstr "استعادة"
+"فشل تحميل الوحدة %s.\n"
+"هل تريد المحاولة ثانية بمعاملات أخرى؟"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Module name"
-msgstr "اسم الوحدة"
+#: ../../any.pm_.c:734
+msgid "access to X programs"
+msgstr "الوصول الى برامج X"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Start at boot"
-msgstr "ابدأ عند الإقلاع"
+#: ../../any.pm_.c:735
+msgid "access to rpm tools"
+msgstr "الوصول الى أدوات rpm"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental Backups"
-msgstr "استخدم النسخ التراكمي"
+#: ../../any.pm_.c:736
+msgid "allow \"su\""
+msgstr "اسمح بـ\"su\""
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of drive (MBR)"
-msgstr "القطاع الأول من القرص (MBR)"
+#: ../../any.pm_.c:737
+msgid "access to administrative files"
+msgstr "الوصول الى ملفات الإدارة"
-#: ../../lang.pm:1
-#, c-format
-msgid "El Salvador"
-msgstr "السلفادور"
+#: ../../any.pm_.c:738
+#, fuzzy
+msgid "access to network tools"
+msgstr "الوصول الى أدوات rpm"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Joystick"
-msgstr "عصا الألعاب"
+#: ../../any.pm_.c:739
+#, fuzzy
+msgid "access to compilation tools"
+msgstr "الوصول الى أدوات rpm"
-#: ../../standalone/harddrake2:1
+#: ../../any.pm_.c:744
#, c-format
-msgid "DVD"
-msgstr "DVD"
+msgid "(already added %s)"
+msgstr "(تم اضافة %s مسبقا)"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Use Unicode by default"
-msgstr "استخدم يونيكود افتراضياً"
+#: ../../any.pm_.c:749
+msgid "This password is too simple"
+msgstr "كلمة المرور هذه بسيطة جدا"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the module of the GNU/Linux kernel that handles the device"
-msgstr "وحدة نواة Linux التي تتعامل مع هذا الجهاز"
+#: ../../any.pm_.c:750
+msgid "Please give a user name"
+msgstr "رجاءً قم بإعطاء اسم مستخدم"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Is your hardware clock set to GMT?"
-msgstr "ساعة الجهاز مضبوطة على توقيت غرينتش"
+#: ../../any.pm_.c:751
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "اسم المستخدم يجب أن يحتوي فقط على الحروف الصغيرة, الأرقام, `-' و `_'"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Trying to rescue partition table"
-msgstr "جاري محاولة انقاذ جدول التقسيم"
+#: ../../any.pm_.c:752
+#, fuzzy
+msgid "The user name is too long"
+msgstr "اسم المستخدم مُضاف مسبقا"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be an integer number!"
-msgstr "الخيار %s يجب أن يكون رقما صحيحاً!"
+#: ../../any.pm_.c:753
+msgid "This user name is already added"
+msgstr "اسم المستخدم مُضاف مسبقا"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Use password to authenticate users"
-msgstr "استخدم كلمة المرور للمصادقة على المستخدمين"
+#: ../../any.pm_.c:757
+msgid "Add user"
+msgstr "اضف مستخدم"
-#: ../../interactive/stdio.pm:1
+#: ../../any.pm_.c:758
#, c-format
msgid ""
-"Entries you'll have to fill:\n"
+"Enter a user\n"
"%s"
msgstr ""
-"Entries you'll have to fill:\n"
+"أدخل مستخدم\n"
"%s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"For backups to other media, files are still created on the hard drive, then "
-"moved to the other media. Enabling this option will remove the hard drive "
-"tar files after the backup."
-msgstr ""
-
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Unable to start live upgrade !!!\n"
-msgstr "لم أتمكن من بدء الترقية الحية !!!\n"
-
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Name: "
-msgstr "الاسم: "
+#: ../../any.pm_.c:759
+msgid "Accept user"
+msgstr "وافق على المستخدم"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "up"
-msgstr ""
+#: ../../any.pm_.c:770
+msgid "Real name"
+msgstr "الاسم الحقيقي"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "16 million colors (24 bits)"
-msgstr "16 مليون لون (24 بت)"
+#: ../../any.pm_.c:771 ../../printer/printerdrake.pm_.c:802
+#: ../../printer/printerdrake.pm_.c:915
+msgid "User name"
+msgstr "اسم المستخدم"
-#: ../../any.pm:1
-#, c-format
-msgid "Allow all users"
-msgstr "اسمح لكل المستخدمين"
+#: ../../any.pm_.c:774
+msgid "Shell"
+msgstr "الغلاف"
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid "The official MandrakeSoft Store"
-msgstr "متجر MandrakeSoft الرسمي"
+#: ../../any.pm_.c:776
+msgid "Icon"
+msgstr "أيقونة"
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resizing"
-msgstr "جاري تغيير الحجم"
+#: ../../any.pm_.c:803
+msgid "Autologin"
+msgstr "دخول آلي"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:804
msgid ""
-"Enter the maximum size\n"
-" allowed for Drakbackup (MB)"
+"I can set up your computer to automatically log on one user.\n"
+"Do you want to use this feature?"
msgstr ""
-"فضلاً أدخل الحجم الأقصى\n"
-" المسموح به لـDrakbackup (ميغابايت)"
+"يمكنني اعداد جهازك لتسجيل الدخول آليل لمستخدم ما.\n"
+"هل تريد استخدام هذه الميزة؟"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Cable connection"
-msgstr "وصلة كيبل"
-
-#: ../../standalone/drakperm:1 ../../standalone/logdrake:1
-#, c-format
-msgid "User"
-msgstr "المستخدم"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do new backup before restore (only for incremental backups.)"
-msgstr "قم بنسخ احتياطي جديد فبل الإستعادة (فقط للنسخ الإحتياطية المتدرجة)"
-
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed"
-msgstr "فشل mkraid"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Name"
-msgstr "الاسم"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 3 Emulation"
-msgstr "محاكاة الزر 3"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of sgid files"
-msgstr "تحقق من اضافات/حذف ملفات sgid"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files..."
-msgstr "جاري ارسال الملفات..."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli (Phonetic)"
-msgstr "العبرية (صوتية)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to rpm tools"
-msgstr "الوصول الى أدوات rpm"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must choose/enter a printer/device!"
-msgstr "يجب عليك ادخال/اختيار طابعة/جهاز"
+#: ../../any.pm_.c:808
+msgid "Choose the default user:"
+msgstr "اختر المستخدم الافتراضي:"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission problem accessing CD."
-msgstr "توجد مشكلة في التصريح للوصول الى القرص المدمج."
+#: ../../any.pm_.c:809
+msgid "Choose the window manager to run:"
+msgstr "اختر مدير النوافذ الذي سيتم تشغيله:"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Phone number"
-msgstr "رقم التّليفون "
+#: ../../any.pm_.c:824
+msgid "Please choose a language to use."
+msgstr "رجاء اختر لغة الاستخدام."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Error: The \"%s\" driver for your sound card is unlisted"
-msgstr "خطأ: مشغل \"%s\" لبطاقة الصوت الخاصة بك غير موجود في القائمة"
+#: ../../any.pm_.c:826
+msgid ""
+"Mandrake Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "يمكنكن اختيار لغات أخرى و التي ستكون متوفرة بعد التثبيت"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer name, description, location"
-msgstr "اسم الطابعة, وصف, المكان"
+#: ../../any.pm_.c:840 ../../install_steps_interactive.pm_.c:697
+#: ../../standalone/drakxtv_.c:70
+msgid "All"
+msgstr "الكل"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (broadcast)"
-msgstr "الولايات المتّحدة الأمريكيّة (broadcast)"
+#: ../../any.pm_.c:961
+msgid "Allow all users"
+msgstr "اسمح لكل المستخدمين"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Use Xinerama extension"
-msgstr "استخدام امتداد Xinerama"
+#: ../../any.pm_.c:961
+msgid "No sharing"
+msgstr "لا مشاركة"
-#: ../../diskdrake/interactive.pm:1
+#: ../../any.pm_.c:971 ../../install_any.pm_.c:1207 ../../standalone.pm_.c:185
#, c-format
-msgid "Loopback"
-msgstr "Loopback"
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "الحزمة %s يجب أن تُثبّت. هل تريد تثبيتها؟"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "West Europe"
-msgstr "أوروبّا الغربيّة"
+#: ../../any.pm_.c:973
+msgid ""
+"You can export using NFS or Samba. Please select which you'd like to use."
+msgstr "يمكنك التصدير باستخدام NFS أو Samba. أي منهما تريد"
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:981 ../../install_any.pm_.c:1212 ../../standalone.pm_.c:190
#, c-format
-msgid "On CD-R"
-msgstr "على القرص المدمج"
+msgid "Mandatory package %s is missing"
+msgstr "الحزمة الضرورية %s مفقودة"
-#: ../../standalone.pm:1
-#, c-format
+#: ../../any.pm_.c:987
msgid ""
-"[OPTIONS] [PROGRAM_NAME]\n"
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
"\n"
-"OPTIONS:\n"
-" --help - print this help message.\n"
-" --report - program should be one of mandrake tools\n"
-" --incident - program should be one of mandrake tools"
+"\"Custom\" permit a per-user granularity.\n"
msgstr ""
-"[OPTIONS] [PROGRAM_NAME]\n"
-"\n"
-"OPTIONS:\n"
-" --help - print this help message.\n"
-" --report - program should be one of mandrake tools\n"
-" --incident - program should be one of mandrake tools"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake2 version %s"
-msgstr "Harddrake2 الإصدار %s"
+#: ../../any.pm_.c:1001
+msgid "Launch userdrake"
+msgstr "شغّل userdrake"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Preferences"
-msgstr "تفضيلات"
+#: ../../any.pm_.c:1003
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user in this group."
+msgstr ""
+"المشاركة لكل مستخدم تستخدم المجموعة \"fileshare\".\n"
+"يمكنك أن تستخدم userdrake لإضافة مستخدم في هذه المجموعة."
-#: ../../lang.pm:1
-#, c-format
-msgid "Swaziland"
-msgstr "سوازيلاند"
+#: ../../any.pm_.c:1053 ../../security/level.pm_.c:7
+msgid "Welcome To Crackers"
+msgstr "مرحبا بالمخترقين"
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominican Republic"
-msgstr "جمهورية الدومينيكان"
+#: ../../any.pm_.c:1054 ../../security/level.pm_.c:8
+msgid "Poor"
+msgstr "فقير"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Copying %s"
-msgstr "جاري نسخ %s"
+#: ../../any.pm_.c:1055 ../../mouse.pm_.c:31 ../../security/level.pm_.c:9
+msgid "Standard"
+msgstr "القياسي"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Choose color"
-msgstr "إختر اللون"
+#: ../../any.pm_.c:1056 ../../security/level.pm_.c:10
+msgid "High"
+msgstr "مرتفع"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac"
-msgstr "السريانية"
+#: ../../any.pm_.c:1057 ../../security/level.pm_.c:11
+msgid "Higher"
+msgstr "مرتفع أكثر"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-UID"
-msgstr "Set-UID"
+#: ../../any.pm_.c:1058 ../../security/level.pm_.c:12
+msgid "Paranoid"
+msgstr "مرتفع جدا"
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1061
msgid ""
-"Choose the hard drive you want to erase in order to install your new\n"
-"Mandrake Linux partition. Be careful, all data present on this partition\n"
-"will be lost and will not be recoverable!"
-msgstr ""
-"اختر القرص الصلب الذي تريد محوه لتثبيت\n"
-"تجزئة Mandrake Linux الجديدة. خذ حذرك, كل البيانات الموجود عليه ستضيع\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:1
-#, 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."
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 2 Button Mouse"
-msgstr "Generic 2 Button Mouse"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to execute the file"
+"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 ""
-#: ../../lvm.pm:1
-#, c-format
-msgid "Remove the logical volumes first\n"
-msgstr "احذف logical volumes أولاً\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:1
-#, c-format
-msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "The highlighted entry will be booted automatically in %d seconds."
-
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../any.pm_.c:1064
msgid ""
-"Can't write /etc/sysconfig/bootsplash\n"
-"File not found."
+"Password are now enabled, but use as a networked computer is still not "
+"recommended."
msgstr ""
-"تعذرت كتابة /etc/sysconfig/bootsplash\n"
-"لم يتم ايجاد الملف."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet access"
-msgstr "الدخول الى الإنترنت"
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../any.pm_.c:1065
msgid ""
-"y coordinate of text box\n"
-"in number of characters"
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
msgstr ""
-"الإحداثي الصادي للصندوق النصي\n"
-"بعدد الحروف"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../any.pm_.c:1066
msgid ""
-"To get a list of the options available for the current printer click on the "
-"\"Print option list\" button."
+"There are already some restrictions, and more automatic checks are run every "
+"night."
msgstr ""
-"للحصول على قائمة بالخيارات المتوفرة للطابعة المختارة اضغط على زر \"قائمة "
-"خيارات الطابعة\"."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Enabling servers..."
-msgstr "جاري تمكين الخوادم..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing test page(s)..."
-msgstr "جاري طباعة الصفحات الإختبارية..."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:1067
msgid ""
-"Transfer successful\n"
-"You may want to verify you can login to the server with:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"without being prompted for a password."
+"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 can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
msgstr ""
-"تم النقل بنجاح\n"
-"ربما تريد التحقق اذا كان يمكنك الدخول الى خادم بالأمر:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"دون تنبيهك الى ادخال كلمة مرور."
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "هناك تجزئة مع نقطة التحميل %s مسبقاً\n"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable msec hourly security check."
-msgstr "تمكين/تعطيل اختبارات msec الأمنية كل ساعة"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1070
msgid ""
-"At this point, you need to decide where you want to install the Mandrake\n"
-"Linux operating system on your hard drive. If your hard drive is empty or\n"
-"if an existing operating system is using all the available space you will\n"
-"have to partition the drive. Basically, partitioning a hard drive consists\n"
-"of logically dividing it to create the space needed to install your new\n"
-"Mandrake Linux system.\n"
-"\n"
-"Because the process of partitioning a hard drive is usually irreversible\n"
-"and can lead to lost data if there is an existing operating system already\n"
-"installed on the drive, partitioning can be intimidating and stressful if\n"
-"you are an inexperienced user. Fortunately, DrakX includes a wizard which\n"
-"simplifies this process. Before continuing with this step, read through the\n"
-"rest of this section and above all, take your time.\n"
-"\n"
-"Depending on your hard drive configuration, several options are available:\n"
-"\n"
-" * \"%s\": this option will perform an automatic partitioning of your blank\n"
-"drive(s). If you use this option there will be no further prompts.\n"
-"\n"
-" * \"%s\": the wizard has detected one or more existing Linux partitions on\n"
-"your hard drive. If you want to use them, choose this option. You will then\n"
-"be asked to choose the mount points associated with each of the partitions.\n"
-"The legacy mount points are selected by default, and for the most part it's\n"
-"a good idea to keep them.\n"
-"\n"
-" * \"%s\": if Microsoft Windows is installed on your hard drive and takes\n"
-"all the space available on it, you will have to create free space for\n"
-"Linux. To do so, you can delete your Microsoft Windows partition and data\n"
-"(see ``Erase entire disk'' solution) or resize your Microsoft Windows FAT\n"
-"partition. Resizing can be performed without the loss of any data, provided\n"
-"you have previously defragmented the Windows partition and that it uses the\n"
-"FAT format. Backing up your data is strongly recommended.. Using this\n"
-"option is recommended if you want to use both Mandrake Linux and Microsoft\n"
-"Windows on the same computer.\n"
-"\n"
-" Before choosing this option, please understand that after this\n"
-"procedure, the size of your Microsoft Windows partition will be smaller\n"
-"then when you started. You will have less free space under Microsoft\n"
-"Windows to store your data or to install new software.\n"
-"\n"
-" * \"%s\": if you want to delete all data and all partitions present on\n"
-"your hard drive and replace them with your new Mandrake Linux system,\n"
-"choose this option. Be careful, because you will not be able to undo your\n"
-"choice after you confirm.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be deleted. !!\n"
-"\n"
-" * \"%s\": this will simply erase everything on the drive and begin fresh,\n"
-"partitioning everything from scratch. All data on your disk will be lost.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be lost. !!\n"
-"\n"
-" * \"%s\": choose this option if you want to manually partition your hard\n"
-"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
-"easily lose all your data. That's why this option is really only\n"
-"recommended if you have done something like this before and have some\n"
-"experience. For more instructions on how to use the DiskDrake utility,\n"
-"refer to the ``Managing Your Partitions '' section in the ``Starter\n"
-"Guide''."
-msgstr ""
-"في هذه النقطة, عليك أن تقرر أين تريد تثبيت نظام\n"
-"التشغيل Mandrake Linux على القرص الصلب الخاص بك. اذا كان القرص الصلب\n"
-"قارغاً أو أن نظام تشغيل آخر يستخدم كل المساحة المتوفرة فسوف\n"
-"تحتاج الى تجزئة القرص الصلب. بشكل عام,. فإن تجزئةالقرص الصلب\n"
-"تعني تقسيم القرص الصلب منطقياً لإنشاء المساحة المطلوبة لتثبيت\n"
-"نظام Mandrake Linux الجديد الخاص بك.\n"
-"\n"
-"لأن عملية تقسيم القرص الصلب غير قابلة للتراجع عادةًَ\n"
-"كما أنها قد تتسبب في خسارة للبيانات اذا كان هناك نظام تشغيل\n"
-"آخر مثبت على هذا القرص الصلب, تجزئة القرص قد يكون مزعجاً و مثيراً للضغط\n"
-"اذا كنت مستخدماً محترقاً. من حسن الحظ, يوفر DrakX معالجاً يسهل العملية.\n"
-"قبل متابعة هذه الخطوة, اقرأ بقية هذا القسم و قبل كل شئ, خذ وقتك.\n"
-"\n"
-"اعتماداً على اعدادات القرص الصلب, تتوفر العديد من الخيارات:\n"
-"\n"
-" * \"%s\": هذا الخيار سيقوم بعملية تجزئة آلية\n"
-"للأقراص الصلبة الفارغة. اذا استخدمت هذا الخيار, لن تكون هناك اشعارات\n"
-"أخرى.\n"
-" * \"%s\": يكون المعالج قد اكتشف تجزئة أو أكثر من\n"
-"تجزئات Linux على القرص الصلب. اذا كنت تريد استخدامها, اختر هذا\n"
-"الخيار. سيتم بعد ذلك سؤالك عن نقاط التحميل المرتبطة بكل\n"
-"تجزئة. يتم اختيار نقاط التجزئة المعتادة افتراضياً,\n"
-"و لأغلب المستخدمين فإنها فكرة جيدة تركها كما هي.\n"
-"\n"
-" * \"%s\": اذا كان Microsoft Windows مثبت على القرص الصلب و يحتل كل المساحة "
-"التي عليه,\n"
-"ستحتاج الى انشاء مساحة فارغة لبيانات Linux. لعمل ذلك يمكنك حذف\n"
-"تجزئة و بيانات Microsoft Windows (انظر حل ``ازالة كل القرص'')\n"
-"أو قم بإعادة تحجيم تجزئة Microsoft Windows FAT. يمكن عمل اعادة التحجيم\n"
-"دون أي خسارة للبيانات, لكن يجب عليك قبل ذلك بإزالة تجزئة القرص "
-"(defragmenting)\n"
-"الذي يستخدم تنسيق FAT. نسخ بياناتك احتياطياً يفضّل\n"
-"بشدة.. استخدام هذا الخيار منصوح به اذا كنت تريد استخدام \n"
-"كل من Mandrake Linux و Microsoft Windows على نفس الكمبيوتر.\n"
-"\n"
-" قبل اختيارك لهذا الخيار, عليك أن تعلم أنه بعد هذا\n"
-"الإجراء, ستتقلص مساحة تجزئة Microsoft Windows عن ما قبل\n"
-"ستكون لديك مساحة فارغة أقل على Microsoft Windows\n"
-"لتخزين بياناتك و تثبيت برامج جديدة.\n"
-"\n"
-" * \"%s\": اذا كنت تريد حذف كل البيانات و كل التجزئات\n"
-"الموجودة على القرص الصلب و ابدالها بنظام Mandrake Linux الجديد\n"
-"الخاص بك, اختر هذا الخيار. كن حذراً, لأنك لن تتمكن من التراجع\n"
-"بعد أن تقوم بالتأكيد.\n"
-"\n"
-" !!! اذا اخترت هذا الخيار سيتم حذف كل البيانات الموجودة على القرص. !!\n"
-"\n"
-" * \"%s\": سيقوم هذا الخيار ببساطة بمحو كل شء على القرص و\n"
-"يبدأ التثبيت من الصفر. ستضيع كل البيانات على\n"
-"القرص.\n"
-"\n"
-" * \"%s\": اختر هذا الخيار اذا كنت تريد\n"
-"تقسيم القرص الصلب بشكل يدوي. كن حذراً -- هذا الخيار قوي\n"
-"لكنه خطير و من الممكن أن تفقد بياناتك بسهولة. لهذا فإن\n"
-"هذا الخيار مفضّل فقط اذا كنت قد قمت بشئ مماثل من فبل \n"
-"و لديك بعض الخبرة. لمزيد من التعليمات حول استخدام أداة DiskDrake\n"
-"راجع قسم ``ادارة التجزئات'' في\n"
-"``دليل المبتدئ''."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ukraine"
-msgstr "أوكرانيا"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Application:"
-msgstr "التطبيق:"
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "External ISDN modem"
-msgstr "مودم ISDN خارجي"
+#: ../../any.pm_.c:1076
+#, fuzzy
+msgid "DrakSec Basic Options"
+msgstr "خيارات"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result by mail."
-msgstr "if set to yes, report check result by mail."
+#: ../../any.pm_.c:1077
+#, fuzzy
+msgid "Please choose the desired security level"
+msgstr "رجاء اختر تاريخ الإستعادة"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "اختيارك؟ (الافتراضي %s) "
+#: ../../any.pm_.c:1080
+msgid "Security level"
+msgstr "مستوى الأمن"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Trouble shooting"
-msgstr "حل المشاكل"
+#: ../../any.pm_.c:1082
+msgid "Use libsafe for servers"
+msgstr "إستخدم libsafe للملقمات"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../any.pm_.c:1083
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
+"A library which defends against buffer overflow and format string attacks."
msgstr ""
-"تم ارسال الصفحات الإختبارية الى الطابعة.\n"
-"قد يستغرق هذا بعض الوقت حتى تبدأ الطابعة.\n"
-"حالة الطباعة:\n"
-"%s\n"
-"\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "daily"
-msgstr "يوميّاً"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and one unknown printer"
-msgstr "و طابعة غير معروفة"
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Ireland"
-msgstr "أيرلندا"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Restore Configuration "
-msgstr " تهيئة الإستعادة "
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Is this the correct setting?"
-msgstr "هل هذا هو الإعداد الصحيح؟"
+#: ../../any.pm_.c:1084
+msgid "Security Administrator (login or email)"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1166
msgid ""
-"You will now set up your Internet/network connection. If you wish to\n"
-"connect your computer to the Internet or to a local network, click \"%s\".\n"
-"Mandrake Linux will attempt to autodetect network devices and modems. If\n"
-"this detection fails, uncheck the \"%s\" box. You may also choose not to\n"
-"configure the network, or to do it later, in which case clicking the \"%s\"\n"
-"button will take you to the next step.\n"
-"\n"
-"When configuring your network, the available connections options are:\n"
-"traditional modem, ISDN modem, ADSL connection, cable modem, and finally a\n"
-"simple LAN connection (Ethernet).\n"
-"\n"
-"We will not detail each configuration option - just make sure that you have\n"
-"all the parameters, such as IP address, default gateway, DNS servers, etc.\n"
-"from your Internet Service Provider or system administrator.\n"
-"\n"
-"You can consult the ``Starter Guide'' chapter about Internet connections\n"
-"for details about the configuration, or simply wait until your system is\n"
-"installed and use the program described there to configure your connection."
+"Here you can choose the key or key combination that will \n"
+"allow switching between the different keyboard layouts\n"
+"(eg: latin and non latin)"
msgstr ""
-"ستقوم الآن بإعداد وصلة الإنترنت/الشبكة الخاصة بك. اذا كنت تريد\n"
-"توصيل جهازك بالإنترنت أو للشبكة المحلية, انقر \"%s\"\n"
-"سيحاول Mandrake Linux أن يتحقق آلياً من وجود الأجهزة و المودمات.\n"
-"اذا فشل التحقق, أزل التأشبر من \"%s\". ربما تختار\n"
-"عدم تهيئة الشبكة, أو تريد أن تفعل ذلك, في هذه الحال\n"
-"فإن ضغط زر \"%s\" سيأخذك الى الخطوة التالية.\n"
-"\n"
-"أثناء تهيئة الشبكة, فإن خيارات التوصيل المتوفرة هي:\n"
-"مودم تقليدي, مودم ISDN, وصلة ADSL, مودم كيبل, و أخيراً\n"
-"وصلة LAN بسيطة (ايثرنت).\n"
-"\n"
-"لن نذكر كل خيارات التهيئة بالتفصيل - فقط تأكد أنه لديك\n"
-"كل المعاملات, مثل عنوان IP, البوابة الإفتراضية, خادمات DNS, الخ.\n"
-"من موفر خدمة الإنترنت أو مدير النظام.\n"
-"\n"
-"يمكنك الرجوع الى الفصل الخاص بإعداد وصلة الإنترنت في\n"
-"``دليل المبتدئ'' للتفاصيل حول التهيئة, أو ببساطة انتظر حتى يتم\n"
-"تثبيت النظام و استخدم البرنامج المذكور هناك لإعداد الوصلة."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wizard Configuration"
-msgstr "إعدادات المعالج"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Autoprobe"
-msgstr "تحقق آلي"
-
-#: ../../security/help.pm:1
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: ../../bootloader.pm_.c:436
#, c-format
msgid ""
-"if set to yes, check for :\n"
-"\n"
-"- empty passwords,\n"
+"Welcome to %s the operating system chooser!\n"
"\n"
-"- no password in /etc/shadow\n"
+"Choose an operating system in the list above or\n"
+"wait %d seconds for default boot.\n"
"\n"
-"- for users with the 0 id other than root."
msgstr ""
-"اذا كانت القيمة نعم, تحقق من :\n"
-"\n"
-"- كلمات المرور الفارغة,\n"
+"Welcome to %s the operating system chooser!\n"
"\n"
-"- عدم وجود كلمة مرور في /etc/shadow\n"
+"Choose an operating system in the list above or\n"
+"wait %d seconds for default boot.\n"
"\n"
-"- وجود مستخدمين برقم معرف 0 غير المستخدم الجذر."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files..."
-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:983
+msgid "Welcome to GRUB the operating system chooser!"
+msgstr "Welcome to GRUB the operating system chooser!"
-#: ../../any.pm:1
+#. -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:986
#, c-format
-msgid "Can't use broadcast with no NIS domain"
-msgstr "Can't use broadcast with no NIS domain"
+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."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer \"%s\"..."
-msgstr "جاري ازالة الطابعة \"%s\" ..."
+#. -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:989
+msgid "Press enter to boot the selected OS, 'e' to edit the"
+msgstr "Press enter to boot the selected OS, 'e' to edit the"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell history size"
-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:992
+msgid "commands before booting, or 'c' for a command-line."
+msgstr "commands before booting, or 'c' for a command-line."
-#: ../../standalone/drakfloppy:1
+#. -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:995
#, c-format
-msgid "drakfloppy"
-msgstr "دريك للاقراص المرنة"
+msgid "The highlighted entry will be booted automatically in %d seconds."
+msgstr "The highlighted entry will be booted automatically in %d seconds."
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"Please indicate where the auto_install.cfg file is located.\n"
-"\n"
-"Leave it blank if you do not want to set up automatic installation mode.\n"
-"\n"
-msgstr ""
-"فضلاً حدد مكان ملف auto_install.cfg.\n"
-"\n"
-"اترك الحقل فارغاً اذا لم تكن تريد اعاد وضع التثبيت الالي.\n"
+#: ../../bootloader.pm_.c:999
+msgid "not enough room in /boot"
+msgstr "لا توجد مساحو كافية في /boot"
-#: ../../printer/cups.pm:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configured on other machines"
-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:1099
+msgid "Desktop"
+msgstr "سطح المكتب"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "information level that can be obtained through the cpuid instruction"
-msgstr "مستوى المعلومات التي يمكن الحصول عليها من تعليمات cpuid"
+#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
+#: ../../bootloader.pm_.c:1101
+msgid "Start Menu"
+msgstr "Start Menu"
-#: ../../lang.pm:1
+#: ../../bootloader.pm_.c:1120
#, c-format
-msgid "Peru"
-msgstr "بيرو"
+msgid "You can't install the bootloader on a %s partition\n"
+msgstr "يمكنك تثبيت محمّل الإقلاع على التجزئة %s\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " on device: %s"
-msgstr " على الجهاز: %s"
+#: ../../bootlook.pm_.c:53
+msgid "Boot Style Configuration"
+msgstr "اعداد أسلوب الإقلاع"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Remove Windows(TM)"
-msgstr "احذف Windows(TM)"
+#: ../../bootlook.pm_.c:70 ../../standalone/drakfloppy_.c:54
+#: ../../standalone/harddrake2_.c:81 ../../standalone/harddrake2_.c:82
+#: ../../standalone/logdrake_.c:74
+msgid "/_File"
+msgstr "/_ملف"
-#: ../../services.pm:1
-#, c-format
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "تبدأ خادم خطوط X (هذا الزامي لكي يعمل XFree)"
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/logdrake_.c:80
+msgid "/File/_Quit"
+msgstr "/ملف/_خروج"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Most of these values were extracted\n"
-"from your running system.\n"
-"You can modify as needed."
-msgstr ""
-"تم استخراج أغلب هذه القيم\n"
-"من النظام.\n"
-"يمكنك التعديل اذا احتجت لذلك."
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/harddrake2_.c:82 ../../standalone/logdrake_.c:80
+msgid "<control>Q"
+msgstr "<تحكم>Q"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Select the font file or directory and click on 'Add'"
-msgstr "اختر ملف أو دليل الخطوط و اضغط 'اضافة'"
+#: ../../bootlook.pm_.c:82
+msgid "NewStyle Categorizing Monitor"
+msgstr "شاشة NewStyle التصنيفية"
-#: ../../lang.pm:1
-#, c-format
-msgid "Madagascar"
-msgstr "مدغشقر"
+#: ../../bootlook.pm_.c:83
+msgid "NewStyle Monitor"
+msgstr "شاشة NewStyle"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Urpmi"
-msgstr "Urpmi"
+#: ../../bootlook.pm_.c:84
+msgid "Traditional Monitor"
+msgstr "شاشة تقليدية"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Cron not available yet as non-root"
-msgstr "Cron غير متوفر حتى الآن للمستخدمين غير الجذر"
+#: ../../bootlook.pm_.c:85
+msgid "Traditional Gtk+ Monitor"
+msgstr "شاشة Gtk+ التقليدية"
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "System"
-msgstr "النظام"
+#: ../../bootlook.pm_.c:86
+msgid "Launch Aurora at boot time"
+msgstr "شغّل Aurora عند الإقلاع"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Do you want to use this feature?"
-msgstr "هل تريد استخدام هذه الميزة؟"
+#: ../../bootlook.pm_.c:89
+msgid "Lilo/grub mode"
+msgstr "وضع Lilo/grub"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Arabic"
-msgstr "العربية"
+#: ../../bootlook.pm_.c:89
+msgid "Yaboot mode"
+msgstr "وضع Yaboot"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../bootlook.pm_.c:138
+#, fuzzy
+msgid "Install themes"
+msgstr "تثبيت النظام"
+
+#: ../../bootlook.pm_.c:139
msgid ""
-"\n"
-"- Options:\n"
+"Display theme\n"
+"under console"
msgstr ""
-"\n"
-"- خيارات:\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Password required"
-msgstr "يُحتاج الى كلمة المرور"
-#: ../../common.pm:1
-#, c-format
-msgid "%d minutes"
-msgstr "%d دقائق"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Graphics card: %s"
-msgstr "بطاقة الشاشة: %s"
+#: ../../bootlook.pm_.c:140
+#, fuzzy
+msgid "Create new theme"
+msgstr "اعمل تجزئة جديدة"
-#: ../../standalone/drakbackup:1
+#: ../../bootlook.pm_.c:184
#, c-format
-msgid "WebDAV transfer failed!"
-msgstr "فشلت عملية نقل WebDAV!"
+msgid "Backup %s to %s.old"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree configuration"
-msgstr "إعداد XFree"
+#: ../../bootlook.pm_.c:187
+#, fuzzy, c-format
+msgid "Copy %s to %s"
+msgstr "جاري نسخ %s"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Choose action"
-msgstr "اختر حدث"
+#: ../../bootlook.pm_.c:192 ../../bootlook.pm_.c:222 ../../bootlook.pm_.c:224
+#: ../../bootlook.pm_.c:234 ../../bootlook.pm_.c:243 ../../bootlook.pm_.c:250
+#: ../../diskdrake/dav.pm_.c:77 ../../diskdrake/hd_gtk.pm_.c:119
+#: ../../diskdrake/interactive.pm_.c:216 ../../diskdrake/interactive.pm_.c:352
+#: ../../diskdrake/interactive.pm_.c:367 ../../diskdrake/interactive.pm_.c:481
+#: ../../diskdrake/interactive.pm_.c:486 ../../diskdrake/smbnfs_gtk.pm_.c:45
+#: ../../fsedit.pm_.c:239 ../../install_steps.pm_.c:75
+#: ../../install_steps_interactive.pm_.c:67 ../../interactive/http.pm_.c:119
+#: ../../interactive/http.pm_.c:120 ../../standalone/draksplash_.c:21
+msgid "Error"
+msgstr "خطأ"
-#: ../../lang.pm:1
-#, c-format
-msgid "French Polynesia"
-msgstr "بولينيسيا الفرنسية"
+#: ../../bootlook.pm_.c:192
+msgid "Lilo message not found"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Usually, DrakX has no problems detecting the number of buttons on your\n"
-"mouse. If it does, it assumes you have a two-button mouse and will\n"
-"configure it for third-button emulation. The third-button mouse button of a\n"
-"two-button mouse can be ``pressed'' by simultaneously clicking the left and\n"
-"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
-"a PS/2, serial or USB interface.\n"
-"\n"
-"If for some reason you wish to specify a different type of mouse, select it\n"
-"from the list provided.\n"
-"\n"
-"If you choose a mouse other than the default, a test screen will be\n"
-"displayed. Use the buttons and wheel to verify that the settings are\n"
-"correct and that the mouse is working correctly. If the mouse is not\n"
-"working well, press the space bar or [Return] key to cancel the test and to\n"
-"go back to the list of choices.\n"
-"\n"
-"Wheel mice are occasionally not detected automatically, so you will need to\n"
-"select your mouse from a list. Be sure to select the one corresponding to\n"
-"the port that your mouse is attached to. After selecting a mouse and\n"
-"pressing the \"%s\" button, a mouse image is displayed on-screen. Scroll\n"
-"the mouse wheel to ensure that it is activated correctly. Once you see the\n"
-"on-screen scroll wheel moving as you scroll your mouse wheel, test the\n"
-"buttons and check that the mouse pointer moves on-screen as you move your\n"
-"mouse."
+#: ../../bootlook.pm_.c:222
+msgid "Can't write /etc/sysconfig/bootsplash."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "دعم طابعات OKI 4w و الطابعات المتوافقة."
+#: ../../bootlook.pm_.c:222
+#, fuzzy, c-format
+msgid "Write %s"
+msgstr "XFree %s"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../bootlook.pm_.c:224
msgid ""
-"Files or wildcards listed in a .backupignore file at the top of a directory "
-"tree will not be backed up."
+"Can't write /etc/sysconfig/bootsplash\n"
+"File not found."
msgstr ""
-#: ../../services.pm:1
+#: ../../bootlook.pm_.c:235
#, c-format
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "تشغّل نظام الصوت ALSA (Advanced Linux Sound Arachitecture)"
+msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
+msgstr ""
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../modules/interactive.pm:1
+#: ../../bootlook.pm_.c:238
#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "جاري تثبيت مشغل %s للبطاقة %s"
+msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:244
msgid ""
-"You have transferred your former default printer (\"%s\"), Should it be also "
-"the default printer under the new printing system %s?"
+"Can't relaunch LiLo!\n"
+"Launch \"lilo\" as root in command line to complete LiLo theme installation."
msgstr ""
-"لقد قمت بنقل الطابعة الإفتراضية السابقة (\"%s\"), هل يجب أيضاً أن تكون "
-"الطابعة الإفتراضية تحت نظام الطباعة الجديد %s؟"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Enable Server"
-msgstr "مكّن الخادم"
+#: ../../bootlook.pm_.c:248
+msgid "Relaunch 'lilo'"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ukrainian"
-msgstr "الأوكرانية"
+#: ../../bootlook.pm_.c:250 ../../standalone/draksplash_.c:156
+#: ../../standalone/draksplash_.c:321 ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "Notice"
+msgstr "لا فيديو"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The network access was not running and could not be started. Please check "
-"your configuration and your hardware. Then try to configure your remote "
-"printer again."
+#: ../../bootlook.pm_.c:251
+msgid "LiLo and Bootsplash themes installation successfull"
msgstr ""
-"الوصول الى الشبكة لا يعمل و لم يمكن بدؤه. فضلاً تأكد من التهيئة لديك و العتاد "
-"الخاص بك. ثم حاول تهيئة الطابعة البعيدة مرة أخرى."
-#: ../../standalone/drakperm:1
+#: ../../bootlook.pm_.c:251
+#, fuzzy
+msgid "Theme installation failed!"
+msgstr "اختر نوع التثبيت"
+
+#: ../../bootlook.pm_.c:259
#, c-format
-msgid "Enable \"%s\" to write the file"
+msgid ""
+"You are currently using %s as your boot manager.\n"
+"Click on Configure to launch the setup wizard."
msgstr ""
+"أنت تستخدم %s كمدير اقلاع حاليا.\n"
+"اضغط على تهيئة لتشغيل معالج الإعداد"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please insert the Boot floppy used in drive %s"
-msgstr "فضلاً أدخل قرص الإقلاع الذي تستخدمه في السواقة %s"
+#: ../../bootlook.pm_.c:261 ../../standalone/drakbackup_.c:2380
+#: ../../standalone/drakbackup_.c:2390 ../../standalone/drakbackup_.c:2400
+#: ../../standalone/drakbackup_.c:2408 ../../standalone/drakgw_.c:551
+msgid "Configure"
+msgstr "إعداد"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local network(s)"
-msgstr "الشبكة/الشبكات المحلية"
+#: ../../bootlook.pm_.c:268
+msgid "Splash selection"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Remove Windows"
-msgstr "احذف Windows"
+#: ../../bootlook.pm_.c:271
+msgid "Themes"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../bootlook.pm_.c:273
msgid ""
-"Your %s has been configured.\n"
-"You may now scan documents using \"XSane\" from Multimedia/Graphics in the "
-"applications menu."
+"\n"
+"Select theme for\n"
+"lilo and bootsplash,\n"
+"you can choose\n"
+"them separatly"
msgstr ""
-"تمت تهيئة الماسح الضوئي %s.\n"
-"يمكنك الآن مسح المستندات باستخدام \"XSane\" من فرع وسائط متعددة/برامج رسومية "
-"في قائمة التطبيقات."
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Firewire controllers"
-msgstr "متحكمات Firewire"
+#: ../../bootlook.pm_.c:276
+msgid "Lilo screen"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"After you have configured the general bootloader parameters, the list of\n"
-"boot options that will be available at boot time will be displayed.\n"
-"\n"
-"If there are other operating systems installed on your machine they will\n"
-"automatically be added to the boot menu. You can fine-tune the existing\n"
-"options by clicking \"%s\" to create a new entry; selecting an entry and\n"
-"clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your\n"
-"changes.\n"
-"\n"
-"You may also not want to give access to these other operating systems to\n"
-"anyone who goes to the console and reboots the machine. You can delete the\n"
-"corresponding entries for the operating systems to remove them from the\n"
-"bootloader menu, but you will need a boot disk in order to boot those other\n"
-"operating systems!"
+#: ../../bootlook.pm_.c:281
+msgid "Bootsplash"
msgstr ""
-"بعدما قمت بتهيئة المعاملات العامة لمحمّل الإقلاع, فسيتم\n"
-"عرض قائمة خيارات الإقلاع المتوفرة عند بدء التشغيل.\n"
-"\n"
-"اذا كانت هناك أنظمة تشغيل أخرى مثبتة على ماكينتك فسيتم اضافتها\n"
-"آلياً الى قائمة الإقلاع. يمكنك التحكم بالخيارات\n"
-"الموجودة بنقر \"%s\" لإنشاء مدخل جديد, و اختيار مدخل و\n"
-"نقر \"%s\" أو \"%s\" لتعديل أو حذف المدخل. \"%s\" يتأكد\n"
-"من تغييراتك.\n"
-"\n"
-"ربما لا تريد لأي شخص يتمكن من اعادة تشغيل الماكينة أن يستطيع\n"
-"الوصل الى أنظمة التشغيل الأخرى. يمكنك حذف المداخل المقابلة\n"
-"لأنظمة التشغيل لحذفها من قائمة محمّل الإقلاع, لكن في هذه الحالة ستحتاج الى "
-"قرص\n"
-"مرن للإقلاع كي تتمكن من الوصول الى أنظمة\n"
-"التشغيل الأخرى!"
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../bootlook.pm_.c:316
msgid "System mode"
msgstr "وضع النظام"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print on 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."
-msgstr ""
-"للطباعة على طابعة NetWare, تحتاج الى اعطاء اسم خادم طباعة NetWare (لاحط أنه "
-"قد يختلف عن اسم مستضيف TCP/IP!) بالإضافة الى اسم الصف للطابعة التي رغب في "
-"الوصول اليها بالإضافة الى اسم مستخدم و كلمة مرور مناسبتين."
+#: ../../bootlook.pm_.c:318
+msgid "Launch the graphical environment when your system starts"
+msgstr "شغّل X-Window عند بدء التشغيل"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Netmask:"
-msgstr "Netmask:"
+#: ../../bootlook.pm_.c:323
+msgid "No, I don't want autologin"
+msgstr "لا, لا أريد دخولا أليا"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Do it later"
-msgstr ""
+#: ../../bootlook.pm_.c:325
+msgid "Yes, I want autologin with this (user, desktop)"
+msgstr "نعم, أريد دخولا آليا مع هذا )المستخدم, سطح المكتب("
-#: ../../any.pm:1
-#, c-format
-msgid "Append"
-msgstr "الحاق"
+#: ../../bootlook.pm_.c:335 ../../network/netconnect.pm_.c:96
+#: ../../standalone/drakTermServ_.c:222 ../../standalone/drakTermServ_.c:355
+#: ../../standalone/drakbackup_.c:4139 ../../standalone/drakbackup_.c:4797
+#: ../../standalone/drakconnect_.c:105 ../../standalone/drakconnect_.c:137
+#: ../../standalone/drakconnect_.c:293 ../../standalone/drakconnect_.c:432
+#: ../../standalone/drakconnect_.c:518 ../../standalone/drakconnect_.c:561
+#: ../../standalone/drakconnect_.c:665 ../../standalone/drakfont_.c:604
+#: ../../standalone/drakfont_.c:783 ../../standalone/drakfont_.c:911
+#: ../../standalone/net_monitor_.c:336 ../../ugtk.pm_.c:288
+#: ../../ugtk2.pm_.c:355
+msgid "OK"
+msgstr "موافق"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refresh printer list (to display all available remote CUPS printers)"
-msgstr "أعد تحميل قائمة الطابعات (لعرض كل طابعات CUPS البعيدة المتوفرة)"
+#: ../../common.pm_.c:107
+msgid "GB"
+msgstr "غيغابايت"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"When this option is turned on, on every startup of CUPS it is automatically "
-"made sure that\n"
-"\n"
-"- if LPD/LPRng is installed, /etc/printcap will not be overwritten by CUPS\n"
-"\n"
-"- if /etc/cups/cupsd.conf is missing, it will be created\n"
-"\n"
-"- when printer information is broadcasted, it does not contain \"localhost\" "
-"as the server name.\n"
-"\n"
-"If some of these measures lead to problems for you, turn this option off, "
-"but then you have to take care of these points."
-msgstr ""
-"عند تشغيل هذا الخيار, فعند كل بداية تشغيل لـCUPS سيتم التأكد آلياً من ما\n"
-"\n"
-"- اذا كان LPD/LPRng مثبتاً, لن تتم الكتابة فوق /etc/printcap عن طريق CUPS\n"
-"\n"
-"- اذا كان /etc/cups/cupsd.conf مفقود, سيتم انشاؤه في هذه الحال\n"
-"\n"
-"- اذا كانت معلومات الطباعة منشورة, أي أنها لا تحتوي \"localhost\" كإسم "
-"للخادم.\n"
-"\n"
-"اذا كانت بعض هذه الإجراءات قد تسببت بمشاكل لك, عطّل هذا الخيار, لكن في هذه "
-"الحال عليك الإنتباه لهذه النقاط."
+#: ../../common.pm_.c:107
+msgid "KB"
+msgstr "كيلوبايت"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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"
+#: ../../common.pm_.c:107
+msgid "MB"
+msgstr "ميغابايت"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network printer \"%s\", port %s"
-msgstr "طابعة شبكة \"%s\", المنفذ %s"
+#: ../../common.pm_.c:115
+msgid "TB"
+msgstr "تيرابايت"
-#: ../../standalone/drakgw:1
+#: ../../common.pm_.c:123
#, c-format
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr "فضلاً اختر موائم الشبكة الذي سيتم به الإتصال بالشبكة المحلية."
+msgid "%d minutes"
+msgstr "%d دقائق"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "OK to restore the other files."
-msgstr "اضغط موافق لاستعادة ملفات اخرى"
+#: ../../common.pm_.c:125
+msgid "1 minute"
+msgstr "دقيقة واحدة"
-#: ../../install_steps_interactive.pm:1
+#: ../../common.pm_.c:127
#, c-format
-msgid "Please choose your keyboard layout."
-msgstr "رجاء, اختر لوحة المفاتيح."
+msgid "%d seconds"
+msgstr "%d ثوان"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Device URI"
-msgstr "URI جهاز الطابعة"
+#: ../../common.pm_.c:172
+msgid "Can't make screenshots before partitioning"
+msgstr "لا يمكنني غمل لقطات للشاشة قبل التجزئة"
-#: ../../standalone/drakbackup:1
+#: ../../common.pm_.c:179
#, c-format
-msgid "Not erasable media!"
-msgstr "وسيط غير قابل للمسح!"
+msgid "Screenshots will be available after install in %s"
+msgstr "ستكون لقطات الشاشة موجودة بعد التثبيت في %s"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Terminal-based"
-msgstr "Terminal-based"
+#: ../../crypto.pm_.c:14 ../../crypto.pm_.c:28 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:127
+msgid "France"
+msgstr "فرنسا"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable IP spoofing protection."
-msgstr "تمكين/تعطيل حماية IP spoofing"
+#: ../../crypto.pm_.c:15
+msgid "Costa Rica"
+msgstr "كوستاريكا"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing a printing system in the %s security level"
-msgstr "جاري تثبيت نظام طباعة في مستوى الأمن %s"
+#: ../../crypto.pm_.c:16 ../../crypto.pm_.c:29 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:130
+msgid "Belgium"
+msgstr "بلجيكا"
-#: ../../any.pm:1
-#, c-format
-msgid "The user name is too long"
-msgstr "اسم المستخدم طويل جداً"
+#: ../../crypto.pm_.c:17 ../../crypto.pm_.c:30
+msgid "Czech Republic"
+msgstr "جمهورية التشيك"
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (windows...)"
-msgstr "نظام آخر (Windows...)"
+#: ../../crypto.pm_.c:18 ../../crypto.pm_.c:31
+msgid "Germany"
+msgstr "ألمانيا"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WebDAV remote site already in sync!"
-msgstr "موقع WebDAV البعيد متزامن مسبقاً!"
+#: ../../crypto.pm_.c:19 ../../crypto.pm_.c:32
+msgid "Greece"
+msgstr "اليونان"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer database..."
-msgstr "جاري قراءة قاعدة بيانات الطابعات..."
+#: ../../crypto.pm_.c:20 ../../crypto.pm_.c:33
+msgid "Norway"
+msgstr "النرويج"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Generate auto install floppy"
-msgstr "انشئ قرص تثبيت آلي"
+#: ../../crypto.pm_.c:21 ../../crypto.pm_.c:34
+msgid "Sweden"
+msgstr "السويد"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\t\t user name: %s\n"
-"\t\t on path: %s \n"
-msgstr ""
-"\t\t اسم المستخدم: %s\n"
-"\t\t على المسار: %s\n"
+#: ../../crypto.pm_.c:22 ../../crypto.pm_.c:36 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:128
+msgid "Netherlands"
+msgstr "هولندا"
-#: ../../lang.pm:1
-#, c-format
-msgid "Somalia"
-msgstr "الصومال"
+#: ../../crypto.pm_.c:23 ../../crypto.pm_.c:37 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:129 ../../standalone/drakxtv_.c:65
+msgid "Italy"
+msgstr "إيطاليا"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No open source driver"
-msgstr "لا يوجد مشغل مفتوح المصدر"
+#: ../../crypto.pm_.c:24 ../../crypto.pm_.c:38
+msgid "Austria"
+msgstr "النمسا"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Def."
-msgstr ""
+#: ../../crypto.pm_.c:35 ../../crypto.pm_.c:61 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:131
+msgid "United States"
+msgstr "الولايات المتحدة"
-#: ../../security/level.pm:1
-#, c-format
+#: ../../diskdrake/dav.pm_.c:19
msgid ""
-"This is similar to the previous level, but the system is entirely closed and "
-"security features are at their maximum."
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
msgstr ""
-"هذا مماثل للمستوى السابق, و لكن النظام مغلق كلياً و المزايا الأمني على حدها "
-"الأقصى."
-#: ../../lang.pm:1
-#, c-format
-msgid "Nicaragua"
-msgstr "نيكاراغوا"
+#: ../../diskdrake/dav.pm_.c:27
+#, fuzzy
+msgid "New"
+msgstr "جديد"
-#: ../../lang.pm:1
-#, c-format
-msgid "New Caledonia"
-msgstr "نيوكاليدونيا"
+#: ../../diskdrake/dav.pm_.c:63 ../../diskdrake/interactive.pm_.c:400
+#: ../../diskdrake/smbnfs_gtk.pm_.c:81
+msgid "Unmount"
+msgstr "ازل التجهيز"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol (EDSS1)"
-msgstr "البروتوكول الأوروبي (EDSS1)"
+#: ../../diskdrake/dav.pm_.c:64 ../../diskdrake/interactive.pm_.c:397
+#: ../../diskdrake/smbnfs_gtk.pm_.c:82
+msgid "Mount"
+msgstr "جهز"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Delete"
-msgstr "/_حذف"
+#: ../../diskdrake/dav.pm_.c:65
+msgid "Server"
+msgstr "خادم"
-#: ../../any.pm:1
-#, c-format
-msgid "Video mode"
-msgstr "وضعية الفيديو"
+#: ../../diskdrake/dav.pm_.c:66 ../../diskdrake/interactive.pm_.c:391
+#: ../../diskdrake/interactive.pm_.c:580 ../../diskdrake/interactive.pm_.c:607
+#: ../../diskdrake/removable.pm_.c:24 ../../diskdrake/smbnfs_gtk.pm_.c:85
+msgid "Mount point"
+msgstr "نقطة التجهيز"
-#: ../../lang.pm:1
-#, c-format
-msgid "Oman"
-msgstr "عمان"
+#: ../../diskdrake/dav.pm_.c:85
+#, fuzzy
+msgid "Please enter the WebDAV server URL"
+msgstr "رجاء أدخل سرعة سواقة كتابة الأقراص"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Please enter your email address below "
-msgstr "فضلاً أدخل عنوان بريدك الألكتروني أدناه "
+#: ../../diskdrake/dav.pm_.c:88
+msgid "The URL must begin with http:// or https://"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Network Monitoring"
-msgstr "مراقبة الشبكة"
+#: ../../diskdrake/dav.pm_.c:109
+#, fuzzy
+msgid "Server: "
+msgstr "خادم"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "SunOS"
-msgstr "SunOS"
+#: ../../diskdrake/dav.pm_.c:110 ../../diskdrake/interactive.pm_.c:452
+#: ../../diskdrake/interactive.pm_.c:1102
+#: ../../diskdrake/interactive.pm_.c:1177
+msgid "Mount point: "
+msgstr "نقطة التجهيز: "
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/dav.pm_.c:111 ../../diskdrake/interactive.pm_.c:1183
#, c-format
-msgid "New size in MB: "
-msgstr "الحجم الجديد بالميغابايت: "
+msgid "Options: %s"
+msgstr "الخيارات: %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "نوع جدول التقسيم: %s\n"
+#: ../../diskdrake/hd_gtk.pm_.c:97
+msgid "Please make a backup of your data first"
+msgstr "رجاء قم بعمل نسخة احتياطية من بياناتك أولا"
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication Windows Domain"
-msgstr "تحقق نطاق Windows"
+#: ../../diskdrake/hd_gtk.pm_.c:97 ../../diskdrake/interactive.pm_.c:946
+#: ../../diskdrake/interactive.pm_.c:956
+#: ../../diskdrake/interactive.pm_.c:1022
+msgid "Read carefully!"
+msgstr "اقرأ جيدا!"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard"
-msgstr "لوحة المفاتيح الأمريكية"
+#: ../../diskdrake/hd_gtk.pm_.c:100
+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, فلا تنسى أن تترك مساحة فارغة في\n"
+"بداية القرص (2048 قطاعات كافية)"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Buttons emulation"
-msgstr "محاكاة الأزرار"
+#: ../../diskdrake/hd_gtk.pm_.c:154
+msgid "Wizard"
+msgstr "المعالج"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", network printer \"%s\", port %s"
-msgstr ", طابعة شبكة \"%s\", المنفذ %s"
+#: ../../diskdrake/hd_gtk.pm_.c:187
+msgid "Choose action"
+msgstr "اختر حدثا"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:191
msgid ""
-"\n"
-"Drakbackup activities via tape:\n"
-"\n"
+"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 ""
-"\n"
-"نشاطات Drakbackup عن طريق شريط التخزين:\n"
-"\n"
+"لديك تجزئة FAT واحدة كبيرة\n"
+"(يستخدم عامة عن طريق Microsoft DOS/Windows).\n"
+"اقترح أن تغير حجم هذه التجزئة\n"
+"(اضغط عليها ثم اختر \"تغيير الحجم\")"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" FTP connection problem: It was not possible to send your backup files by "
-"FTP.\n"
-msgstr ""
-"\n"
-" مشكلة في وصلة FTP: لم يكن بالإمكان ارسال ملفات النسخ الإحتياطي الخاصة بك "
-"باستخدام FTP.\n"
+#: ../../diskdrake/hd_gtk.pm_.c:194
+msgid "Please click on a partition"
+msgstr "فضلا اضغط على تجزئة"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Sending Speed:"
-msgstr "سرعة الإرسال:"
+#: ../../diskdrake/hd_gtk.pm_.c:208 ../../diskdrake/smbnfs_gtk.pm_.c:69
+#: ../../install_steps_gtk.pm_.c:464
+msgid "Details"
+msgstr "تفاصيل"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"The classic bug sound tester is to run the following commands:\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
-"by default\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" will tell you what driver it\n"
-"currently uses\n"
-"\n"
-"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-"loaded or not\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
-"tell you if sound and alsa services're configured to be run on\n"
-"initlevel 3\n"
-"\n"
-"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+#
+#: ../../diskdrake/hd_gtk.pm_.c:254
+#, fuzzy
+msgid "No hard drives found"
msgstr ""
-"The classic bug sound tester is to run the following commands:\n"
-"\n"
+"لم يتم ايحاد طابعة محلية!\n"
"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
-"by default\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" will tell you what driver it\n"
-"currently uses\n"
-"\n"
-"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-"loaded or not\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
-"tell you if sound and alsa services're configured to be run on\n"
-"initlevel 3\n"
-"\n"
-"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Halt bug"
-msgstr "Halt bug"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Ext2"
+msgstr "Ext2"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert configuration"
-msgstr "تهيئة تنبيه البريد"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "FAT"
+msgstr "FAT"
-#: ../../lang.pm:1
-#, c-format
-msgid "Tokelau"
-msgstr "توكلاو"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "HFS"
+msgstr "HFS"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Matching"
-msgstr "الموائمة"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Journalised FS"
+msgstr "Journalised FS"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bosnian"
-msgstr "البوسنية"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "SunOS"
+msgstr "SunOS"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Release: "
-msgstr "الإصدار:"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Swap"
+msgstr "التبديل"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection speed"
-msgstr "سرعة الإتصال"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../diskdrake/interactive.pm_.c:1118
+msgid "Empty"
+msgstr "فارغ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Namibia"
-msgstr "ناميبيا"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../install_steps_gtk.pm_.c:324
+#: ../../install_steps_gtk.pm_.c:382 ../../mouse.pm_.c:165
+#: ../../services.pm_.c:162 ../../standalone/drakbackup_.c:1719
+msgid "Other"
+msgstr "أخرى"
-#: ../../services.pm:1
-#, c-format
-msgid "Database Server"
-msgstr "خادم قواعد بيانات"
+#: ../../diskdrake/hd_gtk.pm_.c:330
+msgid "Filesystem types:"
+msgstr "أنواع أنظمة الملفات:"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "special capacities of the driver (burning ability and or DVD support)"
-msgstr "امكانيات مميزة لهذا المشغل (امكانية النسخ أو دعم DVD)"
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:414
+msgid "Create"
+msgstr "عمل تجزئة"
+
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:392
+#: ../../diskdrake/interactive.pm_.c:543 ../../diskdrake/removable.pm_.c:26
+#: ../../diskdrake/removable.pm_.c:49 ../../standalone/harddrake2_.c:66
+msgid "Type"
+msgstr "النوع"
-#: ../../raid.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/hd_gtk.pm_.c:349
#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "لا يمكن اضافة تجزئة الى RAID _المجهز_ md%d"
+msgid "Use ``%s'' instead"
+msgstr "استخدم ``%s'' بدلا من ذلك"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Network Time Protocol"
-msgstr "واجهة الشبكة "
+#: ../../diskdrake/hd_gtk.pm_.c:349 ../../diskdrake/interactive.pm_.c:401
+msgid "Delete"
+msgstr "إلغاء"
+
+#: ../../diskdrake/hd_gtk.pm_.c:353
+msgid "Use ``Unmount'' first"
+msgstr "استخدم ``ازالة التجهيز'' أولا"
-#: ../../Xconfig/card.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:354 ../../diskdrake/interactive.pm_.c:530
#, 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 ""
-"يمكن لبطاقتك التمتع بدعم للتسريع ثلاثي الأبعاد لكن فقط مع XFree %s, \n"
-"لاحظ أن هذا الدعم تجريبي و قد يتسبب في ايقاف جهازك.\n"
-"بطاقتك مدعومة عن طريق XFree %s التي يمكن أن تكون مدعومة بشكل أفضل في وضعية "
-"الرسوم ثنائية الأبعاد."
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "بعد تغيير نوع التجزئة %s, فإنك ستسخر كل البيانات على التجزئة"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security options..."
-msgstr "انتظر من فضلك, جاري تعيين خيارات الأمن..."
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose a partition"
+msgstr "إختر تجزئة"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH05X (bt878) [many vendors]"
-msgstr "غير معروف|CPH05X (bt878) [مصنعون كثيرون]"
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose another partition"
+msgstr "إختر شاشة"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Launch the graphical environment when your system starts"
-msgstr "شغّل X-Window عند بدء التشغيل"
+#: ../../diskdrake/interactive.pm_.c:202
+msgid "Exit"
+msgstr "خروج"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hourly"
-msgstr "كلّ ساعة "
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to expert mode"
+msgstr "النتقال الى وضعية الخبير"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Shift key"
-msgstr "مفتاح Shift الأيمن"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to normal mode"
+msgstr "الانتقال الى الوضع العادي"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Successfuly Restored on %s "
-msgstr " تمت الإستعادة بنجاح على %s "
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Undo"
+msgstr "تراجع"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Making printer port available for CUPS..."
-msgstr "جاري جعل منفذ الطابعة متوفراً لـCUPS..."
+#: ../../diskdrake/interactive.pm_.c:247
+msgid "Continue anyway?"
+msgstr "هل تريد الاكمال على أي حال؟"
-#: ../../lang.pm:1
-#, c-format
-msgid "Antigua and Barbuda"
-msgstr "أنتيغوا و باربودا"
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without saving"
+msgstr "الخروج بدون الحفظ"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"!!! Indicates the password in the system database is different than\n"
-" the one in the Terminal Server database.\n"
-"Delete/re-add the user to the Terminal Server to enable login."
-msgstr ""
-"!!! تظهر اذا كانت كلمة المرور في قاعدة بيانات النظام مختلفة\n"
-"عن تلك التي لقاعدة بيانات خادم الطرفيات.\n"
-"احذف/أعد اضافة المستخدم الى خادم الطرفيات لتمكين تسجيل الدخول."
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without writing the partition table?"
+msgstr "هل تريد الخروج بدون كتابة جدول التقسيم؟"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Spanish"
-msgstr "الإسبانية"
+#: ../../diskdrake/interactive.pm_.c:257
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "هل تريد حفظ تعديلات /etc/fstab"
-#: ../../services.pm:1
-#, c-format
-msgid "Start"
-msgstr "ابدأ"
+#: ../../diskdrake/interactive.pm_.c:271
+msgid "Clear all"
+msgstr "أمسح الكل"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Direct root login"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:272
+msgid "Auto allocate"
+msgstr "تحديد آلي"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring applications..."
-msgstr "جاري إعداد التطبيقات..."
+#: ../../diskdrake/interactive.pm_.c:273
+#: ../../install_steps_interactive.pm_.c:220
+msgid "More"
+msgstr "أكثر"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer, connected directly to the network or to a remote Windows machine.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected. Also your network printer(s) and your Windows "
-"machines must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network and/or Windows-hosted printers when you don't need "
-"it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
-"\n"
-"أهلاً بكم في معالج اعداد الطابعات\n"
-"هذا المعالج سيساعدك على تثبيت الطابعة/الطابعات الموصولة بهذا الكمبيوتر أو "
-"الموصولة مباشرةً بالشبكة أو بماكينة Windows بعيدة.\n"
-"\n"
-"اذا كانت لديك طابعة/طابعات موصولة بهذه الماكينة, فضلاً قم بتوصيلها الى هذا "
-"الكمبيوتر و قم بتشغيلها كي يتم التحقق منها/منهم آلياً. أيضاً يجب أن تكون طابعة/"
-"طابعات الشبكة و أجهزة Windows موصولة و مشغّلة.\n"
-"\n"
-"لاحظ أن التحقق الآلي من الطابعات على الشبكة قد يستغرق وقتاً أطول من التحقق "
-"الآلي من الطابعات الموصولة بهذه الماكينة فقط. لذا قم بتعطيل التحقق الآلي من "
-"طابعات الشبكة و/أو الطابعات المستضافة من Windows اذا لم تكن تحتاج الى هذه "
-"الميزة.\n"
-"\n"
-" انقر \"التالي\" عندما تكون مستعداً, و على \"الغاء\" اذا لم تكن تريد اعداد "
-"الطابعة/الطابعات الآن."
+#: ../../diskdrake/interactive.pm_.c:278
+msgid "Hard drive information"
+msgstr "معلومات القرص الصلب"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Normal modem connection"
-msgstr "وصلة مودم عادية"
+#: ../../diskdrake/interactive.pm_.c:310
+msgid "All primary partitions are used"
+msgstr "كل التجزئات الرئيسية مستخدمة"
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "File Selection"
-msgstr "اختيار الملفات"
+#: ../../diskdrake/interactive.pm_.c:311
+msgid "I can't add any more partition"
+msgstr "لا يمكنني اضافة أي تجزئة أخرى"
-#: ../../help.pm:1 ../../printer/cups.pm:1 ../../printer/data.pm:1
-#, c-format
-msgid "CUPS"
-msgstr "CUPS"
+#: ../../diskdrake/interactive.pm_.c:312
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr "لكي تمتلك تجزئات أكثر, يرجى الغاء تجزئة كي تتمكن من عمل تجزئة ممتدة"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase tape before backup"
-msgstr "امسح الشريط قبل النسخ الاحتياطي"
+#: ../../diskdrake/interactive.pm_.c:322
+msgid "Save partition table"
+msgstr "حفظ جدول التقسيم"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Run config tool"
-msgstr "شغّل أداة التهيئة"
+#: ../../diskdrake/interactive.pm_.c:323
+msgid "Restore partition table"
+msgstr "استعادة جدول التقسيم"
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation"
-msgstr "تثبيت محمل الإقلاع"
+#: ../../diskdrake/interactive.pm_.c:324
+msgid "Rescue partition table"
+msgstr "إنقاذ جدول التقسيم"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Root partition size in MB: "
-msgstr "حجم التجزئة الجذرية بالميغابايت"
+#: ../../diskdrake/interactive.pm_.c:326
+msgid "Reload partition table"
+msgstr "إعادة تحميل جدول التقسيم"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "هذه الحزمة الزامية, لا يمكن عدم اختيارها"
+#: ../../diskdrake/interactive.pm_.c:331
+msgid "Removable media automounting"
+msgstr "التجهيز الآلي للوسائط القابلة للإزالة"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:340 ../../diskdrake/interactive.pm_.c:360
+msgid "Select file"
+msgstr "اختر ملف"
+
+#: ../../diskdrake/interactive.pm_.c:347
msgid ""
-" - Create etherboot floppies/CDs:\n"
-" \tThe diskless client machines need either ROM images on the NIC, or "
-"a boot floppy\n"
-" \tor CD to initate the boot sequence. drakTermServ will help "
-"generate these\n"
-" \timages, based on the NIC in the client machine.\n"
-" \t\t\n"
-" \tA basic example of creating a boot floppy for a 3Com 3c509 "
-"manually:\n"
-" \t\t\n"
-" \tcat /usr/lib/etherboot/boot1a.bin \\\n"
-" \t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0"
+"The backup partition table has not the same size\n"
+"Still continue?"
msgstr ""
+"جدول التقسيم المحفوظ ليس بنفس الحجم\n"
+"لا زلت تريد الإكمال؟"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot ISO image is %s"
-msgstr "Etherboot ISO image هي %s"
+#: ../../diskdrake/interactive.pm_.c:361 ../../harddrake/sound.pm_.c:202
+#: ../../network/modem.pm_.c:95
+msgid "Warning"
+msgstr "تحذير"
-#: ../../services.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:362
msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
-"names to IP addresses."
+"Insert a floppy in drive\n"
+"All data on this floppy will be lost"
msgstr ""
-"named (BIND) هو خادم أسماء نطاق (DNS) و الذي يستخدم لمعرفة أسماء المستضيفات "
-"أو عناوين IP."
+"أدخل قرصا مرنا في السواقة\n"
+"كل البيانات على القرص ستمحى"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Lucia"
-msgstr "سانت لوسيا"
+#: ../../diskdrake/interactive.pm_.c:373
+msgid "Trying to rescue partition table"
+msgstr "جاري محاولة انقاذ جدول التقسيم"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "November"
-msgstr "نوفمبر"
+#: ../../diskdrake/interactive.pm_.c:379
+msgid "Detailed information"
+msgstr "معلومات مفصّلة"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Disconnect..."
-msgstr "اقطع الإتصال..."
+#: ../../diskdrake/interactive.pm_.c:394 ../../diskdrake/interactive.pm_.c:674
+msgid "Resize"
+msgstr "تغيير الحجم"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Report"
-msgstr "تقرير"
+#: ../../diskdrake/interactive.pm_.c:395 ../../diskdrake/interactive.pm_.c:727
+msgid "Move"
+msgstr "نقل"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palau"
-msgstr "بالاو"
+#: ../../diskdrake/interactive.pm_.c:396
+msgid "Format"
+msgstr "تنسيق"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "level"
-msgstr "المستوى"
+#: ../../diskdrake/interactive.pm_.c:398
+msgid "Add to RAID"
+msgstr "اضافة الى RAID"
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid ""
-"All incidents will be followed up by a single qualified MandrakeSoft "
-"technical expert."
-msgstr "كل مشكلة سيتم تتبعها من خبير واحد معتمد من MandrakeSoft."
+#: ../../diskdrake/interactive.pm_.c:399
+msgid "Add to LVM"
+msgstr "اضافة الى LVM"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package Group Selection"
-msgstr "اختيار مجموعات الحزم"
+#: ../../diskdrake/interactive.pm_.c:402
+msgid "Remove from RAID"
+msgstr "ازالة من RAID"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Allow local hardware\n"
-"configuration."
-msgstr ""
-"اسمح بالتهيئة المحلية\n"
-"للعتاد"
+#: ../../diskdrake/interactive.pm_.c:403
+msgid "Remove from LVM"
+msgstr "ازالة من LVM"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network Protocol: %s"
-msgstr "استعد عن طريق بروتوكول الشبكة: %s"
+#: ../../diskdrake/interactive.pm_.c:404
+msgid "Modify RAID"
+msgstr "تعديل RAID"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "You can configure each parameter of the module here."
-msgstr "يمكنك تهيئة كل معامل للوحدة هنا."
+#: ../../diskdrake/interactive.pm_.c:405
+msgid "Use for loopback"
+msgstr "استخدام لـloopback"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Choose the resolution and the color depth"
-msgstr "اختر دقة العرض و عمق الألوام"
+#: ../../diskdrake/interactive.pm_.c:445
+msgid "Create a new partition"
+msgstr "اعمل تجزئة جديدة"
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Emulate third button?"
-msgstr "محاكاة الزر الثالث؟"
+#: ../../diskdrake/interactive.pm_.c:448
+msgid "Start sector: "
+msgstr "قطاع البداية: "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:450 ../../diskdrake/interactive.pm_.c:827
+msgid "Size in MB: "
+msgstr "الحجم باليغابايت: "
+
+#: ../../diskdrake/interactive.pm_.c:451 ../../diskdrake/interactive.pm_.c:828
+msgid "Filesystem type: "
+msgstr "نوع نظام المفات: "
+
+#: ../../diskdrake/interactive.pm_.c:456
+msgid "Preference: "
+msgstr "التفضيل: "
+
+#: ../../diskdrake/interactive.pm_.c:481
msgid ""
"You can't create a new partition\n"
"(since you reached the maximal number of primary partitions).\n"
"First remove a primary partition and create an extended partition."
msgstr ""
-"لا يمكنك انشاء تجزئة جديدة\n"
-"(لأنك وصلت الى العدد الأقصى من التجزئات الأساسية).\n"
-"أولاً اخذف تجزئة أساسية و قم بإنشاء تجزئة ممتدة."
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount"
-msgstr "حمل"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Creating auto install floppy"
-msgstr "جاري انشاء قرص التثبيت الآلي"
-#: ../../steps.pm:1
-#, c-format
-msgid "Install updates"
-msgstr "تثبيت تحديثات النظام"
+#: ../../diskdrake/interactive.pm_.c:511
+msgid "Remove the loopback file?"
+msgstr "هل تريد ازالة ملف loopback؟"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text box height"
-msgstr "ارتفاع الصندوق النصي"
+#: ../../diskdrake/interactive.pm_.c:541
+msgid "Change partition type"
+msgstr "غير نوع التجزئة"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "State"
-msgstr "الحالة"
+#: ../../diskdrake/interactive.pm_.c:542 ../../diskdrake/removable.pm_.c:48
+msgid "Which filesystem do you want?"
+msgstr "أي نظام ملفات تريد؟"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Be sure a media is present for the device %s"
-msgstr "تأكد من وجود الوسيط للوحدة %s"
+#: ../../diskdrake/interactive.pm_.c:548
+msgid "Switching from ext2 to ext3"
+msgstr "جاري التغيير من ext2 الى ext3"
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:578
#, c-format
-msgid "Enable multiple profiles"
-msgstr "تمكين التشكيلات المتعددة"
+msgid "Where do you want to mount loopback file %s?"
+msgstr "أين تريد تجهيز ملف loopback %s؟"
-#: ../../fs.pm:1
+#: ../../diskdrake/interactive.pm_.c:579
#, c-format
-msgid "Do not interpret character or block special devices on the file system."
-msgstr ""
+msgid "Where do you want to mount device %s?"
+msgstr "أين تريد بجهيز الجهاز%s؟"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:585
msgid ""
-"These options can backup and restore all files in your /etc directory.\n"
-msgstr "هذه الخيارات يمكنها نسخ و استرجاع كل الملفات في دليل /etc.\n"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Local printer"
-msgstr "طابعة محلية"
+"Can't unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"لم يمكن ازالة تعيين نقطة التجهيز نظرا لأن هذه التجزئة مستخدمة لـloop back.\n"
+"قم بإزالة الـloopback أولا"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Files Restored..."
-msgstr "الملفات المستعادة..."
+#: ../../diskdrake/interactive.pm_.c:606
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "أين تريد بجهيز الجهاز%s؟"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package selection"
-msgstr "اختيار الحزم"
+#: ../../diskdrake/interactive.pm_.c:630
+msgid "Computing FAT filesystem bounds"
+msgstr "جاري حساب روابط نظام ملفات FAT"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritania"
-msgstr "موريتانيا"
+#: ../../diskdrake/interactive.pm_.c:630 ../../diskdrake/interactive.pm_.c:689
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing"
+msgstr "جاري تغيير الحجم"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"I can keep your current configuration and assume you already set up a DHCP "
-"server; in that case please verify I correctly read the Network that you use "
-"for your local network; I will not reconfigure it and I will not touch your "
-"DHCP server configuration.\n"
-"\n"
-"The default DNS entry is the Caching Nameserver configured on the firewall. "
-"You can replace that with your ISP DNS IP, for example.\n"
-"\t\t \n"
-"Otherwise, I can reconfigure your interface and (re)configure a DHCP server "
-"for you.\n"
-"\n"
-msgstr ""
-"يمكنني حفظ التهيئة و افتراض أنك قمت بإعداد خادم DHCP مسبقاً; في هذه الحال "
-"تأكد من أنني أستطيع قراءة الشبكة التي تستخدمها للشبكة المحلية بشكل صحيح; "
-"سأقوم بإعادة تهيئتها و لن أقوم بأي شئ تجاه تهيئة خادم DHCP.\n"
-"\n"
-"مدخل DNS الإفتراضي هو اسم الخادم المخبئي على الجدار الناري. يمكنك ابدال ذلك "
-"بعنوان IP للـDNS الخاص بموفر خدمة الإنترنت, مثل.\n"
-"\t\t \n"
-"ان لم يكن ذلك, يمكنني اعداة تهيئة الواجهة و اعداة تهيئة خادم DHCP لك.\n"
-"\n"
+#: ../../diskdrake/interactive.pm_.c:662
+msgid "This partition is not resizeable"
+msgstr "هذا التقسيم غير قابل لتغيير الحجم"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"No local printer found! To manually install a printer enter a device name/"
-"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
-"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
-"printer: /dev/usb/lp1, ...)."
-msgstr ""
-"لم يتم ايجاد طابعة محلية! لتثبيت طابعة يدوياً ادخل اسم جهاز/اسم ملف في حقل "
-"الإدخال (الطابعات المتوازية: /dev/lp0, /dev/lp1, ..., مماثلة لـLPT1:, "
-"LPT2:, ..., طابعة USB الأولى: /dev/usb/lp0, طابعة USB الثانية: /dev/usb/"
-"lp1, ...)."
+#: ../../diskdrake/interactive.pm_.c:667
+msgid "All data on this partition should be backed-up"
+msgstr "كل البيانات على هذه التجزئة يجب حفظها احتياطيا"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:669
#, c-format
-msgid "All primary partitions are used"
-msgstr "كل التجزئات الرئيسية مستخدمة"
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "بعد تغيير حجم التجزئة %s, فإن كل البيانات على هذه التجزئة ستفقد"
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "LPD server \"%s\", printer \"%s\""
-msgstr "على خادم LPD \"%s\", الطابعة \"%s\""
+#: ../../diskdrake/interactive.pm_.c:674
+msgid "Choose the new size"
+msgstr "اختر الحجم الجديد"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"After this is done, we recommend that you restart your X environment to "
-"avoid any hostname-related problems."
-msgstr ""
-"بعد عمل ذلك, ننصح بإعادة تشغيل بيئة X لديك لتفادي أي مشاكل تتعلق بإسم "
-"المستضيف."
+#: ../../diskdrake/interactive.pm_.c:675
+msgid "New size in MB: "
+msgstr "الحجم الجديد بالميغابايت: "
-#: ../../services.pm:1
-#, c-format
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr "تحقق و تهيئة آلية للعتاد عند الإقلاع."
+#: ../../diskdrake/interactive.pm_.c:728
+msgid "Which disk do you want to move it to?"
+msgstr "أي قرص تريد نقله؟"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation Server Configuration"
-msgstr "تهيئة خادم الثبيت"
+#: ../../diskdrake/interactive.pm_.c:729
+msgid "Sector"
+msgstr "القطاع"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring IDE"
-msgstr "جاري تهيئة IDE"
+#: ../../diskdrake/interactive.pm_.c:730
+msgid "Which sector do you want to move it to?"
+msgstr "أي قطاع تريد نقله؟"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network functionality not configured"
-msgstr "لم يتم تحديد وظيفية الشبكة"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving"
+msgstr "جاري النقل"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Configure module"
-msgstr "تهيئة الوحدة"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving partition..."
+msgstr "جاري نقل التجزئة..."
-#: ../../lang.pm:1
-#, c-format
-msgid "Cocos (Keeling) Islands"
-msgstr "جزر الكوكوس"
+#: ../../diskdrake/interactive.pm_.c:750
+msgid "Choose an existing RAID to add to"
+msgstr "اختر RAID موجود للاضافة"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "You'll need to reboot before the modification can take place"
-msgstr "ستحتاج الى اعادة التشغيل قبل أن يتم تفعيل التعديلات"
+#: ../../diskdrake/interactive.pm_.c:751 ../../diskdrake/interactive.pm_.c:768
+msgid "new"
+msgstr "جديد"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider phone number"
-msgstr "رقم هاتف الموفر"
+#: ../../diskdrake/interactive.pm_.c:766
+msgid "Choose an existing LVM to add to"
+msgstr "اختر LVM l,جود للاضافة"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Host %s"
-msgstr "المستضيف %s"
+#: ../../diskdrake/interactive.pm_.c:771
+msgid "LVM name?"
+msgstr "اسم LVM؟"
-#: ../../lang.pm:1
-#, c-format
-msgid "Fiji"
-msgstr "فيجي"
+#: ../../diskdrake/interactive.pm_.c:812
+msgid "This partition can't be used for loopback"
+msgstr "هذه التجزئة لا يمكن استخدامها لـloopback"
-#: ../../lang.pm:1
-#, c-format
-msgid "Armenia"
-msgstr "أرمينيا"
+#: ../../diskdrake/interactive.pm_.c:825
+msgid "Loopback"
+msgstr "Loopback"
-#: ../../any.pm:1
-#, c-format
-msgid "Second floppy drive"
-msgstr "سواقة القرص المرن الثانية"
+#: ../../diskdrake/interactive.pm_.c:826
+msgid "Loopback file name: "
+msgstr "اسم ملف Loopback: "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "About Harddrake"
-msgstr "حول HardDrake"
+#: ../../diskdrake/interactive.pm_.c:831
+msgid "Give a file name"
+msgstr "اعط اسم ملف"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize TCP connections to X Window"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:834
+msgid "File already used by another loopback, choose another one"
+msgstr "هذا الملف مستخدم من loopback أخرى, اختر ملفا آخر"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Drive capacity"
-msgstr "حجم السواقة"
+#: ../../diskdrake/interactive.pm_.c:835
+msgid "File already exists. Use it?"
+msgstr "الملف موجود مسبقا, هل تريد استخدامه؟"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"أدخل قرصا مرنا في السواقة\n"
-"كل البيانات على القرص ستمحى"
+#: ../../diskdrake/interactive.pm_.c:858
+msgid "Mount options"
+msgstr "خيارات التجهيز"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s"
-msgstr "الحجم: %s"
+#: ../../diskdrake/interactive.pm_.c:865
+msgid "Various"
+msgstr "متنوعة"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Control and Shift keys simultaneously"
-msgstr "مفاتيح Control و Shift في نفس الوقت"
+#: ../../diskdrake/interactive.pm_.c:929 ../../standalone/drakfloppy_.c:76
+msgid "device"
+msgstr "وحدة"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "secondary"
-msgstr "ثانوي"
+#: ../../diskdrake/interactive.pm_.c:930
+msgid "level"
+msgstr "المستوى"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Backup Configuration."
-msgstr "اعرض تهيئة النسخ الإحتياطي"
+#: ../../diskdrake/interactive.pm_.c:931
+msgid "chunk size"
+msgstr "حجم chunk"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result to syslog."
-msgstr "if set to yes, report check result to syslog."
+#: ../../diskdrake/interactive.pm_.c:947
+msgid "Be careful: this operation is dangerous."
+msgstr "كن حذرا: هذه العملية خطيرة"
-#. -PO: keep this short or else the buttons will not fit in the window
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No password"
-msgstr "لا كلمة مرور"
+#: ../../diskdrake/interactive.pm_.c:962
+msgid "What type of partitioning?"
+msgstr "أي نوع من التجزئة؟"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nigeria"
-msgstr "نيجيريا"
+#: ../../diskdrake/interactive.pm_.c:978
+#, fuzzy, c-format
+msgid "The package %s is needed. Install it?"
+msgstr "الحزمة %s يجب أن تُثبّت. هل تريد تثبيتها؟"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires hostname...\n"
+#: ../../diskdrake/interactive.pm_.c:992
+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 ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no existing partition to use"
-msgstr "لا توجد تجزئة لاستخدامها"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:996
msgid ""
-"The following scanners\n"
-"\n"
-"%s\n"
-"are available on your system.\n"
+"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 ""
-"الماسحات الضوئية التالية\n"
-"\n"
-"%s\n"
-"متوفرة لنظامك.\n"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Multi-function device on parallel port #%s"
-msgstr ", جهاز متعدد الوظائف على المنفذ المتوازي #%s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1002
msgid ""
-"To print to a TCP or socket printer, you need to provide the host name or IP "
-"of the printer and optionally the port number (default is 9100). On HP "
-"JetDirect servers the port number is usually 9100, on other servers it can "
-"vary. See the manual of your hardware."
+"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 ""
-"للطباعة الى طابعة TCP أو socket, يجب عليك اعطاء اسم المستضيف أو عنوان IP "
-"الخاص بالطابعة و اختيارياً يمكنك اضافة رقم منفذ الطابعة (الإفتراضي هو 9100). "
-"على خادمات HP JetDirect يكون رقم المنفذ عادةً هو 9100, على الخادمات الأخرى "
-"يمكن أن يكون الرقم غير ذلك. الق نظرة على دليل المستخدم للعتاد الخاص بك."
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1022
#, c-format
-msgid "Hard drive information"
-msgstr "معلومات القرص الصلب"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian"
-msgstr "الروسية"
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "جدول اتتقسيم للقرص %s سيتم كتابته الى القرص!"
-#: ../../lang.pm:1
-#, c-format
-msgid "Jordan"
-msgstr "الأردن"
+#: ../../diskdrake/interactive.pm_.c:1026
+msgid "You'll need to reboot before the modification can take place"
+msgstr "ستحتاج الى اعادة التشغيل قبل أن يتم تفعيل التعديلات"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1037
#, c-format
-msgid "Hide files"
-msgstr "خبئ الملفات"
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "بعد تهيئة التقسيم %s, فإن كل البيانات الموجودة على التجزئة ستفقد"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected to this machine"
-msgstr "تحقق أليا من الطابعات المتصلة بهذا الجهاز"
+#: ../../diskdrake/interactive.pm_.c:1039
+msgid "Formatting"
+msgstr "جاري التهيئة"
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:1040
#, c-format
-msgid "Sorry, no floppy drive available"
-msgstr "آسف , لا مدخل مرن متاح"
+msgid "Formatting loopback file %s"
+msgstr "جاري تهيئة ملف loopback: %s"
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1041
+#: ../../install_steps_interactive.pm_.c:466
#, c-format
-msgid "Bolivia"
-msgstr "بوليفيا"
+msgid "Formatting partition %s"
+msgstr "جاري تهيئة التجزئة %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Set up your Windows server to make the printer available under the IPP "
-"protocol and set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
-msgstr ""
-"قم بإعداد خادم Windows لجعل الطابعات متوفرة تحت بروتوكول IPP و قم بإعداد "
-"الطباعة من هذه الماكينة باستخدام نوع الوصلة \"%s\" في Printerdrake.\n"
-"\n"
+#: ../../diskdrake/interactive.pm_.c:1052
+msgid "Hide files"
+msgstr "خبء الملفات"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Bad package"
-msgstr "حزمة سيئة"
+#: ../../diskdrake/interactive.pm_.c:1052
+msgid "Move files to the new partition"
+msgstr "انقل الملفات الى تجزئة جديدة"
-#: ../advertising/07-server.pl:1
+#: ../../diskdrake/interactive.pm_.c:1053
#, c-format
msgid ""
-"Transform your computer into a powerful Linux server: Web server, mail, "
-"firewall, router, file and print server (etc.) are just a few clicks away!"
+"Directory %s already contains data\n"
+"(%s)"
msgstr ""
-"حوّل جهازك الى خادم Linux قوي بنقرات قليلة من الفأرة: خادم ويب, بريد, جدار "
-"ناري, موجّه, خادم ملفات و طباعة, ..."
+"الدليل %s يحتوي مسبقا على بعض البيانات\n"
+"(%s)"
-#: ../../security/level.pm:1
-#, c-format
-msgid "DrakSec Basic Options"
-msgstr "خيارات DrakSec الأساسية"
+#: ../../diskdrake/interactive.pm_.c:1064
+msgid "Moving files to the new partition"
+msgstr "جاري نقل الملفات الى التجزئة الجديدة"
-#: ../../standalone/draksound:1
+#: ../../diskdrake/interactive.pm_.c:1068
#, c-format
-msgid ""
-"\n"
-"\n"
-"\n"
-"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
-"program. Just type \"sndconfig\" in a console."
-msgstr ""
-"\n"
-"\n"
-"\n"
-"ملحوظة: اذا كانت لديك بطاقة صوت ISA PnP, ستحتاج الى استخدام برنامج "
-"sndconfig. فقط عليك كتابة \"sndconfig\" في سطر الأوامر."
+msgid "Copying %s"
+msgstr "جاري نسخ %s"
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1072
#, c-format
-msgid "Romania"
-msgstr "رومانيا"
+msgid "Removing %s"
+msgstr "جاري ازالة %s"
-#: ../../standalone/drakperm:1
+#: ../../diskdrake/interactive.pm_.c:1082
#, c-format
-msgid "Group"
-msgstr "المجموعة"
+msgid "partition %s is now known as %s"
+msgstr "التجزئة %s معروفة الآن بالإسم %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Canada"
-msgstr "كندا"
+#: ../../diskdrake/interactive.pm_.c:1103
+#: ../../diskdrake/interactive.pm_.c:1162
+msgid "Device: "
+msgstr "الجهاز: "
-#: ../../standalone/scannerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1104
#, c-format
-msgid "choose device"
-msgstr "اختر الجهاز "
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "حرف سواقة DOS: %s (مجرد تخمين)\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from LVM"
-msgstr "ازالة من LVM"
+#: ../../diskdrake/interactive.pm_.c:1108
+#: ../../diskdrake/interactive.pm_.c:1116
+#: ../../diskdrake/interactive.pm_.c:1181
+msgid "Type: "
+msgstr "النوع: "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Timezone"
-msgstr "المنطقة الزمنية"
+#: ../../diskdrake/interactive.pm_.c:1112
+msgid "Name: "
+msgstr "الاسم: "
-#: ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1120
#, c-format
-msgid "German"
-msgstr "الألمانية"
+msgid "Start: sector %s\n"
+msgstr "البداية: قطاع %s\n"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:1121
#, c-format
-msgid "Next ->"
-msgstr "التالي ->"
+msgid "Size: %s"
+msgstr "الحجم: %s"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1123
#, c-format
-msgid ""
-"Turning on this allows to print plain text files in japanese language. Only "
-"use this function if you really want to print text in japanese, if it is "
-"activated you cannot print accentuated characters in latin fonts any more "
-"and you will not be able to adjust the margins, the character size, etc. "
-"This setting only affects printers defined on this machine. If you want to "
-"print japanese text on a printer set up on a remote machine, you have to "
-"activate this function on that remote machine."
-msgstr ""
-"تشغيل هذا الخيار يسمح بطباعة ملفات النصوص العادية باللغة اليابانية. استخدم "
-"هذه الميزة فقط اذا كنت تريد طباعة النصوص باليابانية, اذا تم تنشيط هذا الخيار "
-"لن يمكنك طباعة الحروف اللاتينية ذات العلامات و لن يمكنك تعديل الهوامش و حجم "
-"الخطوط الخ. هذا الخيار يؤثر فقط على الطابعات المعرفة على هذه الماكينة. اذا "
-"كنت تريد طباعة النصوص اليابانية على طابعة بعيدة, يجب عليك تنشيط هذه الوظيفة "
-"على الطابعة البعيدة."
+msgid ", %s sectors"
+msgstr ", %s قطاع"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1125
#, c-format
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition. You should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition. You should\n"
-"probably leave it alone.\n"
+msgid "Cylinder %d to %d\n"
+msgstr "الاسطوانة %d الى %d\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea-Bissau"
-msgstr "غينيا-بيساو"
+#: ../../diskdrake/interactive.pm_.c:1126
+msgid "Formatted\n"
+msgstr "مجهز\n"
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Horizontal refresh rate"
-msgstr "نسبة الإنعاش الأفقي"
+#: ../../diskdrake/interactive.pm_.c:1127
+msgid "Not formatted\n"
+msgstr "غير مجهز\n"
+
+#: ../../diskdrake/interactive.pm_.c:1128
+msgid "Mounted\n"
+msgstr "محمل\n"
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1129
#, c-format
-msgid "Edit"
-msgstr "تحرير"
+msgid "RAID md%s\n"
+msgstr "RAID md%s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1131
#, c-format
msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
+"Loopback file(s):\n"
+" %s\n"
msgstr ""
-"لم يمكن ازالة تعيين نقطة التحميل نظرا لأن هذه التجزئة مستخدمة لـloop back.\n"
-"قم بإزالة الـloopback أولا"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1132
msgid ""
-"The network configuration done during the installation cannot be started "
-"now. Please check whether the network is accessable after booting your "
-"system and correct the configuration using the Mandrake Control Center, "
-"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
-"printer, also using the Mandrake Control Center, section \"Hardware\"/"
-"\"Printer\""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
msgstr ""
-"لا يمكن بدء تهيئة الشبكة التي تم عملها أثناء التثبيت الآن. فضلاً تأكد اذا كان "
-"يمكن الوصول الى الشبكة بعد اقلاع النظام و صحّح التهيئة باستخدام مركز تحكم "
-"Mandrake في قسم \"الشبكة و الإنترنت\"/\"الوصلات\", و بعد ذلك قم بتهيئة "
-"الطابعة, كذلك باستخدام مركز تحكم Mandrake في قسم \"العتاد\"/\"الطابعة\""
-#: ../../harddrake/data.pm:1
+#: ../../diskdrake/interactive.pm_.c:1134
#, c-format
-msgid "USB controllers"
-msgstr "متحكمات USB"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "What norm is your TV using?"
-msgstr "أي نظام يستخدمه جهاز التلفاز لديك؟"
+msgid "Level %s\n"
+msgstr "المستوى %s\n"
-#: ../../standalone/drakconnect:1
+#: ../../diskdrake/interactive.pm_.c:1135
#, c-format
-msgid "Type:"
-msgstr "النوع:"
+msgid "Chunk size %s\n"
+msgstr "حجم Chunk %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1136
#, c-format
-msgid "Share name"
-msgstr "اسم المشاركة"
+msgid "RAID-disks %s\n"
+msgstr "أقراص RAID %s\n"
-#: ../../standalone/drakgw:1
+#: ../../diskdrake/interactive.pm_.c:1138
#, c-format
-msgid "enable"
-msgstr "تمكين"
+msgid "Loopback file name: %s"
+msgstr "اسم ملف Loopback: %s"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1141
msgid ""
-"Contacting Mandrake Linux web site to get the list of available mirrors..."
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition, you should\n"
+"probably leave it alone.\n"
msgstr ""
-"جاري الإتصال بموقع Mandrake Linux للحصول على قائمة بالمرايا المتوفرة..."
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1144
msgid ""
-"A problem occured while restarting the network: \n"
"\n"
-"%s"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
msgstr ""
-"ظهرت مشكلة أثناء اعادة تشغيل الشبكة: \n"
-"\n"
-"%s"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove the loopback file?"
-msgstr "هل تريد ازالة ملف loopback؟"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Selected size is larger than available space"
-msgstr "الحجم المختار أكبر من المساحة المتوفرة"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP server name missing!"
-msgstr "اسم خادم NCP مفقود!"
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose your country."
-msgstr "فضلاً اختر بلدك."
+#: ../../diskdrake/interactive.pm_.c:1163
+msgid "Read-only"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:1164
#, c-format
-msgid "Hard Disk Backup files..."
-msgstr "ملفات النسخ الإحتياطي للقرص الصلب..."
+msgid "Size: %s\n"
+msgstr "الحجم: %s\n"
-#: ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1165
#, c-format
-msgid "Laotian"
-msgstr "اللاوسية"
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "الهندسة: %s اسطوانة, %s رأس, %s قطاع\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Samoa"
-msgstr "ساموا"
+#: ../../diskdrake/interactive.pm_.c:1166
+msgid "Info: "
+msgstr "معلومات: "
-#: ../../services.pm:1
+#: ../../diskdrake/interactive.pm_.c:1167
#, c-format
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"بروتوكول rstat يسمح للمستخدمين على الشبكة باسترجاع\n"
-"احصائيات آداء أي جهاز على هذه الشبكة."
+msgid "LVM-disks %s\n"
+msgstr "أقراص LVM %s\n"
-#: ../../standalone/scannerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1168
#, c-format
-msgid "Re-generating list of configured scanners ..."
-msgstr "جاري اعادة توليد قائمة الماسحات الضوئية المعدّة ..."
+msgid "Partition table type: %s\n"
+msgstr "نوع جدول التقسيم: %s\n"
-#: ../../modules/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1169
#, fuzzy, c-format
-msgid "Module configuration"
-msgstr "تهيئة يدوية"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Scanner"
-msgstr "الماسح الضوئي"
+msgid "on channel %d id %d\n"
+msgstr "على bus %d id %d\n"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "تحذير: اختبار بطاقة العرض هذه قد يتسب في ايقاف جهازك"
+#: ../../diskdrake/interactive.pm_.c:1199
+msgid "Filesystem encryption key"
+msgstr "مفتاح تشفير نظام الملفات"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr "اسم المستخدم يجب أن يحتوي فقط على الحروف الصغيرة, الأرقام, `-' و `_'"
+#: ../../diskdrake/interactive.pm_.c:1200
+msgid "Choose your filesystem encryption key"
+msgstr "اختر مفتاح تشفير نظام الملفات"
-#: ../../standalone/drakbug:1
+#: ../../diskdrake/interactive.pm_.c:1203
#, c-format
-msgid "Menudrake"
-msgstr "Menudrake"
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "مفتاح التشفير هذا بسيط جدا (يجب أن يكون %d حرفا على الأقل)"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Welcome To Crackers"
-msgstr "مرحبا بالمخترقين"
+#: ../../diskdrake/interactive.pm_.c:1204
+msgid "The encryption keys do not match"
+msgstr "مفاتيح التشفير غير متطابقة"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module options:"
-msgstr "خيارات الوحدة:"
+#: ../../diskdrake/interactive.pm_.c:1207
+msgid "Encryption key"
+msgstr "مفاتح التشفير"
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "Secure your networks with the Multi Network Firewall"
-msgstr "قم بحماية شبكاتك باستخدام Multi Network Firewall"
+#: ../../diskdrake/interactive.pm_.c:1208
+msgid "Encryption key (again)"
+msgstr "مفاتح التشفير (مرة أخرى)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Go on without configuring the network"
-msgstr "تابع دون تهيئة الشبكة"
+#: ../../diskdrake/removable.pm_.c:47
+msgid "Change type"
+msgstr "غيّر النوع"
-#: ../../network/isdn.pm:1
+#: ../../diskdrake/smbnfs_gtk.pm_.c:162
#, c-format
-msgid "Abort"
-msgstr "إنهاء"
+msgid "Can't login using username %s (bad password?)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No password prompt on %s at port %s"
-msgstr "لا يوجد طلب كلمة سر في %s على المنفذ %s"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:166 ../../diskdrake/smbnfs_gtk.pm_.c:175
+#, fuzzy
+msgid "Domain Authentication Required"
+msgstr "التحقق"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Kensington Thinking Mouse with Wheel emulation"
-msgstr "Kensington Thinking Mouse"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Another one"
+msgstr "إنترنت"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Usage of remote scanners"
-msgstr "استخدام الماسحات الضوئية البعيدة"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Which username"
+msgstr "اسم المستخدم"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../diskdrake/smbnfs_gtk.pm_.c:176
msgid ""
-"Your Windows partition is too fragmented. Please reboot your computer under "
-"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
-"installation."
+"Please enter your username, password and domain name to access this host."
msgstr ""
-"Your Windows partition is too fragmented. Please reboot your computer under "
-"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
-"installation."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (نرويجيةّ)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup Progress..."
-msgstr "التقدم في نسخ القرص الصلب..."
-#: ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Unable to fork: %s"
-msgstr "تعذر تنفيذ: %s"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Type: "
-msgstr "النوع: "
+#: ../../diskdrake/smbnfs_gtk.pm_.c:178 ../../standalone/drakbackup_.c:3477
+#, fuzzy
+msgid "Username"
+msgstr "اسم المستخدم"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Edit Client"
-msgstr "<-- تحرير العميل"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:180
+#, fuzzy
+msgid "Domain"
+msgstr "NIS Domain"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "no fonts found"
-msgstr "لا توجد خطوط"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:200
+msgid "Search servers"
+msgstr "ابحث في أجهزة الخادم"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1
+#: ../../fs.pm_.c:547 ../../fs.pm_.c:557 ../../fs.pm_.c:561 ../../fs.pm_.c:565
+#: ../../fs.pm_.c:569 ../../fs.pm_.c:573
#, c-format
-msgid "Mouse"
-msgstr "الفأرة"
+msgid "%s formatting of %s failed"
+msgstr "%s تجهيز %s قد فشل"
-#: ../../bootloader.pm:1
+#: ../../fs.pm_.c:610
#, c-format
-msgid "not enough room in /boot"
-msgstr "لا توجد مساحو كافية في /boot"
+msgid "I don't know how to format %s in type %s"
+msgstr "لا أعرف كيف أجهز %s في النوع %s"
-#: ../../install_steps_gtk.pm:1
+#: ../../fs.pm_.c:684 ../../fs.pm_.c:727
#, c-format
-msgid "trying to promote %s"
+msgid "mounting partition %s in directory %s failed"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Liechtenstein"
-msgstr "ليشتنشتاين"
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../fs.pm_.c:742 ../../partition_table.pm_.c:599
#, c-format
-msgid "Host name"
-msgstr "اسم المستضيف"
+msgid "error unmounting %s: %s"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the color of the progress bar"
-msgstr "لون شريط التقدم"
+#: ../../fsedit.pm_.c:21
+msgid "simple"
+msgstr "بسيط"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Fonts Files"
-msgstr "أبطل ملفات الخطوط"
+#: ../../fsedit.pm_.c:25
+msgid "with /usr"
+msgstr "مع /usr"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to RAID"
-msgstr "اضافة الى RAID"
+#: ../../fsedit.pm_.c:30
+msgid "server"
+msgstr "خادم"
-#: ../../help.pm:1
+#: ../../fsedit.pm_.c:240
#, c-format
msgid ""
-"You can add additional entries in yaboot for other operating systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"For other OSs, the entry consists only of a label and the \"root\"\n"
-"partition.\n"
-"\n"
-"For Linux, there are a few possible options:\n"
-"\n"
-" * Label: this is the name you will have to type at the yaboot prompt to\n"
-"select this boot option.\n"
-"\n"
-" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n"
-"variation of vmlinux with an extension.\n"
-"\n"
-" * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-"\n"
-" * Append: on Apple hardware, the kernel append option is often used to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button\n"
-"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n"
-"The following are some examples:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: this option can be used either to load initial modules before\n"
-"the boot device is available, or to load a ramdisk image for an emergency\n"
-"boot situation.\n"
-"\n"
-" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n"
-"need to allocate a large ramdisk, this option can be used to specify a\n"
-"ramdisk larger than the default.\n"
-"\n"
-" * Read-write: normally the \"root\" partition is initially mounted as\n"
-"read-only, to allow a file system check before the system becomes ``live''.\n"
-"You can override the default with this option.\n"
-"\n"
-" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-"problematic, you can select this option to boot in ``novideo'' mode, with\n"
-"native frame buffer support.\n"
+"I can't read the partition table of device %s, it's too corrupted for me :(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
"\n"
-" * Default: selects this entry as being the default Linux selection,\n"
-"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n"
-"highlighted with a ``*'' if you press [Tab] to see the boot selections."
+"Do you agree to loose all the partitions?\n"
msgstr ""
-"You can add additional entries in yaboot for other operating systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"For other OSs, the entry consists only of a label and the \"root\"\n"
-"partition.\n"
-"\n"
-"For Linux, there are a few possible options:\n"
-"\n"
-" * Label: this is the name you will have to type at the yaboot prompt to\n"
-"select this boot option.\n"
-"\n"
-" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n"
-"variation of vmlinux with an extension.\n"
-"\n"
-" * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-"\n"
-" * Append: on Apple hardware, the kernel append option is often used to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button\n"
-"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n"
-"The following are some examples:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: this option can be used either to load initial modules before\n"
-"the boot device is available, or to load a ramdisk image for an emergency\n"
-"boot situation.\n"
-"\n"
-" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n"
-"need to allocate a large ramdisk, this option can be used to specify a\n"
-"ramdisk larger than the default.\n"
-"\n"
-" * Read-write: normally the \"root\" partition is initially mounted as\n"
-"read-only, to allow a file system check before the system becomes ``live''.\n"
-"You can override the default with this option.\n"
-"\n"
-" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-"problematic, you can select this option to boot in ``novideo'' mode, with\n"
-"native frame buffer support.\n"
-"\n"
-" * Default: selects this entry as being the default Linux selection,\n"
-"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n"
-"highlighted with a ``*'' if you press [Tab] to see the boot selections."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
-msgstr "تمت اضافة الطابعة \"%s\" الى Star Office/OpenOffice.org/GIMP بنجاح."
+#: ../../fsedit.pm_.c:501
+msgid "You can't use JFS for partitions smaller than 16MB"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No floppy drive available!"
-msgstr "لا توجد سواقة قرص مرن!"
+#: ../../fsedit.pm_.c:502
+msgid "You can't use ReiserFS for partitions smaller than 32MB"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To know about the options available for the current printer read either the "
-"list shown below or click on the \"Print option list\" button.%s%s%s\n"
-"\n"
+#: ../../fsedit.pm_.c:521
+msgid "Mount points must begin with a leading /"
msgstr ""
-"للمعرفة حول الخيارات المتوفرة للطابعة الحالية, إما أن تقرأ القائمة أدناه و "
-"انقر \"قائمة خيارات الطابعة\".%s%s%s\n"
-"\n"
-#: ../../lang.pm:1
+#: ../../fsedit.pm_.c:522
#, c-format
-msgid "Saudi Arabia"
-msgstr "السعودية"
+msgid "There is already a partition with mount point %s\n"
+msgstr ""
-#: ../../services.pm:1
+#: ../../fsedit.pm_.c:526
#, c-format
-msgid "Internet"
-msgstr "الإنترنت"
+msgid "You can't use a LVM Logical Volume for mount point %s"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Continue anyway?"
-msgstr "هل تريد الاكمال على أي حال؟"
+#: ../../fsedit.pm_.c:528
+msgid "This directory should remain within the root filesystem"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:530
msgid ""
-"If your printer is not listed, choose a compatible (see printer manual) or a "
-"similar one."
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
msgstr ""
-"اذا لم تكن طابعت موجودة في القائمة, فضلاً اختر طابعة متوافقة (انظر دليل "
-"الطابعة) أو اختر طابعة مماثلة."
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer"
-msgstr "طابعة"
-
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices were added:\n"
-msgstr "تمت اضافة بعض العتاد:\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../fsedit.pm_.c:532
#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "الهندسة: %s اسطوانة, %s رأس, %s قطاع\n"
+msgid "You can't use an encrypted file system for mount point %s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing on the printer \"%s\""
-msgstr "جاري الطباعة على الطابعة \"%s\""
+#: ../../fsedit.pm_.c:599
+msgid "Not enough free space for auto-allocating"
+msgstr "لا توجد مساحة كافية للتحديد الآلي"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
-msgstr "/etc/hosts.allow و /etc/hosts.deny معدّان مسبقاً - لم يتم التغيير"
+#: ../../fsedit.pm_.c:601
+msgid "Nothing to do"
+msgstr "لا شيئ للعمل"
-#: ../../standalone/drakbackup:1
+#: ../../fsedit.pm_.c:694
#, c-format
-msgid "Restore From Tape"
-msgstr "استعادة من الشريط"
+msgid "Error opening %s for writing: %s"
+msgstr " فتحة الخطإ %s للكتابة :%s"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid ""
-"To submit a bug report, click the report button, which will open your "
-"default browser\n"
-"to Anthill where you will be able to upload the above information as a bug "
-"report."
+#: ../../harddrake/data.pm_.c:71
+msgid "cpu /* "
msgstr ""
-"لتسليم تقرير العيوب, اضغط على زر تقرير.\n"
-"سيقوم هذا بقتح متصفح ويب على الصفحة %s\n"
-" حيث ستجد استمارة عليك ملؤها. المعلومات المذكرة أعلاه سيتم نقلها\n"
-"الى ذلك الخادم"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the profile to configure"
-msgstr "اختر التشكيل الذي تريد تهيئته"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Password minimum length and number of digits and upcase letters"
+#: ../../harddrake/sound.pm_.c:170
+msgid "No alternative driver"
msgstr ""
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../harddrake/sound.pm_.c:171
#, c-format
msgid ""
-"\n"
-"\n"
-"Enter a Zeroconf host name without any dot if you don't\n"
-"want to use the default host name."
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
msgstr ""
-"\n"
-"\n"
-"أدخل اسم مستضيف Zeroconf بدون أي نقاط اذا لم تكن تريد\n"
-"استخدام اسم المستضيف الإفتراضي."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now from configuration file"
-msgstr "قم بالنسخ الآن من ملف التهيئة"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points should contain only alphanumerical characters"
-msgstr "نقا التحميل يجب أن تحتوي فقط على الحروف و/أو الآرقام"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting printing system..."
-msgstr "جاري اعادة تشغيل نظام الطباعة..."
+#: ../../harddrake/sound.pm_.c:173
+#, fuzzy
+msgid "Sound configuration"
+msgstr " CUPS اعدادات"
-#: ../../../move/tree/mdk_totem:1
+#: ../../harddrake/sound.pm_.c:174
#, c-format
-msgid "You can only run with no CDROM support"
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "See hardware info"
-msgstr "عرض معلومات العتاد"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Day"
-msgstr "اليوم"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of boot partition"
-msgstr "القطاع اول من تجزئة الإقلاع"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model"
-msgstr "مصنّع الطابعة, الطراز"
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ - Print, Don't Queue"
-msgstr "PDQ - Print, Don't Queue"
-
-#: ../../standalone.pm:1
+#: ../../harddrake/sound.pm_.c:176
#, c-format
msgid ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires "
-"username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, "
-"nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, "
-"IP, nbi image name)"
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
msgstr ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires "
-"username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, "
-"nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, "
-"IP, nbi image name)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet Mask:"
-msgstr "Subnet Mask:"
+#: ../../harddrake/sound.pm_.c:178
+#, fuzzy
+msgid "Driver:"
+msgstr "المحرك"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Set password expiration and account inactivation delays"
-msgstr ""
+#: ../../harddrake/sound.pm_.c:183 ../../standalone/drakTermServ_.c:303
+#: ../../standalone/drakbackup_.c:3878 ../../standalone/drakbackup_.c:3911
+#: ../../standalone/drakbackup_.c:3937 ../../standalone/drakbackup_.c:3964
+#: ../../standalone/drakbackup_.c:3991 ../../standalone/drakbackup_.c:4030
+#: ../../standalone/drakbackup_.c:4051 ../../standalone/drakbackup_.c:4078
+#: ../../standalone/drakbackup_.c:4108 ../../standalone/drakbackup_.c:4134
+#: ../../standalone/drakbackup_.c:4157 ../../standalone/drakfont_.c:690
+msgid "Help"
+msgstr "مساعدة"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"_: load here is a noun, the load of the system\n"
-"Load"
+#: ../../harddrake/sound.pm_.c:185
+msgid "Switching between ALSA and OSS help"
msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
+#: ../../harddrake/sound.pm_.c:186
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"
+"OSS (Open Sound System) was the first sound API. It's an OS independant "
+"sound API (it's available on most unices systems) but it's a very basic and "
+"limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\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"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
"\n"
-"من *المهم جدا* أن لا تحدد نوع شاشة مع متوسط تزامن\n"
-"أكبر من مقدرة شاشتك لأنك بهذا قد تدمر شاشتك.\n"
-" اذا لم تكن متأكدا يمكنك اختيار اعدادات عادية."
-
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Modify"
-msgstr "تعديل"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
+"It also provides a much higher API than OSS.\n"
"\n"
-"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
-"a particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\".\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
msgstr ""
-"\n"
-"الأوامر \"%s\" و \"%s\" تسمح لك بتعديل اعدادات الخيارات لوظيفة طباعة محددة. "
-"ببساطة قم بإضافة الإعداد المطلوب الى سطر الآوامر, مثال \"%s <file>\".\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Need hostname, username and password!"
-msgstr "يُحتاج الى اسم المستضيف و اسم المستخدم و كلمة المرور!"
-
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Insert floppy"
-msgstr "أدخل قرص مرن في %s"
-
-#: ../../diskdrake/dav.pm:1
+#: ../../harddrake/sound.pm_.c:202
#, c-format
msgid ""
-"WebDAV is a protocol that allows you to mount a web server's directory\n"
-"locally, and treat it like a local filesystem (provided the web server is\n"
-"configured as a WebDAV server). If you would like to add WebDAV mount\n"
-"points, select \"New\"."
-msgstr ""
-"WebDAV هو برتوكول يسمج لك بتحميل دليل في خادم الويب بشكل\n"
-"محلي, و معاملته كنظام ملفات محلي (يجب أن يكون خادم الويب معدّ\n"
-"كخادم WebDAV). اذا كنت تريد اضافة نقاط تحميل\n"
-"WebDAV, اختر \"جديد\"."
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "HardDrake"
-msgstr "HardDrake"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "new"
-msgstr "جديد"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable syslog reports to console 12"
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oopses the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver'll only be used on next bootstrap."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Would you like to try again?"
-msgstr "هل تريد المحاولة مرةً أخرى؟"
-
-#: ../../help.pm:1 ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Wizard"
-msgstr "المعالج"
+#: ../../harddrake/sound.pm_.c:205 ../../standalone/drakconnect_.c:298
+msgid "Please Wait... Applying the configuration"
+msgstr "يرجى الإنتظار... جاري تطبيق الإعدادات"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected server"
-msgstr "حرر الخادم المختار"
+#: ../../harddrake/sound.pm_.c:205 ../../interactive.pm_.c:382
+#: ../../standalone/drakxtv_.c:108 ../../standalone/harddrake2_.c:113
+#: ../../standalone/service_harddrake_.c:64
+msgid "Please wait"
+msgstr "من فضلك انتظر"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose where you want to backup"
-msgstr "رجاء اختر أين تريد النسخ الاحتياطي."
+#: ../../harddrake/sound.pm_.c:210
+#, fuzzy
+msgid "No known driver"
+msgstr "مشغل X"
-#: ../../install_steps_interactive.pm:1
+#: ../../harddrake/sound.pm_.c:211
#, c-format
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "تحتاج الى اعداة التثبيت لتفعيل التعديلات على جدول التجزئات"
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include the browser cache"
-msgstr "لا تستخدم ذاكرة المتصفح المخبئية"
+#: ../../harddrake/sound.pm_.c:214
+#, fuzzy
+msgid "Unkown driver"
+msgstr "غير معروف"
-#: ../../install_steps_interactive.pm:1
+#: ../../harddrake/sound.pm_.c:215
#, c-format
msgid ""
-"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
-"you can lose data)"
+"The \"%s\" driver for your sound card is unlisted\n"
+"\n"
+"Please send the output of the \"lspcidrake -v\" command to\n"
+"<install at mandrakesoft dot com>\n"
+"with subject: unlisted sound driver \"%s\""
msgstr ""
-"تعذر التأكد من صحة نظام المفات %s. هل تريد تصحيح الأخطاء (كن حذراً, يمكن أن "
-"تخسر بيانات)"
-
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Please, choose your keyboard layout."
-msgstr "من فضلك اختر تصميم لوحة مفاتيحك"
-
-#: ../../mouse.pm:1 ../../security/level.pm:1
-#, c-format
-msgid "Standard"
-msgstr "القياسي"
-
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose your mouse type."
-msgstr "فضلاً, اختر نوع الفأرة الخاصة بك."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Connect..."
-msgstr "اتصل..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to configure printer \"%s\"!"
-msgstr "تعذرت تهيئة الطابعة \"%s\"!"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "not configured"
-msgstr "غير معدّ"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "About"
-msgstr "حول"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxies configuration"
-msgstr "اعدادات البروكسي"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "البداية: قطاع %s\n"
+#: ../../harddrake/v4l.pm_.c:14 ../../harddrake/v4l.pm_.c:64
+#, fuzzy
+msgid "Auto-detect"
+msgstr "تحقق آلي"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Mask"
-msgstr "لا قناع"
+#: ../../harddrake/v4l.pm_.c:65 ../../harddrake/v4l.pm_.c:198
+#, fuzzy
+msgid "Unknown|Generic"
+msgstr "Generic"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface already configured"
-msgstr "واجهة الشبكة معدّة مسبقا!"
+#: ../../harddrake/v4l.pm_.c:97
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Couldn't access the floppy!"
-msgstr "تعذر الوصول الى القرص المرن!"
+#: ../../harddrake/v4l.pm_.c:98
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../harddrake/v4l.pm_.c:224
msgid ""
-"Warning: Free Software may not necessarily be patent free, and some Free\n"
-"Software included may be covered by patents in your country. For example, "
-"the\n"
-"MP3 decoders included may require a licence for further usage (see\n"
-"http://www.mp3licensing.com for more details). If you are unsure if a "
-"patent\n"
-"may be applicable to you, check your local laws."
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Mail Server"
-msgstr "خادم بريد"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please click on a partition"
-msgstr "فضلا اضغط على تجزئة"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Multi-function device on HP JetDirect"
-msgstr ", جهاز متعدد الوظائف على HP JetDirect"
-
-#: ../../any.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Linux"
-msgstr "Linux"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Have a nice day!"
-msgstr "نتمنى لك يوماً سعيداً!"
-
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/fd0"
-msgstr "/dev/fd0"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Upgrade %s"
-msgstr "ترقية %s"
+#: ../../harddrake/v4l.pm_.c:227
+#, fuzzy
+msgid "Card model:"
+msgstr "Card mem (DMA)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Connection"
-msgstr "اختر وصلة الطابعة"
+#: ../../harddrake/v4l.pm_.c:228
+#, fuzzy
+msgid "Tuner type:"
+msgstr "غيّر النوع"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels in progress ..."
-msgstr "ضيط قنوات التلفاز في تقدم ..."
+#: ../../harddrake/v4l.pm_.c:229
+msgid "Number of capture buffers:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Error during sending file via FTP.\n"
-" Please correct your FTP configuration."
+#: ../../harddrake/v4l.pm_.c:229
+msgid "number of capture buffers for mmap'ed capture"
msgstr ""
-"خطأ أثناء ارسال الملف عير FTP.\n"
-" فضلاً قم بتصحيح اعدادات FTP."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range Start:"
-msgstr "IP Range Start:"
+#: ../../harddrake/v4l.pm_.c:231
+#, fuzzy
+msgid "PLL setting:"
+msgstr "حمل الإعدادات"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../harddrake/v4l.pm_.c:232
+msgid "Radio support:"
msgstr ""
-"مراقب الإنترنت الأساسي (يسمى عادةً بـ inetd) يبدأ\n"
-"مجموعة من خدمات الإنترنت الأخرى عند الحاجة. انه مسؤول عن بدء\n"
-"العديد من الخدمات, بما فيها telnet, ftp, rsh, و rlogin. تعطيل inetd سيعطل\n"
-"كل الخدمات المذكورة."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the height of the progress bar"
-msgstr "ارتفاع شريط التقدم"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "enable radio support"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
+#: ../../help.pm_.c:13
+msgid ""
+"GNU/Linux is a multiuser system, and this means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more this concept. But unlike \"root\", which is the\n"
+"administrator, the users you add here will not be entitled to change\n"
+"anything except their own files and their own configurations. You will have\n"
+"to create at least one regular user for yourself. That account is where you\n"
+"should log in for routine use. Although it is very practical to log in as\n"
+"\"root\" everyday, it may also be very dangerous! The slightest mistake\n"
+"could mean that your system would not work any more. If you make a serious\n"
+"mistake as a regular user, you may only lose some information, but not the\n"
+"entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course\n"
+"-- as you can actually enter whatever you want. DrakX will then take the\n"
+"first word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as the \"root\"\n"
+"one from a security point of view, but that is no reason to neglect it:\n"
+"after all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of the people meant to use that computer. When you are\n"
+"finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"Advanced\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default).\n"
+"\n"
+"When you are finished adding all users, you will be proposed to choose a\n"
+"user which can automatically log into the system when the computer boots\n"
+"up. If you are interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click \"Yes\".\n"
+"If you are not interested in this feature, click \"No\"."
+msgstr ""
+"لينكس هو نظام متعدد المستخدمين, أي أن كل مستخدم سيكون له اعداداته الخاصة و "
+"ملفاته\n"
+"الخاصة, الخ. يمكنك قراءة ``دليل المستخدم'' لتفاصيل أكثر.\n"
+"و على عكس \"الجذر\", أي مدير النظام, فإن المستخدمين الذين ستضيفهم هنا لن\n"
+"يتم السماح لهم بتغيير أي شئ ما عدا ملفاتهم و إعداداتهم الخاصة. سيجب عليك\n"
+"أن تضيق مستخدماً عادياً لك. و هذا الحساب هو الذي يجب أن تدخل عليه\n"
+"للاستخدام العادي. و برغم أنه من العملي الدخول بصفة \"جذر\" يوميا إلا أن\n"
+"هذا قد يكون خطيرا جدا! فأقل غلطة قد تعني أن نظامك لن يعمل بعد ذلك مطلقا.\n"
+"أما إذا ارتكبت خطأ كبيراً كمستخدم عادي, فقد تخسر بعض البيانات, ولكن ليس "
+"النظام ككل.\n"
+"\n"
+"أولا سيجب عليك أن تكتب اسمك الحقيقي. هذا ليس الزامياً بالطبع\n"
+"بما أنه من الممكن أن تكتب ما تريد. DrakX سيأخذ أول كلمة تدخلها في الصندوق\n"
+"و سيجلبها في خانة \"اسم المستخدم\". هذا الإسم هو الذي سيستخدمه المستخدم\n"
+"للدخول الى النظام. يمكنك تغييره أيضا. بعد ذلك ستحتاج لإدخال كلمة المرور "
+"هنا.\n"
+"كلمة المرور الخاصة بالمستخدم العادي ليست مهمة مثل كلمة مرور \"الجذر\"\n"
+"من وجهة نظر أمنية, لكن هذا ليس سببا لتناسي الموضوع لأنه في هذه الحال\n"
+"فإن ملفات ستكون في خطر.\n"
+"\n"
+"إذا ضغطت على زر \"وافق على المستخدم\", فسيمكنك بعد ذلك أن تضيف بقدر ما "
+"تريد.\n"
+"مثلا يمكنك أن تضيف اسم مستخدم لكل من أصدقائك أو والدك أو أختك. عندما تنتهي\n"
+"من إضافة كل المستخدمين الذين تريدهم, اختر زر \"انتهى\".\n"
+"\n"
+"ضغط زر \"متقدم\" سيسمح لك بتغيير \"الغلاف\" أو سطر الأوامر الإفتراضي لهذا\n"
+"المستخدم (bash هو الغلاف الإفتراضي)."
+
+#: ../../help.pm_.c:48
+msgid ""
+"Listed above are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
"\n"
-"- Save via %s on host: %s\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
msgstr ""
+"في الأعلى ستجد تقسيمات لينكس الموجودة و التي تم ايجادها على القرص الصلب "
+"الخاص بك.\n"
+"يمكنك أن تُبقي إختيارات المعالج, و هي جيدة لأغلب أنواع التثبيت.\n"
+"إذا قمت بعمل أي تغييرات فيجب عليك أن تعرف التقسيم الجذر (\"/\"). لا تختر\n"
+"تقسيمات ضغيرة جدا و إلا لن تستطيع تثبيت برامج كافية. إذا كنت تريد تخزين "
+"البيانات\n"
+"على تقسيم مستقل فستحتاج الى عمل تقسيم لـ\"/home\"\n"
+"(ممكن فقط إذا كان لديك أكثر من تقسيم للينكس).\n"
"\n"
-"- احفظ عبر %s على المستضيف: %s\n"
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Argentina"
-msgstr "الأرجنتين "
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Domain Name Server"
-msgstr "خادم اسم النطاق"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Level:"
-msgstr "مستوى الأمن:"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points must begin with a leading /"
-msgstr "يجب أن تبدأ نقاط التحميل بالعلامة /"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Choose your CD/DVD device"
-msgstr "فضلاً اختر جهاز CD/DVD"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "CUPS server"
-msgstr "خادم DNS"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Postfix Mail Server"
-msgstr "خادم البريد Postfix"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without saving"
-msgstr "الخروج بدون الحفظ"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Yemen"
-msgstr "اليمن"
-
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "This product is available on the MandrakeStore Web site."
-msgstr "هذا المنتج متوفر على موقع MandrakeStore"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "=> There are many things to choose from (%s).\n"
-msgstr "=> There are many things to choose from (%s).\n"
+"كل تقسيم مُعطى بالسكل التالي: \"الإسم\", \"السعة\".\n"
+"\n"
+"\"الإسم\" مركب بالسكل التالي: \"نوع القرص الصلب\", \"رقم القرص الصلب\",\n"
+"\"رقم التقسيم\" (مثلا, \"hda1\").\n"
+"\n"
+"\"رقم القرص الصلب\" دائما هو حرف بعد \"hd\" أو \"sd\". بالنسبة للأقراص "
+"الصلبة\n"
+"من نوع IDE فإن:\n"
+" * \"a\" تعني \"القرص الصلب الأساسي على متحكم IDE الأساسي\",\n"
+"\n"
+" * \"b\" تعني \"القرص الصلب الثانوي على متحكم IDE الأساسي\",\n"
+"\n"
+" * \"c\" تعني \"القرص الصلب الأساسي على متحكم IDE الثانوي\",\n"
+"\n"
+" * \"d\" تعني \"القرص الصلب الثانوي على متحكم IDE الثانوي\",\n"
+"\n"
+"أما بالنسبة لأقراص سكزي SCSI فالحرف \"a\" يعني \"أقل معرف SCSI\", و الحرف \"b"
+"\"\n"
+"يعني \"ثاني أقل معرف SCSI\", الخ."
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "GMT - DrakClock"
+#: ../../help.pm_.c:79
+msgid ""
+"The Mandrake Linux installation is spread out over several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required."
msgstr ""
+"تثبيت Mandrake Linux موزع على العديد من الأقراص. DrakX\n"
+"يعلم إذا كانت حزمة ما في قرص آخر و سيخرج القرص\n"
+"الحالي و سيطلب منك أن تدخل قرصاً مختلفا كما هو مطلوب."
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../help.pm_.c:84
msgid ""
-"An error occurred:\n"
+"It is now time to specify which programs you wish to install on your\n"
+"system. There are thousands of packages available for Mandrake Linux, and\n"
+"you are not supposed to know them all by heart.\n"
"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
"\n"
-"%s\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
+"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
+"\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you unselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewest packages possible to have a working\n"
+"graphical desktop;\n"
+"\n"
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
"\n"
-"This may come from corrupted system configuration files\n"
-"on the USB key, in this case removing them and then\n"
-"rebooting Mandrake Move would fix the problem. To do\n"
-"so, click on the corresponding button.\n"
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
"\n"
-"You may also want to reboot and remove the USB key, or\n"
-"examine its contents under another OS, or even have\n"
-"a look at log files in console #3 and #4 to try to\n"
-"guess what's happening."
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful to repair or\n"
+"update an existing system."
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Hard drive detection"
-msgstr "التحقق من الأقراص الصلبة"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../help.pm_.c:135
msgid ""
-"You haven't selected any group of packages.\n"
-"Please choose the minimal installation you want:"
+"Finally, depending on whether or not you chose to be able to select\n"
+"individual packages, you will be presented a tree containing all packages\n"
+"classified by groups and subgroups. While browsing the tree, you can select\n"
+"entire groups, subgroups, or individual packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An installation time estimate is displayed\n"
+"on the screen, to help you gauge if there is sufficient time to enjoy a cup\n"
+"of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mandrake Linux, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mandrake Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
+"\n"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of the previous step on how to\n"
+"create such a floppy disk."
msgstr ""
-"لم تختر أي مجموعة من الحزم.\n"
-"فضلاً اختر التثبيت المصغر الذي تريده:"
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../help.pm_.c:171
msgid ""
-"You need the Alcatel microcode.\n"
-"You can provide it now via a floppy or your windows partition,\n"
-"or skip and do it later."
+"You are now able to set up your Internet/network connection. If you wish to\n"
+"connect your computer to the Internet or to a local network, click \"OK\".\n"
+"The autodetection of network devices and modem will be launched. If this\n"
+"detection fails, uncheck the \"Use auto-detection\" box next time. You may\n"
+"also choose not to configure the network, or do it later; in that case,\n"
+"simply click the \"Cancel\" button.\n"
+"\n"
+"Available connections are: traditional modem, ISDN modem, ADSL connection,\n"
+"cable modem, and finally a simple LAN connection (Ethernet).\n"
+"\n"
+"Here, we will not detail each configuration. Simply make sure that you have\n"
+"all the parameters from your Internet Service Provider or system\n"
+"administrator.\n"
+"\n"
+"You can consult the ``Starter Guide'' chapter about Internet connections\n"
+"for details about the configuration, or simply wait until your system is\n"
+"installed and use the program described there to configure your connection.\n"
+"\n"
+"If you wish to configure the network later after installation, or if you\n"
+"are finished configuring your network connection, click \"Cancel\"."
msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Please enter the WebDAV server URL"
-msgstr "رجاء أدخل عنوان خادم WebDav"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tajikistan"
-msgstr "طاجكستان"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Accept"
-msgstr "اقبل"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Description"
-msgstr "الوصف"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Please enter summary text."
-msgstr "رجاء أدخل اسم الدخول"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr " فتحة الخطإ %s للكتابة :%s"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "نوع الفأرة: %s\n"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "يمكن لبطاقتك الحصول على دعم للتسريع ثلاثي الأبعاد مع XFree %s"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Choose a monitor"
-msgstr "إختر شاشة"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Empty label not allowed"
-msgstr "غير مسموح بالعلامات الفارغة"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (UK)"
-msgstr "المالطية (بريطانيا)"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "I can't add any more partition"
-msgstr "لا يمكنني اضافة أي تجزئة أخرى"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size in MB: "
-msgstr "الحجم باليغابايت: "
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Remote printer"
-msgstr "طابعة بعيدة"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose a language to use."
-msgstr "رجاء اختر لغة الاستخدام."
-
-#: ../../network/network.pm:1
-#, c-format
+#: ../../help.pm_.c:193
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."
+"You may now choose which services you wish to start at boot time.\n"
+"\n"
+"Here are listed all the services available with the current installation.\n"
+"Review them carefully and uncheck those which are not always needed at boot\n"
+"time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
msgstr ""
-"تحذير: تمت تهيئة هذا الجهاز سابقاً للإتصال بالإنترنت.\n"
-"بكل بساطة اقبل أن تُبقي هذا الجهاز معدّ.\n"
-"تعديل الحقول أدناه سيغيّر هذه التهيئة."
-#: ../../any.pm:1
-#, c-format
-msgid "I can set up your computer to automatically log on one user."
-msgstr "يمكن اعداد جهازك لتسجيل الدخول آلياً لمستخدم معين."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Floppy format"
-msgstr "نسق القرص الصلب"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Generic Printers"
-msgstr "طابعات عادية (Generic)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:210
msgid ""
-"Please choose the printer to which the print jobs should go or enter a "
-"device name/file name in the input line"
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by unselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
msgstr ""
-"فضلاً أدخل الطابعة التي يجب أن تذهب اليها وظائف الطباعة أو أدخل اسم جهاز/اسم "
-"ملف في حقل الإدخال"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The scanners on this machine are available to other computers"
-msgstr "الماسحات الضوئية على هذه الماكينة متوفرة للحواسيب الأخرى"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of the root partition"
-msgstr "القطاع الأول من التجزئة الجذرية"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Alternative drivers"
-msgstr "مشغلات بديلة"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:224
msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandrake Linux rely.\n"
+"\n"
+"You will be presented the list of available resolutions and color depth\n"
+"available for your hardware. Choose the one that best suit your needs (you\n"
+"will be able to change that after installation though). When you are\n"
+"satisfied with the sample shown in the monitor, click \"OK\". A window will\n"
+"then appear and ask you if you can see it.\n"
+"\n"
+"If you are doing an \"Expert\" installation, you will enter the X\n"
+"configuration wizard. See the corresponding section of the manual for more\n"
+"information about this wizard.\n"
+"\n"
+"If you can see the message during the test, and answer \"Yes\", then DrakX\n"
+"will proceed to the next step. If you cannot see the message, it simply\n"
+"means that the configuration was wrong and the test will automatically end\n"
+"after 10 seconds, restoring the screen. Refer then to the video\n"
+"configuration section of the user guide for more information on how to\n"
+"configure your display."
+msgstr ""
+
+#: ../../help.pm_.c:246
+msgid ""
+"Finally, you will be asked whether you want to see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
+msgstr ""
+
+#: ../../help.pm_.c:253
+msgid ""
+"The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it by\n"
+"booting from the CD-ROM, press the >>F1<< key at boot and type >>rescue<<\n"
+"at the prompt. But in case your computer cannot boot from the CD-ROM, you\n"
+"should come back to this step for help in at least two situations:\n"
+"\n"
+" * when installing the bootloader, DrakX will rewrite the boot sector (\n"
+"MBR) of your main disk (unless you are using another boot manager), to\n"
+"allow you to start up with either Windows or GNU/Linux (assuming you have\n"
+"Windows in your system). If you need to reinstall Windows, the Microsoft\n"
+"install process will rewrite the boot sector, and then you will not be able\n"
+"to start GNU/Linux!\n"
+"\n"
+" * if a problem arises and you cannot start up GNU/Linux from the hard\n"
+"disk, this floppy disk will be the only means of starting up GNU/Linux. It\n"
+"contains a fair number of system tools for restoring a system, which has\n"
+"crashed due to a power failure, an unfortunate typing error, a typo in a\n"
+"password, or any other reason.\n"
+"\n"
+"If you say \"Yes\", you will be asked to enter a disk inside the drive. The\n"
+"floppy disk you will insert must be empty or contain data which you do not\n"
+"need. You will not have to format it since DrakX will rewrite the whole\n"
+"disk."
+msgstr ""
+
+#: ../../help.pm_.c:277
+msgid ""
+"You now need to choose where you want to install the Mandrake Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space, you will need\n"
+"to partition it. Basically, partitioning a hard drive consists of logically\n"
+"dividing it to create space to install your new Mandrake Linux system.\n"
+"\n"
+"Because the partitioning process' effects are usually irreversible,\n"
+"partitioning can be intimidating and stressful if you are an inexperienced\n"
+"user. Fortunately, there is a wizard which simplifies this process. Before\n"
+"beginning, please consult the manual and take your time.\n"
+"\n"
+"If you are running the installation in Expert mode, you will enter\n"
+"DiskDrake, the Mandrake Linux partitioning tool, which allows you to\n"
+"fine-tune your partitions. See the DiskDrake section in the ``Starter\n"
+"Guide''. From the installation interface, you can use the wizards as\n"
+"described here by clicking the dialog's \"Wizard\" button.\n"
+"\n"
+"If partitions have already been defined, either from a previous\n"
+"installation or from another partitioning tool, simply select those to\n"
+"install your Linux system.\n"
+"\n"
+"If partitions are not defined, you will need to create them using the\n"
+"wizard. Depending on your hard drive configuration, several options are\n"
+"available.\n"
+"\n"
+" * \"Use free space\": this option will simply lead to an automatic\n"
+"partitioning of your blank drive(s). You will not be prompted further;\n"
+"\n"
+" * \"Use existing partition\": the wizard has detected one or more existing\n"
+"Linux partitions on your hard drive. If you want to use them, choose this\n"
+"option. You will then be asked to choose the mount points associated to\n"
+"each of the partitions. The legacy mount points are selected by default,\n"
+"and you should generally keep them.\n"
+"\n"
+" * \"Use the free space on the Windows partition\": if Microsoft Windows is\n"
+"installed on your hard drive and takes all the space available on it, you\n"
+"have to create free space for Linux data. To do so, you can delete your\n"
+"Microsoft Windows partition and data (see ``Erase entire disk'' or ``Expert\n"
+"mode'' solutions) or resize your Microsoft Windows partition. Resizing can\n"
+"be performed without the loss of any data, provided you previously\n"
+"defragment the Windows partition. Backing up your data won't hurt either..\n"
+"This solution is recommended if you want to use both Mandrake Linux and\n"
+"Microsoft Windows on the same computer.\n"
"\n"
-"Please check all options that you need.\n"
-msgstr ""
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than at the present time. You will have less free space under Microsoft\n"
+"Windows to store your data or to install new software;\n"
"\n"
-"فضلاً قم بالتأشير على الخيارات التي تحتاجها.\n"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cape Verde"
-msgstr "كيب فيردي"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "whether this cpu has the Cyrix 6x86 Coma bug"
-msgstr "اذا كان المعالج لديه Cyrix 6x86 Coma bug"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Loading printer configuration... Please wait"
-msgstr "جاري تحميل المستخدمين و المجموعات... رجاء الانتظار"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "early pentiums were buggy and freezed when decoding the F00F bytecode"
-msgstr "معالجات pentium القديمة كانت تتوقف عن العمل عند استخدام الكود F00F"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guam"
-msgstr "غوام"
+" * \"Erase entire disk\": if you want to delete all data and all partitions\n"
+"present on your hard drive and replace them with your new Mandrake Linux\n"
+"system, choose this option. Be careful with this solution because you will\n"
+"not be able to revert your choice after you confirm;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Remove Windows\": this will simply erase everything on the drive and\n"
+"begin fresh, partitioning everything from scratch. All data on your disk\n"
+"will be lost;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Expert mode\": choose this option if you want to manually partition\n"
+"your hard drive. Be careful -- it is a powerful but dangerous option. You\n"
+"can very easily lose all your data. Hence, do not choose this unless you\n"
+"know what you are doing. To know how to use the DiskDrake utility used\n"
+"here, refer to the section ``Managing Your Partitions'' of the ````Starter\n"
+"Guide''''"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:347
msgid ""
-"Please choose the port that your printer is connected to or enter a device "
-"name/file name in the input line"
+"There you are. Installation is now completed and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
+"\n"
+"The \"Advanced\" button (in Expert mode only) shows two more buttons to:\n"
+"\n"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
msgstr ""
-"فضلاً أدخل المنفذ المتصلة به الطابعة أو أدخل اسم جهاز/اسم ملف في حقل الإدخال"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Options/Test"
-msgstr "/خيارات/اختبار"
-
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:378
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."
+"Any partitions that have been newly defined must be formatted for use\n"
+"(formatting means creating a filesystem on it).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mandrake Linux operating system installation.\n"
+"\n"
+"Click on \"Advanced\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
msgstr ""
-"يجب استخدام هذا المستوى الأمني بحذر. فهو يجعل نظامك أسهل في الإستخدام,\n"
-"لكن يمون حساساً جداً. لذا لا يجب استخدامه لماكينة متصلة بماكينات أخرى\n"
-"أو الى الإنترنت. لا يوجد دخول بكلمة المرور."
-
-# y, c-format
-#: ../../fs.pm:1
-#, c-format
-msgid "Mounting partition %s"
-msgstr "جاري تحميل التجزئة %s"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "User name"
-msgstr "اسم المستخدم"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Userdrake"
-msgstr "Userdrake"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "أي تجزئة تريد استخدامها من أجل Linux4Win"
-
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "due to missing %s"
-msgstr "kdesu missing"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Test pages"
-msgstr "صفحات اختبارية"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Logical volume name "
-msgstr "Logical volume name "
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:404
msgid ""
-"List of data to restore:\n"
+"Your new Mandrake Linux operating system is currently being installed.\n"
+"Depending on the number of packages you will be installing and the speed of\n"
+"your computer, this operation could take from a few minutes to a\n"
+"significant amount of time.\n"
"\n"
+"Please be patient."
msgstr ""
-"قائمة البيانات التي سيتم استرجاعها:\n"
-"\n"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Checking %s"
-msgstr "جاري التأكد من %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "TCP/Socket Printer Options"
-msgstr "خيارات طابعة TCP/Socket"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card mem (DMA)"
-msgstr "Card mem (DMA)"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnecting from Internet "
-msgstr "اقطع الإتصال بالإنترنت"
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "France"
-msgstr "فرنسا"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "browse"
-msgstr "استعرض"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking installed software..."
-msgstr "جاري التأكد من البرامج المثبّتة..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name missing!"
-msgstr "اسم الطابعة البعيدة مفقود!"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you want to enable printing on printers in the local network?\n"
-msgstr "هل تريد تمكين الطباعة على الطابعات في الشبكة المحلية؟\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkey"
-msgstr "تركيا"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Alcatel speedtouch usb"
-msgstr "Alcatel speedtouch usb"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Number of buttons"
-msgstr "عدد الأزرار"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "افيتنامية \"صف رقمي\" QWERTY"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Module"
-msgstr "وحدة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:412
msgid ""
-"In addition, queues not created with this program or \"foomatic-configure\" "
-"cannot be transferred."
+"At the time you are installing Mandrake Linux, it is likely that some\n"
+"packages have been updated since the initial release. Some bugs may have\n"
+"been fixed, and security issues solved. To allow you to benefit from these\n"
+"updates, you are now able to download them from the Internet. Choose\n"
+"\"Yes\" if you have a working Internet connection, or \"No\" if you prefer\n"
+"to install updated packages later.\n"
+"\n"
+"Choosing \"Yes\" displays a list of places from which updates can be\n"
+"retrieved. Choose the one nearest you. Then a package-selection tree\n"
+"appears: review the selection, and press \"Install\" to retrieve and\n"
+"install the selected package(s), or \"Cancel\" to abort."
msgstr ""
-"بالإضافة الى ذلك, فإن الصفوف التي لم يتم عملها بهذا البرنامح أو \"foomatic-"
-"configure\" لا يمكن نقلها."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware"
-msgstr "العتاد"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ctrl and Alt keys simultaneously"
-msgstr "مفاتيح Ctrl و Alt في نفس الوقت"
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United States"
-msgstr "الولايات المتحدة"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "User umask"
-msgstr "User umask"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Default OS?"
-msgstr "نظام التشغيل الافتراضي؟"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (German layout)"
-msgstr "السويسرية (تصميم ألماني)"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure all heads independently"
-msgstr "اعداد كل الرؤوس بشكل مستقل"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:425
msgid ""
-"Please choose the printer you want to set up. The configuration of the "
-"printer will work fully automatically. If your printer was not correctly "
-"detected or if you prefer a customized printer configuration, turn on "
-"\"Manual configuration\"."
+"Before continuing, you should read carefully the terms of the license. It\n"
+"covers the whole Mandrake Linux distribution, and if you do not agree with\n"
+"all the terms included in it, click on the \"Refuse\" button which will\n"
+"immediately terminate the installation. To continue with the installation,\n"
+"click on the \"Accept\" button."
msgstr ""
-"فضلاً أدخل الطابعة التي تريد اعدادها. اعداد هذه الطابعة سيعمل آلياً. ان لم يتم "
-"اكتشاف الطابعة بالشكل الصحيح أو اذا كنت تفضل تهيئة يدوية شغل \"تهيئة يدوية\"."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NTP Server"
-msgstr "خادم NTP"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Sulogin(8) in single user level"
-msgstr "Sulogin(8) في مستوى المستخدم الوحيد"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Load/Save on floppy"
-msgstr "حمّل/احفظ على قرص مرن"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "This theme does not yet have a bootsplash in %s !"
-msgstr "هذه السمة ليس لها bootsplash في %s !"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "nice"
-msgstr "ظريف"
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "ستتم المغادرة في %d ثوان"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Please choose which serial port your modem is connected to."
-msgstr "فضلاً اختر المنفذ التسلسلي المرتبط به المودم لديك."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Property"
-msgstr "الخاصية"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript"
-msgstr "Ghostscript"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN Configuration"
-msgstr "إعداد LAN"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ghana"
-msgstr "غانا"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Path or Module required"
-msgstr "يُحتاج الى مسار أو وحدة"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Advanced Options"
-msgstr "خيارات متقدمة"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Configuration"
-msgstr "اعرض الإعدادات"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Coma bug"
-msgstr "Coma bug"
+#: ../../help.pm_.c:432
+msgid ""
+"At this point, it is time to choose the security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"ease of use. Refer to the \"msec\" chapter of the ``Reference Manual'' to\n"
+"get more information about the meaning of these levels.\n"
+"\n"
+"If you do not know what to choose, keep the default option."
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:442
msgid ""
"At this point, you need to choose which partition(s) will be used for the\n"
"installation of your Mandrake Linux system. If partitions have already been\n"
-"defined, either from a previous installation of GNU/Linux or by another\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
"partitions must be defined.\n"
"\n"
@@ -5033,1918 +3068,949 @@ msgid ""
"\n"
"To partition the selected hard drive, you can use these options:\n"
"\n"
-" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
"\n"
-" * \"%s\": this option enables you to automatically create ext3 and swap\n"
-"partitions in the free space of your hard drive\n"
+" * \"Auto allocate\": this option enables to automatically create ext3 and\n"
+"swap partitions on your hard drive's free space;\n"
"\n"
-"\"%s\": gives access to additional features:\n"
+"\"More\": gives access to additional features:\n"
"\n"
-" * \"%s\": saves the partition table to a floppy. Useful for later\n"
-"partition-table recovery if necessary. It is strongly recommended that you\n"
-"perform this step.\n"
+" * \"Save partition table\": saves the partition table to a floppy. Useful\n"
+"for later partition-table recovery, if necessary. It is strongly\n"
+"recommended to perform this step;\n"
"\n"
-" * \"%s\": allows you to restore a previously saved partition table from a\n"
-"floppy disk.\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from a floppy disk;\n"
"\n"
-" * \"%s\": if your partition table is damaged, you can try to recover it\n"
-"using this option. Please be careful and remember that it doesn't always\n"
-"work.\n"
+" * \"Rescue partition table\": if your partition table is damaged, you can\n"
+"try to recover it using this option. Please be careful and remember that it\n"
+"can fail;\n"
"\n"
-" * \"%s\": discards all changes and reloads the partition table that was\n"
-"originally on the hard drive.\n"
+" * \"Reload partition table\": discards all changes and loads your initial\n"
+"partition table;\n"
"\n"
-" * \"%s\": unchecking this option will force users to manually mount and\n"
-"unmount removable media such as floppies and CD-ROMs.\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
"\n"
-" * \"%s\": use this option if you wish to use a wizard to partition your\n"
-"hard drive. This is recommended if you do not have a good understanding of\n"
-"partitioning.\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard drive. This is recommended if you do not have a good knowledge of\n"
+"partitioning;\n"
"\n"
-" * \"%s\": use this option to cancel your changes.\n"
+" * \"Undo\": use this option to cancel your changes;\n"
"\n"
-" * \"%s\": allows additional actions on partitions (type, options, format)\n"
-"and gives more information about the hard drive.\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
"\n"
-" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+" * \"Done\": when you are finished partitioning your hard drive, this will\n"
"save your changes back to disk.\n"
"\n"
-"When defining the size of a partition, you can finely set the partition\n"
-"size by using the Arrow keys of your keyboard.\n"
-"\n"
"Note: you can reach any option using the keyboard. Navigate through the\n"
-"partitions using [Tab] and the [Up/Down] arrows.\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
"\n"
"When a partition is selected, you can use:\n"
"\n"
-" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
"\n"
-" * Ctrl-d to delete a partition\n"
+" * Ctrl-d to delete a partition;\n"
"\n"
-" * Ctrl-m to set the mount point\n"
+" * Ctrl-m to set the mount point.\n"
"\n"
-"To get information about the different file system types available, please\n"
+"To get information about the different filesystem types available, please\n"
"read the ext2FS chapter from the ``Reference Manual''.\n"
"\n"
"If you are installing on a PPC machine, you will want to create a small HFS\n"
-"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"``bootstrap'' partition of at least 1MB, which will be used by the yaboot\n"
"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
"may find it a useful place to store a spare kernel and ramdisk images for\n"
"emergency boot situations."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:513
msgid ""
-"Graphic Card\n"
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mandrake Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
-msgstr ""
-"بطاقة الرسوم\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
"\n"
-" برنامج التثبيت يقوم باكتشاف و تهيئة البطاقة الموجودة على نظامك\n"
-"بشكل آلي. ان لم يحصل ذلك, يمكنك اختيار البطاقة التي لديك بالفعل\n"
-"من القائمة.\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
"\n"
-" في حال اذا كانت هناك خادمات رسومية مختلفة لبطاقتك, مع أو بدون\n"
-"تسريع للرسوم ثلاثية الأبعاد, يمكنك في هذه الحال اختيار الخادم الذي\n"
-"يناسب احتياجاتك أكثر."
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error installing packages:"
-msgstr "كان هناك خطأ في تثبيت الحزم:"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Lexmark inkjet configuration"
-msgstr "إعداد Lexmark Inkjet"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Undo"
-msgstr "تراجع"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Save partition table"
-msgstr "حفظ جدول التقسيم"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Finnish"
-msgstr "الفنلندية"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Macedonia"
-msgstr "مقدونيا"
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The per-user sharing uses the group \"fileshare\". \n"
-"You can use userdrake to add a user to this group."
+" * \"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
msgstr ""
-"المشاركة لكل مستخدم تستخدم المجموعة \"fileshare\".\n"
-"يمكنك أن تستخدم userdrake لإضافة مستخدم في هذه المجموعة."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovenian"
-msgstr "السلوفينية"
+#: ../../help.pm_.c:544
+msgid "Please be patient. This operation can take several minutes."
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:547
msgid ""
-"Authorize:\n"
-"\n"
-"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
-"set to \"ALL\",\n"
+"DrakX now needs to know if you want to perform a default (\"Recommended\")\n"
+"installation or if you want to have greater control (\"Expert\") over your\n"
+"installation. You can also choose to do a new installation or upgrade your\n"
+"existing Mandrake Linux system:\n"
"\n"
-"- only local ones if set to \"LOCAL\"\n"
+" * \"Install\": completely wipes out the old system. However, depending on\n"
+"what is currently installed on your machine, you may be able to keep some\n"
+"old partitions (Linux or otherwise) unchanged;\n"
"\n"
-"- none if set to \"NONE\".\n"
+" * \"Upgrade\": this installation class allows to simply update the\n"
+"packages currently installed on your Mandrake Linux system. It keeps your\n"
+"hard drives' current partitions as well as user configurations. All other\n"
+"configuration steps remain available, similar to a normal installation;\n"
"\n"
-"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
-"(5))."
-msgstr ""
-"تمكين الصلاحية:\n"
+" * \"Upgrade Packages Only\": this new installation class allows you to\n"
+"upgrade an existing Mandrake Linux system while keeping all system\n"
+"configurations unchanged. Adding new packages to the current installation\n"
+"is also possible.\n"
"\n"
-"- لكل الخدمات التي يتم التحكم بها عن طريق tcp_wrappers (انظر صقحة دليل hosts."
-"deny(5) )اذا تم التعيين الى \"ALL\",\n"
+"Upgrades should work fine on Mandrake Linux systems using version \"8.1\"\n"
+"or later.\n"
"\n"
-"- الملفات المحلية فقط اذا تم التعيين الى \"LOCAL\"\n"
+"Depending on your GNU/Linux knowledge, select one of the following choices:\n"
"\n"
-"- لا شئ اذا تم التعيين الى \"NONE\".\n"
+" * Recommended: choose this if you have never installed a GNU/Linux\n"
+"operating system. The installation will be very easy and you will only be\n"
+"asked a few questions;\n"
"\n"
-"لتمكين صالحية الخدمات التي تريدها, استخدم ملف /etc/hosts.allow (انظر hosts."
-"allow(5))."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Libya"
-msgstr "ليبيا"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "جاري إعداد النصوص البرمجية و تثبيت البرمجيات و بدء الخدمات..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on parallel port #%s"
-msgstr "الطابعة على المنفذ المتوازي #%s"
+" * Expert: if you have a good GNU/Linux understanding, you may wish to\n"
+"perform a highly customized installation. Some of the decisions you will\n"
+"have to make may be difficult if you do not have good GNU/Linux knowledge,\n"
+"so it is not recommended that those without a fair amount of experience\n"
+"select this installation class."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:582
msgid ""
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen). However, you might not have a keyboard that\n"
+"corresponds exactly to your language: for example, if you are an English\n"
+"speaking Swiss person, you may still want your keyboard to be a Swiss\n"
+"keyboard. Or if you speak English but are located in Quebec, you may find\n"
+"yourself in the same situation. In both cases, you will have to go back to\n"
+"this installation step and select an appropriate keyboard from the list.\n"
"\n"
-"- Burn to CD"
-msgstr ""
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.\n"
"\n"
-"- انسخ الى قرص مدمج"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Table"
-msgstr "الجدول"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "لا أعرف كيف أجهز %s في النوع %s"
-
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Model"
-msgstr "الطراز"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "USB printer #%s"
-msgstr "طابعة USB #%s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Stop Server"
-msgstr "أوقف الخادم"
+"If you choose a keyboard layout based on a non-latin alphabet, you will be\n"
+"asked in the next dialog to choose the key binding that will switch the\n"
+"keyboard layout between the latin and non-latin layouts."
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../help.pm_.c:598
msgid ""
+"The first step is to choose your preferred language.\n"
"\n"
-"Select the theme for\n"
-"lilo and bootsplash,\n"
-"you can choose\n"
-"them separately"
-msgstr ""
+"Please choose your preferred language for installation and system usage.\n"
"\n"
-"اختر سمة\n"
-"Lilo و bootsplash,\n"
-"يمكنك اختيارهم\n"
-"بشكل منفصل"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Modem"
-msgstr "المودم"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tuvalu"
-msgstr "توفالو"
-
-#: ../../help.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Use auto detection"
-msgstr "استخدم التحقق الآلي"
-
-#: ../../services.pm:1
-#, c-format
-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."
+"Clicking on the \"Advanced\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you host users from Spain on your machine,\n"
+"select English as the main language in the tree view and in the Advanced\n"
+"section, click on the box corresponding to \"Spanish|Spain\".\n"
+"\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.\n"
+"\n"
+"To switch from one language to the other, you can launch the\n"
+"\"/usr/sbin/localedrake\" command as \"root\" to change the whole system\n"
+"language, or as a simple user to only change that user's default language."
msgstr ""
-"يقوم GPM بإضافة دعم الفأرة لتطبيقات Linux في الوضع النصي مثل\n"
-"Midnight Commander. اضافة الى ذلك فإنه يسمح بعمليات القص و اللصق في سطر "
-"الأوامر,\n"
-"كما يتضمن دعم القوائم المختصرة في سطر الأوامر."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Started on boot"
-msgstr "يتم بدءه عند الإقلاع"
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
+#: ../../help.pm_.c:617
msgid ""
-"Join the MandrakeSoft support teams and the Linux Community online to share "
-"your knowledge and help others by becoming a recognized Expert on the online "
-"technical support website:"
+"DrakX generally detects the number of buttons your mouse possesses. If not,\n"
+"it assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
+"\n"
+"If you wish to specify a different type of mouse, select the appropriate\n"
+"type from the provided list.\n"
+"\n"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.\n"
+"\n"
+"Sometimes, wheel mouses are not automatically detected. You will need to\n"
+"manually select it in the list. Be sure to select the one corresponding to\n"
+"the correct port it is attached to. After you have pressed the \"OK\"\n"
+"button, a mouse image will be displayed. You then need to move the wheel of\n"
+"your mouse to activate it correctly. Then test that all buttons and\n"
+"movements are correct."
msgstr ""
-"التحق بفريق الدعم الفني في MandrakeSoft و مجتمع Linux على الإنترنت لمشاركة "
-"معلوماتك و مساعدة الآخرين بأن تصبح خبيراً معتمَداً في موقعنا للدعم الفني على "
-"الإنترنت:"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "No password aging for"
-msgstr "لا تقاد لكلمة المرور لـ"
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../help.pm_.c:638
msgid ""
-"The following options can be set to customize your\n"
-"system security. If you need an explanation, look at the help tooltip.\n"
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
msgstr ""
-"يمكن تعيين الخيارات التالية لتخصيص\n"
-"أمن النظام. اذا كنت تحتاج الى مزيد من الشرح, الق نظرة على المساعدة.\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatically find available printers on remote machines"
-msgstr "اعثر على الطابعات الموجودة على الماكينات البعيدة آلياً"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "East Timor"
-msgstr "تيمور الشرقية"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Tape Device"
-msgstr "على الشريط"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:642
msgid ""
+"This is the most crucial decision in regards with the security of your\n"
+"GNU/Linux system: you have to enter the \"root\" password. \"Root\" is the\n"
+"system administrator and is the only one authorized to make updates, add\n"
+"users, change the overall system configuration, and so on. In short,\n"
+"\"root\" can do everything! That is why you must choose a password that is\n"
+"difficult to guess -- DrakX will tell you if it is too easy. As you can\n"
+"see, you can choose not to enter a password, but we strongly advise you\n"
+"against this if only for one reason: do not think that because you booted\n"
+"GNU/Linux that your other operating systems are safe from mistakes. Since\n"
+"\"root\" can overcome all limitations and unintentionally erase all data on\n"
+"partitions by carelessly accessing the partitions themselves, it is\n"
+"important for it to be difficult to become \"root\".\n"
"\n"
-"- Save to Tape on device: %s"
-msgstr ""
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it too\n"
+"easy to compromise a system.\n"
"\n"
-"- احفظ الى الشريط على الجهاز: %s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Login name"
-msgstr "اسم الدخول"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report unowned files"
-msgstr "قم بتقرير الملفات الغير مملوكة"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Del profile..."
-msgstr "احذف التشكيل..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing Foomatic..."
-msgstr "جاري تثبيت Foomatic..."
-
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "يرجى تسجيل الخروج ثم استخدم Ctrl-Alt-BackSpace"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected"
-msgstr "تم اكتشافه"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "The network needs to be restarted. Do you want to restart it ?"
-msgstr "يجب اعادة تشغيل الشبكة. هل تريد اعادة تشغيلها ؟"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package: "
-msgstr "الجزمة: "
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't write /etc/sysconfig/bootsplash."
-msgstr "تعذرت كتابة /etc/sysconfig/bootsplash."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SECURITY WARNING!"
-msgstr "تحذير أمني!"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "StarOffice"
-msgstr "StarOffice"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "No, I don't want autologin"
-msgstr "لا, لا أريد دخولا أليا"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Windows Migration tool"
-msgstr "أداة الإنتقال من Windows"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "All languages"
-msgstr "كل اللغات"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removing %s"
-msgstr "جاري ازالة %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s not found...\n"
-msgstr "تعذر ايجاد %s...\n"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Testing your connection..."
-msgstr "جاري اختبار الوصلة..."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cache size"
-msgstr "حجم الذاكرة المخبئية"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"Passwords are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr "كلمات المرور ممكّنة الآن, لكن الاستخدام كحاسب في شبكة يزال غير مفضّل."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start sector: "
-msgstr "قطاع البداية: "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Brazzaville)"
-msgstr "الكونغو برازافيل"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Read"
-msgstr "قراءة"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "The package %s needs to be installed. Do you want to install it?"
-msgstr "الحزمة %s يجب أن تُثبّت. هل تريد تثبيتها؟"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Seychelles"
-msgstr "جزر سيشل"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Printerdrake has compared the model name resulting from the printer auto-"
-"detection with the models listed in its printer database to find the best "
-"match. This choice can be wrong, especially when your printer is not listed "
-"at all in the database. So check whether the choice is correct and click "
-"\"The model is correct\" if so and if not, click \"Select model manually\" "
-"so that you can choose your printer model manually on the next screen.\n"
+"However, please do not make the password too long or complicated because\n"
+"you must be able to remember it without too much effort.\n"
"\n"
-"For your printer Printerdrake has found:\n"
+"The password will not be displayed on screen as you type it in. Hence, you\n"
+"will have to type the password twice to reduce the chance of a typing\n"
+"error. If you do happen to make the same typing error twice, this\n"
+"``incorrect'' password will have to be used the first time you connect.\n"
"\n"
-"%s"
-msgstr ""
-"قام Printerdrake بمقارنة اسم الطراز الناتج عن التحقق الآلي من الطابعات مع "
-"الطرازات الموجودة في قاعدة بيانات الطابعات للحصول على أفضل توافق. هذا "
-"الإختيار قد يكون خاطئاً, خصوصاً اذا كانت الطابعة غير موجودة اطلاقاً في قاعدة "
-"بيانات الطابعات. لذا تأكد اذ كان اختيارك صحيحاً و انقر \"الطراز صحيح\", أما "
-"ان لم يكن الطاز صحيحاً, انقر \"اختر الطراز يدوياً\" كي يتسنى لك اختيار طراز "
-"طابعتك يدوياً على الشاشة التالية.\n"
+"In Expert mode, you will be asked if you will be connecting to an\n"
+"authentication server, like NIS or LDAP.\n"
"\n"
-"لطابعتك وجد Printerdrake:\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one as \"authentication\". If you have no\n"
+"clue, ask your network administrator.\n"
"\n"
-"%s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Bad password on %s"
-msgstr "كلمة مرور سيئة على %s"
+"If your computer is not connected to any administrated network, you will\n"
+"want to choose \"Local files\" for authentication."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:678
msgid ""
+"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
+"automated. In fact, DrakX analyzes the disk boot sector and acts\n"
+"accordingly, depending on what it finds there:\n"
"\n"
-"There is one unknown printer directly connected to your system"
-msgstr ""
+" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
+"boot sector. Hence, you will be able to load either GNU/Linux or another\n"
+"OS;\n"
"\n"
-"توجد طابعة غير معروفة متصلة مباشرةً بنظامك"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Control key"
-msgstr "مفتاح Control الأيمن"
-
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid ""
-"Insert a FAT formatted floppy in drive %s with %s in root directory and "
-"press %s"
-msgstr "أدخل قرص مرن مجهز على نظام ملفات FAT في السواقة %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Zambia"
-msgstr "زامبيا"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security Administrator (login or email)"
-msgstr "مدير النظام (اسم الدخول أو البردي الألكتروني)"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Sorry, we support only 2.4 kernels."
-msgstr "آسفون, نحن ندعم اصدارات النواة 2.4"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwerty)"
-msgstr "الرومانية (qwertz)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Under Devel ... please wait."
-msgstr "تحت التطوير ... انتظر فضلا"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Egypt"
-msgstr "مصر"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Czech Republic"
-msgstr "جمهورية التشيك"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Sound card"
-msgstr "بطاقة الصوت"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Import Fonts"
-msgstr "استيراد الخطوط"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid ""
-"You have one big MicroSoft Windows partition.\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"لديك تجزئة Microsofr Windows كبيرة.\n"
-"اقترح أن تغير حجم هذه التجزئة\n"
-"(اضغط عليها ثم اختر \"تغيير الحجم\")"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Temporary Files"
-msgstr "أبطل الملفات المؤقتة"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"Congratulations, the network and Internet configuration is finished.\n"
+" * if a grub or LILO boot sector is found, it will replace it with a new\n"
+"one.\n"
"\n"
-msgstr ""
-"تهانينا, انتهت تهيئة الشبكة و الإنترنت.\n"
+"if in doubt, DrakX will display a dialog with various options.\n"
"\n"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Change partition type"
-msgstr "غير نوع التجزئة"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Resolution\n"
+" * \"Bootloader to use\": you have three choices:\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor."
-msgstr ""
-"دقة العرض\n"
+" * \"GRUB\": if you prefer grub (text menu);\n"
"\n"
-" يمكنك اختيار دقة العرض و عمق الألوان في الحدود\n"
-"المتوفرة للعتاد. اختر تلك التي تناسب احتياجاتك (لا تزال\n"
-"تستطيع تغيير تلك الخيارات بعد التثبيت). يتم عرض عينة\n"
-"من التهيئة المختارة على الشاشة."
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Network Options"
-msgstr "خيارات شبكة"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable msec hourly security check"
-msgstr "تمكين اختبارات msec الأمنية كل ساعة"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Display theme\n"
-"under console"
+" * \"LILO with graphical menu\": if you prefer LILO with its graphical\n"
+"interface;\n"
+"\n"
+" * \"LILO with text menu\": if you prefer LILO with its text menu\n"
+"interface.\n"
+"\n"
+" * \"Boot device\": in most cases, you will not change the default\n"
+"(\"/dev/hda\"), but if you prefer, the bootloader can be installed on the\n"
+"second hard drive (\"/dev/hdb\"), or even on a floppy disk (\"/dev/fd0\");\n"
+"\n"
+" * \"Delay before booting the default image\": when rebooting the computer,\n"
+"this is the delay granted to the user to choose -- in the bootloader menu,\n"
+"another boot entry than the default one.\n"
+"\n"
+"!! Beware that if you choose not to install a bootloader (by selecting\n"
+"\"Cancel\" here), you must ensure that you have a way to boot your Mandrake\n"
+"Linux system! Also, be sure you know what you do before changing any of the\n"
+"options. !!\n"
+"\n"
+"Clicking the \"Advanced\" button in this dialog will offer many advanced\n"
+"options, which are reserved for the expert user."
msgstr ""
-"اعرض السمات\n"
-"في سطر الأوامر"
-
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on %s)"
-msgstr "(على %s)"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM Series"
-msgstr "MM Series"
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:718
msgid ""
-"A library which defends against buffer overflow and format string attacks."
-msgstr "مكتبة تحمي من هجمات buffer overflow و format string"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "average"
-msgstr "متوسط"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "New printer name"
-msgstr "اسم الطابعة الجديدة"
+"After you have configured the general bootloader parameters, the list of\n"
+"boot options which will be available at boot time will be displayed.\n"
+"\n"
+"If there is another operating system installed on your machine, it will\n"
+"automatically be added to the boot menu. Here, you can choose to fine-tune\n"
+"the existing options. Select an entry and click \"Modify\" to modify or\n"
+"remove it. \"Add\" creates a new entry. and \"Done\" goes on to the next\n"
+"installation step.\n"
+"\n"
+"You may also not want to give access to these other operating systems to\n"
+"anyone. In which case, you can delete the corresponding entries. But then,\n"
+"you will need a boot disk in order to boot those other operating systems!"
+msgstr ""
-#: ../../fs.pm:1
-#, c-format
+#: ../../help.pm_.c:732
msgid ""
-"Allow an ordinary user to mount the file system. The\n"
-"name of the mounting user is written to mtab so that he can unmount the "
-"file\n"
-"system again. This option implies the options noexec, nosuid, and nodev\n"
-"(unless overridden by subsequent options, as in the option line\n"
-"user,exec,dev,suid )."
+"You must indicate where you wish to place the information required to boot\n"
+"GNU/Linux.\n"
+"\n"
+"Unless you know exactly what you are doing, choose \"First sector of drive\n"
+"(MBR)\"."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Equatorial Guinea"
-msgstr "غينيا الإستوائية"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup System"
-msgstr "نظام المساعد"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Build Backup"
-msgstr "ابني النسخة الإحتياطية"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:739
msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\" or \"%s <file>\".\n"
-msgstr "لطباعة ملف من سطر الأوامر استخدم الأمر \"%s <file> أو \"%s <file>\".\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Currently, no alternative possibility is available"
-msgstr "حالياً لا يوجد احتمال بديل"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwertz)"
-msgstr "الرومانية (qwertz)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Write Config"
-msgstr "اكتب الإعدادات"
+"Here, we select a printing system for your computer. Other OSes may offer\n"
+"you one, but Mandrake Linux offers two.\n"
+"\n"
+" * \"pdq\" -- which means ``print, don't queue'', is the choice if you have\n"
+"a direct connection to your printer and you want to be able to panic out of\n"
+"printer jams, and you do not have networked printers. It will handle only\n"
+"very simple network cases and is somewhat slow for networks. Pick \"pdq\"\n"
+"if this is your first voyage to GNU/Linux. You can change your choices\n"
+"after installation by running PrinterDrake from the Mandrake Control Center\n"
+"and clicking the expert button.\n"
+"\n"
+" * \"CUPS\" -- ``Common Unix Printing System'', is excellent at printing to\n"
+"your local printer and also halfway-around the planet. It is simple and can\n"
+"act as a server or a client for the ancient \"lpd\" printing system. Hence,\n"
+"it is compatible with the systems that went before. It can do many tricks,\n"
+"but the basic setup is almost as easy as \"pdq\". If you need this to\n"
+"emulate an \"lpd\" server, you must turn on the \"cups-lpd\" daemon. It has\n"
+"graphical front-ends for printing or choosing printer options."
+msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:759
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."
+"DrakX now detects any IDE device present in your computer. It will also\n"
+"scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented with a list of SCSI cards to choose from. Click \"No\" if you\n"
+"have no SCSI hardware. If you are unsure, you can check the list of\n"
+"hardware detected in your machine by selecting \"See hardware info\" and\n"
+"clicking \"OK\". Examine the hardware list and then click on the \"OK\"\n"
+"button to return to the SCSI interface question.\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\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
+"\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to manually provide options to the driver."
msgstr ""
-"مراقب routed يسمح بتحديث جدول موجه IP الآلي (IP router table) عن طريق\n"
-"بروتوكول RIP. بينما يستخدم RIP على الشبكات الصغيرة, تحتاج الشبكات الأكبر\n"
-"الى بروتوكولات توجيه معقدة أكثر."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kiribati"
-msgstr "كيريباتي"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Logitech Mouse (serial, old C7 type) with Wheel emulation"
-msgstr "Logitech Mouse (serial, old C7 type)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other (not drakbackup) keys in place already"
-msgstr "مفاتيح أخرى (غير drakbackup) موجودة مسبقاً"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:781
msgid ""
-"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
-"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
-"WindowMaker, etc.) bundled with Mandrake Linux rely upon.\n"
+"You can add additional entries for yaboot, either for other operating\n"
+"systems, alternate kernels, or for an emergency boot image.\n"
"\n"
-"You will be presented with a list of different parameters to change to get\n"
-"an optimal graphical display: Graphic Card\n"
+"For other OSes, the entry consists only of a label and the \"root\"\n"
+"partition.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"For Linux, there are a few possible options:\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs.\n"
+" * Label: this is simply the name you will have to type at the yaboot\n"
+"prompt to select this boot option;\n"
"\n"
+" * Image: this would be the name of the kernel to boot. Typically, vmlinux\n"
+"or a variation of vmlinux with an extension;\n"
"\n"
+" * Root: the \"root\" device or ``/'' for your Linux installation;\n"
"\n"
-"Monitor\n"
+" * Append: on Apple hardware, the kernel append option is used quite often\n"
+"to assist in initializing video hardware, or to enable keyboard mouse\n"
+"button emulation for the often lacking 2nd and 3rd mouse buttons on a stock\n"
+"Apple mouse. The following are some examples:\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer.\n"
+" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
+"hda=autotune\n"
"\n"
+" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
"\n"
+" * Initrd: this option can be used either to load initial modules, before\n"
+"the boot device is available, or to load a ramdisk image for an emergency\n"
+"boot situation;\n"
"\n"
-"Resolution\n"
+" * Initrd-size: the default ramdisk size is generally 4,096 bytes. If you\n"
+"need to allocate a large ramdisk, this option can be used;\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor.\n"
+" * Read-write: normally the \"root\" partition is initially brought up in\n"
+"read-only, to allow a filesystem check before the system becomes ``live''.\n"
+"Here, you can override this option;\n"
"\n"
+" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
+"problematic, you can select this option to boot in ``novideo'' mode, with\n"
+"native frame buffer support;\n"
"\n"
+" * Default: selects this entry as being the default Linux selection,\n"
+"selectable by just pressing ENTER at the yaboot prompt. This entry will\n"
+"also be highlighted with a ``*'', if you press [Tab] to see the boot\n"
+"selections."
+msgstr ""
+
+#: ../../help.pm_.c:828
+msgid ""
+"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able to boot\n"
+"either GNU/Linux, MacOS or MacOSX if present on your computer. Normally,\n"
+"these other operating systems are correctly detected and installed. If this\n"
+"is not the case, you can add an entry by hand in this screen. Be careful to\n"
+"choose the correct parameters.\n"
"\n"
-"Test\n"
+"Yaboot's main options are:\n"
"\n"
-" the system will try to open a graphical screen at the desired\n"
-"resolution. If you can see the message during the test and answer \"%s\",\n"
-"then DrakX will proceed to the next step. If you cannot see the message, it\n"
-"means that some part of the autodetected configuration was incorrect and\n"
-"the test will automatically end after 12 seconds, bringing you back to the\n"
-"menu. Change settings until you get a correct graphical display.\n"
+" * Init Message: a simple text message displayed before the boot prompt;\n"
"\n"
+" * Boot Device: indicates where you want to place the information required\n"
+"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
+"to hold this information;\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"
-"Options\n"
+" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
+"After selecting Linux, you will have this delay in 0.1 second before your\n"
+"default kernel description is selected;\n"
"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Browse"
-msgstr "استعرض"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CDROM"
-msgstr "القرص المدمج"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "هل تريد أن تحاول أن تتصل بالإنترنت الآن؟"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belgian"
-msgstr "البلجيكية"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you have an ISA sound card?"
-msgstr "هل لديك بطاقة صوت ISA؟"
-
-#: ../../network/ethernet.pm:1
-#, c-format
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
+" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
+"at the first boot prompt;\n"
+"\n"
+" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
+"Open Firmware at the first boot prompt;\n"
+"\n"
+" * Default OS: you can select which OS will boot by default when the Open\n"
+"Firmware Delay expires."
msgstr ""
-"لم يتم اكتشاف أي موائم شبكة ايثرنت على نظامك.\n"
-"لا يمكنني اعداد نوع الإتصال هذا."
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Windows"
-msgstr "Windows"
-#: ../../common.pm:1
-#, c-format
-msgid "Can't make screenshots before partitioning"
-msgstr "لا يمكنني غمل لقطات للشاشة قبل التجزئة"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Name"
-msgstr "اسم المستضيف"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/Save _As"
-msgstr "/ملف/حفظ _باسم"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:860
msgid ""
-"To get access to printers on remote CUPS servers in your local network you "
-"only need to turn on the \"Automatically find available printers on remote "
-"machines\" option; the CUPS servers inform your machine automatically about "
-"their printers. All printers currently known to your machine are listed in "
-"the \"Remote printers\" section in the main window of Printerdrake. If your "
-"CUPS server(s) is/are not in your local network, you have to enter the IP "
-"address(es) and optionally the port number(s) here to get the printer "
-"information from the server(s)."
-msgstr ""
-"للوصول الى الطابعات على خادمات CUPS البعيدة في شبكتك المحلية تحتاج فقط الى "
-"تشغيل خيار \"اعثر على الطابعات المتوفرة على الماكينات البعيدة\"; ستقوم "
-"خادمات CUPS بإعلام ماكينتك عن الطابعات الموجودة لديها. كافة الطابعات التي تم "
-"التعرف عليها من قِبل ماكينتك موجودة في قسم \"الطابعات البعيدة\" على نافذة "
-"Printerdrake الرئيسية. اذا لم تكن خادمات CUPS في شبكتك المحلية, فعليك أن "
-"تقوم بإدخال عناوين IP و أرقام المنافذ (اختياري) للحصول على معلومات الطابعات "
-"من الخادمات."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s is not in the scanner database, configure it manually?"
-msgstr "%s غير موجود في قاعدة بيانات الماسحات الضوئية, هل تريد تهيئته يدوياً؟"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Delay before booting default image"
-msgstr "توقيت ما قبل اقلاع الصورة الافتراضية"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Restrict command line options"
-msgstr "تشديد خيارات سطر الأوامر"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "East Europe"
-msgstr "أوروبّا الشّرقيّة"
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use free space"
-msgstr "استعمل المساحة الفارغة"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use dhcp"
-msgstr "استخدم dhcp"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert"
-msgstr "تنبية بريدي"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Internet configuration"
-msgstr "اعدادات الإنترنت"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uzbekistan"
-msgstr "أوزبكستان"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected %s"
-msgstr "تم التحقق من %s"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _printers"
-msgstr "/تحقق آلي من ال_طابعات"
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#, c-format
-msgid "Finish"
-msgstr "إنتهاء"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Show automatically selected packages"
-msgstr "أظهر الحزم المختارة ألياً"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Togo"
-msgstr "توجو"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "CPU flags reported by the kernel"
-msgstr "CPU flags reported by the kernel"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Something went wrong! - Is mkisofs installed?"
-msgstr "حصل شئ خطأ! - هل تم تثبيت mkisofs؟"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "16 MB"
-msgstr "16 ميغابايت"
-
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Please try again"
-msgstr "رجاء جاول مرة أخرى"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The model is correct"
-msgstr "الطراز صحيح"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "فشل تغيير حجم FAT: %s"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Individual package selection"
-msgstr "اختيار مفرد للحزم"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition is not resizeable"
-msgstr "هذا التقسيم غير قابل لتغيير الحجم"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Location"
-msgstr "المكان"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable-hrc)"
-msgstr "الولايات المتّحدة الأمريكيّة (cable-hrc)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guatemala"
-msgstr "غواتيمالا"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Journalised FS"
-msgstr "Journalised FS"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Ethernet cards promiscuity check"
-msgstr ""
-"Arguments: (arg)\n"
+"Here are presented various parameters concerning your machine. Depending on\n"
+"your installed hardware, you may (or may not), see the following entries:\n"
"\n"
-"Activate/Disable ethernet cards promiscuity check."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "This machine"
-msgstr "هذه الماكينة"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "حرف سواقة DOS: %s (مجرد تخمين)\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahrain"
-msgstr "البحرين"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select the files or directories and click on 'OK'"
-msgstr "اختر الملفات أو الأدلة ثم انقر 'أضف'"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit scsi modules"
-msgstr "SCSI اهمل وحدات ال"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "family of the cpu (eg: 6 for i686 class)"
-msgstr "عائلة المعالح (مثلا: 6 لفئة i686)"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-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"
+" * \"Mouse\": check the current mouse configuration and click on the button\n"
+"to change it if necessary;\n"
+"\n"
+" * \"Keyboard\": check the current keyboard map configuration and click on\n"
+"the button to change that if necessary;\n"
+"\n"
+" * \"Timezone\": DrakX, by default, guesses your time zone from the\n"
+"language you have chosen. But here again, as for the choice of a keyboard,\n"
+"you may not be in the country for which the chosen language should\n"
+"correspond. Hence, you may need to click on the \"Timezone\" button in\n"
+"order to configure the clock according to the time zone you are in;\n"
+"\n"
+" * \"Printer\": clicking on the \"No Printer\" button will open the printer\n"
+"configuration wizard. Consult the correpsonding chapter of the ``Starter\n"
+"Guide'' for more information on how to setup a new printer. The interface\n"
+"presented there is similar to the one used at installation time;\n"
+"\n"
+" * \"Sound card\": if a sound card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"TV card\": if a TV card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"ISDN card\": if an ISDN card is detected on your system, it will be\n"
+"displayed here. You can click on the button to change the parameters\n"
+"associated to it."
msgstr ""
-"لأنك تقوم بالتثبيت عبر الشبكة, فقد تمت تهيئة الشبكة مسبقاً.\n"
-"انقر موافق لحفظ التهيئة الخاصة بك, أو انقر الغاء لإعادة تهيئة وصلات الإنترنت "
-"و الشبكة.\n"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run the daily security checks"
-msgstr "شغّل الاختبارات الأمنية اليومية"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "لوحة المفاتيح: %s\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:891
msgid ""
-"Here you can choose whether the printers connected to this machine should be "
-"accessable by remote machines and by which remote machines."
-msgstr ""
-"هنا يمكنك أن تختار اذا كان يجب للطابعات المتصلة بهذه الماكينة أن تكون متوفرة "
-"للماكينات الأخرى على الشبكة."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (US)"
-msgstr "المالطية (أمريكا)"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "The creation of the boot floppy has been successfully completed \n"
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandrake Linux partition. Be careful, all data present on it will be lost\n"
+"and will not be recoverable!"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:896
msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
+"Click on \"OK\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"OK\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to stop this operation without losing any data and\n"
+"partitions present on this hard drive."
msgstr ""
-"تحمّل و تزيل تحميل كل نقاط تحميل أنظمة ملفات الشبكة (NFS)و SMB (مدير\n"
-"الشبكة المحلية/Windows) و NCP (NetWare)."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Launch the wizard"
-msgstr "شغّل المعالج"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Tvcard"
-msgstr "بطاقة التلفاز"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Toggle between normal/expert mode"
-msgstr "التغيير الى الوضع العادي/وضع الخبير"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Size"
-msgstr "حجم"
-
-#: ../../help.pm:1
-#, c-format
-msgid "GRUB"
-msgstr "GRUB"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Greenland"
-msgstr "غرينلاند"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Thursday"
-msgstr "الخميس"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct tape label. Tape is labelled %s."
-msgstr "علامة الشريط ليست العلامة الصحيحة. علامة الشريط هي %s."
-
-#: ../../standalone/drakgw:1
+#: ../../install2.pm_.c:111
#, c-format
msgid ""
-"The setup of Internet Connection Sharing has already been done.\n"
-"It's currently enabled.\n"
-"\n"
-"What would you like to do?"
+"Can't access kernel modules corresponding to your kernel (file %s is "
+"missing), this generally means your boot floppy in not in sync with the "
+"Installation medium (please create a newer boot floppy)"
msgstr ""
-"تم عمل مشاركة الإتصال بالإنترنت مسبقاً.\n"
-"و هي ممكّنة حالياً.\n"
-"\n"
-"ماذا تريد أن تفعل؟"
-#: ../../standalone/drakTermServ:1
+#: ../../install2.pm_.c:167
#, c-format
-msgid "Delete All NBIs"
-msgstr "احذف كل NBI"
+msgid "You must also format %s"
+msgstr ""
-#: ../../help.pm:1
+#: ../../install_any.pm_.c:423
#, c-format
msgid ""
-"This dialog allows you to fine tune your bootloader:\n"
-"\n"
-" * \"%s\": there are three choices for your bootloader:\n"
-"\n"
-" * \"%s\": if you prefer grub (text menu).\n"
-"\n"
-" * \"%s\": if you prefer LILO with its text menu interface.\n"
-"\n"
-" * \"%s\": if you prefer LILO with its graphical interface.\n"
+"You have selected the following server(s): %s\n"
"\n"
-" * \"%s\": in most cases, you will not change the default (\"%s\"), but if\n"
-"you prefer, the bootloader can be installed on the second hard drive\n"
-"(\"%s\"), or even on a floppy disk (\"%s\");\n"
"\n"
-" * \"%s\": after a boot or a reboot of the computer, this is the delay\n"
-"given to the user at the console to select a boot entry other than the\n"
-"default.\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"
-"!! Beware that if you choose not to install a bootloader (by selecting\n"
-"\"%s\"), you must ensure that you have a way to boot your Mandrake Linux\n"
-"system! Be sure you know what you are doing before changing any of the\n"
-"options. !!\n"
"\n"
-"Clicking the \"%s\" button in this dialog will offer advanced options which\n"
-"are normally reserved for the expert user."
+"Do you really want to install these servers?\n"
msgstr ""
-#: ../../security/help.pm:1
+#: ../../install_any.pm_.c:441
#, c-format
msgid ""
-"if set, send the mail report to this email address else send it to root."
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
msgstr ""
-"if set, send the mail report to this email address else send it to root."
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Which configuration of XFree do you want to have?"
-msgstr "أي اعداد لـXFree تريد؟"
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "More"
-msgstr "المزيد"
+#: ../../install_any.pm_.c:471
+msgid "Can't use broadcast with no NIS domain"
+msgstr "NIS لا تسطيع ا ستعمال هذ ا البرنامج مع"
-#: ../../standalone/drakbackup:1
+#: ../../install_any.pm_.c:879
#, c-format
-msgid ""
-"This uses the same syntax as the command line program 'cdrecord'. 'cdrecord -"
-"scanbus' would also show you the device number."
+msgid "Insert a FAT formatted floppy in drive %s"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-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 can "
-"accept\n"
-"connections from many clients. Note: if your machine is only a client on the "
-"Internet, you should choose a lower level."
+#: ../../install_any.pm_.c:883
+msgid "This floppy is not FAT formatted"
msgstr ""
-"بهذا المستوى الأمني, يكون استخدام هذا النظام كخادم يصبح ممكناً.\n"
-"المستوى الأمني عالٍ بشكل كافي لاستخدام هذا النظام كخادم يستطيع قبول\n"
-"اتصالات من عملاء كثيرين. ملحوظة: اذا كانت ماكينتك مجرد عميل على الإنترنت "
-"فالأجدر بك اختيار مستوى أمني أقل."
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Server Name"
-msgstr "اسم الخادم:"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Password"
-msgstr "كلمة المرور للحساب"
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../install_any.pm_.c:895
msgid ""
-"%s cannot be displayed \n"
-". No Help entry of this type\n"
+"To use this saved packages selection, boot installation with ``linux "
+"defcfg=floppy''"
msgstr ""
-#: ../../any.pm:1
+#: ../../install_any.pm_.c:918 ../../partition_table.pm_.c:767
#, c-format
-msgid ""
-"You decided to install the bootloader on a partition.\n"
-"This implies you already have a bootloader on the hard drive you boot (eg: "
-"System Commander).\n"
-"\n"
-"On which drive are you booting?"
+msgid "Error reading file %s"
msgstr ""
-"لقد قررت تثبيت محمّل الإقلاع على تجزئة.\n"
-"هذا يعني أنه لديك محمّل إقلاع على القرص الذي تستخدمه للإقلاع (مثال: System "
-"Commander).\n"
-"\n"
-"على أي قرص تقوم بالإقلاع؟"
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
+#: ../../install_any.pm_.c:1040
msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this\n"
-"operation is dangerous. If you have not already done so, you\n"
-"first need to exit the installation, run \"chkdsk c:\" from a\n"
-"Command Prompt under Windows (beware, running graphical program\n"
-"\"scandisk\" is not enough, be sure to use \"chkdsk\" in a\n"
-"Command Prompt!), optionally run defrag, then restart the\n"
-"installation. You should also backup your data.\n"
-"When sure, press Ok."
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
msgstr ""
-"تحذير!\n"
-"\n"
-"DrakX سيقوم الآن بتغيير حجم تجزئة Windows. كن حذراً:\n"
-"هذه العملية خطرة. فإذا لم تكن فعلت ذلك,\n"
-"يجب عليك أولاً الخروج من التثبيت, ثم شغّل scandisk\n"
-"في Windows (و اختيارياً defrag), ثم أعد\n"
-"التثبيت. يجب عليك كذلك عمل نسخة احتياطية من بياناتك.\n"
-"عندما تكون متأكداً, انقر موافق."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tajik keyboard"
-msgstr "لوحة المفاتيح الطاجيكية"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../install_interactive.pm_.c:21
#, c-format
msgid ""
-"You can copy the printer configuration which you have done for the spooler %"
-"s to %s, your current spooler. All the configuration data (printer name, "
-"description, location, connection type, and default option settings) is "
-"overtaken, but jobs will not be transferred.\n"
-"Not all queues can be transferred due to the following reasons:\n"
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
msgstr ""
-"يمكنك نقل تهيئة الطابعة التي تم عملها للـSpooler %s الى %s, الـspooler "
-"الحالي. كل بيانات التهيئة (اسم الطابعة, الوصف, المكان, نوع الوصلة, و خيارات "
-"الإعداد الإفتراضي) يتم أخذها, لكن لن يتم نقل الوظائف.\n"
-"لا يمكن نقل كل الصفوف للأسباب التالية:\n"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Font List"
-msgstr "قائمة الخطوط"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:56
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 %s,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
+"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 ""
-"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 %s,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"You appear to have an OldWorld or Unknown\n"
-" machine, the yaboot bootloader will not work for you.\n"
-"The install will continue, but you'll\n"
-" need to use BootX or some other means to boot your machine"
+#: ../../install_interactive.pm_.c:61
+msgid "You must have a swap partition"
msgstr ""
-"You appear to have an OldWorld or Unknown\n"
-" machine, the yaboot bootloader will not work for you.\n"
-"The install will continue, but you'll\n"
-" need to use BootX or some other means to boot your machine"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Select file"
-msgstr "اختر ملف"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:62
msgid ""
-"Choose the network or host on which the local printers should be made "
-"available:"
-msgstr "اختر الشبكة أو المستضيف التي يجب أن تكون الطابعات المحلية متوفرة له:"
+"You don't have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr "استمرّ بأيّة حال"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"These commands you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications, but here do not supply the file name "
-"because the file to print is provided by the application.\n"
+#: ../../install_interactive.pm_.c:65 ../../install_steps.pm_.c:169
+msgid "You must have a FAT partition mounted in /boot/efi"
msgstr ""
-"يمكنك استخدام هذه الأوامر أيضاً في حقل \"أمر الطباعة\" في مربعات حوار الطباعة "
-"في العديد من التطبيقات, لكن لا تقم هنا بإعطاء اسم الملف لأن الملف المطلوب "
-"طباعته يتم اعطاؤه من قبل التطبيق.\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Japan"
-msgstr "اليابان"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print option list"
-msgstr "قائمة خيارات الطابعة"
-#: ../../standalone/localedrake:1
-#, c-format
-msgid "The change is done, but to be effective you must logout"
-msgstr "تم عمل التغيير, و لكن ليتم تفعيله يجب عليك الخروج"
+#: ../../install_interactive.pm_.c:90
+msgid "Use free space"
+msgstr "استعمل مكانا حرا"
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Country / Region"
-msgstr "البلد / المنطقة"
+#: ../../install_interactive.pm_.c:92
+msgid "Not enough free space to allocate new partitions"
+msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search servers"
-msgstr "ابحث في أجهزة الخادم"
+#: ../../install_interactive.pm_.c:100
+msgid "Use existing partitions"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP queue name missing!"
-msgstr "اسم صف NCP مفقود!"
+#: ../../install_interactive.pm_.c:102
+msgid "There is no existing partition to use"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Warning, another internet connection has been detected, maybe using your "
-"network"
-msgstr "تحذير, تم ايجاد اتصال إنترنت آخر, ربما يكون يستخدم شبكتك"
+#: ../../install_interactive.pm_.c:109
+msgid "Use the Windows partition for loopback"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "القرص المدمج المسمى \"%s\""
+#: ../../install_interactive.pm_.c:112
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CDRW media"
+#: ../../install_interactive.pm_.c:114
+msgid "Choose the sizes"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
+#: ../../install_interactive.pm_.c:115
+msgid "Root partition size in MB: "
msgstr ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-#: ../advertising/07-server.pl:1
-#, c-format
-msgid "Turn your computer into a reliable server"
-msgstr "اجعل جهازك خادماً يعتمد عليه"
+#: ../../install_interactive.pm_.c:116
+msgid "Swap partition size in MB: "
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check empty password in /etc/shadow"
-msgstr "تحقق من وجود كلمة مرور فارغة في /etc/shadow."
+#: ../../install_interactive.pm_.c:126
+msgid "Use the free space on the Windows partition"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid " (driver %s)"
-msgstr " (driver %s)"
+#: ../../install_interactive.pm_.c:129
+msgid "Which partition do you want to resize?"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Start when requested"
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing Windows partition"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../install_interactive.pm_.c:134
#, c-format
msgid ""
-"Loopback file(s):\n"
-" %s\n"
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occured: %s"
msgstr ""
-"ملف(ات) Loopback:\n"
-" %s\n"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "I don't know"
-msgstr "لا أعرف "
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", TCP/IP host \"%s\", port %s"
-msgstr ", مستضيف TCP/IP \"%s\", المنفذ \"%s\""
-
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../install_interactive.pm_.c:137
msgid ""
-"You are about to configure an Auto Install floppy. This feature is somewhat "
-"dangerous and must be used circumspectly.\n"
-"\n"
-"With that feature, you will be able to replay the installation you've "
-"performed on this computer, being interactively prompted for some steps, in "
-"order to change their values.\n"
-"\n"
-"For maximum safety, the partitioning and formatting will never be performed "
-"automatically, whatever you chose during the install of this computer.\n"
-"\n"
-"Do you want to continue?"
+"Your Windows partition is too fragmented. Please reboot your computer under "
+"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
+"installation."
msgstr ""
-"أنت على وشك تهيئة قرص للتثبيت الآلي. هذه الميزة خطرة بعض الشئ و يجب "
-"استخدامها بحذر.\n"
-"\n"
-"بهذه الميزة يمكنك اعادة عمل التثبيت الذي قمت به على هذا الكمبيوتر, مع تنبيهك "
-"لبعض الخطوات التي يجب عليك فيها تغيير القيم, حتى تتمكن من تغييرها.\n"
-"\n"
-"لأقصى حد من الأمان, ستتم تجزئة و تجهيز الأقراص الصلبة بشكل آلي, مثلما اخترت "
-"أثناء التثبيت على هذا الكمبيوتر.\n"
-"\n"
-"هل تريد المتابعة؟"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Telugu"
-msgstr "التيلوغو"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:138
msgid ""
+"WARNING!\n"
"\n"
-"\n"
-"Your card currently use the %s\"%s\" driver (default driver for your card is "
-"\"%s\")"
+"DrakX will now resize your Windows partition. Be careful:\n"
+"this operation is dangerous. If you have not already done\n"
+"so, you should first exit the installation, run scandisk\n"
+"under Windows (and optionally run defrag), then restart the\n"
+"installation. You should also backup your data.\n"
+"When sure, press Ok."
msgstr ""
-"\n"
-"\n"
-"بطاقتك تستخدم المشغل %s\"%s\" حالياً (المشغل الحالي لبطاقتك هو \"%s\")"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Uninstall"
-msgstr "ما بعد ازالة التثبيت"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connecting to Internet "
-msgstr "جاري الإتصال بالإنترنت"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid " ("
-msgstr " ("
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid level"
-msgstr "مستوى هوية المعالج"
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Novell server \"%s\", printer \"%s\""
-msgstr " على خادم Novell \"%s\", الطابعة \"%s\""
+#: ../../install_interactive.pm_.c:148
+msgid "Which size do you want to keep for Windows on"
+msgstr ""
-#: ../../keyboard.pm:1
+#: ../../install_interactive.pm_.c:149
#, c-format
-msgid "Mongolian (cyrillic)"
-msgstr "المنغولية (سيريلية)"
+msgid "partition %s"
+msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../install_interactive.pm_.c:156
#, c-format
-msgid "Add a module"
-msgstr "اضافة وحدة"
+msgid "FAT resizing failed: %s"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile to delete:"
-msgstr "التشكيل المطلوب حذفه:"
+#: ../../install_interactive.pm_.c:171
+msgid ""
+"There is no FAT partition to resize or to use as loopback (or not enough "
+"space left)"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Local measure"
-msgstr "اجراء محلي"
+#: ../../install_interactive.pm_.c:177
+msgid "Erase entire disk"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Warning : IP address %s is usually reserved !"
-msgstr "تحذير: عنوان الـ IP %s عادة ما يكون محفوظاً !"
+#: ../../install_interactive.pm_.c:177
+msgid "Remove Windows(TM)"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "busmouse"
-msgstr "busmouse"
+#: ../../install_interactive.pm_.c:180
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../install_interactive.pm_.c:183
#, c-format
-msgid ""
-" - Create Etherboot Enabled Boot Images:\n"
-" \tTo boot a kernel via etherboot, a special kernel/initrd image must "
-"be created.\n"
-" \tmkinitrd-net does much of this work and drakTermServ is just a "
-"graphical \n"
-" \tinterface to help manage/customize these images. To create the "
-"file \n"
-" \t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an "
-"include in \n"
-" \tdhcpd.conf, you should create the etherboot images for at least "
-"one full kernel."
+msgid "ALL existing partitions and their data will be lost on drive %s"
msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Login (user name)"
-msgstr "اسم المدخول للحساب"
+#: ../../install_interactive.pm_.c:191
+msgid "Custom disk partitioning"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Fdiv bug"
-msgstr "Fdiv bug"
+#: ../../install_interactive.pm_.c:195
+msgid "Use fdisk"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../install_interactive.pm_.c:198
#, c-format
msgid ""
-"drakfirewall configurator\n"
-"\n"
-"Make sure you have configured your Network/Internet access with\n"
-"drakconnect before going any further."
+"You can now partition %s.\n"
+"When you are done, don't forget to save using `w'"
msgstr ""
-"أداة تهيئة DrakFirewall\n"
-"\n"
-"تأكد من أنك قمت بتهيئة اتصالك بالشبكة/الإنترنت باستخدام\n"
-"drakconnect قبل المتابعة."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept broadcasted icmp echo"
-msgstr "اقبل broadcasted icmp echo"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uruguay"
-msgstr "أوروغواي"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Benin"
-msgstr "بنين"
+#: ../../install_interactive.pm_.c:227
+msgid "You don't have enough free space on your Windows partition"
+msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "SMB/Windows server \"%s\", share \"%s\""
-msgstr "على خادم SMB/Windows \"%s\", المشاركة \"%s\""
+#: ../../install_interactive.pm_.c:243
+msgid "I can't find any room for installing"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path selection"
-msgstr "إختيار المسار"
+#: ../../install_interactive.pm_.c:246
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../install_interactive.pm_.c:250
#, c-format
-msgid "Name/IP address of host:"
-msgstr "عنوان IP/اسم المستضيف:"
+msgid "Partitioning failed: %s"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "الشاشة: %s\n"
+#: ../../install_interactive.pm_.c:260
+msgid "Bringing up the network"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Custom & system settings"
-msgstr "اعدادات مخصصة"
+#: ../../install_interactive.pm_.c:265
+msgid "Bringing down the network"
+msgstr ""
-#: ../../partition_table/raw.pm:1
-#, c-format
+#: ../../install_steps.pm_.c:76
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, corrupted "
-"data."
+"An error occurred, but I don't know how to handle it nicely.\n"
+"Continue at your own risk."
msgstr ""
-"هناك شئ سيئ يحصل للقرص. \n"
-"لقد فشل اختبار للتأكد من صحة البيانات. \n"
-"هذا يعني أن كتابة أي شئ على هذا القرص سينتهي ببيانات عشوائية و فاسدة."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP missing!"
-msgstr "اسم مستضيف الطابعة أو الـ IP مفقود!"
-#: ../../standalone/drakbackup:1
+#: ../../install_steps.pm_.c:211
#, c-format
-msgid "Please check all users that you want to include in your backup."
-msgstr "رجاء اختر كل المستخدمين الذين تريد تضمينهم في النسخ الإحتياطي."
+msgid "Duplicate mount point %s"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps.pm_.c:380
msgid ""
-"The %s must be configured by printerdrake.\n"
-"You can launch printerdrake from the Mandrake Control Center in Hardware "
-"section."
+"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 ""
-"الماسح الضوئي %s يجب اعداده عن طريق PrinterDrake.\n"
-"يمكن تشغيل PrinterDrake من مركز تحكم Mandrake في قسم العتاد."
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Key isn't writable"
-msgstr "XawTV غير مثبت!"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bangladesh"
-msgstr "بنغلاديش"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (cable)"
-msgstr "اليابان (cable)"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Initial tests"
-msgstr "الإختبارات الأولية"
-#: ../../network/isdn.pm:1
+#: ../../install_steps.pm_.c:450
#, c-format
-msgid "Continue"
-msgstr "تابع"
+msgid "Welcome to %s"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom Restore"
-msgstr "استعادة مخصصة"
+#: ../../install_steps.pm_.c:543 ../../install_steps.pm_.c:769
+msgid "No floppy drive available"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_auto_install.pm_.c:76
+#: ../../install_steps_stdio.pm_.c:22
#, c-format
-msgid "Saturday"
-msgstr "السبت"
+msgid "Entering step `%s'\n"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:146
msgid ""
-"\"%s\": if a sound card is detected on your system, it is displayed here.\n"
-"If you notice the sound card displayed is not the one that is actually\n"
-"present on your system, you can click on the button and choose another\n"
-"driver."
+"Your system is low on resources. You may have some problem installing\n"
+"Mandrake Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
msgstr ""
-"\"%s\": اذا تم اكتشاف بطاقة صوت على نظامك, سيتم عرضها\n"
-"هنا. اذا لاحظت أن بطاقة الصوت المعروضة هنا ليست تلك الموجودة\n"
-"فعلاً على نظامك, يمكنك النقر على الزر و اختيار مشغل\n"
-"آخر."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the root umask."
-msgstr "عين umask الخاص بالمستخدم الجذر"
-
-#: ../../install_any.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "Error reading file %s"
-msgstr "خطأ في قراءة الملف %s"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Script-based"
-msgstr "Script-based"
+#: ../../install_steps_gtk.pm_.c:157 ../../install_steps_interactive.pm_.c:237
+msgid "Install Class"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "PLL setting:"
-msgstr "اعداد PLL:"
+#: ../../install_steps_gtk.pm_.c:160
+msgid "Please choose one of the following classes of installation:"
+msgstr ""
-#: ../../install_interactive.pm:1 ../../install_steps.pm:1
-#, c-format
-msgid "You must have a FAT partition mounted in /boot/efi"
-msgstr "لديك تجزئة FAT تم تحميلها على /boot/efi"
+#: ../../install_steps_gtk.pm_.c:236 ../../install_steps_interactive.pm_.c:683
+msgid "Package Group Selection"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on "
-msgstr " على "
+#: ../../install_steps_gtk.pm_.c:269 ../../install_steps_interactive.pm_.c:698
+msgid "Individual package selection"
+msgstr ""
-#: ../../diskdrake/dav.pm:1
+#: ../../install_steps_gtk.pm_.c:292 ../../install_steps_interactive.pm_.c:621
#, c-format
-msgid "The URL must begin with http:// or https://"
-msgstr "العنوان يجب أن يبدأ بـ http:// أو https://"
+msgid "Total size: %d / %d MB"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can specify directly the URI to access the printer. The URI must fulfill "
-"either the CUPS or the Foomatic specifications. Note that not all URI types "
-"are supported by all the spoolers."
+#: ../../install_steps_gtk.pm_.c:334
+msgid "Bad package"
msgstr ""
-"يمكنك تحديد الـURI مباشرة للوصول الى الطابعة. الـURI يجب أن يتوافق مع "
-"متطلبات CUPS أو Foomatic. لاحط أنه ليست كل أنواع الـURI مدعومة من "
-"الـspoolers."
-#: ../../any.pm:1
+#: ../../install_steps_gtk.pm_.c:335
#, c-format
-msgid "Other OS (SunOS...)"
-msgstr "نظام آخر (SunOS...)"
+msgid "Name: %s\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../install_steps_gtk.pm_.c:336
#, c-format
-msgid "Install/Upgrade"
-msgstr "تثبيت/ترقية"
+msgid "Version: %s\n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
+#: ../../install_steps_gtk.pm_.c:337
#, c-format
-msgid "%d packages"
-msgstr "%d حزم"
+msgid "Size: %d KB\n"
+msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:338
#, c-format
-msgid "Costa Rica"
-msgstr "كوستاريكا"
+msgid "Importance: %s\n"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:360
msgid ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X "
-"users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
+"You can't select this package as there is not enough space left to install it"
msgstr ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X "
-"users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain Authentication Required"
-msgstr "Domain Authentication Required"
+#: ../../install_steps_gtk.pm_.c:365
+msgid "The following packages are going to be installed"
+msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Use libsafe for servers"
-msgstr "إستخدم libsafe للملقمات"
+#: ../../install_steps_gtk.pm_.c:366
+msgid "The following packages are going to be removed"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Icelandic"
-msgstr "الآيسلاندية"
+#: ../../install_steps_gtk.pm_.c:378
+msgid "You can't select/unselect this package"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
+#: ../../install_steps_gtk.pm_.c:390
+msgid "This is a mandatory package, it can't be unselected"
msgstr ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:392
+msgid "You can't unselect this package. It is already installed"
+msgstr ""
+
+#: ../../install_steps_gtk.pm_.c:395
msgid ""
-"Maximum size\n"
-" allowed for Drakbackup (MB)"
+"This package must be upgraded.\n"
+"Are you sure you want to deselect it?"
msgstr ""
-"فضلاً أدخل الحجم الأقصى\n"
-" المسموح به لـDrakbackup (ميغابايت)"
-#: ../../loopback.pm:1
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Circular mounts %s\n"
+#: ../../install_steps_gtk.pm_.c:398
+msgid "You can't unselect this package. It must be upgraded"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo/grub mode"
-msgstr "وضع Lilo/grub"
+#: ../../install_steps_gtk.pm_.c:403
+msgid "Show automatically selected packages"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Martinique"
-msgstr "مارتينيك"
+#: ../../install_steps_gtk.pm_.c:404 ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#: ../../standalone/drakbackup_.c:4211
+msgid "Install"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "HardDrive / NFS"
-msgstr "HardDrive / NFS"
+#: ../../install_steps_gtk.pm_.c:407
+msgid "Load/Save on floppy"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Old user list:\n"
-msgstr "قائمة بالمستخدمين المتقادمين:\n"
+#: ../../install_steps_gtk.pm_.c:408
+msgid "Updating package selection"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Search Backups"
+#: ../../install_steps_gtk.pm_.c:413
+msgid "Minimal install"
msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "a number"
-msgstr "رقم"
+#: ../../install_steps_gtk.pm_.c:428 ../../install_steps_interactive.pm_.c:529
+msgid "Choose the packages you want to install"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swedish"
-msgstr "السويدية"
+#: ../../install_steps_gtk.pm_.c:444 ../../install_steps_interactive.pm_.c:767
+msgid "Installing"
+msgstr ""
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "أي مشغل %s يجب أن استخدمه؟"
+#: ../../install_steps_gtk.pm_.c:450
+msgid "Estimating"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"You will receive an alert if one of the selected services is no longer "
-"running"
-msgstr "سوف تستلم تنبيهاً إذا كانت أحد الخدمات المختارة غير عاملة."
+#: ../../install_steps_gtk.pm_.c:457
+msgid "Time remaining "
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Weekday"
-msgstr "يوم الأسبوع"
+#: ../../install_steps_gtk.pm_.c:469
+msgid "Please wait, preparing installation..."
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../install_steps_gtk.pm_.c:551
#, c-format
-msgid "Filesystem types:"
-msgstr "أنواع أنظمة الملفات:"
+msgid "%d packages"
+msgstr ""
-#: ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:556
#, c-format
-msgid "Northern Mariana Islands"
-msgstr "جزر ماريانا الشمالية"
+msgid "Installing package %s"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on HP JetDirect"
-msgstr ", جهاز متعدد الوظائف على HP JetDirect"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+#: ../../standalone/drakautoinst_.c:197
+msgid "Accept"
+msgstr "قبول"
-#: ../../mouse.pm:1
-#, c-format
-msgid "none"
-msgstr "لا شئ"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+msgid "Refuse"
+msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../install_steps_gtk.pm_.c:594 ../../install_steps_interactive.pm_.c:792
#, c-format
msgid ""
-"Name of the profile to create (the new profile is created as a copy of the "
-"current one) :"
+"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 ""
-"لإسم التشكيل الذي ستعمله (التشكيل الجديد يتم عمله كنسخة من التشكيل الحالي) :"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Floppy"
-msgstr "القرص المرن"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript referencing"
-msgstr "Ghostscript referencing"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Bootloader"
-msgstr "محمّل الإقلاع"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize all services controlled by tcp_wrappers"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_gtk.pm_.c:612
+#: ../../install_steps_interactive.pm_.c:804
+#: ../../install_steps_interactive.pm_.c:808
+msgid "Go on anyway?"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move"
-msgstr "نقل"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Bootloader to use"
-msgstr "محمّل الإقلاع المُستخدم"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server host"
-msgstr "مستضيف خادم SMB"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Name Servers:"
-msgstr "خادمات الإسم:"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_interactive.pm_.c:804
+msgid "There was an error ordering packages:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Minute"
-msgstr "دقيقة"
+#: ../../install_steps_gtk.pm_.c:612 ../../install_steps_interactive.pm_.c:808
+msgid "There was an error installing packages:"
+msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:10
msgid ""
"\n"
"Warning\n"
@@ -6975,5356 +4041,3180 @@ msgid ""
"respective authors and are protected by intellectual property and \n"
"copyright laws applicable to software programs.\n"
msgstr ""
-"\n"
-"تحذير\n"
-"\n"
-"فضلاً اقرأ الشروط أدناه. اذا كنت لا توافق على أي\n"
-"جزء, لن يسمح لك بتثبيت وسيط القرص المدمج التالي. انقر 'رفض' \n"
-"لمتابعة التثبيت بدون هذه الوسائط.\n"
-"\n"
-"\n"
-"بعض المكونات الموجودة في وسيط القرص المدمج التالي غير محكومة\n"
-"بموجب ترخبص GPL أو الاتفاقيات المماثلة. كل مكون من تلك محكوم\n"
-"بموجب بنود و شروط الترخيص الخاص به تحديداً. \n"
-"فضلاً اقرأ باهتمام و أن تستجيب لهذه التراخيص قبل أن \n"
-"تستخدم أو تعيد توزيع هذه المكونات. \n"
-"مثل هذه التراخيص بشكل عام قد تمنع نقل أو نسخ (باستثناء النسخ الاحتياطي)\n"
-"أو اعادة توزيع أو ممارسة الهندسة العكسية أو فك تركيب أو فك تجميع أو تعديل\n"
-"المكون.\n"
-"أي انتهاك للاتفاقية سيتسبب في انهاء حقوقك تحت الترخيص\n"
-"المحدد بشكل فوري. الا اذا كان الترخيص يعطيك مثل هذه الحقوق.\n"
-"عادة لا يسمح لك بتثبيت هذه البرامج على أكثر من نظام واحد\n"
-"أو تعديله لكي يتم استخدامه على شبكة. في حال شكك فضلاً \n"
-"اتصل بشكل مباشر مع موزع أو مؤلف هذا المكون.\n"
-"النقل الى طرف ثالث أو نسخ هذه المكونات بما فيه \n"
-"وثائق المساعدة ممنوع عادةً.\n"
-"\n"
-"\n"
-"جميع الحقوق الخاصة بالمكونات الموجودة في وسيط القرص \n"
-"المدمج التالي مملوكة لأصحابها و محمية بموجب قوانين الملكية \n"
-"الفكرية المنطبقة على البرمجيات.\n"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/_Expert mode"
-msgstr "وضعية الخبير"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
-msgstr "احذف هذه الطابعة من Star Office/OpenOffice.org/GIMP"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
+#: ../../install_steps_interactive.pm_.c:67
+msgid "An error occurred"
msgstr ""
-"Linux Virtual Server, يستخدم لعمل خادم عالي الأداء\n"
-"و يعتمد عليه."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Micronesia"
-msgstr "ميكرونيزيا"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "4 billion colors (32 bits)"
-msgstr "4 بليون لون (32 بت)"
-#: ../../steps.pm:1
-#, c-format
-msgid "License"
-msgstr "الترخيص"
+#: ../../install_steps_interactive.pm_.c:85
+msgid "Do you really want to leave the installation?"
+msgstr "هل تريد فعلا مغادرة التثبيت؟"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to generate the keys."
-msgstr "قد يستغرق هذا بعض الوقت لتوليد المفاتيح."
+#: ../../install_steps_interactive.pm_.c:112
+msgid "License agreement"
+msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:113
msgid ""
-"Here, you can setup the security level and administrator of your machine.\n"
+"Introduction\n"
"\n"
+"The operating system and the different components available in the Mandrake "
+"Linux 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 Mandrake Linux distribution.\n"
"\n"
-"The Security Administrator is the one who will receive security alerts if "
-"the\n"
-"'Security Alerts' option is set. It can be a username or an email.\n"
"\n"
+"1. License Agreement\n"
"\n"
-"The Security Level menu allows you to select one of the six preconfigured "
-"security levels\n"
-"provided with msec. These levels range from poor security and ease of use, "
-"to\n"
-"paranoid config, suitable for very sensitive server applications:\n"
+"Please read this document carefully. 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"
-"<span foreground=\"royalblue3\">Poor</span>: This is a totally unsafe but "
-"very\n"
-"easy to use security level. It should only be used for machines not "
-"connected to\n"
-"any network and that are not accessible to everybody.\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 "
+"occurence of such \n"
+"damages.\n"
"\n"
-"<span foreground=\"royalblue3\">Standard</span>: This is the standard "
-"security\n"
-"recommended for a computer that will be used to connect to the Internet as "
-"a\n"
-"client.\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 Mandrake Linux 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"
-"<span foreground=\"royalblue3\">High</span>: There are already some\n"
-"restrictions, and more automatic checks are run every night.\n"
"\n"
+"3. The GPL License and Related Licenses\n"
"\n"
-"<span foreground=\"royalblue3\">Higher</span>: The security is now high "
-"enough\n"
-"to use the system as a server which can accept connections from many "
-"clients. If\n"
-"your machine is only a client on the Internet, you should choose a lower "
-"level.\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"
-"<span foreground=\"royalblue3\">Paranoid</span>: This is similar to the "
-"previous\n"
-"level, but the system is entirely closed and security features are at their\n"
-"maximum"
+"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\", \"Mandrake Linux\" 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 ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
-msgstr "التحقق الآلي من الطابعات (محلية, TCP/Socket, و SMB)"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using pppoa) usb"
-msgstr "Sagem (using pppoa) usb"
-
-#: ../../install_any.pm:1
-#, c-format
-msgid ""
-"An error occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
+#: ../../install_steps_interactive.pm_.c:197
+msgid "Are you sure you refuse the licence?"
msgstr ""
-"لقد ظهر خطأ - لم يتم ايجاد أجهزة صالحة يمكن انشاء أنظمة ملفات جديدة. تأكد من "
-"العتاد الخاص بك لمعرفة شبب هذه المشكلة"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting the printing system at boot time"
-msgstr "بدء نظام الطباعة عند الإقلاع"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Do you want to start the connection at boot?"
-msgstr "هل تريد بدء الوصلة عند الإقلاع؟"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Processor ID"
-msgstr "هوية المعالج"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound trouble shooting"
-msgstr "حل مشاكل الصوت"
+#: ../../install_steps_interactive.pm_.c:217
+#: ../../install_steps_interactive.pm_.c:995
+#: ../../standalone/keyboarddrake_.c:25
+msgid "Keyboard"
+msgstr "لوحة المفاتيح"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwerty layout)"
-msgstr "البولندية (qwerty layout)"
+#: ../../install_steps_interactive.pm_.c:218
+msgid "Please choose your keyboard layout."
+msgstr "رجاء, اختر لوحة المفاتيح."
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/_Add Printer"
-msgstr "طابعة"
+#: ../../install_steps_interactive.pm_.c:219
+msgid "Here is the full list of keyboards available"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via CD:\n"
-"\n"
+#: ../../install_steps_interactive.pm_.c:237
+msgid "Which installation class do you want?"
msgstr ""
-"\n"
-"نشاطات Drakbackup عن طريق القرص المدمج:\n"
-"\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to install the printing system %s on a system running in the %"
-"s security level.\n"
-"\n"
-"This printing system runs a daemon (background process) which waits for "
-"print jobs and handles them. This daemon is also accessable by remote "
-"machines through the network and so it is a possible point for attacks. "
-"Therefore only a few selected daemons are started by default in this "
-"security level.\n"
-"\n"
-"Do you really want to configure printing on this machine?"
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Install/Update"
msgstr ""
-"أنت على وشك تثبيت نظام الطباعة %s على نظام يعمل على المستوى الأمني %s.\n"
-"نظام الطباعة يشغّل مراقب (عملية خلفية) يقوم بانتظار وظائف الطباعة و يتعامل "
-"معها. هذا المراقب يمكن الوصول اليه عن من قِبل الماكينات البعيدة على الشبكة و "
-"لذا فقد يمكن أن يكون نقطة مبدئية لهجمات المخترقين. لهذا يتم اختيار القليل من "
-"المراقبات لتشغيلها افتراضياً على هذا المستوى الأمني.\n"
-"\n"
-"هل تريد فعلاً تهيئة الطباعة على هذه الماكينة؟"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host \"%s\", port %s"
-msgstr "المستضيف \"%s\", المنفذ %s"
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Is this an install or an update?"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition can't be used for loopback"
-msgstr "هذه التجزئة لا يمكن استخدامها لـloopback"
+#: ../../install_steps_interactive.pm_.c:250
+msgid "Recommended"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File already exists. Use it?"
-msgstr "الملف موجود مسبقا, هل تريد استخدامه؟"
+#: ../../install_steps_interactive.pm_.c:253
+#: ../../install_steps_interactive.pm_.c:256
+msgid "Expert"
+msgstr "Expert"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received: "
-msgstr "مُستقبل: "
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+msgid "Upgrade"
+msgstr "ترقية"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Alt key"
-msgstr "مفتاح Alt الأيمن"
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+msgid "Upgrade packages only"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the list of alternative drivers for this sound card"
-msgstr "قائمة المشغلات البديلة لبطاقة الصوت"
+#: ../../install_steps_interactive.pm_.c:282
+msgid "Please choose the type of your mouse."
+msgstr "رجاء اختر لغة نوع الفأرة."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway"
-msgstr "Gateway"
+#: ../../install_steps_interactive.pm_.c:288 ../../standalone/mousedrake_.c:52
+msgid "Mouse Port"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tonga"
-msgstr "تونجو"
+#: ../../install_steps_interactive.pm_.c:289 ../../standalone/mousedrake_.c:53
+msgid "Please choose on which serial port your mouse is connected to."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tunisia"
-msgstr "تونس"
+#: ../../install_steps_interactive.pm_.c:297
+msgid "Buttons emulation"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing"
-msgstr "مشاركة الماسحات الضوئية"
+#: ../../install_steps_interactive.pm_.c:299
+msgid "Button 2 Emulation"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile: "
-msgstr "التشكيل:"
+#: ../../install_steps_interactive.pm_.c:300
+msgid "Button 3 Emulation"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Click on a device in the left tree in order to display its information here."
-msgstr "انقر على جهاز في السلسلة اليسرى لعرض معلوماته هنا."
+#: ../../install_steps_interactive.pm_.c:321
+msgid "Configuring PCMCIA cards..."
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid autologin."
-msgstr "اسمح/امنع الدخول التلقائي"
+#: ../../install_steps_interactive.pm_.c:321
+msgid "PCMCIA"
+msgstr "PCMCIA"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "XawTV isn't installed!"
-msgstr "XawTV غير مثبت!"
+#: ../../install_steps_interactive.pm_.c:328
+msgid "Configuring IDE"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include critical files (passwd, group, fstab)"
-msgstr "لا تُضمّن الملفات المهمة (passws, group,fstab)"
+#: ../../install_steps_interactive.pm_.c:328
+msgid "IDE"
+msgstr "IDE"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "old static device name used in dev package"
-msgstr "اسم الجهاز القديم الساكن المستخدم في حزمة dev"
+#: ../../install_steps_interactive.pm_.c:345
+msgid "No partition available"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable the logging of IPv4 strange packets"
-msgstr "تمكين تسجيل حزم IPv4 الغريبة"
+#: ../../install_steps_interactive.pm_.c:348
+msgid "Scanning partitions to find mount points"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "This label is already used"
-msgstr "هذه العلامة مستخدمة مسبقا"
+#: ../../install_steps_interactive.pm_.c:356
+msgid "Choose the mount points"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:386
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer or connected directly to the network.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected. Also "
-"your network printer(s) must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network printers when you don't need it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
msgstr ""
-"\n"
-"أهلاً بكم في معالج اعداد الطابعات\n"
-"هذا المعالج سيساعدك على تثبيت الطابعة/الطابعات الموصولة بهذا الكمبيوتر أو "
-"الموصولة مباشرةً بالشبكة.\n"
-"\n"
-"اذا كانت لديك طابعة/طابعات موصولة بهذه الماكينة, فضلاً قم بتوصيلها الى هذا "
-"الكمبيوتر و قم بتشغيلها كي يتم التحقق منها/منهم آلياً. أيضاً يجب أن تكون طابعة/"
-"طابعات الشبكة موصولة و مشغّلة.\n"
-"\n"
-"لاحظ أن التحقق الآلي من الطابعات على الشبكة قد يستغرق وقتاً أطول من التحقق "
-"الآلي من الطابعات الموصولة بهذه الماكينة فقط. لذا قم بتعطيل التحقق الآلي من "
-"طابعات الشبكة اذا لم تكن تحتاج الى هذه الميزة.\n"
-"\n"
-" انقر \"التالي\" عندما تكون مستعداً, و على \"الغاء\" اذا لم تكن تريد اعداد "
-"الطابعة/الطابعات الآن."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek (polytonic)"
+#: ../../install_steps_interactive.pm_.c:395
+msgid "No root partition found to perform an upgrade"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "بعد تهيئة التقسيم %s, فإن كل البيانات الموجودة على التجزئة ستفقد"
+#: ../../install_steps_interactive.pm_.c:396
+msgid "Root Partition"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection Time: "
-msgstr "وقت الإتصال:"
+#: ../../install_steps_interactive.pm_.c:397
+msgid "What is the root partition (/) of your system?"
+msgstr ""
-#: ../../standalone/livedrake:1
-#, c-format
-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."
+#: ../../install_steps_interactive.pm_.c:411
+msgid "You need to reboot for the partition table modifications to take place"
msgstr ""
-"فضلا أدخل قرص التثبيت في سواقتك و اضغط موافق عندما تنتهي.\n"
-"إذا لم يكن قرص التثبيت لديك اضغط الغاء للإمتناع عن التحديث الحي."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use group id for execution"
-msgstr "استخدم group id للتنفيذ"
+#: ../../install_steps_interactive.pm_.c:435
+msgid "Choose the partitions you want to format"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the default user:"
-msgstr "اختر المستخدم الافتراضي:"
+#: ../../install_steps_interactive.pm_.c:436
+msgid "Check bad blocks?"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Gabon"
-msgstr "الغابون"
+#: ../../install_steps_interactive.pm_.c:463
+msgid "Formatting partitions"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:465
#, c-format
-msgid ""
-"\n"
-"Printers on remote CUPS servers do not need to be configured here; these "
-"printers will be automatically detected."
+msgid "Creating and formatting file %s"
msgstr ""
-"\n"
-"لا تحتاج الى تهيئة الطابعات على خادمات CUPS البعيدة; هذه الكابعات يمكن "
-"اكتشلفها آلياً."
-#: ../../any.pm:1
+#: ../../install_steps_interactive.pm_.c:470
#, c-format
msgid ""
-"Mandrake Linux can support multiple languages. Select\n"
-"the languages you would like to install. They will be available\n"
-"when your installation is complete and you restart your system."
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can loose data)"
msgstr ""
-"يدعم Mandrake Linux العديد من اللغات. اختر\n"
-"اللغات التي تريد تثبيتها. ستكون هذه متوفرةً عند\n"
-"اكتمال التثبيت و اعداة تشغيل النظام."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Directory (or module) to put the backup on this host."
+#: ../../install_steps_interactive.pm_.c:472
+msgid "Not enough swap space to fulfill installation, please add some"
msgstr ""
-"فضلاً أدخل الدليل (أو الوحدة) التي سيتم فيها وضع النسخة الإحتياطية على هذا "
-"المستضيف."
-
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain"
-msgstr "النطاق"
-#: ../../any.pm:1
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "حجم الذاكرة الدقيق عند الحاجة )تم ايجاد %d ميغابايت("
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
-"automated. DrakX will analyze the disk boot sector and act according to\n"
-"what it finds there:\n"
-"\n"
-" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
-"boot sector. This way you will be able to load either GNU/Linux or another\n"
-"OS.\n"
-"\n"
-" * if a grub or LILO boot sector is found, it will replace it with a new\n"
-"one.\n"
-"\n"
-"If it cannot make a determination, DrakX will ask you where to place the\n"
-"bootloader."
+#: ../../install_steps_interactive.pm_.c:479
+msgid "Looking for available packages and rebuilding rpm database..."
msgstr ""
-"محمّلات اقلاع Linux هي LILO و grub. في العادة, هذه المرحلة\n"
-"آلية بالكامل. سيقوم DrakX بتحيل قطاع التحميل الخاص بالقرص\n"
-"و سيتصرف على حسب ما يجد هناك:\n"
-"\n"
-" * اذا تم ايجاد قطاع تحميل Windows فسيقوم برنامج التثبيت\n"
-"بتبديله بقطاع تحميل LILO/grub. بهذه الطريقة ستستطيع تحميل Linux أو\n"
-"أي نظام تشغيل آخر.\n"
-"\n"
-" * اذا تم ايجاد قطع تحميل LILO أو grub, سيتم ابداله بقطاع\n"
-"جديد.\n"
-"\n"
-"اذا لم يمكن التقرير فسيسألك DrakX عن المكان الذي تريد\n"
-"وضع محمّل الإقلاع فيه."
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 2 (optional)"
-msgstr "DNS الثاني للموفر (اختياري)"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Boot device"
-msgstr "جهاز الإقلاع"
+#: ../../install_steps_interactive.pm_.c:480
+msgid "Looking for available packages..."
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to resize?"
-msgstr "أي تجزئة تريد تغيير حجمها؟"
+#: ../../install_steps_interactive.pm_.c:483
+#, fuzzy
+msgid "Looking at packages already installed..."
+msgstr "اختر الحزم التي ستُثبَّت"
-#: ../../lang.pm:1
-#, c-format
-msgid "United States Minor Outlying Islands"
-msgstr "جزر الولايات المتحدة"
+#: ../../install_steps_interactive.pm_.c:487
+msgid "Finding packages to upgrade..."
+msgstr ""
-#: ../../lang.pm:1
+#: ../../install_steps_interactive.pm_.c:505
#, c-format
-msgid "Djibouti"
-msgstr "جيبوتي"
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%d "
+"> %d)"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "A tool to monitor your logs"
-msgstr "أداة لمراقبة سجلات نظامك"
+#: ../../install_steps_interactive.pm_.c:541
+msgid ""
+"Please choose load or save package selection on floppy.\n"
+"The format is the same as auto_install generated floppies."
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected on port %s"
-msgstr "تم اكتشافه على المنفذ %s"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Load from floppy"
+msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD"
-msgstr "LPD"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Save on floppy"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics card: %s\n"
-msgstr "بطاقة الشاشة: %s\n"
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Loading from floppy"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/Set as _Default"
-msgstr " (افتراضي)"
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Package selection"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept icmp echo"
+#: ../../install_steps_interactive.pm_.c:552
+msgid "Insert a floppy containing package selection"
msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Yaboot"
-msgstr "Yaboot"
+#: ../../install_steps_interactive.pm_.c:634
+msgid "Selected size is larger than available space"
+msgstr ""
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Logitech CC Series with Wheel emulation"
-msgstr "Logitech CC Series"
+#: ../../install_steps_interactive.pm_.c:649
+msgid "Type of install"
+msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Extended partition not supported on this platform"
-msgstr "التجزئات الممتدة غير مدعومة على هذه البيئة"
+#: ../../install_steps_interactive.pm_.c:650
+msgid ""
+"You haven't selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Splash selection"
-msgstr "اختيار الشاشات"
+#: ../../install_steps_interactive.pm_.c:653
+msgid "With X"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISDN Configuration"
-msgstr "تهيئة ISDN"
+#: ../../install_steps_interactive.pm_.c:655
+msgid "With basic documentation (recommended!)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "high"
-msgstr "مرتفع"
+#: ../../install_steps_interactive.pm_.c:656
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing"
-msgstr "مشاركة الإتصال بالإنترنت"
+#: ../../install_steps_interactive.pm_.c:741
+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 ""
-#: ../../standalone/logdrake:1
+#: ../../install_steps_interactive.pm_.c:746
#, c-format
-msgid "Choose file"
-msgstr "احتيار ملف"
+msgid "Cd-Rom labeled \"%s\""
+msgstr ""
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Summary: "
-msgstr "ملخص"
+#: ../../install_steps_interactive.pm_.c:767
+msgid "Preparing installation"
+msgstr ""
-#: ../../network/shorewall.pm:1
+#: ../../install_steps_interactive.pm_.c:776
#, c-format
msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fixes after installation."
+"Installing package %s\n"
+"%d%%"
msgstr ""
-"تحذير! تم إيجاد إعداد جدار ناري موجود مسبقا. ربما تحتاج الى اصلاح يدوي بعد "
-"التثبيت."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Photo Card Access on \"%s\""
-msgstr "Printing/Photo Card Access on \"%s\""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Daily security check"
+#: ../../install_steps_interactive.pm_.c:822
+msgid "Post-install configuration"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:828
#, c-format
-msgid ""
-"Do you want to enable printing on the printers mentioned above or on "
-"printers in the local network?\n"
+msgid "Please insert the Boot floppy used in drive %s"
msgstr ""
-"هل تريد تمكين الطباعة على الطابعات المذكورة أعلاه أم على الطابعات في الشبكة "
-"المحلية؟\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:834
#, c-format
-msgid "Printer default settings"
-msgstr "اعدادات الطابعة الإفتراضية"
+msgid "Please insert the Update Modules floppy in drive %s"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Generic PS2 Wheel Mouse"
+#: ../../install_steps_interactive.pm_.c:861
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been released after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates ?"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:876
msgid ""
-"the WP flag in the CR0 register of the cpu enforce write proctection at the "
-"memory page level, thus enabling the processor to prevent unchecked kernel "
-"accesses to user memory (aka this is a bug guard)"
+"Contacting Mandrake Linux web site to get the list of available mirrors..."
msgstr ""
-"the WP flag in the CR0 register of the cpu enforce write proctection at the "
-"memory page level, thus enabling the processor to prevent unchecked kernel "
-"accesses to user memory (aka this is a bug guard)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing old printer \"%s\"..."
-msgstr "جاري ازالة الطابعة القديمة \"%s\" ..."
+#: ../../install_steps_interactive.pm_.c:881
+msgid "Choose a mirror from which to get the packages"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Select a device !"
-msgstr "اختر جهازاً!"
+#: ../../install_steps_interactive.pm_.c:890
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected server"
-msgstr "احذف الخادم المختار"
+#: ../../install_steps_interactive.pm_.c:918
+msgid "Which is your timezone?"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using dhcp) usb"
-msgstr "Sagem (using dhcp) usb"
+#: ../../install_steps_interactive.pm_.c:923
+msgid "Hardware clock set to GMT"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "French Southern Territories"
-msgstr "مناطق جنوب فرنسا"
+#: ../../install_steps_interactive.pm_.c:924
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the processor"
-msgstr "اسم مصنّع المعالج"
+#: ../../install_steps_interactive.pm_.c:931
+msgid "NTP Server"
+msgstr "خادم NTP"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain %s:\n"
-" \tFor users to be able to log into the system from a diskless "
-"client, their entry in\n"
-" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n"
-" \thelps in this respect by adding or removing system users from this "
-"file."
+#: ../../install_steps_interactive.pm_.c:965
+#: ../../install_steps_interactive.pm_.c:972
+msgid "Remote CUPS server"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All data on this partition should be backed-up"
-msgstr "كل البيانات على هذه التجزئة يجب حفظها احتياطيا"
+#: ../../install_steps_interactive.pm_.c:966
+msgid "No printer"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Installing package %s"
-msgstr "جاري تثبيت الحزمة %s"
+#: ../../install_steps_interactive.pm_.c:982
+msgid "Do you have an ISA sound card?"
+msgstr "بطاقة الصّوت ISA هل عندك عند"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking device and configuring HPOJ..."
-msgstr "جاري التأكد من الجهاز و تهيئة HPOJ..."
+#: ../../install_steps_interactive.pm_.c:984
+msgid "Run \"sndconfig\" after installation to configure your sound card"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr "لكي تمتلك تجزئات أكثر, يرجى الغاء تجزئة كي تتمكن من عمل تجزئة ممتدة"
+#: ../../install_steps_interactive.pm_.c:986
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Your printer was configured automatically to give you access to the photo "
-"card drives from your PC. Now you can access your photo cards using the "
-"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
-"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
-"\"man mtools\" on the command line for more info). You find the card's file "
-"system under the drive letter \"p:\", or subsequent drive letters when you "
-"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
-"can switch between drive letters with the field at the upper-right corners "
-"of the file lists."
+#: ../../install_steps_interactive.pm_.c:991 ../../steps.pm_.c:27
+msgid "Summary"
msgstr ""
-"تم تهيئة الطابعة آلياً لكي تعطيك القدرة على الوصول الى سواقات بطاقات الصور "
-"على جهازك الشخصي. يمكنك الآن الوصول الى بطاقات الصور باستخدام البرنامج "
-"الرسومي \"MToolsFM\" (القائمة: \"تطبيقات\" -> \"أدوات الملفات\" -> \"مدير "
-"ملفات MTools\") أو باستخدام أدوات \"mtools\" في سطر الأوامر (أدخل \"man "
-"mtools\" في سطر الأوامر لمزيد من المعلومات). يمكنك ايجاد نظام ملفات البطاقة "
-"تحت حرف السواقة \"p:\", أو حروف السواقات الأخرى اذا كانت لديك أكثر من طابعة "
-"HP مع سواقات بطاقات صور. في \"MToolsFM\" يمكنك التحويل بين حروف السواقات على "
-"الحقل الموجود في الركن الأيسر الى الأعلى في قوائم الملفات."
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose packages to install"
-msgstr "اختر الحزم التي ستُثبَّت"
+#: ../../install_steps_interactive.pm_.c:994
+msgid "Mouse"
+msgstr "الفأرة"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "كل التجزئات و بياناتها ستضيع من على السواقة %s"
+#: ../../install_steps_interactive.pm_.c:996
+msgid "Timezone"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Your system does not have enough space left for installation or upgrade (%d "
-"> %d)"
-msgstr "لا يوجد في نظامك مساحة متبقة تكفي للتثبيت أو الترقية (%d > %d)"
+#: ../../install_steps_interactive.pm_.c:997
+#: ../../printer/printerdrake.pm_.c:2759 ../../printer/printerdrake.pm_.c:2844
+msgid "Printer"
+msgstr "طابعة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Every printer needs a name (for example \"printer\"). The Description and "
-"Location fields do not need to be filled in. They are comments for the users."
+#: ../../install_steps_interactive.pm_.c:999
+msgid "ISDN card"
msgstr ""
-"كل طابعة تحتاج الى اسم (مثال \"printer\"). حقول الوصف و المكان ليس من "
-"الضروري ملؤها. انها مجرد ملاحظات للمستخدمين."
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
-"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
-"information on how to setup a new printer. The interface presented there is\n"
-"similar to the one used during installation."
+#: ../../install_steps_interactive.pm_.c:1003
+#: ../../install_steps_interactive.pm_.c:1009
+msgid "Sound card"
msgstr ""
-"\"%s\": النقر على \"%s\" سيفتح معالج تهيئة\n"
-"الطابعة. اقرأ الفضل المختص في ``دليل المبتدئ''\n"
-"لكزيد من المعلومات عن كيفية اعداد طابعة جديدة. الواجهة\n"
-"هناك مماثلة لتلك المستخدمة أثناء التثبيت."
-#: ../../lang.pm:1
-#, c-format
-msgid "Bhutan"
-msgstr "بوتان"
+#: ../../install_steps_interactive.pm_.c:1012
+msgid "TV card"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface"
-msgstr "واجهة الشبكة "
+#: ../../install_steps_interactive.pm_.c:1055
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1084
+msgid "LDAP"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet failed."
-msgstr "فشل قطع الإتصال بالإنترنت"
+#: ../../install_steps_interactive.pm_.c:1056
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1093
+msgid "NIS"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer data..."
-msgstr "جاري قراءة بيانات الطابعة..."
+#: ../../install_steps_interactive.pm_.c:1057
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1101
+#: ../../install_steps_interactive.pm_.c:1107
+#, fuzzy
+msgid "Windows Domain"
+msgstr "احصل على خطوط Windows"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Korean keyboard"
-msgstr "لوحة المفاتيح الكورية"
+#: ../../install_steps_interactive.pm_.c:1058
+#: ../../install_steps_interactive.pm_.c:1080
+msgid "Local files"
+msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Not connected"
-msgstr "غير متصل"
+#: ../../install_steps_interactive.pm_.c:1067
+#: ../../install_steps_interactive.pm_.c:1068 ../../steps.pm_.c:24
+msgid "Set root password"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "No internet connection configured"
-msgstr "إعدادات الإتصال بالإنترنت"
+#: ../../install_steps_interactive.pm_.c:1069
+msgid "No password"
+msgstr ""
-#: ../../keyboard.pm:1
+#: ../../install_steps_interactive.pm_.c:1074
#, c-format
-msgid "Greek"
-msgstr "اليونانية"
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Kitts and Nevis"
-msgstr "سانت كيتس و نيفيس"
+#: ../../install_steps_interactive.pm_.c:1080 ../../network/modem.pm_.c:72
+#: ../../standalone/drakconnect_.c:623 ../../standalone/logdrake_.c:144
+msgid "Authentication"
+msgstr "التحقق"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Generic 3 Button Mouse with Wheel emulation"
-msgstr "Generic 3 Button Mouse"
+#: ../../install_steps_interactive.pm_.c:1088
+msgid "Authentication LDAP"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Enable OF Boot?"
-msgstr "تمكين اقلاع OF؟"
+#: ../../install_steps_interactive.pm_.c:1089
+msgid "LDAP Base dn"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use JFS for partitions smaller than 16MB"
-msgstr "لا يمكنك استخدام JFS للتجزئات أصغر من 16 ميغابايت"
+#: ../../install_steps_interactive.pm_.c:1090
+msgid "LDAP Server"
+msgstr "خادم LDAP"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase your RW media (1st Session)"
-msgstr "امسح الوسيط القابل لإعادة الكتابة (الجلسة الأولى)"
+#: ../../install_steps_interactive.pm_.c:1096
+msgid "Authentication NIS"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "انعاش الشاشة الرأسي: %s\n"
+#: ../../install_steps_interactive.pm_.c:1097
+msgid "NIS Domain"
+msgstr "NIS Domain"
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount point"
-msgstr "نقطة التحميل"
+#: ../../install_steps_interactive.pm_.c:1098
+msgid "NIS Server"
+msgstr " الخادم NIS"
-#: ../../Xconfig/test.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1104
msgid ""
-"An error occurred:\n"
-"%s\n"
-"Try to change some parameters"
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
msgstr ""
-"ظهر خطأ:\n"
-"%s\n"
-"حاول تغيير بعض المعاملات"
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "TCP/IP host \"%s\", port %s"
-msgstr ", مستضيف TCP/IP \"%s\", المنفذ \"%s\""
+#: ../../install_steps_interactive.pm_.c:1106
+#, fuzzy
+msgid "Authentication Windows Domain"
+msgstr "التحقق"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "User :"
-msgstr "المستخدم :"
+#: ../../install_steps_interactive.pm_.c:1108
+#, fuzzy
+msgid "Domain Admin User Name"
+msgstr "Domain name"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore system"
-msgstr "استعد النّظام"
+#: ../../install_steps_interactive.pm_.c:1109
+msgid "Domain Admin Password"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1144
msgid ""
-"These are the machines on which the locally connected scanner(s) should be "
-"available:"
-msgstr "توحد ماكينات يجب أن تكون الماسحات الضوئية الموصولة محلياً متوفرة لها:"
+"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 ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP end ip"
-msgstr "DHCP end ip"
+#: ../../install_steps_interactive.pm_.c:1160
+msgid "First floppy drive"
+msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Another one"
-msgstr "آخر"
+#: ../../install_steps_interactive.pm_.c:1161
+msgid "Second floppy drive"
+msgstr "المدخل المرن الثّاني"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup"
-msgstr "Drakbackup"
+#: ../../install_steps_interactive.pm_.c:1162
+#: ../../printer/printerdrake.pm_.c:2397
+msgid "Skip"
+msgstr "تخطي"
-#: ../../lang.pm:1
+#: ../../install_steps_interactive.pm_.c:1167
#, c-format
-msgid "Colombia"
-msgstr "كولومبيا"
+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?\n"
+"%s"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1173
msgid ""
-"Current configuration of `%s':\n"
"\n"
-"Network: %s\n"
-"IP address: %s\n"
-"IP attribution: %s\n"
-"Driver: %s"
-msgstr ""
-"الإعداد الحالي لـ`%s':\n"
"\n"
-"الشبكة: %s\n"
-"عنوان الـIP: %s\n"
-"صفة الـIP: %s\n"
-"المشغل: %s"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play"
-msgstr "Plug'n Play"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Reunion"
-msgstr "ريونيون"
+"(WARNING! You're using XFS for your root partition,\n"
+"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
+"because XFS needs a very large driver)."
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Details"
-msgstr "تفاصيل"
+#: ../../install_steps_interactive.pm_.c:1181
+msgid "Sorry, no floppy drive available"
+msgstr "آسف , لا مدخل مرن متاح"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "For security reasons, it will be disconnected now."
-msgstr "لأسباب أمنية, سيتم قطع الإتصال الآن."
+#: ../../install_steps_interactive.pm_.c:1185
+msgid "Choose the floppy drive you want to use to make the bootdisk"
+msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../install_steps_interactive.pm_.c:1189
#, c-format
-msgid "Synchronization tool"
-msgstr "DrakSync"
+msgid "Insert a floppy in %s"
+msgstr "أدخل قرص مرن بالدّاخل %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking your system..."
-msgstr "جاري التأكد من نظامك..."
+#: ../../install_steps_interactive.pm_.c:1192
+msgid "Creating bootdisk..."
+msgstr " إنشاء قرص الا قلا ع "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print"
-msgstr "إطبع"
+#: ../../install_steps_interactive.pm_.c:1199
+msgid "Preparing bootloader..."
+msgstr " bootloader إعداد "
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1210
msgid ""
-"Insert the tape with volume label %s\n"
-" in the tape drive device %s"
+"You appear to have an OldWorld or Unknown\n"
+" machine, the yaboot bootloader will not work for you.\n"
+"The install will continue, but you'll\n"
+" need to use BootX to boot your machine"
msgstr ""
-"أدخل الشريط بالعلامة %s\n"
-" في جهاز الشريط %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mongolia"
-msgstr "منغوليا"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mounted\n"
-msgstr "محمل\n"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configure CUPS"
-msgstr "تهيئة X"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Interface"
-msgstr "الواجهة الرسومية"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Users"
-msgstr "أعد المستخدمين "
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Encryption key for %s"
-msgstr "مفتاح التشفير لـ %s"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Do you want to recover your system?"
-msgstr "هل تريد استخدام aboot؟"
+#: ../../install_steps_interactive.pm_.c:1216
+msgid "Do you want to use aboot?"
+msgstr " aboot هل تريد أن تستخدم "
-#: ../../services.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1219
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."
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
msgstr ""
-"يقوم portmapper بإدارة اتصالات RPC, و التي تستخدم عن طريق\n"
-"بروتوكولات مثل NFS و NIS. خادم portmap من اللازم أن يعمل على الأجهزة\n"
-"التي تعمل كخادمات تستخدم البروتوكولات التي تستفيد من آلية عمل RPC."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detected hardware"
-msgstr "العتاد المُكتشف"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritius"
-msgstr "موريشيوس"
+#: ../../install_steps_interactive.pm_.c:1226
+msgid "Installing bootloader"
+msgstr "bootloader التّركيب "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Myanmar (Burmese)"
-msgstr "ميانمار (البورمية)"
+#: ../../install_steps_interactive.pm_.c:1232
+msgid "Installation of bootloader failed. The following error occured:"
+msgstr ""
-#: ../../fs.pm:1
+#: ../../install_steps_interactive.pm_.c:1240
#, c-format
-msgid "Enabling swap partition %s"
-msgstr "جاري تمكين تجزئة التبديل %s"
+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 %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
-#: ../../install_interactive.pm:1
+#: ../../install_steps_interactive.pm_.c:1274
+#: ../../standalone/drakautoinst_.c:76
#, c-format
-msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgid "Insert a blank floppy in drive %s"
msgstr ""
-"لا توجد تجزئة FAT لاستخدامها كـ loopback (أو لا توجد مساحة كافية متبقية)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (old)"
-msgstr "الأرمينية (قديم)"
+#: ../../install_steps_interactive.pm_.c:1278
+msgid "Creating auto install floppy..."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1289
msgid ""
-"A printer named \"%s\" already exists under %s. \n"
-"Click \"Transfer\" to overwrite it.\n"
-"You can also type a new name or skip this printer."
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
msgstr ""
-"الطابعة المسماة \"%s\" موجودة مسبقا تحت %s. \n"
-"انقر \"انقل\" للكتابة فوقه.\n"
-"يمكنك كذلك كتابة اسم جديد أو تحطي هذه الطابعة."
-#: ../advertising/12-mdkexpert.pl:1
+#: ../../install_steps_interactive.pm_.c:1300
#, c-format
msgid ""
-"Find the solutions of your problems via MandrakeSoft's online support "
-"platform."
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press return to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandrake "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandrake Linux User's Guide."
msgstr ""
-"اعثر على حلول لمشاكلك باستخدام بيئة الدعم الفني على الإنترنت في MandrakeSoft"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", host \"%s\", port %s"
-msgstr ", المستضيف \"%s\", المنفذ %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Monaco"
-msgstr "موناكو"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "فشلت التجزئة: %s"
-#: ../../fs.pm:1 ../../swap.pm:1
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s تجهيز %s قد فشل"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Canada (cable)"
-msgstr "كندة (cable)"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Floppy creation completed"
-msgstr "اكتمل انشاء القرص المرن"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Upgrade"
-msgstr "ترقية"
+#: ../../install_steps_interactive.pm_.c:1313
+#, fuzzy
+msgid "http://www.mandrakelinux.com/en/90errata.php3"
+msgstr "http://www.mandrakesoft.com/sales/contact"
-#: ../../help.pm:1
-#, c-format
-msgid "Workstation"
-msgstr "محطة عمل"
+#: ../../install_steps_interactive.pm_.c:1318
+msgid "Generate auto install floppy"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1320
msgid ""
-"Installing package %s\n"
-"%d%%"
+"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 ""
-"جاري تثبيت الحزمة %s\n"
-"%d%%"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kyrgyzstan"
-msgstr "قيرغيزستان"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Multi-function device on USB"
-msgstr ", جهاز متعدد الوظائف على منفذ USB"
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Automated"
+msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid ""
-"We didn't detect any USB key on your system. If you\n"
-"plug in an USB key now, Mandrake Move will have the ability\n"
-"to transparently save the data in your home directory and\n"
-"system wide configuration, for next boot on this computer\n"
-"or another one. Note: if you plug in a key now, wait several\n"
-"seconds before detecting again.\n"
-"\n"
-"\n"
-"You may also proceed without an USB key - you'll still be\n"
-"able to use Mandrake Move as a normal live Mandrake\n"
-"Operating System."
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Replay"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "With basic documentation"
-msgstr "مع وثائق المساعدة الأساسية"
+#: ../../install_steps_interactive.pm_.c:1328
+msgid "Save packages selection"
+msgstr ""
-#: ../../services.pm:1
+#: ../../install_steps_newt.pm_.c:20
#, c-format
-msgid "Anacron is a periodic command scheduler."
-msgstr "Anacron أداة لتشغيل الأوامر في أوقات محددة."
+msgid "Mandrake Linux Installation %s"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
+#. -PO This string must fit in a 80-char wide text screen
+#: ../../install_steps_newt.pm_.c:33
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 `/'"
+" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
msgstr ""
-"يجب أن تكون لديك تجزئة جذرية.\n"
-"لهذا الغرض انشئ تجزئة (أو انقر على تجزئة موجودة).\n"
-"ثم اختر ``نقطة التحميل'' و اجعلها `/'"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Western Sahara"
-msgstr "الصحراء الغربية"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxy should be http://..."
-msgstr "البروكسي يجب أن يكون http://..."
+#: ../../interactive.pm_.c:87
+msgid "kdesu missing"
+msgstr "kdesu missing"
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "South Africa"
-msgstr "جنوب أفريقيا "
+#: ../../interactive.pm_.c:89 ../../interactive.pm_.c:100
+msgid "consolehelper missing"
+msgstr "consolehelper missing"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Eject tape after the backup"
-msgstr "أخرج الشريط بعد النسخ الاحتياطي"
+#: ../../interactive.pm_.c:152
+msgid "Choose a file"
+msgstr "إختر ملف"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot Floppy/ISO"
-msgstr "Etherboot Floppy/ISO"
+#: ../../interactive.pm_.c:318
+msgid "Advanced"
+msgstr "متقدم"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Modify printer configuration"
-msgstr "تعديل اعدادات الطابعة"
+#: ../../interactive.pm_.c:319 ../../security/main.pm_.c:117
+msgid "Basic"
+msgstr "Basic"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose a partition"
-msgstr "إختر تجزئة"
+#: ../../interactive/newt.pm_.c:194 ../../my_gtk.pm_.c:158
+#: ../../printer/printerdrake.pm_.c:2055 ../../ugtk2.pm_.c:434
+msgid "<- Previous"
+msgstr "<-سابق "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Edit current rule"
-msgstr "حرّر القاعدة الحالية"
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../standalone/drakbackup_.c:4060 ../../standalone/drakbackup_.c:4087
+#: ../../standalone/drakbackup_.c:4117 ../../standalone/drakbackup_.c:4143
+msgid "Next"
+msgstr "التالي"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s"
-msgstr "%s"
+#: ../../interactive/stdio.pm_.c:29 ../../interactive/stdio.pm_.c:149
+msgid "Bad choice, try again\n"
+msgstr ""
-#: ../../mouse.pm:1
+#: ../../interactive/stdio.pm_.c:30 ../../interactive/stdio.pm_.c:150
#, c-format
-msgid "Please test the mouse"
-msgstr "من فضلك اختبر الفأرة"
+msgid "Your choice? (default %s) "
+msgstr "اختيارك ? (default %s) "
-#: ../../fs.pm:1
+#: ../../interactive/stdio.pm_.c:54
#, c-format
msgid ""
-"Do not update inode access times on this file system\n"
-"(e.g, for faster access on the news spool to speed up news servers)."
+"Entries you'll have to fill:\n"
+"%s"
msgstr ""
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "3 buttons with Wheel emulation"
-msgstr "محاكاة الأزرار"
-
-#: ../../standalone/drakperm:1
+#: ../../interactive/stdio.pm_.c:70
#, c-format
-msgid "Sticky-bit"
-msgstr "Sticky-bit"
+msgid "Your choice? (0/1, default `%s') "
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../interactive/stdio.pm_.c:95
#, c-format
-msgid "Other Media"
-msgstr "وسيط آخر"
+msgid "Button `%s': %s"
+msgstr "Button `%s': %s"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
+#: ../../interactive/stdio.pm_.c:96
+msgid "Do you want to click on this button?"
+msgstr "هل تريد الضغط على هذا الزر؟ "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files"
-msgstr "انسخ ملفات النظام"
+#: ../../interactive/stdio.pm_.c:105
+msgid " enter `void' for void entry"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../interactive/stdio.pm_.c:105
#, c-format
-msgid "Sector"
-msgstr "القطاع"
+msgid "Your choice? (default `%s'%s) "
+msgstr "اختيارك ? (default `%s'%s) "
-#: ../../lang.pm:1
+#: ../../interactive/stdio.pm_.c:123
#, c-format
-msgid "Qatar"
-msgstr "قطر"
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Base dn"
-msgstr "LDAP Base dn"
+#: ../../interactive/stdio.pm_.c:126
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
-#: ../../install_steps_gtk.pm:1
+#: ../../interactive/stdio.pm_.c:139
#, c-format
msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr "لا يمكنك اختيار هذه الحزمة لأنه لا يوجد مساحة كافية متبقية لتثبيتها"
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "generate auto-install floppy"
-msgstr "انشئ قرص تثبيت آلي"
+#: ../../interactive/stdio.pm_.c:146
+msgid "Re-submit"
+msgstr "إعادة تسليم"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Dialing mode"
-msgstr "وضعية الإتصال"
+#: ../../keyboard.pm_.c:153 ../../keyboard.pm_.c:188
+msgid "Czech (QWERTZ)"
+msgstr "التشيكية (QWERTZ)"
-#: ../../services.pm:1
-#, c-format
-msgid "File sharing"
-msgstr "مشاركة الملفات"
+#: ../../keyboard.pm_.c:154 ../../keyboard.pm_.c:190
+msgid "German"
+msgstr "الألمانية"
-#: ../../any.pm:1
-#, c-format
-msgid "Clean /tmp at each boot"
-msgstr "قم بتنظيف /tmp عند كل إقلاع"
+#: ../../keyboard.pm_.c:155
+msgid "Dvorak"
+msgstr "Dvorak"
-#: ../../lang.pm:1
-#, c-format
-msgid "Malawi"
-msgstr "مالاوي"
+#: ../../keyboard.pm_.c:156 ../../keyboard.pm_.c:198
+msgid "Spanish"
+msgstr "الإسبانية"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: false"
-msgstr "local config: false"
+#: ../../keyboard.pm_.c:157 ../../keyboard.pm_.c:199
+msgid "Finnish"
+msgstr "الفنلندية"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "System settings"
-msgstr "اعدادات مخصصة"
+#: ../../keyboard.pm_.c:158 ../../keyboard.pm_.c:200
+msgid "French"
+msgstr "الفرنسية"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your type of mouse."
-msgstr "فضلاً اختر نوع الفأرة."
+#: ../../keyboard.pm_.c:159 ../../keyboard.pm_.c:233
+msgid "Norwegian"
+msgstr "النرويجية"
-#: ../../services.pm:1
-#, c-format
-msgid "running"
-msgstr "تعمل"
+#: ../../keyboard.pm_.c:160
+msgid "Polish"
+msgstr "البولندية"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "class of hardware device"
-msgstr "فئة جهاز العتاد"
+#: ../../keyboard.pm_.c:161 ../../keyboard.pm_.c:241
+msgid "Russian"
+msgstr "الروسية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"These are the machines and networks on which the locally connected printer"
-"(s) should be available:"
-msgstr ""
-"هذه هي الماكينات و الشبكات التي يجب أن تكون الطابعات المحلية متوفرة لها:"
+#: ../../keyboard.pm_.c:163 ../../keyboard.pm_.c:243
+msgid "Swedish"
+msgstr "السويدية"
-#: ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United Kingdom"
-msgstr "المملكة المتحدة"
+#: ../../keyboard.pm_.c:164 ../../keyboard.pm_.c:259
+msgid "UK keyboard"
+msgstr "لوحة المفاتيح البريطانية"
-#: ../../lang.pm:1
-#, c-format
-msgid "Indonesia"
-msgstr "اندونيسيا"
+#: ../../keyboard.pm_.c:165 ../../keyboard.pm_.c:260
+msgid "US keyboard"
+msgstr "لوحة المفاتيح الأمريكية"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "default"
-msgstr "المرجع"
+#: ../../keyboard.pm_.c:167
+msgid "Albanian"
+msgstr "الألبانيةّ"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "France [SECAM]"
-msgstr "فرنسا [سيكام]"
+#: ../../keyboard.pm_.c:168
+msgid "Armenian (old)"
+msgstr "الأرمينية (قديم)"
-#: ../../any.pm:1
-#, c-format
-msgid "restrict"
-msgstr "تشديد"
+#: ../../keyboard.pm_.c:169
+msgid "Armenian (typewriter)"
+msgstr "الأرمينية (آلة كاتبة)"
-#: ../../pkgs.pm:1
-#, c-format
-msgid "must have"
-msgstr "يجب أن يكون لديك"
+#: ../../keyboard.pm_.c:170
+msgid "Armenian (phonetic)"
+msgstr "الأرمينيةّ (صوتي)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"CUPS does not support printers on Novell servers or printers sending the "
-"data into a free-formed command.\n"
-msgstr ""
-"CUPS لا يدعم الطابعات على أجهزة Novell الخادمة أو الطابعات التي ترسل "
-"البيانات الى أمر حر.\n"
+#: ../../keyboard.pm_.c:175
+msgid "Azerbaidjani (latin)"
+msgstr "الأذربيجانية (لاتيني)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Senegal"
-msgstr "السنغال"
+#: ../../keyboard.pm_.c:177
+msgid "Belgian"
+msgstr "البلجيكية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Command line"
-msgstr "سطر الأوامر"
+#: ../../keyboard.pm_.c:178
+#, fuzzy
+msgid "Bengali"
+msgstr "تمكين"
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid ""
-"Our full range of Linux solutions, as well as special offers on products and "
-"other \"goodies\", are available on our e-store:"
-msgstr ""
-"خياراتنا الكثير من حلول نظام Linux بالإضافة الى العروض الخاصة و المنتجات "
-"الأخرىى متوفرة في متجرنا الألكتروني:"
+#: ../../keyboard.pm_.c:179
+msgid "Bulgarian (phonetic)"
+msgstr "البلغارية (صوتية)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "March"
-msgstr "مارس"
+#: ../../keyboard.pm_.c:180
+msgid "Bulgarian (BDS)"
+msgstr "البلغارية (BDS)"
-#: ../../any.pm:1
-#, c-format
-msgid "access to administrative files"
-msgstr "الوصول الى ملفات الإدارة"
+#: ../../keyboard.pm_.c:181
+msgid "Brazilian (ABNT-2)"
+msgstr "البرازيليةّ (ABNT-2)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Error during sendmail.\n"
-" Your report mail was not sent.\n"
-" Please configure sendmail"
-msgstr ""
-"خطأ أثناء ارسال البريد.\n"
-" لم يتم ارسال تقرير البريد.\n"
-" فضلاً قم بإعداد sendmail"
+#: ../../keyboard.pm_.c:184
+#, fuzzy
+msgid "Bosnian"
+msgstr "الإستونية"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Do not allow set-user-identifier or set-group-identifier\n"
-"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
-"have suidperl(1) installed.)"
-msgstr ""
+#: ../../keyboard.pm_.c:185
+msgid "Belarusian"
+msgstr "البيلاروسية"
-#: ../../lang.pm:1
-#, c-format
-msgid "Montserrat"
-msgstr "مونتسيرات"
+#: ../../keyboard.pm_.c:186
+msgid "Swiss (German layout)"
+msgstr "السويسرية (تصميم ألماني)"
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic dependencies"
-msgstr "اعتمادات آلية"
+#: ../../keyboard.pm_.c:187
+msgid "Swiss (French layout)"
+msgstr "السويسرية (تصميم فرنسي) "
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Swap"
-msgstr "التبديل"
+#: ../../keyboard.pm_.c:189
+msgid "Czech (QWERTY)"
+msgstr "التشيكية (QWERTY)"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom settings"
-msgstr "اعدادات مخصصة"
+#: ../../keyboard.pm_.c:191
+msgid "German (no dead keys)"
+msgstr " الألمانيةّ (no dead keys)"
-#: ../../../move/move.pm:1
-#, c-format
-msgid ""
-"The USB key seems to have write protection enabled, but we can't safely\n"
-"unplug it now.\n"
-"\n"
-"\n"
-"Click the button to reboot the machine, unplug it, remove write protection,\n"
-"plug the key again, and launch Mandrake Move again."
+#: ../../keyboard.pm_.c:192
+msgid "Devanagari"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Other"
-msgstr "استعد آخر"
+#: ../../keyboard.pm_.c:193
+msgid "Danish"
+msgstr "الدنماركية"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "TV card"
-msgstr "بطاقة التلفاز"
+#: ../../keyboard.pm_.c:194
+msgid "Dvorak (US)"
+msgstr "Dvorak (US)"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on SMB/Windows 95/98/NT server"
-msgstr "طابعة على خادم SMB/Windows 95/98/NT"
+#: ../../keyboard.pm_.c:195
+msgid "Dvorak (Norwegian)"
+msgstr "Dvorak (نرويجيةّ) "
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/_Configure CUPS"
-msgstr "تهيئة X"
+#: ../../keyboard.pm_.c:196
+msgid "Dvorak (Swedish)"
+msgstr "Dvorak (سويدية)"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ", "
-msgstr ", "
+#: ../../keyboard.pm_.c:197
+msgid "Estonian"
+msgstr "الإستونية"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit lspci"
-msgstr ""
+#: ../../keyboard.pm_.c:201
+msgid "Georgian (\"Russian\" layout)"
+msgstr "الجورجية (التصميم الروسي)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected host/network"
-msgstr "احذف المستضيف/الشبكة المختارة"
+#: ../../keyboard.pm_.c:202
+msgid "Georgian (\"Latin\" layout)"
+msgstr "الجورجيةّ (التصميم اللاتيني)"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that moves mail from "
-"one machine to another."
-msgstr ""
-"Postfix هو عميل لنقل البريد, أي البرنامج الذي ينقل البريد من جهاز الى آخر."
+#: ../../keyboard.pm_.c:203
+msgid "Greek"
+msgstr "اليونانية"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Uzbek (cyrillic)"
-msgstr "الأوزبكية (سيريلي)"
+#: ../../keyboard.pm_.c:204
+msgid "Gujarati"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid ""
-"Here you can choose the key or key combination that will \n"
-"allow switching between the different keyboard layouts\n"
-"(eg: latin and non latin)"
+#: ../../keyboard.pm_.c:205
+msgid "Gurmukhi"
msgstr ""
-"هنا يمكنك اختيار اختصارات لوحة المفاتيح التي \n"
-"ستسمح لك بالتبديل بين لغات لوحة المفاتيح المختلفة\n"
-"(مثلاً: لاتيني و غير لاتيني)"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Network Hotplugging"
-msgstr "Network Hotplugging"
+#: ../../keyboard.pm_.c:206
+msgid "Hungarian"
+msgstr "المجرية الهنغارية"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, reports check result to tty."
-msgstr "if set to yes, reports check result to tty."
+#: ../../keyboard.pm_.c:207
+msgid "Croatian"
+msgstr "الكرواتية"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From CD"
-msgstr "استعادة من القرص المدمج"
+#: ../../keyboard.pm_.c:208
+msgid "Israeli"
+msgstr "العبرية"
-#: ../../standalone/drakgw:1
-#, c-format
-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"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"أنت على وشك تهيئة جهازك لمشاركة الإتصال بالإنترنت.\n"
-"باستخدام هذه الميزة سيمكن للحواسيب الأخرى في الشبكة المحلية أن تستخدم وصلة "
-"الكمبيوتر لهذا الحاسوب.\n"
-"\n"
-"تأكد من أنك قمت بتهيئة وصلة الشبكة/الإنترنت باستخدام drakconnect قبل "
-"المتابعة.\n"
-"\n"
-"ملحوظة: تحتاج الى موائم للشبكة كي تقوم بإعداد الشبكة المحلية (LAN)."
+#: ../../keyboard.pm_.c:209
+msgid "Israeli (Phonetic)"
+msgstr "العبرية (صوتية)"
-#: ../../network/ethernet.pm:1
-#, c-format
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet."
-msgstr "فضلاً اختر موائم الإنترنت الذي تريد استخدامه للإتصال بالإنترنت."
+#: ../../keyboard.pm_.c:210
+msgid "Iranian"
+msgstr "الإيرانيّة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo memory card access on your HP multi-function device"
-msgstr "الوصول الى بطاقة الذاكرة على جهاز HP متعدد الوظائف"
+#: ../../keyboard.pm_.c:211
+msgid "Icelandic"
+msgstr "الآيسلاندية"
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid ""
-"Enhance your computer performance with the help of a selection of partners "
-"offering professional solutions compatible with Mandrake Linux"
-msgstr ""
-"حسّن أداء أجهزتك بمساعدة اختياراتنا من الشركاء الذين يوفرون حلولاً احترافية "
-"متوافقة مع Mandrake Linux"
+#: ../../keyboard.pm_.c:212
+msgid "Italian"
+msgstr "الإيطالية"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Authors: "
-msgstr "المؤلفون: "
+#: ../../keyboard.pm_.c:213
+msgid "Inuktitut"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now disabled."
-msgstr "مشاركة اتصال الإنترنت غير ممكَّنة الآن."
+#: ../../keyboard.pm_.c:214
+msgid "Japanese 106 keys"
+msgstr "اليابانية 106 مفاتيح"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, verify checksum of the suid/sgid files."
-msgstr "if set to yes, verify checksum of the suid/sgid files."
+#: ../../keyboard.pm_.c:217
+msgid "Korean keyboard"
+msgstr "لوحة المفاتيح الكورية"
-#: ../../keyboard.pm:1
-#, c-format
+#: ../../keyboard.pm_.c:218
msgid "Latin American"
msgstr "الأمريكية اللاتينية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Japanese text printing mode"
-msgstr "وضعية طبع النصوص اليابانية"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Old device file"
-msgstr "ملف الجهاز القديم"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Info: "
-msgstr "معلومات: "
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Button `%s': %s"
-msgstr "Button `%s': %s"
-
-#: ../../any.pm:1 ../../interactive.pm:1 ../../harddrake/sound.pm:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakxtv:1 ../../standalone/harddrake2:1
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Please wait"
-msgstr "من فضلك انتظر"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
+#: ../../keyboard.pm_.c:219
+#, fuzzy
+msgid "Laotian"
+msgstr "اللاتفية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "None"
-msgstr "ولا شئ"
+#: ../../keyboard.pm_.c:220
+msgid "Lithuanian AZERTY (old)"
+msgstr "اللّيتوانيةّ AZERTY ( قديم ) "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered IP is not correct.\n"
-msgstr "عنوان IP المدُخل غير صحيح.\n"
+#: ../../keyboard.pm_.c:222
+msgid "Lithuanian AZERTY (new)"
+msgstr "اللّيتوانيّة AZERTY ( جديد ) "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please be sure that the cron daemon is included in your services."
-msgstr "تأكد من أن مراقب cron موجود ضمن خدمات النظام."
+#: ../../keyboard.pm_.c:223
+msgid "Lithuanian \"number row\" QWERTY"
+msgstr "اللّيتوانيةّ \"number row\" QWERTY"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Ethernet Card"
-msgstr "Ethernet Card"
+#: ../../keyboard.pm_.c:224
+msgid "Lithuanian \"phonetic\" QWERTY"
+msgstr " اللّيتوانيةّ \"phonetic\" QWERTY"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Delete selected printer"
-msgstr "احذف القاعدة المختارة"
+#: ../../keyboard.pm_.c:225
+msgid "Latvian"
+msgstr "اللاتفية"
-#: ../../services.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Info"
-msgstr "المعلومات"
+#: ../../keyboard.pm_.c:226
+msgid "Malayalam"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Install"
-msgstr "ثبّت"
+#: ../../keyboard.pm_.c:227
+msgid "Macedonian"
+msgstr "المقدونية"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Click on \"%s\" if you want to delete all data and partitions present on\n"
-"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
-"to recover any data and partitions present on this hard drive, including\n"
-"any Windows data.\n"
-"\n"
-"Click on \"%s\" to stop this operation without losing any data and\n"
-"partitions present on this hard drive."
+#: ../../keyboard.pm_.c:228
+msgid "Myanmar (Burmese)"
msgstr ""
-"اضغط \"%s\" اذا كنت تريد حذف كل التجزئات الموجودة على القرص\n"
-"الصلب. خذ حذرك, بعد نقرك لزر \"%s\" لن تتمكن من استعادة\n"
-"أي بيانات أو تجزئات كانت موجودة على هذا القرص الصلب.\n"
-"بما فيها بيانات Windows\n"
-"انقر \"%s\" لإيقاف هذه العملية دون خسارة أي بيانات أو تجزئات\n"
-"موجودة على القرص الصلب."
-#: ../../steps.pm:1
-#, c-format
-msgid "Exit install"
-msgstr "الخروج من التثبيت"
+#: ../../keyboard.pm_.c:229
+#, fuzzy
+msgid "Mongolian (cyrillic)"
+msgstr "الصّربيةّ (cyrillic)"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Need a key to save your data"
+#: ../../keyboard.pm_.c:230
+msgid "Maltese (UK)"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-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)."
+#: ../../keyboard.pm_.c:231
+msgid "Maltese (US)"
msgstr ""
-"تم إعداد كل شئ.\n"
-"يمكنك الآن مشاركة اتصال الإنترنت مع الأجهزة الأخرى في شبكتك المحلية باستخدام "
-"إعداد الشبكة الأوتوماتيكي (DHCP)."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Remote CUPS server"
-msgstr "خادم CUPS بعيد"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Sun - Mouse"
-msgstr "Sun - Mouse"
-#: ../../standalone/drakgw:1
-#, 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"
-"نحن على وشك اعداد الشبكة المحلية باستخدام هذا الموائم."
+#: ../../keyboard.pm_.c:232
+msgid "Dutch"
+msgstr "الهولنديّة"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit cpuinfo"
-msgstr ""
+#: ../../keyboard.pm_.c:234
+msgid "Polish (qwerty layout)"
+msgstr "البولندية (qwerty layout)"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Minimal install"
-msgstr "تثبيت مصغّر"
+#: ../../keyboard.pm_.c:235
+msgid "Polish (qwertz layout)"
+msgstr "البولندية (qwertz layout)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Ethiopia"
-msgstr "اثيوبيا"
+#: ../../keyboard.pm_.c:236
+msgid "Portuguese"
+msgstr "البرتغالية"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "YES"
-msgstr ""
+#: ../../keyboard.pm_.c:237
+msgid "Canadian (Quebec)"
+msgstr "الكنديّة (كيبيك)"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable \"crontab\" and \"at\" for users"
-msgstr ""
+#: ../../keyboard.pm_.c:239
+msgid "Romanian (qwertz)"
+msgstr "الرّومانيّة (qwertz)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Devanagari"
-msgstr "ديفانغاري"
+#: ../../keyboard.pm_.c:240
+msgid "Romanian (qwerty)"
+msgstr "الرّومانيةّ (qwertz)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"- pci devices: this gives the PCI slot, device and function of this card\n"
-"- eide devices: the device is either a slave or a master device\n"
-"- scsi devices: the scsi bus and the scsi device ids"
-msgstr ""
-"- أجهزة pci: تعطي منفذ PCI, الجهاز و وظيفة هذه البطاقة\n"
-"- أجهزة eide: الجهاز إما أن يكون جهاز slave أو master\n"
-"- أجهزة scsi: scsi bus و هوية جهاز scsi"
+#: ../../keyboard.pm_.c:242
+msgid "Russian (Yawerty)"
+msgstr "الرّوسيةّ (Yawerty)"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "الحجم الإجمالي: %d / %d ميغابايت"
+#: ../../keyboard.pm_.c:244
+msgid "Slovenian"
+msgstr "السلوفينية"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "disabled"
-msgstr "معطل"
+#: ../../keyboard.pm_.c:245
+msgid "Slovakian (QWERTZ)"
+msgstr "السلوفاكية (QWERTZ)"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Search for new scanners"
-msgstr "البحث عن ماسحات ضوئية جديدة..."
+#: ../../keyboard.pm_.c:246
+msgid "Slovakian (QWERTY)"
+msgstr "السلوفاكية (QWERTZ)"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Disabling servers..."
-msgstr "جاري تعطيل الخوادم..."
+#: ../../keyboard.pm_.c:248
+msgid "Serbian (cyrillic)"
+msgstr "الصّربيةّ (cyrillic)"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Installation of %s failed. The following error occured:"
-msgstr "فشل تثبيت %s. ظهر الخطأ التالي:"
+#: ../../keyboard.pm_.c:250
+msgid "Tamil (Unicode)"
+msgstr "التاميل (Unicode)"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
-msgstr "تعذر تشغيل mkinitrd -f /boot/initrd-%s.img %s."
+#: ../../keyboard.pm_.c:251
+msgid "Tamil (TSCII)"
+msgstr "التاميل (TSCII)"
-#: ../../install_any.pm:1
-#, 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 ones could be found. In that case, you must make sure\n"
-"to upgrade as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
-msgstr ""
-"لقد اخترت الخادمات التالية: %s\n"
-"\n"
-"\n"
-"هذه الخادمات مفعّلة افتراضياً, و لا يوجد لهم مشاكل أمنية\n"
-"معروفة, و لكن قد تكتشف بعض المشاكل الجديدة. في هذه الحالة, تأكد من أن\n"
-"تقوم بالترقية في أقرب وقت ممكن.\n"
-"\n"
-"\n"
-"هل أنت متأكد أنك تريد تثبيت هذه الخادمات الآن؟\n"
+#: ../../keyboard.pm_.c:252
+msgid "Thai keyboard"
+msgstr "لوحة المفاتيح التّايلانديّة"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network printer (TCP/Socket)"
-msgstr "طابعة شبكة (TCP/Socket)"
+#: ../../keyboard.pm_.c:254
+msgid "Tajik keyboard"
+msgstr "لوحة مفاتيح الطّاجيكيّة"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup User files..."
-msgstr "انسخ ملفات المستخدمين..."
+#: ../../keyboard.pm_.c:255
+msgid "Turkish (traditional \"F\" model)"
+msgstr "التّركيّ (traditional \"F\" model)"
-#: ../../steps.pm:1
-#, c-format
-msgid "Install system"
-msgstr "تثبيت النظام"
+#: ../../keyboard.pm_.c:256
+msgid "Turkish (modern \"Q\" model)"
+msgstr "التّركيّ (modern \"Q\" model)"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "First DNS Server (optional)"
-msgstr "خادم DNS الأول (اختياري)"
+#: ../../keyboard.pm_.c:258
+msgid "Ukrainian"
+msgstr "الأوكرانية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Alternatively, you can specify a device name/file name in the input line"
-msgstr "بدلاً من ذلك, يمكنك تحديد اسم جهاز/اسم ملف في حقا الإدخال"
+#: ../../keyboard.pm_.c:261
+msgid "US keyboard (international)"
+msgstr "( "
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
-"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
-"symlink /etc/security/msec/server to point to\n"
-"/etc/security/msec/server.<SERVER_LEVEL>.\n"
-"\n"
-"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
-"add a service if it is present in the file during the installation of\n"
-"packages."
-msgstr ""
-"اذا كان SERVER_LEVEL (أو SECURE_LEVEL في حال عدم وجود الأول)\n"
-"أكبر من 3 في /etc/security/msec/security.conf, و ينشئ\n"
-"الاختصار /etc/security/msec/server لتشير\n"
-"الى /etc/security/msec/sever.<SERVER_LEVEL>.\n"
-"\n"
-"ملف /etc/security/msec/server يتم استخدامه عن طريق أمر chkconfig --add "
-"لتقرير اضافة خدمة اذا كانت موجودة في في الملف أثناء تثبيت\n"
-"الحزم."
+#: ../../keyboard.pm_.c:262
+msgid "Vietnamese \"numeric row\" QWERTY"
+msgstr "الفيتناميّ \"numeric row\" QWERTY"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian (Phonetic)"
-msgstr "الرّوسية (صوتية)"
+#: ../../keyboard.pm_.c:263
+msgid "Yugoslavian (latin)"
+msgstr "( يوغسلافيّ ( اللّاتينيّة "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Config..."
-msgstr "تهيئة dhcpd..."
+#: ../../keyboard.pm_.c:270
+msgid "Right Alt key"
+msgstr "مفتاح Alt key"
-#: ../../any.pm:1
-#, c-format
-msgid "LILO/grub Installation"
-msgstr "تثبيت LILO/grub"
+#: ../../keyboard.pm_.c:271
+msgid "Both Shift keys simultaneously"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli"
-msgstr "العبرية"
+#: ../../keyboard.pm_.c:272
+msgid "Control and Shift keys simultaneously"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on server \"%s\""
-msgstr "الطابعة \"%s\" على الخادم \"%s\""
+#: ../../keyboard.pm_.c:273
+msgid "CapsLock key"
+msgstr "مفتاح CapsLock"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Floppy can be removed now"
-msgstr "يمكن ازالة القرص المرن الآن"
+#: ../../keyboard.pm_.c:274
+msgid "Ctrl and Alt keys simultaneously"
+msgstr "Ctrl and Alt keys simultaneously"
-#: ../../help.pm:1
-#, c-format
-msgid "Truly minimal install"
-msgstr "تثبيت مصغّر جداً"
+#: ../../keyboard.pm_.c:275
+msgid "Alt and Shift keys simultaneously"
+msgstr "Alt and Shift keys simultaneously"
-#: ../../lang.pm:1
-#, c-format
-msgid "Denmark"
-msgstr "الدنمارك"
+#: ../../keyboard.pm_.c:276
+msgid "\"Menu\" key"
+msgstr "\"Menu\" key"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving partition..."
-msgstr "جاري نقل التجزئة..."
+#: ../../keyboard.pm_.c:277
+msgid "Left \"Windows\" key"
+msgstr "Left \"Windows\" key"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "(This) DHCP Server IP"
-msgstr "عنوان IP لخادم DHCP (هذا)"
+#: ../../keyboard.pm_.c:278
+msgid "Right \"Windows\" key"
+msgstr "Right \"Windows\" key"
-#: ../../Xconfig/test.pm:1
+#: ../../loopback.pm_.c:32
#, c-format
-msgid "Test of the configuration"
-msgstr "اختبار الإعداد"
+msgid "Circular mounts %s\n"
+msgstr "Circular mounts %s\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing %s ..."
-msgstr "جاري تثبيت %s ..."
+#: ../../lvm.pm_.c:103
+msgid "Remove the logical volumes first\n"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../modules.pm_.c:290
msgid ""
-"If you told the installer that you wanted to individually select packages,\n"
-"it will present a tree containing all packages classified by groups and\n"
-"subgroups. While browsing the tree, you can select entire groups,\n"
-"subgroups, or individual packages.\n"
-"\n"
-"Whenever you select a package on the tree, a description appears on the\n"
-"right to let you know the purpose of the package.\n"
-"\n"
-"!! If a server package has been selected, either because you specifically\n"
-"chose the individual package or because it was part of a group of packages,\n"
-"you will be asked to confirm that you really want those servers to be\n"
-"installed. By default Mandrake Linux will automatically start any installed\n"
-"services at boot time. Even if they are safe and have no known issues at\n"
-"the time the distribution was shipped, it is entirely possible that that\n"
-"security holes were discovered after this version of Mandrake Linux was\n"
-"finalized. If you do not know what a particular service is supposed to do\n"
-"or why it is being installed, then click \"%s\". Clicking \"%s\" will\n"
-"install the listed services and they will be started automatically by\n"
-"default during boot. !!\n"
-"\n"
-"The \"%s\" option is used to disable the warning dialog which appears\n"
-"whenever the installer automatically selects a package to resolve a\n"
-"dependency issue. Some packages have relationships between each other such\n"
-"that installation of a package requires that some other program is also\n"
-"rerquired to be installed. The installer can determine which packages are\n"
-"required to satisfy a dependency to successfully complete the installation.\n"
-"\n"
-"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
-"package list created during a previous installation. This is useful if you\n"
-"have a number of machines that you wish to configure identically. Clicking\n"
-"on this icon will ask you to insert a floppy disk previously created at the\n"
-"end of another installation. See the second tip of last step on how to\n"
-"create such a floppy."
+"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose your filesystem encryption key"
-msgstr "اختر مفتاح تشفير نظام الملفات"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sierra Leone"
-msgstr "سيراليون"
+#: ../../modules/interactive.pm_.c:16
+msgid "You can configure each parameter of the module here."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Botswana"
-msgstr "بوتسوانا"
+#: ../../modules/parameters.pm_.c:18
+#, fuzzy
+msgid "modinfo is not available"
+msgstr "آسف , لا مدخل مرن متاح"
-#: ../../lang.pm:1
-#, c-format
-msgid "Andorra"
-msgstr "أندورا"
+#: ../../modules/parameters.pm_.c:50
+#, fuzzy
+msgid "a number"
+msgstr "رقم التّليفون "
-#: ../../standalone/draksec:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "(default value: %s)"
-msgstr "(القيمة الإفتراضية: %s)"
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgid "%d comma separated numbers"
msgstr ""
-"Arguments: (max, inactive=-1)\n"
-"\n"
-"Set password aging to \\fImax\\fP days and delay to change to \\fIinactive"
-"\\fP."
-#: ../../printer/printerdrake.pm:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "Alternative test page (Letter)"
-msgstr "صفحة اختبارية بديلة (Letter)"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"DHCP Server Configuration.\n"
-"\n"
-"Here you can select different options for the DHCP server configuration.\n"
-"If you don't know the meaning of an option, simply leave it as it is.\n"
-"\n"
+msgid "%d comma separated strings"
msgstr ""
-"تهيئة خادم DHCP.\n"
-"\n"
-"هنا يمكنك اختيار خيارات مختلفة لتهيئة خادم DHCP.\n"
-"اذا لم تكن نهلم ماذا يعني الخيار فكل ما عليك هو تركه كما هو.\n"
-"\n"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Choose an X server"
-msgstr "إختر خادم X"
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "Copying to memory to allow removing the CDROM"
+#: ../../modules/parameters.pm_.c:54
+msgid "comma separated numbers"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Swap partition size in MB: "
-msgstr "حجم تجزئة التبديل بالميغابايت"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No changes to backup!"
-msgstr "لا تغييران للنسخة الإحتياطية!"
+#: ../../modules/parameters.pm_.c:54
+#, fuzzy
+msgid "comma separated strings"
+msgstr "تجهيز التجزئات"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Formatted\n"
-msgstr "مجهز\n"
+#: ../../mouse.pm_.c:25
+msgid "Sun - Mouse"
+msgstr "Sun - Mouse"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Type of install"
-msgstr "نوع التثبيت"
+#: ../../mouse.pm_.c:32
+msgid "Logitech MouseMan+"
+msgstr "Logitech MouseMan+"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on SMB/Windows server \"%s\""
-msgstr "الطابعة \"%s\" على خادم SMB/Windows \"%s\""
+#: ../../mouse.pm_.c:33
+msgid "Generic PS2 Wheel Mouse"
+msgstr "Generic PS2 Wheel Mouse"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated numbers"
-msgstr "%d أرقام مفصولة بالفاصلة"
+#: ../../mouse.pm_.c:34
+msgid "GlidePoint"
+msgstr "GlidePoint"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
-msgstr ""
-"بروتوكول rusers يسمح للمستخدمين على الشبكة أن يتعرفوا على من\n"
-"سجل الدخول الى الأجهزة المستجيبة الأخرى."
+#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:65
+msgid "Kensington Thinking Mouse"
+msgstr "Kensington Thinking Mouse"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Automatic Steps Configuration"
-msgstr "تهيئة آلية للخطوات"
+#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:61
+msgid "Genius NetMouse"
+msgstr "Genius NetMouse"
-#: ../../lang.pm:1
-#, c-format
-msgid "Barbados"
-msgstr "باربادوس"
+#: ../../mouse.pm_.c:38
+msgid "Genius NetScroll"
+msgstr "Genius NetScroll"
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid ""
-"Want to know more and to contribute to the Open Source community? Get "
-"involved in the Free Software world!"
-msgstr ""
-"هل تريد معرفة المزيد عن مجتمع المصادر المفتوحة؟ كن جزءاً من عالم البرمجيات "
-"الحرة"
+#: ../../mouse.pm_.c:39 ../../mouse.pm_.c:48
+#, fuzzy
+msgid "Microsoft Explorer"
+msgstr "Microsoft IntelliMouse"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select data to backup..."
-msgstr "رجاء اختر البيانات المطلوب نسخها احتياطيا..."
+#: ../../mouse.pm_.c:44 ../../mouse.pm_.c:70
+msgid "1 button"
+msgstr "1 button"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
-"فشل الإتصال.\n"
-"تأكد من الوصلة في مركز تحكم Mandrake."
+#: ../../mouse.pm_.c:45 ../../mouse.pm_.c:53
+msgid "Generic 2 Button Mouse"
+msgstr "Generic 2 Button Mouse"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received"
-msgstr "مُستقبلة"
+#: ../../mouse.pm_.c:47
+msgid "Wheel"
+msgstr "Wheel"
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Enable su only from the wheel group members or for any user"
-msgstr ""
-"Arguments: (arg)\n"
-"\n"
-" Enabling su only from members of the wheel group or allow su from any user."
+#: ../../mouse.pm_.c:51
+msgid "serial"
+msgstr "serial"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_New"
-msgstr "/ملف/_جديد"
+#: ../../mouse.pm_.c:54
+msgid "Generic 3 Button Mouse"
+msgstr "Generic 3 Button Mouse"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DNS Server IP"
-msgstr "عنوان IP لخادم DNS"
+#: ../../mouse.pm_.c:55
+msgid "Microsoft IntelliMouse"
+msgstr "Microsoft IntelliMouse"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range End:"
-msgstr "IP Range End:"
+#: ../../mouse.pm_.c:56
+msgid "Logitech MouseMan"
+msgstr "Logitech MouseMan"
-#: ../../security/level.pm:1
-#, c-format
-msgid "High"
-msgstr "مرتفع"
+#: ../../mouse.pm_.c:57
+msgid "Mouse Systems"
+msgstr "Mouse Systems"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Add a new printer to the system"
-msgstr "اضافة مستخدم الى النظام"
+#: ../../mouse.pm_.c:59
+msgid "Logitech CC Series"
+msgstr "Logitech CC Series"
-#: ../../any.pm:1
-#, c-format
-msgid "NoVideo"
-msgstr "لا فيديو"
+#: ../../mouse.pm_.c:60
+msgid "Logitech MouseMan+/FirstMouse+"
+msgstr "Logitech MouseMan+/FirstMouse+"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "this field describes the device"
-msgstr "هذا الحقل يصف الجهاز"
+#: ../../mouse.pm_.c:62
+msgid "MM Series"
+msgstr "MM Series"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
-msgstr "جاري اضافة الطابعة الى Star Office/OpenOffice.org/GIMP"
+#: ../../mouse.pm_.c:63
+msgid "MM HitTablet"
+msgstr "MM HitTablet"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printers"
-msgstr "الطابعات المحلية"
+#: ../../mouse.pm_.c:64
+msgid "Logitech Mouse (serial, old C7 type)"
+msgstr "Logitech Mouse (serial, old C7 type)"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation image directory"
-msgstr "دليل صورة التثبيت"
+#: ../../mouse.pm_.c:68
+msgid "busmouse"
+msgstr "busmouse"
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Server"
-msgstr "خادم NIS"
+#: ../../mouse.pm_.c:71
+msgid "2 buttons"
+msgstr "2 buttons"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Port: %s"
-msgstr "المنفذ: %s"
+#: ../../mouse.pm_.c:72
+msgid "3 buttons"
+msgstr "3 buttons"
-#: ../../lang.pm:1
-#, c-format
-msgid "Spain"
-msgstr "أسبانيا"
+#: ../../mouse.pm_.c:75
+msgid "none"
+msgstr "ولا واحد"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: %s"
-msgstr ""
+#: ../../mouse.pm_.c:77
+msgid "No mouse"
+msgstr "No mouse"
-#: ../../any.pm:1
-#, c-format
-msgid "This user name has already been added"
-msgstr "اسم المستخدم مُضاف مسبقا"
+#: ../../mouse.pm_.c:490
+msgid "Please test the mouse"
+msgstr "من فضلك اختبر الفأرة"
-#: ../../interactive.pm:1
-#, c-format
-msgid "Choose a file"
-msgstr "إختر ملف"
+#: ../../mouse.pm_.c:491
+msgid "To activate the mouse,"
+msgstr "To activate the mouse,"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Apply"
-msgstr "تطبيق"
+#: ../../mouse.pm_.c:492
+msgid "MOVE YOUR WHEEL!"
+msgstr " WHEEL! حرّك "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Auto-detect available ports"
-msgstr "تحقق آلياً من المنافذ المتوفرة"
+#: ../../my_gtk.pm_.c:65
+#, fuzzy
+msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
+msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#: ../../lang.pm:1
-#, c-format
-msgid "San Marino"
-msgstr "سان مارينو"
+#: ../../my_gtk.pm_.c:159 ../../ugtk2.pm_.c:435
+msgid "Finish"
+msgstr "إنتهاء"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently disabled"
-msgstr "مشاركة الإتصال بالإنترنت"
+#: ../../my_gtk.pm_.c:159 ../../printer/printerdrake.pm_.c:2057
+#: ../../ugtk2.pm_.c:435
+msgid "Next ->"
+msgstr "التالي ->"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Belgium"
-msgstr "بلجيكا"
+#: ../../my_gtk.pm_.c:287 ../../ugtk2.pm_.c:926
+msgid "Is this correct?"
+msgstr "هل هذا صحيح ? "
-#: ../../lang.pm:1
-#, c-format
-msgid "Kuwait"
-msgstr "الكويت"
+#: ../../my_gtk.pm_.c:359 ../../services.pm_.c:227 ../../ugtk2.pm_.c:1011
+msgid "Info"
+msgstr "المعلومات"
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the window manager to run:"
-msgstr "اختر مدير النوافذ الذي سيتم تشغيله:"
+#: ../../my_gtk.pm_.c:380 ../../ugtk2.pm_.c:1036
+msgid "Expand Tree"
+msgstr "Expand Tree"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "December"
-msgstr "ديسمبر"
+#: ../../my_gtk.pm_.c:381 ../../ugtk2.pm_.c:1037
+msgid "Collapse Tree"
+msgstr "Collapse Tree"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "sub generation of the cpu"
-msgstr "الجيل الثانوي للمعالج"
+#: ../../my_gtk.pm_.c:382 ../../ugtk2.pm_.c:1038
+msgid "Toggle between flat and group sorted"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "First Time Wizard"
-msgstr "معالج First Time"
+#: ../../network/adsl.pm_.c:23
+msgid "use pppoe"
+msgstr "use pppoe"
-#: ../../lang.pm:1
-#, c-format
-msgid "Taiwan"
-msgstr "تايوان"
+#: ../../network/adsl.pm_.c:24
+msgid "use pptp"
+msgstr "use pptp"
-#: ../../lang.pm:1
-#, c-format
-msgid "Pakistan"
-msgstr "باكستان"
+#: ../../network/adsl.pm_.c:25
+msgid "use dhcp"
+msgstr "use dhcp"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "please wait, parsing file: %s"
-msgstr "يرجى الإنتظار, جاري تحليل الملف: %s"
+#: ../../network/adsl.pm_.c:26
+msgid "Alcatel speedtouch usb"
+msgstr "Alcatel speedtouch usb"
-#: ../../install_steps.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
+#: ../../network/adsl.pm_.c:27
+msgid "Sagem (using pppoe) usb"
msgstr ""
-"ظهر خطأ و لا أعرف كيف أتعامل معه بأسلوب جيد.\n"
-"تابع على مسؤوليتك."
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Importance: "
-msgstr "الأهمية:"
+#: ../../network/adsl.pm_.c:29 ../../network/ethernet.pm_.c:36
+msgid "Connect to the Internet"
+msgstr "وصّل إلى الإنترنت "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/adsl.pm_.c:30
msgid ""
-"To be able to print with your Lexmark inkjet and this configuration, you "
-"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
-"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
-"\"Linux\" as operating system. The drivers come as RPM packages or shell "
-"scripts with interactive graphical installation. You do not need to do this "
-"configuration by the graphical frontends. Cancel directly after the license "
-"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
-"adjust the head alignment settings with this program."
+"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 ""
-"To be able to print with your Lexmark inkjet and this configuration, you "
-"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
-"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
-"\"Linux\" as operating system. The drivers come as RPM packages or shell "
-"scripts with interactive graphical installation. You do not need to do this "
-"configuration by the graphical frontends. Cancel directly after the license "
-"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
-"adjust the head alignment settings with this program."
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Permissions"
-msgstr "التصاريح"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider name (ex provider.net)"
-msgstr "اسم الموفر (مثلاً provider.net)"
-#: ../../install_steps_gtk.pm:1
-#, c-format
+#: ../../network/adsl.pm_.c:166
msgid ""
-"Your system is low on resources. You may have some problem installing\n"
-"Mandrake Linux. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
+"You need the alcatel microcode.\n"
+"Download it at\n"
+"http://www.speedtouchdsl.com/dvrreg_lx.htm\n"
+"and copy the mgmt.o in /usr/share/speedtouch"
msgstr ""
-"النظام لديك قليل الموارد. قد تقابل بعض المشاكل قي تثبيت\n"
-"Mandrake Linux. اذا حدث ذلك, يمكنك التثبيت في وضع نصي, لهذا الغرض,\n"
-"اضغط `F1' عند الإقلاع من القرص المدمج, و اكتب `text'."
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use the Windows partition for loopback"
-msgstr "استخدم تجزئة Windows كـ loopback"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (typewriter)"
-msgstr "الأرمينية (آلة كاتبة)"
-
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection type: "
-msgstr "نوع العلاقة"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Graphical interface"
-msgstr "الواجهة الرسومية"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Chad"
-msgstr "تشاد"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "India"
-msgstr "الهند"
-
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s مع تسريع ثلاثي الأبعاد"
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovakia"
-msgstr "سلوفاكيا"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Singapore"
-msgstr "سنغافورة"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cambodia"
-msgstr "كمبوديا"
+#: ../../network/drakfirewall.pm_.c:12
+#, fuzzy
+msgid "Web Server"
+msgstr "خادم"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "تزامن الشاشة الأفقي: %s\n"
+#: ../../network/drakfirewall.pm_.c:17
+#, fuzzy
+msgid "Domain Name Server"
+msgstr "Domain name"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path"
-msgstr "المسار"
+#: ../../network/drakfirewall.pm_.c:32
+#, fuzzy
+msgid "Mail Server"
+msgstr "خادم قواعد بيانات"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "NOT FOUND"
-msgstr ""
+#: ../../network/drakfirewall.pm_.c:37
+#, fuzzy
+msgid "POP and IMAP Server"
+msgstr "خادم LDAP"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here you can specify any arbitrary command line into which the job should be "
-"piped instead of being sent directly to a printer."
-msgstr ""
-"هنا يمكنك تحديد أي أمر هلامي يمكن تحويل وظيفة الطباعة اليه بدلاً من ارسالها "
-"مباشرةً الى الطابعة."
+#: ../../network/drakfirewall.pm_.c:111
+#, fuzzy
+msgid "No network card"
+msgstr "لا بطاقة شبكة وجدت "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:129
+#, fuzzy
msgid ""
-"The printing system (%s) will not be started automatically when the machine "
-"is booted.\n"
-"\n"
-"It is possible that the automatic starting was turned off by changing to a "
-"higher security level, because the printing system is a potential point for "
-"attacks.\n"
+"drakfirewall configurator\n"
"\n"
-"Do you want to have the automatic starting of the printing system turned on "
-"again?"
+"This configures a personal firewall for this Mandrake Linux machine.\n"
+"For a powerful dedicated firewall solution, please look to the\n"
+"specialized MandrakeSecurity Firewall distribution."
msgstr ""
-"نظام الطباعة (%s) لن يتم بدؤه بشكل آلي عند بدء تشغيل الماكينة.\n"
-"\n"
-"من الممكن أن يكون قد تم تعطيل البدء الآلي بسبب التغيير الى مستوى أعلى لأن "
-"نظام الطباعة قد يكون نقطة مبدئية لهجمات المخترقين.\n"
+"أداة تهيئة الجدار الناري البسيط\n"
"\n"
-"هل تريد تمكين البدء الآلي لنظام الطباعة عند بدء التشغيل مرة أخرى؟"
+"هذه الأداة تسمح لك بتهيئة جدار ناري شخصي لنظام Mandrake Linux هذا.\n"
+"إذا كنت تريد جدارا ناريا متخصصا, الق نظرة على\n"
+"توزيعة MandrakeSecurity Firewall."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:135
msgid ""
-"Printer %s\n"
-"What do you want to modify on this printer?"
+"drakfirewall configurator\n"
+"\n"
+"Make sure you have configured your Network/Internet access with\n"
+"drakconnect before going any further."
msgstr ""
-"الطابعة %s\n"
-"هل تريد تعديل تلك الطابعة؟"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add host"
-msgstr "اضف مستضيف"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"If you really think that you know which driver is the right one for your "
-"card\n"
-"you can pick one in the above list.\n"
-"\n"
-"The current driver for your \"%s\" sound card is \"%s\" "
+#: ../../network/drakfirewall.pm_.c:152
+msgid "Which services would you like to allow the Internet to connect to?"
msgstr ""
-"اذا كنت تعتقد فعلاً أنك تعرف ما هو المشغل الصحيح لبطاقتك\n"
-"يمكنك اختياره من القائمة أعلاه.\n"
-"\n"
-"المشغل الحالي لبطاقة الصوت \"%s\" الخاصة بك هو \"%s\" "
-#: ../../any.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:153
msgid ""
-"Would you like to allow users to share some of their directories?\n"
-"Allowing this will permit users to simply click on \"Share\" in konqueror "
-"and nautilus.\n"
-"\n"
-"\"Custom\" permit a per-user granularity.\n"
+"You can enter miscellaneous ports. \n"
+"Valid examples are: 139/tcp 139/udp.\n"
+"Have a look at /etc/services for information."
msgstr ""
-"هل تريد السماح للمستخدمين بمشاركة بعض الأدلة الخاصة بهم؟\n"
-"السماح بذلك سيسمح للمستخدمين بأن ينقروا زر المشاركة في كونكيورر و نوتيلوس.\n"
-"\n"
-"\"مخصص\" يسمح لك بعمل اعدادات خاص لكل مستخدم.\n"
-#: ../../install_steps_interactive.pm:1
+#: ../../network/drakfirewall.pm_.c:159
#, c-format
msgid ""
-"Please choose load or save package selection on floppy.\n"
-"The format is the same as auto_install generated floppies."
+"Invalid port given: %s.\n"
+"The proper format is \"port/tcp\" or \"port/udp\", \n"
+"where port is between 1 and 65535."
msgstr ""
-"فضلاُ اختر حفظ أو تحميل اختياراتك للحزم من القرص المرن.\n"
-"النسق مشابه لأقراص التثبيت الآلي المرنة."
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "No CDROM support"
-msgstr "دعم الراديو:"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "China (broadcast)"
-msgstr "الصين (broadcast)"
+#: ../../network/drakfirewall.pm_.c:167
+msgid "Everything (no firewall)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use quota for backup files."
-msgstr "استخدم quota لملفات النسخ الإحتياطي."
+#: ../../network/drakfirewall.pm_.c:169
+#, fuzzy
+msgid "Other ports"
+msgstr "أخرى"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer \"%s\"..."
-msgstr "جاري إعداد الطابعة \"%s\" ..."
+#: ../../network/ethernet.pm_.c:37
+msgid ""
+"Which dhcp client do you want to use?\n"
+"Default is dhcp-client"
+msgstr ""
+"تريد أن تستخدم dhcp أيّ عميل ?\n"
+" Default is dhcp-client"
-#: ../../fs.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:88
msgid ""
-"Do not allow execution of any binaries on the mounted\n"
-"file system. This option might be useful for a server that has file systems\n"
-"containing binaries for architectures other than its own."
+"No ethernet network adapter has been detected on your system.\n"
+"I cannot set up this connection type."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Internet connection"
-msgstr "وصلة انترنت"
+#: ../../network/ethernet.pm_.c:92 ../../standalone/drakgw_.c:234
+msgid "Choose the network interface"
+msgstr "اختر السّطح البينيّ للشبكة "
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:93
msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
+"Please choose which network adapter you want to use to connect to Internet"
msgstr ""
-"فشل تحميل الوحدة %s.\n"
-"هل تريد المحاولة ثانية بمعاملات أخرى؟"
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Welcome to the Open Source world."
-msgstr "أهلاً بك في عالم المصادر المفتوحة"
+#: ../../network/ethernet.pm_.c:176
+msgid "no network card found"
+msgstr "لا بطاقة شبكة وجدت "
-#: ../../lang.pm:1
-#, c-format
-msgid "Bosnia and Herzegovina"
-msgstr "البوسنة و الهرسك"
+#: ../../network/ethernet.pm_.c:200 ../../network/network.pm_.c:349
+msgid "Configuring network"
+msgstr "ا عداد شبكة"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:201
msgid ""
-"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
-"point\n"
+"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 ""
-"تحتاج الى نظام ملفات حقيقي (ext2/ext3, resierfs, xfs, أو jfs) لنقطة التحميل "
-"هذه\n"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "You must enter a host name or an IP address.\n"
-msgstr "فضلا أدخل اسم المستضيف أو عنوان IP.\n"
+#: ../../network/ethernet.pm_.c:205 ../../network/network.pm_.c:354
+msgid "Host name"
+msgstr "Host اسم "
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Netherlands"
-msgstr "هولندا"
+#: ../../network/isdn.pm_.c:21 ../../network/isdn.pm_.c:44
+#: ../../network/netconnect.pm_.c:89 ../../network/netconnect.pm_.c:103
+#: ../../network/netconnect.pm_.c:156 ../../network/netconnect.pm_.c:171
+#: ../../network/netconnect.pm_.c:222 ../../network/netconnect.pm_.c:245
+#: ../../network/netconnect.pm_.c:253
+msgid "Network Configuration Wizard"
+msgstr "معالج إعداد الشبكة"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files by FTP"
-msgstr "جاري ارسال الملفات عن طريق FTP"
+#: ../../network/isdn.pm_.c:22
+msgid "External ISDN modem"
+msgstr "External ISDN modem"
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:22
msgid "Internal ISDN card"
-msgstr "بطاقة ISDN داخلية"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
-"currently uses \"%s\""
-msgstr "لا يوجد مشغل بديل (ALSA أو OSS) لبطاقة الصوت (%s) التي تستخدم \"%s\""
+msgstr "Internal ISDN card"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Title"
-msgstr "العنوان"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install & convert Fonts"
-msgstr "ثبّت و حوّل الخطوط"
+#: ../../network/isdn.pm_.c:22
+msgid "What kind is your ISDN connection?"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WARNING"
-msgstr "WARNING"
+#: ../../network/isdn.pm_.c:45
+msgid ""
+"Which ISDN configuration do you prefer?\n"
+"\n"
+"* The Old configuration uses isdn4net. It contains powerful\n"
+" tools, but is tricky to configure, and not standard.\n"
+"\n"
+"* The New configuration is easier to understand, more\n"
+" standard, but with less tools.\n"
+"\n"
+"We recommand the light configuration.\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing bootloader"
-msgstr "جاري تثبين محمّل الإقلاع"
+#: ../../network/isdn.pm_.c:54
+msgid "New configuration (isdn-light)"
+msgstr "إعداد جديد (isdn-light)"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "replay"
-msgstr "اعادة"
+#: ../../network/isdn.pm_.c:54
+msgid "Old configuration (isdn4net)"
+msgstr "إعداد قديم (isdn4net)"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected %s"
-msgstr "تم اكتساف %s"
+#: ../../network/isdn.pm_.c:166 ../../network/isdn.pm_.c:184
+#: ../../network/isdn.pm_.c:196 ../../network/isdn.pm_.c:202
+#: ../../network/isdn.pm_.c:209 ../../network/isdn.pm_.c:219
+msgid "ISDN Configuration"
+msgstr "ISDN إعداد "
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/isdn.pm_.c:166
msgid ""
-"Expect is an extension to the Tcl scripting language that allows interactive "
-"sessions without user intervention."
+"Select your provider.\n"
+"If it isn't listed, choose Unlisted."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (U.S.)"
-msgstr "الجزر العذراء (الولايات المتحدة)"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol"
+msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Bad backup file"
-msgstr "ملف نسخ احتياطي سيئ"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol (EDSS1)"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../network/isdn.pm_.c:181
+msgid "Protocol for the rest of the world"
+msgstr ""
+
+#: ../../network/isdn.pm_.c:181
msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
+"Protocol for the rest of the world\n"
+"No D-Channel (leased lines)"
msgstr ""
-"تم تنصيب مشاركة الإتصال بالإنترنت مسبقاً.\n"
-"و هي معطلة حالياً.\n"
-"\n"
-"ماذا تريد أن تفعل؟"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter IP address and port of the host whose printers you want to use."
-msgstr "أدخل عنوان IP و منفذ المستضيف الذي تريد استخدام طابعاته."
+#: ../../network/isdn.pm_.c:185
+msgid "Which protocol do you want to use?"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../network/isdn.pm_.c:196
#, c-format
-msgid "Pipe into command"
-msgstr "حول الى الأمر"
+msgid "Found \"%s\" interface do you want to use it ?"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
+#: ../../network/isdn.pm_.c:203
+msgid "What kind of card do you have?"
msgstr ""
-"بعض العتاد الموجود على جهازك يحتاج الى مشغلات ``تجارية'' كي تعمل.\n"
-"يمكنك ايجاد مزيد من المعلومات عنها في: %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Haiti"
-msgstr "هايتي"
+#: ../../network/isdn.pm_.c:204
+msgid "I don't know"
+msgstr "لا أعرف "
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detecting devices..."
-msgstr "جاري التحقق من الأجهزة..."
+#: ../../network/isdn.pm_.c:204
+msgid "ISA / PCMCIA"
+msgstr "ISA / PCMCIA"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Custom allows you to specify your own day and time. The other options use "
-"run-parts in /etc/crontab."
-msgstr ""
+#: ../../network/isdn.pm_.c:204
+msgid "PCI"
+msgstr "PCI"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/isdn.pm_.c:210
msgid ""
-"Description of the fields:\n"
"\n"
-msgstr ""
-"وصف الحقول:\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 ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Basic options"
-msgstr "الخيارات الأساسية"
+#: ../../network/isdn.pm_.c:214
+msgid "Abort"
+msgstr "إنهاء"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the name of the CPU"
-msgstr "اسم المعالج"
+#: ../../network/isdn.pm_.c:214
+msgid "Continue"
+msgstr "تابع"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept bogus IPv4 error messages"
-msgstr "اقبل رسائل خطأ IPv4 الوهمية"
+#: ../../network/isdn.pm_.c:220
+msgid "Which is your ISDN card?"
+msgstr "ISDN ما هية بطاقتك"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refreshing printer data..."
-msgstr "جاري اعادة تحميل بيانات الطابة..."
+#: ../../network/isdn.pm_.c:239
+msgid ""
+"I have detected an ISDN PCI card, but I don't know its type. Please select a "
+"PCI card on the next screen."
+msgstr ""
-#: ../../install2.pm:1
-#, c-format
-msgid "You must also format %s"
-msgstr "عليك أيضا تجهيز %s"
+#: ../../network/isdn.pm_.c:248
+msgid "No ISDN PCI card found. Please select one on the next screen."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Be careful: this operation is dangerous."
-msgstr "كن حذرا: هذه العملية خطيرة"
+#: ../../network/modem.pm_.c:57
+msgid "Please choose which serial port your modem is connected to."
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Insert a floppy containing package selection"
-msgstr "أدخهل القرص المرن المحتوى على اختيارات الحزم"
+#: ../../network/modem.pm_.c:67
+msgid "Dialup options"
+msgstr "Dialup options"
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server: "
-msgstr "الخادم: "
+#: ../../network/modem.pm_.c:68 ../../standalone/drakconnect_.c:619
+msgid "Connection name"
+msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Alerts:"
-msgstr "تنبيهات أمنية:"
+#: ../../network/modem.pm_.c:69 ../../standalone/drakconnect_.c:620
+msgid "Phone number"
+msgstr "رقم التّليفون "
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Sweden"
-msgstr "السويد"
+#: ../../network/modem.pm_.c:70 ../../standalone/drakconnect_.c:621
+msgid "Login ID"
+msgstr "Login ID"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Expect for SSH"
-msgstr "استخدم Expect لـSSH"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "CHAP"
+msgstr "CHAP"
-#: ../../lang.pm:1
-#, c-format
-msgid "Poland"
-msgstr "بولندا"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "PAP"
+msgstr "PAP"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Other ports"
-msgstr "منافذ أخرى"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Script-based"
+msgstr "Script-based"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "number of capture buffers for mmap'ed capture"
-msgstr "number of capture buffers for mmap'ed capture"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Terminal-based"
+msgstr "Terminal-based"
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid " - detected"
-msgstr "تم اكتشافه"
+#: ../../network/modem.pm_.c:73 ../../standalone/drakconnect_.c:624
+msgid "Domain name"
+msgstr "Domain name"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SMBus controllers"
-msgstr "متحكمات SMBus"
+#: ../../network/modem.pm_.c:74 ../../standalone/drakconnect_.c:625
+msgid "First DNS Server (optional)"
+msgstr "( خادم ا الأوّل ( اختياريّ "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection timeout (in sec)"
-msgstr "الوقت الأقصى للاتصال (بالثواني)"
+#: ../../network/modem.pm_.c:75 ../../standalone/drakconnect_.c:626
+msgid "Second DNS Server (optional)"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/modem.pm_.c:95
msgid ""
-"Some of the early i486DX-100 chips cannot reliably return to operating mode "
-"after the \"halt\" instruction is used"
+"Your modem isn't supported by the system.\n"
+"Take a look at http://www.linmodems.org"
msgstr ""
-"Some of the early i486DX-100 chips cannot reliably return to operating mode "
-"after the \"halt\" instruction is used"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Croatian"
-msgstr "الكرواتية"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Use existing partition"
-msgstr "استخدم التجزئات الموجودة"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Unable to contact mirror %s"
-msgstr "تعذر الإتصال بالمرآة %s"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Help/_About..."
-msgstr "/مساعدة/_حول البرنامج..."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remove user directories before restore."
-msgstr "احذف أدلة المستخدمين قبل الإستعادة"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../network/modem.pm_.c:97
#, c-format
msgid ""
-"You are going to configure a remote printer. This needs working network "
-"access, but your network is not configured yet. If you go on without network "
-"configuration, you will not be able to use the printer which you are "
-"configuring now. How do you want to proceed?"
+"\"%s\" based winmodem detected, do you want to install needed software ?"
msgstr ""
-"أنت على وشك تهيئة طابعة بعيدة. هذا يحتاج الى أن تكون وصلة الشبكة تعمل و لكن "
-"الشبكة لم يتم اعدادها حتى الآن. اذا كنت تريد المتابعة دون تهيئة الشبكة, "
-"ستكون قادراً على استخدام الطابعة التي تقةم بتهيئتها الآن. كيف تريد المتابعة؟"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS printer configuration"
-msgstr "إعدادات طابعات CUPS"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font in your mounted partitions"
-msgstr "لم أتمكن من ايجاد أي خطوط في تجزئاتك المحملة"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "F00f bug"
-msgstr "F00f bug"
-
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Domain Name:"
-msgstr "اسم النطاق:"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Do nothing"
+msgstr "لكن ليس موائمة"
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Root umask"
-msgstr "كلمة مرور المستخدم الجذر"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Install rpm"
+msgstr "تثبيت النظام"
-#: ../../any.pm:1
-#, c-format
-msgid "On Floppy"
-msgstr "على قرص مرن"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Title"
+msgstr "الجدول"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Reboot by the console user"
+#: ../../network/netconnect.pm_.c:29
+msgid ""
+"\n"
+"You can disconnect or reconfigure your connection."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore"
-msgstr "استعادة"
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Server:"
-msgstr "الخادم: "
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check if the network devices are in promiscuous mode."
-msgstr "if set to yes, check if the network devices are in promiscuous mode."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages..."
-msgstr "جاري العثور على الحزم المتوفرة..."
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Please wait, setting up system configuration files on USB key..."
-msgstr "انتظر من فضلك, جاري تعيين مستوى الأمن.."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Init Message"
-msgstr "رسالة Init"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Rescue partition table"
-msgstr "إنقاذ جدول التقسيم"
+#: ../../network/netconnect.pm_.c:29 ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can reconfigure your connection."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cyprus"
-msgstr "قبرص"
+#: ../../network/netconnect.pm_.c:29
+msgid "You are currently connected to internet."
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection complete."
-msgstr "تم الإتصال."
+#: ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can connect to Internet or reconfigure your connection."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from RAID"
-msgstr "ازالة من RAID"
+#: ../../network/netconnect.pm_.c:32
+msgid "You are not currently connected to Internet."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This encryption key is too simple (must be at least %d characters long)"
-msgstr "مفتاح التشفير هذا بسيط جدا (يجب أن يكون %d حرفا على الأقل)"
+#: ../../network/netconnect.pm_.c:36
+msgid "Connect"
+msgstr "اتصل"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Configuration Wizards"
-msgstr "معالجات التهيئة"
+#: ../../network/netconnect.pm_.c:37
+msgid "Disconnect"
+msgstr "اقطع الإتصال"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ISDN connection"
-msgstr "وصلة ISDN"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD-R / DVD-R"
-msgstr "CDROM / DVDROM"
+#: ../../network/netconnect.pm_.c:38
+msgid "Configure the connection"
+msgstr "قم بإعداد الإتصال"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "primary"
-msgstr "أساسي"
+#: ../../network/netconnect.pm_.c:41
+msgid "Internet connection & configuration"
+msgstr ""
-#: ../../printer/main.pm:1
+#: ../../network/netconnect.pm_.c:94
#, c-format
-msgid " on SMB/Windows server \"%s\", share \"%s\""
-msgstr "على خادم SMB/Windows \"%s\", المشاركة \"%s\""
+msgid "We are now going to configure the %s connection."
+msgstr ""
-#: ../../help.pm:1
+#: ../../network/netconnect.pm_.c:103
#, c-format
msgid ""
-"This dialog is used to choose which services you wish to start at boot\n"
-"time.\n"
"\n"
-"DrakX will list all the services available on the current installation.\n"
-"Review each one carefully and uncheck those which are not needed at boot\n"
-"time.\n"
"\n"
-"A short explanatory text will be displayed about a service when it is\n"
-"selected. However, if you are not sure whether a service is useful or not,\n"
-"it is safer to leave the default behavior.\n"
-"\n"
-"!! At this stage, be very careful if you intend to use your machine as a\n"
-"server: you will probably not want to start any services that you do not\n"
-"need. Please remember that several services can be dangerous if they are\n"
-"enabled on a server. In general, select only the services you really need.\n"
-"!!"
-msgstr ""
-"هذه الخطوة هي لاختيار الخدمات التي سيتم تشغيلها عند بدء التشغيل.\n"
"\n"
-"سيقوم DrakX بعرض قائمة بكل الخدمات المتوفرة في هذا التثبيت.\n"
-"راجع كل خدمة بتمعن و قم بإزالة التأشير من تلك الخدمات التي لا تحتاجها\n"
-"بشكل دائم عند الإقلاع.\n"
+"We are now going to configure the %s connection.\n"
"\n"
-"سيتم عرض شرح قصير حول الخدمة عند\n"
-"اختيارها. عموماً, اذا لم تكن متأكد ما اذا كانت الخدمة مفيدة أم لا,\n"
-"فمن الأفضل ترك الخيار الإفتراضي.\n"
"\n"
-"!! في هذه المرحلة كن حذراُ اذا كنت تريد استخدام ماكينتك\n"
-"كخادم: ربما لن تريد بدء أي خدمات لا تحتاجها.\n"
-"فضلاً تذكر أن العديد من الخدمات قد تكون خطرة اذا كانت\n"
-"متاحة على الخادم. بشكل عام اختر فقط الخدمات التي تحتاجها.\n"
-"!!"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Niue"
-msgstr "نيوي"
+"Press OK to continue."
+msgstr ""
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Skip"
-msgstr "تخطي"
+#: ../../network/netconnect.pm_.c:132 ../../network/netconnect.pm_.c:272
+#: ../../network/netconnect.pm_.c:292 ../../network/tools.pm_.c:77
+msgid "Network Configuration"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:133
msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
+"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"
-"عند بدء الإقلاع."
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/netconnect.pm_.c:157
msgid ""
-"the CPU frequency in MHz (Megahertz which in first approximation may be "
-"coarsely assimilated to number of instructions the cpu is able to execute "
-"per second)"
+"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 ""
-"تردد المعالج بالميغاهيرتز (الميغاهيرتز تشير الى العدد التقريبي من التعليمات "
-"التي يستطيع المعالج تنفيذها في الثانية الواحدة)"
-#: ../../pkgs.pm:1
-#, c-format
-msgid "important"
-msgstr "مهم"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Mandrake Linux Printer Management Tool"
-msgstr "أداة Mandrake Linux لإدارة المستخدمين"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total Progress"
-msgstr "اجمالي التقدم"
+#: ../../network/netconnect.pm_.c:163
+msgid "Choose the profile to configure"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"DrakX will first detect any IDE devices present in your computer. It will\n"
-"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
-"found, DrakX will automatically install the appropriate driver.\n"
-"\n"
-"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
-"your hard drives. If so, you'll have to specify your hardware by hand.\n"
-"\n"
-"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
-"want to configure options for it. You should allow DrakX to probe the\n"
-"hardware for the card-specific options which are needed to initialize the\n"
-"adapter. Most of the time, DrakX will get through this step without any\n"
-"issues.\n"
-"\n"
-"If DrakX is not able to probe for the options to automatically determine\n"
-"which parameters need to be passed to the hardware, you'll need to manually\n"
-"configure the driver."
+#: ../../network/netconnect.pm_.c:164
+msgid "Use auto detection"
msgstr ""
-"سيقوم DrakX أولاً بالتحقق من أي أجهزة IDE مرتبطة بالكمبيوتر. سيقوم\n"
-"أيضا بالتحقق من وجود بطاقات PCI SCSI على نظامك. اذا تم ايجاد\n"
-"بطاقة SCSI, سيقوم DrakX تلقائياً بتثبيت المشغل المناسب.\n"
-"\n"
-"لأن التحقق الآلي من العتاد غير خالي من الأخطاء, قد يتعذر\n"
-"على DrakX التحقق من أقراصك الصلبة. لذا سيكون عليك تحديد عتادك يدوياً.\n"
-"\n"
-"اذا اضطررت الى تحديد موائم PCI SCSI يدوياً, سيسألك DrakX عمّا اذا\n"
-"كنت تريد تهيئة الخيارات الخاصة به. يجب أن تسمح لـ DrakX بأن\n"
-"يقوم بالتحقق الآلي من العتاد لكي يحدد الخيارات الخاصة بالبطاقة\n"
-"و التي يحتاج اليها لتشغيل الموائم. في أغلب الأحيان, سيتخطى DrakX\n"
-"هذه الخطوة بدون أي مشاكل.\n"
-"\n"
-"اذا تعذر على DrakX التحقق من الخيارات آلياً ستحتاج\n"
-"الى تهيئة المشغل يدوياً."
-#: ../../lang.pm:1
-#, c-format
-msgid "Aruba"
-msgstr "أروبا"
+#: ../../network/netconnect.pm_.c:165 ../../printer/printerdrake.pm_.c:2966
+#: ../../standalone/drakconnect_.c:271 ../../standalone/drakconnect_.c:274
+#: ../../standalone/drakfloppy_.c:118
+msgid "Expert Mode"
+msgstr "وضعية الخبير"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Users"
-msgstr "المستخدمون"
+#: ../../network/netconnect.pm_.c:171 ../../printer/printerdrake.pm_.c:364
+msgid "Detecting devices..."
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing bootloader..."
-msgstr "جاري تحضير محمّل الإقلاع..."
+#: ../../network/netconnect.pm_.c:214
+msgid "Normal modem connection"
+msgstr ""
-#: ../../../move/move.pm:1
+#: ../../network/netconnect.pm_.c:214
#, c-format
-msgid "Enter your user information, password will be used for screensaver"
+msgid "detected on port %s"
msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway (e.g. %s)"
-msgstr "البوابة (مثلاً %s)"
+#: ../../network/netconnect.pm_.c:215
+#, fuzzy
+msgid "Winmodem connection"
+msgstr "وصلة انترنت"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "The passwords do not match"
-msgstr "كلمات المرور غير متطابقة"
+#: ../../network/netconnect.pm_.c:215 ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "detected"
+msgstr "detected %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Examples for correct IPs:\n"
-msgstr "أمثلة لعناوين IP صحيحة:\n"
+#: ../../network/netconnect.pm_.c:216
+msgid "ISDN connection"
+msgstr "ISDN connection"
-#: ../../standalone/drakbackup:1
+#: ../../network/netconnect.pm_.c:216
#, c-format
-msgid "Please choose the media for backup."
-msgstr "فضلاً اختر وسيط النسخ الاحتياطي."
+msgid "detected %s"
+msgstr "detected %s"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Frequency (MHz)"
-msgstr "التردد (ميغاهيرتز)"
+#: ../../network/netconnect.pm_.c:217
+msgid "ADSL connection"
+msgstr "وصلة ADSL"
-#: ../../install_any.pm:1
-#, c-format
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
+#: ../../network/netconnect.pm_.c:218
+msgid "Cable connection"
msgstr ""
-"لاستخدام اختياراتك المحفوظة للحزم, قم ببدء التثبيت مع خيار ``linux "
-"defcfg=floppy''"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the number of the processor"
-msgstr "رقم المعالج"
+#: ../../network/netconnect.pm_.c:218
+msgid "cable connection detected"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware clock set to GMT"
-msgstr "ساعة الجهاز مضبوطة على توقيت غرينتش"
+#: ../../network/netconnect.pm_.c:219
+msgid "LAN connection"
+msgstr "وصلة LAN"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Do you want to start a new configuration ?"
-msgstr "هل تريد بدء عملية ضبط جديدة؟"
+#: ../../network/netconnect.pm_.c:219
+msgid "ethernet card(s) detected"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Give a file name"
-msgstr "اعط اسم ملف"
+#: ../../network/netconnect.pm_.c:222
+msgid "Choose the connection you want to configure"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the port that your printer is connected to."
-msgstr "رجاء اختر المنفذ الموصلة إليه طابعتك."
+#: ../../network/netconnect.pm_.c:246
+msgid ""
+"You have configured multiple ways to connect to the Internet.\n"
+"Choose the one you want to use.\n"
+"\n"
+msgstr ""
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Change Cd-Rom"
-msgstr "غيّر القرص المدمج"
+#: ../../network/netconnect.pm_.c:247
+msgid "Internet connection"
+msgstr "وصلة انترنت"
-#: ../../lang.pm:1
-#, c-format
-msgid "Paraguay"
-msgstr "البارجواي"
+#: ../../network/netconnect.pm_.c:253
+msgid "Do you want to start the connection at boot?"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Configuration is complete, do you want to apply settings ?"
-msgstr "تم الانتهاء من التهيئة, هل تريد تطبيق الإعدادات ؟"
+#: ../../network/netconnect.pm_.c:267
+msgid "Network configuration"
+msgstr "ا عداد الشّبكة "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental/Differential Backups (do not replace old backups)"
-msgstr "استخدم النسخ التراكمي/الاختلافي (لا تستبدل النسخ الإحتياطية القديمة)"
+#: ../../network/netconnect.pm_.c:268
+msgid "The network needs to be restarted"
+msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../network/netconnect.pm_.c:272
#, c-format
msgid ""
-" - Maintain /etc/dhcpd.conf:\n"
-" \tTo net boot clients, each client needs a dhcpd.conf entry, "
-"assigning an IP \n"
-" \taddress and net boot images to the machine. drakTermServ helps "
-"create/remove \n"
-" \tthese entries.\n"
-"\t\t\t\n"
-" \t(PCI cards may omit the image - etherboot will request the correct "
-"image. \n"
-"\t\t\tYou should also consider that when etherboot looks for the images, it "
-"expects \n"
-"\t\t\tnames like boot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
-"\t\t\t \n"
-" \tA typical dhcpd.conf stanza to support a diskless client looks "
-"like:"
+"A problem occured while restarting the network: \n"
+"\n"
+"%s"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no known driver for your sound card (%s)"
-msgstr "لا يوجد مشغل معروف لبطاقة الصوت (%s)"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "force"
-msgstr "اجبار"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Exit"
-msgstr "خروج"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:282
msgid ""
-"NOTE: Depending on the printer model and the printing system up to %d MB of "
-"additional software will be installed."
+"Congratulations, the network and Internet configuration is finished.\n"
+"The configuration will now be applied to your system.\n"
+"\n"
msgstr ""
-"ملحوظة: اعتماداً على طراز الطابعة و نظام الطباعة فسيتم تثبيت حوالي %d "
-"ميغابايت من البرمجيات الإضافية."
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../network/netconnect.pm_.c:286
msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
+"After this is done, we recommend that you restart your X environment to "
+"avoid any hostname-related problems."
msgstr ""
-"لم تقم بتهيئة أي واجهات.\n"
-"قم بتهيئتهم أولا عن طريق الضغط على 'تهيئة'"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Estonian"
-msgstr "الإستونية"
-#: ../../services.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:287
msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
-msgstr "Apache هو خادم ويب. و يُستخدم لخدمة ملفات HTML و CGI."
+"Problems occured during configuration.\n"
+"Test your connection via net_monitor or mcc. If your connection doesn't "
+"work, you might want to relaunch the configuration."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/network.pm_.c:278
msgid ""
-"Enter your CD Writer device name\n"
-" ex: 0,1,0"
+"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"
-" مثال: 0,1,0"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ALL"
+#: ../../network/network.pm_.c:283
+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 ""
-#: ../../standalone/drakTermServ:1
+#: ../../network/network.pm_.c:293 ../../network/network.pm_.c:294
#, c-format
-msgid "Add/Del Clients"
-msgstr "أضف/احذف العملاء"
-
-#: ../../network/ethernet.pm:1 ../../standalone/drakgw:1
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Choose the network interface"
-msgstr "اختر واجهة الشبكة"
+msgid "Configuring network device %s"
+msgstr ""
-#: ../../printer/detect.pm:1 ../../printer/printerdrake.pm:1
+#: ../../network/network.pm_.c:294
#, c-format
-msgid "Unknown Model"
-msgstr "طراز غير معروف"
+msgid " (driver %s)"
+msgstr "(driver %s)"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CD/DVD burners"
-msgstr "أجهزة نسخ CD/DVD"
+#: ../../network/network.pm_.c:296 ../../standalone/drakconnect_.c:228
+#: ../../standalone/drakconnect_.c:464
+msgid "IP address"
+msgstr "IP address"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"التجزئة التي يتم اقلاعها افتراضيا\n"
-" (لـ MS-DOS و ليس لـ lilo)\n"
+#: ../../network/network.pm_.c:297 ../../standalone/drakconnect_.c:465
+#: ../../standalone/drakgw_.c:291
+msgid "Netmask"
+msgstr "Netmask"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to read the file"
-msgstr ""
+#: ../../network/network.pm_.c:298
+msgid "(bootp/dhcp)"
+msgstr "(bootp/dhcp)"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image"
-msgstr "إختر صورة"
+#: ../../network/network.pm_.c:298
+msgid "Automatic IP"
+msgstr "Automatic IP"
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid "Firewalling configuration detected!"
-msgstr "تم اكتشاف إعداد للجدار الناري!"
+#: ../../network/network.pm_.c:299
+msgid "Start at boot"
+msgstr "ابدأ عند الإقلاع"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection name"
-msgstr "اسم الإتصال"
+#: ../../network/network.pm_.c:320 ../../printer/printerdrake.pm_.c:812
+msgid "IP address should be in format 1.2.3.4"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../network/network.pm_.c:326
msgid ""
-"x coordinate of text box\n"
-"in number of characters"
+"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
+"frequency), or add enough '0'."
msgstr ""
-"الإحداثي السيني للصندوق النصي\n"
-"بعدد الحروف"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/network.pm_.c:330
msgid ""
-"You may not be able to install lilo (since lilo doesn't handle a LV on "
-"multiple PVs)"
+"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
+"enough '0'."
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Updating package selection"
-msgstr "جاري تحديث اختيار الحزم"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount the loopback file %s?"
-msgstr "أين تريد تحميل ملف loopback %s؟"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../network/network.pm_.c:350
msgid ""
-"The floppy has been successfully generated.\n"
-"You may now replay your installation."
+"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"
-"يمكنك الآن اعادة التثبيت."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use CD-R/DVD-R to backup"
-msgstr "استخدم CD/DVDROM للنسخ الإحتياطي"
+#: ../../network/network.pm_.c:355
+msgid "DNS server"
+msgstr "الخادم DNS"
-#: ../../standalone/harddrake2:1
+#: ../../network/network.pm_.c:356
#, c-format
-msgid "the number of buttons the mouse has"
-msgstr "عدد أزرار الفأرة"
+msgid "Gateway (e.g. %s)"
+msgstr "Gateway (e.g. %s)"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Replay"
-msgstr "اعادة"
+#: ../../network/network.pm_.c:358
+msgid "Gateway device"
+msgstr "Gateway device"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup other files"
-msgstr "انسخ ملفات أخرى"
+#: ../../network/network.pm_.c:363
+msgid "DNS server address should be in format 1.2.3.4"
+msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "No floppy drive available"
-msgstr "لا توجد سواقة أقراص مرنة"
+#: ../../network/network.pm_.c:367
+msgid "Gateway address should be in format 1.2.3.4"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files are corrupted"
-msgstr "ملفات النسخ الإحتياطي فاسدة"
+#: ../../network/network.pm_.c:381
+msgid "Proxies configuration"
+msgstr "Proxies اعداد"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "TV norm:"
-msgstr "TV norm :"
+#: ../../network/network.pm_.c:382
+msgid "HTTP proxy"
+msgstr "HTTP proxy"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid family"
-msgstr "عائلة هوية المعالج"
+#: ../../network/network.pm_.c:383
+msgid "FTP proxy"
+msgstr "FTP proxy"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "32 MB"
-msgstr "32 ميغابايت"
+#: ../../network/network.pm_.c:384
+msgid "Track network card id (useful for laptops)"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: thin"
-msgstr "النوع: رفيع"
+#: ../../network/network.pm_.c:387
+msgid "Proxy should be http://..."
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (new)"
-msgstr "الليتوانية AZERTY (جديد)"
+#: ../../network/network.pm_.c:388
+msgid "Url should begin with 'ftp:' or 'http:'"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the arithmetic coprocessor has an exception vector attached"
-msgstr "نعم تعني أن المعالج المساعد للعمليات الحسابية لديه متجه للإستثناءات"
+#: ../../network/shorewall.pm_.c:26
+msgid "Firewalling configuration detected!"
+msgstr "تم اكتشاف إعداد للجدار الناري!"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/shorewall.pm_.c:27
msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"Please be sure to add a /boot partition"
+"Warning! An existing firewalling configuration has been detected. You may "
+"need some manual fix after installation."
msgstr ""
-"لقد اخترت تجزئة RAID برمجية كتجزئة جذرية (/).\n"
-"لا يستطيع أي محمّل اقلاع التعامل مع ذلك بدون تجزئة /boot.\n"
-"فضلاً تأكد من اضافة تجزئة /boot"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (MacOS...)"
-msgstr "نظام آخر (MacOS...)"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "To activate the mouse,"
-msgstr "لتنشيط الفأرة,"
+"تحذير! تم إيجاد إعداد جدار ناري موجود مسبقا. ربما تحتاج الى اصلاح يدوي بعد "
+"التثبيت."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing up the network"
-msgstr "جاري تشغيل الشبكة"
+#: ../../network/tools.pm_.c:57
+msgid "Internet configuration"
+msgstr "اعداد Internet "
-#: ../../common.pm:1
-#, c-format
-msgid "Screenshots will be available after install in %s"
-msgstr "ستكون لقطات الشاشة موجودة بعد التثبيت في %s"
+#: ../../network/tools.pm_.c:58
+msgid "Do you want to try to connect to the Internet now?"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"More than one Microsoft partition has been detected on your hard drive.\n"
-"Please choose which one you want to resize in order to install your new\n"
-"Mandrake Linux operating system.\n"
-"\n"
-"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
-"\"Capacity\".\n"
-"\n"
-"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc.\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
-"disk or partition is called \"C:\")."
+#: ../../network/tools.pm_.c:61 ../../standalone/drakconnect_.c:193
+msgid "Testing your connection..."
msgstr ""
-"في الأعلى ستجد تقسيمات Linux الموجودة و التي تم ايجادها على القرص الصلب "
-"الخاص بك.\n"
-"يمكنك أن تُبقي إختيارات المعالج, و هي جيدة لأغلب أنواع التثبيت.\n"
-"إذا قمت بعمل أي تغييرات فيجب عليك أن تعرف التقسيم الجذر (\"/\"). لا تختر\n"
-"تقسيمات ضغيرة جدا و إلا لن تستطيع تثبيت برامج كافية. إذا كنت تريد تخزين "
-"البيانات\n"
-"على تقسيم مستقل فستحتاج الى عمل تقسيم لـ\"/home\"\n"
-"(ممكن فقط إذا كان لديك أكثر من تقسيم لLinux).\n"
-"\n"
-"كل تقسيم مُعطى بالسكل التالي: \"اسم Linux\", \"اسم ويندوز\",\n"
-" \"السعة\".\n"
-"\n"
-"\"اسم Linux\" مركب بالسكل التالي: \"نوع القرص الصلب\", \"رقم القرص الصلب\",\n"
-"\"رقم التقسيم\" (مثلا, \"hda1\").\n"
-"\n"
-"\"رقم القرص الصلب\" دائما هو حرف بعد \"hd\" أو \"sd\". بالنسبة للأقراص "
-"الصلبة\n"
-"من نوع IDE فإن:\n"
-" * \"a\" تعني \"القرص الصلب الأساسي على متحكم IDE الأساسي\",\n"
-"\n"
-" * \"b\" تعني \"القرص الصلب الثانوي على متحكم IDE الأساسي\",\n"
-"\n"
-" * \"c\" تعني \"القرص الصلب الأساسي على متحكم IDE الثانوي\",\n"
-"\n"
-" * \"d\" تعني \"القرص الصلب الثانوي على متحكم IDE الثانوي\",\n"
-"\n"
-"أما بالنسبة لأقراص سكزي SCSI فالحرف \"a\" يعني \"أقل معرف SCSI\", و الحرف \"b"
-"\"\n"
-"يعني \"ثاني أقل معرف SCSI\", الخ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Tanzania"
-msgstr "تنزانيا"
+#: ../../network/tools.pm_.c:70
+msgid "The system is now connected to Internet."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Computing FAT filesystem bounds"
-msgstr "جاري حساب روابط نظام ملفات FAT"
+#: ../../network/tools.pm_.c:71
+msgid "For security reason, it will be disconnected now."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/tools.pm_.c:72
msgid ""
-"\n"
-"Backup Sources: \n"
+"The system doesn't seem to be connected to internet.\n"
+"Try to reconfigure your connection."
msgstr ""
-"\n"
-"مصادر المساعد :\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "custom"
-msgstr "مخصص"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Content of the file"
-msgstr "محتويات الملف"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication LDAP"
-msgstr "تحقق LDAP"
+#: ../../network/tools.pm_.c:96
+msgid "Connection Configuration"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "in order to keep %s"
+#: ../../network/tools.pm_.c:97
+msgid "Please fill or check the field below"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Let me pick any driver"
-msgstr "اسمح لي أن أختار مشغل"
+#: ../../network/tools.pm_.c:99 ../../standalone/drakconnect_.c:605
+msgid "Card IRQ"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "transmitted"
-msgstr "مبعوثة"
+#: ../../network/tools.pm_.c:100 ../../standalone/drakconnect_.c:606
+msgid "Card mem (DMA)"
+msgstr "Card mem (DMA)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palestine"
-msgstr "فلسطين"
+#: ../../network/tools.pm_.c:101 ../../standalone/drakconnect_.c:607
+msgid "Card IO"
+msgstr "Card IO"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
+#: ../../network/tools.pm_.c:102 ../../standalone/drakconnect_.c:608
+msgid "Card IO_0"
+msgstr "Card IO_0"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated strings"
-msgstr "%d حرفيات مفصولة بالفاصلة"
+#: ../../network/tools.pm_.c:103 ../../standalone/drakconnect_.c:609
+msgid "Card IO_1"
+msgstr "Card IO_1"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " isdn"
+#: ../../network/tools.pm_.c:104 ../../standalone/drakconnect_.c:610
+msgid "Your personal phone number"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Here is the full list of keyboards available"
-msgstr "ها هي قائمة كاملة بكل لوحات المفاتيح المتوفرة"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Theme name"
-msgstr "اسم السمة"
-
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Help"
-msgstr "/_مساعدة"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Choosing an arbitrary driver"
-msgstr "جاري اختيار مشغل عام"
+#: ../../network/tools.pm_.c:105 ../../standalone/drakconnect_.c:611
+msgid "Provider name (ex provider.net)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cook Islands"
-msgstr "جزر الكوك"
+#: ../../network/tools.pm_.c:106 ../../standalone/drakconnect_.c:612
+msgid "Provider phone number"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Here you can choose whether the scanners connected to this machine should be "
-"accessable by remote machines and by which remote machines."
+#: ../../network/tools.pm_.c:107 ../../standalone/drakconnect_.c:613
+msgid "Provider dns 1 (optional)"
msgstr ""
-"هنا يمكنك اختيار اذا كانت الماسحات الضوئية المتصلة بهذه الماكينة يمكن الوصول "
-"اليها من الماكينات البعيدة و عن طريق أي ماكينات بعيدة."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the width of the progress bar"
-msgstr "عرض شريط التقدم"
+#: ../../network/tools.pm_.c:108 ../../standalone/drakconnect_.c:614
+msgid "Provider dns 2 (optional)"
+msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "Formatting partition %s"
-msgstr "جاري تهيئة التجزئة %s"
+#: ../../network/tools.pm_.c:109
+msgid "Choose your country"
+msgstr "إختر بلدك"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hostname required"
-msgstr "يُحتاج الى اسم المستضيف"
+#: ../../network/tools.pm_.c:110 ../../standalone/drakconnect_.c:617
+msgid "Dialing mode"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselect fonts installed"
-msgstr "احذف اختيار الخطوط المثبتة"
+#: ../../network/tools.pm_.c:111 ../../standalone/drakconnect_.c:629
+msgid "Connection speed"
+msgstr "سرعة الإتصال"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Wheel"
-msgstr "Wheel"
+#: ../../network/tools.pm_.c:112 ../../standalone/drakconnect_.c:630
+msgid "Connection timeout (in sec)"
+msgstr "الوقت الأقصى للاتصال (بالثواني)"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Submit kernel version"
-msgstr "اصدارة النواة"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakautoinst:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/logdrake:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Cancel"
-msgstr "الغاء"
+#: ../../network/tools.pm_.c:113 ../../standalone/drakconnect_.c:615
+msgid "Account Login (user name)"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for configured scanners ..."
-msgstr "جاري البحث عن ماسحات ضوئية معدّة..."
+#: ../../network/tools.pm_.c:114 ../../standalone/drakconnect_.c:616
+#: ../../standalone/drakconnect_.c:647
+msgid "Account Password"
+msgstr "Account Password"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Videocard"
-msgstr "بطاقة الفيديو"
+#: ../../network/tools.pm_.c:118 ../../network/tools.pm_.c:132
+msgid "United Kingdom"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and bzip2\n"
-msgstr "\tالنسخ الإحتياطية تستخدم tar و bzip2\n"
+#: ../../partition_table.pm_.c:603
+msgid "mount failed: "
+msgstr "فشل التحميل: "
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Remove Selected"
-msgstr "احذف المادة المختارة"
+#: ../../partition_table.pm_.c:667
+msgid "Extended partition not supported on this platform"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _modems"
-msgstr "/تحقق آلي من أ_جهزة المودم"
+#: ../../partition_table.pm_.c:685
+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 ""
-#: ../../printer/printerdrake.pm:1
+#: ../../partition_table.pm_.c:774
#, c-format
-msgid "Remove printer"
-msgstr "احذف الطابعة"
+msgid "Restoring from file %s failed: %s"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Last Log"
+#: ../../partition_table.pm_.c:776
+msgid "Bad backup file"
msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../partition_table.pm_.c:796
#, c-format
-msgid "Which services would you like to allow the Internet to connect to?"
-msgstr "أي خدمة تريد السماح للإنترنت أن تتصل بها؟"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Connection Type"
-msgstr "نوع الإتصال"
+msgid "Error writing to file %s"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
+#: ../../partition_table/raw.pm_.c:192
msgid ""
-"Welcome to the mail configuration utility.\n"
-"\n"
-"Here, you'll be able to set up the alert system.\n"
+"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"
-
-#: ../../install_steps_gtk.pm:1 ../../mouse.pm:1 ../../services.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Other"
-msgstr "أخرى"
-#: ../../any.pm:1 ../../harddrake/v4l.pm:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Default"
-msgstr "الإفتراضي"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 2 Emulation"
-msgstr "محاكاة الزر 2"
+#: ../../pkgs.pm_.c:26
+msgid "must have"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Please enter a package name."
-msgstr "رجاءً قم بإعطاء اسم مستخدم"
+#: ../../pkgs.pm_.c:27
+msgid "important"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run chkrootkit checks"
-msgstr "شغّل اختبارات chkrootkit"
+#: ../../pkgs.pm_.c:28
+msgid "very nice"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "type1inst building"
-msgstr "بناء type1inst"
+#: ../../pkgs.pm_.c:29
+msgid "nice"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Abiword"
-msgstr "Abiword"
+#: ../../pkgs.pm_.c:30
+msgid "maybe"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image file"
-msgstr "إختر ملف صورة"
+#: ../../printer/data.pm_.c:18
+msgid "PDQ - Print, Don't Queue"
+msgstr "PDQ - Print, Don't Queue"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "X server"
-msgstr "خادم X"
+#: ../../printer/data.pm_.c:19
+msgid "PDQ"
+msgstr "PDQ"
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin User Name"
-msgstr "اسم المستخدم لمدير النطاق"
+#: ../../printer/data.pm_.c:30
+msgid "LPD - Line Printer Daemon"
+msgstr "LPD - Line Printer Daemon"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "There was an error while scanning for TV channels"
-msgstr "كان هناك خطأ أثناء ضبط قنوات التلفاز"
+#: ../../printer/data.pm_.c:31
+msgid "LPD"
+msgstr "LPD"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard (international)"
-msgstr "لوحة مفاتيح أمريكية (دولي)"
+#: ../../printer/data.pm_.c:51
+msgid "LPRng - LPR New Generation"
+msgstr "LPRng - LPR New Generation"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Not installed"
-msgstr "غير مثبّت"
+#: ../../printer/data.pm_.c:52
+msgid "LPRng"
+msgstr "LPRng"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Alt keys simultaneously"
-msgstr "مفتاحيّ Alt في نفس الوقت"
+#: ../../printer/data.pm_.c:75
+msgid "CUPS - Common Unix Printing System"
+msgstr "CUPS - Common Unix Printing System"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "LAN connection"
-msgstr "وصلة LAN"
+#: ../../printer/data.pm_.c:76 ../../printer/main.pm_.c:677
+msgid "CUPS"
+msgstr "CUPS"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/-"
-msgstr "/ملف/-"
+#: ../../printer/detect.pm_.c:80 ../../printer/detect.pm_.c:213
+#: ../../printer/detect.pm_.c:250
+#, fuzzy
+msgid "Unknown Model"
+msgstr "غير معروف"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Italian"
-msgstr "الإيطالية"
+#: ../../printer/main.pm_.c:26
+msgid "Local printer"
+msgstr "طابعة محلية"
-#: ../../interactive.pm:1
-#, c-format
-msgid "Basic"
-msgstr "أساسي"
+#: ../../printer/main.pm_.c:27
+msgid "Remote printer"
+msgstr "طابعة بعيدة"
-#: ../../install_messages.pm:1
-#, c-format
-msgid "http://www.mandrakelinux.com/en/92errata.php3"
-msgstr "http://www.mandrakelinux.com/en/92errata.php3"
+#: ../../printer/main.pm_.c:28
+msgid "Printer on remote CUPS server"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Honduras"
-msgstr "هندوراس"
+#: ../../printer/main.pm_.c:29 ../../printer/printerdrake.pm_.c:835
+msgid "Printer on remote lpd server"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "pdq"
-msgstr "pdq"
+#: ../../printer/main.pm_.c:30
+msgid "Network printer (TCP/Socket)"
+msgstr "طابعة شبكة (TCP/Socket)"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO"
-msgstr "Card IO"
+#: ../../printer/main.pm_.c:31
+msgid "Printer on SMB/Windows 95/98/NT server"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Samba server"
-msgstr "خادم Samba"
+#: ../../printer/main.pm_.c:32
+msgid "Printer on NetWare server"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
+#: ../../printer/main.pm_.c:33 ../../printer/printerdrake.pm_.c:839
+msgid "Enter a printer device URI"
msgstr ""
-"\n"
-"تجزئة الإقلاع\n"
-"هذه هي\n"
-"للإقلاع المزدوج في نظامك.\n"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid ""
-"Please choose for each step whether it will replay like your install, or it "
-"will be manual"
+#: ../../printer/main.pm_.c:34
+msgid "Pipe job into a command"
msgstr ""
-"فضلاً اختر لكل خطوة اذا كنت ستقوم بإعادتها آلياً أم أنك تريد أن يكون التثبيت "
-"بشكل يدوي."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"You can also decide here whether scanners on remote machines should be made "
-"available on this machine."
+#: ../../printer/main.pm_.c:290 ../../printer/main.pm_.c:478
+#: ../../printer/main.pm_.c:794 ../../printer/printerdrake.pm_.c:3228
+msgid "Unknown model"
msgstr ""
-"يمكنك أيضاً أن تقرر هنا اذا كانت الماسحات الضوئية على الماكينات البعيدة يجب "
-"أن تكون متوفرة لهذع الماكينة."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by FTP.\n"
-msgstr "\t-الشبكة عن طريق FTP.\n"
+#: ../../printer/main.pm_.c:317
+msgid "Local Printers"
+msgstr "الطابعات المحلية"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Reports check result to tty"
-msgstr "يقوم بتقرير نتيجة الاختبار الى الطرفية"
+#: ../../printer/main.pm_.c:319 ../../printer/main.pm_.c:678
+msgid "Remote Printers"
+msgstr "الطابعات البعيدة"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/main.pm_.c:326 ../../printer/printerdrake.pm_.c:381
#, c-format
-msgid "You must enter a device or file name!"
-msgstr "يجب عليك ادخال جهاز أو اسم ملف!"
+msgid " on parallel port \\/*%s"
+msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
+#: ../../printer/main.pm_.c:329 ../../printer/printerdrake.pm_.c:383
#, c-format
-msgid "/_Quit"
-msgstr "/_خروج"
+msgid ", USB printer \\/*%s"
+msgstr ""
-#: ../../Xconfig/various.pm:1
+#: ../../printer/main.pm_.c:334
#, c-format
-msgid "Graphics memory: %s kB\n"
-msgstr "ذاكرة بطاقة الشاشة: %s كيلوبايت\n"
+msgid ", multi-function device on parallel port \\/*%s"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+#: ../../printer/main.pm_.c:337
+msgid ", multi-function device on USB"
msgstr ""
-" هذا البرنامج هو برنامج حر; يمكنك اعادة توزيعة و/أو تعديله\n"
-" تحت بنود رخصة GNU العمومية الشاملة (GPL) كما نُشِرت عن طريق\n"
-" جمعية البرمجيات الحرة; إما اإصدار الثاني من الترخيص أو\n"
-" أي نسخة تالية (حسب اختيارك).\n"
-"\n"
-" هذا البرنامج يُوزَّع على أمل أن يكون مفيدا,\n"
-" لكن دون أي ضمان’; حتى بدون الضمانة المفهومة\n"
-" للإتجار أو المناسبة لغرض معين. انظر\n"
-" رخصة GNU العمومية الشاملة للتفاصيل.\n"
-"\n"
-" يجب أن تكون قد تسلمت نسخة من ترخيص GNU العمومية الشاملة\n"
-" مع البرنامج; في حالة عدم تسلم الرخصة راسل جمعية البرمجيات الحرة على العنوان "
-"التالي\n"
-" Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
-"02111-1307,\n"
-" USA.\n"
-#: ../../any.pm:1
-#, c-format
-msgid "access to compilation tools"
-msgstr "الوصول الى أدوات التجميع"
+#: ../../printer/main.pm_.c:339
+msgid ", multi-function device on HP JetDirect"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Global statistics"
-msgstr "احصائيات"
+#: ../../printer/main.pm_.c:341
+msgid ", multi-function device"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/main.pm_.c:344
#, c-format
-msgid "Please select data to restore..."
-msgstr "رجاء اختر تاريخ الإستعادة..."
+msgid ", printing to %s"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../printer/main.pm_.c:346
#, c-format
-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"
+msgid " on LPD server \"%s\", printer \"%s\""
msgstr ""
-"اذا كنت تريد استخدام aboot, فلا تنسى أن تترك مساحة فارغة في\n"
-"بداية القرص (2048 قطاعات كافية)"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/main.pm_.c:348
#, c-format
-msgid "Standard test page"
-msgstr "صفحة اختبارية قياسية"
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Time Zone"
-msgstr "المنطقة الزمنية"
+msgid ", TCP/IP host \"%s\", port %s"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
+#: ../../printer/main.pm_.c:352
#, c-format
-msgid "Create"
-msgstr "انشاء تجزئة"
+msgid " on SMB/Windows server \"%s\", share \"%s\""
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/main.pm_.c:356
#, c-format
-msgid "What"
-msgstr "ماذا "
+msgid " on Novell server \"%s\", printer \"%s\""
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
+#: ../../printer/main.pm_.c:358
#, c-format
-msgid "There was an error ordering packages:"
-msgstr "كان هناك خطأ في ترتيب الحزم:"
+msgid ", using command %s"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (BDS)"
-msgstr "البلغارية (BDS)"
+#: ../../printer/main.pm_.c:475 ../../printer/printerdrake.pm_.c:1603
+msgid "Raw printer (No driver)"
+msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../printer/main.pm_.c:647
#, c-format
-msgid "Disable Server"
-msgstr "عطّل الخادم"
+msgid "(on %s)"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem encryption key"
-msgstr "مفتاح تشفير نظام الملفات"
+#: ../../printer/main.pm_.c:649
+msgid "(on this machine)"
+msgstr ""
-#: ../../keyboard.pm:1
+#: ../../printer/main.pm_.c:674
#, c-format
-msgid "Gujarati"
-msgstr "غوجاراتي"
+msgid "On CUPS server \"%s\""
+msgstr "على خادم CUPS \"%s\""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" While you can use a pool of IP addresses, rather than setup a "
-"specific entry for\n"
-" a client machine, using a fixed address scheme facilitates using the "
-"functionality\n"
-" of client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-" Note: The '#type' entry is only used by drakTermServ. Clients can "
-"either be 'thin'\n"
-" or 'fat'. Thin clients run most software on the server via xdmcp, "
-"while fat clients run \n"
-" most software on the client machine. A special inittab, %s is\n"
-" written for thin clients. System config files xdm-config, kdmrc, and "
-"gdm.conf are \n"
-" modified if thin clients are used, to enable xdmcp. Since there are "
-"security issues in \n"
-" using xdmcp, hosts.deny and hosts.allow are modified to limit access "
-"to the local\n"
-" subnet.\n"
-"\t\t\t\n"
-" Note: The '#hdw_config' entry is also only used by drakTermServ. "
-"Clients can either \n"
-" be 'true' or 'false'. 'true' enables root login at the client "
-"machine and allows local \n"
-" hardware configuration of sound, mouse, and X, using the 'drak' "
-"tools. This is enabled \n"
-" by creating separate config files associated with the client's IP "
-"address and creating \n"
-" read/write mount points to allow the client to alter the file. Once "
-"you are satisfied \n"
-" with the configuration, you can remove root login privileges from "
-"the client.\n"
-"\t\t\t\n"
-" Note: You must stop/start the server after adding or changing "
-"clients."
+#: ../../printer/main.pm_.c:680 ../../printer/printerdrake.pm_.c:2888
+#: ../../printer/printerdrake.pm_.c:2899 ../../printer/printerdrake.pm_.c:3120
+#: ../../printer/printerdrake.pm_.c:3171 ../../printer/printerdrake.pm_.c:3197
+#: ../../printer/printerdrake.pm_.c:3352 ../../printer/printerdrake.pm_.c:3354
+msgid " (Default)"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid ""
-"Please choose the first number of the 10-range you wish to edit,\n"
-"or just hit Enter to proceed.\n"
-"Your choice? "
+#: ../../printer/printerdrake.pm_.c:27
+msgid "Select Printer Connection"
msgstr ""
-"Please choose the first number of the 10-range you wish to edit,\n"
-"or just hit Enter to proceed.\n"
-"Your choice? "
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:28
+msgid "How is the printer connected?"
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:30
msgid ""
"\n"
-" Copyright (C) 2002 by MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
-"\n"
+"Printers on remote CUPS servers you do not have to configure here; these "
+"printers will be automatically detected."
msgstr ""
-"\n"
-" جميع الحقوق محفوظة (C) 2002 لـMandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
-"\n"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Save theme"
-msgstr "احفظ السمة"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Brazil"
-msgstr "البرازيل"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Auto Install"
-msgstr "تثبيت آلي"
-
-#: ../../network/isdn.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Network Configuration Wizard"
-msgstr "معالج إعداد الشبكة"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removable media automounting"
-msgstr "التحميل الآلي للوسائط القابلة للإزالة"
+#: ../../printer/printerdrake.pm_.c:38
+msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Printing"
-msgstr "الطباعة"
+#: ../../printer/printerdrake.pm_.c:81 ../../printer/printerdrake.pm_.c:2950
+msgid "CUPS configuration"
+msgstr " CUPS اعدادات"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save:"
-msgstr "اختر الدليل الذي سيتم حفظه:"
+#: ../../printer/printerdrake.pm_.c:82 ../../printer/printerdrake.pm_.c:2951
+msgid "Specify CUPS server"
+msgstr "الخادم CUPS حدّد"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:83
msgid ""
-"There are no printers found which are directly connected to your machine"
-msgstr "لم يتم العثور على طابعات متصلة مباشرةً بهذه الماكينة"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create a new partition"
-msgstr "انشئ تجزئة جديدة"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Driver:"
-msgstr "المشغل:"
-
-# ../../standalone/harddrake2:1, c-format
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "unknown"
-msgstr "غير معروف"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use fdisk"
-msgstr "استخدم fdisk"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "MOVE YOUR WHEEL!"
-msgstr "حرك عجلة الفأرة!"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "sent: "
-msgstr "مُرسل: "
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Automatic IP"
-msgstr "Automatic IP"
+"To get access to printers on remote CUPS servers in your local network you "
+"do not have to configure anything; the CUPS servers inform your machine "
+"automatically about their printers. All printers currently known to your "
+"machine are listed in the \"Remote printers\" section in the main window of "
+"Printerdrake. When your CUPS server is not in your local network, you have "
+"to enter the CUPS server IP address and optionally the port number to get "
+"the printer information from the server, otherwise leave these fields blank."
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:84
msgid ""
-"There you are. Installation is now complete and your GNU/Linux system is\n"
-"ready to use. Just click \"%s\" to reboot the system. The first thing you\n"
-"should see after your computer has finished doing its hardware tests is the\n"
-"bootloader menu, giving you the choice of which operating system to start.\n"
-"\n"
-"The \"%s\" button shows two more buttons to:\n"
-"\n"
-" * \"%s\": to create an installation floppy disk that will automatically\n"
-"perform a whole installation without the help of an operator, similar to\n"
-"the installation you just configured.\n"
-"\n"
-" Note that two different options are available after clicking the button:\n"
-"\n"
-" * \"%s\". This is a partially automated installation. The partitioning\n"
-"step is the only interactive procedure.\n"
"\n"
-" * \"%s\". Fully automated installation: the hard disk is completely\n"
-"rewritten, all data is lost.\n"
-"\n"
-" This feature is very handy when installing a number of similar machines.\n"
-"See the Auto install section on our web site for more information.\n"
-"\n"
-" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
-"To use this selection with another installation, insert the floppy and\n"
-"start the installation. At the prompt, press the [F1] key and type >>linux\n"
-"defcfg=\"floppy\" <<.\n"
-"\n"
-"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
-"\"mformat a:\")"
+"Normally, CUPS is automatically configured according to your network "
+"environment, so that you can access the printers on the CUPS servers in your "
+"local network. If this does not work correctly, turn off \"Automatic CUPS "
+"configuration\" and edit your file /etc/cups/cupsd.conf manually. Do not "
+"forget to restart CUPS afterwards (command: \"service cups restart\")."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Moldova"
-msgstr "مولدوفا"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
+#: ../../printer/printerdrake.pm_.c:88
+msgid "The IP address should look like 192.168.1.20"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuration of a remote printer"
-msgstr "تهيئة طابعة بعيدة"
+#: ../../printer/printerdrake.pm_.c:92 ../../printer/printerdrake.pm_.c:1041
+msgid "The port number should be an integer!"
+msgstr ""
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "An online platform to respond to enterprise support needs."
-msgstr "بيئة على الإنترنت للإستجابة لاحتياجات الدعم الفني للشركات"
+#: ../../printer/printerdrake.pm_.c:99
+msgid "CUPS server IP"
+msgstr "عنوان IP لخادم CUPS"
-#: ../../network/network.pm:1
-#, c-format
-msgid "URL should begin with 'ftp:' or 'http:'"
-msgstr "يجب أن يبدأ العنوان بـ 'ftp:' أو 'http:'"
+#: ../../printer/printerdrake.pm_.c:100 ../../printer/printerdrake.pm_.c:1061
+#: ../../standalone/harddrake2_.c:63
+msgid "Port"
+msgstr "البوابة"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Oriya"
-msgstr "أوريا"
+#: ../../printer/printerdrake.pm_.c:102
+msgid "Automatic CUPS configuration"
+msgstr "تهيئة CUPS آلية"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a new rule at the end"
-msgstr "أضف قاعدة جديدة في النهاية"
+#: ../../printer/printerdrake.pm_.c:159
+msgid "Checking your system..."
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "LiLo and Bootsplash themes installation successful"
-msgstr "تم تثبيت سمات LiLo و Bootsplash بنجاح"
+#: ../../printer/printerdrake.pm_.c:159 ../../printer/printerdrake.pm_.c:226
+#: ../../printer/printerdrake.pm_.c:1477 ../../printer/printerdrake.pm_.c:1481
+#: ../../printer/printerdrake.pm_.c:1598 ../../printer/printerdrake.pm_.c:2133
+#: ../../printer/printerdrake.pm_.c:2284 ../../printer/printerdrake.pm_.c:2343
+#: ../../printer/printerdrake.pm_.c:2415 ../../printer/printerdrake.pm_.c:2436
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2630
+#: ../../printer/printerdrake.pm_.c:2636 ../../printer/printerdrake.pm_.c:2701
+#: ../../printer/printerdrake.pm_.c:2720 ../../printer/printerdrake.pm_.c:2731
+#: ../../printer/printerdrake.pm_.c:2764 ../../printer/printerdrake.pm_.c:2809
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:2911
+#: ../../printer/printerdrake.pm_.c:2989 ../../printer/printerdrake.pm_.c:3281
+#: ../../printer/printerdrake.pm_.c:3328 ../../printer/printerdrake.pm_.c:3369
+#: ../../standalone/printerdrake_.c:47
+msgid "Printerdrake"
+msgstr "Printerdrake"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:167
msgid ""
-"You can also decide here whether printers on remote machines should be "
-"automatically made available on this machine."
+"There are no printers found which are directly connected to your machine"
msgstr ""
-"يمكنك كذلك أن تقرر هنا اذا كانت الطابعات الموجودة على الأجهزة البعيدة أن "
-"تكون متوفرة آلياً لهذه الماكينة."
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:179
msgid ""
-"You may now provide options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
+"The following printers\n"
+"\n"
msgstr ""
-"يمكنك الآن اعطاء الخيارات للوحدة %s.\n"
-"الخيارات في هيئة ``name=value name2=value2 ...'' \n"
-"مثلا, ``io=0x300 irq=7''"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without writing the partition table?"
-msgstr "هل تريد الخروج بدون كتابة جدول التقسيم؟"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Hard Drive"
-msgstr "على القرص الصّلب"
-#: ../../standalone.pm:1
-#, c-format
-msgid "Installing packages..."
-msgstr "جاري تركيب الجزم..."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dutch"
-msgstr "الهولندية"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Angola"
-msgstr "أنغولا"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "The following packages need to be installed:\n"
-msgstr "يجب تثبيت الحزم التالية:\n"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "service setting"
-msgstr "إعدادات الخدمات"
-
-#: ../../any.pm:1 ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Custom"
-msgstr "مخصص"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Latvia"
-msgstr "لاتفيا"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File is already used by another loopback, choose another one"
-msgstr "هذا الملف مستخدم من loopback أخرى, اختر ملفا آخر"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read-only"
-msgstr "للقراءة فقط"
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:180
msgid ""
-"Enable/Disable name resolution spoofing protection. If\n"
-"\"alert\" is true, also reports to syslog."
-msgstr ""
-"Arguments: (arg, alert=1)\n"
+"The following printer\n"
"\n"
-"Enable/Disable name resolution spoofing protection. If\n"
-"\\fIalert\\fP is true, also reports to syslog."
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No known driver"
-msgstr "لا يوجد مشغل معروف"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "1 MB"
-msgstr "1 ميغابايت"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:182
msgid ""
-"If it is not the one you want to configure, enter a device name/file name in "
-"the input line"
+"\n"
+"and one unknown printer are "
msgstr ""
-"اذا لم تكن هذه هي التي تريد تهيئتها, أدخل اسم جهاز/اسم ملف في حقل الإدخال"
-#: ../../standalone/draksound:1
+#: ../../printer/printerdrake.pm_.c:184
#, c-format
msgid ""
-"No Sound Card has been detected on your machine. Please verify that a Linux-"
-"supported Sound Card is correctly plugged in.\n"
-"\n"
"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
+"and %d unknown printers are "
msgstr ""
-"تعذر ايجاد بطاقة صوت على جهازك. فضلاً تأكد من أن بطاقة الصوت المدعومة من "
-"Linux موصولة بشكل صحيح.\n"
-"\n"
-"\n"
-"يمكنك زيارة قاعدة بيانات العتاد المدعوم الخاصة بنا على:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Local Area Network..."
-msgstr "إعداد الشبكة المحلية..."
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:187
msgid ""
-"The USB key seems to have write protection enabled. Please\n"
-"unplug it, remove write protection, and then plug it again."
+"\n"
+"are "
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the sound system on your machine"
-msgstr "يشغل نظام الصوت على جهازك"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Verify checksum of the suid/sgid files"
-msgstr "if set to yes, verify checksum of the suid/sgid files."
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Run some checks against the rpm database"
-msgstr "if set to yes, run some checks against the rpm database."
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Execute"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"is "
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Preparing printer database..."
-msgstr "جاري تحضير قاعدة بيانات الطابعات..."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Information"
-msgstr "معلومات"
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "No network card"
-msgstr "لا توجد بطاقة شبكة"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons"
-msgstr "3 أزرار"
-
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Which filesystem do you want?"
-msgstr "أي نظام ملفات تريد؟"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Malta"
-msgstr "مالطة"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Detailed information"
-msgstr "معلومات مفصّلة"
+#: ../../printer/printerdrake.pm_.c:189
+#, fuzzy
+msgid "directly connected to your system"
+msgstr "انسخ الخطوط الى نظامك"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:192
msgid ""
-"Printer default settings\n"
"\n"
-"You should make sure that the page size and the ink type/printing mode (if "
-"available) and also the hardware configuration of laser printers (memory, "
-"duplex unit, extra trays) are set correctly. Note that with a very high "
-"printout quality/resolution printing can get substantially slower."
+"There is one unknown printer directly connected to your system"
msgstr ""
-"اعدادات الطابعة الإفتراضية\n"
-"\n"
-"يجب عليك التأكد اذا كان حجم الصفحة و نوع الحبر/وضع الطباعة (ان وجد) بالإضافة "
-"الى اعدادات العتاد لطابعات الليزر (الذاكرة, وحدات الدوبلكس, المنصات "
-"الإضافية) معدّة بشكل صحيح. لاحظ أن جودة طباعة عالية جداً قد تجهل الطباعة بطيئة."
-
-#: ../../install_any.pm:1
-#, c-format
-msgid "This floppy is not FAT formatted"
-msgstr "هذا القرص المرن غير مجهز على نظام ملفات FAT"
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Configuring network"
-msgstr "جاري اعداد الشبكة"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:194
#, c-format
msgid ""
-"This option will save files that have changed. Exact behavior depends on "
-"whether incremental or differential mode is used."
+"\n"
+"There are %d unknown printers directly connected to your system"
msgstr ""
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Graphic Card"
-msgstr "بطاقة الشاشة"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Resizing Windows partition"
-msgstr "جاري تغيير حجم تجزئة Windows"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cameroon"
-msgstr "الكاميرون"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 1 (optional)"
-msgstr "DNS الأول للموفر (اختياري)"
+#: ../../printer/printerdrake.pm_.c:200
+#, fuzzy
+msgid " (Make sure that all your printers are connected and turned on).\n"
+msgstr "رجاء اختر المنفذ الموصلة إليه طابعتك."
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:214
msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
+"Do you want to enable printing on the printers mentioned above or on "
+"printers in the local network?\n"
msgstr ""
-"يمكنك الآن تجزئة %s.\n"
-"عندما تنتهي لا تنسى الحفظ باستخدام `w'"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Saami (swedish/finnish)"
+#: ../../printer/printerdrake.pm_.c:215
+#, fuzzy
+msgid "Do you want to enable printing on printers in the local network?\n"
msgstr ""
+"هل تريد تعيين هذه الطابعة (\"%s\")\n"
+"كطابعة افتراضية؟"
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakfont:1 ../../standalone/net_monitor:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Close"
-msgstr "إغلاق"
+#: ../../printer/printerdrake.pm_.c:217
+#, fuzzy
+msgid "Do you want to enable printing on the printers mentioned above?\n"
+msgstr "هل تريد تجربة إعداد طابعة أخرى؟"
+
+#: ../../printer/printerdrake.pm_.c:218
+msgid "Are you sure that you want to set up printing on this machine?\n"
+msgstr ""
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:219
#, c-format
msgid ""
-"\"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list."
+"NOTE: Depending on the printer model and the printing system up to %d MB of "
+"additional software will be installed."
msgstr ""
-"\"%s\": تأكد من اختيار البلد الحالي. اذا لم تكن في هذا\n"
-"البلد, اضغط على زر \"%s\" و اختر بلداً آخر. اذا لك تكن\n"
-"بلدك في القائمة اضغط زر \"%s\" لإظهر قائمة كاملة\n"
-"بالبلدان."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Calendar"
-msgstr "التقويم"
+#: ../../printer/printerdrake.pm_.c:258 ../../printer/printerdrake.pm_.c:270
+#: ../../printer/printerdrake.pm_.c:328 ../../printer/printerdrake.pm_.c:2933
+#: ../../printer/printerdrake.pm_.c:3060
+msgid "Add a new printer"
+msgstr "أضف طابعة جديدة"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:259
msgid ""
-"Restore Selected\n"
-"Catalog Entry"
+"\n"
+"Welcome to the Printer Setup Wizard\n"
+"\n"
+"This wizard allows you to install local or remote printers to be used from "
+"this machine and also from other machines in the network.\n"
+"\n"
+"It asks you for all necessary information to set up the printer and gives "
+"you access to all available printer drivers, driver options, and printer "
+"connection types."
msgstr ""
-"استعد مدخل\n"
-"الكتالوغ المختار"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:272
msgid ""
-"To use a remote lpd printer, you need to supply the hostname of the printer "
-"server and the printer name on that server."
+"\n"
+"Welcome to the Printer Setup Wizard\n"
+"\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer, connected directly to the network or to a remote Windows machine.\n"
+"\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) and you Windows machines must be connected and "
+"turned on.\n"
+"\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network and/or Windows-hosted printers when you don't need "
+"it.\n"
+"\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-"لاستخدام طابعة lpd بعيدة, عليك اعطاء اسم مستضيف خادم الطابعة و اسم الطابعة "
-"على ذلك الخادم."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Iceland"
-msgstr "آيسلندا"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Network & Internet Configuration"
-msgstr "اعدادات الشبكة"
-
-#: ../../common.pm:1
-#, c-format
-msgid "consolehelper missing"
-msgstr "consolehelper missing"
-
-#: ../../services.pm:1
-#, c-format
-msgid "stopped"
-msgstr "متوقفة"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Whether the FPU has an irq vector"
-msgstr "اذا كان الـFPU لديه متجه IRQ"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Expand Tree"
-msgstr "Expand Tree"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:281 ../../printer/printerdrake.pm_.c:298
msgid ""
-"The old \"%s\" driver is blacklisted.\n"
"\n"
-"It has been reported to oops the kernel on unloading.\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-"The new \"%s\" driver'll only be used on next bootstrap."
-msgstr ""
-"مشغل \"%s\" القديم على القائمة السوداء.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer.\n"
"\n"
-"في بعض الحالات قيل أنه يسبب انهيار في النواة عند ازالة التحميل.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected.\n"
"\n"
-"مشغل \"%s\" الجديد سيتم استخدامه عند تشغيل الجهاز في المرة القادمة."
-
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Expert Mode"
-msgstr "وضعية الخبير"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer options"
-msgstr "خيارات الطابعة"
+#: ../../printer/printerdrake.pm_.c:289
+msgid ""
+"\n"
+"Welcome to the Printer Setup Wizard\n"
+"\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer or connected directly to the network.\n"
+"\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) must be connected and turned on.\n"
+"\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network printers when you don't need it.\n"
+"\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Local Network adress"
-msgstr "عنوان الشبكة المحلية"
+#: ../../printer/printerdrake.pm_.c:307
+#, fuzzy
+msgid "Auto-detect printers connected to this machine"
+msgstr "تحقق من الطابعات آليا"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup your System files. (/etc directory)"
-msgstr "انسخ ملفات النظام: (دليل /etc)"
+#: ../../printer/printerdrake.pm_.c:310
+msgid "Auto-detect printers connected directly to the local network"
+msgstr ""
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Set the user umask."
+#: ../../printer/printerdrake.pm_.c:313
+msgid "Auto-detect printers connected to machines running Microsoft Windows"
msgstr ""
-"Arguments: (umask)\n"
-"\n"
-"Set the user umask."
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:329
msgid ""
-"You now have the opportunity to download updated packages. These packages\n"
-"have been updated after the distribution was released. They may\n"
-"contain security or bug fixes.\n"
"\n"
-"To download these packages, you will need to have a working Internet \n"
-"connection.\n"
-"\n"
-"Do you want to install the updates ?"
-msgstr ""
-"تستطيع الآن تنزيل الحزم المحدّثة. هذه الحزم\n"
-"تم تحديثها بعد اصدار التوزيعة. قد\n"
-"تحتوي على اصلاحات أمنية أو اصلاحات لعيوب برمجية.\n"
+"Congratulations, your printer is now installed and configured!\n"
"\n"
-"لتنزيل هذه الحزم, تحتاج الى أن تكون لديك اتصال \n"
-"بالإنترنت.\n"
+"You can print using the \"Print\" command of your application (usually in "
+"the \"File\" menu).\n"
"\n"
-"هل تريد تنزيل هذه التحديثات ؟"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Samba Server"
-msgstr "خادم Samba"
+"If you want to add, remove, or rename a printer, or if you want to change "
+"the default option settings (paper input tray, printout quality, ...), "
+"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
+"Center."
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Australian Optus cable TV"
-msgstr "Australian Optus cable TV"
+#: ../../printer/printerdrake.pm_.c:364 ../../printer/printerdrake.pm_.c:538
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Printer auto-detection"
+msgstr "تحقق آلي"
-#: ../../install_steps_newt.pm:1
+#: ../../printer/printerdrake.pm_.c:385
#, c-format
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
+msgid ", network printer \"%s\", port %s"
msgstr ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
-#: ../../standalone/drakTermServ:1
+#: ../../printer/printerdrake.pm_.c:387
#, c-format
-msgid "Subnet:"
-msgstr "Subnet:"
+msgid ", printer \"%s\" on SMB/Windows server \"%s\""
+msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:391
#, c-format
-msgid "Zimbabwe"
-msgstr "زيمبابوي"
+msgid "Detected %s"
+msgstr "تم التحقق من %s"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:395 ../../printer/printerdrake.pm_.c:423
+#: ../../printer/printerdrake.pm_.c:440
#, c-format
-msgid "When"
-msgstr "متى "
+msgid "Printer on parallel port \\/*%s"
+msgstr ""
-#: ../../network/adsl.pm:1
+#: ../../printer/printerdrake.pm_.c:397 ../../printer/printerdrake.pm_.c:425
+#: ../../printer/printerdrake.pm_.c:443
#, c-format
-msgid ""
-"You need the Alcatel microcode.\n"
-"Download it at:\n"
-"%s\n"
-"and copy the mgmt.o in /usr/share/speedtouch"
+msgid "USB printer \\/*%s"
msgstr ""
-"تحتاج الى alcatel microcode.\n"
-"قم بتنزيلها على\n"
-"%s\n"
-"و انسخ الملف mgmt.o الى /usr/share/speedtouch"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:399
#, fuzzy, c-format
-msgid "Hour"
-msgstr "هندوراس"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Second DNS Server (optional)"
-msgstr "خادم DNS الثاني (اختياري)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Finland"
-msgstr "فنلندا"
+msgid "Network printer \"%s\", port %s"
+msgstr "طابعة شبكة (TCP/Socket)"
-#: ../../Xconfig/various.pm:1
+#: ../../printer/printerdrake.pm_.c:401
#, c-format
-msgid "Color depth: %s\n"
-msgstr "عمق الألوان: %s\n"
+msgid "Printer \"%s\" on SMB/Windows server \"%s\""
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "لا يمكنك ازالة اختيار هذه الحزمة. يجب ترقيتها"
+#: ../../printer/printerdrake.pm_.c:525 ../../printer/printerdrake.pm_.c:547
+msgid "Local Printer"
+msgstr "طابعة محلية"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Loading from floppy"
-msgstr "جاري التحميل من القرص المرن"
+#: ../../printer/printerdrake.pm_.c:526
+msgid ""
+"No local printer found! To manually install a printer enter a device name/"
+"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
+"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
+"printer: /dev/usb/lp1, ...)."
+msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Timezone - DrakClock"
+#: ../../printer/printerdrake.pm_.c:530
+msgid "You must enter a device or file name!"
msgstr ""
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Enable/Disable the logging of IPv4 strange packets."
+#
+#: ../../printer/printerdrake.pm_.c:539
+#, fuzzy
+msgid "No printer found!"
msgstr ""
-"Arguments: (arg)\n"
+"لم يتم ايحاد طابعة محلية!\n"
"\n"
-"Enable/Disable the logging of IPv4 strange packets."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovenia"
-msgstr "سلوفينيا"
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse test"
-msgstr "اختبار الفأرة"
+#: ../../printer/printerdrake.pm_.c:548
+#, fuzzy
+msgid "Available printers"
+msgstr "طابعة محلية"
-#: ../../standalone/drakperm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:552
msgid ""
-"Drakperm is used to see files to use in order to fix permissions, owners, "
-"and groups via msec.\n"
-"You can also edit your own rules which will owerwrite the default rules."
+"The following printer was auto-detected, if it is not the one you want to "
+"configure, enter a device name/file name in the input line"
msgstr ""
-"يُستخدم Drakperm لاستعراض الملفات التي يتم استخدامها لتعديل الصلاحيات, و "
-"الملاك و المستخدمين باستخدام msec.\n"
-"يمكنك كذلك تحرير قواعدك الخاصة التي ستُكتَب فوق القواهد الإفتراضية."
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:553
msgid ""
-"Enter a user\n"
-"%s"
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up or enter a device name/file name in the input line"
msgstr ""
-"أدخل مستخدم\n"
-"%s"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:555
msgid ""
-"- PCI and USB devices: this lists the vendor, device, subvendor and "
-"subdevice PCI/USB ids"
+"The following printer was auto-detected. The configuration of the printer "
+"will work fully automatically. If your printer was not correctly detected or "
+"if you prefer a customized printer configuration, turn on \"Manual "
+"configuration\"."
msgstr ""
-"- أجهزة PCI و USB: هذا يعرض قائمة المصنعين و الأجهزة و المصنعين الثانويين و "
-"الأجهزة الثانوية لهويات PCI/USB"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "ProgressBar color selection"
-msgstr "إختيار لون شريط التحميل"
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:556
msgid ""
-"Here are the entries on your boot menu so far.\n"
-"You can create additional entries or change the existing ones."
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up. The configuration of the printer will work fully "
+"automatically. If your printer was not correctly detected or if you prefer a "
+"customized printer configuration, turn on \"Manual configuration\"."
msgstr ""
-"ها هنا المدخلات المختلفة.\n"
-"يمكنك اضافة مدخلات أخرى أو تغيير الموجودين."
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/hda"
-msgstr "/dev/hda"
-
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/hdb"
-msgstr "/dev/hdb"
-
-#: ../../standalone/drakbug:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:558
msgid ""
-"Application Name\n"
-"or Full Path:"
+"Please choose the port where your printer is connected to or enter a device "
+"name/file name in the input line"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:559
+msgid "Please choose the port where your printer is connected to."
+msgstr "رجاء اختر المنفذ الموصلة إليه طابعتك."
+
+#: ../../printer/printerdrake.pm_.c:561
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."
+" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
+"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
msgstr ""
-"تشغل الأوامر المُجدولة عن طريق أمر at عند الوقت المحدد\n"
-"لتشغيل at, و تقوم بتشغيل الأوامر الدقعية عندما يكون متوسط التحميل قليلاَ."
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Radio support:"
-msgstr "دعم الراديو:"
+#: ../../printer/printerdrake.pm_.c:565
+msgid "You must choose/enter a printer/device!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing SANE packages..."
-msgstr "جاري تثبيت حزم SANE..."
+#: ../../printer/printerdrake.pm_.c:584
+msgid "Manual configuration"
+msgstr "إعداد يدوي"
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP"
-msgstr "LDAP"
+#: ../../printer/printerdrake.pm_.c:633
+msgid "Remote lpd Printer Options"
+msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid "SILO"
-msgstr "SILO"
+#: ../../printer/printerdrake.pm_.c:634
+msgid ""
+"To use a remote lpd printer, you need to supply the hostname of the printer "
+"server and the printer name on that server."
+msgstr ""
-#: ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Change type"
-msgstr "غيّر النوع"
+#: ../../printer/printerdrake.pm_.c:635
+msgid "Remote host name"
+msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", USB printer #%s"
-msgstr ", طابعة USB #%s"
+#: ../../printer/printerdrake.pm_.c:636
+msgid "Remote printer name"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "SILO Installation"
-msgstr "تثبيت SILO"
+#: ../../printer/printerdrake.pm_.c:639
+msgid "Remote host name missing!"
+msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
-msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"\n"
-"For information on fixes which are available for this release of Mandrake "
-"Linux,\n"
-"consult the Errata available from:\n"
-"\n"
-"\n"
-"%s\n"
-"\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Mandrake Linux User's Guide."
+#: ../../printer/printerdrake.pm_.c:643
+msgid "Remote printer name missing!"
msgstr ""
-"تهانينا, التثبيت قد انتهى.\n"
-"احذف وسيط الإقلاع و اضغط زر ادخل لإعادة التشغيل.\n"
-"\n"
-"\n"
-"لمعلومات حول الإصلاحات المتوفرة لهذا الإصدار من Mandrake Linux,\n"
-"زر صفحة تصحيح الأخطاء المتوفرة من:\n"
-"\n"
-"\n"
-"%s\n"
-"\n"
-"\n"
-"المعلومات حول تهيئة النظام متوفرة في فصل\n"
-"ما بعد التثبيت في دليل مستخدم Mandrake الرسمي."
-#: ../../standalone/drakclock:1
+#: ../../printer/printerdrake.pm_.c:665 ../../printer/printerdrake.pm_.c:1170
#, fuzzy, c-format
-msgid "Enable Network Time Protocol"
-msgstr "استعد عن طريق بروتوكول الشبكة: %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "paranoid"
-msgstr "مرتفع بجنون"
+msgid "Detected model: %s %s"
+msgstr "تم التحقق من %s"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Do not send mails when unneeded"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Scanning network..."
+msgstr "جاري بدء الشبكة..."
-#: ../../standalone/scannerdrake:1
+#: ../../printer/printerdrake.pm_.c:751 ../../printer/printerdrake.pm_.c:772
#, c-format
-msgid "Your scanner(s) will not be available on the network."
+msgid ", printer \"%s\" on server \"%s\""
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Send mail report after each backup to:"
-msgstr "أرسل تقريراً بريدياً بعد كل عملية نسخ الى:"
+#: ../../printer/printerdrake.pm_.c:754 ../../printer/printerdrake.pm_.c:775
+#, fuzzy, c-format
+msgid "Printer \"%s\" on server \"%s\""
+msgstr "جاري الطباعة على الطابعة \"%s\""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"This command you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications. But here do not supply the file name "
-"because the file to print is provided by the application.\n"
+#: ../../printer/printerdrake.pm_.c:795
+msgid "SMB (Windows 9x/NT) Printer Options"
msgstr ""
-"يمكنك استخدام هذا الأمر أيضاً في حقل \"أمر الطباعة\" في مربعات حوار الطابعة "
-"في العديد من التطبيقات. لكن هنا لا تقم بإعطاء اسم الملف لأن ملف الطباعة يتم "
-"توفيره عن طريق التطبيق.\n"
-
-#: ../../Xconfig/main.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolution"
-msgstr "دقة العرض"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:796
msgid ""
"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."
msgstr ""
-"للطباعة الى طابعة SMB, ستحتاج الى اعطاء اسم مستضيف SMB (ملحوظة! قد يكون "
-"مختلفاً عن اسم مستضيف TCP/IP!) و ربما عنوان IP الخاص بخادم الطابعة, اضافة الى "
-"اسم المشاركة لطابعة التي تود الوصول اليها بالإضافة الى اسم مستخدم, كلمة "
-"مرور, و مجموعة عمل مناسبة."
-#: ../../security/help.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:797
msgid ""
-" Enabling su only from members of the wheel group or allow su from any user."
+" If the desired printer was auto-detected, simply choose it from the list "
+"and then add user name, password, and/or workgroup if needed."
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-" Enabling su only from members of the wheel group or allow su from any user."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "reconfigure"
-msgstr "إعداة الإعداد"
-#: ../../Xconfig/card.pm:1
-#, 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."
+#: ../../printer/printerdrake.pm_.c:799
+msgid "SMB server host"
msgstr ""
-"يمكن لبطاقتك التمتع بدعم للرسوم ثلاثية الأبعاد مع XFree %s, \n"
-"لاحظ أن هذا الدعم تجريبي و قد يتسبب في ايقاف جهازك."
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Shell timeout"
-msgstr "الوقت الأقصى لإقلاع النواة"
+#: ../../printer/printerdrake.pm_.c:800
+msgid "SMB server IP"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Xinetd Service"
-msgstr "خدمات Xinetd"
+#: ../../printer/printerdrake.pm_.c:801
+msgid "Share name"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "access to network tools"
-msgstr "الوصول الى أدوات الشبكة"
+#: ../../printer/printerdrake.pm_.c:804
+msgid "Workgroup"
+msgstr "مجموعة العمل"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Firmware-Upload for HP LaserJet 1000"
-msgstr "Firmware-Upload for HP LaserJet 1000"
+#: ../../printer/printerdrake.pm_.c:806
+#, fuzzy
+msgid "Auto-detected"
+msgstr "تحقق آلي"
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid ""
-"And, of course, push multimedia to its limits with the very latest software "
-"to play videos, audio files and to handle your images or photos."
+#: ../../printer/printerdrake.pm_.c:816
+msgid "Either the server name or the server's IP must be given!"
msgstr ""
-"Mandrake Linux 9.2 يمكّنك من استخدام آخر اصدارات البرامج لتشغيل الملفات "
-"الصوتية, و تحرير الصور, و تشغيل ملفات الفيديو"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Here is a list of all auto-detected printers. "
-msgstr "ها هي قائمة بكل الطابعات المتحقَّق منها آلياً. "
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
+#: ../../printer/printerdrake.pm_.c:820
+msgid "Samba share name missing!"
msgstr ""
-"خطأ أثناء تثبيت aboot, \n"
-"حاول الإجبار على التثبيت حتى و لو أدي ذلك لتدمير التجزئة الأولى؟"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Restore Selected\n"
-"Files"
+#: ../../printer/printerdrake.pm_.c:826
+msgid "SECURITY WARNING!"
msgstr ""
-"استعد الملفات\n"
-"المختارة"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:827
#, c-format
msgid ""
-"%s exists, delete?\n"
+"You are about to set up printing to a Windows account with password. Due to "
+"a fault in the architecture of the Samba client software the password is put "
+"in clear text into the command line of the Samba client used to transmit the "
+"print job to the Windows server. So it is possible for every user on this "
+"machine to display the password on the screen by issuing commands as \"ps "
+"auxwww\".\n"
"\n"
-"Warning: If you've already done this process you'll probably\n"
-" need to purge the entry from authorized_keys on the server."
-msgstr ""
-"%s موجود, هل تريد حذفه؟\n"
+"We recommend to make use of one of the following alternatives (in all cases "
+"you have to make sure that only machines from your local network have access "
+"to your Windows server, for example by means of a firewall):\n"
+"\n"
+"Use a password-less account on your Windows server, as the \"GUEST\" account "
+"or a special account dedicated for printing. Do not remove the password "
+"protection from a personal account or the administrator account.\n"
+"\n"
+"Set up your Windows server to make the printer available under the LPD "
+"protocol. Then set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
"\n"
-"تحذير: اذا قمت بهذه العملية مسبقاً غالباً\n"
-" ستحتاج الى حذف المدخل من authorized_keys على الخادم."
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Please fill or check the field below"
-msgstr "فضلاً املأ أو أشّر على الحقل أدناه"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Do you want to save /etc/fstab modifications"
-msgstr "هل تريد حفظ تعديلات /etc/fstab"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Boot Protocol"
-msgstr "بروتوكول الإقلاع"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "أقراص LVM %s\n"
-
-#: ../../services.pm:1
-#, c-format
-msgid "On boot"
-msgstr "عند الإقلاع"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The package %s is needed. Install it?"
-msgstr "الحزمة %s يجب أن تُثبّت. هل تريد تثبيتها؟"
-
-# U+200F (RTL mark) has been inserted after "Bus" so the display
-# on screen is correctly "datadatadata :Bus xxxxxxxx" (with xxxx arabic),
-# and not "Bus: datadatadata xxxxxxxx"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bus identification"
-msgstr "معرف الـ Bus‏"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Vatican"
-msgstr "الفاتيكان"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please make a backup of your data first"
-msgstr "رجاء قم بعمل نسخة احتياطية من بياناتك أولا"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "ADSL adapters"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "لديك أكثر من قرص صلب, في أيهم تريد تثبيت Linux؟"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Eritrea"
-msgstr "اريتريا"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot ISO"
-msgstr "ملف ISO الإقلاع"
-
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid "Firmware needed"
-msgstr "اذا احتجته"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove List"
-msgstr "احذف القائمة"
-
-#: ../advertising/05-desktop.pl:1
-#, c-format
-msgid "A customizable environment"
-msgstr "بيئة قابلة للتخصيص"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Inuktitut"
-msgstr "اينوكتيتوت"
-
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:837
#, c-format
msgid ""
-"Some protocols, like rsync, may be configured at the server end. Rather "
-"than using a directory path, you would use the 'module' name for the service "
-"path."
+"Set up your Windows server to make the printer available under the IPP "
+"protocol and set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Morocco"
-msgstr "المغرب"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printer model do you have?"
-msgstr "ما هو نوع الطابعة لديك؟"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add a new printer"
-msgstr "أضف طابعة جديدة"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " All of your selected data have been "
-msgstr " كل البيانات المختارة تم "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Nepal"
-msgstr "نيبال"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Delete"
-msgstr "<-- حذف"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "cpu # "
-msgstr "cpu # "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "chunk size"
-msgstr "حجم chunk"
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:840
msgid ""
-"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
-"\n"
-"If set to NONE, no issues are allowed.\n"
+"Connect your printer to a Linux server and let your Windows machine(s) "
+"connect to it as a client.\n"
"\n"
-"Else only /etc/issue is allowed."
+"Do you really want to continue setting up this printer as you are doing now?"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"If \\fIarg\\fP = ALL allow /etc/issue and /etc/issue.net to exist. If \\fIarg"
-"\\fP = NONE no issues are\n"
-"allowed else only /etc/issue is allowed."
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid " Enable/Disable sulogin(8) in single user level."
+#: ../../printer/printerdrake.pm_.c:911
+msgid "NetWare Printer Options"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-" Enable/Disable sulogin(8) in single user level."
-#. -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:1
-#, c-format
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "commands before booting, or 'c' for a command-line."
-
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "Problems installing package %s"
-msgstr "كانت هناك مشاكل في تثبيت الحزمة %s"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "You will receive an alert if the load is higher than this value"
-msgstr "سوف تستلم تنبيها اذا كان التحميل أعلى من هذه القيمة"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add a scanner manually"
-msgstr "أضف ماسح ضوئي يدوياً"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh"
-msgstr "تحديث"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Reload partition table"
-msgstr "إعادة تحميل جدول التقسيم"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr "نعم, أريد دخولا آليا مع هذا )المستخدم, سطح المكتب("
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Selected"
+#: ../../printer/printerdrake.pm_.c:912
+msgid ""
+"To print on 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."
msgstr ""
-"استعد الملفات\n"
-"المختارة"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search for fonts in installed list"
-msgstr "ابحث عن الخطوط في القائمة المثبتة"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The Local Network did not finish with `.0', bailing out."
-msgstr "الشبكة المحلية لم تنته بـ`0', جاري الخروج."
+#: ../../printer/printerdrake.pm_.c:913
+msgid "Printer Server"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Boot"
-msgstr "الإقلاع"
+#: ../../printer/printerdrake.pm_.c:914
+msgid "Print Queue Name"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " and the CD is in the drive"
+#: ../../printer/printerdrake.pm_.c:919
+msgid "NCP server name missing!"
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Tuner type:"
-msgstr "نوع التونر:"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Now, it's time to select a printing system for your computer. Other OSs may\n"
-"offer you one, but Mandrake Linux offers two. Each of the printing system\n"
-"is best suited to particular types of configuration.\n"
-"\n"
-" * \"%s\" -- which is an acronym for ``print, don't queue'', is the choice\n"
-"if you have a direct connection to your printer, you want to be able to\n"
-"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
-"will handle only very simple network cases and is somewhat slow when used\n"
-"with networks.) It's recommended that you use \"pdq\" if this is your first\n"
-"experience with GNU/Linux.\n"
-"\n"
-" * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n"
-"printing to your local printer or to one halfway around the planet. It is\n"
-"simple to configure and can act as a server or a client for the ancient\n"
-"\"lpd \" printing system, so it compatible with older operating systems\n"
-"which may still need print services. While quite powerful, the basic setup\n"
-"is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make\n"
-"sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n"
-"front-ends for printing or choosing printer options and for managing the\n"
-"printer.\n"
-"\n"
-"If you make a choice now, and later find that you don't like your printing\n"
-"system you may change it by running PrinterDrake from the Mandrake Control\n"
-"Center and clicking the expert button."
-msgstr ""
-"الآن, حان وقت اختيار نظام الطباعة لنظامك. توفر أنظمة التشغيل الأخرى\n"
-"نظام طباعة واحد, لكن Mandrake Linux يوفر لك نظامين. كل نظام مناسب\n"
-"لنوغ معين من التهيئة.\n"
-"\n"
-" * \"%s\"--و هو اختصار لـ``print, don't queue'' أي ``اطبع و لا تصف'', هذا هو "
-"الخيار الأمثل\n"
-"اذا كانت لديك وصلة مباشرة بالطابعة, و تريد تفادي أي ارتباك في الطابعة\n"
-"و لديك طابعات على الشبكة.(يقوم \"%s\"بالتعامل مع حالات الشبكة البسيطة\n"
-"و يعيبه البطئ عند الاستخدام مع الشبكات). من الأفضل أن تستخدم \"pdq\" اذا.\n"
-"كانت هذه تجربتك الأولى مع نظام Linux.\n"
-"\n"
-" * \"%s\" - ``Common UNIX Printing System'', هو الخيار الأمثل\n"
-"للطباعة على طابعتك المحلية أو حتى على طابعة في النصف الآخر من الكوكب. انه\n"
-"سهل الإعداد و يمكن أن يتصرف كخادم أو كعميل لأنظمة طباعة \"lpd\"\n"
-"القديمة, لذا فإنه متوافق مع أنظمة التشغيل القديمة\n"
-"التي لا تزال تحتاج الى خدمات الطباعة.بينما التهيئة سهلة\n"
-"و قوية مثل \"pdq\". اذا كنت تحتاج الى محاكاة خادم \"lpd\", تأكد\n"
-"من تشغيل مراقب \"cups-lpd\". يحتوي %s على واجهات\n"
-"رسومية للطباعة أو اختيار خيارات الطابعة و إدارة\n"
-"الطابعة.\n"
-"\n"
-"اذا قمت يتقرير اختيارك الآن, ثم لم يعجبك نظام الطباعة\n"
-"فيما بعد, يمكنك تغييره عن طريق تشغيل PrinterDrake من مركز تحكم Mandrake\n"
-"و النقر على زر الخبير."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "\"Menu\" key"
-msgstr "مفتاح \"Menu\""
+#: ../../printer/printerdrake.pm_.c:923
+msgid "NCP queue name missing!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:987 ../../printer/printerdrake.pm_.c:1007
#, c-format
-msgid ""
-"\n"
-"\n"
-"Please check whether Printerdrake did the auto-detection of your printer "
-"model correctly. Find the correct model in the list when a wrong model or "
-"\"Raw printer\" is highlighted."
+msgid ", host \"%s\", port %s"
msgstr ""
-"\n"
-"\n"
-"فضلاً تأكد من قيام Printerdrake باكتشاف طراز طابعتك بشكل صحيح. اعثر على "
-"الطراز الصحيح اذا تم اختيار طراز خطأ أو \"طابعة خام\"."
-#: ../../standalone/draksec:1
+#: ../../printer/printerdrake.pm_.c:990 ../../printer/printerdrake.pm_.c:1010
#, c-format
-msgid "Security Administrator:"
-msgstr "مدير الأمن:"
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Set the shell timeout. A value of zero means no timeout."
+msgid "Host \"%s\", port %s"
msgstr ""
-"Arguments: (val)\n"
-"\n"
-"Set the shell timeout. A value of zero means no timeout."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy succeeded"
+#: ../../printer/printerdrake.pm_.c:1030
+msgid "TCP/Socket Printer Options"
msgstr ""
-#: ../../../move/tree/mdk_totem:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1032
msgid ""
-"You can't use another CDROM when the following programs are running: \n"
-"%s"
+"Choose one of the auto-detected printers from the list or enter the hostname "
+"or IP and the optional port number (default is 9100) into the input fields."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check permissions of files in the users' home."
-msgstr "if set to yes, check permissions of files in the users' home."
-
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1033
msgid ""
-"You don't have an Internet connection.\n"
-"Create one first by clicking on 'Configure'"
+"To print to a TCP or socket printer, you need to provide the host name or IP "
+"of the printer and optionally the port number (default is 9100). On HP "
+"JetDirect servers the port number is usually 9100, on other servers it can "
+"vary. See the manual of your hardware."
msgstr ""
-"ليست لديك أي اتصالات إنترنت.\n"
-"قم بعمل اتصال أولا باستخدام 'تهيئة'"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Fonts copy"
-msgstr "نقل الخطوط"
+#: ../../printer/printerdrake.pm_.c:1037
+#, fuzzy
+msgid "Printer host name or IP missing!"
+msgstr "اسم مستضيف الطابعة"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automated"
-msgstr "آلي"
+#: ../../printer/printerdrake.pm_.c:1059
+#, fuzzy
+msgid "Printer host name or IP"
+msgstr "اسم مستضيف الطابعة"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Do you want to test the configuration?"
-msgstr "هل تريد تجربة الإعداد؟"
+#: ../../printer/printerdrake.pm_.c:1107 ../../printer/printerdrake.pm_.c:1109
+msgid "Printer Device URI"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1108
msgid ""
-"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
-"GIMP."
-msgstr "تم حذف الطابعة \"%s\" من Star Office/OpenOffice.org/GIMP بنجاح."
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save packages selection"
-msgstr "احفظ اختيار الحزم"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Actions"
-msgstr "/_أحداث"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Remove the last item"
-msgstr "احذف المادة الأخيرة"
+"You can specify directly the URI to access the printer. The URI must fulfill "
+"either the CUPS or the Foomatic specifications. Note that not all URI types "
+"are supported by all the spoolers."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "User list to restore (only the most recent date per user is important)"
-msgstr "قائمة المستخدمين الذين سيتم استعادتهم"
+#: ../../printer/printerdrake.pm_.c:1123
+msgid "A valid URI must be entered!"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No net boot images created!"
-msgstr "لم يتم انشاء صور اقلاع عبر الشبكة!"
+#: ../../printer/printerdrake.pm_.c:1463
+msgid ""
+"Every printer needs a name (for example \"printer\"). The Description and "
+"Location fields do not need to be filled in. They are comments for the users."
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pptp"
-msgstr "استخدم pptp"
+#: ../../printer/printerdrake.pm_.c:1464
+msgid "Name of printer"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Choose which services should be automatically started at boot time"
-msgstr "اختر أي خدمات تريدها أن تبدأ آلياً عند التثبيت"
+#: ../../printer/printerdrake.pm_.c:1465 ../../standalone/harddrake2_.c:38
+msgid "Description"
+msgstr "الوصف"
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Check files/directories writable by everybody"
-msgstr "if set to yes, check files/directories writable by everybody."
+#: ../../printer/printerdrake.pm_.c:1466
+msgid "Location"
+msgstr "المكان"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Learn how to use this printer"
-msgstr "تعلم كيف تستخدم هذه الطابعة"
+#: ../../printer/printerdrake.pm_.c:1478 ../../printer/printerdrake.pm_.c:1599
+msgid "Reading printer database..."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configure the network now"
-msgstr "قم بتهيئة الشبكة"
+#: ../../printer/printerdrake.pm_.c:1482
+msgid "Preparing printer database..."
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose a mirror from which to get the packages"
-msgstr "اختر مرآة سيتم من خلالها تنزيل الحزم"
+#: ../../printer/printerdrake.pm_.c:1578
+msgid "Your printer model"
+msgstr ""
-#: ../../install_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:1579
#, c-format
msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
+"Printerdrake has compared the model name resulting from the printer auto-"
+"detection with the models listed in its printer database to find the best "
+"match. This choice can be wrong, especially when your printer is not listed "
+"at all in the database. So check whether the choice is correct and click "
+"\"The model is correct\" if so and if not, click \"Select model manually\" "
+"so that you can choose your printer model manually on the next screen.\n"
+"\n"
+"For your printer Printerdrake has found:\n"
+"\n"
+"%s"
msgstr ""
-"لم تتمكن أداة تغيير حجم FAT من التعامل مع تجزئتك, \n"
-"ظهر الخطأ التالي: %s"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Size: "
-msgstr "الحجم: "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which sector do you want to move it to?"
-msgstr "أي قطاع تريد نقله؟"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahamas"
-msgstr "جزر الباهاما"
+#: ../../printer/printerdrake.pm_.c:1584 ../../printer/printerdrake.pm_.c:1587
+msgid "The model is correct"
+msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Do you want to click on this button?"
-msgstr "Do you want to click on this button?"
+#: ../../printer/printerdrake.pm_.c:1585 ../../printer/printerdrake.pm_.c:1586
+#: ../../printer/printerdrake.pm_.c:1589
+msgid "Select model manually"
+msgstr "تم اختيار النّموذج يدويًّا"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Manual configuration"
-msgstr "تهيئة يدوية"
+#: ../../printer/printerdrake.pm_.c:1606
+msgid "Printer model selection"
+msgstr "إختيار وحدات الطابعة"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "search"
-msgstr "بحث"
+#: ../../printer/printerdrake.pm_.c:1607
+msgid "Which printer model do you have?"
+msgstr "ما هو نوع الطابعة لديك؟"
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1608
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. يمكن اختيار لوخة المفاتيح باستخدام "
-"أداة kbdconfig.\n"
-"يجب تركها ممكّنة في أغلب الأجهزة."
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Xpmac (installation display driver)"
-msgstr "Xpmac (مشغل عرض التثبيت)"
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf host name must not contain a ."
-msgstr "يجب أن يحتوي اسم مستضيف Zeroconf على ."
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid " Accept/Refuse icmp echo."
-msgstr ""
-"Arguments: (arg)\n"
"\n"
-" Accept/Refuse icmp echo."
+"\n"
+"Please check whether Printerdrake did the auto-detection of your printer "
+"model correctly. Search the correct model in the list when the cursor is "
+"standing on a wrong model or on \"Raw printer\"."
+msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1611
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."
+"If your printer is not listed, choose a compatible (see printer manual) or a "
+"similar one."
msgstr ""
-"Syslog هي الوسيلة التي تستخدمها العديد من المراقبات لتسجيل الرسائل\n"
-"الى ملفات سجلات عديدة. انها فكرة جيدة أن تقوم دائماً بتشغيل syslog."
-
-#: ../../harddrake/data.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown/Others"
-msgstr "غير معروف/أخرى"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "No TV Card detected!"
-msgstr "لم يتم ايجاد بطاقة تلفاز!"
-
-#: ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Options"
-msgstr "خيارات"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printer \"%s\" is set as the default printer now."
-msgstr "تم تعيين الطابعة \"%s\" كطابعة افتراضية الآن."
+#: ../../printer/printerdrake.pm_.c:1697
+msgid "OKI winprinter configuration"
+msgstr "إعداد OKI WinPrinter"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1698
msgid ""
"You are configuring an OKI laser winprinter. These printers\n"
"use a very special communication protocol and therefore they work only when "
@@ -12333,270 +7223,178 @@ msgid ""
"first parallel port before you print a test page. Otherwise the printer will "
"not work. Your connection type setting will be ignored by the driver."
msgstr ""
-"أنت تقوم بتهيئة طابعة OKI laser winprinter. هذه الطابعات\n"
-"تستخدم بروتوكول اتصالات خاص و لذا فهي تعمل فقط عندما تكون متصلة بالمنفذ "
-"المتوازي الأول. عندما تكون الطابعة متصلة بمنفذ آخر أو بخادم طباعة فمن فضلك "
-"قم بتوصيل الطابعة الى المنفذ المتوازي الأول قبل أن تطبع صفحة اختبارية. ان لم "
-"تفعل ذلك فلن تعمل الطابعة. اعداد نوع الوصلة سيتم تجاهله من المشغّل."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "generation of the cpu (eg: 8 for PentiumIII, ...)"
-msgstr "جيل المعالج (مثال: 8 لبنتيوم III, ...)"
+#: ../../printer/printerdrake.pm_.c:1718 ../../printer/printerdrake.pm_.c:1745
+msgid "Lexmark inkjet configuration"
+msgstr "إعداد Lexmark Inkjet"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detected"
-msgstr "تحقق آلي"
+#: ../../printer/printerdrake.pm_.c:1719
+msgid ""
+"The inkjet printer drivers provided by Lexmark only support local printers, "
+"no printers on remote machines or print server boxes. Please connect your "
+"printer to a local port or configure it on the machine where it is connected "
+"to."
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1746
msgid ""
-"You are about to configure your computer to install a PXE server as a DHCP "
-"server\n"
-"and a TFTP server to build an installation server.\n"
-"With that feature, other computers on your local network will be installable "
-"using this computer as source.\n"
-"\n"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
+"To be able to print with your Lexmark inkjet and this configuration, you "
+"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
+"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
+"\"Linux\" as operating system. The drivers come as RPM packages or shell "
+"scripts with interactive graphical installation. You do not need to do this "
+"configuration by the graphical frontends. Cancel directly after the license "
+"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
+"adjust the head alignment settings with this program."
msgstr ""
-"أنت على وشك تهيئة جهازك لتثبيت خادم PXE كخادم DHCP\n"
-"و خادم TFTP لبناء خادم تثبيت.\n"
-"باستخدام هذه الميزة تكون الحواسيب الأخرى على الشبكة المحلية قابلة للتثبيت من "
-"هذا الجهاز.\n"
-"\n"
-"تأكد من أنك قمت بتهيئة الشبكة/الإنترنت باستخدام drakconnect قبل المتابعة.\n"
-"\n"
-"ملحوظة: تحتاج الى موائم شبكة مخصص لإعداد الشبكة المحلية (LAN)."
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:1749
+msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:1750
msgid ""
-"OSS (Open Sound System) was the first sound API. It's an OS independent "
-"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
-"and limited API.\n"
-"What's more, OSS drivers all reinvent the wheel.\n"
+"Your printer belongs to the group of GDI laser printers (winprinters) sold "
+"by different manufacturers which uses the Zenographics ZJ-stream raster "
+"format for the data sent to the printer. The driver for these printers is "
+"still in a very early development stage and so it will perhaps not always "
+"work properly. Especially it is possible that the printer only works when "
+"you choose the A4 paper size.\n"
"\n"
-"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
-"which\n"
-"supports quite a large range of ISA, USB and PCI cards.\n"
+"Some of these printers, as the HP LaserJet 1000, for which this driver was "
+"originally created, need their firmware to be uploaded to them after they "
+"are turned on. In the case of the HP LaserJet 1000 you have to search the "
+"printer's Windows driver CD or your Windows partition for the file "
+"\"sihp1000.img\" and upload the file to the printer with one of the "
+"following commands:\n"
"\n"
-"It also provides a much higher API than OSS.\n"
+" lpr -o raw sihp1000.img\n"
+" cat sihp1000.img > /dev/usb/lp0\n"
"\n"
-"To use alsa, one can either use:\n"
-"- the old compatibility OSS api\n"
-"- the new ALSA api that provides many enhanced features but requires using "
-"the ALSA library.\n"
+"The first command can be given by any normal user, the second must be given "
+"as root. After having done so you can print normally.\n"
msgstr ""
-"OSS (Open Sound System) was the first sound API. It's an OS independant "
-"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
-"and limited API.\n"
-"What's more, OSS drivers all reinvent the wheel.\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
-"which\n"
-"supports quite a large range of ISA, USB and PCI cards.\n"
-"\n"
-"It also provides a much higher API than OSS.\n"
-"\n"
-"To use alsa, one can either use:\n"
-"- the old compatibility OSS api\n"
-"- the new ALSA api that provides many enhanced features but requires using "
-"the ALSA library.\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1972
msgid ""
-"No free space for 1MB bootstrap! Install will continue, but to boot your "
-"system, you'll need to create the bootstrap partition in DiskDrake"
+"Printer default settings\n"
+"\n"
+"You should make sure that the page size and the ink type/printing mode (if "
+"available) and also the hardware configuration of laser printers (memory, "
+"duplex unit, extra trays) are set correctly. Note that with a very high "
+"printout quality/resolution printing can get substantially slower."
msgstr ""
-"No free space for 1MB bootstrap! Install will continue, but to boot your "
-"system, you'll need to create the bootstrap partition in DiskDrake"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:1981
#, c-format
-msgid ""
-"Please choose the printer you want to set up or enter a device name/file "
-"name in the input line"
+msgid "Option %s must be an integer number!"
msgstr ""
-"فضلاً اختر الطابعة التي تريد اعدادها أو أدخل اسم جهاز/اسم ملف في حقل الإدخال"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Refuse"
-msgstr "ارفض"
-#: ../../standalone/draksec:1
+#: ../../printer/printerdrake.pm_.c:1985
#, c-format
-msgid "LOCAL"
+msgid "Option %s must be a number!"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../printer/printerdrake.pm_.c:1989
#, c-format
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
+msgid "Option %s out of range!"
msgstr ""
-"HardDrake يقوم بالتحقق من العتاد, و يقوم بتهيئة العتاد\n"
-"الجديد/المتغير بشكل اختياري."
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "جاري انشاء و تجهيز الملف %s"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of sgid files."
-msgstr "if set to yes, check additions/removals of sgid files."
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2028
#, c-format
msgid ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned "
-"on. Download the Windows driver package from the HP web site (the firmware "
-"on the printer's CD does not work) and extract the firmware file from it by "
-"uncompresing the self-extracting '.exe' file with the 'unzip' utility and "
-"searching for the 'sihp1000.img' file. Copy this file into the '/etc/"
-"printer' directory. There it will be found by the automatic uploader script "
-"and uploaded whenever the printer is connected and turned on.\n"
+"Do you want to set this printer (\"%s\")\n"
+"as the default printer?"
msgstr ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned "
-"on. Download the Windows driver package from the HP web site (the firmware "
-"on the printer's CD does not work) and extract the firmware file from it by "
-"uncompresing the self-extracting '.exe' file with the 'unzip' utility and "
-"searching for the 'sihp1000.img' file. Copy this file into the '/etc/"
-"printer' directory. There it will be found by the automatic uploader script "
-"and uploaded whenever the printer is connected and turned on.\n"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing LVM to add to"
-msgstr "اختر LVM l,جود للاضافة"
+"هل تريد تعيين هذه الطابعة (\"%s\")\n"
+"كطابعة افتراضية؟"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "xfs restart"
-msgstr "xfs restart"
+#: ../../printer/printerdrake.pm_.c:2051
+msgid "Test pages"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2052
msgid ""
-"The printer \"%s\" already exists,\n"
-"do you really want to overwrite its configuration?"
+"Please select the test pages you want to print.\n"
+"Note: the photo test page can take a rather long time to get printed and on "
+"laser printers with too low memory it can even not come out. In most cases "
+"it is enough to print the standard test page."
msgstr ""
-"الطابعة \"%s\" موجودة مسبقاً,\n"
-"هل تريد فعلاً الكتابة فوق التهيئة الخاصة بها؟"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use the scanners on hosts: "
-msgstr "استخدم الماسحات الضوئية على المستضيفات: "
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselected All"
-msgstr "تم ازالة اختيار الكل"
-
-#: ../../install_steps_interactive.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "No partition available"
-msgstr "لا توجد تجزئة"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Printer Management \n"
-msgstr "ادارة المستخدمين \n"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Domain Name Resolver"
-msgstr "Domain Name Resolver"
+#: ../../printer/printerdrake.pm_.c:2056
+msgid "No test pages"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key (again)"
-msgstr "مفاتح التشفير (مرة أخرى)"
+#: ../../printer/printerdrake.pm_.c:2057
+msgid "Print"
+msgstr "إطبع"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Samba share name missing!"
-msgstr "اسم مشاركة Samba مفقود!"
+#: ../../printer/printerdrake.pm_.c:2114
+msgid "Standard test page"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type install done"
-msgstr "تم تثبيت خطوط True Type"
+#: ../../printer/printerdrake.pm_.c:2117
+msgid "Alternative test page (Letter)"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detection in progress"
-msgstr "جاري التحقق"
+#: ../../printer/printerdrake.pm_.c:2120
+msgid "Alternative test page (A4)"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Whole Kernel -->"
-msgstr "ابني كل النواة -->"
+#: ../../printer/printerdrake.pm_.c:2122
+msgid "Photo test page"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "modem"
-msgstr "المودم"
+#: ../../printer/printerdrake.pm_.c:2126
+msgid "Do not print any test page"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Welcome to %s"
-msgstr "أهلا بكم في %s"
+#: ../../printer/printerdrake.pm_.c:2134 ../../printer/printerdrake.pm_.c:2285
+msgid "Printing test page(s)..."
+msgstr ""
-#: ../../standalone/drakhelp:1
+#: ../../printer/printerdrake.pm_.c:2159
#, c-format
msgid ""
-" drakhelp 0.1\n"
-"Copyright (C) 2003 MandrakeSoft.\n"
-"This is free software and may be redistributed under the terms of the GNU "
-"GPL.\n"
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+"Printing status:\n"
+"%s\n"
"\n"
-"Usage: \n"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please insert the Update Modules floppy in drive %s"
-msgstr "فضلاً أدخل قرص وحدات التحديث في السواقة %s"
+#: ../../printer/printerdrake.pm_.c:2163
+msgid ""
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Bootsplash"
-msgstr "Bootsplash!"
+#: ../../printer/printerdrake.pm_.c:2170
+msgid "Did it work properly?"
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:2190 ../../printer/printerdrake.pm_.c:3229
+msgid "Raw printer"
+msgstr "طابعة خام"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2216
#, c-format
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"is directly connected to your system"
+"To print a file from the command line (terminal window) you can either use "
+"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
+"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
+"to modify the option settings easily.\n"
msgstr ""
-"الطابعة التالية\n"
-"\n"
-"%s%s\n"
-"متصلة مباشرةً بنظامك"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer sharing on hosts/networks: "
-msgstr "مشاركة الطابعات على المستضيفات/الشبكات: "
+#: ../../printer/printerdrake.pm_.c:2218
+msgid ""
+"These commands you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications, but here do not supply the file name "
+"because the file to print is provided by the application.\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2221 ../../printer/printerdrake.pm_.c:2238
+#: ../../printer/printerdrake.pm_.c:2248
#, c-format
msgid ""
"\n"
@@ -12604,2434 +7402,1142 @@ msgid ""
"particular printing job. Simply add the desired settings to the command "
"line, e. g. \"%s <file>\". "
msgstr ""
-"\n"
-"الأمر \"%s\" يسمح لك كذلك يتعديل اعدادات الخيارات لوظيفة طباعة محددة. بكل "
-"بساطة أضف الإعداد المطلوب الى سطر الآوامر, مثال \"%s <file>\". "
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "DrakClock"
-msgstr "Drakbackup"
-#: ../../modules/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2224 ../../printer/printerdrake.pm_.c:2264
#, c-format
msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without them. 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."
+"To know about the options available for the current printer read either the "
+"list shown below or click on the \"Print option list\" button.%s%s\n"
+"\n"
msgstr ""
-"في بعض الأحيان يحتاج مشغل %s معلومات اضافية لكي يعمل\n"
-"بشكل صحيح, الا أنه يمكنه العمل جيدا بدونها. هل تريد تحديد\n"
-"خيارات اضافية له أو تسمح للمشغل بالتحقق في جهازك\n"
-"عن المعلومات التي سيحتاجها؟ في بعض الأحيان, قد يتسبب التحقق في تعليق الجهاز, "
-"لكن\n"
-"لا يجب أن يتسبب ذلك في أي مشاكل."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct CD label. Disk is labelled %s."
-msgstr "علامة القرص ليست العلامة الصحيحة. علامة القرص هي %s."
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:2228
msgid ""
+"Here is a list of the available printing options for the current printer:\n"
"\n"
-"- Daemon, %s via:\n"
msgstr ""
-"\n"
-"- Daemon (%s) include :\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cuba"
-msgstr "كوبا"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "October"
-msgstr "أكتوبر"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Belize"
-msgstr "بيليز"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Searching for new printers..."
-msgstr "جاري البحث عن طابعات جديدة..."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (multi-session)"
-msgstr " (متعدد الجلسات)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Kernel Boot Timeout"
-msgstr "الوقت الأقصى لإقلاع النواة"
-
-#: ../../Xconfig/card.pm:1
+#: ../../printer/printerdrake.pm_.c:2233 ../../printer/printerdrake.pm_.c:2243
#, 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 ""
-"يمكن لبطاقتك الحصول على دعم للتسريع ثلاثي الأبعاد لكن فقط مع XFree %s.\n"
-"بطاقتك مدعومة عن طريق XFree %s التي يمكن أن تكون مدعومة بشل أفضل في الوضع "
-"ثنائي الأبعاد."
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid " Activate/Disable daily security check."
-msgstr ""
-"Arguments: (arg)\n"
-"\n"
-" Activate/Disable daily security check."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-CD-R.\n"
-msgstr "\t-القرص المدمج.\n"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Enable libsafe if libsafe is found on the system"
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\".\n"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Enable/Disable libsafe if libsafe is found on the system."
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "عثر معالج التجزئة في DrakX على الحلول التالية:"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Hungarian"
-msgstr "المجرية"
-
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2235 ../../printer/printerdrake.pm_.c:2245
+#: ../../printer/printerdrake.pm_.c:2255
msgid ""
-"Select your provider.\n"
-"If it isn't listed, choose Unlisted."
+"This command you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications. But here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-"اختر موفر الخدمة الخاص بك.\n"
-"ان لم يكن موجوداً في القائمة, اختر غير موجود."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automatic time synchronization (using NTP)"
-msgstr "تزامن وقت آلي (باستخدام NTP)"
-
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid "Use my Windows partition"
-msgstr "جاري تغيير حجم تجزئة Windows"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "8 MB"
-msgstr "8 ميغابايت"
-
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Server"
-msgstr "خادم LDAP"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2240 ../../printer/printerdrake.pm_.c:2250
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."
+"To get a list of the options available for the current printer click on the "
+"\"Print option list\" button."
msgstr ""
-"دعم PCMCIA مهم لدعم أشياء مثل بطاقات الإيثرنت و\n"
-"المودمات على الأجهزة الدفترية. لن يتم بدء هذه الخدمة الا عند تهيئتها لذا فلا "
-"مسكلة عند تشغيله\n"
-"على الأجهزة التي لا تحتاجه."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Choose your country"
-msgstr "إختر بلدك"
-
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2253
#, c-format
msgid ""
-"\n"
-"- System Files:\n"
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\" or \"%s <file>\".\n"
msgstr ""
-"\n"
-"-ملفّات النّظام :\n"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Standalone Tools"
-msgstr "الأدوات المنفصلة"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Where"
-msgstr "أين"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "but not matching"
-msgstr "لكن ليس موائمة"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2257
msgid ""
-"Here you can select an alternative driver (either OSS or ALSA) for your "
-"sound card (%s)."
-msgstr "يمكنك هنا اختيار مشغل بديل (ALSA أو OSS) لبطاقة الصوت (%s)."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring PCMCIA cards..."
-msgstr "جاري تهيئة بطاقات PCMCIA..."
-
-#: ../../common.pm:1
-#, c-format
-msgid "kdesu missing"
-msgstr "kdesu missing"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires a username...\n"
+"You can also use the graphical interface \"xpdq\" for setting options and "
+"handling printing jobs.\n"
+"If you are using KDE as desktop environment you have a \"panic button\", an "
+"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
+"jobs immediately when you click it. This is for example useful for paper "
+"jams.\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key"
-msgstr "مفاتح التشفير"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../keyboard.pm:1
+#: ../../printer/printerdrake.pm_.c:2261
#, c-format
msgid ""
-"This setting will be activated after the installation.\n"
-"During installation, you will need to use the Right Control\n"
-"key to switch between the different keyboard layouts."
+"\n"
+"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
+"a particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\".\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Christmas Island"
-msgstr "جزر الكريسماس"
-
-#: ../../mouse.pm:1
+#: ../../printer/printerdrake.pm_.c:2271
#, fuzzy, c-format
-msgid "Automatic"
-msgstr "Automatic IP"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "فشل تثبيت محمّل الإقلاع. ظهر الخطأ التالي:"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "EIDE/SCSI channel"
-msgstr "قناة EIDE/SCSI"
+msgid "Printing/Scanning/Photo Cards on \"%s\""
+msgstr "جاري الطباعة/المسح على \"%s\""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2272
#, c-format
-msgid "Set this printer as the default"
-msgstr "عيّن هذه الطابعة كطابعة افتراضية"
+msgid "Printing/Scanning on \"%s\""
+msgstr "جاري الطباعة/المسح على \"%s\""
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2274
#, fuzzy, c-format
-msgid "Verify that %s is the correct path"
-msgstr "هل هذا هو الإعداد الصحيح؟"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "partition %s"
-msgstr "التجزئة %s"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Paranoid"
-msgstr "مرتفع جدا"
-
-#: ../../any.pm:1
-#, c-format
-msgid "NIS"
-msgstr "NIS"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Del User"
-msgstr "<-- احذف المستخدم"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Location on the bus"
-msgstr "المكان على الـbus"
-
-#
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No printer found!"
-msgstr "لا توجد طابعة!"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the device"
-msgstr "اسم مصنّع الجهاز"
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Erase entire disk"
-msgstr "امسح كل القرص"
-
-#: ../../printer/cups.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Default)"
-msgstr " (افتراضي)"
+msgid "Printing/Photo Card Access on \"%s\""
+msgstr "جاري الطباعة/المسح على \"%s\""
-#: ../../standalone/drakgw:1
+#: ../../printer/printerdrake.pm_.c:2275
#, c-format
-msgid "Automatic reconfiguration"
-msgstr "اعداة تهيئة آلية"
+msgid "Printing on the printer \"%s\""
+msgstr "جاري الطباعة على الطابعة \"%s\""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Receiving Speed:"
-msgstr "سرعة الإستقبال"
+#: ../../printer/printerdrake.pm_.c:2278 ../../printer/printerdrake.pm_.c:2281
+#: ../../printer/printerdrake.pm_.c:2282 ../../printer/printerdrake.pm_.c:2283
+#: ../../printer/printerdrake.pm_.c:3216 ../../standalone/drakTermServ_.c:307
+#: ../../standalone/drakbackup_.c:1533 ../../standalone/drakbackup_.c:4156
+#: ../../standalone/drakbug_.c:108 ../../standalone/drakfont_.c:695
+#: ../../standalone/drakfont_.c:956 ../../standalone/net_monitor_.c:118
+msgid "Close"
+msgstr "إغلاق"
-#: ../../lang.pm:1
-#, c-format
-msgid "Turks and Caicos Islands"
-msgstr "جزر الترك و الكايكوس"
+#: ../../printer/printerdrake.pm_.c:2281
+msgid "Print option list"
+msgstr "قائمة خيارات الطابعة"
-#: ../../standalone/drakconnect:1
+#: ../../printer/printerdrake.pm_.c:2301
#, c-format
-msgid "No Ip"
+msgid ""
+"Your multi-function device was configured automatically to be able to scan. "
+"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
+"scanner when you have more than one) from the command line or with the "
+"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
+"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
+"\" menu. Call also \"man scanimage\" on the command line to get more "
+"information.\n"
+"\n"
+"Do not use \"scannerdrake\" for this device!"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "<- Previous"
-msgstr "<- السابق "
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Transfer Now"
+#: ../../printer/printerdrake.pm_.c:2322
+msgid ""
+"Your printer was configured automatically to give you access to the photo "
+"card drives from your PC. Now you can access your photo cards using the "
+"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
+"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
+"\"man mtools\" on the command line for more info). You find the card's file "
+"system under the drive letter \"p:\", or subsequent drive letters when you "
+"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
+"can switch between drive letters with the field at the upper-right corners "
+"of the file lists."
msgstr ""
-" انقل \n"
-"الآن"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Set root password and network authentication methods"
+#: ../../printer/printerdrake.pm_.c:2344 ../../printer/printerdrake.pm_.c:2702
+#: ../../printer/printerdrake.pm_.c:2990
+msgid "Reading printer data..."
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Use password to authenticate users."
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Toggle between flat and group sorted"
-msgstr "Toggle between flat and group sorted"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Themes"
-msgstr "السمات"
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Options: %s"
-msgstr "الخيارات: %s"
+#: ../../printer/printerdrake.pm_.c:2364 ../../printer/printerdrake.pm_.c:2391
+#: ../../printer/printerdrake.pm_.c:2426
+msgid "Transfer printer configuration"
+msgstr "نقل إعدادات الطابعة"
-#: ../../standalone/drakboot:1
+#: ../../printer/printerdrake.pm_.c:2365
#, c-format
msgid ""
-"You are currently using %s as your boot manager.\n"
-"Click on Configure to launch the setup wizard."
+"You can copy the printer configuration which you have done for the spooler %"
+"s to %s, your current spooler. All the configuration data (printer name, "
+"description, location, connection type, and default option settings) is "
+"overtaken, but jobs will not be transferred.\n"
+"Not all queues can be transferred due to the following reasons:\n"
msgstr ""
-"أنت تستخدم %s كمدير اقلاع حاليا.\n"
-"اضغط على تهيئة لتشغيل معالج الإعداد"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "OKI winprinter configuration"
-msgstr "إعداد OKI WinPrinter"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Helena"
-msgstr "سانت هيلانة"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Parallel port #%s"
-msgstr " على المنفذ المتوازي #%s"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Security Level"
-msgstr "مستوى الأمن"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2368
msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
+"CUPS does not support printers on Novell servers or printers sending the "
+"data into a free-formed command.\n"
msgstr ""
-"بعض الخطوات لم يتم تكملتها.\n"
-"\n"
-"هل تريد الخروج الآن فعلاً؟"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sudan"
-msgstr "السودان"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwertz layout)"
-msgstr "البولندية (qwertz layout)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Syria"
-msgstr "سورية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2370
msgid ""
-"Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, "
-"LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), "
-"an HP PhotoSmart or an HP LaserJet 2200?"
+"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
+"printers.\n"
msgstr ""
-"اذا كانت طابعتك جهازاً متعدد الوظائف من HP أو Sony (OfficeJet, PSC, LaserJet "
-"1100/1200/1220/3200/3300 مع ماسح ضوئي, Sony IPJ-V100) أو جهاز HP PhotoSmart "
-"أو HP LaserJet 2200؟"
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm:1
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system from the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
+#: ../../printer/printerdrake.pm_.c:2372
+msgid "LPD and LPRng do not support IPP printers.\n"
msgstr ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system from the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Portuguese"
-msgstr "البرتغالية"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: "
-msgstr "اسم ملف Loopback: "
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server address should be in format 1.2.3.4"
-msgstr "عنوان خادم DNS يجب أن يكون على النسق 1.2.3.4"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Control key"
-msgstr "مفتاح Control الأيسر"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Serbia"
-msgstr "صربيا"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Newzealand"
-msgstr "نيوزيلندا "
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "This directory should remain within the root filesystem"
-msgstr "هذا الدليل يجب أن يكون في نظام الملفات الجذري"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Across Network"
-msgstr "عبر الشّبكة"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "CapsLock key"
-msgstr "مفتاح CapsLock"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Install bootloader"
-msgstr "تثبيت محمِّل الإقلاع"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Select the memory size of your graphics card"
-msgstr "إختر حجم ذاكرة بطاقة الشاشة"
+#: ../../printer/printerdrake.pm_.c:2374
+msgid ""
+"In addition, queues not created with this program or \"foomatic-configure\" "
+"cannot be transferred."
+msgstr ""
-#: ../../security/help.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:2375
msgid ""
-"Enable/Disable crontab and at for users.\n"
"\n"
-"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
-"and crontab(1))."
+"Also printers configured with the PPD files provided by their manufacturers "
+"or with native CUPS drivers cannot be transferred."
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Enable/Disable crontab and at for users. Put allowed users in /etc/cron."
-"allow and /etc/at.allow\n"
-"(see man at(1) and crontab(1))."
-#: ../../standalone.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2376
msgid ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
+"Mark the printers which you want to transfer and click \n"
+"\"Transfer\"."
msgstr ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
-"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Dynamic IP Address Pool:"
-msgstr "Dynamic IP Address Pool:"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM name?"
-msgstr "اسم LVM؟"
-
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices in the \"%s\" hardware class were removed:\n"
-msgstr "تمت ازالة بعض الأجهزة في فئة العتاد \"%s\":\n"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "تم ايجاد %s %s واجهات"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Install"
-msgstr "ما بعد التثبيت"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The internal domain name"
-msgstr "اسم النطاق الداخلي"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IRQ"
-msgstr "Card IRQ"
+#: ../../printer/printerdrake.pm_.c:2379
+msgid "Do not transfer printers"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "logdrake"
-msgstr "logdrake"
+#: ../../printer/printerdrake.pm_.c:2380 ../../printer/printerdrake.pm_.c:2396
+msgid "Transfer"
+msgstr ""
-#: ../../standalone.pm:1
+#: ../../printer/printerdrake.pm_.c:2392
#, c-format
msgid ""
-"Font Importation and monitoring "
-"application \n"
-"--windows_import : import from all available windows partitions.\n"
-"--xls_fonts : show all fonts that already exist from xls\n"
-"--strong : strong verification of font.\n"
-"--install : accept any font file and any directry.\n"
-"--uninstall : uninstall any font or any directory of font.\n"
-"--replace : replace all font if already exist\n"
-"--application : 0 none application.\n"
-" : 1 all application available supported.\n"
-" : name_of_application like so for staroffice \n"
-" : and gs for ghostscript for only this one."
+"A printer named \"%s\" already exists under %s. \n"
+"Click \"Transfer\" to overwrite it.\n"
+"You can also type a new name or skip this printer."
msgstr ""
-"Font Importation and monitoring "
-"application \n"
-"--windows_import : import from all available windows partitions.\n"
-"--xls_fonts : show all fonts that already exist from xls\n"
-"--strong : strong verification of font.\n"
-"--install : accept any font file and any directry.\n"
-"--uninstall : uninstall any font or any directory of font.\n"
-"--replace : replace all font if already exist\n"
-"--application : 0 none application.\n"
-" : 1 all application available supported.\n"
-" : name_of_application like so for staroffice \n"
-" : and gs for ghostscript for only this one."
-
-#: ../../standalone.pm:1
-#, c-format
-msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "اختر سواقة الأقراص المرنة التي تريد استخدامها لعمل قرص الإقلاع"
-
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with text menu"
-msgstr "LILO مع قائمة نصية"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "instantaneous"
+#: ../../printer/printerdrake.pm_.c:2400
+msgid "Name of printer should contain only letters, numbers and the underscore"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Everything (no firewall)"
-msgstr "كل شئ (لا جدار ناري)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a kernel image"
-msgstr "يجب أن تحدد صورة النواة"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on USB"
-msgstr ", جهاز متعدد الوظائف على منفذ USB"
-
-#: ../../interactive/newt.pm:1
-#, c-format
-msgid "Do"
-msgstr "افعل"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Contacting the mirror to get the list of available packages..."
-msgstr "جاري الإتصال بالمرآة للحصول على قائمة بالحزم المتوفرة..."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (old)"
-msgstr "الليتوانية AZERTY (قديم)"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Brazilian (ABNT-2)"
-msgstr "البرازيلية (ABNT-2)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address of host/network:"
-msgstr "عنوان IP للمستضيف/الشبكة:"
-
-#: ../../standalone/draksplash:1
+#: ../../printer/printerdrake.pm_.c:2405
#, c-format
msgid ""
-"the progress bar y coordinate\n"
-"of its upper left corner"
+"The printer \"%s\" already exists,\n"
+"do you really want to overwrite its configuration?"
msgstr ""
-"الإحداثي الصادي للركن الأيسر الأعلى\n"
-"لشريط التقدم"
-
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System installation"
-msgstr "تثبيت النظام"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Vincent and the Grenadines"
-msgstr "سانت فينسنت و الغرينادين"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Allow/Forbid reboot by the console user."
+#: ../../printer/printerdrake.pm_.c:2413
+msgid "New printer name"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Allow/Forbid reboot by the console user."
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Open"
-msgstr "/ملف/_فتح"
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Location of auto_install.cfg file"
-msgstr "المكان على ملف install.cfg"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Open Firmware Delay"
-msgstr "Open Firmware Delay"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Hungary"
-msgstr "المجر"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "New Zealand"
-msgstr "نيوزيلندا"
-#: ../../standalone/net_monitor:1
+#: ../../printer/printerdrake.pm_.c:2416
#, c-format
-msgid "Color configuration"
-msgstr "إعدادات الألوان"
+msgid "Transferring %s..."
+msgstr ""
-#: ../../security/level.pm:1
+#: ../../printer/printerdrake.pm_.c:2427
#, c-format
msgid ""
-"There are already some restrictions, and more automatic checks are run every "
-"night."
+"You have transferred your former default printer (\"%s\"), Should it be also "
+"the default printer under the new printing system %s?"
msgstr ""
-"توجد بعض القيود, كما يتم تشغيل برامج للتأكد من النظام أوتوماتيكياً كل ليلة."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "please choose the date to restore"
-msgstr "رجاء اختر تاريخ الإستعادة"
+#: ../../printer/printerdrake.pm_.c:2437
+msgid "Refreshing printer data..."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Netherlands Antilles"
-msgstr "أنتيل هولندا"
+#: ../../printer/printerdrake.pm_.c:2445 ../../printer/printerdrake.pm_.c:2516
+#: ../../printer/printerdrake.pm_.c:2528
+msgid "Configuration of a remote printer"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Switching from ext2 to ext3"
-msgstr "جاري التغيير من ext2 الى ext3"
+#: ../../printer/printerdrake.pm_.c:2446
+msgid "Starting network..."
+msgstr "جاري بدء الشبكة..."
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng"
-msgstr "LPRng"
+#: ../../printer/printerdrake.pm_.c:2479 ../../printer/printerdrake.pm_.c:2483
+#: ../../printer/printerdrake.pm_.c:2485
+msgid "Configure the network now"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Browse to new restore repository."
-msgstr "استعرض الى مستودع استعادة جديد."
+#: ../../printer/printerdrake.pm_.c:2480
+msgid "Network functionality not configured"
+msgstr "لم يتم تحديد وظيفية الشبكة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2481
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard allows you to install local or remote printers to be used from "
-"this machine and also from other machines in the network.\n"
-"\n"
-"It asks you for all necessary information to set up the printer and gives "
-"you access to all available printer drivers, driver options, and printer "
-"connection types."
+"You are going to configure a remote printer. This needs working network "
+"access, but your network is not configured yet. If you go on without network "
+"configuration, you will not be able to use the printer which you are "
+"configuring now. How do you want to proceed?"
msgstr ""
-"\n"
-"أهلاً بكم في معالج اعداد الطابعات\n"
-"\n"
-"هذا المعالج يسمح لك بتثبيت الطابعات المحلية أو البعيدة ليتم استخدامها من هذه "
-"الماكينو و من الماكينات الأخرى على الشبكة.\n"
-"\n"
-"يسألك المعالج عن كل المعلومات الأساسية لإعداد الطابعة و تعطيك القدرة على "
-"الوصول لكل مشغلات الطابعات و خيارات المشغلات و أنواع وصلات الطابعة."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and %d unknown printers"
-msgstr "و %d طابعات غير معروفة"
+#: ../../printer/printerdrake.pm_.c:2484
+msgid "Go on without configuring the network"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2518
msgid ""
-"Early Intel Pentium chips manufactured have a bug in their floating point "
-"processor which did not achieve the required precision when performing a "
-"Floating point DIVision (FDIV)"
+"The network configuration done during the installation cannot be started "
+"now. Please check whether the network gets accessable after booting your "
+"system and correct the configuration using the Mandrake Control Center, "
+"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
+"printer, also using the Mandrake Control Center, section \"Hardware\"/"
+"\"Printer\""
msgstr ""
-"Early Intel Pentium chips manufactured have a bug in their floating point "
-"processor which did not achieve the required precision when performing a "
-"Floating point DIVision (FDIV)"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2519
msgid ""
-"Backup quota exceeded!\n"
-"%d MB used vs %d MB allocated."
+"The network access was not running and could not be started. Please check "
+"your configuration and your hardware. Then try to configure your remote "
+"printer again."
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr "لم يتم ايجاد بطاقات ISDN PCI. فضلاً اختر واحدة في الشاشة التالية."
-
-#: ../../common.pm:1
-#, c-format
-msgid "GB"
-msgstr "غيغابايت"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please give a user name"
-msgstr "رجاءً قم بإعطاء اسم مستخدم"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Enable CD Boot?"
-msgstr "تمكين الإقلاع من القرص المدمج؟"
-
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Simply reboot"
+#: ../../printer/printerdrake.pm_.c:2529
+msgid "Restarting printing system..."
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid " enter `void' for void entry"
-msgstr " enter `void' for void entry"
+#: ../../printer/printerdrake.pm_.c:2568
+msgid "high"
+msgstr "مرتفع"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backups on unmountable media - Use Catalog to restore"
+#: ../../printer/printerdrake.pm_.c:2568
+msgid "paranoid"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "January"
-msgstr "يناير"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Password history length"
-msgstr "كلمة المرور هذه بسيطة جدا"
-
-#: ../../network/netconnect.pm:1
+#: ../../printer/printerdrake.pm_.c:2569
#, c-format
-msgid "Winmodem connection"
-msgstr "وصلة Winmodem"
+msgid "Installing a printing system in the %s security level"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2570
#, c-format
msgid ""
+"You are about to install the printing system %s on a system running in the %"
+"s security level.\n"
"\n"
-"Congratulations, your printer is now installed and configured!\n"
-"\n"
-"You can print using the \"Print\" command of your application (usually in "
-"the \"File\" menu).\n"
+"This printing system runs a daemon (background process) which waits for "
+"print jobs and handles them. This daemon is also accessable by remote "
+"machines through the network and so it is a possible point for attacks. "
+"Therefore only a few selected daemons are started by default in this "
+"security level.\n"
"\n"
-"If you want to add, remove, or rename a printer, or if you want to change "
-"the default option settings (paper input tray, printout quality, ...), "
-"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
-"Center."
+"Do you really want to configure printing on this machine?"
msgstr ""
-"\n"
-"تهانينا, تم تثبيت و تهيئة طابعتك!\n"
-"\n"
-"يمكنك الطباعة باستخدام أمر \"اطبع\" في تطبيقاتك (عادة في قائمة \"ملف\").\n"
-"\n"
-"اذا أردت اضافة أو حذف أو اعادة تسمية طابعة, أة اذا أردت تغيير خيارات الطابعة "
-"الإفتراضية (جودة الطباعة, تغيير الحبر, ...), اختر \"الطابعة\" في قسم \"العتاد"
-"\" في مركز تحكم Mandrake."
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Now, you can run xawtv (under X Window!) !\n"
-msgstr "الآن يمكنك تشغيل XawTV (في الواجهة الرسومية!) !\n"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Not enough swap space to fulfill installation, please add some"
-msgstr "لا توجد مساحة تبديل كافية للقيام بالتثبيت, فضلاً زد مساحة التبديل"
-
-#. -PO: example: lilo-graphic on /dev/hda1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "%s on %s"
-msgstr "%s على %s"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Allow/Forbid remote root login."
+#: ../../printer/printerdrake.pm_.c:2604
+msgid "Starting the printing system at boot time"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Allow/Forbid remote root login."
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:2605
#, c-format
msgid ""
-"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
-"local time according to the time zone you selected. If the clock on your\n"
-"motherboard is set to local time, you may deactivate this by unselecting\n"
-"\"%s\", which will let GNU/Linux know that the system clock and the\n"
-"hardware clock are in the same timezone. This is useful when the machine\n"
-"also hosts another operating system like Windows.\n"
-"\n"
-"The \"%s\" option will automatically regulate the clock by connecting to a\n"
-"remote time server on the Internet. For this feature to work, you must have\n"
-"a working Internet connection. It is best to choose a time server located\n"
-"near you. This option actually installs a time server that can used by\n"
-"other machines on your local network as well."
-msgstr ""
-"يقوم Linux بإدارة الوقت حسب توقيت غرينتش ثم يترجمه الى\n"
-"التوقيت المحلي حسب المنطقة الزمنية التي اخترتها. اذا كانت الساعة\n"
-"التي في اللوحة الرئيسية مضبوطة على التوقيت المحلي, يمكنك ازالة تنشيط ذلك\n"
-"عن طريق ازالة التأشير من \"%s\" و التي ستجعل\n"
-"Linux يعلم أن ساعة النظام و ساعة الجهاز على نفس التوقيت. هذا\n"
-"مفيد عندما تستضيف الماكينة نظام تشغيل آخر مثل Windows.\n"
+"The printing system (%s) will not be started automatically when the machine "
+"is booted.\n"
"\n"
-"خيار \"%s\" سيقوم آلياً بضبط الساعة عن طريق\n"
-"الإتصال بخادم وقت بعيد على الإنترنت. كي تعمل هذه الميزة,\n"
-"يجب أن تكون لديك وصلة انترنت عاملة. من الأفضل اختيار خادم\n"
-"الوقت الأقرب اليك. هذا الخيار يثبت خادم وقت\n"
-"يمكن استخدامه عن طريق الماكينات الأخرى على الشبكة المحلية."
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Can't create log file!"
-msgstr "تعذر انشاء الكتالوغ!"
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakclock:1
-#, c-format
-msgid "Which is your timezone?"
-msgstr "ما هي منطقتك الزمنية؟"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use .backupignore files"
-msgstr "استخدم quota لملفات النسخ الإحتياطي."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea"
-msgstr "غينيا"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "The system is now connected to the Internet."
-msgstr "النظام الآن متصل بالإنترنت"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "South Georgia and the South Sandwich Islands"
-msgstr "جوجيا الجنوبية و جزر ساندويتش الجنوبية"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (broadcast)"
-msgstr "اليابان (broadcast)"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Monitor\n"
+"It is possible that the automatic starting was turned off by changing to a "
+"higher security level, because the printing system is a potential point for "
+"attacks.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer."
+"Do you want to have the automatic starting of the printing system turned on "
+"again?"
msgstr ""
-"الشاشة\n"
-"\n"
-" يمكن لبرنامج التثبيت اكتشاف و تهيئة الشاشة المتصلة بماكينتك\n"
-"آلياً. ان لم يصل ذلك, يمكنك اختيار الشاشة التي لديك\n"
-"من القائمة."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mozambique"
-msgstr "موزمبيق"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Icon"
-msgstr "أيقونة"
-
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "Kill those programs"
-msgstr "الوصول الى برامج X"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose what you want to backup"
-msgstr "رجاء اختر ما تريد نسخه احتياطياً"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "256 colors (8 bits)"
-msgstr "256 لون (8 بت)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Read-write"
-msgstr "للقراءة و الكتابة"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s\n"
-msgstr "الحجم: %s\n"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Hostname: "
-msgstr "اسم المستضيف :"
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2765
+msgid "Checking installed software..."
+msgstr ""
-#: ../../standalone/drakperm:1
+#: ../../printer/printerdrake.pm_.c:2630
#, fuzzy, c-format
-msgid "Add a rule"
-msgstr "اضافة قاعدة"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "حجم Chunk %s\n"
-
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid "Build the future of Linux!"
-msgstr "شارك في بناء مستقبل Linux!"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printer"
-msgstr "طابعة محلية"
+msgid "Removing %s ..."
+msgstr "جاري ازالة %s"
-#: ../../network/tools.pm:1
+#: ../../printer/printerdrake.pm_.c:2636
#, fuzzy, c-format
-msgid "Floppy access error, unable to mount device %s"
-msgstr "أين تريد تحميل الجهاز %s؟"
-
-#: ../../standalone.pm:1
-#, c-format
-msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
-msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgid "Installing %s ..."
+msgstr "تركيب طرود ..."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ADSL connection"
-msgstr "وصلة ADSL"
+#: ../../printer/printerdrake.pm_.c:2685
+msgid "Select Printer Spooler"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No configuration, please click Wizard or Advanced.\n"
-msgstr "لا تهيئة, اضغط معالج أو متقدم.\n"
+#: ../../printer/printerdrake.pm_.c:2686
+msgid "Which printing system (spooler) do you want to use?"
+msgstr "أي نظام طباعة تريد أن تستخدم؟"
-#: ../../standalone/drakautoinst:1
+#: ../../printer/printerdrake.pm_.c:2720
#, c-format
-msgid "Error!"
-msgstr "خطأ ! "
+msgid "Configuring printer \"%s\"..."
+msgstr "جاري إعداد الطابعة \"%s\" ..."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "cable connection detected"
-msgstr "تم اكتشاف وصلة كيبل"
+#: ../../printer/printerdrake.pm_.c:2731
+msgid "Installing Foomatic..."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission denied transferring %s to %s"
-msgstr "تم رفض لاتصريح بنقل %s الى %s"
+#: ../../printer/printerdrake.pm_.c:2800 ../../printer/printerdrake.pm_.c:2838
+#: ../../printer/printerdrake.pm_.c:3230 ../../printer/printerdrake.pm_.c:3300
+msgid "Printer options"
+msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Report Bug"
-msgstr "/_تقرير خطأ"
+#: ../../printer/printerdrake.pm_.c:2810
+#, fuzzy
+msgid "Preparing Printerdrake..."
+msgstr "جاري قراءة بيانات الطابعة ..."
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominica"
-msgstr "دومينيكا"
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:3369
+msgid "Configuring applications..."
+msgstr "جاري إعداد التطبيقات..."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resize"
-msgstr "تغيير الحجم"
+#: ../../printer/printerdrake.pm_.c:2845
+msgid "Would you like to configure printing?"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "دقة العرض: %s\n"
+#: ../../printer/printerdrake.pm_.c:2857
+msgid "Printing system: "
+msgstr ""
-#: ../../install2.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2915
msgid ""
-"Can't access kernel modules corresponding to your kernel (file %s is "
-"missing), this generally means your boot floppy in not in sync with the "
-"Installation medium (please create a newer boot floppy)"
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; to view information about it; "
+"or to make a printer on a remote CUPS server available for Star Office/"
+"OpenOffice.org/GIMP."
msgstr ""
-"تعذر الوصول الى وحدات النواة الخاصة بنواة النظام (الملف %s مفقود), بشكل عام "
-"يعني هذا أن قرص الإقلاع المرن ليس محدّثاً مع وسيط التثبيت (فضلاً قم بإنشاء قرص "
-"اقلاع جديد)"
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2916
msgid ""
-"Please select the correct port. For example, the \"COM1\" port under\n"
-"Windows is named \"ttyS0\" under GNU/Linux."
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; or to view information about "
+"it."
msgstr ""
-"فضلاً اختر المنفذ الصحيح. مثلاً لمنفذ \"COM1\" في\n"
-"Windows اسمه \"ttys0\" في Linux."
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be removed"
-msgstr "سيتم حذف الحزم التالية"
-
-#: ../../network/adsl.pm:1 ../../network/ethernet.pm:1
-#, c-format
-msgid "Connect to the Internet"
-msgstr "وصّل إلى الإنترنت "
+#: ../../printer/printerdrake.pm_.c:2942
+msgid "Refresh printer list (to display all available remote CUPS printers)"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use existing partitions"
-msgstr "استخدم التجزئات الموجودة"
+#: ../../printer/printerdrake.pm_.c:2960
+msgid "Change the printing system"
+msgstr "تغيير نظام الطباعة"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Canadian (Quebec)"
-msgstr "الكنديّة (كيبيك)"
+#: ../../printer/printerdrake.pm_.c:2965 ../../standalone/drakconnect_.c:274
+msgid "Normal Mode"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "جهاز الفأرة: %s\n"
+#: ../../printer/printerdrake.pm_.c:3127 ../../printer/printerdrake.pm_.c:3176
+#: ../../printer/printerdrake.pm_.c:3363
+msgid "Do you want to configure another printer?"
+msgstr "هل تريد تجربة إعداد طابعة أخرى؟"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Reselect correct fonts"
-msgstr "أعد اختيار الخطوط الصحيحة"
+#: ../../printer/printerdrake.pm_.c:3211
+msgid "Modify printer configuration"
+msgstr "تعديل اعدادات الطابعة"
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:3213
#, c-format
msgid ""
-"Options\n"
-"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+"Printer %s\n"
+"What do you want to modify on this printer?"
msgstr ""
-"في النهاية, سيتم سؤالك عن اذا كنت تريد بدء الواجهة الرسومية\n"
-"عند بدء النظام. لاحط أنه سيتم سؤالك هذا السؤال حتى لو اخترت عدم اختبار\n"
-"التهيئة, بكل وضوح, ستختار \"%s\" اذا كانت ماكينتك ستستخدم كجهاز\n"
-"خادم, أو اذا لم تنجح في تهيئة العرض\n"
-"بشكل صحيح."
-
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "MandrakeExpert Corporate"
-msgstr "MandrakeExpert للشركات"
+"الطابعة %s\n"
+"هل تريد تعديل تلك الطابعة؟"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-" [everything]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake resolution"
+#: ../../printer/printerdrake.pm_.c:3217
+msgid "Do it!"
msgstr ""
-" [everything]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake resolution"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Write protection"
-msgstr "الحماية من الكتابة"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "You've not selected any font"
-msgstr "لم تقم باختيار أي خط"
+#: ../../printer/printerdrake.pm_.c:3222 ../../printer/printerdrake.pm_.c:3271
+msgid "Printer connection type"
+msgstr "نوع وصلة الطابعة"
-#: ../../steps.pm:1
-#, c-format
-msgid "Language"
-msgstr "اختر لغتك"
+#: ../../printer/printerdrake.pm_.c:3223 ../../printer/printerdrake.pm_.c:3275
+msgid "Printer name, description, location"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer model selection"
-msgstr "إختيار وحدات الطابعة"
+#: ../../printer/printerdrake.pm_.c:3225 ../../printer/printerdrake.pm_.c:3293
+msgid "Printer manufacturer, model, driver"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr "بعد تغيير نوع التجزئة %s, فإنك ستسخر كل البيانات على التجزئة"
+#: ../../printer/printerdrake.pm_.c:3226 ../../printer/printerdrake.pm_.c:3294
+msgid "Printer manufacturer, model"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "ISDN adapters"
-msgstr "بطاقة ISDN"
+#: ../../printer/printerdrake.pm_.c:3232 ../../printer/printerdrake.pm_.c:3304
+msgid "Set this printer as the default"
+msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "%d seconds"
-msgstr "%d ثوان"
+#: ../../printer/printerdrake.pm_.c:3234 ../../printer/printerdrake.pm_.c:3309
+msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "أدخل قرص مرن فارغ في السواقة %s"
+#: ../../printer/printerdrake.pm_.c:3235 ../../printer/printerdrake.pm_.c:3314
+msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A valid URI must be entered!"
-msgstr "يجب ادخال URI صالح!"
+#: ../../printer/printerdrake.pm_.c:3236 ../../printer/printerdrake.pm_.c:3319
+msgid "Print test pages"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Found \"%s\" interface do you want to use it ?"
-msgstr "تم ايجاد الواجهة \"%s\" هل تريد استخدامها؟"
+#: ../../printer/printerdrake.pm_.c:3237 ../../printer/printerdrake.pm_.c:3321
+msgid "Know how to use this printer"
+msgstr "اعرف كيف تستخدم هذه الطابعة"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Re-configure interface and DHCP server"
-msgstr "إعادة إعداد الواجهة و خادم DHCP"
+#: ../../printer/printerdrake.pm_.c:3238 ../../printer/printerdrake.pm_.c:3323
+msgid "Remove printer"
+msgstr ""
-#: ../../harddrake/sound.pm:1
+#: ../../printer/printerdrake.pm_.c:3282
#, c-format
-msgid "Sound configuration"
-msgstr "اعدادات الصوت"
+msgid "Removing old printer \"%s\"..."
+msgstr "جاري ازالة الطابعة القديمة \"%s\" ..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo test page"
-msgstr "صفحة اختبارية لصورة"
+#: ../../printer/printerdrake.pm_.c:3307
+msgid "Default printer"
+msgstr ""
-#: ../../help.pm:1 ../../install_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:3308
#, c-format
-msgid "Custom disk partitioning"
-msgstr "تجزئة مخصصة"
+msgid "The printer \"%s\" is set as the default printer now."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter Printer Name and Comments"
-msgstr "أدخل اسم الطابعة و التعليقات"
+#: ../../printer/printerdrake.pm_.c:3310
+msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3312
#, c-format
msgid ""
-"The following printers\n"
-"\n"
-"%s%s\n"
-"are directly connected to your system"
+"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
msgstr ""
-"الطابعات التالية\n"
-"\n"
-"%s%s\n"
-"متصلة مباشرةً بنظامك"
-#: ../../network/modem.pm:1
+#: ../../printer/printerdrake.pm_.c:3313
#, c-format
-msgid "You don't have any winmodem"
+msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: %s"
-msgstr "النوع: %s"
+#: ../../printer/printerdrake.pm_.c:3315
+msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../keyboard.pm:1
+#: ../../printer/printerdrake.pm_.c:3317
#, c-format
-msgid "Slovakian (QWERTY)"
-msgstr "السلوفاكية (QWERTY)"
+msgid ""
+"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
+"GIMP."
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:3318
#, c-format
msgid ""
-"This should be a comma-separated list of local users or email addresses that "
-"you want the backup results sent to. You will need a functioning mail "
-"transfer agent setup on your system."
+"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/draksound:1
+#: ../../printer/printerdrake.pm_.c:3325
#, c-format
-msgid "No Sound Card detected!"
-msgstr "لم يتم اختيار بطاقة صوت"
+msgid "Do you really want to remove the printer \"%s\"?"
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
+#: ../../printer/printerdrake.pm_.c:3329
#, c-format
-msgid "Mouse Port"
-msgstr "منفذ الفأرة"
+msgid "Removing printer \"%s\"..."
+msgstr "جاري ازالة الطابعة \"%s\" ..."
-#: ../../security/l10n.pm:1
+#: ../../raid.pm_.c:35
#, c-format
-msgid "Check for unsecured accounts"
+msgid "Can't add a partition to _formatted_ RAID md%d"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Need to restart the Display Manager for full changes to take effect. \n"
-"(service dm restart - at the console)"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed"
msgstr ""
-"يجب اعادة تشغيل مدير العرض لكي يتم تفعيل التغييرات. \n"
-"(service dm restart - في سطر الأوامر)"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Ftp Server"
-msgstr "الخادم FTP"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uganda"
-msgstr "أوغندا"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "%s fonts conversion"
-msgstr "تحويل خطوط %s"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed (maybe raidtools are missing?)"
+msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../raid.pm_.c:153
#, c-format
-msgid "the type of bus on which the mouse is connected"
-msgstr "نوع الـbus المرتبطة به الفأرة"
+msgid "Not enough partitions for RAID level %d\n"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../security/main.pm_.c:36
msgid ""
-"As a review, DrakX will present a summary of information it has about your\n"
-"system. Depending on your installed hardware, you may have some or all of\n"
-"the following entries. Each entry is made up of the configuration item to\n"
-"be configured, followed by a quick summary of the current configuration.\n"
-"Click on the corresponding \"%s\" button to change that.\n"
-"\n"
-" * \"%s\": check the current keyboard map configuration and change that if\n"
-"necessary.\n"
-"\n"
-" * \"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list.\n"
-"\n"
-" * \"%s\": By default, DrakX deduces your time zone based on the country\n"
-"you have chosen. You can click on the \"%s\" button here if this is not\n"
-"correct.\n"
+"Standard: This is the standard security recommended for a computer that will "
+"be used to connect\n"
+" to the Internet as a client.\n"
"\n"
-" * \"%s\": check the current mouse configuration and click on the button to\n"
-"change it if necessary.\n"
+"High: There are already some restrictions, and more automatic checks "
+"are run every night.\n"
"\n"
-" * \"%s\": clicking on the \"%s\" button will open the printer\n"
-"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-"Guide'' for more information on how to setup a new printer. The interface\n"
-"presented there is similar to the one used during installation.\n"
-"\n"
-" * \"%s\": if a sound card is detected on your system, it is displayed\n"
-"here. If you notice the sound card displayed is not the one that is\n"
-"actually present on your system, you can click on the button and choose\n"
-"another driver.\n"
-"\n"
-" * \"%s\": by default, DrakX configures your graphical interface in\n"
-"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
-"\"%s\" to reconfigure your graphical interface.\n"
-"\n"
-" * \"%s\": if a TV card is detected on your system, it is displayed here.\n"
-"If you have a TV card and it is not detected, click on \"%s\" to try to\n"
-"configure it manually.\n"
-"\n"
-" * \"%s\": if an ISDN card is detected on your system, it will be displayed\n"
-"here. You can click on \"%s\" to change the parameters associated with the\n"
-"card.\n"
-"\n"
-" * \"%s\": If you want to configure your Internet or local network access\n"
-"now.\n"
+"Higher: The security is now high enough to use the system as a server "
+"which can accept\n"
+" connections from many clients. If your machine is only a "
+"client on the Internet, you\n"
+"\t should choose a lower level.\n"
"\n"
-" * \"%s\": this entry allows you to redefine the security level as set in a\n"
-"previous step ().\n"
+"Paranoid: This is similar to the previous level, but the system is entirely "
+"closed and security\n"
+" features are at their maximum\n"
"\n"
-" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
-"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
-"the corresponding section of the ``Starter Guide'' for details about\n"
-"firewall settings.\n"
-"\n"
-" * \"%s\": if you wish to change your bootloader configuration, click that\n"
-"button. This should be reserved to advanced users.\n"
-"\n"
-" * \"%s\": here you'll be able to fine control which services will be run\n"
-"on your machine. If you plan to use this machine as a server it's a good\n"
-"idea to review this setup."
+"Security Administrator:\n"
+" If the 'Security Alerts' option is set, security alerts will "
+"be sent to this user (username or\n"
+"\t email)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Comoros"
-msgstr "جزر القمر"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "May"
-msgstr "مايو"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Yaboot mode"
-msgstr "وضع Yaboot"
+#: ../../security/main.pm_.c:66
+#, fuzzy
+msgid "Security Level:"
+msgstr "مستوى الأمن"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse"
-msgstr "Generic 3 Button Mouse"
+#: ../../security/main.pm_.c:77
+#, fuzzy, c-format
+msgid " (default value: %s)"
+msgstr "المرجع"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable)"
-msgstr "الولايات المتّحدة الأمريكيّة (cable)"
+#: ../../security/main.pm_.c:113
+#, fuzzy
+msgid "Security Alerts:"
+msgstr "مستوى الأمن"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Can't relaunch LiLo!\n"
-"Launch \"lilo\" as root in command line to complete LiLo theme installation."
+#: ../../security/main.pm_.c:115
+msgid "Security Administrator:"
msgstr ""
-"تعذرت اعادة تشغيل LiLo!\n"
-"شغّل \"lilo\" كمستخدم جذر في سطر الأوامر و أكمل تثبيت سمات LiLo."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select another media to restore from"
-msgstr "اختر وسيط آخر للاستعادة منه"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Software Manager"
-msgstr "مدير البرامج"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Re-submit"
-msgstr "إعادة تسليم"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD in place - continue."
-msgstr "القرص في المكان الصحيح - تابع"
-
-#: ../../common.pm:1
-#, c-format
-msgid "KB"
-msgstr "كيلوبايت"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Network & Internet"
-msgstr "الشبكة و الإنترنت"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "الليتوانية \"صوتي\" QWERTY"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Net Boot Images"
-msgstr "صور اقلاع الشبكة"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Sharing of local scanners"
-msgstr "مشاركة الماسحات الضوئية المحلية"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "Network Options"
+msgstr "خيارات أكثر"
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play probing failed. Please select the correct monitor"
-msgstr "تعذر التأكد من وجود Plug 'n Play. فضلاً اختر الشاشة الصحيحة"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "System Options"
+msgstr "خيارات أكثر"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Detect again USB key"
+#: ../../security/main.pm_.c:133 ../../security/main.pm_.c:164
+msgid ""
+"The following options can be set to customize your\n"
+"system security. If you need explanations, click on Help.\n"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Services and deamons"
-msgstr "الخدمات و المراقبات"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name missing!"
-msgstr "اسم المستضيف البعيد مفقود!"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "with /usr"
-msgstr "مع /usr"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Network"
-msgstr "الشبكة"
+#: ../../security/main.pm_.c:177
+msgid "Periodic Checks"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected to machines running Microsoft Windows"
-msgstr "تحقّق آلياً من الطابعات الموصولة بماكينات تعمل على Microsoft Windows"
+#: ../../security/main.pm_.c:191
+#, fuzzy
+msgid "Please wait, setting security level..."
+msgstr "جاري ضبط مستوى الأمن"
-#: ../../any.pm:1
-#, c-format
-msgid "This password is too simple"
-msgstr "كلمة المرور هذه بسيطة جدا"
+#: ../../security/main.pm_.c:197
+#, fuzzy
+msgid "Please wait, setting security options..."
+msgstr "رجاء انتظر أثناء عملية ttmkfdir..."
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Chkconfig obey msec rules"
-msgstr "تهيئة الخدمات"
+#: ../../services.pm_.c:19
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTZ)"
-msgstr "السلوفاكية (QWERTZ)"
+#: ../../services.pm_.c:20
+msgid "Anacron a periodic command scheduler."
+msgstr ""
-#: ../advertising/06-development.pl:1
-#, c-format
+#: ../../services.pm_.c:21
msgid ""
-"To modify and to create in different languages such as Perl, Python, C and C+"
-"+ has never been so easy thanks to GNU gcc 3 and the best Open Source "
-"development environments."
+"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 ""
-"تعديل و انشاء البرامج بلغات مختلفة مثل Perl, Python, C و ++ِِC أسهل من ذي قبل "
-"بفضل GNU gcc 3 و أفضل بيئات التطوير مفتوحة المصدر."
-
-#
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "No devices found"
-msgstr "تعذر ايجاد صورة"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Truly minimal install (especially no urpmi)"
-msgstr "تثبيت مصغّر فعلاً (خصوصاً بدون urpmi)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use daemon"
-msgstr "استخدم المراقب"
-
-#: ../../install_steps_interactive.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakconnect:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Authentication"
-msgstr "التحقق"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
-msgstr "أضف هذه الطابعة الى Star Office/OpenOffice.org/GIMP"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Additional CUPS servers: "
-msgstr "خادمات CUPS الإضافية: "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:23
msgid ""
-"Choose one of the auto-detected printers from the list or enter the hostname "
-"or IP and the optional port number (default is 9100) in the input fields."
+"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 ""
-"اختر واحدة من الطابعات التي تم التحقق منها آلياً من القائمة أو أدخل اسم "
-"المستضيف أو رقم IP و رقم المنفذ الإختياري (الإفتراضي هو 9100) في حقول "
-"الإدخال."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount %s?"
-msgstr "أين تريد تحميل الجهاز %s؟"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Algeria"
-msgstr "الجزائر"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network"
-msgstr "استعادة عن طريق الشبكة"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tar and bzip2 (rather than tar and gzip)"
+#: ../../services.pm_.c:25
+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 ""
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd-size"
-msgstr "حجم Initrd"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../services.pm_.c:28
msgid ""
-"In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
+"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 ""
-"اذا كانت هناك خادمات مختلفة للبطاقة الخاصة بك, مع أو\n"
-"دون تسريع للرسوم ثلاثية الأبعاد, يمكنك اختيار الخادم الذي\n"
-"يناسب احتياجاتك."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and gzip\n"
-msgstr "\tالنسخ الإحتياطية تستخدم tar و gzip\n"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Set as default"
-msgstr "المرجع"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "2 MB"
-msgstr "2 ميغابايت"
-
-#: ../../printer/main.pm:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configured on this machine"
-msgstr "(على هذا الجهاز)"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Control keys simultaneously"
-msgstr "مفتاحيّ Control في نفس الوقت"
-
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid " --help - display this help \n"
+#: ../../services.pm_.c:31
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../services.pm_.c:33
msgid ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in "
-"MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the "
-"description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
msgstr ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in "
-"MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the "
-"description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Setting Default Printer..."
-msgstr "جاري تعيين الطابعة الإفتراضية..."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "الواجهة %s (باستخدام الوحدة %s)"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Generating preview ..."
-msgstr "جاري توليد المعاينة ..."
-
-#: ../../network/network.pm:1
-#, c-format
+#: ../../services.pm_.c:34
msgid ""
-"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
-"frequency), or add enough '0' (zeroes)."
+"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 ""
-"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
-"frequency), or add enough '0' (zeroes)."
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "ignore"
-msgstr "سنغافورة"
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
+#: ../../services.pm_.c:38
msgid ""
-"Allow/Forbid X connections:\n"
-"\n"
-"- ALL (all connections are allowed),\n"
-"\n"
-"- LOCAL (only connection from local machine),\n"
-"\n"
-"- NONE (no connection)."
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
msgstr ""
-"Arguments: (arg, listen_tcp=None)\n"
-"\n"
-"Allow/Forbid X connections. First arg specifies what is done\n"
-"on the client side: ALL (all connections are allowed), LOCAL (only\n"
-"local connection) and NONE (no connection)."
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on parallel port #%s"
-msgstr ", جهاز متعدد الوظائف على المنفذ المتوازي #%s"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "serial"
-msgstr "serial"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "DVD-ROM"
-msgstr "DVD-ROM"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Latin\" layout)"
-msgstr "الجورجيةّ (التصميم اللاتيني)"
-
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid "Get the best items with Mandrake Linux Strategic partners"
-msgstr "احصل على الأفضل من شركاء Mandrake Linux"
-
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:40
msgid ""
-"You may now provide options to module %s.\n"
-"Note that any address should be entered with the prefix 0x like '0x123'"
+"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 ""
-"يمكنك الآن اعطاء الخيارات للوحدة %s.\n"
-"لاحظ أن أي عنوان يجب ادخاله مسبوقاً بـ 0x مثل '0x123'"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kenya"
-msgstr "كينيا"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``Unmount'' first"
-msgstr "استخدم ``ازالة التحميل'' أولا"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing mtools packages..."
-msgstr "جاري تثبيت حزم mtools"
-
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a root partition"
-msgstr "يجب عليك تحديد تقسيم جذر"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "first step creation"
-msgstr "انشاء الخطوة الأولى"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Shift keys simultaneously"
-msgstr "مفتاحيّ Shift في نفس الوقت"
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../services.pm_.c:43
msgid ""
-" --id <id_label> - load the html help page which refers to id_label\n"
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Select a scanner model"
-msgstr "اختر طراز الماسح الضوئي"
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Accept/Refuse bogus IPv4 error messages."
+#: ../../services.pm_.c:45
+msgid "Automatic detection and configuration of hardware at boot."
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Accept/Refuse bogus IPv4 error messages."
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng - LPR New Generation"
-msgstr "LPRng - LPR New Generation"
+#: ../../services.pm_.c:46
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup Configuration"
-msgstr "إعدادات Drakbackup"
+#: ../../services.pm_.c:48
+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 ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Save as.."
-msgstr "حفظ بإسم.."
+#: ../../services.pm_.c:50
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea (North)"
-msgstr "كوريا الشمالية"
+#: ../../services.pm_.c:52
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../services.pm_.c:53
msgid ""
-"This interface has not been configured yet.\n"
-"Launch the configuration wizard in the main window"
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
msgstr ""
-"لم يتم تهيئة الواجهة بعد.\n"
-"قم بتشغيل معالج التهيئة في النافذة الرئيسية"
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System configuration"
-msgstr "تهيئة النظام"
+#: ../../services.pm_.c:55
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
-#: ../../any.pm:1 ../../security/l10n.pm:1
-#, c-format
-msgid "Autologin"
-msgstr "دخول آلي"
+#: ../../services.pm_.c:57
+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 ""
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin Password"
-msgstr "كلمة المرور لمدير النطاق"
+#: ../../services.pm_.c:60
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
-#: ../advertising/05-desktop.pl:1
-#, c-format
+#: ../../services.pm_.c:62
msgid ""
-"Perfectly adapt your computer to your needs thanks to the 11 available "
-"Mandrake Linux user interfaces which can be fully modified: KDE 3.1, GNOME "
-"2.2, Window Maker, ..."
+"Automatically switch on numlock key locker under console\n"
+"and XFree at boot."
msgstr ""
-"اجعل حاسبك يخدم حاجاتك بامتيار بفضل 11 واجهة مستخدم متوفرة لLinux قابلة "
-"للتخصيص:KDE 3.1, GNOME 2.2, Window Maker, ..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer ..."
-msgstr "جاري إعداد الطابعة ..."
+#: ../../services.pm_.c:64
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:65
msgid ""
-"To ensure data integrity after resizing the partition(s), \n"
-"filesystem checks will be run on your next boot into Windows(TM)"
+"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 ""
-"للتأكد من صحة البيانات بعد اعادة تحجيم التجزئات, \n"
-"سيتم الدقيق على نظام الملفات عند التشغيل القادم لـ Windows(TM)"
-
-#: ../../common.pm:1
-#, c-format
-msgid "MB"
-msgstr "ميغابايت"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run some checks against the rpm database."
-msgstr "if set to yes, run some checks against the rpm database."
+#: ../../services.pm_.c:68
+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 ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (British)"
-msgstr "الجزر العذراء (بريطانيا)"
+#: ../../services.pm_.c:71
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bermuda"
-msgstr "برمودا"
+#: ../../services.pm_.c:72
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "click here if you are sure."
-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 ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../services.pm_.c:76
msgid ""
-"No configuration file found \n"
-"please click Wizard or Advanced."
+"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 ""
-"لم يتم ايجاد ملف تهيئة \n"
-"فضلا اضغط معالج لأو متقدم."
-#: ../../help.pm:1
-#, c-format
+#: ../../services.pm_.c:79
msgid ""
-"Listed here are the existing Linux partitions detected on your hard drive.\n"
-"You can keep the choices made by the wizard, since they are good for most\n"
-"common installations. If you make any changes, you must at least define a\n"
-"root partition (\"/\"). Do not choose too small a partition or you will not\n"
-"be able to install enough software. If you want to store your data on a\n"
-"separate partition, you will also need to create a \"/home\" partition\n"
-"(only possible if you have more than one Linux partition available).\n"
-"\n"
-"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
-"\n"
-"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc."
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
msgstr ""
-"في الأعلى ستجد تقسيمات Linux الموجودة و التي تم ايجادها على القرص الصلب "
-"الخاص بك.\n"
-"يمكنك أن تُبقي إختيارات المعالج, و هي جيدة لأغلب أنواع التثبيت.\n"
-"إذا قمت بعمل أي تغييرات فيجب عليك أن تعرف التقسيم الجذر (\"/\"). لا تختر\n"
-"تقسيمات ضغيرة جدا و إلا لن تستطيع تثبيت برامج كافية. إذا كنت تريد تخزين "
-"البيانات\n"
-"على تقسيم مستقل فستحتاج الى عمل تقسيم لـ\"/home\"\n"
-"(ممكن فقط إذا كان لديك أكثر من تقسيم لLinux).\n"
-"\n"
-"كل تقسيم مُعطى بالسكل التالي: \"الإسم\", \"السعة\".\n"
-"\n"
-"\"الإسم\" مركب بالسكل التالي: \"نوع القرص الصلب\", \"رقم القرص الصلب\",\n"
-"\"رقم التقسيم\" (مثلا, \"hda1\").\n"
-"\n"
-"\"رقم القرص الصلب\" دائما هو حرف بعد \"hd\" أو \"sd\". بالنسبة للأقراص "
-"الصلبة\n"
-"من نوع IDE فإن:\n"
-" * \"a\" تعني \"القرص الصلب الأساسي على متحكم IDE الأساسي\",\n"
-"\n"
-" * \"b\" تعني \"القرص الصلب الثانوي على متحكم IDE الأساسي\",\n"
-"\n"
-" * \"c\" تعني \"القرص الصلب الأساسي على متحكم IDE الثانوي\",\n"
-"\n"
-" * \"d\" تعني \"القرص الصلب الثانوي على متحكم IDE الثانوي\",\n"
-"\n"
-"أما بالنسبة لأقراص سكزي SCSI فالحرف \"a\" يعني \"أقل معرف SCSI\", و الحرف \"b"
-"\"\n"
-"يعني \"ثاني أقل معرف SCSI\", الخ."
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Remove"
-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 ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Lesotho"
-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 ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "utopia 25"
-msgstr "utopia 25"
+#: ../../services.pm_.c:85
+msgid "Launch the sound system on your machine"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Pipe job into a command"
-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 ""
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Remove system config files"
-msgstr "هل تريد ازالة ملف loopback؟"
+#: ../../services.pm_.c:88
+msgid "Load the drivers for your usb devices."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cote d'Ivoire"
-msgstr "كوت ديفوار"
+#: ../../services.pm_.c:89
+msgid "Starts the X Font Server (this is mandatory for XFree to run)."
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "new dynamic device name generated by core kernel devfs"
-msgstr "اس مالجهاز الديناميكي الجديد الذي يتم توليده من devfs"
+#: ../../services.pm_.c:115 ../../services.pm_.c:157
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/drakgw:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Yes"
-msgstr "نعم"
+#: ../../services.pm_.c:127
+msgid "Printing"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which protocol do you want to use?"
-msgstr "ما هو البروتوكول الذي تريد استخدامه؟"
+#: ../../services.pm_.c:128
+msgid "Internet"
+msgstr "إنترنت"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Progress"
-msgstr "تقدم الإستعادة"
+#: ../../services.pm_.c:131
+msgid "File sharing"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Estonia"
-msgstr "استونيا"
+#: ../../services.pm_.c:133 ../../standalone/drakbackup_.c:1709
+msgid "System"
+msgstr "نظام"
-#: ../../partition_table.pm:1
-#, c-format
-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."
+#: ../../services.pm_.c:138
+msgid "Remote Administration"
msgstr ""
-"توجد مساحة فارغة في جدول التجزئات لديك لكني لا أستطيع استخدامها.\n"
-"الحل الوحيد هو أن تنقل التجزئات الأساسية لتحصل على المساحة بين التجزئات "
-"الممتدة."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Choose the host on which the local scanners should be made available:"
-msgstr "اختر المستضيف التي يجب أن تتوفر له الماسحات الضوئية المحلية:"
+#: ../../services.pm_.c:146
+msgid "Database Server"
+msgstr "خادم قواعد بيانات"
-#: ../../standalone/harddrake2:1
+#: ../../services.pm_.c:175
#, c-format
-msgid "Channel"
-msgstr "القناة"
+msgid "Services: %d activated for %d registered"
+msgstr ""
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Add"
-msgstr "اضافة"
+#: ../../services.pm_.c:191
+msgid "Services"
+msgstr "الخدمات"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Error while sending mail. \n"
-msgstr " خطأ أثناء ارسال البريد. \n"
+#: ../../services.pm_.c:203
+msgid "running"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Keyboard"
-msgstr "لوحة المفاتيح"
+#: ../../services.pm_.c:203
+msgid "stopped"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Insert the CD with volume label %s\n"
-" in the CD drive under mount point /mnt/cdrom"
+#: ../../services.pm_.c:217
+msgid "Services and deamons"
msgstr ""
-"أدخل القرص المدمج بالعلامة %s\n"
-" في سواقة القرص المدمج تحت نقطة التحميل /mnt/cdrom"
-#: ../../network/network.pm:1
-#, c-format
+#: ../../services.pm_.c:222
msgid ""
-"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
-"enough '0' (zeroes)."
+"No additional information\n"
+"about this service, sorry."
msgstr ""
-"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
-"enough '0' (zeroes)."
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the connection you want to configure"
-msgstr "اختر الوصلة التي تريد تهيئتها"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security level..."
-msgstr "انتظر من فضلك, جاري تعيين مستوى الأمن.."
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Configuring network device %s"
-msgstr "جاري تهيئة جهاز الشبكة %s"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "activated"
-msgstr "منشّط"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Please choose which network interface will be used for the dhcp server."
-msgstr "اختر واجهة الشبكة التي سيتم استخدامها لخادم DHCP."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Finding packages to upgrade..."
-msgstr "جاري البحث عن الحزم التي ستتم ترقيتها..."
+#: ../../services.pm_.c:229
+msgid "On boot"
+msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount point: "
-msgstr "نقطة التحميل: "
+#: ../../services.pm_.c:241
+msgid "Start"
+msgstr "ابدأ"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "parse all fonts"
-msgstr "تحليل كل الخطوط"
+#: ../../services.pm_.c:241
+msgid "Stop"
+msgstr "توقف"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Allow/Forbid direct root login."
+#: ../../share/advertising/01-thanks.pl_.c:9
+msgid "Thank you for choosing Mandrake Linux 9.0"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Allow/Forbid direct root login."
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid " Accept/Refuse broadcasted icmp echo."
+#: ../../share/advertising/01-thanks.pl_.c:10
+msgid "Welcome to the Open Source world"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-" Accept/Refuse broadcasted icmp echo."
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With X"
-msgstr "مع X"
+#: ../../share/advertising/01-thanks.pl_.c:11
+msgid ""
+"The success of MandrakeSoft is based upon the principle of Free Software. "
+"Your new operating system is the result of collaborative work on the part of "
+"the worldwide Linux Community"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Multi-head configuration"
-msgstr "إعداد متعدد الرؤوس"
+#: ../../share/advertising/02-community.pl_.c:9
+msgid "Get involved in the Free Software world"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "No browser available! Please install one"
-msgstr "لا يوجد متصفح متوفر! فضلاً قم بتثبيت متصفح"
+#: ../../share/advertising/02-community.pl_.c:10
+msgid "Want to know more about the Open Source community?"
+msgstr ""
-#: ../../Xconfig/main.pm:1
-#, c-format
+#: ../../share/advertising/02-community.pl_.c:11
msgid ""
-"Keep the changes?\n"
-"The current configuration is:\n"
-"\n"
-"%s"
+"To share your own knowledge and help build Linux tools, join the discussion "
+"forums you'll find on our \"Community\" webpages"
msgstr ""
-"هل تريد حفظ التغييرات؟\n"
-"الإعداد الحالي هو:\n"
-"\n"
-"%s"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "لا يمكنك استخدام ReiserFS للتجزئات أصغر من 32 ميغابايت"
+#: ../../share/advertising/03-internet.pl_.c:9
+#, fuzzy
+msgid "Get the most from the Internet"
+msgstr "وصّل إلى الإنترنت "
-#: ../../services.pm:1
-#, c-format
+#: ../../share/advertising/03-internet.pl_.c:10
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)."
+"Mandrake Linux 9.0 has selected the best software for you. Surf the Web and "
+"view animations with Mozilla and Konqueror, or read your mail and handle "
+"your personal information with Evolution and Kmail"
msgstr ""
-"بروتوكول rwho يسمح للمستخدمين البعيدين بالحصول على قائمة بكل المستخدمين\n"
-"الذين سجلوا الدخول الى جهاز يشغّل مراقب rwho (مماثل لـ finger)."
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Domain name"
-msgstr "اسم النطاق"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Sharing of local printers"
-msgstr "مشاركة الطابعات المحلية"
+#: ../../share/advertising/04-multimedia.pl_.c:9
+msgid "Discover the most up-to-date graphical and multimedia tools!"
+msgstr ""
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Enable/Disable libsafe if libsafe is found on the system."
+#: ../../share/advertising/04-multimedia.pl_.c:10
+msgid "Push multimedia to its limits!"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Enable/Disable libsafe if libsafe is found on the system."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Available printers"
-msgstr "الطابعات المتوفرة"
+#: ../../share/advertising/04-multimedia.pl_.c:11
+msgid ""
+"Mandrake Linux 9.0 enables you to use the very latest software to play audio "
+"files, edit and handle your images or photos, and play videos"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "NO"
-msgstr "INFO"
+#: ../../share/advertising/05-games.pl_.c:9
+msgid "Games"
+msgstr "الالعاب"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Empty"
-msgstr "فارغ"
+#: ../../share/advertising/05-games.pl_.c:10
+#, fuzzy
+msgid ""
+"Mandrake Linux 9.0 provides the best Open Source games - arcade, action, "
+"strategy, ..."
+msgstr ""
+" يمدّون أفضل لعب بمصادر مفتوحة Mandrake Linux 9.0 - arcade, action, "
+"cards, sports, strategy,...."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text width"
-msgstr "عرض النص"
+#: ../../share/advertising/06-mcc.pl_.c:9 ../../standalone/drakbug_.c:49
+msgid "Mandrake Control Center"
+msgstr "مركز تحكم Mandrake"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "أين تريد تحميل الجهاز %s؟"
+#: ../../share/advertising/06-mcc.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides a powerful tool to fully customize and configure "
+"your machine"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The default lease (in seconds)"
-msgstr "الإيجار الإفتراضي (بالثواني)"
+#: ../../share/advertising/07-desktop.pl_.c:9
+msgid "User interfaces"
+msgstr "واجهات الإستخدام"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
+#: ../../share/advertising/07-desktop.pl_.c:10
msgid ""
-"We are now going to configure the %s connection.\n"
-"\n"
-"\n"
-"Press \"%s\" to continue."
+"Mandrake Linux 9.0 provides you with 11 user interfaces that can be fully "
+"modified: KDE 3, Gnome 2, WindowMaker, ..."
msgstr ""
-"\n"
-"\n"
-"\n"
-"نحن الآن سنقوم بتهيئة الوصلة %s.\n"
-"\n"
-"اضغط موافق للمتابعة."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Interface \"%s\""
-msgstr "الواجهة \"%s\""
+#: ../../share/advertising/08-development.pl_.c:9
+msgid "Development simplified"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With basic documentation (recommended!)"
-msgstr "مع وثائق المساعدة الأساسية (مفضّل)"
+#: ../../share/advertising/08-development.pl_.c:10
+msgid "Mandrake Linux 9.0 is the ultimate development platform"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "1 button"
-msgstr "زر واحد"
+#: ../../share/advertising/08-development.pl_.c:11
+msgid ""
+"Use the full power of the GNU gcc 3 compiler as well as the best Open Source "
+"development environments"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../share/advertising/09-server.pl_.c:9
+msgid "Turn your machine into a reliable server"
+msgstr ""
+
+#: ../../share/advertising/09-server.pl_.c:10
+#, fuzzy
msgid ""
-"\n"
-"There are %d unknown printers directly connected to your system"
+"Transform your machine into a powerful Linux server with a few clicks of "
+"your mouse: Web server, mail, firewall, router, file and print server, ..."
msgstr ""
-"\n"
-"توجد %d طابعات غير معروفة متصلة مباشرةً بنظامك"
+"حوّل ماكينتك إلى خادم قويّ مع/ب فقط نقرات قليلة من ال الفأرة : خادم الويب , "
+"البريد الإلكترونيّ , فيروول , الحفّار , الملفّ و خادم الطّبع ,"
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Test"
-msgstr "اختبار"
+#: ../../share/advertising/10-mnf.pl_.c:9
+msgid "Optimize your security"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea"
-msgstr "كوريا"
+#: ../../share/advertising/10-mnf.pl_.c:10
+msgid ""
+"The MandrakeSecurity range includes the Multi Network Firewall product (M.N."
+"F.)"
+msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default `%s'%s) "
-msgstr "Your choice? (default `%s'%s) "
+#: ../../share/advertising/10-mnf.pl_.c:11
+msgid ""
+"This firewall product includes network features that allow you to fulfill "
+"all your security needs"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer"
-msgstr "طابعة خام"
+#: ../../share/advertising/10-mnf.pl_.c:12
+msgid "This product is available on MandrakeStore website"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "official vendor name of the cpu"
-msgstr "الإسم الرسمي لمصنّع المعالج"
+#: ../../share/advertising/11-mdkstore.pl_.c:9
+msgid "The official MandrakeSoft store"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Useless without Terminal Server"
+#: ../../share/advertising/11-mdkstore.pl_.c:10
+msgid ""
+"Our full range of Linux solutions, as well as special offers on products and "
+"other \"goodies,\" are available online on our e-store:"
msgstr ""
-#: ../../Xconfig/monitor.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Vendor"
-msgstr "المصنع"
+#: ../../share/advertising/12-mdkstore.pl_.c:9
+msgid "Strategic partners"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s"
-msgstr "الواجهة %s"
+#: ../../share/advertising/12-mdkstore.pl_.c:10
+msgid ""
+"MandrakeSoft works alongside a selection of companies offering professional "
+"solutions compatible with Mandrake Linux. A list of these partners is "
+"available on the MandrakeStore"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure mouse"
-msgstr "إعداد الفأرة"
+#: ../../share/advertising/13-mdkcampus.pl_.c:9
+msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the mount points"
-msgstr "اختر نقاط التحميل"
+#: ../../share/advertising/13-mdkcampus.pl_.c:10
+msgid ""
+"The training program has been created to respond to the needs of both end "
+"users and experts (Network and System administrators)"
+msgstr ""
-#: ../../help.pm:1 ../../standalone/drakTermServ:1 ../../standalone/drakfont:1
-#, c-format
-msgid "OK"
-msgstr "موافق"
+#: ../../share/advertising/13-mdkcampus.pl_.c:11
+msgid "Certify yourself on Linux"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Yugoslavian (latin)"
-msgstr "اليوغوسلافية (لاتيني)"
+#: ../../share/advertising/13-mdkcampus.pl_.c:12
+msgid ""
+"Whether you choose to teach yourself online or via our network of training "
+"partners, the Linux-Campus catalogue prepares you for the acknowledged LPI "
+"certification program (worldwide professional technical certification)"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing"
-msgstr "جاري التثبيت"
+#: ../../share/advertising/14-mdkexpert.pl_.c:9
+#, fuzzy
+msgid "Become a MandrakeExpert"
+msgstr "MandrakeExpert"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Logitech MouseMan with Wheel emulation"
-msgstr "Logitech MouseMan"
+#: ../../share/advertising/14-mdkexpert.pl_.c:10
+msgid ""
+"Find the solutions of your problems via MandrakeSoft's online support "
+"platform"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Launch userdrake"
-msgstr "شغّل userdrake"
+#: ../../share/advertising/14-mdkexpert.pl_.c:11
+msgid ""
+"Join the MandrakeSoft support teams and the Linux Community online to share "
+"your knowledge and help others by becoming a recognized Expert on the online "
+"technical support website:"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Is this an install or an upgrade?"
-msgstr "هل هذا تثبيت أم ترقية؟"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:9
+#, fuzzy
+msgid "MandrakeExpert Corporate"
+msgstr "MandrakeExpert"
-#: ../../help.pm:1
-#, c-format
-msgid "ISDN card"
-msgstr "بطاقة ISDN"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:10
+msgid "An online platform to respond to company's specific support needs"
+msgstr ""
-#: ../advertising/02-community.pl:1
-#, c-format
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:11
msgid ""
-"To share your own knowledge and help build Linux software, join our "
-"discussion forums on our \"Community\" webpages."
+"All incidents will be followed up by a single qualified MandrakeSoft "
+"technical expert."
msgstr ""
-"لمشاركتنا بمعرفتك و للمساعدة في بناء أدوات Linux, انضم الى منتديات النقاش "
-"التي ستجدها في صفحة \"Community\" على موقعنا"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Hard drive.\n"
-msgstr "\t-القرص الصلب.\n"
+#: ../../share/advertising/17-mdkclub.pl_.c:9
+msgid "Discover MandrakeClub and Mandrake Corporate Club"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../share/advertising/17-mdkclub.pl_.c:10
msgid ""
-"This step is activated only if an old GNU/Linux partition has been found on\n"
-"your machine.\n"
-"\n"
-"DrakX now needs to know if you want to perform a new install or an upgrade\n"
-"of an existing Mandrake Linux system:\n"
-"\n"
-" * \"%s\": For the most part, this completely wipes out the old system. If\n"
-"you wish to change how your hard drives are partitioned, or change the file\n"
-"system, you should use this option. However, depending on your partitioning\n"
-"scheme, you can prevent some of your existing data from being over-written.\n"
-"\n"
-" * \"%s\": this installation class allows you to update the packages\n"
-"currently installed on your Mandrake Linux system. Your current\n"
-"partitioning scheme and user data is not altered. Most of other\n"
-"configuration steps remain available, similar to a standard installation.\n"
-"\n"
-"Using the ``Upgrade'' option should work fine on Mandrake Linux systems\n"
-"running version \"8.1\" or later. Performing an Upgrade on versions prior\n"
-"to Mandrake Linux version \"8.1\" is not recommended."
+"MandrakeClub and Mandrake Corporate Club were created for business and "
+"private users of Mandrake Linux who would like to directly support their "
+"favorite Linux distribution while also receiving special privileges. If you "
+"enjoy our products, if your company benefits from our products to gain a "
+"competititve edge, if you want to support Mandrake Linux development, join "
+"MandrakeClub!"
msgstr ""
-"يتم تنشيط هذه الخطوة فقط اذا تم ايجاد تجزئة Linux قديمة\n"
-"على جهازك.\n"
-"\n"
-"يحتاج DrakX الآن الى أن يعلم اذا كنت تريد التثبيت من الصفر أو\n"
-"تريد ترقية نظام Mandrake Linux الموجود لديك مسبقاً:\n"
-"\n"
-" * \"%s\": في الأغلب تقوم بازالة النظام القديم\n"
-"كلياً. اذا كنت تريد تغيير تجزئات القرص الصلب, أو تريد\n"
-"تغيير نظام الملفات, عليك اختيار هذا الخيار. عموماً اعتمادا\n"
-"على كيفية تجزئة القرص الصلب لديك. يمكنك منع ازالة بعض\n"
-"بياناتك الموجودة مسبقاً.\n"
-" * \"%s\": فئة التثبيت هذه تسمح لك بتحديث الحزم\n"
-"على نظام Mandrake Linux الخاص بك. لن يتم تغيير\n"
-"بياناتك أو تقسيمات القرص الصلب. أغلب خطوات التهيئة الأخرى\n"
-"لا تزال موجودة, مثل التثبيت الاعتيادي.\n"
-"\n"
-"استخدام خيار ``الترقية'' يجب أن يعمل بشكل جيد على\n"
-"اصدارات Mandrake Linux \"8.1\" أو ما فوق. لا ينصح بالترقية\n"
-"من اصادرات Mandrake Linux قبل \"8.1\"."
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone.pm_.c:21
+#, fuzzy
msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
"\n"
-" Copyright (C) 2001-2002 by MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
msgstr ""
-"\n"
-"جميع الحقوق محفوظة (C) 2001-2002 لـMandrakeSoft \n"
-" DUPONT Sebastien (الإصدار الأصلي)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
" هذا البرنامج هو برنامج حر; يمكنك اعادة توزيعة و/أو تعديله\n"
" تحت بنود رخصة GNU العمومية الشاملة (GPL) كما نُشِرت عن طريق\n"
" جمعية البرمجيات الحرة; إما اإصدار الثاني من الترخيص أو\n"
@@ -15043,3544 +8549,2719 @@ msgstr ""
" رخصة GNU العمومية الشاملة للتفاصيل.\n"
"\n"
" يجب أن تكون قد تسلمت نسخة من ترخيص GNU العمومية الشاملة\n"
-" مع البرنامج; في حالة عدم تسلم الرخصة راسل جمعية البرمجيات الحرة على "
-"العنوان التالي\n"
+" مع البرنامج; في حالة عدم تسلم الرخصة راسل جمعية البرمجيات الحرة على العنوان "
+"التالي\n"
" Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
-"02111-1307, USA.\n"
-"\n"
-" شكر خاص الى:\n"
-" - pfm2afm: \n"
-"\t من Ken Borgendale:\n"
-"\t يحوّل خطوط .pfm في Windows الى خطوط .afm (Adobe Font Matrix)\n"
-" - type1inst:\n"
-"\t من James Macnicol: \n"
-"\t يولد type1inst ملفات fonts.dir و fonts.scale و Fontmap.\n"
-" - ttf2pt1: \n"
-"\t من Andrew Weeks, Frank Siegert, Thomas Henlich و Sergey Babkin \n"
-" يحول خطوط ttf الى خطوط afm و pfb\n"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on remote CUPS server"
-msgstr "طابعة على خادم CUPS بعيد"
+"02111-1307,\n"
+" USA."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone.pm_.c:40
msgid ""
-"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
-msgstr "تعذر حذف الطابعة \"%s\" من Star Office/OpenOffice.org/GIMP."
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "here if no."
-msgstr "إضغط هنا إذا لم تكن متأكدا."
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "DHCP host name"
-msgstr "اسم مستضيف DHCP"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The maximum lease (in seconds)"
-msgstr "الإيجار الأقصى (بالثواني)"
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose which serial port your mouse is connected to."
-msgstr "فضلاً اختر المنفذ التسلسلي الموصلة به الفأرة"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Did it work properly?"
-msgstr "هل عملت بالشكل الصحيح؟"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Mount the file system read-only."
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version name.\n"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Poor"
-msgstr "فقير"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Report check result by mail"
-msgstr "if set to yes, report check result by mail."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Grenada"
-msgstr "عرينادا"
+#: ../../standalone.pm_.c:51
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of mandrake tools\n"
+" --incident - program should be one of mandrake tools"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP start range"
-msgstr "حدود DHCP start"
+#: ../../standalone.pm_.c:57
+msgid ""
+"Font Importation and monitoring "
+"application \n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--strong : strong verification of font.\n"
+"--install : accept any font file and any directry.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Unsafe"
-msgstr "غير آمن"
+#: ../../standalone.pm_.c:68
+msgid ""
+"[OPTIONS]...\n"
+"\t --debug print debugging information"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "SSH server"
-msgstr "خادم SSH"
+#: ../../standalone.pm_.c:70
+msgid ""
+"[OPTIONS]...\n"
+"Mandrake Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s قطاع"
+#: ../../standalone.pm_.c:82
+#, fuzzy
+msgid "[keyboard]"
+msgstr "لوحة المفاتيح"
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "No"
-msgstr "لا"
+#: ../../standalone.pm_.c:83
+msgid "[--file=myfyle] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Guadeloupe"
-msgstr "غواديلوب"
+#: ../../standalone.pm_.c:84
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : don't be interactive. To be used with (dis)connect."
+msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Kannada"
-msgstr "كندا"
+#: ../../standalone.pm_.c:93
+msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font.\n"
-msgstr "لم أتمكن من إيجاد أي خط.\n"
+#: ../../standalone.pm_.c:94
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation don't ask first confirmation question in "
+"MandrakeUpdate mode\n"
+" --no-verify-rpm don't verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "هل تريد أن يقوم زر BackSpace بعمل وظيفة زر Delete في سطر الأوامر؟"
+#: ../../standalone.pm_.c:99
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-usbtable] "
+"[--dynamic=dev]"
+msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Vertical refresh rate"
-msgstr "نسبة الإنعاش الرأسي"
+#: ../../standalone.pm_.c:100
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
-#: ../../install_steps_auto_install.pm:1 ../../install_steps_stdio.pm:1
+#: ../../standalone.pm_.c:114
#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Entering step `%s'\n"
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Niger"
-msgstr "النيجر"
+#: ../../standalone.pm_.c:168
+msgid "Installing packages..."
+msgstr "تركيب طرود ..."
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
+#: ../../standalone/XFdrake_.c:138
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "يرجى تسجيل الخروج ثم استخدم Ctrl-Alt-BackSpace"
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/XFdrake_.c:142
#, c-format
-msgid "Removing %s ..."
-msgstr "جاري حذف %s ..."
+msgid "Please relog into %s to activate the changes"
+msgstr "يرجى اعادة تسجيل الدخول الى %s لتنشيط التغييرات"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No printer"
-msgstr "لا طابعة"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "alert configuration"
-msgstr "إعدادات التنبيه"
+#: ../../standalone/drakTermServ_.c:239
+#, fuzzy
+msgid "Mandrake Terminal Server Configuration"
+msgstr "نقل إعدادات الطابعة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NetWare Printer Options"
-msgstr "خيارات طابعة NetWare"
+#: ../../standalone/drakTermServ_.c:253
+#, fuzzy
+msgid "Enable Server"
+msgstr "خادم قواعد بيانات"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "%s BootSplash (%s) preview"
-msgstr "%s BootSplash (%s) معاينة"
+#: ../../standalone/drakTermServ_.c:260
+#, fuzzy
+msgid "Disable Server"
+msgstr "خادم قواعد بيانات"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "February"
-msgstr "فبراير"
+#: ../../standalone/drakTermServ_.c:268
+#, fuzzy
+msgid "Start Server"
+msgstr " الخادم NIS"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "General"
-msgstr "عام"
+#: ../../standalone/drakTermServ_.c:275
+#, fuzzy
+msgid "Stop Server"
+msgstr " الخادم NIS"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "/etc/issue* exist"
+#: ../../standalone/drakTermServ_.c:283
+msgid "Etherboot Floppy/ISO"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Add a user"
-msgstr "أضف مستخدم"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "اعدادات الشبكة (%d موائمات)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "April"
-msgstr "أبريل"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Deactivate now"
-msgstr "قم بإزالة التنشيط الآن"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "Mandatory package %s is missing"
-msgstr "الحزمة الضرورية %s مفقودة"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Philippines"
-msgstr "الفيليبين"
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakperm:1
-#: ../../standalone/draksec:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Ok"
-msgstr "موافق"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "drakTermServ Overview"
+#: ../../standalone/drakTermServ_.c:288
+msgid "Net Boot Images"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print Queue Name"
-msgstr "اسم صف الطابعة"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you want to use aboot?"
-msgstr "هل تريد استخدام aboot؟"
+#: ../../standalone/drakTermServ_.c:294
+#, fuzzy
+msgid "Add/Del Users"
+msgstr "اضف مستخدم"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belarusian"
-msgstr "البيلاروسية"
+#: ../../standalone/drakTermServ_.c:299
+#, fuzzy
+msgid "Add/Del Clients"
+msgstr "DHCP العميل"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:328
msgid ""
-"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
-"printers.\n"
+"\n"
+" Copyright (C) 2002 by MandrakeSoft \n"
+"\tStew Benedict sbenedict\\@mandrakesoft.com\n"
+"\n"
msgstr ""
-"PDQ يدعم فقط الطابعات المحلية و طابعات LPD البعيدة و طابعات Socket/TCP.\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move files to the new partition"
-msgstr "انقل الملفات الى تجزئة جديدة"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:332
msgid ""
-"Add here the CUPS servers whose printers you want to use. You only need to "
-"do this if the servers do not broadcast their printer information into the "
-"local network."
+"\n"
+"\n"
+" Thanks:\n"
+"\t- LTSP Project http://www.ltsp.org\n"
+"\t- Michael Brown <mbrown\\@fensystems.co.uk>\n"
+"\n"
msgstr ""
-"أدخل هنا خادمات CUPS التي تريد استخدام طابعاتها. تحتاج الى عمل ذلك فقط ان لم "
-"تقم الخادمات بنشر معلومات الطابعات على الشبك المحلية."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:365
msgid ""
+"drakTermServ Overview\n"
+"\t\t\t \n"
+" - Create Etherboot Enabled Boot Images:\n"
+" \t\tTo boot a kernel via etherboot, a special kernel/initrdrd image "
+"must be created.\n"
+" \t\tmkinitrd-net does much of this work and drakTermServ is just a "
+"graphical interface\n"
+" \t\tto help manage/customize these images.\n"
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
+" - Maintain /etc/dhcpd.conf:\n"
+" \t\tTo net boot clients, each client needs a dhcpd.conf entry, "
+"assigning an IP address\n"
+" \t\tand net boot images to the machine. drakTermServ helps create/"
+"remove these entries.\n"
+"\t\t\t\n"
+" \t\t(PCI cards may omit the image - etherboot will request the "
+"correct image. You should\n"
+" \t\talso consider that when etherboot looks for the images, it "
+"expects names like\n"
+" \t\tboot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
+"\t\t\t \n"
+" \t\tA typical dhcpd.conf stanza to support a diskless client looks "
+"like:\n"
+" \t\t\n"
+"\t\t\t\thost curly {\n"
+"\t\t\t\t\thardware ethernet 00:20:af:2f:f7:9d;\n"
+"\t\t\t\t\tfixed-address 192.168.192.3;\n"
+"\t\t\t\t\t/*type fat;*/\n"
+"\t\t\t\t\tfilename \"i386/boot/boot-3c509.2.4.18-6mdk."
+"nbi\";\n"
+"\t\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tWhile you can use a pool of IP addresses, rather than setup a specific "
+"entry for\n"
+"\t\t\ta client machine, using a fixed address scheme facilitates using the "
+"functionality\n"
+"\t\t\tof client-specific configuration files that ClusterNFS provides.\n"
+"\t\t\t\n"
+"\t\t\tNote: The \"/*type\" entry is only used by drakTermServ. Clients can "
+"either be \"thin\"*/\n"
+"\t\t\tor 'fat'. Thin clients run most software on the server via xdmcp, "
+"while fat clients run most\n"
+"\t\t\tsoftware on the client machine. A special inittab, /etc/inittab\\$\\"
+"$IP=client_ip\\$\\$ is\n"
+"\t\t\twritten for thin clients. System config files xdm-config, kdmrc, and "
+"gdm.conf are modified\n"
+"\t\t\tif thin clients are used, to enable xdmcp. Since there are security "
+"issues in using xdmcp,\n"
+"\t\t\thosts.deny and hosts.allow are modified to limit access to the local "
+"subnet.\n"
+"\t\t\t\n"
+"\t\t\tNote: You must stop/start the server after adding or changing "
+"clients.\n"
+"\t\t\t\n"
+" - Maintain /etc/exports:\n"
+" \t\tClusternfs allows export of the root filesystem to diskless "
+"clients. drakTermServ\n"
+" \t\tsets up the correct entry to allow anonymous access to the root "
+"filesystem from\n"
+" \t\tdiskless clients.\n"
"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected.\n"
+" \t\tA typical exports entry for clusternfs is:\n"
+" \t\t\n"
+" \t\t/ (ro,all_squash)\n"
+" \t\t/home SUBNET/MASK(rw,root_squash)\n"
+"\t\t\t\n"
+"\t\t\tWith SUBNET/MASK being defined for your network.\n"
+" \t\t\n"
+" - Maintain /etc/shadow\\$\\$CLIENT\\$\\$:\n"
+" \t\tFor users to be able to log into the system from a diskless "
+"client, their entry in\n"
+" \t\t/etc/shadow needs to be duplicated in /etc/shadow\\$\\$CLIENTS\\$"
+"\\$. drakTermServ helps\n"
+" \t\tin this respect by adding or removing system users from this "
+"file.\n"
+"\n"
+" - Per client /etc/X11XF86Config-4\\$\\$IP-ADDRESS\\$\\$:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future drakTermServ "
+"will help create these\n"
+" \t\tfiles.\n"
"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
+" - Per client system configuration files:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future, "
+"drakTermServ can help create files\n"
+" \t\tsuch as /etc/modules.conf, /etc/sysconfig/mouse, /etc/sysconfig/"
+"keyboard on a per-client\n"
+" \t\tbasis.\n"
"\n"
-"أهلاً بكم في معالج اعداد الطابعات\n"
+" - /etc/xinetd.d/tftp:\n"
+" \t\tdrakTermServ will configure this file to work in conjunction "
+"with the images created by\n"
+" \t\tmkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
+"the boot image to each\n"
+" \t\tdiskless client.\n"
"\n"
-"هذا المعالج سيساعدك على تثبيت الطابعة/الطابعات الموصولة بهذا الكمبيوتر.\n"
+" \t\tA typical tftp configuration file looks like:\n"
+" \t\t\n"
+" \t\tservice tftp\n"
+" \t\t(\n"
+" disable = no\n"
+" socket_type = dgram\n"
+" protocol = udp\n"
+" wait = yes\n"
+" user = root\n"
+" server = /usr/sbin/in.tftpd\n"
+" server_args = -s /var/lib/tftpboot\n"
+" \t\t}\n"
+" \t\t\n"
+" \t\tThe changes here from the default installation are changing the "
+"disable flag to\n"
+" \t\t'no' and changing the directory path to /var/lib/tftpboot, where "
+"mkinitrd-net\n"
+" \t\tputs it's images.\n"
"\n"
-"اذا كانت لديك طابعة/طابعات موصولة بهذه الماكينة, فضلاً قم بتوصيلها الى هذا "
-"الكمبيوتر و قم بتشغيلها كي يتم التحقق منها/منهم آلياً.\n"
+" - Create etherboot floppies/CDs:\n"
+" \t\tThe diskless client machines need either ROM images on the NIC, "
+"or a boot floppy\n"
+" \t\tor CD to initate the boot sequence. drakTermServ will help "
+"generate these images,\n"
+" \t\tbased on the NIC in the client machine.\n"
+" \t\t\n"
+" \t\tA basic example of creating a boot floppy for a 3Com 3c509 "
+"manually:\n"
+" \t\t\n"
+" \t\tcat /usr/lib/etherboot/boot1a.bin /\\n \t\t\t/usr/lib/"
+"etherboot/lzrom/3c509.lzrom > /dev/fd0\n"
+" \n"
"\n"
-" انقر \"التالي\" عندما تكون مستعداً, و على \"الغاء\" اذا لم تكن تريد اعداد "
-"الطابعة/الطابعات الآن."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Pitcairn"
-msgstr "بيتكايرن"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From Catalog"
-msgstr "استعادة من الكتالوغ"
+#: ../../standalone/drakTermServ_.c:488
+msgid "Boot Floppy"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "IDE"
-msgstr "IDE"
+#: ../../standalone/drakTermServ_.c:490
+msgid "Boot ISO"
+msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "mounting partition %s in directory %s failed"
-msgstr "فشل تحميل التجزئة %s في الدليل %s"
+#: ../../standalone/drakTermServ_.c:559
+msgid "Build Whole Kernel -->"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo screen"
-msgstr "شاشة Lilo"
+#: ../../standalone/drakTermServ_.c:561 ../../standalone/drakTermServ_.c:591
+msgid "This will take a few minutes."
+msgstr ""
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with graphical menu"
-msgstr "LILO مع قائمة رسومية"
+#: ../../standalone/drakTermServ_.c:573
+#, fuzzy
+msgid "No kernel selected!"
+msgstr "لم يتم ايجاد بطاقة تلفاز!"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Estimating"
-msgstr "جاري الحساب التقريبي"
+#: ../../standalone/drakTermServ_.c:576
+msgid "Build Single NIC -->"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It is already installed"
-msgstr "لا يمكن ازالة اختيار هذه الحزم. انها مثبتة مسبقاً"
+#: ../../standalone/drakTermServ_.c:587
+#, fuzzy
+msgid "No nic selected!"
+msgstr "غير متصل"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on SMB/Windows server \"%s\""
-msgstr ", الطابعة \"%s\" على خادم SMB/Windows \"%s\""
+#: ../../standalone/drakTermServ_.c:590
+msgid "Build All Kernels -->"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Go on anyway?"
-msgstr "هل تريد المتابعة على أي حال؟"
+#: ../../standalone/drakTermServ_.c:604
+#, fuzzy
+msgid "<-- Delete"
+msgstr "إلغاء"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages and rebuilding rpm database..."
-msgstr "جاري البحث عن الحزم المتوفرة و اعداة بناء قاعدة بيانات rpm..."
+#: ../../standalone/drakTermServ_.c:611
+#, fuzzy
+msgid "Delete All NBIs"
+msgstr "تم اختيار الكل"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
+#: ../../standalone/drakTermServ_.c:668
msgid ""
-"\n"
-" DrakBackup Report \n"
+"!!! Indicates the password in the system database is different than\n"
+" the one in the Terminal Server database.\n"
+"Delete/re-add the user to the Terminal Server to enable login."
msgstr ""
-"\n"
-" تقرير DrakBackup \n"
-"\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Does not appear to be recordable media!"
-msgstr "لا يبدو وسيط قابل للكتابة!"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Specify options"
-msgstr "حدد الخيارات"
+#: ../../standalone/drakTermServ_.c:673
+#, fuzzy
+msgid "Add User -->"
+msgstr "اضف مستخدم"
-#: ../../lang.pm:1
-#, c-format
-msgid "Vanuatu"
-msgstr "فاناتو"
+#: ../../standalone/drakTermServ_.c:681
+msgid "<-- Del User"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakTermServ_.c:720
#, fuzzy, c-format
-msgid "New user list:\n"
+msgid "type: %s"
+msgstr "النوع: "
+
+#: ../../standalone/drakTermServ_.c:753
+msgid "No net boot images created!"
msgstr ""
-"\n"
-"-ملفّات المستخدم:\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Either the server name or the server's IP must be given!"
-msgstr "يجب اعطاء اسم الخادم أو رقم IP الخاص بالخادم!"
+#: ../../standalone/drakTermServ_.c:773
+#, fuzzy
+msgid "Thin Client"
+msgstr "DHCP العميل"
-#: ../../any.pm:1
-#, c-format
-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\"."
+#: ../../standalone/drakTermServ_.c:775
+#, fuzzy
+msgid "Allow Thin Clients"
+msgstr "DHCP العميل"
+
+#: ../../standalone/drakTermServ_.c:778
+msgid "Add Client -->"
msgstr ""
-"قرص اقلاع مخصص يوفر طريقة للوصول الى نظام Linux الخاص بك دون\n"
-"الإعتماد على محمّل الإقلاع الإعتيادي. هذا مفيد اذا لم تكن تريد تثبيت\n"
-"SILO على نظامك, أو اذا أزال نظام تشغيل آخر LILO, أو اذا لم يتوافق SILO\n"
-"مع تهيئة نظامك. يمكن كذلك استخدام قرص اقلاع مخصص مع\n"
-"Mandrake rescue image, مما يجعل المعالجة من انهيارات النظام الخطيرة أكثر "
-"سهولة.\n"
-"اذا كنت تريد انشاء قرص اقلاع لنظامك, أدخل قرص مرن في السواقة\n"
-"الأولى و اضغط \"موافق\"."
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use an encrypted file system for mount point %s"
-msgstr "لا يمكنك استخدام نظام ملفات مرمّز لنقطة التحميل %s"
+#: ../../standalone/drakTermServ_.c:821
+#, fuzzy
+msgid "<-- Edit Client"
+msgstr "DHCP العميل"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Set the password history length to prevent password reuse."
-msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Set the password history length to prevent password reuse."
+#: ../../standalone/drakTermServ_.c:837
+#, fuzzy
+msgid "Delete Client"
+msgstr "DHCP العميل"
-#: ../../lang.pm:1
-#, c-format
-msgid "Norfolk Island"
-msgstr "جزيرة نورفولك"
+#: ../../standalone/drakTermServ_.c:843
+#, fuzzy
+msgid "dhcpd Config..."
+msgstr "جاري الإعداد..."
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Theme installation failed!"
-msgstr "فشل تثبيت السمات"
+#: ../../standalone/drakTermServ_.c:876
+msgid ""
+"Need to restart the Display Manager for full changes to take effect. \n"
+"(service dm restart - at the console)"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Nothing to do"
-msgstr "لا شيئ للعمل"
+#: ../../standalone/drakTermServ_.c:894
+msgid "Subnet:"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Use for loopback"
-msgstr "استخدم لـloopback"
+#: ../../standalone/drakTermServ_.c:901
+#, fuzzy
+msgid "Netmask:"
+msgstr "Netmask"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Bug Report Tool"
-msgstr "أداة تقرير العيوب في Mandrake"
+#: ../../standalone/drakTermServ_.c:908
+msgid "Routers:"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Apply filter"
-msgstr "طبّق المرشّح"
+#: ../../standalone/drakTermServ_.c:915
+msgid "Subnet Mask:"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pppoe"
-msgstr "استخدم pppoe"
+#: ../../standalone/drakTermServ_.c:922
+msgid "Broadcast Address:"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving files to the new partition"
-msgstr "جاري نقل الملفات الى التجزئة الجديدة"
+#: ../../standalone/drakTermServ_.c:929
+#, fuzzy
+msgid "Domain Name:"
+msgstr "Domain name"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s مع دعم تجريبي للرسوم ثلاثية الأبعاد"
+#: ../../standalone/drakTermServ_.c:937
+#, fuzzy
+msgid "Name Servers:"
+msgstr " الخادم NIS"
-#: ../../help.pm:1 ../../interactive.pm:1
-#, c-format
-msgid "Advanced"
-msgstr "متقدم"
+#: ../../standalone/drakTermServ_.c:948
+msgid "IP Range Start:"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer"
-msgstr "انقل"
+#: ../../standalone/drakTermServ_.c:949
+msgid "IP Range End:"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Swedish)"
-msgstr "Dvorak (سويدية)"
+#: ../../standalone/drakTermServ_.c:1001
+#, fuzzy
+msgid "dhcpd Server Configuration"
+msgstr "إعداد متقدم"
-#: ../../lang.pm:1
-#, c-format
-msgid "Afghanistan"
-msgstr "أفغانستان"
+#: ../../standalone/drakTermServ_.c:1002
+msgid ""
+"Most of these values were extracted\n"
+"from your running system.\n"
+"You can modify as needed."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "More Options"
-msgstr "خيارات أكثر"
+#: ../../standalone/drakTermServ_.c:1005
+msgid "Dynamic IP Address Pool:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Delete Hard Drive tar files after backup to other media."
-msgstr "الغ ملفات tar الخلصة بالقرص تاصلب بعد النسخ الى وسيط آخر."
+#: ../../standalone/drakTermServ_.c:1018
+#, fuzzy
+msgid "Write Config"
+msgstr "إعداة الإعداد"
-#: ../../lang.pm:1
-#, c-format
-msgid "Burundi"
-msgstr "بوروندي"
+#: ../../standalone/drakTermServ_.c:1120
+#, fuzzy
+msgid "Please insert floppy disk:"
+msgstr "أدخل قرص مرن بالدّاخل %s"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../standalone/drakTermServ_.c:1124
+msgid "Couldn't access the floppy!"
msgstr ""
-"cron هو برنامج UNIX القياسي لتشغيل البرامج المحددة من قبل المستخدم\n"
-"عند أدوقات محددة دورياً. vixie cron يضيف عدداً من المزايا الى UNIX\n"
-"cron الأساسي, بما فيها حماية أمنية أفضل, و خيارات تهيئة أقوى."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add Client -->"
-msgstr "اضافة عميل -->"
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read carefully!"
-msgstr "اقرأ جيدا!"
+#: ../../standalone/drakTermServ_.c:1126
+msgid "Floppy can be removed now"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "RW"
-msgstr "RW"
+#: ../../standalone/drakTermServ_.c:1129
+#, fuzzy
+msgid "No floppy drive available!"
+msgstr "آسف , لا مدخل مرن متاح"
-#: ../../standalone/drakxtv:1
+#: ../../standalone/drakTermServ_.c:1138
#, c-format
-msgid ""
-"Please,\n"
-"type in your tv norm and country"
+msgid "Etherboot ISO image is %s"
msgstr ""
-"فضلاً,\n"
-"اطبع tv norm الخاص بك و بلدك"
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Port"
-msgstr "البوابة"
+#: ../../standalone/drakTermServ_.c:1140
+msgid "Something went wrong! - Is mkisofs installed?"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "No (experts only)"
-msgstr "لا (للخبراء فقط)"
+#: ../../standalone/drakTermServ_.c:1159
+msgid "Need to create /etc/dhcpd.conf first!"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No kernel selected!"
-msgstr "لم يتم ايجاد نواة!"
+#: ../../standalone/drakTermServ_.c:1451
+msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
+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:1
-#, c-format
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Press enter to boot the selected OS, 'e' to edit the"
+#: ../../standalone/drakautoinst_.c:40
+msgid "Error!"
+msgstr "خطأ ! "
-#: ../../standalone/drakperm:1
+#: ../../standalone/drakautoinst_.c:41
#, c-format
-msgid "Set-GID"
-msgstr "Set-GID"
+msgid "I can't find needed image file `%s'."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The encryption keys do not match"
-msgstr "مفاتيح التشفير غير متطابقة"
+#: ../../standalone/drakautoinst_.c:43
+msgid "Auto Install Configurator"
+msgstr "أداة اعداد المثبّت الآلي"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:44
msgid ""
-"For a multisession CD, only the first session will erase the cdrw. Otherwise "
-"the cdrw is erased before each backup."
+"You are about to configure an Auto Install floppy. This feature is somewhat "
+"dangerous and must be used circumspectly.\n"
+"\n"
+"With that feature, you will be able to replay the installation you've "
+"performed on this computer, being interactively prompted for some steps, in "
+"order to change their values.\n"
+"\n"
+"For maximum safety, the partitioning and formatting will never be performed "
+"automatically, whatever you chose during the install of this computer.\n"
+"\n"
+"Do you want to continue?"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "USB printer"
-msgstr ", طابعة USB"
+#: ../../standalone/drakautoinst_.c:62 ../../standalone/drakautoinst_.c:71
+msgid "manual"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right \"Windows\" key"
-msgstr "مفتاح \"Windows\" الأيمن"
+#: ../../standalone/drakautoinst_.c:62
+#, fuzzy
+msgid "replay"
+msgstr "أيرلندا"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check empty password in /etc/shadow."
-msgstr "if set to yes, check empty password in /etc/shadow."
+#: ../../standalone/drakautoinst_.c:66
+msgid "Automatic Steps Configuration"
+msgstr "إعداد الخطوات الآلية"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:67
msgid ""
-"Before continuing, you should carefully read the terms of the license. It\n"
-"covers the entire Mandrake Linux distribution. If you do agree with all the\n"
-"terms in it, check the \"%s\" box. If not, simply turn off your computer."
+"Please choose for each step whether it will replay like your install, or it "
+"will be manual"
msgstr ""
-"قبل المتابعة, عليك قراءة بنود الترخيص جيداً. انها\n"
-"تغطي كل توزيعة Mandrake Linux. اذا كنت توافق على كل البنود\n"
-"الموجودة فيها, قم بالتأشبر على صندوق \"%s\". ان لم تقبل, قم بإغلاق\n"
-"الكمبيوتر."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here is a list of the available printing options for the current printer:\n"
-"\n"
+#: ../../standalone/drakautoinst_.c:78 ../../standalone/drakautoinst_.c:79
+msgid "Creating auto install floppy"
msgstr ""
-"هذه قائمة بالخيارات المتوفرة للطباعة على الطابعة الحالية:\n"
-"\n"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolutions"
-msgstr "دقة العرض"
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:139
msgid ""
-"drakfirewall configurator\n"
"\n"
-"This configures a personal firewall for this Mandrake Linux machine.\n"
-"For a powerful and dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-"أداة تهيئة drakfirewall\n"
+"Welcome.\n"
"\n"
-"هذه الأداة تسمح لك بتهيئة جدار ناري شخصي لنظام Mandrake Linux هذا.\n"
-"إذا كنت تريد جدارا ناريا متخصصا, الق نظرة على\n"
-"توزيعة MandrakeSecurity Firewall."
+"The parameters of the auto-install are available in the sections on the left"
+msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid ""
-"Please enter your username, password and domain name to access this host."
+#: ../../standalone/drakautoinst_.c:234 ../../standalone/drakgw_.c:504
+#: ../../standalone/scannerdrake_.c:117
+msgid "Congratulations!"
msgstr ""
-"فضلاً أدخل اسم المستخدم, كلمة المرور و النطاق الخاص بك للدخول الى هذا "
-"المستضيف."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Remove selected host"
-msgstr "احذف المستضيف المختار"
+#: ../../standalone/drakautoinst_.c:235
+msgid ""
+"The floppy has been successfully generated.\n"
+"You may now replay your installation."
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Network configuration"
-msgstr "اعدادات الشبكة"
+#: ../../standalone/drakautoinst_.c:273
+msgid "Auto Install"
+msgstr "تثبيت آلي"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _jaz drives"
-msgstr "/تحقق آلي من _سواقات Jaz"
+#: ../../standalone/drakautoinst_.c:343
+msgid "Add an item"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "No sharing"
-msgstr "لا مشاركة"
+#: ../../standalone/drakautoinst_.c:350
+msgid "Remove the last item"
+msgstr "أزل المادة الأخيرة"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule down one level"
-msgstr "انقل القاعدة المختارة الى تحت بمستوى واحد"
+#: ../../standalone/drakbackup_.c:580
+msgid "Cron not available yet as non-root"
+msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "TB"
-msgstr "تيرابايت"
+#: ../../standalone/drakbackup_.c:690
+msgid "WARNING"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:691
+#, fuzzy
msgid "FATAL"
-msgstr "FATAL"
+msgstr "FAT"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh the list"
-msgstr "تحديث القائمة"
+#: ../../standalone/drakbackup_.c:692
+msgid "INFO"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../standalone/drakbackup_.c:704
msgid ""
-" - Per client %s:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tdrakTermServ will help create these files."
+"\n"
+" DrakBackup Report \n"
+"\n"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakbackup_.c:705
msgid ""
-"The DHCP server will allow other computer to boot using PXE in the given "
-"range of address.\n"
"\n"
-"The network address is %s using a netmask of %s.\n"
+" DrakBackup Daemon Report\n"
+"\n"
"\n"
msgstr ""
-"سيسمح خادم DHCP للكمبيوترات الأخرى بالإقلاع باستخدام PXE في حدود العناوين "
-"المعطاة.\n"
+
+#: ../../standalone/drakbackup_.c:709
+msgid ""
+"\n"
+" DrakBackup Report Details\n"
"\n"
-"عنوان الشبكة %s يستخدم netmask %s.\n"
"\n"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Delete"
-msgstr "إلغاء"
+#: ../../standalone/drakbackup_.c:730 ../../standalone/drakbackup_.c:803
+#: ../../standalone/drakbackup_.c:859
+#, fuzzy
+msgid "Total progess"
+msgstr "اجمالي التقدم"
-#: ../../Xconfig/various.pm:1
+#: ../../standalone/drakbackup_.c:785
#, c-format
msgid ""
-"I can setup your computer to automatically start the graphical interface "
-"(XFree) upon booting.\n"
-"Would you like XFree to start when you reboot?"
+"%s exists, delete?\n"
+"\n"
+"Warning: If you've already done this process you'll probably\n"
+" need to purge the entry from authorized_keys on the server."
msgstr ""
-"يمكنني جعل جهازك يبدأ X بشكل آلي بعد الإقلاع.\n"
-"هل تريد X أن بيدأ بعد إعادة تشغيل جهازك؟"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Build the disk"
-msgstr "جهز القرص"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnect %s"
-msgstr "اقطع الإتصال بـ %s"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Status:"
-msgstr "الحالة:"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "HTTP proxy"
-msgstr "بروكسي HTTP"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "SSH Server"
-msgstr "خادم SSH"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by rsync.\n"
-msgstr "\t-الشبكة عن طريق rsync.\n"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol"
-msgstr "البروتوكول الأوروبي"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on server \"%s\""
-msgstr ", الطابعة \"%s\" على الخادم \"%s\""
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Note that currently all 'net' media also use the hard drive."
+#: ../../standalone/drakbackup_.c:794
+msgid "This may take a moment to generate the keys."
msgstr ""
-"تأكد من أن مراقب cron موجود ضمن خدمات النظام. \n"
-"\n"
-"لاحظ أن كل وسائط الشبكة تستخدم القرص الصلب."
-#: ../../fsedit.pm:1 ../../install_steps_interactive.pm:1
-#: ../../install_steps.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakboot:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/draksplash:1 ../../../move/move.pm:1
+#: ../../standalone/drakbackup_.c:801
#, c-format
-msgid "Error"
-msgstr "خطأ"
-
-#: ../../any.pm:1
-#, c-format
-msgid "allow \"su\""
-msgstr "اسمح بـ\"su\""
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Australia"
-msgstr "أوستراليا"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "please wait during ttmkfdir..."
-msgstr "رجاء انتظر أثناء عملية ttmkfdir..."
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure only card \"%s\"%s"
-msgstr "قم بإعداد البطاقة \"%s\"%s فقط"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Level"
-msgstr "المستوى"
+msgid "ERROR: Cannot spawn %s."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:818
#, c-format
-msgid "Change the printing system"
-msgstr "تغيير نظام الطباعة"
+msgid "No password prompt on %s at port %s"
+msgstr ""
-#: ../../Xconfig/card.pm:1
+#: ../../standalone/drakbackup_.c:819
#, c-format
-msgid ""
-"Your system supports multiple head configuration.\n"
-"What do you want to do?"
+msgid "Bad password on %s"
msgstr ""
-"نظامك يدعم الإعداد متعدد الرؤوس.\n"
-"ماذا تريد أن تفعل؟"
-#: ../../partition_table.pm:1
+#: ../../standalone/drakbackup_.c:820
#, c-format
-msgid "mount failed: "
-msgstr "فشل التحميل: "
+msgid "Permission denied transferring %s to %s"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure services"
-msgstr "تهيئة الخدمات"
+#: ../../standalone/drakbackup_.c:821
+#, fuzzy, c-format
+msgid "Can't find %s on %s"
+msgstr "لا يمكن أن ينفتح %s: %s\n"
-#: ../../standalone/drakTermServ:1
+#: ../../standalone/drakbackup_.c:824
#, c-format
-msgid "Broadcast Address:"
-msgstr "عنوان Broadcast:"
+msgid "%s not responding"
+msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../standalone/drakbackup_.c:828
#, c-format
msgid ""
-"the GNU/Linux kernel needs to run a calculation loop at boot time to "
-"initialize a timer counter. Its result is stored as bogomips as a way to "
-"\"benchmark\" the cpu."
+"Transfer successful\n"
+"You may want to verify you can login to the server with:\n"
+"\n"
+"ssh -i %s %s\\@%s\n"
+"\n"
+"without being prompted for a password."
msgstr ""
-"نواة Linux تحتاج الى تشغيل حلقة حسابية (Calculation Loop) عند الإقلاع لتنشيط "
-"أداة عد الوقت. يتم حفظ النتيجة كـbogomips كطريقة \"للتأكد من صحة\" المعالج."
-#: ../../any.pm:1
-#, c-format
-msgid "Image"
-msgstr "صورة"
+#: ../../standalone/drakbackup_.c:873
+msgid "WebDAV remote site already in sync!"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Remote Administration"
-msgstr "ادارة عن بعد"
+#: ../../standalone/drakbackup_.c:877
+msgid "WebDAV transfer failed!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
-msgstr "تعذرت اضافة الطابعة \"%s\" الى Star Office/OpenOffice.org/GIMP."
+#: ../../standalone/drakbackup_.c:898
+msgid "No CDR/DVDR in drive!"
+msgstr ""
-#: ../../modules.pm:1
-#, c-format
-msgid ""
-"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
+#: ../../standalone/drakbackup_.c:902
+msgid "Does not appear to be recordable media!"
msgstr ""
-"دعم PCMCIA غير موجود بعد الآن لإصدار النواة 2.2. فضلا استخدم الإصدار 2.4"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Selected All"
-msgstr "تم اختيار الكل"
+#: ../../standalone/drakbackup_.c:906
+msgid "Not erasable media!"
+msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "CUPS - Common Unix Printing System"
-msgstr "CUPS - Common Unix Printing System"
+#: ../../standalone/drakbackup_.c:945
+msgid "This may take a moment to erase the media."
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Webmin Service"
-msgstr "خدمات Webmin"
+#: ../../standalone/drakbackup_.c:1033
+msgid "Permission problem accessing CD."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakbackup_.c:1060
#, c-format
-msgid "device"
-msgstr "وحدة"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Enter the directory to save to:"
-msgstr "فضلاً اختر الدليل الذي سيتم الحفظ فيه:"
+msgid "No tape in %s!"
+msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Greece"
-msgstr "اليونان"
+#: ../../standalone/drakbackup_.c:1174 ../../standalone/drakbackup_.c:1223
+msgid "Backup system files..."
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "All"
-msgstr "الكل"
+#: ../../standalone/drakbackup_.c:1224 ../../standalone/drakbackup_.c:1291
+msgid "Hard Disk Backup files..."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printing system (spooler) do you want to use?"
-msgstr "أي نظام طباعة تريد أن تستخدم؟"
+#: ../../standalone/drakbackup_.c:1236
+msgid "Backup User files..."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "July"
-msgstr "يوليو"
+#: ../../standalone/drakbackup_.c:1237
+msgid "Hard Disk Backup Progress..."
+msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Prints into %s"
-msgstr ", جاري الطباعة الى %s"
+#: ../../standalone/drakbackup_.c:1290
+msgid "Backup Other files..."
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid "An error occurred"
-msgstr "ظهر خطأ"
+#: ../../standalone/drakbackup_.c:1296
+msgid "No changes to backup!"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
+#: ../../standalone/drakbackup_.c:1312 ../../standalone/drakbackup_.c:1335
#, c-format
msgid ""
-"This package must be upgraded.\n"
-"Are you sure you want to deselect it?"
+"\n"
+"Drakbackup activities via %s:\n"
+"\n"
msgstr ""
-"يجب ترقية هذه الحزمة.\n"
-"هل أنت متأكد أنك لا تريد اختيارها؟"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (Typewriter-layout)"
-msgstr "التاميل (آلة كاتبة)"
-
-#: ../../security/help.pm:1
+#: ../../standalone/drakbackup_.c:1319
#, fuzzy, c-format
-msgid "Use password to authenticate users."
-msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Use password to authenticate users."
+msgid ""
+"file list sent by FTP: %s\n"
+" "
+msgstr "ارسال الملفات عن طريق FTP"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakbackup_.c:1322
msgid ""
-"Allow/Forbid the list of users on the system on display managers (kdm and "
-"gdm)."
-msgstr ""
-"Arguments: (arg)\n"
"\n"
-"Allow/Forbid the list of users on the system on display managers (kdm and "
-"gdm)."
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "manual"
-msgstr "يدوي"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Filename text to search for:"
+" FTP connection problem: It was not possible to send your backup files by "
+"FTP.\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model, driver"
-msgstr "مصنّع الطابعة, الطراز, المشغّل"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1340
msgid ""
-"There is no medium or it is write-protected for device %s.\n"
-"Please insert one."
+"\n"
+"Drakbackup activities via CD:\n"
+"\n"
msgstr ""
-"لا يوجد وسط أو ربما يكون الوسط محمي من القراءة للجهاز %s.\n"
-"فضلاً ادخل وسط فى الوحدة."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1345
msgid ""
-"Directory %s already contains data\n"
-"(%s)"
+"\n"
+"Drakbackup activities via tape:\n"
+"\n"
msgstr ""
-"الدليل %s يحتوي مسبقا على بعض البيانات\n"
-"(%s)"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on NetWare server"
-msgstr "طابعة على خادم NetWare"
-#: ../../any.pm:1
-#, c-format
-msgid "Give the ram size in MB"
-msgstr "اكتب حجم الذاكرة بالميغابايت"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Friday"
-msgstr "الجمعة"
-
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Disconnection from Internet complete."
-msgstr "اكتمل قطع الإتصال بالإنترنت"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Real name"
-msgstr "الاسم الحقيقي"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "done"
-msgstr "انتهى"
+#: ../../standalone/drakbackup_.c:1354
+msgid " Error during mail sending. \n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please uncheck or remove it on next time."
-msgstr "فضلاً قم بإزالة التأشير أو احذفها في المرة القادمة."
+#: ../../standalone/drakbackup_.c:1380
+msgid "Can't create catalog!"
+msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Higher"
-msgstr "مرتفع أكثر"
+#: ../../standalone/drakbackup_.c:1490 ../../standalone/drakbackup_.c:1501
+#: ../../standalone/drakfont_.c:946
+msgid "File Selection"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the partitions you want to format"
-msgstr "اختر التجزئات التي تريد تجهيزها"
+#: ../../standalone/drakbackup_.c:1529
+msgid "Select the files or directories and click on 'Add'"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1573
msgid ""
-"No TV Card has been detected on your machine. Please verify that a Linux-"
-"supported Video/TV Card is correctly plugged in.\n"
"\n"
-"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
+"Please check all options that you need.\n"
msgstr ""
-"لم يتم ايجاد بطاقة تلفاز على جهازك. فضلاً تأكد من أن بطاقة الفيديو/التلفاز "
-"المدعومة في Linux موصولة بشكل صحيح.\n"
-"\n"
-"\n"
-"يمكنك زيارة قاعدة بيانات العتاد المدعوم الخاصة بنا على:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't find %s on %s"
-msgstr "تعذر ايجاد %s على %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Japanese 106 keys"
-msgstr "اليابانية 106 مفاتيح"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Could not install the packages needed to share your scanner(s)."
+#: ../../standalone/drakbackup_.c:1574
+msgid ""
+"These options can backup and restore all files in your /etc directory.\n"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "This will take a few minutes."
-msgstr "سيستغرق هذا بضع دقائق."
+#: ../../standalone/drakbackup_.c:1575
+#, fuzzy
+msgid "Backup your System files. (/etc directory)"
+msgstr "انسخ ملفات النظام قبل:"
-#: ../../lang.pm:1
-#, c-format
-msgid "Burkina Faso"
-msgstr "بوركينافاسو"
+#: ../../standalone/drakbackup_.c:1576
+msgid "Use incremental backup (do not replace old backups)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "June"
-msgstr "يونيو"
+#: ../../standalone/drakbackup_.c:1577
+msgid "Do not include critical files (passwd, group, fstab)"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use scanners on remote computers"
-msgstr "استخدم الماسحات الضوئية على الحوايسب البعيدة"
+#: ../../standalone/drakbackup_.c:1578
+msgid ""
+"With this option you will be able to restore any version\n"
+" of your /etc directory."
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Delete selected rule"
-msgstr "احذف القاعدة المختارة"
+#: ../../standalone/drakbackup_.c:1595
+msgid "Please check all users that you want to include in your backup."
+msgstr "رجاء اختر كل المستخدمين الذين تريد تضمينهم في النسخ الإحتياطي."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Accessing printers on remote CUPS servers"
-msgstr "الوصول الى الطابعات على خادمات CUPS البعيدة"
+#: ../../standalone/drakbackup_.c:1622
+msgid "Do not include the browser cache"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Insert a floppy in %s"
-msgstr "أدخل قرص مرن في %s"
+#: ../../standalone/drakbackup_.c:1623 ../../standalone/drakbackup_.c:1647
+msgid "Use Incremental Backups (do not replace old backups)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Maldives"
-msgstr "جزر المالديف"
+#: ../../standalone/drakbackup_.c:1645 ../../standalone/drakfont_.c:1000
+msgid "Remove Selected"
+msgstr "ازل المادة المختارة"
-#: ../../any.pm:1
-#, c-format
-msgid "compact"
-msgstr "مدمج"
+#: ../../standalone/drakbackup_.c:1679
+msgid "Windows (FAT32)"
+msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "1 minute"
-msgstr "دقيقة واحدة"
+#: ../../standalone/drakbackup_.c:1714
+msgid "Users"
+msgstr "المستخدمون"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: fat"
-msgstr "النوع: سميك"
+#: ../../standalone/drakbackup_.c:1740
+#, fuzzy
+msgid "Use network connection to backup"
+msgstr "استخدم القرص الصلب للنسخ الإحتياطي"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "on channel %d id %d\n"
-msgstr "على القناة %d id %d\n"
+#: ../../standalone/drakbackup_.c:1742
+msgid "Net Method:"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device"
-msgstr ", جهاز متعدد الوظائف"
+#: ../../standalone/drakbackup_.c:1746
+msgid "Use Expect for SSH"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Laos"
-msgstr "لاوس"
+#: ../../standalone/drakbackup_.c:1747
+msgid ""
+"Create/Transfer\n"
+"backup keys for SSH"
+msgstr ""
-#: ../advertising/04-configuration.pl:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1748
msgid ""
-"Mandrake Linux 9.2 provides you with the Mandrake Control Center, a powerful "
-"tool to fully adapt your computer to the use you make of it. Configure and "
-"customize elements such as the security level, the peripherals (screen, "
-"mouse, keyboard...), the Internet connection and much more!"
+" Transfer \n"
+"Now"
msgstr ""
-"يوفر Mandrake Linux 9.2 لك مركز تحكم Mandrake, و وهو أداة قوية لتعديل حاسوبك "
-"ليناسب احتياجاتك و لتهيئة و تخصيص عناصر مثل مستوى الأمن و الأجهزة الملحقة "
-"(الشاشة, الفأرة لوحة المفاتيح...), وصلة الإنترنت و غير ذلك الكثير!"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Activate/Disable ethernet cards promiscuity check."
+#: ../../standalone/drakbackup_.c:1749
+msgid ""
+"Other (not drakbackup)\n"
+"keys in place already"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Activate/Disable ethernet cards promiscuity check."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to resize (or not enough space left)"
-msgstr "لا توجد تجزئة FAT قابل لتغيير حجمها (أو لا توجد مساحة كافية متبقية)"
+#: ../../standalone/drakbackup_.c:1753
+msgid "Please enter the host name or IP."
+msgstr "فضلا أدخل اسم المستضيف أو عنوان IP."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Up"
-msgstr "فوق"
+#: ../../standalone/drakbackup_.c:1758
+#, fuzzy
+msgid ""
+"Please enter the directory (or module) to\n"
+" put the backup on this host."
+msgstr "فضلاً أدخل الدليل الموجودة فيه النسخ الإحتياطية"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Firewall"
-msgstr "جدار ناري"
+#: ../../standalone/drakbackup_.c:1763
+msgid "Please enter your login"
+msgstr "رجاء أدخل اسم الدخول"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Area:"
-msgstr "المنطقة :"
+#: ../../standalone/drakbackup_.c:1768
+msgid "Please enter your password"
+msgstr "رجاء كلمة المرور"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "(E)IDE/ATA controllers"
-msgstr "متحكمات (E)IDE/ATA"
+#: ../../standalone/drakbackup_.c:1774
+msgid "Remember this password"
+msgstr "تذكّر كلمة السّرّ هذه "
-#: ../../fs.pm:1
-#, c-format
-msgid "All I/O to the file system should be done synchronously."
+#: ../../standalone/drakbackup_.c:1785
+msgid "Need hostname, username and password!"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Server"
-msgstr "خادم الطابعة"
+#: ../../standalone/drakbackup_.c:1879
+msgid "Use CD/DVDROM to backup"
+msgstr "إلى المساعد CD/DVDROM الاستعمال "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Custom configuration"
-msgstr "تهيئة مخصصة"
-
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1882
msgid ""
-"Please indicate where the installation image will be available.\n"
-"\n"
-"If you do not have an existing directory, please copy the CD or DVD "
-"contents.\n"
-"\n"
+"Please choose your CD/DVD device\n"
+"(Press Enter to propogate settings to other fields.\n"
+"This field isn't necessary, only a tool to fill in the form.)"
msgstr ""
-"فضلاً أخبر عن مكان صورة التثبيت.\n"
-"\n"
-"اذا لم يكن هناك دليل موجود, فضلاً انسخ محتويات القرص المدمج أو قرص DVD.\n"
-"\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Pierre and Miquelon"
-msgstr "سانت بيير و ميكيلون"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "September"
-msgstr "سبتمبر"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "saving Bootsplash theme..."
-msgstr "جاري حفظ سمة Bootsplash..."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Portugal"
-msgstr "البرتغال"
+#: ../../standalone/drakbackup_.c:1887
+#, fuzzy
+msgid "Please choose your CD/DVD media size (Mb)"
+msgstr "رجاء اختر مساحة القرص المدمج"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have another one?"
-msgstr "هل عندك واحدة أخرى؟"
+#: ../../standalone/drakbackup_.c:1893
+#, fuzzy
+msgid "Please check for multisession CD"
+msgstr "فضلا قم بالتأشير هنا اذا كنت تستخدم وسيط CDRW"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", printing to %s"
-msgstr ", جاري الطباعة الى %s"
+#: ../../standalone/drakbackup_.c:1899
+msgid "Please check if you are using CDRW media"
+msgstr "فضلا قم بالتأشير هنا اذا كنت تستخدم وسيط CDRW"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Assign host name from DHCP address"
-msgstr "عيّن اسم المستضيف من عنوان DHCP"
+#: ../../standalone/drakbackup_.c:1905
+#, fuzzy
+msgid "Please check if you want to erase your RW media (1st Session)"
+msgstr "فيما مضى CDRW من فضلك فحص ,إذا أردت أن تمحو "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to normal mode"
-msgstr "الانتقال الى الوضع العادي"
+#: ../../standalone/drakbackup_.c:1906
+msgid " Erase Now "
+msgstr ""
-#: ../../mouse.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Generic"
-msgstr "Generic"
+#: ../../standalone/drakbackup_.c:1912
+#, fuzzy
+msgid "Please check if you are using a DVDR device"
+msgstr "فضلا قم بالتأشير هنا اذا كنت تستخدم وسيط CDRW"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Cylinder %d to %d\n"
-msgstr "الاسطوانة %d الى %d\n"
+#: ../../standalone/drakbackup_.c:1918
+#, fuzzy
+msgid "Please check if you are using a DVDRAM device"
+msgstr "فضلا قم بالتأشير هنا اذا كنت تستخدم وسيط CDRW"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "YOUR TEXT HERE"
+#: ../../standalone/drakbackup_.c:1931
+msgid ""
+"Please enter your CD Writer device name\n"
+" ex: 0,1,0"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "New profile..."
-msgstr "تشكيل جديد..."
+#: ../../standalone/drakbackup_.c:1964
+#, fuzzy
+msgid "No CD device defined!"
+msgstr "اختر ملف"
-#: ../../modules/interactive.pm:1 ../../standalone/draksec:1
-#, c-format
-msgid "NONE"
+#: ../../standalone/drakbackup_.c:2012
+msgid "Use tape to backup"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which disk do you want to move it to?"
-msgstr "أي قرص تريد نقله؟"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Display logo on Console"
-msgstr "اعرض الشعار في سطر الأوامر"
+#: ../../standalone/drakbackup_.c:2015
+msgid "Please enter the device name to use for backup"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Windows Domain"
-msgstr "نطاق Windows"
+#: ../../standalone/drakbackup_.c:2021
+#, fuzzy
+msgid "Please check if you want to use the non-rewinding device."
+msgstr "فيما مضى CDRW من فضلك فحص ,إذا أردت أن تمحو "
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Saami (norwegian)"
-msgstr "Dvorak (نرويجيةّ)"
+#: ../../standalone/drakbackup_.c:2027
+#, fuzzy
+msgid "Please check if you want to erase your tape before the backup."
+msgstr "فيما مضى CDRW من فضلك فحص ,إذا أردت أن تمحو "
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Interface %s (on network %s)"
-msgstr "الواجهة %s (على الشبكة %s)"
+#: ../../standalone/drakbackup_.c:2033
+#, fuzzy
+msgid "Please check if you want to eject your tape after the backup."
+msgstr "فيما مضى CDRW من فضلك فحص ,إذا أردت أن تمحو "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "INFO"
-msgstr "INFO"
+#: ../../standalone/drakbackup_.c:2039 ../../standalone/drakbackup_.c:2112
+#: ../../standalone/drakbackup_.c:3068
+msgid ""
+"Please enter the maximum size\n"
+" allowed for Drakbackup"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Wallis and Futuna"
-msgstr "واليس و فوتونا"
+#: ../../standalone/drakbackup_.c:2103
+#, fuzzy
+msgid "Please enter the directory to save to:"
+msgstr "فضلاً أدخل الدليل الموجودة فيه النسخ الإحتياطية"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Need to create /etc/dhcpd.conf first!"
-msgstr "لا حاجة الى انشاء /etc/dhcpd.conf أولاً!"
+#: ../../standalone/drakbackup_.c:2118 ../../standalone/drakbackup_.c:3074
+msgid "Use quota for backup files."
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Is FPU present"
-msgstr "هل FPU موجود"
+#: ../../standalone/drakbackup_.c:2180
+msgid "Network"
+msgstr "الشبكة"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"No additional information\n"
-"about this service, sorry."
+#: ../../standalone/drakbackup_.c:2185
+msgid "CDROM / DVDROM"
msgstr ""
-"عفواً, لا توجد معلومات\n"
-"اضافية حزل هذه الحزمة."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "There are no scanners found which are available on your system.\n"
-msgstr "لا توجد ماسحات ضوئية متوفرة على نظامك.\n"
+#: ../../standalone/drakbackup_.c:2190
+msgid "HardDrive / NFS"
+msgstr "HardDrive / NFS"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Single NIC -->"
-msgstr "ابني NIC واحدة -->"
+#: ../../standalone/drakbackup_.c:2195
+#, fuzzy
+msgid "Tape"
+msgstr "النوع"
-#: ../../lang.pm:1
-#, c-format
-msgid "Marshall Islands"
-msgstr "جزر مارشال"
+#: ../../standalone/drakbackup_.c:2208 ../../standalone/drakbackup_.c:2212
+#: ../../standalone/drakbackup_.c:2216
+msgid "hourly"
+msgstr "كلّ ساعة "
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Is this correct?"
-msgstr "هل هذا صحيح ؟ "
+#: ../../standalone/drakbackup_.c:2209 ../../standalone/drakbackup_.c:2213
+#: ../../standalone/drakbackup_.c:2216
+msgid "daily"
+msgstr "يوميًّا "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Windows (FAT32)"
-msgstr "Windows (FAT32)"
+#: ../../standalone/drakbackup_.c:2210 ../../standalone/drakbackup_.c:2214
+#: ../../standalone/drakbackup_.c:2216
+msgid "weekly"
+msgstr "أسبوعيّا"
-#: ../../steps.pm:1
-#, c-format
-msgid "Root password"
-msgstr "كلمة مرور المستخدم الجذر"
+#: ../../standalone/drakbackup_.c:2211 ../../standalone/drakbackup_.c:2215
+#: ../../standalone/drakbackup_.c:2216
+msgid "monthly"
+msgstr "شهريا"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build All Kernels -->"
-msgstr "ابني كل اصدارات النواة -->"
+#: ../../standalone/drakbackup_.c:2229
+msgid "Use daemon"
+msgstr "استخدم المراقب"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "DVDRAM device"
-msgstr "وحدة"
+#: ../../standalone/drakbackup_.c:2234
+msgid ""
+"Please choose the time \n"
+"interval between each backup"
+msgstr ""
+"فضلا اختر الفترة \n"
+"ما بين كل عملية نسخ احتياطي"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report unowned files."
-msgstr "if set to yes, report unowned files."
+#: ../../standalone/drakbackup_.c:2240
+msgid ""
+"Please choose the\n"
+"media for backup."
+msgstr ""
+"رجاء اختر\n"
+"وسيط النسخ الاحتياطي"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2247
msgid ""
-"You don't have a swap partition.\n"
+"Please be sure that the cron daemon is included in your services. \n"
"\n"
-"Continue anyway?"
+"Note that currently all 'net' medias also use the hard drive."
msgstr ""
-"ليست لديك تجزئة تبديل.\n"
-"\n"
-"هل تريد المتابعة على أي حال؟"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Version: "
-msgstr "الإصدار:"
+#: ../../standalone/drakbackup_.c:2283
+msgid "Send mail report after each backup to:"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Server IP missing!"
-msgstr "IP الخادم مفقود!"
+#: ../../standalone/drakbackup_.c:2289
+msgid "Delete Hard Drive tar files after backup to other media."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Suriname"
-msgstr "سورينام"
+#: ../../standalone/drakbackup_.c:2324
+msgid "What"
+msgstr "ماذا "
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid "Use a floppy"
-msgstr "احفظ على قرص مرن"
+#: ../../standalone/drakbackup_.c:2329
+msgid "Where"
+msgstr "أين"
-#: ../../any.pm:1
-#, c-format
-msgid "Enable ACPI"
-msgstr "تمكين ACPI"
+#: ../../standalone/drakbackup_.c:2334
+msgid "When"
+msgstr "متى "
-#: ../../fs.pm:1
-#, c-format
-msgid "Give write access to ordinary users"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2339
+msgid "More Options"
+msgstr "خيارات أكثر"
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Environment"
-msgstr "بيئات رسومية"
+#: ../../standalone/drakbackup_.c:2358 ../../standalone/drakbackup_.c:4444
+msgid "Drakbackup Configuration"
+msgstr "إعدادات Drakbackup"
-#: ../../lang.pm:1
-#, c-format
-msgid "Gibraltar"
-msgstr "جبل طارق"
+#: ../../standalone/drakbackup_.c:2376
+msgid "Please choose where you want to backup"
+msgstr "رجاء اختر أين تريد النسخ الاحتياطي."
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Do nothing"
-msgstr "لا تفعل شيئاً"
+#: ../../standalone/drakbackup_.c:2378
+msgid "on Hard Drive"
+msgstr "على القرص الصّلب"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Delete Client"
-msgstr "احذف العميل"
+#: ../../standalone/drakbackup_.c:2388
+msgid "across Network"
+msgstr "عبر الشّبكة"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem type: "
-msgstr "نوع نظام المفات: "
+#: ../../standalone/drakbackup_.c:2398
+msgid "on CDROM"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting network..."
-msgstr "جاري بدء الشبكة..."
+#: ../../standalone/drakbackup_.c:2406
+msgid "on Tape Device"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Vietnam"
-msgstr "فييتنام"
+#: ../../standalone/drakbackup_.c:2449
+msgid "Please choose what you want to backup"
+msgstr "رجاء اختر ما تريد نسخه احتياطياً"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/_Fields description"
-msgstr "/_وصف الحقول"
+#: ../../standalone/drakbackup_.c:2450
+msgid "Backup system"
+msgstr "نظام المساعد"
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid "Optimize your security by using Mandrake Linux"
-msgstr "حسّن مستوى الأمن"
+#: ../../standalone/drakbackup_.c:2451
+msgid "Backup Users"
+msgstr "مستخدمو المساعد"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2454
+msgid "Select user manually"
+msgstr "اخترالمستخدم يدويًّا"
+
+#: ../../standalone/drakbackup_.c:2537
msgid ""
"\n"
+"Backup Sources: \n"
+msgstr ""
"\n"
-" Thanks:\n"
-"\t- LTSP Project http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
+"مصادر المساعد :\n"
+
+#: ../../standalone/drakbackup_.c:2538
+msgid ""
"\n"
+"- System Files:\n"
msgstr ""
"\n"
+"-ملفّات النّظام :\n"
+
+#: ../../standalone/drakbackup_.c:2540
+msgid ""
"\n"
-" شكر خاص:\n"
-"\t- مشروع LTSP http://www.ltsp.org\n"
-"\t- مايكل براون <mbrown@fensystems.co.uk>\n"
+"- User Files:\n"
+msgstr ""
"\n"
+"-ملفّات المستخدم:\n"
-#: ../../install_steps_gtk.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../interactive/gtk.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakconnect:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Help"
-msgstr "مساعدة"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Check if the network devices are in promiscuous mode"
-msgstr "if set to yes, check if the network devices are in promiscuous mode."
+#: ../../standalone/drakbackup_.c:2542
+msgid ""
+"\n"
+"- Other Files:\n"
+msgstr ""
+"\n"
+"-الملفّات الأخرى:\n"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
+#: ../../standalone/drakbackup_.c:2544
#, c-format
-msgid "Your personal phone number"
-msgstr "رقم الهاتف الشخصي الخاص بك"
+msgid ""
+"\n"
+"- Save on Hard drive on path: %s\n"
+msgstr ""
+"\n"
+"- احفد القرص الصّلب على الطّريق :%s\n"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which size do you want to keep for Windows on"
-msgstr "على أي مساحة تريد حفظ Windows"
+#: ../../standalone/drakbackup_.c:2547
+msgid ""
+"\n"
+"- Delete hard drive tar files after backup.\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2553
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
+"\n"
+"- Burn to CD"
msgstr ""
-"تم ارسال الصفحات الإختبارية الى الطابعة.\n"
-"قد يستغرق هذا بعض الوقت حتى تبدأ الطابعة.\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Username required"
-msgstr "يُحتاج الى اسم المستخدم"
+#: ../../standalone/drakbackup_.c:2554
+msgid "RW"
+msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../standalone/drakbackup_.c:2555
#, fuzzy, c-format
-msgid "Device"
-msgstr "الجهاز: "
+msgid " on device: %s"
+msgstr "جهاز الفأرة: %s\n"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2556
+msgid " (multi-session)"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:2557
+#, fuzzy, c-format
msgid ""
-"Depending on the default language you chose in Section , DrakX will\n"
-"automatically select a particular type of keyboard configuration. However,\n"
-"you may not have a keyboard that corresponds exactly to your language: for\n"
-"example, if you are an English speaking Swiss person, you may have a Swiss\n"
-"keyboard. Or if you speak English but are located in Quebec, you may find\n"
-"yourself in the same situation where your native language and keyboard do\n"
-"not match. In either case, this installation step will allow you to select\n"
-"an appropriate keyboard from a list.\n"
-"\n"
-"Click on the \"%s\" button to be presented with the complete list of\n"
-"supported keyboards.\n"
"\n"
-"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
-"dialog will allow you to choose the key binding that will switch the\n"
-"keyboard between the Latin and non-Latin layouts."
+"- Save to Tape on device: %s"
msgstr ""
-"اعتماداً على اللغة الإفتراضية التي اخترتها في هذا القسم, سيقوم DrakX\n"
-"باختيار تهيئة لوحة المفاتيح آلياً. عموماً,\n"
-"ربما ليست لديك لوحة مفاتيح مقابلة بشكل مباشر للغتك:\n"
-"مثلاً ربما تكون عربياً متكلماً باللغة الإنجليزية, ربما تكون لديك\n"
-"لوحة مفاتيح سويسرية. اذا كنت تتكلم الإنجليزية لكن موجود في كيبك, ربما\n"
-"تجد نفسك في نفس الموقف حيث لا تتطابق لغتك مع لوحة المفاتيح.\n"
-"في الحالتين, ستسمح لك خطوة التثبيت ستسمح لك باختيار\n"
-"لوحة مفاتيح مناسبة من القائمة.\n"
"\n"
-"انقر زر \"%s\" لعرض قائمة بكل لوحات المفاتيح\n"
-"المدعومة.\n"
-"\n"
-"اذا اخترت لوحة مفاتيح لحروف غير لاتينية, فسيسمح لك\n"
-"مربع الحوار التالي باختيار اختصارات لوحة المفاتيح التي\n"
-"ستغير وضع لوحة المفاتيح بين الحروف اللاتينية و الغير لاتينية."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "خيارات طابعة SMB (Windows 9x/NT)"
+"-FTP و على host احفد على: %s\n"
-#: ../../printer/main.pm:1
+#: ../../standalone/drakbackup_.c:2558
#, c-format
-msgid "URI: %s"
+msgid "\t\tErase=%s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Valid user list changed, rewriting config file."
+#: ../../standalone/drakbackup_.c:2561
+#, fuzzy, c-format
+msgid ""
+"\n"
+"- Save via %s on host: %s\n"
msgstr ""
+"\n"
+"-FTP و على host احفد على: %s\n"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "mkinitrd optional arguments"
-msgstr "mkinitrd الخصائص الاختيارية"
-
-#: ../advertising/03-software.pl:1
+#: ../../standalone/drakbackup_.c:2562
#, c-format
msgid ""
-"Surf the Web with Mozilla or Konqueror, read your mail with Evolution or "
-"Kmail, create your documents with OpenOffice.org."
+"\t\t user name: %s\n"
+"\t\t on path: %s \n"
msgstr ""
-"تصفح الإنترنت مع Mozilla أو Konqueror, اقرأ البريد باستخدام Evolution أو "
-"KMail, انشئ مستنداتك مع OpenOffice.org"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Protocol for the rest of the world"
-msgstr "بروتوكول لبقية العالم"
+#: ../../standalone/drakbackup_.c:2563
+msgid ""
+"\n"
+"- Options:\n"
+msgstr ""
+"\n"
+"- خيارات:\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print test pages"
-msgstr "اطبع صفحات اختبارية"
+#: ../../standalone/drakbackup_.c:2564
+msgid "\tDo not include System Files\n"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Activate now"
-msgstr "قم بالتنشيط الآن"
+#: ../../standalone/drakbackup_.c:2567
+msgid "\tBackups use tar and bzip2\n"
+msgstr "\tBackups use tar and bzip2\n"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "64 MB or more"
-msgstr "64 ميغابايت أو أكثر"
+#: ../../standalone/drakbackup_.c:2569
+msgid "\tBackups use tar and gzip\n"
+msgstr "\tBackups use tar and gzip\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2572
#, c-format
msgid ""
-"Please select the test pages you want to print.\n"
-"Note: the photo test page can take a rather long time to get printed and on "
-"laser printers with too low memory it can even not come out. In most cases "
-"it is enough to print the standard test page."
+"\n"
+"- Daemon (%s) include:\n"
msgstr ""
-"فضلاً اختر الصفحات الإختبارية التي تود طباعتها.\n"
-"ملحوظة: الصفحة الإختبارية لصورة ستستغرق وقتاً طويلاً لطباعتها و على طابعات "
-"الليزر بكمية ذاكرة قليلة قد لا يتم طباعتها مطلقاً. في أغلب الأحيان يكفي أن "
-"تطبع الصفحة الإختبارية القياسية."
+"\n"
+"-Daemon (%s) include :\n"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Please select the device where your %s is attached"
-msgstr "فضلاً اختر الجهاز المتصل به %s"
+#: ../../standalone/drakbackup_.c:2573
+msgid "\t-Hard drive.\n"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Not formatted\n"
-msgstr "غير مجهز\n"
+#: ../../standalone/drakbackup_.c:2574
+msgid "\t-CDROM.\n"
+msgstr "\t-CDROM.\n"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Periodic Checks"
-msgstr "تأكد دوري"
+#: ../../standalone/drakbackup_.c:2575
+msgid "\t-Tape \n"
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "PXE Server Configuration"
-msgstr "تهيئة خادم PXE"
+#: ../../standalone/drakbackup_.c:2576
+msgid "\t-Network by FTP.\n"
+msgstr "\t-Network by FTP.\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup the system files before:"
-msgstr "انسخ ملفات النظام قبل:"
+#: ../../standalone/drakbackup_.c:2577
+msgid "\t-Network by SSH.\n"
+msgstr "\t-Network by SSH.\n"
-#: ../../security/level.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2578
+#, fuzzy
+msgid "\t-Network by rsync.\n"
+msgstr "\t-Network by FTP.\n"
+
+#: ../../standalone/drakbackup_.c:2579
+#, fuzzy
+msgid "\t-Network by webdav.\n"
+msgstr "\t-Network by FTP.\n"
+
+#: ../../standalone/drakbackup_.c:2581
+msgid "No configuration, please click Wizard or Advanced.\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:2587
msgid ""
-"This is the standard security recommended for a computer that will be used "
-"to connect to the Internet as a client."
+"List of data to restore:\n"
+"\n"
msgstr ""
-"هذا هو المستوى الأمني القياسي للحاسوب الذي سيستخدم للإتصال بالإنترنت كعميل."
-#: ../../any.pm:1
-#, c-format
-msgid "First floppy drive"
-msgstr "سواقة القرص المرن الأولى"
+#: ../../standalone/drakbackup_.c:2754
+msgid ""
+"List of data corrupted:\n"
+"\n"
+msgstr ""
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Quit"
-msgstr "/ملف/_خروج"
+#: ../../standalone/drakbackup_.c:2756
+msgid "Please uncheck or remove it on next time."
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak"
-msgstr "Dvorak"
+#: ../../standalone/drakbackup_.c:2766
+msgid "Backup files are corrupted"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose the new size"
-msgstr "اختر الحجم الجديد"
+#: ../../standalone/drakbackup_.c:2787
+msgid " All of your selected data have been "
+msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../standalone/drakbackup_.c:2788
#, c-format
-msgid "Media class"
-msgstr "فئة الوسيط"
+msgid " Successfuly Restored on %s "
+msgstr ""
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "You need to log out and back in again for changes to take effect"
+#: ../../standalone/drakbackup_.c:2906
+msgid " Restore Configuration "
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not known by this version of Scannerdrake."
-msgstr "الـ %s غير معروف من قبل هذا الإصدار من Scannerdrake."
+#: ../../standalone/drakbackup_.c:2924
+msgid "OK to restore the other files."
+msgstr "اضغط موافق لاستعادة ملفات اخرى"
-#: ../../lang.pm:1
-#, c-format
-msgid "Faroe Islands"
-msgstr "جزر الفيرو"
+#: ../../standalone/drakbackup_.c:2941
+msgid "User list to restore (only the most recent date per user is important)"
+msgstr "قائمة المستخدمين الذين سيتم استعادتهم"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Restart XFS"
-msgstr "أعد تشغيل XFS"
+#: ../../standalone/drakbackup_.c:3019
+msgid "Backup the system files before:"
+msgstr "انسخ ملفات النظام قبل:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add host/network"
-msgstr "أضف مستضيف/شبكة"
+#: ../../standalone/drakbackup_.c:3021
+msgid "please choose the date to restore"
+msgstr "رجاء اختر تاريخ الإستعادة"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake will not be started now."
-msgstr ""
+#: ../../standalone/drakbackup_.c:3057
+msgid "Use Hard Disk to backup"
+msgstr "استخدم القرص الصلب للنسخ الإحتياطي"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Model name"
-msgstr "اسم الطراز"
+#: ../../standalone/drakbackup_.c:3060
+msgid "Please enter the directory to save:"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Albania"
-msgstr "ألبانيا"
+#: ../../standalone/drakbackup_.c:3103
+msgid "FTP Connection"
+msgstr "وصلة FTP"
-#: ../../lang.pm:1
-#, c-format
-msgid "British Indian Ocean Territory"
-msgstr "منطقة جزر المحيط الهادي البريطانية"
+#: ../../standalone/drakbackup_.c:3110
+msgid "Secure Connection"
+msgstr "وصلة آمنة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Normal Mode"
-msgstr "وضع عادي"
+#: ../../standalone/drakbackup_.c:3134
+msgid "Restore from Hard Disk."
+msgstr "استعد من القرص الصلب"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD-R/DVD-R in drive!"
-msgstr "لا يوجد قرص CD-R/DVD-R في السواقة"
+#: ../../standalone/drakbackup_.c:3136
+msgid "Please enter the directory where backups are stored"
+msgstr "فضلاً أدخل الدليل الموجودة فيه النسخ الإحتياطية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer connection type"
-msgstr "نوع وصلة الطابعة"
+#: ../../standalone/drakbackup_.c:3204
+msgid "Select another media to restore from"
+msgstr "اختر وسيط آخر للاستعادة منه"
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "No network adapter on your system!"
-msgstr "لا موائم شبكة على نظامك"
+#: ../../standalone/drakbackup_.c:3206
+msgid "Other Media"
+msgstr "وسيط آخر"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network %s"
-msgstr "الشبكة %s"
+#: ../../standalone/drakbackup_.c:3211
+msgid "Restore system"
+msgstr "استعد النّظام"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Malayalam"
-msgstr "المالايالام"
+#: ../../standalone/drakbackup_.c:3212
+msgid "Restore Users"
+msgstr "أعد المستخدمين "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s out of range!"
-msgstr "الخيار %s خارج المتوسط!"
+#: ../../standalone/drakbackup_.c:3213
+msgid "Restore Other"
+msgstr "استعد آخر"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connect %s"
-msgstr "اتصل بـ %s"
+#: ../../standalone/drakbackup_.c:3215
+#, fuzzy
+msgid "select path to restore (instead of /)"
+msgstr "اختر مسار الإستعادة (بدلاً من / )"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting CUPS..."
-msgstr "جاري اعادة تشغيل CUPS..."
+#: ../../standalone/drakbackup_.c:3219
+msgid "Do new backup before restore (only for incremental backups.)"
+msgstr "قم بنسخ احتياطي جديد فبل الإستعادة (فقط للنسخ الإحتياطية المتدرجة)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning/Photo Cards on \"%s\""
-msgstr "Printing/Scanning/Photo Cards on \"%s\""
+#: ../../standalone/drakbackup_.c:3221
+msgid "Remove user directories before restore."
+msgstr "أزل أدلة المستخدمين قبل الإستعادة"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Continue without USB key"
+#: ../../standalone/drakbackup_.c:3334
+msgid ""
+"Restore Selected\n"
+"Catalog Entry"
msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "نقطة تحميل مكررّة %s"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run chkrootkit checks."
-msgstr "if set to yes, run chkrootkit checks."
+#: ../../standalone/drakbackup_.c:3344
+#, fuzzy
+msgid ""
+"Restore Selected\n"
+"Files"
+msgstr "ازل المادة المختارة"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Connection Configuration"
-msgstr "اعدادات الوصلة"
+#: ../../standalone/drakbackup_.c:3361
+#, fuzzy
+msgid ""
+"Change\n"
+"Restore Path"
+msgstr "استعد آخر"
-#: ../../harddrake/v4l.pm:1
+#: ../../standalone/drakbackup_.c:3427
#, c-format
-msgid "Unknown|Generic"
-msgstr "غير معروف|عام"
+msgid "Backup files not found at %s."
+msgstr ""
-#: ../../help.pm:1
+#: ../../standalone/drakbackup_.c:3440
#, c-format
msgid ""
-"At the time you are installing Mandrake Linux, it is likely that some\n"
-"packages have been updated since the initial release. Bugs may have been\n"
-"fixed, security issues resolved. To allow you to benefit from these\n"
-"updates, you are now able to download them from the Internet. Check \"%s\"\n"
-"if you have a working Internet connection, or \"%s\" if you prefer to\n"
-"install updated packages later.\n"
-"\n"
-"Choosing \"%s\" will display a list of places from which updates can be\n"
-"retrieved. You should choose one nearer to you. A package-selection tree\n"
-"will appear: review the selection, and press \"%s\" to retrieve and install\n"
-"the selected package(s), or \"%s\" to abort."
-msgstr ""
-"في الوقت الذي تقوم فيه بتثبيت Mandrake Linux, قد يكون تم تحديث\n"
-"بعض الحزم منذ الإصدار الأول, ربما يكون تم اصلاح بعض العيوب\n"
-"أو تم حل المشاكل الأمنية. لكي تستفيد من هذه التحديثات,يمكنك\n"
-"الآن تنزيل هذه التحديثات عبر الإنترنت. اختر\n"
-"\"%s\" اذا كانت لديك وصلة انترنت عاملة, أو \"%s\" اذا كنت تفضل\n"
-"تثبيت هذه التحديثات لاحقاً.\n"
-"\n"
-"اختيار \"%s\" يعرض قائمة بالأماكن التي يمكن منها الحصول\n"
-"على التحديثات. اختر المكان الأقرب اليك. سيتم عرض قائمة بالحزم\n"
-"راجع اختياراتك, ثم اضغط \"%s\" لتنزيل و تثبيت\n"
-"الحزم المختارة, أو \"%s\" لإحباط التحديث."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Myanmar"
-msgstr "ميانمار"
-
-#: ../../install_steps_interactive.pm:1 ../../Xconfig/main.pm:1
-#: ../../diskdrake/dav.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/draksplash:1 ../../standalone/harddrake2:1
-#: ../../standalone/logdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Quit"
-msgstr "خروج"
+"Insert the CD with volume label %s\n"
+" in the CD drive under mount point /mnt/cdrom"
+msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Auto allocate"
-msgstr "تحديد آلي"
+#: ../../standalone/drakbackup_.c:3440
+#, fuzzy
+msgid "Restore From CD"
+msgstr "استعد من القرص الصلب"
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:3442
#, c-format
-msgid "Check bad blocks?"
-msgstr "تحقق من البلوكات السيئة؟"
+msgid "Not the correct CD label. Disk is labelled %s."
+msgstr ""
-#: ../../harddrake/data.pm:1
+#: ../../standalone/drakbackup_.c:3452
#, c-format
-msgid "Other MultiMedia devices"
-msgstr "أجهز وسائط متعددة أخرى"
+msgid ""
+"Insert the tape with volume label %s\n"
+" in the tape drive device %s"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "burner"
-msgstr "ناسخ أقراص"
+#: ../../standalone/drakbackup_.c:3452
+#, fuzzy
+msgid "Restore From Tape"
+msgstr "استعادة جدول التقسيم"
-#: ../../standalone/drakbug:1
+#: ../../standalone/drakbackup_.c:3454
#, c-format
-msgid "Bug Description/System Information"
+msgid "Not the correct tape label. Tape is labelled %s."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " (Default is all users)"
-msgstr "المستخدم الإفتراضي"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "No remote machines"
-msgstr "لا أجهزة بعيدة"
+#: ../../standalone/drakbackup_.c:3474
+#, fuzzy
+msgid "Restore Via Network"
+msgstr "أعد المستخدمين "
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3474
#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+msgid "Restore Via Network Protocol: %s"
msgstr ""
-"\n"
-"أهلاً بكم في معالج اعداد الطابعات\n"
-"\n"
-"هذا المعالج سيساعدك على تثبيت الطابعة/الطابعات الموصولة بهذا الكمبيوتر.\n"
-"\n"
-"اذا كانت لديك طابعة/طابعات موصولة بهذه الماكينة, فضلاً قم بتوصيلها الى هذا "
-"الكمبيوتر و قم بتشغيلها كي يتم التحقق منها/منهم آلياً.\n"
-"\n"
-" انقر \"التالي\" عندما تكون مستعداً, و على \"الغاء\" اذا لم تكن تريد اعداد "
-"الطابعة/الطابعات الآن."
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication NIS"
-msgstr "تحقق NIS"
+#: ../../standalone/drakbackup_.c:3475
+#, fuzzy
+msgid "Host Name"
+msgstr "Host اسم "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr "خيار ``تشديد خيارات سطر الأوامر`` بدون قائدة من دون كلمة مرور"
+#: ../../standalone/drakbackup_.c:3476
+msgid "Host Path or Module"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently enabled"
-msgstr "مشاركة الإتصال بالإنترنت ممكنة حاليا"
+#: ../../standalone/drakbackup_.c:3483
+#, fuzzy
+msgid "Password required"
+msgstr "كلمة المرور"
-#: ../../lang.pm:1
-#, c-format
-msgid "United Arab Emirates"
-msgstr "الإمارات العربية المتحدة"
+#: ../../standalone/drakbackup_.c:3489
+#, fuzzy
+msgid "Username required"
+msgstr "اسم المستخدم"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_0"
-msgstr "Card IO_0"
+#: ../../standalone/drakbackup_.c:3492
+#, fuzzy
+msgid "Hostname required"
+msgstr "اسم المستضيف :"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Local Config"
+#: ../../standalone/drakbackup_.c:3497
+msgid "Path or Module required"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Thailand"
-msgstr "تايلاند"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_1"
-msgstr "Card IO_1"
+#: ../../standalone/drakbackup_.c:3510
+msgid "Files Restored..."
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Search:"
-msgstr "ابحث:"
+#: ../../standalone/drakbackup_.c:3513
+#, fuzzy
+msgid "Restore Failed..."
+msgstr "استعد آخر"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kazakhstan"
-msgstr "كازاخستان"
+#: ../../standalone/drakbackup_.c:3751
+msgid "Restore all backups"
+msgstr "استعد كل النسخ الإحتياطية"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Routers:"
-msgstr "الموجهات:"
+#: ../../standalone/drakbackup_.c:3760
+msgid "Custom Restore"
+msgstr "استعادة مخصصة"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Write"
-msgstr "اكتب %s"
+#: ../../standalone/drakbackup_.c:3804
+msgid "CD in place - continue."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Display all available remote CUPS printers"
-msgstr "اعرض كل طابعات CUPS البعيدة المتوفرة"
+#: ../../standalone/drakbackup_.c:3810
+msgid "Browse to new restore repository."
+msgstr ""
-#: ../../install_steps_newt.pm:1
-#, c-format
-msgid "Mandrake Linux Installation %s"
-msgstr "تثبيت Mandrake Linux %s"
+#: ../../standalone/drakbackup_.c:3813
+#, fuzzy
+msgid "Restore From Catalog"
+msgstr "استعادة جدول التقسيم"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Unknown driver"
-msgstr "مشغل غير معروف"
+#: ../../standalone/drakbackup_.c:3841
+#, fuzzy
+msgid "Restore Progress"
+msgstr "أعد المستخدمين "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Thai keyboard"
-msgstr "لوحة المفاتيح التايلاندية"
+#: ../../standalone/drakbackup_.c:3883 ../../standalone/drakbackup_.c:3916
+#: ../../standalone/drakbackup_.c:3942 ../../standalone/drakbackup_.c:3969
+#: ../../standalone/drakbackup_.c:3996 ../../standalone/drakbackup_.c:4056
+#: ../../standalone/drakbackup_.c:4083 ../../standalone/drakbackup_.c:4113
+#: ../../standalone/drakbackup_.c:4139
+msgid "Previous"
+msgstr "السابق"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bouvet Island"
-msgstr "جزيرة بوفيه"
+#: ../../standalone/drakbackup_.c:3887 ../../standalone/drakbackup_.c:3973
+#: ../../standalone/logdrake_.c:203
+msgid "Save"
+msgstr "حفظ"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Dialup options"
-msgstr "خيارات الإتصال"
+#: ../../standalone/drakbackup_.c:3946
+msgid "Build Backup"
+msgstr "ابني النسخة الإحتياطية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If no port is given, 631 will be taken as default."
-msgstr "اذا لم يتم اعطاء منفذ, سيتم اتخاذ 631 كمنفذ افتراضي."
+#: ../../standalone/drakbackup_.c:4000 ../../standalone/drakbackup_.c:4544
+msgid "Restore"
+msgstr "استعادة"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4189
msgid ""
-" - Per client system configuration files:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tclients can customize files such as /etc/modules.conf, /etc/"
-"sysconfig/mouse, \n"
-" \t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root "
-"login to the terminal \n"
-" server on each client machine that has this feature enabled. Local "
-"configuration can be\n"
-" turned back off, retaining the configuration files, once the client "
-"machine is configured."
+"Error during sendmail.\n"
+" Your report mail was not sent.\n"
+" Please configure sendmail"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4195
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."
+"Error during sending file via FTP.\n"
+" Please correct your FTP configuration."
msgstr ""
-"غير القرص المدمج!\n"
-"\n"
-"فضلاً أدخل القرص المدمج المسمى \"%s\" في السواقة و انقر موافق عندما تنتهي.\n"
-"اذا لم يكن القرص لديك, اضغط الغاء لتجنب التثبيت من هذا القرص المدمج."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish"
-msgstr "البولندية"
+#: ../../standalone/drakbackup_.c:4209
+#, fuzzy
+msgid ""
+"The following packages need to be installed:\n"
+" @list_of_rpm_to_install"
+msgstr "الحزمة %s يجب أن تُثبّت. هل تريد تثبيتها؟"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Online"
-msgstr "Mandrake Online"
+#: ../../standalone/drakbackup_.c:4232
+msgid "Please select data to restore..."
+msgstr "رجاء اختر تاريخ الإستعادة..."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by webdav.\n"
-msgstr "\t-الشبكة عن طريق webdav.\n"
+#: ../../standalone/drakbackup_.c:4267
+msgid "Please select media for backup..."
+msgstr "رجاء اختر وسيط النسخ الإحتياطي..."
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid ", multi-function device on a parallel port"
-msgstr ", جهاز متعدد الوظائف على المنفذ المتوازي #%s"
+#: ../../standalone/drakbackup_.c:4275
+msgid "Please select data to backup..."
+msgstr "رجاء اختر البيانات المطلوب نسخها احتياطيا..."
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4293 ../../standalone/drakbackup_.c:4304
msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
+"No configuration file found \n"
+"please click Wizard or Advanced."
msgstr ""
-"لم يتم اكتشاف موائم ايثرنت على نظامك. فضلاً قم بتشغيل أداة تهيئة العتاد."
+"لم يتم ايجاد ملف تهيئة \n"
+"فضلا اضغط معالج لأو متقدم."
-#: ../../network/network.pm:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Netmask"
-msgstr "Netmask"
+#: ../../standalone/drakbackup_.c:4308
+msgid "Under Devel ... please wait."
+msgstr "تحت التطوير ... انتظر فضلا"
-#
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "No hard drives found"
-msgstr "نعذر ايجاد أقراص صلبة"
+#: ../../standalone/drakbackup_.c:4382
+msgid "Backup system files"
+msgstr "انسخ ملفات النظام"
-#: ../../mouse.pm:1
-#, c-format
-msgid "2 buttons"
-msgstr "زرّين"
+#: ../../standalone/drakbackup_.c:4384
+msgid "Backup user files"
+msgstr "انسخ ملفات المستخدم"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
+#: ../../standalone/drakbackup_.c:4386
+msgid "Backup other files"
+msgstr "انسخ ملفات أخرى"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind is your ISDN connection?"
-msgstr "ما هو نوع وصلة ISDN لديك؟"
+#: ../../standalone/drakbackup_.c:4388 ../../standalone/drakbackup_.c:4421
+msgid "Total Progress"
+msgstr "اجمالي التقدم"
-#: ../../any.pm:1
-#, c-format
-msgid "Label"
-msgstr "عنوان"
+#: ../../standalone/drakbackup_.c:4412
+msgid "files sending by FTP"
+msgstr "ارسال الملفات عن طريق FTP"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save on floppy"
-msgstr "احفظ على قرص مرن"
+#: ../../standalone/drakbackup_.c:4416
+msgid "Sending files..."
+msgstr "جاري ارسال الملفات..."
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Check open ports"
-msgstr "تم اكتشافه على المنفذ %s"
+#: ../../standalone/drakbackup_.c:4500
+msgid "Backup Now from configuration file"
+msgstr "قم بالنسخ الآن من ملف التهيئة"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Edit selected printer"
-msgstr "حرر الخادم المختار"
+#: ../../standalone/drakbackup_.c:4505
+msgid "View Backup Configuration."
+msgstr "اعرض تهيئة النسخ الإحتياطي"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection"
-msgstr "تحقق آلي من الطابعات"
+#: ../../standalone/drakbackup_.c:4526
+msgid "Wizard Configuration"
+msgstr "إعدادات المعالج"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which of the following is your ISDN card?"
-msgstr "أي من الآتي هي بطاقة ISDN الخاصة بك؟"
+#: ../../standalone/drakbackup_.c:4531
+msgid "Advanced Configuration"
+msgstr "إعداد متقدم"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../standalone/drakbackup_.c:4536
+msgid "Backup Now"
+msgstr "قم بالنسخ الإحتياطي الآن"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Msec"
-msgstr "Msec"
+#: ../../standalone/drakbackup_.c:4576
+msgid "Drakbackup"
+msgstr "Drakbackup"
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4624
msgid ""
-"=> Notice, a label changed:\n"
-"%s"
+"options description:\n"
+"\n"
+" In this step Drakbackup allow you to change:\n"
+"\n"
+" - The compression mode:\n"
+" \n"
+" If you check bzip2 compression, you will compress\n"
+" your data better than gzip (about 2-10 %).\n"
+" This option is not checked by default because\n"
+" this compression mode needs more time (about 1000% more).\n"
+" \n"
+" - The update mode:\n"
+"\n"
+" This option will update your backup, but this\n"
+" option is not really useful because you need to\n"
+" decompress your backup before you can update it.\n"
+" \n"
+" - the .backupignore mode:\n"
+"\n"
+" Like with cvs, Drakbackup will ignore all references\n"
+" included in .backupignore files in each directories.\n"
+" ex: \n"
+" /*> cat .backupignore*/\n"
+" *.o\n"
+" *~\n"
+" ...\n"
+" \n"
+"\n"
msgstr ""
-"=> Notice, a label changed:\n"
-"%s"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Number of capture buffers:"
-msgstr "Number of capture buffers:"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (0/1, default `%s') "
-msgstr "Your choice? (0/1, default `%s') "
+#: ../../standalone/drakbackup_.c:4654
+msgid ""
+"\n"
+" Some errors during sendmail are caused by \n"
+" a bad configuration of postfix. To solve it you have to\n"
+" set myhostname or mydomain in /etc/postfix/main.cf\n"
+"\n"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4662
msgid ""
-"Any partitions that have been newly defined must be formatted for use\n"
-"(formatting means creating a file system).\n"
+"options description:\n"
"\n"
-"At this time, you may wish to reformat some already existing partitions to\n"
-"erase any data they contain. If you wish to do that, please select those\n"
-"partitions as well.\n"
+" - Backup system files:\n"
+" \n"
+"\tThis option allows you to backup your /etc directory,\n"
+"\twhich contains all configuration files. Please be\n"
+"\tcareful during the restore step to not overwrite:\n"
+"\t\t/etc/passwd \n"
+"\t\t/etc/group \n"
+"\t\t/etc/fstab\n"
"\n"
-"Please note that it is not necessary to reformat all pre-existing\n"
-"partitions. You must reformat the partitions containing the operating\n"
-"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
-"reformat partitions containing data that you wish to keep (typically\n"
-"\"/home\").\n"
+" - Backup User files: \n"
"\n"
-"Please be careful when selecting partitions. After formatting, all data on\n"
-"the selected partitions will be deleted and you will not be able to recover\n"
-"it.\n"
+"\tThis option allows you select all users that you want \n"
+"\tto backup.\n"
+"\tTo preserve disk space, it is recommended that you \n"
+"\tdo not include web browser's cache.\n"
"\n"
-"Click on \"%s\" when you are ready to format partitions.\n"
+" - Backup Other files: \n"
+"\n"
+"\tThis option allows you to add more data to save.\n"
+"\tWith the other backup it's not possible at the \n"
+"\tmoment to select incremental backup.\t\t\n"
+" \n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption for backup. This option allows you \n"
+"\tto backup all your data the first time, and \n"
+"\tonly the changed afterward.\n"
+"\tThen you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
"\n"
-"Click on \"%s\" if you want to choose another partition for your new\n"
-"Mandrake Linux operating system installation.\n"
"\n"
-"Click on \"%s\" if you wish to select partitions that will be checked for\n"
-"bad blocks on the disk."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "French"
-msgstr "الفرنسية"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTY)"
-msgstr "التشيكية (QWERTY)"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Allow X Window connections"
-msgstr "وصلة Winmodem"
-
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Hardware probing in progress"
-msgstr "جاري التحقق من العتاد"
-
-#: ../../network/shorewall.pm:1 ../../standalone/drakgw:1
-#, c-format
-msgid "Net Device"
-msgstr "جهاز الشبكة"
-
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Summary"
-msgstr "ملخص"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
-"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
msgstr ""
-" (المنافذ المتوازية: /dev/lp0, /dev/lp1, ..., مماشل لـ LPT1:, LPT2:, ..., "
-"طابعة USB الأولي: /dev/usb/lp0, طابعة USB الثانية: /dev/usb/lp1, ...)"
-
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Next"
-msgstr "التالي"
-
-#: ../../bootloader.pm:1
-#, c-format
-msgid "You can't install the bootloader on a %s partition\n"
-msgstr "يمكنك تثبيت محمّل الإقلاع على التجزئة %s\n"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "CHAP"
-msgstr "CHAP"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Puerto Rico"
-msgstr "بورتوريكو"
-#: ../../network/network.pm:1
-#, c-format
-msgid "(bootp/dhcp/zeroconf)"
-msgstr "(bootp/dhcp/zeroconf)"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4701
msgid ""
+"restore description:\n"
+" \n"
+"Only the most recent date will be used, because with incremental \n"
+"backups it is necessary to restore one by one each older backup.\n"
"\n"
-"Welcome.\n"
+"So if you don't want to restore a user please unselect all their\n"
+"check boxes.\n"
"\n"
-"The parameters of the auto-install are available in the sections on the left"
-msgstr ""
+"Otherwise, you are able to select only one of these.\n"
+"\n"
+" - Incremental Backups:\n"
"\n"
-"أهلاً بكم.\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption to use. This option allows you to \n"
+"\tbackup all of your data the first time, and \n"
+"\tonly the changed data after.\n"
+"\tSo you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
"\n"
-"معاوملات التثبيت الآلي موجودة على القسم الأيسر"
+"\n"
+"\n"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4727
+#, fuzzy
msgid ""
-"package 'ImageMagick' is required to be able to complete configuration.\n"
-"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+" Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s\\@epita."
+"fr>"
msgstr ""
-"حزمة 'ImageMagick' ضرورية لكي يتم اكمال التهيئة.\n"
-"اضغط \"موافق\" لتثبيت 'ImageMagick' أو \"الغاء\" للخروج"
+" جميع الحقوق محفوظة (C) 2001 MandrakeSoft من دوبون سيباستيان <dupont_s"
+"\\@epita.fr>"
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Telnet server"
-msgstr "خادم X"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "الليتوانية \"صف رقمي\" QWERTY"
+#: ../../standalone/drakbackup_.c:4729
+msgid ""
+" updates 2002 MandrakeSoft by Stew Benedict <sbenedict\\@mandrakesoft.com>"
+msgstr ""
-#: ../../install_any.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4732
msgid ""
-"The following packages will be removed to allow upgrading your system: %s\n"
+"Description:\n"
"\n"
+" Drakbackup is used to backup your system.\n"
+" During the configuration you can select: \n"
+"\t- System files, \n"
+"\t- Users files, \n"
+"\t- Other files.\n"
+"\tor All your system ... and Other (like Windows Partitions)\n"
"\n"
-"Do you really want to remove these packages?\n"
-msgstr ""
-"سيتم حذف هذه الحزم لكي تتم ترقية النظام: %s\n"
+" Drakbackup allows you to backup your system on:\n"
+"\t- Harddrive.\n"
+"\t- NFS.\n"
+"\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
+"\t- FTP.\n"
+"\t- Rsync.\n"
+"\t- Webdav.\n"
+"\t- Tape.\n"
"\n"
+" Drakbackup allows you to restore your system to\n"
+" a user selected directory.\n"
"\n"
-"هل تريد حذف هذه الحزم فعلاً؟\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Anguilla"
-msgstr "أنغويلا"
-
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Domain"
-msgstr "نطاق NIS"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Antarctica"
-msgstr "القطب الجنوبي"
+" Per default all backup will be stored on your\n"
+" /var/lib/drakbackup directory\n"
+"\n"
+" Configuration file:\n"
+"\t/etc/drakconf/drakbackup/drakbakup.conf\n"
+"\n"
+"Restore Step:\n"
+" \n"
+" During the restore step, DrakBackup will remove \n"
+" your original directory and verify that all \n"
+" backup files are not corrupted. It is recommended \n"
+" you do a last backup before restoring.\n"
+"\n"
+"\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4769
msgid ""
+"options description:\n"
"\n"
-"- User Files:\n"
-msgstr ""
+"Please be careful when you are using ftp backup, because only \n"
+"backups that are already built are sent to the server.\n"
+"So at the moment, you need to build the backup on your hard \n"
+"drive before sending it to the server.\n"
"\n"
-"-ملفّات المستخدم:\n"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount options"
-msgstr "خيارات التحميل"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Jamaica"
-msgstr "جامايكا"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4778
msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle or DVD players"
+"\n"
+"Restore Backup Problems:\n"
+"\n"
+"During the restore step, Drakbackup will verify all your\n"
+"backup files before restoring them.\n"
+"Before the restore, Drakbackup will remove \n"
+"your original directory, and you will loose all your \n"
+"data. It is important to be careful and not modify the \n"
+"backup data files by hand.\n"
msgstr ""
-"عين الأجهزة الخام الى أجهزة في وضع الكليشيه (مثل تجزئات\n"
-"الأقراص الصلبة), للاستخام في تطبيقات مثل Oracle أو مشغلات DVD"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Please wait, preparing installation..."
-msgstr "انتر من فضلك, جاري التحضير للتثبيت..."
-#: ../../keyboard.pm:1
+#: ../../standalone/drakboot_.c:50
#, c-format
-msgid "Czech (QWERTZ)"
-msgstr "التشيكية (QWERTZ)"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Track network card id (useful for laptops)"
-msgstr "تتبع هوية بطاقة الشبكة (مفيد للجاسبات الدفترية)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The port number should be an integer!"
-msgstr "يجب أن يكون رقم المنفذ رقماً صحيحاً!"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "You must choose an image file first!"
-msgstr "يجب اختيار ملف صورة أولاً!"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore from Hard Disk."
-msgstr "استعد من القرص الصلب"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to LVM"
-msgstr "اضافة الى LVM"
+msgid "Installation of %s failed. The following error occured:"
+msgstr "فشل تثبيت %s. ظهر الخطأ التالي:"
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server"
-msgstr "خادم DNS"
+#: ../../standalone/drakbug_.c:45
+msgid "Mandrake Bug Report Tool"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Trinidad and Tobago"
-msgstr "ترينياد و توباجو"
+#: ../../standalone/drakbug_.c:50
+msgid "First Time Wizard"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "LPD and LPRng do not support IPP printers.\n"
-msgstr "LPD و LPRng لا تدعم طابعات IPP.\n"
+#: ../../standalone/drakbug_.c:51
+msgid "Synchronization tool"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Host name or IP."
-msgstr "اسم المستضيف"
+#: ../../standalone/drakbug_.c:52 ../../standalone/drakbug_.c:66
+#: ../../standalone/drakbug_.c:133 ../../standalone/drakbug_.c:135
+#: ../../standalone/drakbug_.c:139
+#, fuzzy
+msgid "Standalone Tools"
+msgstr "أدوات سطر الأوامر"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Edit"
-msgstr "/_تحرير"
+#: ../../standalone/drakbug_.c:53
+#, fuzzy
+msgid "HardDrake"
+msgstr "على القرص الصّلب"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "simple"
-msgstr "بسيط"
+#: ../../standalone/drakbug_.c:54
+#, fuzzy
+msgid "Mandrake Online"
+msgstr "استشارات Mandrake"
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Clear all"
-msgstr "أمسح الكل"
+#: ../../standalone/drakbug_.c:55
+#, fuzzy
+msgid "Menudrake"
+msgstr "MandrakeStore"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No test pages"
-msgstr "لا صفحات اختبارية"
+#: ../../standalone/drakbug_.c:56
+#, fuzzy
+msgid "Msec"
+msgstr "الفأرة"
-#: ../../lang.pm:1
-#, c-format
-msgid "Falkland Islands (Malvinas)"
-msgstr "جزر فوكلاند"
+#: ../../standalone/drakbug_.c:57
+#, fuzzy
+msgid "Remote Control"
+msgstr "طابعة بعيدة"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "المحوّل %s: %s"
+#: ../../standalone/drakbug_.c:58
+msgid "Software Manager"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Boot disk creation"
-msgstr "صنع قرص مرن لبدء النظام"
+#: ../../standalone/drakbug_.c:59
+msgid "Urpmi"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Monday"
-msgstr "الاثنين"
+#: ../../standalone/drakbug_.c:60
+msgid "Windows Migration tool"
+msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Unknown model"
-msgstr "طراز غير معروف"
+#: ../../standalone/drakbug_.c:61
+#, fuzzy
+msgid "Userdrake"
+msgstr "Printerdrake"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check files/directories writable by everybody."
-msgstr "if set to yes, check files/directories writable by everybody."
+#: ../../standalone/drakbug_.c:62
+#, fuzzy
+msgid "Configuration Wizards"
+msgstr "معالج إعداد الشبكة"
-#: ../../help.pm:1
-#, c-format
-msgid "authentication"
+#: ../../standalone/drakbug_.c:75
+#, fuzzy
+msgid "Application:"
msgstr "التحقق"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now"
-msgstr "قم بالنسخ الإحتياطي الآن"
-
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_File"
-msgstr "/_ملف"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
-msgstr "جاري حذف الطابعة من Star Office/OpenOffice.org/GIMP"
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
+#: ../../standalone/drakbug_.c:76
+msgid "Package: "
msgstr ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Editable"
-msgstr "تعطيل"
-#: ../../network/ethernet.pm:1
-#, fuzzy, c-format
-msgid "Which dhcp client do you want to use ? (default is dhcp-client)"
+#: ../../standalone/drakbug_.c:77
+msgid "Kernel:"
msgstr ""
-"أي عميل DHCP تريد أن تستخدم؟\n"
-"الإفتراضي هو dhcp-client."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (ISCII-layout)"
-msgstr "التاميل (ISCII)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mayotte"
-msgstr "مايوت"
+#: ../../standalone/drakbug_.c:78
+#, fuzzy
+msgid "Release: "
+msgstr "من فضلك انتظر"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Set shell commands history size. A value of -1 means unlimited."
-msgstr ""
-"Arguments: (size)\n"
+#: ../../standalone/drakbug_.c:93
+msgid ""
"\n"
-"Set shell commands history size. A value of -1 means unlimited."
-
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "%d KB\n"
-msgstr "الحجم: %d كيلوبايت\n"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Creating auto install floppy..."
-msgstr "جاري انشاء قرص التثبيت الآلي..."
+"\n"
+"To submit a bug report, click on the button report.\n"
+"This will open a web browser window on https://drakbug.mandrakesoft.com\n"
+" where you'll find a form to fill in.The information displayed above will "
+"be \n"
+"transferred to that server\n"
+"\n"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for scanners ..."
-msgstr "جاري البحث عن الماسحات الضوئية..."
+#: ../../standalone/drakbug_.c:112
+#, fuzzy
+msgid "Report"
+msgstr "استعادة"
-#: ../../lang.pm:1
-#, c-format
-msgid "Russia"
-msgstr "روسيا"
+#: ../../standalone/drakbug_.c:148
+#, fuzzy
+msgid "Not installed"
+msgstr "ما بعد ازالة التثبيت"
-#: ../../steps.pm:1
-#, c-format
-msgid "Partitioning"
-msgstr "تجزئة الأقراص"
+#: ../../standalone/drakbug_.c:160
+#, fuzzy
+msgid "Package not installed"
+msgstr "ما بعد ازالة التثبيت"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ethernet card(s) detected"
-msgstr "تم اكتشاف بطاقة/بطاقات ايثرنت"
+#: ../../standalone/drakbug_.c:173
+msgid "connecting to Bugzilla wizard ..."
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Syslog"
-msgstr "syslog"
+#: ../../standalone/drakbug_.c:180
+#, fuzzy
+msgid "No browser available! Please install one"
+msgstr "ستكون لقطات الشاشة موجودة بعد التثبيت في %s"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakconnect_.c:75
#, c-format
-msgid "Can't create catalog!"
-msgstr "تعذر انشاء الكتالوغ!"
+msgid "Network configuration (%d adapters)"
+msgstr "اعدادات الشبكة (%d موائمات)"
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid ""
-"Complete your security setup with this very easy-to-use software which "
-"combines high performance components such as a firewall, a virtual private "
-"network (VPN) server and client, an intrusion detection system and a traffic "
-"manager."
-msgstr ""
-"أكمل حماية أجهزتك مع هذا البرنامج السهل الاستخدام الذي يجمع بين المكونات "
-"عالية الأداء كالجدار الناري, وعميل و خادم الشبكات الافتراضية (VPN), اضافة "
-"الى نظام للتحقق من الاختراقات و مدير لتنظيم مسارات الشبكة."
+#: ../../standalone/drakconnect_.c:83 ../../standalone/drakconnect_.c:591
+msgid "Profile: "
+msgstr "التشكيل:"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Not enough free space for auto-allocating"
-msgstr "لا توجد مساحة كافية للتحديد الآلي"
+#: ../../standalone/drakconnect_.c:91
+msgid "Del profile..."
+msgstr "احذف التشكيل..."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password"
-msgstr "عيّن كلمة مرور المستخدم الجذر"
+#: ../../standalone/drakconnect_.c:97
+msgid "Profile to delete:"
+msgstr "التشكيل المطلوب حذفه:"
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Enable IP spoofing protection"
-msgstr ""
-"Arguments: (arg, alert=1)\n"
-"\n"
-"Enable/Disable IP spoofing protection."
+#: ../../standalone/drakconnect_.c:125
+msgid "New profile..."
+msgstr "تشكيل جديد..."
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:131
msgid ""
-"There's no free driver for your sound card (%s), but there's a proprietary "
-"driver at \"%s\"."
+"Name of the profile to create (the new profile is created as a copy of the "
+"current one) :"
msgstr ""
-"لا يوجد مشغل مفتوح المصدر لبطاقة الصوت (%s), لكن هناك مشغل تجاري في \"%s\"."
+"لإسم التشكيل الذي ستعمله (التشكيل الجديد يتم عمله كنسخة من التشكيل الحالي) :"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Group :"
-msgstr "المجموعة :"
+#: ../../standalone/drakconnect_.c:157
+msgid "Hostname: "
+msgstr "اسم المستضيف :"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "بعد تغيير حجم التجزئة %s, فإن كل البيانات على هذه التجزئة ستفقد"
+#: ../../standalone/drakconnect_.c:164
+msgid "Internet access"
+msgstr "الدخول الى الإنترنت"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet connection configuration"
-msgstr "إعدادات الإتصال بالإنترنت"
+#: ../../standalone/drakconnect_.c:177
+msgid "Type:"
+msgstr "النوع:"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Add the name as an exception to the handling of password aging by msec."
-msgstr ""
-"Arguments: (name)\n"
-"\n"
-"Add the name as an exception to the handling of password aging by msec."
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Gateway:"
+msgstr "البوابة:"
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "USB"
-msgstr "LSB"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Interface:"
+msgstr "الواجهة:"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels"
-msgstr "جاري ضبط قنوات التلفاز"
+#: ../../standalone/drakconnect_.c:191
+msgid "Status:"
+msgstr "الحالة:"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Kernel:"
-msgstr "النواة:"
+#: ../../standalone/drakconnect_.c:198 ../../standalone/net_monitor_.c:145
+msgid "Wait please"
+msgstr "الانتظار من فضلك"
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_About..."
-msgstr "/_حول..."
+#: ../../standalone/drakconnect_.c:216
+msgid "Configure Internet Access..."
+msgstr "إعداد الدخول الى الإنترنت..."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bengali"
-msgstr "البنغالية"
+#: ../../standalone/drakconnect_.c:223 ../../standalone/drakconnect_.c:445
+msgid "LAN configuration"
+msgstr "إعداد LAN"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Preference: "
-msgstr "التفضيل: "
+#: ../../standalone/drakconnect_.c:228
+msgid "Driver"
+msgstr "المحرك"
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services: %d activated for %d registered"
-msgstr "الخدمات: %d منشّطة لـ %d مسجلة"
+#: ../../standalone/drakconnect_.c:228
+msgid "Interface"
+msgstr "الواجهة"
-#: ../../any.pm:1
-#, c-format
-msgid "Create a bootdisk"
-msgstr "أنشئ قرص إقلاع"
+#: ../../standalone/drakconnect_.c:228
+msgid "Protocol"
+msgstr "البروتوكول"
-#: ../../lang.pm:1
-#, c-format
-msgid "Solomon Islands"
-msgstr "جزر سليمان"
+#: ../../standalone/drakconnect_.c:228
+msgid "State"
+msgstr "الحالة"
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please test your mouse:"
-msgstr "من فضلك اختبر الفأرة:"
+#: ../../standalone/drakconnect_.c:240
+msgid "Configure Local Area Network..."
+msgstr "إعداد الشبكة المحلية..."
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "(module %s)"
-msgstr "(الوحدة %s)"
+#: ../../standalone/drakconnect_.c:252
+msgid "Click here to launch the wizard ->"
+msgstr "انقر هنا لتشغيل المعالج ->"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Workgroup"
-msgstr "مجموعة العمل"
+#: ../../standalone/drakconnect_.c:253
+msgid "Wizard..."
+msgstr "المعالج..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP"
-msgstr "اسم مستضيف الطابعة أو الـ IP"
+#: ../../standalone/drakconnect_.c:279
+msgid "Apply"
+msgstr "تطبيق"
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "down"
-msgstr "انتهى"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Connected"
+msgstr "متّصل "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Path or Module"
-msgstr "وحدة أو مسار المستضيف"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Not connected"
+msgstr "غير متصل"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer should contain only letters, numbers and the underscore"
-msgstr "اسم الطابعة يجب أن يحتوي فقط على حروف و أرقام و شارطات تحتية"
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Connect..."
+msgstr "اتصل..."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Show current interface configuration"
-msgstr "أظهر تهيئة الواجهة الحالية"
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Disconnect..."
+msgstr "اقطع الإتصال..."
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Add Printer"
-msgstr "طابعة"
+#: ../../standalone/drakconnect_.c:400
+msgid ""
+"Warning, another Internet connection has been detected, maybe using your "
+"network"
+msgstr "تحذير, تم ايجاد اتصال إنترنت آخر, ربما يكون يستخدم شبكتك"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakconnect_.c:427
msgid ""
-"The argument specifies if clients are authorized to connect\n"
-"to the X server from the network on the tcp port 6000 or not."
+"You don't have any configured interface.\n"
+"Configure them first by clicking on 'Configure'"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"The argument specifies if clients are authorized to connect\n"
-"to the X server on the tcp port 6000 or not."
+"لم تقم بتهيئة أي واجهات.\n"
+"قم بتهيئتهم أولا عن طريق الضغط على 'تهيئة'"
-#: ../../help.pm:1
-#, c-format
-msgid "Development"
-msgstr "تطوير"
+#: ../../standalone/drakconnect_.c:449
+msgid "LAN Configuration"
+msgstr "إعداد LAN"
-#: ../../any.pm:1 ../../help.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/drakconnect_.c:460
#, c-format
-msgid "Done"
-msgstr "انتهى"
+msgid "Adapter %s: %s"
+msgstr "المحوّل %s: %s"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Web Server"
-msgstr "خادم الويب"
+#: ../../standalone/drakconnect_.c:466
+msgid "Boot Protocol"
+msgstr "بروتوكول الإقلاع"
-#: ../../lang.pm:1
-#, c-format
-msgid "Chile"
-msgstr "تشيلي"
+#: ../../standalone/drakconnect_.c:467
+msgid "Started on boot"
+msgstr "يتم بدءه عند الإقلاع"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tDo not include System Files\n"
-msgstr "\tلا تُضمن ملفات النظام\n"
+#: ../../standalone/drakconnect_.c:468
+msgid "DHCP client"
+msgstr "DHCP العميل "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+msgid "activate now"
+msgstr "قم بالتنشيط الآن"
+
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+msgid "deactivate now"
+msgstr "قم بإزالة التنشيط الآن"
+
+#: ../../standalone/drakconnect_.c:499
msgid ""
-"The inkjet printer drivers provided by Lexmark only support local printers, "
-"no printers on remote machines or print server boxes. Please connect your "
-"printer to a local port or configure it on the machine where it is connected "
-"to."
+"This interface has not been configured yet.\n"
+"Launch the configuration wizard in the main window"
msgstr ""
-"مشغلات طابعتك inkjet التي تم توفيرها من Lexmark تدعم الطابعات المحلية فقط, "
-"لا يدعم المشغل الطابعات على الماكينات البعيدة أو خادمات الطباعة. فضلاً وصل "
-"طابعتك الى منفذ محلي أو قم بتهيئتها على الماكينة المرتبطة بها."
+"لم يتم تهيئة الواجهة بعد.\n"
+"قم بتشغيل معالج التهيئة في النافذة الرئيسية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:556
msgid ""
-"Your multi-function device was configured automatically to be able to scan. "
-"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
-"scanner when you have more than one) from the command line or with the "
-"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
-"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
-"\" menu. Call also \"man scanimage\" on the command line to get more "
-"information.\n"
-"\n"
-"Do not use \"scannerdrake\" for this device!"
+"You don't have any internet connection.\n"
+"Create one first by clicking on 'Configure'"
msgstr ""
-"الجهاز المتعدد الوظائف الخاص بك تم تهيئته آلياً ليتمكن من المسح الضوئي. يمكنك "
-"الآن استخدام المسخ الضوئي باستخدام \"scanimage\" (\"scanimage -d hp:%s\" "
-"لتحديد الماسح الضوئي اذا كان لديك أكثر من واحد) من سطر الأوامر أو بالبرامج "
-"الرسومية \"xscanimage\" أو \"xsane\". اذا كنت تستخدم GIMP, يمكنك أيضاً المسح "
-"الضوئي باستخدام القوائم \"File\"/\"Acquire\". شغل الأمر \"man scanimage\" في "
-"سطر الأوامر للحصول على مزيد من المعلومات.\n"
-"\n"
-"لا تستخدم \"scannerdrake\" لهذا الجهاز!"
-
-#: ../../any.pm:1
-#, c-format
-msgid "(already added %s)"
-msgstr "(تم اضافة %s مسبقا)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation in progress"
-msgstr "محمل الإقلاع قيد التثبيت"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", using command %s"
-msgstr ", باستخدام الأمر %s"
+"ليست لديك أي اتصالات إنترنت.\n"
+"قم بعمل اتصال أولا باستخدام 'تهيئة'"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Alt and Shift keys simultaneously"
-msgstr "مفاتيح Alt و Shift في نفس الوقت"
+#: ../../standalone/drakconnect_.c:580
+msgid "Internet connection configuration"
+msgstr "إعدادات الإتصال بالإنترنت"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Flags"
-msgstr "Flags"
+#: ../../standalone/drakconnect_.c:584
+msgid "Internet Connection Configuration"
+msgstr "إعدادات الإتصال بالإنترنت"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Users"
-msgstr "أضف/احذف المستخدمين"
+#: ../../standalone/drakconnect_.c:593 ../../standalone/net_monitor_.c:94
+msgid "Connection type: "
+msgstr "نوع العلاقة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host/network IP address missing."
-msgstr "عنوان IP للمستضيف/الشبكة مفقود."
+#: ../../standalone/drakconnect_.c:599
+msgid "Parameters"
+msgstr "Parameters"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "weekly"
-msgstr "أسبوعيّا"
+#: ../../standalone/drakconnect_.c:618
+msgid "Gateway"
+msgstr "Gateway"
-#: ../../standalone/logdrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Settings"
-msgstr "الضبط"
+#: ../../standalone/drakconnect_.c:627
+msgid "Ethernet Card"
+msgstr "Ethernet Card"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered host/network IP is not correct.\n"
-msgstr "عنوان IP المدُخل للمستضيف/الشبكة غير صحيح.\n"
+#: ../../standalone/drakconnect_.c:628
+msgid "DHCP Client"
+msgstr "DHCP العميل"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Create/Transfer backup keys for SSH"
-msgstr ""
-"انشئ/لنقل\n"
-"مفاتيح النسخ الإحتياطي لـSSH"
+#: ../../standalone/drakfloppy_.c:39
+msgid "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
+msgstr "-متنوع-ثابت-وسط-ر-*-*-*-140-*-*-*-*-*-*,*"
-#: ../../any.pm:1
-#, c-format
-msgid "Here is the full list of available countries"
-msgstr "ها هي قائمة كاملة بكل لوحات البلاد المتوفرة"
+#: ../../standalone/drakfloppy_.c:40
+msgid "Module name"
+msgstr "اسم الوحدة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (A4)"
-msgstr "صفحة اختبارية بديلة (A4)"
+#: ../../standalone/drakfloppy_.c:40
+msgid "Size"
+msgstr "حجم"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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 ""
-"اذا كانت لديك قل الأقراص في القائمة أدناه, اضغط موافق.\n"
-"اذا لم تمكن لديك أي من هذه الأقراص, اضغط الغاء.\n"
-"اذا كانت بعض هذه الأقراص مفقودة, قم بازالة اختيارهاثم اضغط موافق."
+#: ../../standalone/drakfloppy_.c:45
+msgid "drakfloppy"
+msgstr "دريك للاقراص المرنة"
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please"
-msgstr "الانتظار من فضلك"
+#: ../../standalone/drakfloppy_.c:63
+msgid "boot disk creation"
+msgstr "صنع قرص مرن لبدء النظام"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "PAP"
-msgstr "PAP"
+#: ../../standalone/drakfloppy_.c:71 ../../standalone/drakfloppy_.c:84
+msgid "default"
+msgstr "المرجع"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakfloppy_.c:87
#, c-format
-msgid "Backup user files"
-msgstr "انسخ ملفات المستخدم"
+msgid "DrakFloppy Error: %s"
+msgstr "خطأ فى دريك لعمل قرص بدء النظام: %s"
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "New"
-msgstr "جديد"
+#: ../../standalone/drakfloppy_.c:98
+msgid "kernel version"
+msgstr "اصدارة اللب"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"This is the most crucial decision point for the security of your GNU/Linux\n"
-"system: you have to enter the \"root\" password. \"Root\" is the system\n"
-"administrator and is the only user authorized to make updates, add users,\n"
-"change the overall system configuration, and so on. In short, \"root\" can\n"
-"do everything! That is why you must choose a password that is difficult to\n"
-"guess - DrakX will tell you if the password that you chose too easy. As you\n"
-"can see, you are not forced to enter a password, but we strongly advise you\n"
-"against this. GNU/Linux is just as prone to operator error as any other\n"
-"operating system. Since \"root\" can overcome all limitations and\n"
-"unintentionally erase all data on partitions by carelessly accessing the\n"
-"partitions themselves, it is important that it be difficult to become\n"
-"\"root\".\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. Never write down the \"root\" password -- it makes it far\n"
-"too easy to compromise a system.\n"
-"\n"
-"One caveat -- do not make the password too long or complicated because you\n"
-"must be able to remember it!\n"
-"\n"
-"The password will not be displayed on screen as you type it in. To reduce\n"
-"the chance of a blind typing error you will need to enter the password\n"
-"twice. If you do happen to make the same typing error twice, this\n"
-"``incorrect'' password will be the one you will have use the first time you\n"
-"connect.\n"
-"\n"
-"If you wish access to this computer to be controlled by an authentication\n"
-"server, click the \"%s\" button.\n"
-"\n"
-"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
-"services, select the appropriate one for \"%s\". If you do not know which\n"
-"one to use, you should ask your network administrator.\n"
-"\n"
-"If you happen to have problems with remembering passwords, if your computer\n"
-"will never be connected to the internet or that you absolutely trust\n"
-"everybody who uses your computer, you can choose to have \"%s\"."
-msgstr ""
-"هذه هي أهم خطوة تتخذها لأمن نظام Linux الخاص\n"
-"بك: عليك ادخال كلمة مرور المستخدم \"الجذر\" (root) و هو\n"
-"مدير النظام و المستخدم الوحيد المخول بتحديث النظام, اضافة المستخدمين,\n"
-"تغيير تهيئة النظام, الخ. باختصار يمكن للمستخدم \"الجذر\" أن يفعل\n"
-"كل شئ! لذا عليك اختيار كلمة المرور صعبة\n"
-"التخمين - سيخبرك DrakX اذا كانت كلمة المرور التي تستخدمها سهلة. كما\n"
-"ترى, لست مجبراً على ادخال كلمة مرور, لكننا ننصح بشدة لأن احتمال حدوث\n"
-"أخطاء مع Linux عادي مثل باقي أنظمة التشغيل الأخرى. و بما أن \"الجذر\" يمكنه\n"
-"تعدي كل الحدود و قد يحذف كل البيانات من دون قصد, لذا فيجب أن يكون من\n"
-"الصعب أن تصبح المستخدم \"الجذر\".\n"
-"\n"
-"يجب أن تكون كلمة المرور خليطاً من الحروف و الأرقام كما يجب أن تحتوي\n"
-"على 8 حروف على الأقل. لا تكتب كلمة مرور \"الجذر\" على ورق -- هذا يسهّل\n"
-"اختراق النظام اذا رأى أحد كلمة المرور.\n"
-"\n"
-"نصيحة أخرى -- لا تجعل كلمة المرور طويلة جداً أو معقّدة لأنك يجب أن تكون\n"
-"قادراً على تذكرها!\n"
-"\n"
-"لن يتم عرض كلمة المرور على الشاشة. لتقليل فرصة حدوث\n"
-"خطأ أثناء الكتابة, ستحتاج الى ادخال كلمة المرور مرتين.\n"
-"اذا أخطأت في الكتابة في المرتين, فسيجب استخدام كلمة\n"
-"المرور \"الخاطئة\" في المرة الأولى التي تدخل فيها الى النظام.\n"
-"\n"
-"اذا كنت تريد الوصول الى هذا الكمبيوتر لكي يتم التحكم بك عن طريق\n"
-"خادم مصادقة, اضغط زر \"%s\".\n"
-"\n"
-"اذا كانت شبكتك تستخدم LDAP, NIS, أو PDC Windows Domain Authentication "
-"Services\n"
-"عليك اختيار الخيار المناسب كـ\"%s\". اذا لم تعلم أي منها تريد\n"
-"استخدامه, اسأل مدير الشبكة لديك.\n"
-"\n"
-"اذا كانت لديك مشكلة في تذكر كلمات المرور, يمكنك اختيار\n"
-"\"%s\" اذا لم يكن الكمبيوتر الخاص بك متصلاً بالإنترنت,\n"
-"أو أنك تثق في اللذين يدخلون الى النظام."
+#: ../../standalone/drakfloppy_.c:104
+msgid "General"
+msgstr "عام"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Name resolution spoofing protection"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:109
+msgid "Expert Area"
+msgstr "منطقة الخبراء"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"At this point, DrakX will allow you to choose the security level desired\n"
-"for the machine. As a rule of thumb, the security level should be set\n"
-"higher if the machine will contain crucial data, or if it will be a machine\n"
-"directly exposed to the Internet. The trade-off of a higher security level\n"
-"is generally obtained at the expense of ease of use.\n"
-"\n"
-"If you do not know what to choose, stay with the default option."
-msgstr ""
-"عند هذه النقطة, سيسمح لك DrakX باختيار المستوى الأمني الذي ترغب به\n"
-"لهذه الماكينة. بديهياً, يجب تعيين مستوى أمني\n"
-"عالٍ اذا كانت الماكينة تحتوي على معلومات هامة, أو اذا كانت الماكينة\n"
-"ستُستخدم للإتصال بالإنترنت. ان استخدام مستوى أمني عالٍ يأتي\n"
-"عادة على حساب سهولة الإستخدام.\n"
-"\n"
-"اذا لم تكن تريد الإختيار, احفظ الاختيار الإفتراضي."
+#: ../../standalone/drakfloppy_.c:112
+msgid "mkinitrd optional arguments"
+msgstr "mkinitrd الخصائص الاختيارية"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Load from floppy"
-msgstr "حمّل من قرص مرن"
+#: ../../standalone/drakfloppy_.c:113
+msgid "Add a module"
+msgstr "اضافة وحدة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The following printer was auto-detected. "
-msgstr "تم اكتشاف الطابعة الآتية آلياً. "
+#: ../../standalone/drakfloppy_.c:133
+msgid "force"
+msgstr "اجبار"
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Uses command %s"
-msgstr ", باستخدام الأمر %s"
+#: ../../standalone/drakfloppy_.c:134
+msgid "if needed"
+msgstr "اذا احتجته"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot Floppy"
-msgstr "قرص الإقلاع"
+#: ../../standalone/drakfloppy_.c:135
+msgid "omit scsi modules"
+msgstr "SCSI اهمل وحدات ال"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Norwegian"
-msgstr "النرويجية"
+#: ../../standalone/drakfloppy_.c:136
+msgid "omit raid modules"
+msgstr "RAID اهمل وحدات ال"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for new scanners ..."
-msgstr "جاري البحث عن ماسحات ضوئية جديدة..."
+#: ../../standalone/drakfloppy_.c:172
+msgid "Remove a module"
+msgstr "ازالة وحدة"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Apache World Wide Web Server"
-msgstr "خادم الويب Apache"
+#: ../../standalone/drakfloppy_.c:194
+msgid "Output"
+msgstr "الناتج"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "stepping of the cpu (sub model (generation) number)"
-msgstr "stepping of the cpu (sub model (generation) number)"
+#: ../../standalone/drakfloppy_.c:206
+msgid "Build the disk"
+msgstr "جهز القرص"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakfloppy_.c:336
#, c-format
-msgid "select path to restore (instead of /)"
-msgstr "اختر مسار الإستعادة (بدلاً من / )"
+msgid "Be sure a media is present for the device %s"
+msgstr "تأكد من وجود الوسيط للوحدة %s"
-#: ../../standalone/draksplash:1
+#: ../../standalone/drakfloppy_.c:341
#, c-format
-msgid "Configure bootsplash picture"
-msgstr "تهيئة صورة الإقلاع"
+msgid ""
+"There is no medium or it is write-protected for device %s.\n"
+"Please insert one."
+msgstr ""
+"لا يوجد وسط أو ربما يكون الوسط محمي من القراءة للجهاز %s.\n"
+"فضلاً ادخل وسط فى الوحدة."
-#: ../../lang.pm:1
+#: ../../standalone/drakfloppy_.c:344
#, c-format
-msgid "Georgia"
-msgstr "جورجيا"
+msgid "Unable to fork: %s"
+msgstr "تعذر تنفيذ: %s"
-#: ../../lang.pm:1
+#: ../../standalone/drakfloppy_.c:349
#, c-format
-msgid "China"
-msgstr "الصين"
+msgid ""
+"Unable to close properly mkbootdisk: \n"
+" %s \n"
+" %s"
+msgstr ""
+"غير قادر على غلق mkbootdisk: \n"
+" %s \n"
+" %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Make sure that all your printers are connected and turned on).\n"
-msgstr " (تأكد من أن كل الطابعات موصولة و تعمل).\n"
+#: ../../standalone/drakfont_.c:213
+msgid "Search installed fonts"
+msgstr "ابحث في الخطوط المثبتة"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Reading data of installed printers..."
-msgstr "جاري قراءة بيانات الطابعات المثبتة..."
+#: ../../standalone/drakfont_.c:215
+msgid "Unselect fonts installed"
+msgstr "أزل اختيار الخطوط المثبتة"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Erase Now "
-msgstr " امحِ الآن "
+#: ../../standalone/drakfont_.c:239
+msgid "parse all fonts"
+msgstr "تحليل كل الخطوط"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "server"
-msgstr "خادم"
+#: ../../standalone/drakfont_.c:242
+msgid "no fonts found"
+msgstr "لا توجد خطوط"
-#: ../../install_any.pm:1
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "أدخل قرص مرن مجهز على نظام ملفات FAT في السواقة %s"
+#: ../../standalone/drakfont_.c:251 ../../standalone/drakfont_.c:305
+#: ../../standalone/drakfont_.c:361 ../../standalone/drakfont_.c:454
+#: ../../standalone/drakfont_.c:466 ../../standalone/drakfont_.c:493
+#: ../../standalone/drakfont_.c:514 ../../standalone/drakfont_.c:532
+msgid "done"
+msgstr "انتهى"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the processor has an arithmetic coprocessor"
-msgstr "نعم تعني أن المعالج لديه معالج مساعد للعمليات الحسابية"
+#: ../../standalone/drakfont_.c:257
+msgid "could not find any font in your mounted partitions"
+msgstr "لم أتمكن من ايجاد أي خطوط في تجزئاتك المحملة"
-#: ../../harddrake/sound.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Please Wait... Applying the configuration"
-msgstr "يرجى الإنتظار... جاري تطبيق الإعدادات"
+#: ../../standalone/drakfont_.c:303
+msgid "Reselect correct fonts"
+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:1
-#, c-format
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Welcome to GRUB the operating system chooser!"
+#: ../../standalone/drakfont_.c:307
+msgid "could not find any font.\n"
+msgstr "لم أتمكن من إيجاد أي خط.\n"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Grub"
-msgstr "Grub"
+#: ../../standalone/drakfont_.c:331
+msgid "Search fonts in installed list"
+msgstr "ابحث عن الخطوط في القائمة المثبتة"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SCSI controllers"
-msgstr "متحكمات SCSI"
+#: ../../standalone/drakfont_.c:359
+msgid "Fonts copy"
+msgstr "نقل الخطوط"
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on LPD server \"%s\", printer \"%s\""
-msgstr "على خادم LPD \"%s\", الطابعة \"%s\""
+#: ../../standalone/drakfont_.c:363
+msgid "True Type fonts installation"
+msgstr "تثبيت خطوط True Type"
-#: ../../standalone/drakedm:1
-#, c-format
-msgid "Choosing a display manager"
-msgstr "جاري اختيار مدير العرض"
+#: ../../standalone/drakfont_.c:371
+msgid "please wait during ttmkfdir..."
+msgstr "رجاء انتظر أثناء عملية ttmkfdir..."
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf Host name"
-msgstr "اسم مستضيف Zeroconf"
+#: ../../standalone/drakfont_.c:377
+msgid "True Type install done"
+msgstr "تم تثبيت خطوط True Type"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom setup/crontab entry:"
-msgstr ""
+#: ../../standalone/drakfont_.c:386 ../../standalone/drakfont_.c:413
+msgid "Fonts conversion"
+msgstr "تحويل الخطوط"
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address should be in format 1.2.3.4"
-msgstr "عنوان IP يجب أن يكون على النسق 1.2.3.4"
+#: ../../standalone/drakfont_.c:392 ../../standalone/drakfont_.c:417
+#: ../../standalone/drakfont_.c:450
+msgid "type1inst building"
+msgstr "بناء type1inst"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configure CUPS printing system"
-msgstr "تغيير نظام الطباعة"
+#: ../../standalone/drakfont_.c:403 ../../standalone/drakfont_.c:427
+msgid "Ghostscript referencing"
+msgstr "Ghostscript referencing"
-#: ../../lang.pm:1
-#, c-format
-msgid "Ecuador"
-msgstr "الإكوادور"
+#: ../../standalone/drakfont_.c:437
+msgid "ttf fonts conversion"
+msgstr "تحويل خطوط ttf"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Add an item"
-msgstr "أضف مادة"
+#: ../../standalone/drakfont_.c:444
+msgid "pfm fonts conversion"
+msgstr "تحويل خطوط pfm"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printers on this machine are available to other computers"
-msgstr "الطابعات على هذه الماكينة متوفرة للأجهزة الأخرى"
+#: ../../standalone/drakfont_.c:456
+msgid "Suppress temporary Files"
+msgstr "أبطل الملفات المؤقتة"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "China (Hong Kong)"
-msgstr "هونج كونج"
+#: ../../standalone/drakfont_.c:459
+msgid "Restart XFS"
+msgstr "أعد تشغيل XFS"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "I can't find needed image file `%s'."
-msgstr "لا يمكنني ايجاد ملف الصورة `%s'."
+#: ../../standalone/drakfont_.c:512 ../../standalone/drakfont_.c:526
+msgid "Suppress Fonts Files"
+msgstr "أبطل ملفات الخطوط"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No sound card detected. Try \"harddrake\" after installation"
-msgstr "لم يتم ايجاد بطاقة الصوت. حاول تشغيل \"harddrake\" بعد التثبيت"
+#: ../../standalone/drakfont_.c:528
+msgid "xfs restart"
+msgstr "xfs restart"
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:536 ../../standalone/drakfont_.c:902
msgid ""
-"Invalid port given: %s.\n"
-"The proper format is \"port/tcp\" or \"port/udp\", \n"
-"where port is between 1 and 65535."
+"Before installing any fonts, be sure that you have the right to use and "
+"install them on your system.\n"
+"\n"
+"-You can install the fonts using the normal way. In rare cases, bogus fonts "
+"may hang up your X Server."
msgstr ""
-"تم اعطاء منفذ غير صالح: %s.\n"
-"النسق الصحيح هو \"port/tcp\" أو \"port/udp\", \n"
-"في حين يكون المنفذ (port) بين 1 و 65535."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Shell"
-msgstr "الغلاف"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sao Tome and Principe"
-msgstr "ساو تومي و البرينسيب"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Can't login using username %s (bad password?)"
-msgstr "تعذر الدخول باستخدام اسم المستخدم %s (كلمة مرور سيئة؟)"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Azerbaidjani (latin)"
-msgstr "الأذربيجانية (لاتيني)"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package not installed"
-msgstr "لم يتم تثبيت الحزمة"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "American Samoa"
-msgstr "ساموا الأمريكية"
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid "Become a MandrakeExpert"
-msgstr "كن خبيراً في MandrakeExpert"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Protocol"
-msgstr "البروتوكول"
+#: ../../standalone/drakfont_.c:621
+msgid "Fonts Importation"
+msgstr "استيراد الخطوط"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Copy fonts on your system"
-msgstr "انسخ الخطوط الى نظامك"
+#: ../../standalone/drakfont_.c:650
+msgid "Get Windows Fonts"
+msgstr "احصل على خطوط Windows"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake help"
-msgstr "مساعدة Harddrake"
+#: ../../standalone/drakfont_.c:658
+msgid "Uninstall Fonts"
+msgstr "اخذف الخطوط"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bogomips"
-msgstr "Bogomips"
+#: ../../standalone/drakfont_.c:669
+msgid "Advanced Options"
+msgstr "خيارات متقدمة"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Mandrake Terminal Server Configuration"
-msgstr "تهيئة خادم طرفيات Mandrake"
+#: ../../standalone/drakfont_.c:677
+msgid "Font List"
+msgstr "قائمة الخطوط"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakfont_.c:737
+#, fuzzy
msgid ""
"\n"
-" DrakBackup Report Details\n"
+" Copyright (C) 2001-2002 by MandrakeSoft \n"
+"\tDUPONT Sebastien sdupont\\@mandrakesoft.com\n"
"\n"
+" This program is free software; you can redistribute it and/or modify\n"
+" it under the terms of the GNU General Public License as published by\n"
+" the Free Software Foundation; either version 2, or (at your option)\n"
+" any later version.\n"
"\n"
-msgstr ""
+" This program is distributed in the hope that it will be useful,\n"
+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+" GNU General Public License for more details.\n"
"\n"
-" تفاصيل تقرير DrakBackup\n"
+" You should have received a copy of the GNU General Public License\n"
+" along with this program; if not, write to the Free Software\n"
+" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+" Thanks:\n"
+" - pfm2afm: \n"
+"\t by Ken Borgendale:\n"
+"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
+" - type1inst:\n"
+"\t by James Macnicol: \n"
+"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
+" - ttf2pt1: \n"
+"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
+" Convert ttf font files to afm and pfb fonts\n"
"\n"
"\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore all backups"
-msgstr "استعد كل النسخ الإحتياطية"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on parallel port #%s"
-msgstr " على المنفذ المتوازي #%s"
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid ""
-"Set the password minimum length and minimum number of digit and minimum "
-"number of capitalized letters."
msgstr ""
-"Arguments: (length, ndigits=0, nupper=0)\n"
+" هذا البرنامج هو برنامج حر; يمكنك اعادة توزيعة و/أو تعديله\n"
+" تحت بنود رخصة GNU العمومية الشاملة (GPL) كما نُشِرت عن طريق\n"
+" جمعية البرمجيات الحرة; إما اإصدار الثاني من الترخيص أو\n"
+" أي نسخة تالية (حسب اختيارك).\n"
+"\n"
+" هذا البرنامج يُوزَّع على أمل أن يكون مفيدا,\n"
+" لكن دون أي ضمان’; حتى بدون الضمانة المفهومة\n"
+" للإتجار أو المناسبة لغرض معين. انظر\n"
+" رخصة GNU العمومية الشاملة للتفاصيل.\n"
"\n"
-"Set the password minimum length and minimum number of digit and minimum "
-"number of capitalized letters."
+" يجب أن تكون قد تسلمت نسخة من ترخيص GNU العمومية الشاملة\n"
+" مع البرنامج; في حالة عدم تسلم الرخصة راسل جمعية البرمجيات الحرة على العنوان "
+"التالي\n"
+" Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
+" USA."
+
+#: ../../standalone/drakfont_.c:793
+msgid ""
+"drakfont Future Overview\n"
+" - Fonts import:\n"
+" pfb ( Adobe Type 1 binary )\n"
+" pfa ( Adobe Type 1 ASCII )\n"
+" ttf ( True-Type )\n"
+" pcf.gz\n"
+" Speedo\n"
+" and Bitmap (PCF, BDF, and SNF)\n"
+" - Features\n"
+" - Install fonts from any directory\n"
+" - Get windows fonts on any vfat partitions\n"
+" - Get fonts on any partitions.\n"
+" - UN-installation of any fonts (even if not installed "
+"through drakfont)\n"
+" - Support\n"
+" - Xfs\n"
+" - ghostscript & printer\n"
+" - Staroffice & printer\n"
+" - abiword\n"
+"\t - netscape\n"
+" - Koffice, Gnumeric, ... studying\n"
+" - all fonts supported by printer\n"
+" - anti-aliases by RENDER in Xfree86 .... \n"
+"\t\t\t\tsupported by KDE.\n"
+"\t\t\t\twill be supported by gnome 1.2.\n"
+"Visual Interface:\n"
+" Window interface:\n"
+" - Fontselectiondialog widget\n"
+" - Command buttons under Fontselectiondialog (like the actual "
+"frontend).\n"
+" Commands buttons:\n"
+" - import from windows partition.\n"
+" import from all fat32 partitions and look for winnt/windows/"
+"font\n"
+" and import all (delete doublon) but don't import if already "
+"exist.\n"
+" - import from directory\n"
+" look for if it exist before for each font and not delete the "
+"original.\n"
+" (replace all, no, none)\n"
+" expert options:\n"
+" ask the directory, and look for if it exist before\n"
+" if it exist ask: (replace all, no, none)\n"
+" - uninstall with list per font type\n"
+" Expert additional switch\n"
+" - option support: ghostscript, Staroffice, etc...\n"
+" check-button. (by default all check)\n"
+" - Printer Application Fonts Support...\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../../standalone/drakfont_.c:862
+msgid "Choose the applications that will support the fonts:"
+msgstr "اختر التطبيقات التي ستدعم الخطوط :"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check open ports."
-msgstr "if set to yes, check open ports."
+#: ../../standalone/drakfont_.c:870
+msgid "Ghostscript"
+msgstr "Ghostscript"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to erase the media."
-msgstr "قد يستغرق مسح الوسيط بعض الوقت."
+#: ../../standalone/drakfont_.c:877
+msgid "StarOffice"
+msgstr "StarOffice"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't select/unselect this package"
-msgstr "لا يمكنك اختيار/ازالة اختيار هذه الحزمة"
+#: ../../standalone/drakfont_.c:884
+msgid "Abiword"
+msgstr "Abiword"
-#: ../../keyboard.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../harddrake/sound.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Warning"
-msgstr "تحذير"
+#: ../../standalone/drakfont_.c:891
+msgid "Generic Printers"
+msgstr "طابعات عادية (Generic)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Other Files:\n"
-msgstr ""
-"\n"
-"-الملفّات الأخرى:\n"
+#: ../../standalone/drakfont_.c:958
+msgid "Select the font file or directory and click on 'Add'"
+msgstr "اختر ملف أو دليل الخطوط و اضغط 'اضافة'"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name"
-msgstr "اسم المستضيف البعيد"
+#: ../../standalone/drakfont_.c:1005
+msgid "Install List"
+msgstr "ثبّت القائمة"
-#: ../../any.pm:1
-#, c-format
-msgid "access to X programs"
-msgstr "الوصول الى برامج X"
+#: ../../standalone/drakfont_.c:1048
+msgid "click here if you are sure."
+msgstr "اضغط هنا إذا كنت متأكدا."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Computing the size of the Windows partition"
-msgstr "جاري حساب مساحة تجزئة Windows"
+#: ../../standalone/drakfont_.c:1055
+msgid "here if no."
+msgstr "إضغط هنا إذا لم تكن متأكدا."
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Refresh"
-msgstr "/تح_ديث"
+#: ../../standalone/drakfont_.c:1112
+msgid "Unselected All"
+msgstr "تم ازالة اختيار الكل"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Italy"
-msgstr "إيطاليا"
+#: ../../standalone/drakfont_.c:1116
+msgid "Selected All"
+msgstr "تم اختيار الكل"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cayman Islands"
-msgstr "جزر كايمان"
+#: ../../standalone/drakfont_.c:1120
+msgid "Remove List"
+msgstr "ازل القائمة"
-#: ../../fs.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "خطأ في ازالة تحميل %s: %s"
+#: ../../standalone/drakfont_.c:1142 ../../standalone/drakfont_.c:1175
+msgid "Initials tests"
+msgstr "الإختبارات الأولية"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer"
-msgstr "اسم الطابعة"
+#: ../../standalone/drakfont_.c:1145
+msgid "Copy fonts on your system"
+msgstr "انسخ الخطوط الى نظامك"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "disable"
-msgstr "تعطيل"
+#: ../../standalone/drakfont_.c:1149
+msgid "Install & convert Fonts"
+msgstr "ثبّت و حوّل الخطوط"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do it!"
-msgstr "افعلها!"
+#: ../../standalone/drakfont_.c:1153
+msgid "Post Install"
+msgstr "ما بعد التثبيت"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s not responding"
-msgstr "%s لا يستجيب"
+#: ../../standalone/drakfont_.c:1178
+msgid "Remove fonts on your system"
+msgstr "أزل الخطوط من النظام"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select model manually"
-msgstr "تم اختيار النّموذج يدويًّا"
+#: ../../standalone/drakfont_.c:1182
+msgid "Post Uninstall"
+msgstr "ما بعد ازالة التثبيت"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Format"
-msgstr "تنسيق"
+#: ../../standalone/drakgw_.c:42 ../../standalone/drakgw_.c:182
+msgid "Internet Connection Sharing"
+msgstr "مشاركة الإتصال بالإنترنت"
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:114
+msgid "Sorry, we support only 2.4 kernels."
+msgstr "آسفون, نحن ندعم اصدارات النواة 2.4"
+
+#: ../../standalone/drakgw_.c:125
+msgid "Internet Connection Sharing currently enabled"
+msgstr "مشاركة الإتصال بالإنترنت ممكنة حاليا"
+
+#: ../../standalone/drakgw_.c:126
msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently enabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-"الطريقة الأكثر شيوعاً للإتصال بـ adsl هي pppoe.\n"
-"بعض الإتصالات تستخدم pptp, و القليل تستخدم dhcp.\n"
-"اذا لم تكن تعلم, اختر 'استخدم pppoe'"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Various"
-msgstr "متنوعة"
+#: ../../standalone/drakgw_.c:130
+msgid "disable"
+msgstr "تعطيل"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Zip"
-msgstr "Zip"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "dismiss"
+msgstr "اهمال"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Alt key"
-msgstr "مفتاح Alt الأيسر"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "reconfigure"
+msgstr "إعداة الإعداد"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Load setting"
-msgstr "حمل الإعدادات"
+#: ../../standalone/drakgw_.c:133
+msgid "Disabling servers..."
+msgstr "جاري تعطيل الخوادم..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Printerdrake could not determine which model your printer %s is. Please "
-"choose the correct model from the list."
-msgstr ""
-"\n"
-"\n"
-"لم يتمكن Printerdrake من التعرف على طراز طابعتك %s. فضلاً اختر الطراز الصحيح "
-"من القائمة."
+#: ../../standalone/drakgw_.c:142
+msgid "Internet connection sharing is now disabled."
+msgstr "مشاركة اتصال الإنترنت غير ممكَّنة الآن."
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Set selected printer as the default printer"
-msgstr "عيّن هذه الطابعة كطابعة افتراضية"
+#: ../../standalone/drakgw_.c:149
+msgid "Internet Connection Sharing currently disabled"
+msgstr "مشاركة الإتصال بالإنترنت"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:150
msgid ""
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently disabled.\n"
"\n"
-"Mark the printers which you want to transfer and click \n"
-"\"Transfer\"."
+"What would you like to do?"
msgstr ""
-"\n"
-"علّم على الطابعات التي تريد نقلها ثم انقر \n"
-"\"انقل\"."
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ"
-msgstr "PDQ"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Albanian"
-msgstr "الألبانيةّ"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lithuania"
-msgstr "ليتوانيا"
-#: ../../any.pm:1
-#, c-format
-msgid "Compact"
-msgstr "مدمج"
+#: ../../standalone/drakgw_.c:154
+msgid "enable"
+msgstr "تمكين"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected model: %s %s"
-msgstr "تم اكتشاف الطراز: %s %s"
+#: ../../standalone/drakgw_.c:161
+msgid "Enabling servers..."
+msgstr "جاري تمكين الخوادم..."
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid "MandrakeSoft has selected the best software for you"
-msgstr "اختارت MandrakeSoft أفضل البرامج خصيصاً لك"
+#: ../../standalone/drakgw_.c:166
+msgid "Internet connection sharing is now enabled."
+msgstr "مشاركة إتصال الإنترنت ممكَّنة الآن."
-#: ../../any.pm:1
-#, c-format
-msgid "Local files"
-msgstr "ملفات محلية"
+#: ../../standalone/drakgw_.c:183
+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"
+"Make sure you have configured your Network/Internet access using drakconnect "
+"before going any further.\n"
+"\n"
+"Note: you need a dedicated Network Adapter to set up a Local Area Network "
+"(LAN)."
+msgstr ""
-#: ../../pkgs.pm:1
+#: ../../standalone/drakgw_.c:211
#, c-format
-msgid "maybe"
-msgstr "ربما"
+msgid "Interface %s (using module %s)"
+msgstr "الواجهة %s (باستخدام الوحدة %s)"
-#: ../../lang.pm:1
+#: ../../standalone/drakgw_.c:212
#, c-format
-msgid "Panama"
-msgstr "بنما"
+msgid "Interface %s"
+msgstr "الواجهة %s"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Can't open %s!"
-msgstr "تعذر ايجاد %s على %s"
+#: ../../standalone/drakgw_.c:220
+msgid "No network adapter on your system!"
+msgstr "لا محوّل الشّبكة على نظامك"
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:221
msgid ""
-"Your graphic card seems to have a TV-OUT connector.\n"
-"It can be configured to work using frame-buffer.\n"
-"\n"
-"For this you have to plug your graphic card to your TV before booting your "
-"computer.\n"
-"Then choose the \"TVout\" entry in the bootloader\n"
-"\n"
-"Do you have this feature?"
+"No ethernet network adapter has been detected on your system. Please run the "
+"hardware configuration tool."
msgstr ""
-"بطاقة الرسوم الخاصة بك يبدو أنها تحتوي على موصل للتلفاز.\n"
-"يمكن تهيئة البطاقة للعمل باستخدام الـ frame-buffer.\n"
-"\n"
-"لهذا الغرض يجب عليك توصيل بطاقة الرسوم بالتلفاز قبل بدء تشغيل الكمبيوتر.\n"
-"ثم اختر \"TVout\" من محمّل الإقلاع\n"
-"\n"
-"هل لديك هذه الميزة؟"
-#: ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Monitor"
-msgstr "الشاشة"
+#: ../../standalone/drakgw_.c:227
+msgid "Network interface"
+msgstr "سطح بينيّ للشبكة "
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakgw_.c:228
#, c-format
msgid ""
-"You are about to set up printing to a Windows account with password. Due to "
-"a fault in the architecture of the Samba client software the password is put "
-"in clear text into the command line of the Samba client used to transmit the "
-"print job to the Windows server. So it is possible for every user on this "
-"machine to display the password on the screen by issuing commands as \"ps "
-"auxwww\".\n"
-"\n"
-"We recommend to make use of one of the following alternatives (in all cases "
-"you have to make sure that only machines from your local network have access "
-"to your Windows server, for example by means of a firewall):\n"
-"\n"
-"Use a password-less account on your Windows server, as the \"GUEST\" account "
-"or a special account dedicated for printing. Do not remove the password "
-"protection from a personal account or the administrator account.\n"
+"There is only one configured network adapter on your system:\n"
"\n"
-"Set up your Windows server to make the printer available under the LPD "
-"protocol. Then set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
+"%s\n"
"\n"
+"I am about to setup your Local Area Network with that adapter."
msgstr ""
-"أنت على وشك تهيئة الطباعة على حساب في Windows مع كلمة مرور. بسبب خطأ في "
-"هيكلية عميل Samba, يتم وضع كلمة المرور بنص واضح في سطر أوامر عميل Samba "
-"المستخدم لنقل وظيفة الطباعة الى خادم Windows. لذا فإنه يمكن لكل مستخدم على "
-"هذه الماكينة أن يعرض كلمة المرور على الشاشة باستخدام كلمات مرور مثل \"ps "
-"auxwww\".\n"
-"\n"
-"نحن ننصح باستعمال واحد من البدائل التالية (في كل الحالات عليك التأكد أن "
-"الماكينات الموجودة فقط على الشبكة المحلية تستطيع الوصول الى خادم Windows, عن "
-"طريق استخدام جدار ناري مثلاً):\n"
-"\n"
-"استخدم حساب دون كلمة مرور على خادم Windows, مثل حساب \"GUEST\" أو حساب خاص "
-"لاستخدامه للطباعة. لا تقم بإزالة الحماية عن طريق كلمات المرور من حسابك "
-"الشخصي أو من حساب مدير النظام.\n"
-"\n"
-"قم بإعداد خادم Windows لجعل الطابعة متوفرة تحت بروتوكول LPD. ثم قم بإعداد "
-"الطباعة من هذه الماكينة مع نوع الوصلة \"%s\" في PrinterDrake.\n"
-"\n"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "65 thousand colors (16 bits)"
-msgstr "65 ألف لون (16 بت)"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakgw_.c:235
msgid ""
-"\n"
-"- Save on Hard drive on path: %s\n"
+"Please choose what network adapter will be connected to your Local Area "
+"Network."
msgstr ""
-"\n"
-"- احفظ على القرص الصلب على المسار:%s\n"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove fonts on your system"
-msgstr "احذف الخطوط من النظام"
+#: ../../standalone/drakgw_.c:261
+msgid "Network interface already configured"
+msgstr "واجهة الشبكة معدّة مسبقا!"
-#: ../../standalone/drakgw:1
+#: ../../standalone/drakgw_.c:262
#, c-format
msgid ""
"Warning, the network adapter (%s) is already configured.\n"
@@ -18589,3827 +11270,1823 @@ msgid ""
"\n"
"You can do it manually but you need to know what you're doing."
msgstr ""
-"تحذير, موائم الشبكة (%s) معدّ مسبقاً.\n"
-"\n"
-"هل تريد اعادة التهيئة آلياً؟\n"
-"\n"
-"يمكنك القيام بذلك يدوياً لكن يجب أن تكون على علم بما تفعل."
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphical interface at startup"
-msgstr "واجهة رسومية عند بدء التشغيل"
+#: ../../standalone/drakgw_.c:267
+msgid "Automatic reconfiguration"
+msgstr "اعداة تهيئة آلية"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " adsl"
+#: ../../standalone/drakgw_.c:267
+msgid "No (experts only)"
msgstr ""
-#: ../../raid.pm:1
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "التجزئات ليست كافية لمستوى RAID %d\n"
+#: ../../standalone/drakgw_.c:268
+msgid "Show current interface configuration"
+msgstr "أظهر تهيئة الواجهة الحالية"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "format of floppies supported by the drive"
-msgstr "نسق الأقراص التي تدعمها السواقة"
+#: ../../standalone/drakgw_.c:269
+#, fuzzy
+msgid "Current interface configuration"
+msgstr "أظهر تهيئة الواجهة الحالية"
-#: ../../network/tools.pm:1
+#: ../../standalone/drakgw_.c:270
#, c-format
-msgid "Firmware copy failed, file %s not found"
+msgid ""
+"Current configuration of `%s':\n"
+"\n"
+"Network: %s\n"
+"IP address: %s\n"
+"IP attribution: %s\n"
+"Driver: %s"
msgstr ""
+"الإعداد الحالي لـ`%s':\n"
+"\n"
+"الشبكة: %s\n"
+"عنوان الـIP: %s\n"
+"صفة الـIP: %s\n"
+"المشغل: %s"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "local config: true"
-msgstr "غير معدّ"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:283
msgid ""
-"The following printers are configured. Double-click on a printer to change "
-"its settings; to make it the default printer; or to view information about "
-"it."
+"I can keep your current configuration and assume you already set up a DHCP "
+"server; in that case please verify I correctly read the Network that you use "
+"for your local network; I will not reconfigure it and I will not touch your "
+"DHCP server configuration.\n"
+"\n"
+"The default DNS entry is the Caching Nameserver configured on the firewall. "
+"You can replace that with your ISP DNS IP, for example.\n"
+"\t\t \n"
+"Else, I can reconfigure your interface and (re)configure a DHCP server for "
+"you.\n"
+"\n"
msgstr ""
-"تمت تهيئة الطابعات الآتية. انقر نقرة مزدوجة على الطابعة لتغيير اعداداتها "
-"لجعلها طابعة افتراضية أو لرؤية معلومات حولها."
-
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connected"
-msgstr "متّصل"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Macedonian"
-msgstr "المقدونية"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mali"
-msgstr "مالي"
+#: ../../standalone/drakgw_.c:290
+#, fuzzy
+msgid "Local Network adress"
+msgstr "شبكة محلية من الفئة C"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Bridges and system controllers"
-msgstr "متحكمات النظام"
+#: ../../standalone/drakgw_.c:294
+msgid ""
+"DHCP Server Configuration.\n"
+"\n"
+"Here you can select different options for the DHCP server configuration.\n"
+"If you don't know the meaning of an option, simply leave it as it is.\n"
+"\n"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Save"
-msgstr "/ملف/_حفظ"
+#: ../../standalone/drakgw_.c:300
+msgid "(This) DHCP Server IP"
+msgstr "عنوان IP لخادم DHCP (هذا)"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "No details"
-msgstr "لا تفاصيل"
+#: ../../standalone/drakgw_.c:301
+#, fuzzy
+msgid "The DNS Server IP"
+msgstr "عنوان IP لخادم DHCP (هذا)"
-#: ../../pkgs.pm:1
-#, c-format
-msgid "very nice"
-msgstr "ظريف جداً"
+#: ../../standalone/drakgw_.c:302
+#, fuzzy
+msgid "The internal domain name"
+msgstr "اختر نوع التثبيت"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Preview"
-msgstr "معاينة"
+#: ../../standalone/drakgw_.c:303
+msgid "The DHCP start range"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Remote Control"
-msgstr "التحكم عن بعد"
+#: ../../standalone/drakgw_.c:304
+msgid "The DHCP end range"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select media for backup..."
-msgstr "رجاء اختر وسيط النسخ الإحتياطي..."
+#: ../../standalone/drakgw_.c:305
+msgid "The default lease (in seconds)"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Wrong email"
+#: ../../standalone/drakgw_.c:306
+msgid "The maximum lease (in seconds)"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "خادم XFree86: %s\n"
+#: ../../standalone/drakgw_.c:307
+msgid "Re-configure interface and DHCP server"
+msgstr "إعادة إعداد الواجهة و خادم DHCP"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Allow Thin Clients"
-msgstr "اسمح للعملاء النحاف (Thin Clients)"
+#: ../../standalone/drakgw_.c:314
+msgid "The Local Network did not finish with `.0', bailing out."
+msgstr "الشبكة المحلية لم تنته بـ`0', جاري الخروج."
-#: ../../keyboard.pm:1
+#: ../../standalone/drakgw_.c:325
#, c-format
-msgid "Georgian (\"Russian\" layout)"
-msgstr "الجورجية (التصميم الروسي)"
+msgid "Potential LAN address conflict found in current config of %s!\n"
+msgstr ""
+"تم ايجاد تعارض في عنوان الشبكة المحلية المبدئي في الإعداد الحالي لـ%s!\n"
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Options"
-msgstr "/_خيارات"
+#: ../../standalone/drakgw_.c:335
+msgid "Configuring..."
+msgstr "جاري الإعداد..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Your printer model"
-msgstr "طراز الطابعة الخاصة بك"
+#: ../../standalone/drakgw_.c:336
+msgid "Configuring scripts, installing software, starting servers..."
+msgstr "جاري إعداد النصوص البرمجية و تثبيت البرمجيات و بدء الخدمات..."
-#: ../../any.pm:1
+#: ../../standalone/drakgw_.c:372
#, c-format
-msgid ""
-"\n"
-"\n"
-"(WARNING! You're using XFS for your root partition,\n"
-"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
-"because XFS needs a very large driver)."
-msgstr ""
-"\n"
-"\n"
-"(تحذير! أنت تستخدم XFS للتجزئة الجذرية,\n"
-"عمل قرص مرن للإقلاع قد يفشل على الأرجح,\n"
-"لأن XFS يحتاج الى مشغل كبير الحجم)."
+msgid "Problems installing package %s"
+msgstr "كانت هناك مشاكل في تثبيت الحزمة %s"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakgw_.c:505
msgid ""
-"\n"
-"- Delete hard drive tar files after backup.\n"
+"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"
-"- احذف كل ملفات tar الخاصة بالقرص الصلب بعد كل عملية نسخ.\n"
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"No CD or DVD image found, please copy the installation program and rpm files."
-msgstr "تعذر ايجاد صورة CD أو DVD, فضلاً انسخ برنامج التثبين وملفات rpm"
-
-#: ../advertising/04-configuration.pl:1
-#, c-format
-msgid "Mandrake's multipurpose configuration tool"
-msgstr "أداة Mandrake المتعددة الاستخدامات للتهيئة"
+"تم إعداد كل شئ.\n"
+"يمكنك الآن مشاركة اتصال الإنترنت مع الأجهزة الأخرى في شبكتك المحلية باستخدام "
+"إعداد الشبكة الأوتوماتيكي (DHCP)."
-#: ../../standalone/drakbackup:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Save"
-msgstr "حفظ"
+#: ../../standalone/drakgw_.c:523
+msgid "The setup has already been done, but it's currently disabled."
+msgstr "تم عمل التنصيب, و لكنه غير ممكَّن الآن"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is unsupported"
-msgstr "هذا الـ %s غير مدعوم"
+#: ../../standalone/drakgw_.c:524
+msgid "The setup has already been done, and it's currently enabled."
+msgstr "تم عمل التنصيب, و هو ممكَّن الآن."
-#: ../../services.pm:1
-#, c-format
-msgid "Load the drivers for your usb devices."
-msgstr "حمّل مشغلات أجهزة USB."
+#: ../../standalone/drakgw_.c:525
+msgid "No Internet Connection Sharing has ever been configured."
+msgstr "لم يتم اعداد أي مشاركة اتصال بالإنترنت"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Disk"
-msgstr "القرص"
+#: ../../standalone/drakgw_.c:531
+msgid "Internet connection sharing configuration"
+msgstr "إعدادات مشاركة إتصال الإنترنت"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter a printer device URI"
-msgstr "أدخل URI الخاص بالطابعة"
-
-#: ../advertising/01-thanks.pl:1
+#: ../../standalone/drakgw_.c:539
#, c-format
msgid ""
-"The success of MandrakeSoft is based upon the principle of Free Software. "
-"Your new operating system is the result of collaborative work of the "
-"worldwide Linux Community."
+"Welcome to the Internet Connection Sharing utility!\n"
+"\n"
+"%s\n"
+"\n"
+"Click on Configure to launch the setup wizard."
msgstr ""
-"نجاح MandrakeSoft مبني على مبدأ حرية البرامح. نظام التشغيل الجديد الخاص بك "
-"هو نتيجة للتعاون و العمل الجاد من جزء من مجتمع Linux حول العالم"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Israel"
-msgstr "اسرائيل"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "French Guiana"
-msgstr "غويانا الفرنسية"
+"أهلا بك في أداة مشاركة الإتصال بالإنترنت!\n"
+"\n"
+"%s\n"
+"\n"
+"اضغط على تهيئة لتشغيل معالج الإعداد."
-#: ../../lang.pm:1
-#, c-format
-msgid "default:LTR"
-msgstr "default:RTL"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "group"
+msgstr "مجموعة العمل"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A command line must be entered!"
-msgstr "يجب ادخال سطر أوامر"
+#: ../../standalone/drakperm_.c:36
+msgid "path"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select user manually"
-msgstr "اخترالمستخدم يدويًّا"
+#: ../../standalone/drakperm_.c:36
+msgid "permissions"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer printer configuration"
-msgstr "نقل إعدادات الطابعة"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "user"
+msgstr "المستخدم"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you want to enable printing on the printers mentioned above?\n"
-msgstr "هل تريد تمكين الطباعة على الطابعات المذكورة أعلاه؟\n"
+#: ../../standalone/drakperm_.c:43
+msgid "Up"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Check additions/removals of suid root files"
-msgstr "if set to yes, check additions/removals of suid root files."
+#: ../../standalone/drakperm_.c:44
+#, fuzzy
+msgid "delete"
+msgstr "إلغاء"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"For this to work for a W2K PDC, you will probably need to have the admin "
-"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
-"add and reboot the server.\n"
-"You will also need the username/password of a Domain Admin to join the "
-"machine to the Windows(TM) domain.\n"
-"If networking is not yet enabled, Drakx will attempt to join the domain "
-"after the network setup step.\n"
-"Should this setup fail for some reason and domain authentication is not "
-"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
-"Domain, and Admin Username/Password, after system boot.\n"
-"The command 'wbinfo -t' will test whether your authentication secrets are "
-"good."
+#: ../../standalone/drakperm_.c:45
+msgid "edit"
msgstr ""
-"For this to work for a W2K PDC, you will probably need to have the admin "
-"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
-"add and reboot the server.\n"
-"You will also need the username/password of a Domain Admin to join the "
-"machine to the Windows(TM) domain.\n"
-"If networking is not yet enabled, Drakx will attempt to join the domain "
-"after the network setup step.\n"
-"Should this setup fail for some reason and domain authentication is not "
-"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
-"Domain, and Admin Username/Password, after system boot.\n"
-"The command 'wbinfo -t' will test whether your authentication secrets are "
-"good."
-#: ../../printer/main.pm:1
-#, c-format
-msgid "%s (Port %s)"
-msgstr "%s (المنفذ %s)"
+#: ../../standalone/drakperm_.c:46
+#, fuzzy
+msgid "Down"
+msgstr "انتهى"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use network connection to backup"
-msgstr "استخدم الإتصال بالشبكة للنسخ الإحتياطي"
+#: ../../standalone/drakperm_.c:47
+#, fuzzy
+msgid "add a rule"
+msgstr "اضافة وحدة"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Kernel version"
-msgstr "اصدارة النواة"
+#: ../../standalone/drakperm_.c:48
+msgid "select perm file to see/edit"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakperm_.c:51
msgid ""
-"It is now time to specify which programs you wish to install on your\n"
-"system. There are thousands of packages available for Mandrake Linux, and\n"
-"to make it simpler to manage the packages have been placed into groups of\n"
-"similar applications.\n"
-"\n"
-"Packages are sorted into groups corresponding to a particular use of your\n"
-"machine. Mandrake Linux has four predefined installations available. You\n"
-"can think of these installation classes as containers for various packages.\n"
-"You can mix and match applications from the various groups, so a\n"
-"``Workstation'' installation can still have applications from the\n"
-"``Development'' group installed.\n"
-"\n"
-" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
-"more of the applications that are in the workstation group.\n"
-"\n"
-" * \"%s\": if plan on using your machine for programming, choose the\n"
-"appropriate packages from that group.\n"
-"\n"
-" * \"%s\": if your machine is intended to be a server, select which of the\n"
-"more common services you wish to install on your machine.\n"
-"\n"
-" * \"%s\": this is where you will choose your preferred graphical\n"
-"environment. At least one must be selected if you want to have a graphical\n"
-"interface available.\n"
-"\n"
-"Moving the mouse cursor over a group name will display a short explanatory\n"
-"text about that group. If you unselect all groups when performing a regular\n"
-"installation (as opposed to an upgrade), a dialog will pop up proposing\n"
-"different options for a minimal installation:\n"
-"\n"
-" * \"%s\": install the minimum number of packages possible to have a\n"
-"working graphical desktop.\n"
-"\n"
-" * \"%s\": installs the base system plus basic utilities and their\n"
-"documentation. This installation is suitable for setting up a server.\n"
-"\n"
-" * \"%s\": will install the absolute minimum number of packages necessary\n"
-"to get a working Linux system. With this installation you will only have a\n"
-"command line interface. The total size of this installation is about 65\n"
-"megabytes.\n"
-"\n"
-"You can check the \"%s\" box, which is useful if you are familiar with the\n"
-"packages being offered or if you want to have total control over what will\n"
-"be installed.\n"
-"\n"
-"If you started the installation in \"%s\" mode, you can unselect all groups\n"
-"to avoid installing any new package. This is useful for repairing or\n"
-"updating an existing system."
+"Drakperm is used to see files to use in order to fix permissions, owners, "
+"and groups via msec.\n"
+"You can also edit your own rules which will owerwrite the default rules."
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Accept user"
-msgstr "وافق على المستخدم"
+#: ../../standalone/drakperm_.c:56
+#, fuzzy
+msgid "Add a new rule at the end"
+msgstr "أضف طابعة جديدة"
-#: ../../help.pm:1 ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server"
-msgstr "خادم"
+#: ../../standalone/drakperm_.c:57
+msgid "Edit curent rule"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Shift key"
-msgstr "مفتاح Shift الأيسر"
+#: ../../standalone/drakperm_.c:58
+#, fuzzy
+msgid "Up selected rule one level"
+msgstr "تم ازالة اختيار الكل"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " local network"
-msgstr " الشبكة المحلية"
+#: ../../standalone/drakperm_.c:59
+msgid "Down selected rule one level"
+msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Bad choice, try again\n"
-msgstr "اختيار سيئ, حاول مرة أخرى\n"
+#: ../../standalone/drakperm_.c:60
+#, fuzzy
+msgid "Delete selected rule"
+msgstr "ازل المادة المختارة"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Syslog reports to console 12"
+#: ../../standalone/drakperm_.c:224
+msgid "browse"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search new servers"
-msgstr "ابحث عن خادمات جديدة"
+#: ../../standalone/drakperm_.c:231
+#, fuzzy
+msgid "Current user"
+msgstr "وافق على المستخدم"
-#: ../../lang.pm:1
-#, c-format
-msgid "Heard and McDonald Islands"
-msgstr "جزر هيرد و ماكدونالد"
+#: ../../standalone/drakperm_.c:236
+msgid "Permissions"
+msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No alternative driver"
-msgstr "لا مشغل بديل"
+#: ../../standalone/drakperm_.c:237
+msgid "Path"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to expert mode"
-msgstr "النتقال الى وضعية الخبير"
+#: ../../standalone/drakperm_.c:238
+#, fuzzy
+msgid "Property"
+msgstr "البوابة"
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on this machine)"
-msgstr "(على هذا الجهاز)"
+#: ../../standalone/drakperm_.c:240
+msgid "sticky-bit"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway address should be in format 1.2.3.4"
-msgstr "عنوان البوابات يجب أن تكون على النسق 1.2.3.4"
+#: ../../standalone/drakperm_.c:241
+msgid "Set-UID"
+msgstr ""
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"\"%s\" based winmodem detected, do you want to install needed software ?"
-msgstr "تم ايجاد الوينمودم \"%s\", هل تريد تثبيت البرامج المطلوبة ؟"
+#: ../../standalone/drakperm_.c:242
+msgid "Set-GID"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking at packages already installed..."
-msgstr "جاري التعرف على الحزم المثبتة مسبقاً..."
+#: ../../standalone/drakperm_.c:296
+msgid ""
+"Used for directory:\n"
+" only owner of directory or file in this directory can delete it"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Differential Backups"
-msgstr "استخدم النسخ الاختلافي"
+#: ../../standalone/drakperm_.c:297
+msgid "Use owner id for execution"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Driver"
-msgstr "المحرك"
+#: ../../standalone/drakperm_.c:298
+msgid "Use group id for execution"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
+#: ../../standalone/drakperm_.c:299
+msgid "when checked, owner and group won't be changed"
msgstr ""
-"Linuxconf يقوم في بعض الأحيان بالترتيب لعمل بعض الأعمال\n"
-"عند الإقلاع للمحافظة على اعدادات النظام."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVD-R device"
-msgstr "جهاز DVDR"
+#: ../../standalone/drakperm_.c:304
+#, fuzzy
+msgid "Path selection"
+msgstr "إختيار وحدات الطابعة"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on remote lpd server"
-msgstr "طابعة على خادم lpd بعيد"
+#: ../../standalone/drakperm_.c:350
+#, fuzzy
+msgid "user :"
+msgstr "المستخدم"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid ""
-"Before installing any fonts, be sure that you have the right to use and "
-"install them on your system.\n"
-"\n"
-"-You can install the fonts the normal way. In rare cases, bogus fonts may "
-"hang up your X Server."
-msgstr ""
-"قبل تثبيت أي خطوط تأكد أنه لديك الحق باستخدامهم و تثبيتهم على النظام.\n"
-"\n"
-"-يمكنك تثبيت الخطوط بالطريقة العادية. في حالات نادرة, قد تتسبب الخطوط "
-"المزيفة في تعليق خادم X."
+#: ../../standalone/drakperm_.c:352
+#, fuzzy
+msgid "group :"
+msgstr "مجموعة العمل"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/draksound_.c:46
+#, fuzzy
+msgid "No Sound Card detected!"
+msgstr "لم يتم ايجاد بطاقة تلفاز!"
+
+#: ../../standalone/draksound_.c:47
+#, fuzzy
msgid ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
-"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
-"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
-"to hold this information.\n"
+"No Sound Card has been detected on your machine. Please verify that a Linux-"
+"supported Sound Card is correctly plugged in.\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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
+"You can visit our hardware database at:\n"
"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
-"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
+"لم يتم ايجاد بطاقة تلفاز على جهازك. فضلاً تأكد من أن بطاقة الفيديو/التلفاز "
+"المدعومة في لينكس موصولة بشكل صحيح.\n"
"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up 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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
+
+#: ../../standalone/draksound_.c:54
+msgid ""
"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wednesday"
-msgstr "الأربعاء"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Germany"
-msgstr "ألمانيا"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Austria"
-msgstr "النمسا"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "No mouse"
-msgstr "لا فأرة"
+"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
+"program. Just type \"sndconfig\" in a console."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Choose your CD/DVD media size (MB)"
-msgstr "فضلاً اختر مساحة وسيط CD/DVD (بالميغابايت)"
+#: ../../standalone/draksplash_.c:21
+msgid ""
+"package 'ImageMagick' is required for correct working.\n"
+"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Check permissions of files in the users' home"
-msgstr "if set to yes, check permissions of files in the users' home."
+#: ../../standalone/draksplash_.c:67
+#, fuzzy
+msgid "first step creation"
+msgstr "صنع قرص مرن لبدء النظام"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Run \"sndconfig\" after installation to configure your sound card"
-msgstr "شغّل \"sndconfig\" بعد التثبيت لتهيئة بطاقة الصوت الخاصة بك"
+#: ../../standalone/draksplash_.c:70
+#, fuzzy
+msgid "final resolution"
+msgstr "دقة العرض"
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Collapse Tree"
-msgstr "Collapse Tree"
+#: ../../standalone/draksplash_.c:71 ../../standalone/draksplash_.c:163
+#, fuzzy
+msgid "choose image file"
+msgstr "إختر ملف"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Auto Install Configurator"
-msgstr "أداة اعداد المثبّت الآلي"
+#: ../../standalone/draksplash_.c:72
+#, fuzzy
+msgid "Theme name"
+msgstr "اسم المستخدم"
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure networking"
-msgstr "تهيئة الشبكة"
+#: ../../standalone/draksplash_.c:77
+msgid "Browse"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Where do you want to install the bootloader?"
-msgstr "أين تريد تثبيت محمّل الإقلاع؟"
+#: ../../standalone/draksplash_.c:87 ../../standalone/draksplash_.c:153
+#, fuzzy
+msgid "Configure bootsplash picture"
+msgstr "تهيئة الخدمات"
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../standalone/draksplash_.c:90
msgid ""
-"Your choice of preferred language will affect the language of the\n"
-"documentation, the installer and the system in general. Select first the\n"
-"region you are located in, and then the language you speak.\n"
-"\n"
-"Clicking on the \"%s\" button will allow you to select other languages to\n"
-"be installed on your workstation, thereby installing the language-specific\n"
-"files for system documentation and applications. For example, if you will\n"
-"host users from Spain on your machine, select English as the default\n"
-"language in the tree view and \"%s\" in the Advanced section.\n"
-"\n"
-"Note that you're not limited to choosing a single additional language. You\n"
-"may choose several ones, or even install them all by selecting the \"%s\"\n"
-"box. Selecting support for a language means translations, fonts, spell\n"
-"checkers, etc. for that language will be installed. Additionally, the\n"
-"\"%s\" checkbox allows you to force the system to use unicode (UTF-8). Note\n"
-"however that this is an experimental feature. If you select different\n"
-"languages requiring different encoding the unicode support will be\n"
-"installed anyway.\n"
-"\n"
-"To switch between the various languages installed on the system, you can\n"
-"launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n"
-"language used by the entire system. Running the command as a regular user\n"
-"will only change the language settings for that particular user."
-msgstr ""
-"اختيارك للغة المفضلة سيؤثر على لغة وثائق المساعدة\n"
-"و برنامج التثبيت و النظام بشكل عام. أو?ً اختر المنطقة التي\n"
-"تتواجد فيها, ثم اللغة التي تتحدث بها.\n"
-"\n"
-"ضغط زر \"متقدم\" سيسمح لك باختيار لغات\n"
-"أخرى ليتم تثبيتها على محطة العمل الخاصة بك,و من ثم\n"
-"تثبيت الملفات الخاصة باللغات لوثائق المساعدة و التطبيقات, مثلاً\n"
-"اذا كنت ستستضيف مستخدمين من أسبانيا على ماكينتك, اختر ا?نجليزية\n"
-"كلغة افتراضية في النمط الشجري و \"ا?سبانية\" في القسم\n"
-"المتقدم.\n"
-"?حظ أنك لست مقيداً باختيار لغة واحدة اضافية. حال\n"
-"اختيارك للإعدادات المحلية, اضغط زر \"التالي ->\"\n"
-"للمتابعة.\n"
-"\n"
-"للتغيير بين اللغات المتعددة المثبتة على النظام, يمكنك\n"
-"تشغيل ا?مر \"/usr/sbin/localedrake\"كمستخدم جذر لتغيير\n"
-"اللغة المستخدمة عن طريق النظام ككل. تشغيل ا?مر كمستخدم عادي\n"
-"سيغير فقط اعدادات اللغة لهذا المستخدم فقط."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not supported by this version of Mandrake Linux."
-msgstr "الـ %s غير مدعوم من هذا الإصدار من Mandrake Linux."
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "tape"
-msgstr "شريط البيانات"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP client"
-msgstr "DHCP العميل "
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "List users on display managers (kdm and gdm)"
+"x coordinate of text box\n"
+"in number of character"
msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Allow/Forbid the list of users on the system on display managers (kdm and "
-"gdm)."
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (serial, old C7 type)"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "فشلت الإستعادة من الملف %s: %s"
-
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:91
msgid ""
-"I can't read the partition table of device %s, it's too corrupted for me :(\n"
-"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to not allow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to lose all the partitions?\n"
+"y coordinate of text box\n"
+"in number of character"
msgstr ""
-"لا يمكنني قراءة جدول التجزئات للجهاز %s, يبدو أنه مخرّب :(\n"
-"يمكنني أن أحاول المتابعة مع ازالة التجزئات السيئة (ستضيع كل البيانات!).\n"
-"الحل الآخر هو أن تمنع DrakX من تعديل جدول التقسيمات.\n"
-"(الخطأ هو %s)\n"
-"\n"
-"هل أنت موافق على خسارة كل التجزئات؟\n"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Find Package"
-msgstr "%d حزم"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Are you sure that you want to set up printing on this machine?\n"
-msgstr "هل أنت متأكد أنك تريد تنصيب الطباعة على هذه الماكينة؟\n"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "New devfs device"
-msgstr "جهاز devfs جديد"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "ERROR: Cannot spawn %s."
-msgstr "ERROR: Cannot spawn %s."
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Boot Style Configuration"
-msgstr "اعداد أسلوب الإقلاع"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic time synchronization"
-msgstr "تزامن وقت آلي"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files not found at %s."
-msgstr "ملفات النسخ الإحتياطي غير موجودة على %s"
+#: ../../standalone/draksplash_.c:92
+msgid "text width"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (phonetic)"
-msgstr "الأرمينية (صوتي)"
+#: ../../standalone/draksplash_.c:93
+msgid "text box height"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Card model:"
-msgstr "نوع البطاقة"
+#: ../../standalone/draksplash_.c:94
+msgid ""
+"the progress bar x coordinate\n"
+"of its upper left corner"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Thin Client"
-msgstr "عميل نحيف (Thin Client)"
+#: ../../standalone/draksplash_.c:95
+msgid ""
+"the progress bar y coordinate\n"
+"of its upper left corner"
+msgstr ""
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Thank you for choosing Mandrake Linux 9.2"
-msgstr "شكراً لاختيارك Mandrake Linux 9.2"
+#: ../../standalone/draksplash_.c:96
+msgid "the width of the progress bar"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Start Server"
-msgstr "ابدأ الخادم"
+#: ../../standalone/draksplash_.c:97
+msgid "the heigth of the progress bar"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkmenistan"
-msgstr "تركمانستان"
+#: ../../standalone/draksplash_.c:98
+msgid "the color of the progress bar"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "All remote machines"
-msgstr "كل الماكينات البعيدة"
+#: ../../standalone/draksplash_.c:113
+#, fuzzy
+msgid "Preview"
+msgstr "وحدة"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Install themes"
-msgstr "ثبت السمات"
+#: ../../standalone/draksplash_.c:115
+#, fuzzy
+msgid "Save theme"
+msgstr "تثبيت النظام"
-#: ../../help.pm:1
-#, c-format
-msgid "Espanol"
-msgstr "الأسبانية"
+#: ../../standalone/draksplash_.c:116
+#, fuzzy
+msgid "Choose color"
+msgstr "إختر شاشة"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing installation"
-msgstr "جاري التحضير للتثبيت"
+#: ../../standalone/draksplash_.c:119
+msgid "Display logo on Console"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected host/network"
-msgstr "حرّر المستضيف/الشبكة المختارة"
+#: ../../standalone/draksplash_.c:120
+msgid "Make kernel message quiet by default"
+msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../standalone/draksplash_.c:156 ../../standalone/draksplash_.c:321
#, c-format
-msgid "Add User -->"
-msgstr "اضف مستخدم -->"
+msgid "This theme haven't yet any bootsplash in %s !"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Nauru"
-msgstr "ناورو"
+#: ../../standalone/draksplash_.c:205
+msgid "saving Bootsplash theme..."
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type fonts installation"
-msgstr "تثبيت خطوط True Type"
+#: ../../standalone/draksplash_.c:428
+#, fuzzy
+msgid "ProgressBar color selection"
+msgstr "إختيار وحدات الطابعة"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected directly to the local network"
-msgstr "تحقّق آلياً من الطابعات الموصولة مباشرةً بالشبكة المحلية"
+#: ../../standalone/draksplash_.c:449
+msgid "You must choose an image file first!"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN configuration"
-msgstr "إعداد LAN"
+#: ../../standalone/draksplash_.c:458
+#, fuzzy
+msgid "Generating preview ..."
+msgstr "جاري التحقق من الأجهزة ..."
-#: ../../standalone/harddrake2:1
+#. -PO First %s is theme name, second %s (in parenthesis) is resolution
+#: ../../standalone/draksplash_.c:506
#, c-format
-msgid "hard disk model"
-msgstr "طراز القرص الصلب"
+msgid "%s BootSplash (%s) preview"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../standalone/drakxtv_.c:46
msgid ""
-" - Maintain /etc/exports:\n"
-" \tClusternfs allows export of the root filesystem to diskless "
-"clients. drakTermServ\n"
-" \tsets up the correct entry to allow anonymous access to the root "
-"filesystem from\n"
-" \tdiskless clients.\n"
+"XawTV isn't installed!\n"
"\n"
-" \tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t/\t\t\t\t\t(ro,all_squash)\n"
-" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-" \tWith SUBNET/MASK being defined for your network."
+"\n"
+"If you do have a TV card but DrakX has neither detected it (no bttv nor "
+"saa7134\n"
+"module in \"/etc/modules\") nor installed xawtv, please send the\n"
+"results of \"lspcidrake -v -f\" to \"install\\@mandrakesoft.com\"\n"
+"with subject \"undetected TV card\".\n"
+"\n"
+"\n"
+"You can install it by typing \"urpmi xawtv\" as root, in a console."
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "لا يمكنك استخدام LVM Logical Volume لنقطة التحميل %s"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Get Windows Fonts"
-msgstr "احصل على خطوط Windows"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
+#: ../../standalone/drakxtv_.c:63
+msgid "Canada (cable)"
+msgstr "كندة (cable)"
-#: ../../standalone/drakclock:1
-#, c-format
-msgid ""
-"Your computer can synchronize its clock\n"
-" with a remote time server using NTP"
-msgstr ""
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (broadcast)"
+msgstr "الولايات المتّحدة الأمريكيّة (broadcast)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Iranian"
-msgstr "الإيرانيّة"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable)"
+msgstr "الولايات المتّحدة الأمريكيّة (cable)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Croatia"
-msgstr "كرواتيا"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable-hrc)"
+msgstr "الولايات المتّحدة الأمريكيّة (cable-hrc)"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway:"
-msgstr "البوابة:"
+#: ../../standalone/drakxtv_.c:64
+msgid "China (broadcast)"
+msgstr "الصين (broadcast)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add server"
-msgstr "اضف خادم"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (broadcast)"
+msgstr "اليابان (broadcast)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name"
-msgstr "اسم الطابعة البعيدة"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (cable)"
+msgstr "اليابان (cable)"
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid ""
-"MandrakeSoft has designed exclusive tools to create the most secured Linux "
-"version ever: Draksec, a system security management tool, and a strong "
-"firewall are teamed up together in order to highly reduce hacking risks."
-msgstr ""
-"صممّت MandrakeSoft أدوات خاصة لإنشاء أكثر اصدارات Linux أماناً: DrakSec, أداة "
-"ادارة أمن النظام, اضافة الى جدار ناري قوي في وقت واحد و هذا لتخفيض أخطار "
-"الاختراقات."
+#: ../../standalone/drakxtv_.c:65
+msgid "East Europe"
+msgstr "أوروبّا الشّرقيّة"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Device: "
-msgstr "الجهاز: "
+#: ../../standalone/drakxtv_.c:65
+msgid "France [SECAM]"
+msgstr "فرنسا [سيكام]"
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Printerdrake"
-msgstr "Printerdrake"
+#: ../../standalone/drakxtv_.c:65
+msgid "Ireland"
+msgstr "أيرلندا"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "License agreement"
-msgstr "اتفاقية الترخيص"
+#: ../../standalone/drakxtv_.c:65
+msgid "West Europe"
+msgstr "أوروبّا الغربيّة"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "System Options"
-msgstr "خيارات النظام"
+#: ../../standalone/drakxtv_.c:66
+msgid "Australia"
+msgstr "أوستراليا"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Please choose the desired security level"
-msgstr "فضلاً اختر مستوى الأمن الذي تريده"
+#: ../../standalone/drakxtv_.c:66
+msgid "Newzealand"
+msgstr "نيوزيلندا "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "This host is already in the list, it cannot be added again.\n"
-msgstr "هذا المستضيف موجود في القائمة مسبقاً, لا يمكن اضافته مرة أخرى.\n"
+#: ../../standalone/drakxtv_.c:67
+msgid "South Africa"
+msgstr "جنوب أفريقيا "
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", USB printer"
-msgstr ", طابعة USB"
+#: ../../standalone/drakxtv_.c:68
+msgid "Argentina"
+msgstr "الأرجنتين "
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid ""
-"Unable to properly close mkbootdisk:\n"
-"\n"
-"<span foreground=\"Red\"><tt>%s</tt></span>"
+#: ../../standalone/drakxtv_.c:69
+msgid "Australian Optus cable TV"
msgstr ""
-"تعذر غلق mkbootdisk: \n"
-" %s \n"
-" %s"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakxtv_.c:102
msgid ""
-"Incremental backups only save files that have changed or are new since the "
-"last backup."
+"Please,\n"
+"type in your tv norm and country"
msgstr ""
+"فضلاً,\n"
+"اطبع tv norm الخاص بك و بلدك"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Choose the applications that will support the fonts:"
-msgstr "اختر التطبيقات التي ستدعم الخطوط :"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure X"
-msgstr "تهيئة X"
+#: ../../standalone/drakxtv_.c:104
+msgid "TV norm:"
+msgstr "TV norm :"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "hd"
-msgstr "تشاد"
+#: ../../standalone/drakxtv_.c:105
+msgid "Area:"
+msgstr "المنطقة :"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (traditional \"F\" model)"
-msgstr "التّركية (طراز \"F\" التقليدي)"
+#: ../../standalone/drakxtv_.c:109
+msgid "Scanning for TV channels in progress ..."
+msgstr "ضيط قنوات التلفاز في تقدم ..."
-#: ../../standalone/drakautoinst:1 ../../standalone/drakgw:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Congratulations!"
-msgstr "تهانينا!"
+#: ../../standalone/drakxtv_.c:116
+msgid "Scanning for TV channels"
+msgstr "جاري ضبط قنوات التلفاز"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use owner id for execution"
-msgstr "استخدم owner id للتنفيذ"
+#: ../../standalone/drakxtv_.c:120
+msgid "There was an error while scanning for TV channels"
+msgstr "كان هناك خطأ أثناء ضبط قنوات التلفاز"
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Allow remote root login"
-msgstr ""
-"Arguments: (arg)\n"
-"\n"
-"Allow/Forbid remote root login."
+#: ../../standalone/drakxtv_.c:121
+msgid "XawTV isn't installed!"
+msgstr "XawTV غير مثبت!"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Down"
-msgstr "تحت"
+#: ../../standalone/drakxtv_.c:124
+msgid "Have a nice day!"
+msgstr "نتمنى لك يوماً سعيداً!"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer (No driver)"
-msgstr "طابعة خام (لا مشغل)"
+#: ../../standalone/drakxtv_.c:125
+msgid "Now, you can run xawtv (under X Window!) !\n"
+msgstr "الآن يمكنك تشغيل XawTV (في الواجهة الرسومية!) !\n"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Install rpm"
-msgstr "ثبت rpm"
+#: ../../standalone/drakxtv_.c:147
+msgid "No TV Card detected!"
+msgstr "لم يتم ايجاد بطاقة تلفاز!"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakxtv_.c:148
msgid ""
-"To print a file from the command line (terminal window) you can either use "
-"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
-"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
-"to modify the option settings easily.\n"
+"No TV Card has been detected on your machine. Please verify that a Linux-"
+"supported Video/TV Card is correctly plugged in.\n"
+"\n"
+"\n"
+"You can visit our hardware database at:\n"
+"\n"
+"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-"لطباعة ملف من سطر الأوامر يمكنك أن تستخدم الأمر \"%s <file>\" أو أن تستخدم "
-"أداة طباعة رسومية: \"xpp <file>\" أو \"kprinter <file>\". الأدوات الرسومية "
-"تسمح لك باختيار الطابعات و تعديل خياراتها بسهولة.\n"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Time remaining "
-msgstr "الوقت المتبقي"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "UK keyboard"
-msgstr "لوحة المفاتيح البريطانية"
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Unmount"
-msgstr "احذف التحميل"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft Explorer"
-msgstr "Microsoft Explorer"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Uninstall Fonts"
-msgstr "اخذف الخطوط"
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Please wait, detecting and configuring devices..."
-msgstr "انتظر من فضلك, جاري تعيين مستوى الأمن.."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German (no dead keys)"
-msgstr "الألمانية (لا مفاتيح ميتة)"
+"لم يتم ايجاد بطاقة تلفاز على جهازك. فضلاً تأكد من أن بطاقة الفيديو/التلفاز "
+"المدعومة في لينكس موصولة بشكل صحيح.\n"
+"\n"
+"\n"
+"يمكنك زيارة قاعدة بيانات العتاد المدعوم الخاصة بنا على:\n"
+"\n"
+"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tSend mail to %s\n"
+#: ../../standalone/harddrake2_.c:17
+msgid "Alternative drivers"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transferring %s..."
-msgstr "جاري نقل %s..."
+#: ../../standalone/harddrake2_.c:18
+msgid "the list of alternative drivers for this sound card"
+msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "32 thousand colors (15 bits)"
-msgstr "32 ألف لون (15 بت)"
+#: ../../standalone/harddrake2_.c:20
+msgid "Bus"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:21
msgid ""
-"You can export using NFS or Samba. Please select which you'd like to use."
-msgstr "يمكنك التصدير باستخدام NFS أو Samba. أي منهما تريد"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Gambia"
-msgstr "غامبيا"
+"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Control Center"
-msgstr "مركز تحكم Mandrake"
+#: ../../standalone/harddrake2_.c:22
+#, fuzzy
+msgid "Channel"
+msgstr "الغاء"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Reboot"
-msgstr "اعادة التشغيل"
+#: ../../standalone/harddrake2_.c:22
+msgid "EIDE/SCSI channel"
+msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Multi-function device"
-msgstr ", جهاز متعدد الوظائف"
+#: ../../standalone/harddrake2_.c:23
+msgid "Bogomips"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:23
msgid ""
-"You can enter miscellaneous ports. \n"
-"Valid examples are: 139/tcp 139/udp.\n"
-"Have a look at /etc/services for information."
+"The GNU/Linux kernel needs to do run a calculation loop at boot time\n"
+"\t to initialize a timer counter. Its result is stored as bogomips as a way "
+"to \"benchmark\" the cpu."
msgstr ""
-"يمكنك ادخال منافذ متنوعة. \n"
-"أمثلة صالحة هي: 139/tcp 139/udp.\n"
-"الق نظرة على /etc/services لمزيد من المعلومات."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Tape \n"
-msgstr "\t-الشريط \n"
+#: ../../standalone/harddrake2_.c:26
+#, fuzzy
+msgid "Bus identification"
+msgstr "التحقق"
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../standalone/harddrake2_.c:27
msgid ""
-"No browser is installed on your system, Please install one if you want to "
-"browse the help system"
+"- PCI and USB devices: this list the vendor, device, subvendor and subdevice "
+"PCI/USB ids"
msgstr ""
-"لا يوجد متصفح مثبت على نظامك, فضلاً قم بتثبيت متصفح اذا كنت ترغب في تصفح نظام "
-"المساعدة"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remember this password"
-msgstr "تذكّر كلمة السر هذه"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "due to unsatisfied %s"
+#: ../../standalone/harddrake2_.c:29
+msgid "Location on the bus"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now enabled."
-msgstr "مشاركة إتصال الإنترنت ممكَّنة الآن."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by SSH.\n"
-msgstr "\t-الشبكة عن طريق SSH.\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:30
msgid ""
-" If the desired printer was auto-detected, simply choose it from the list "
-"and then add user name, password, and/or workgroup if needed."
+"- pci devices: this gives the PCI slot, device and function of this card\n"
+"- eide devices: the device is either a slave or a master device\n"
+"- scsi devices: the scsi bus and the scsi device ids"
msgstr ""
-" اذا تم اكتشاف الطابعة المطلوبة آلياً, كل ما عليك هو اختيارها من القائمة ثم "
-"أضف اسم المستخدم, كلمة المرور, و/أو مجموعة العمل ان احتجت لذلك."
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid " cable"
-msgstr "الجدول"
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use the free space on the Windows partition"
-msgstr "استخدم المساحة الفارغة على تجزئة Windows"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s found on %s, configure it automatically?"
-msgstr "%s تم ايجاده على %s, هل تريد تهيئته آلياً؟"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "مشغل XFree86: %s\n"
+#: ../../standalone/harddrake2_.c:33
+#, fuzzy
+msgid "Cache size"
+msgstr "حجم chunk"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This host/network is already in the list, it cannot be added again.\n"
-msgstr "هذا المستضيف/الشبكة موجود في القائمة مسبقاً, لا يمكن اضافته مرة أخرى.\n"
+#: ../../standalone/harddrake2_.c:33
+msgid "Size of the (second level) cpu cache"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the packages you want to install"
-msgstr "اختر الحزم التي تريد تثبيتها"
+#: ../../standalone/harddrake2_.c:34
+msgid "Coma bug:"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Papua New Guinea"
-msgstr "بابوا غينيا الجديدة"
+#: ../../standalone/harddrake2_.c:34
+msgid "Does this cpu has Cyrix 6x86 Coma bug ?"
+msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Multi-function device on a parallel port"
-msgstr ", جهاز متعدد الوظائف على المنفذ المتوازي #%s"
+#: ../../standalone/harddrake2_.c:35
+msgid "Cpuid family"
+msgstr ""
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "Busy files"
-msgstr "انسخ ملفات النظام"
+#: ../../standalone/harddrake2_.c:35
+msgid "Family of the cpu (eg: 6 for i686 class)"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Serbian (cyrillic)"
-msgstr "الصربية (سيريلي)"
+#: ../../standalone/harddrake2_.c:36
+#, fuzzy
+msgid "Cpuid level"
+msgstr "مستوى الأمن"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Enter the directory where backups are stored"
-msgstr "فضلاً أدخل الدليل الموجودة فيه النسخ الإحتياطية"
+#: ../../standalone/harddrake2_.c:36
+msgid "Information level that can be obtained through the cpuid instruction"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Make kernel message quiet by default"
-msgstr "اجعل رسائل النواة صامتة افتراضياً"
+#: ../../standalone/harddrake2_.c:37
+msgid "Frequency (MHz)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:37
msgid ""
-"Do you want to set this printer (\"%s\")\n"
-"as the default printer?"
+"The cpu frequency in Mhz (Mega herz which in first approximation may be "
+"coarsely assimilated to number of instructions the cpu is able to execute "
+"per second)"
msgstr ""
-"هل تريد تعيين هذه الطابعة (\"%s\")\n"
-"كطابعة افتراضية؟"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP end range"
-msgstr "حدود DHCP end"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Creating bootdisk..."
-msgstr "انشاء قرص الإقلاع..."
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please, testing your connection..."
-msgstr "انتظر من فضلك, جاري اختبار الإتصال..."
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing down the network"
-msgstr "جاري اغلاق الشبكة"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Login ID"
-msgstr "اسم الدخول"
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
+#: ../../standalone/harddrake2_.c:38
+msgid "This field describes the device"
msgstr ""
-"NFS بروتوكول شائع لمشاركة الملفات على شبكات\n"
-"TCP/IP. هذه الخدمة تسمح لك بالتحكم بالملفات عن طريق NFS."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP Client"
-msgstr "DHCP العميل"
+#: ../../standalone/harddrake2_.c:39
+#, fuzzy
+msgid "Old device file"
+msgstr "اختر ملف"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid ""
-"This is HardDrake, a Mandrake hardware configuration tool.\n"
-"<span foreground=\"royalblue3\">Version:</span> %s\n"
-"<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud &lt;"
-"tvignaud@mandrakesoft.com&gt;\n"
-"\n"
+#: ../../standalone/harddrake2_.c:40
+msgid "old static device name used in dev package"
msgstr ""
-"هذا هو HardDrake, أداة Mandrake لتهيئة العتاد.\n"
-"الإصدار: %s\n"
-"المؤلف: تييري فينيو <tvignaud@mandrakesoft.com>\n"
-"\n"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "dismiss"
-msgstr "اهمال"
+#: ../../standalone/harddrake2_.c:41
+#, fuzzy
+msgid "New devfs device"
+msgstr "Gateway device"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning on \"%s\""
-msgstr "جاري الطباعة/المسح على \"%s\""
+#: ../../standalone/harddrake2_.c:42
+msgid "new dinamic device name generated by incore kernel devfs"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit raid modules"
-msgstr "RAID اهمل وحدات ال"
+#: ../../standalone/harddrake2_.c:43
+msgid "Module"
+msgstr "وحدة"
-#: ../../services.pm:1
-#, c-format
-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)."
+#: ../../standalone/harddrake2_.c:43
+msgid "the module of the GNU/Linux kernel that handle that device"
msgstr ""
-"lpd هو مراقب الطباعة الذي يحتاجه أمر lpr للعمل بشل صحيح. أساساً\n"
-"هو خادم يوصل وظائف الطباعة الى الطابعات."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Irish"
+#: ../../standalone/harddrake2_.c:44
+msgid "CPU flags reported by the kernel"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sunday"
-msgstr "الأحد"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet Connection Configuration"
-msgstr "إعدادات الإتصال بالإنترنت"
+#: ../../standalone/harddrake2_.c:44
+msgid "Flags"
+msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated numbers"
-msgstr "أرقام مفصولة بالفاصلة"
+#: ../../standalone/harddrake2_.c:45
+msgid "Fdiv bug"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone/harddrake2_.c:46
msgid ""
-"Once you've selected a device, you'll be able to see the device information "
-"in fields displayed on the right frame (\"Information\")"
+"Early Intel Pentium chips manufactured have a bug in their floating point "
+"processor which did not achieve the attended precision when performing a "
+"Floating point DIVision (FDIV)"
msgstr ""
-"عند اختيارك لجهاز, ستستطيع رؤية معلومات تاجهاز في الحقول المعروضة في الإطار "
-"الأيمن (\"معلومات\")"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule up one level"
-msgstr "انقل القاعدة المختارة الى فوق بمستوى واحد"
+#: ../../standalone/harddrake2_.c:49
+msgid "Is FPU present"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"The following scanner\n"
-"\n"
-"%s\n"
-"is available on your system.\n"
+#: ../../standalone/harddrake2_.c:49
+msgid "yes means the processor has an arithmetic coprocessor"
msgstr ""
-"الماسحة الضوئية التالية\n"
-"\n"
-"%s\n"
-"متوفرة لنظامك.\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you really want to remove the printer \"%s\"?"
-msgstr "هل تريد فعلاً حذف الطابعة \"%s\"؟"
+#: ../../standalone/harddrake2_.c:50
+msgid "Does FPU have an irq vector"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "I can't find any room for installing"
-msgstr "لا يمكنني ايجاد مساحة فارغة للتثبيت"
+#: ../../standalone/harddrake2_.c:50
+msgid "yes means the arithmetic coprocessor has an exception vector attached"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Default printer"
-msgstr "الطابعة الإفتراضية"
+#: ../../standalone/harddrake2_.c:51
+msgid "Early pentium were buggy and freezed when decoding the F00F bytecode"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"You have configured multiple ways to connect to the Internet.\n"
-"Choose the one you want to use.\n"
-"\n"
+#: ../../standalone/harddrake2_.c:51
+msgid "F00f bug"
msgstr ""
-"لقد قمت بتهيئة طرق متعددة للإتصال بالإنترنت.\n"
-"اختر الطريقة التي تريد استخدامها.\n"
-"\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Modify RAID"
-msgstr "تعديل RAID"
+#: ../../standalone/harddrake2_.c:52
+msgid "Halt bug"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:53
msgid ""
-"I have detected an ISDN PCI card, but I don't know its type. Please select a "
-"PCI card on the next screen."
+"Some of the early i486DX-100 chips cannot reliably return to operating mode "
+"after the \"halt\" instruction is used"
msgstr ""
-"تم اكتشاف بطاقة ISDN PCI, لكن لم يتم التعرف على نوعها. فضلاً اختر بطاقة PCI "
-"في الشاشة التالية."
-#: ../../any.pm:1
-#, c-format
-msgid "Add user"
-msgstr "اضف مستخدم"
+#: ../../standalone/harddrake2_.c:55
+#, fuzzy
+msgid "Floppy format"
+msgstr "تنسيق"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "أقراص RAID %s\n"
+#: ../../standalone/harddrake2_.c:55
+msgid "Format of floppies the drive accept"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Liberia"
-msgstr "ليبريا"
+#: ../../standalone/harddrake2_.c:56
+#, fuzzy
+msgid "Level"
+msgstr "المستوى"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Could not install the packages needed to set up a scanner with Scannerdrake."
+#: ../../standalone/harddrake2_.c:56
+msgid "Sub generation of the cpu"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Please enter the name of the interface connected to the internet.\n"
-"\n"
-"Examples:\n"
-"\t\tppp+ for modem or DSL connections, \n"
-"\t\teth0, or eth1 for cable connection, \n"
-"\t\tippp+ for a isdn connection.\n"
+#: ../../standalone/harddrake2_.c:57
+msgid "Media class"
msgstr ""
-"فضلاً أدخل اسم الواجهة المتصلة بالإنترنت.\n"
-"\n"
-"أمثلة:\n"
-"\t\tppp+ لوصلات المودم و DSL, \n"
-"\t\teth0, أو eth1 لوصلات الكيبل, \n"
-"\t\tippp+ لوصلات ISDN.\n"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose your keyboard"
-msgstr "اختر لوحة المفاتيح الخاصة بك"
-#: ../../steps.pm:1
-#, c-format
-msgid "Format partitions"
-msgstr "تجهيز التجزئات"
+#: ../../standalone/harddrake2_.c:57
+msgid "class of hardware device"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatic correction of CUPS configuration"
-msgstr "تصحيح آلي لتهيئة CUPS"
+#: ../../standalone/harddrake2_.c:58 ../../standalone/harddrake2_.c:59
+#, fuzzy
+msgid "Model"
+msgstr "وحدة"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Running \"%s\" ..."
-msgstr "جاري تشغيل \"%s\" ..."
+#: ../../standalone/harddrake2_.c:58
+#, fuzzy
+msgid "hard disk model"
+msgstr "Card mem (DMA)"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "enable radio support"
-msgstr "تمكين دعم الراديو"
+#: ../../standalone/harddrake2_.c:59
+msgid "Generation of the cpu (eg: 8 for PentiumIII, ...)"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing to hosts: "
-msgstr "مشاركة الطابعات على المستضيفات: "
+#: ../../standalone/harddrake2_.c:60
+#, fuzzy
+msgid "Model name"
+msgstr "اسم الوحدة"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "اسم ملف Loopback: %s"
+#: ../../standalone/harddrake2_.c:60
+msgid "Official vendor name of the cpu"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the printer to which the print jobs should go."
-msgstr "رجاء اختر الطابعة التي ستذهب اليها وظائف الطباعة."
+#: ../../standalone/harddrake2_.c:61
+#, fuzzy
+msgid "Number of buttons"
+msgstr "2 buttons"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not transfer printers"
-msgstr "لا تنقل الطابعات"
+#: ../../standalone/harddrake2_.c:62
+#, fuzzy
+msgid "Name"
+msgstr "الاسم: "
-#: ../../help.pm:1
-#, c-format
-msgid "Delay before booting the default image"
-msgstr "توقيت ما قبل اقلاع الصورة الافتراضية"
+#: ../../standalone/harddrake2_.c:63
+#, fuzzy
+msgid "network printer port"
+msgstr "طابعة شبكة (TCP/Socket)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Hard Disk to backup"
-msgstr "استخدم القرص الصلب للنسخ الإحتياطي"
+#: ../../standalone/harddrake2_.c:64
+msgid "Processor ID"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Configure"
-msgstr "إعداد"
+#: ../../standalone/harddrake2_.c:64
+msgid "the number of the processor"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake"
-msgstr "Scannerdrake"
+#: ../../standalone/harddrake2_.c:65
+#, fuzzy
+msgid "Model stepping"
+msgstr "حمل الإعدادات"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"Warning, another Internet connection has been detected, maybe using your "
-"network"
-msgstr "تحذير, تم ايجاد اتصال إنترنت آخر, ربما يكون يستخدم شبكتك"
+#: ../../standalone/harddrake2_.c:65
+msgid "Stepping of the cpu (sub model (generation) number)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Users"
-msgstr "مستخدمو المساعد"
+#: ../../standalone/harddrake2_.c:66
+msgid "The type of bus on which the mouse is connected"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-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."
+#: ../../standalone/harddrake2_.c:67
+msgid "the vendor name of the device"
msgstr ""
-"فضلاً أدخل اسم المستضيف.\n"
-"يجب أن يكون اسم المستضيف صالحاً و كاملاً,\n"
-"مثل ``mybox.mylab.myco.com''.\n"
-"يمكنك أيضاً ادخال عنوان IP الخاص بالبوابة ان وُجدت."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Spooler"
-msgstr "اختر Printer Spooler"
+#: ../../standalone/harddrake2_.c:68
+msgid "the vendor name of the processor"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Create new theme"
-msgstr "انشئ سمة جديدة"
+#: ../../standalone/harddrake2_.c:82
+#, fuzzy
+msgid "/_Quit"
+msgstr "خروج"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mandrake Tools Explanation"
-msgstr "شروح أدوات Mandrake"
+#: ../../standalone/harddrake2_.c:83
+#, fuzzy
+msgid "/Autodetect _printers"
+msgstr "تحقق آلي"
-#
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "No image found"
-msgstr "تعذر ايجاد صورة"
+#: ../../standalone/harddrake2_.c:83 ../../standalone/harddrake2_.c:85
+#: ../../standalone/logdrake_.c:81
+msgid "/_Options"
+msgstr "/_خيارات"
-#: ../../install_steps.pm:1
-#, c-format
-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"
-"إما أن سواقة القرص المدمج أو أن القرص المدمج نفسه به عيب ما.\n"
-"تأكد من صحة القرص المدمج على كمبيوتر مثبّت باستخدام الأمر \"rpm -qpl Mandrake/"
-"RPMS/*.rpm\"\n"
+#: ../../standalone/harddrake2_.c:85
+#, fuzzy
+msgid "/Autodetect _modems"
+msgstr "تحقق آلي"
-#: ../advertising/06-development.pl:1
-#, c-format
-msgid "Mandrake Linux 9.2: the ultimate development platform"
-msgstr "Mandrake Linux 9.2 هي البيئة الأمثل لتطوير البرامج"
+#: ../../standalone/harddrake2_.c:87 ../../standalone/harddrake2_.c:89
+#: ../../standalone/harddrake2_.c:100 ../../standalone/harddrake2_.c:102
+#: ../../standalone/logdrake_.c:83
+msgid "/_Help"
+msgstr "/_مساعدة"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Detected model: %s"
-msgstr "تم اكتشاف الطراز: %s"
+#: ../../standalone/harddrake2_.c:89
+#, fuzzy
+msgid "/_Help..."
+msgstr "/_مساعدة"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "\"%s\" is not a valid email!"
+#: ../../standalone/harddrake2_.c:92
+msgid "Harddrake help"
msgstr ""
-#: ../../standalone/drakedm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:93
msgid ""
-"X11 Display Manager allows you to graphically log\n"
-"into your system with the X Window System running and supports running\n"
-"several different X sessions on your local machine at the same time."
+"Description of the fields:\n"
+"\n"
msgstr ""
-"مدير عرض X11 يسمح لك بتسجيل الدخول الى\n"
-"نظامك مع تشغيل خادم النوافذ X و يدعم تشغيل\n"
-"عدة جلسات X مختلفة على ماكينتك المحلية في نفس الوقت."
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run the daily security checks."
-msgstr "if set to yes, run the daily security checks"
+#: ../../standalone/harddrake2_.c:96
+msgid ""
+"Once you've selected a device, you'll be able to see explanations on fields "
+"displayed on the right frame (\"Information\")"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Azerbaijan"
-msgstr "أذربيجان"
+#: ../../standalone/harddrake2_.c:96
+#, fuzzy
+msgid "Select a device !"
+msgstr "اختر جهاز المسح الضوئي"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Device name to use for backup"
-msgstr "فضلاً أدخل اسم جهاز النسخ الإحتياطي"
+#: ../../standalone/harddrake2_.c:100
+msgid "/_Report Bug"
+msgstr "/_تقرير خطأ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No tape in %s!"
-msgstr "لا يوجد شريط في %s!"
+#: ../../standalone/harddrake2_.c:102
+#, fuzzy
+msgid "/_About..."
+msgstr "/مساعدة/_حول البرنامج..."
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-" --doc <link> - link to another web page ( for WM welcome "
-"frontend)\n"
+#: ../../standalone/harddrake2_.c:104
+msgid "About Harddrake"
msgstr ""
-# U+200F (RTL mark) has been inserted between "Dvorak" and "(US)", so
-# it displays on screen as "(US) Dvorak", following the same schema
-# as others "Dvorak (xxxx)" with xxx in Arabic that display as "(xxxx) Dvorak"
-# that way the entry is also listed together with the other "Dvorak" entries.
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (US)"
-msgstr "Dvorak‏ (US)"
-
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone/harddrake2_.c:105
msgid ""
-"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
+"This is HardDrake, a Mandrake hardware configuration tool.\n"
+"Version:"
msgstr ""
-"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "How is the printer connected?"
-msgstr "ما هي طريقة توصيل الطابعة؟"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security level"
-msgstr "مستوى الأمن"
+#: ../../standalone/harddrake2_.c:106
+#, fuzzy
+msgid "Author:"
+msgstr "تحقق آلي"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "final resolution"
-msgstr "دقة العرض النهائية"
+#: ../../standalone/harddrake2_.c:113
+msgid "Detection in progress"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services"
-msgstr "الخدمات"
+#: ../../standalone/harddrake2_.c:119
+#, fuzzy
+msgid "Harddrake2 version "
+msgstr "التحقق من الأقراص الصلبة"
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Auto configuration"
-msgstr "تهيئة مخصصة"
+#: ../../standalone/harddrake2_.c:126
+#, fuzzy
+msgid "Detected hardware"
+msgstr "عرض معلومات العتاد"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "4 MB"
-msgstr "4 ميغابايت"
+#: ../../standalone/harddrake2_.c:129
+#, fuzzy
+msgid "Information"
+msgstr "اعرض المعلومات"
-#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "محطة عمل مكتبية"
+#: ../../standalone/harddrake2_.c:131
+#, fuzzy
+msgid "Configure module"
+msgstr "إعداد الفأرة"
-#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
+#: ../../standalone/harddrake2_.c:137
+msgid "Run config tool"
msgstr ""
-"برامج مكتبية: معالجة الكلمات (kword, abiword), الجداول الحسابية (kspread, "
-"gnumeric) , برامج عرض pdf, الخ"
-
-#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "محطة ألعاب"
-
-#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "برامج التسلية: ألعاب فيديو, ألعاب لوحات, ألعاب ستراتيجية, الخ"
-
-#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "محطة وسائط متعددة"
-
-#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "برامج تحرير/تشغيل الفيديو و الصوت"
-#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "محطة انترنت"
+#: ../../standalone/harddrake2_.c:143
+#, fuzzy, c-format
+msgid "Running \"%s\" ..."
+msgstr "جاري ازالة الطابعة \"%s\" ..."
-#: ../../share/compssUsers:999
-#, fuzzy
+#: ../../standalone/harddrake2_.c:159
msgid ""
-"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
-"Web"
+"Click on a device in the left tree in order to get its information displayed "
+"here."
msgstr ""
-"مجموعة من الأدوات لقراءة و ارسال البريد و الأخبار (pine, mutt, tin..) و "
-"لتصفح الإنترنت"
-
-#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "جهاز شبكة (عميل)"
-
-#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "عملاء لبروتوكولات مختلفة مثل ssh"
-
-#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "أدوات الإعدادات"
-#: ../../share/compssUsers:999
-msgid "Tools to ease the configuration of your computer"
-msgstr "أدوات لتسهيل إعداد جهازك"
+#: ../../standalone/harddrake2_.c:231
+msgid "primary"
+msgstr ""
-#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "محطة عمل علمية"
+#: ../../standalone/harddrake2_.c:231
+#, fuzzy
+msgid "secondary"
+msgstr "%d ثوان"
-#: ../../share/compssUsers:999
-msgid "Scientific applications such as gnuplot"
-msgstr "تطبيقات علمية مثل gnuplot"
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect modems"
+msgstr "تحقق آلي"
-#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "أدوات سطر الأوامر"
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect printers"
+msgstr "تحقق آلي"
-#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "محررات نصوص, أغلفة, أدوات ملفات, طرفيات"
+#: ../../standalone/harddrake2_.c:261
+#, fuzzy
+msgid "/Options"
+msgstr "/_خيارات"
-#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "محطو عمل كيدي"
+#: ../../standalone/keyboarddrake_.c:26
+msgid "Please, choose your keyboard layout."
+msgstr "من فضلك اختر تصميم لوحة مفاتيحك"
-#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
-msgstr ""
-"بيئة سطح مكتب كيدي, البيئة الرسومية الأساسية مع مجموعة من الأدوات المصاحبة"
+#: ../../standalone/keyboarddrake_.c:35
+msgid "Do you want the BackSpace to return Delete in console?"
+msgstr "هل تريد أن يقوم زر BackSpace بعمل وظيفة زر Delete في سطر الأوامر؟"
-#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "محطة عمل جنوم"
+#: ../../standalone/livedrake_.c:18
+msgid "Change Cd-Rom"
+msgstr "غيّر القرص المدمج"
-#: ../../share/compssUsers:999
+#: ../../standalone/livedrake_.c:19
msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
+"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 ""
-"بيئة رسومية مع مجموعة من التطبيقات و أدوات سطح المكتب المناسبة للمستخدمين "
-"العاديين"
-
-#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "أسطخ مكتب رسومية أخرى"
-
-#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, الخ"
-
-#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr "برامج و مكتبات تطوير C و C++"
-
-#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "وثائق المساعدة"
+"فضلا أدخل قرص التثبيت في سواقتك و اضغط موافق عندما تنتهي.\n"
+"إذا لم يكن قرص التثبيت لديك اضغط الغاء للإمتناع عن التحديث الحي."
-#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "كتب و مذكرات 'كيف أعمل' حول Linux و البرامج الحرة"
+#: ../../standalone/livedrake_.c:29
+msgid "Unable to start live upgrade !!!\n"
+msgstr "لم أتمكن من بدء الترقية الحية !!!\n"
-#: ../../share/compssUsers:999
-msgid "LSB"
-msgstr "LSB"
+#: ../../standalone/localedrake_.c:34
+msgid "The change is done, but to be effective you must logout"
+msgstr "تم عمل التغيير, و لكن ليتم تفعيله يجب عليك الخروج"
-#: ../../share/compssUsers:999
-msgid "Linux Standard Base. Third party applications support"
-msgstr "Linux Standard Base. Third party applications support"
+#: ../../standalone/logdrake_.c:56 ../../ugtk.pm_.c:284 ../../ugtk2.pm_.c:350
+msgid "logdrake"
+msgstr "logdrake"
-#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "ويب/FTP"
+#: ../../standalone/logdrake_.c:68
+msgid "Show only for the selected day"
+msgstr "إعرض سجلات اليوم المختار فقط"
-#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache, Pro-ftpd"
+#: ../../standalone/logdrake_.c:75
+msgid "/File/_New"
+msgstr "/ملف/_جديد"
-#: ../../share/compssUsers:999
-msgid "Mail"
-msgstr "بريد"
+#: ../../standalone/logdrake_.c:75
+msgid "<control>N"
+msgstr "<تحكم>N"
-#: ../../share/compssUsers:999
-msgid "Postfix mail server"
-msgstr "خادم البريد Postfix"
+#: ../../standalone/logdrake_.c:76
+msgid "/File/_Open"
+msgstr "/ملف/_فتح"
-#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "قواعد البيانات"
+#: ../../standalone/logdrake_.c:76
+msgid "<control>O"
+msgstr "<تحكم>O"
-#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "خادم قواعد البيانات PostgreSQL أو MySQL"
+#: ../../standalone/logdrake_.c:77
+msgid "/File/_Save"
+msgstr "/ملف/_حفظ"
-#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "جدار ناري/موجِّه"
+#: ../../standalone/logdrake_.c:77
+msgid "<control>S"
+msgstr "<تحكم>S"
-#: ../../share/compssUsers:999
-msgid "Internet gateway"
-msgstr "بوابة انترنت"
+#: ../../standalone/logdrake_.c:78
+msgid "/File/Save _As"
+msgstr "/ملف/حفظ _باسم"
-#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS"
+#: ../../standalone/logdrake_.c:79
+msgid "/File/-"
+msgstr "/ملف/-"
-#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "خادم أسماء النطاثات و معلومات الشيكة"
+#: ../../standalone/logdrake_.c:82
+msgid "/Options/Test"
+msgstr "/خيارات/اختبار"
-#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "خادم شبكات"
+#: ../../standalone/logdrake_.c:84
+msgid "/Help/_About..."
+msgstr "/مساعدة/_حول البرنامج..."
-#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "خادم NFS, خادم SMB, خادم بروكسي, خادم ssh"
+#: ../../standalone/logdrake_.c:145
+msgid "User"
+msgstr "المستخدم"
-#: ../../share/compssUsers:999
-msgid "Set of tools to read and send mail and news and to browse the Web"
-msgstr "مجموعة من الأدوات لقراءة و ارسال البريد و الأخبار و تصفح الإنترنت"
+#: ../../standalone/logdrake_.c:146
+msgid "Messages"
+msgstr "الرسائل"
-#~ msgid "The setup has already been done, and it's currently enabled."
-#~ msgstr "تم عمل التنصيب, و هو ممكَّن الآن."
+#: ../../standalone/logdrake_.c:147
+msgid "Syslog"
+msgstr "syslog"
-#~ msgid "Logs"
-#~ msgstr "السجلات"
+#: ../../standalone/logdrake_.c:148
+msgid "Mandrake Tools Explanations"
+msgstr "شروح أدوات Mandrake"
-#~ msgid "The setup has already been done, but it's currently disabled."
-#~ msgstr "تم عمل التنصيب, و لكنه غير ممكَّن الآن"
+#: ../../standalone/logdrake_.c:151
+msgid "search"
+msgstr "بحث"
-#~ msgid "Profile "
-#~ msgstr "التشكيل:"
+#: ../../standalone/logdrake_.c:161
+msgid "A tool to monitor your logs"
+msgstr "أداة لمراقبة سجلات نظامك"
-#~ 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/logdrake_.c:162 ../../standalone/net_monitor_.c:91
+msgid "Settings"
+msgstr "الضبط"
-#~ msgid "Internet Connection Sharing configuration"
-#~ msgstr "إعدادات مشاركة إتصال الإنترنت"
+#: ../../standalone/logdrake_.c:167
+msgid "matching"
+msgstr "الموائمة"
-#~ msgid "No Internet Connection Sharing has ever been configured."
-#~ msgstr "لم يتم اعداد أي مشاركة اتصال بالإنترنت"
+#: ../../standalone/logdrake_.c:168
+msgid "but not matching"
+msgstr "لكن ليس موائمة"
-#~ msgid "when checked, owner and group won't be changed"
-#~ msgstr "عند التأشير لن يتم تغيير المالك و المجموعة"
+#: ../../standalone/logdrake_.c:172
+msgid "Choose file"
+msgstr "احتيار ملف"
-#~ msgid ""
-#~ "XawTV isn't installed!\n"
-#~ "\n"
-#~ "\n"
-#~ "If you do have a TV card but DrakX has neither detected it (no bttv nor "
-#~ "saa7134\n"
-#~ "module in \"/etc/modules\") nor installed xawtv, please send the\n"
-#~ "results of \"lspcidrake -v -f\" to \"install@mandrakesoft.com\"\n"
-#~ "with subject \"undetected TV card\".\n"
-#~ "\n"
-#~ "\n"
-#~ "You can install it by typing \"urpmi xawtv\" as root, in a console."
-#~ msgstr ""
-#~ "XawTV غير مثبّت!\n"
-#~ "\n"
-#~ "\n"
-#~ "اذا كانت لديك بطاقة تلفاز لكن لم يستطع DrakX اكتشافها (لا توجد وحدات bttv "
-#~ "ولا saa7134\n"
-#~ "في \"/etc/modules\") أو لم تثبّت xawtv, فضلاً قم بإرسال نتائج\n"
-#~ "الأمر \"lspcidrake -v -f\" الى \"install@mandrakesoft.com\"\n"
-#~ "مع العنوان \"undetected TV card\".\n"
-#~ "\n"
-#~ "\n"
-#~ "يمكنك تثبيت XawTV بكتابة الأمر \"urpmi xawtv\" كمستخدم جذر في سطر الأوامر."
+#: ../../standalone/logdrake_.c:181
+msgid "Calendar"
+msgstr "التقويم"
-#~ msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
-#~ msgstr "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
+#: ../../standalone/logdrake_.c:191
+msgid "Content of the file"
+msgstr "محتويات الملف"
-#~ msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#~ msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
+#: ../../standalone/logdrake_.c:195 ../../standalone/logdrake_.c:375
+#, fuzzy
+msgid "Mail alert"
+msgstr "تنبية البريد/SMS"
-#~ msgid "Hostname configuration"
-#~ msgstr "تهيئة اسم المستضيف"
+#: ../../standalone/logdrake_.c:245
+#, c-format
+msgid "please wait, parsing file: %s"
+msgstr "يرجى الإنتظار, جاري تحليل الملف: %s"
-#~ msgid "Hostname"
-#~ msgstr "اسم المستضيف"
+#: ../../standalone/logdrake_.c:392
+#, fuzzy
+msgid "Mail alert configuration"
+msgstr "تهيئة تنبيه البريد/SMS"
-#~ msgid "Remote Printers"
-#~ msgstr "الطابعات البعيدة"
+#: ../../standalone/logdrake_.c:393
+#, fuzzy
+msgid ""
+"Welcome to the mail configuration utility.\n"
+"\n"
+"Here, you'll be able to set up the alert system.\n"
+msgstr ""
+"أهلا بكم الى أداة تهيئة البريد/SMS.\n"
+"\n"
+"هنا سيمكنك الإعداد \n"
-#~ msgid "Printing system: "
-#~ msgstr "نظام الطباعة: "
+#: ../../standalone/logdrake_.c:400
+msgid "Apache World Wide Web Server"
+msgstr ""
+#: ../../standalone/logdrake_.c:401
#, fuzzy
-#~ msgid "Level 1"
-#~ msgstr "المستوى"
+msgid "Domain Name Resolver"
+msgstr "Domain name"
+#: ../../standalone/logdrake_.c:402
#, fuzzy
-#~ msgid "Level 2"
-#~ msgstr "المستوى"
+msgid "Ftp Server"
+msgstr " الخادم NIS"
+#: ../../standalone/logdrake_.c:403
#, fuzzy
-#~ msgid "Level 3"
-#~ msgstr "المستوى"
+msgid "Postfix Mail Server"
+msgstr "خادم البريد Postfix, خادم الأخبار Inn"
+#: ../../standalone/logdrake_.c:404
#, fuzzy
-#~ msgid "Level 4"
-#~ msgstr "المستوى"
+msgid "Samba Server"
+msgstr " الخادم NIS"
+#: ../../standalone/logdrake_.c:405
#, fuzzy
-#~ msgid "Level 5"
-#~ msgstr "المستوى"
+msgid "SSH Server"
+msgstr " الخادم NIS"
+#: ../../standalone/logdrake_.c:406
#, fuzzy
-#~ msgid "Insert floppy and press %s"
-#~ msgstr "أدخل قرص مرن في %s"
-
-#~ msgid "Load"
-#~ msgstr "حمل"
-
-#~ msgid ""
-#~ "Monitor\n"
-#~ "\n"
-#~ " The installer will normally automatically detect and configure the\n"
-#~ "monitor connected to your machine. If it is correct, you can choose from\n"
-#~ "this list the monitor you actually have connected to your computer."
-#~ msgstr ""
-#~ "الشاشة\n"
-#~ "\n"
-#~ " يمكن لبرنامج التثبيت اكتشاف و تهيئة الشاشة المتصلة بماكينتك\n"
-#~ "آلياً. ان لم يصل ذلك, يمكنك اختيار الشاشة التي لديك\n"
-#~ "من القائمة."
+msgid "Webmin Service"
+msgstr "الخدمات"
-#~ msgid "Bad Ip"
-#~ msgstr "IP سيئ"
+#: ../../standalone/logdrake_.c:407
+#, fuzzy
+msgid "Xinetd Service"
+msgstr "الخدمات"
-#~ msgid "Output"
-#~ msgstr "الناتج"
+#: ../../standalone/logdrake_.c:414
+msgid "service setting"
+msgstr "إعدادات الخدمات"
-#~ msgid "Please relog into %s to activate the changes"
-#~ msgstr "يرجى اعادة تسجيل الدخول الى %s لتنشيط التغييرات"
+#: ../../standalone/logdrake_.c:415
+#, fuzzy
+msgid ""
+"You will receive an alert if one of the selected services is no more running"
+msgstr "سوف تستلم تنبيهاً إذا كانت أحد الخدمات المختارة غير عاملة."
-#~ msgid ""
-#~ "Description:\n"
-#~ "\n"
-#~ " Drakbackup is used to backup your system.\n"
-#~ " During the configuration you can select: \n"
-#~ "\t- System files, \n"
-#~ "\t- Users files, \n"
-#~ "\t- Other files.\n"
-#~ "\tor All your system ... and Other (like Windows Partitions)\n"
-#~ "\n"
-#~ " Drakbackup allows you to backup your system on:\n"
-#~ "\t- Harddrive.\n"
-#~ "\t- NFS.\n"
-#~ "\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
-#~ "\t- FTP.\n"
-#~ "\t- Rsync.\n"
-#~ "\t- Webdav.\n"
-#~ "\t- Tape.\n"
-#~ "\n"
-#~ " Drakbackup allows you to restore your system to\n"
-#~ " a user selected directory.\n"
-#~ "\n"
-#~ " Per default all backups will be stored on your\n"
-#~ " /var/lib/drakbackup directory\n"
-#~ "\n"
-#~ " Configuration file:\n"
-#~ "\t/etc/drakconf/drakbackup/drakbackup.conf\n"
-#~ "\n"
-#~ "Restore Step:\n"
-#~ " \n"
-#~ " During the restore step, DrakBackup will remove \n"
-#~ " your original directory and verify that all \n"
-#~ " backup files are not corrupted. It is recommended \n"
-#~ " you do a last backup before restoring.\n"
-#~ "\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Description:\n"
-#~ "\n"
-#~ " Drakbackup is used to backup your system.\n"
-#~ " During the configuration you can select: \n"
-#~ "\t- System files, \n"
-#~ "\t- Users files, \n"
-#~ "\t- Other files.\n"
-#~ "\tor All your system ... and Other (like Windows Partitions)\n"
-#~ "\n"
-#~ " Drakbackup allows you to backup your system on:\n"
-#~ "\t- Harddrive.\n"
-#~ "\t- NFS.\n"
-#~ "\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
-#~ "\t- FTP.\n"
-#~ "\t- Rsync.\n"
-#~ "\t- Webdav.\n"
-#~ "\t- Tape.\n"
-#~ "\n"
-#~ " Drakbackup allows you to restore your system to\n"
-#~ " a user selected directory.\n"
-#~ "\n"
-#~ " Per default all backups will be stored on your\n"
-#~ " /var/lib/drakbackup directory\n"
-#~ "\n"
-#~ " Configuration file:\n"
-#~ "\t/etc/drakconf/drakbackup/drakbackup.conf\n"
-#~ "\n"
-#~ "Restore Step:\n"
-#~ " \n"
-#~ " During the restore step, DrakBackup will remove \n"
-#~ " your original directory and verify that all \n"
-#~ " backup files are not corrupted. It is recommended \n"
-#~ " you do a last backup before restoring.\n"
-#~ "\n"
-#~ "\n"
+#: ../../standalone/logdrake_.c:428
+msgid "load setting"
+msgstr "حمل الإعدادات"
-#~ msgid ""
-#~ "Options Description:\n"
-#~ "\n"
-#~ " - Backup System Files:\n"
-#~ " \n"
-#~ "\tThis option allows you to backup your /etc directory,\n"
-#~ "\twhich contains all configuration files. Please be\n"
-#~ "\tcareful during the restore step to not overwrite:\n"
-#~ "\t\t/etc/passwd \n"
-#~ "\t\t/etc/group \n"
-#~ "\t\t/etc/fstab\n"
-#~ "\n"
-#~ " - Backup User Files: \n"
-#~ "\n"
-#~ "\tThis option allows you select all users that you want to \n"
-#~ "\tbackup. To preserve disk space, it is recommended that\n"
-#~ "\tyou do not include the web browser's cache.\n"
-#~ "\n"
-#~ " - Backup Other Files: \n"
-#~ "\n"
-#~ "\tThis option allows you to include additional data to save.\n"
-#~ "\tIf you want to add individual files, select them from the\n"
-#~ "\trighthand 'Files' list pane. To add directories, enter the \n"
-#~ "\tdirectory by clicking on it in the lefthand 'Folders' pane, \n"
-#~ "\tand at that point click 'OK' without selecting any files.\n"
-#~ " \n"
-#~ " - Incremental Backups:\n"
-#~ "\n"
-#~ "\tThe incremental backup is the most powerful option for \n"
-#~ "\tbackup. This option allows you to backup all your data \n"
-#~ "\tthe first time, and only the changed data afterward.\n"
-#~ "\tThen you will be able, during the restore step, to restore \n"
-#~ "\tyour data from a specified date. If you have not selected \n"
-#~ "\tthis option all old backups are deleted before each backup. \n"
-#~ "\n"
-#~ " - Differential Backups:\n"
-#~ " \n"
-#~ "\tThe differential backup, rather than comparing changes in the\n"
-#~ "\tdata to the previous incremental backup, always compares the\n"
-#~ "\tdata to the initial base backup. This method allows one to\n"
-#~ "\trestore the base and then the differential from a certain date.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Options Description:\n"
-#~ "\n"
-#~ " - Backup System Files:\n"
-#~ " \n"
-#~ "\tThis option allows you to backup your /etc directory,\n"
-#~ "\twhich contains all configuration files. Please be\n"
-#~ "\tcareful during the restore step to not overwrite:\n"
-#~ "\t\t/etc/passwd \n"
-#~ "\t\t/etc/group \n"
-#~ "\t\t/etc/fstab\n"
-#~ "\n"
-#~ " - Backup User Files: \n"
-#~ "\n"
-#~ "\tThis option allows you select all users that you want to \n"
-#~ "\tbackup. To preserve disk space, it is recommended that\n"
-#~ "\tyou do not include the web browser's cache.\n"
-#~ "\n"
-#~ " - Backup Other Files: \n"
-#~ "\n"
-#~ "\tThis option allows you to include additional data to save.\n"
-#~ "\tIf you want to add individual files, select them from the\n"
-#~ "\trighthand 'Files' list pane. To add directories, enter the \n"
-#~ "\tdirectory by clicking on it in the lefthand 'Folders' pane, \n"
-#~ "\tand at that point click 'OK' without selecting any files.\n"
-#~ " \n"
-#~ " - Incremental Backups:\n"
-#~ "\n"
-#~ "\tThe incremental backup is the most powerful option for \n"
-#~ "\tbackup. This option allows you to backup all your data \n"
-#~ "\tthe first time, and only the changed data afterward.\n"
-#~ "\tThen you will be able, during the restore step, to restore \n"
-#~ "\tyour data from a specified date. If you have not selected \n"
-#~ "\tthis option all old backups are deleted before each backup. \n"
-#~ "\n"
-#~ " - Differential Backups:\n"
-#~ " \n"
-#~ "\tThe differential backup, rather than comparing changes in the\n"
-#~ "\tdata to the previous incremental backup, always compares the\n"
-#~ "\tdata to the initial base backup. This method allows one to\n"
-#~ "\trestore the base and then the differential from a certain date.\n"
-#~ "\n"
+#: ../../standalone/logdrake_.c:429
+msgid "You will receive an alert if the load is higher than this value"
+msgstr "سوف تستلم تنبيها اذا كان التحميل أعلى من هذه القيمة"
-#~ msgid "Please check if you want to use the non-rewinding device."
-#~ msgstr ""
-#~ "فضلا قم بالتأشير هنا اذا كنت تريد استخدام جهاز غير قابل للرجوع الى الخلف."
+#: ../../standalone/logdrake_.c:444
+msgid "alert configuration"
+msgstr "إعدادات التنبيه"
-#~ msgid "Please enter your password"
-#~ msgstr "رجاء كلمة المرور"
+#: ../../standalone/logdrake_.c:445
+#, fuzzy
+msgid "Please enter your email address below "
+msgstr "رجاء كلمة المرور"
-#~ msgid ""
-#~ "\n"
-#~ " Some errors during sendmail are caused by \n"
-#~ " a bad configuration of postfix. To solve it you have to\n"
-#~ " set myhostname or mydomain in /etc/postfix/main.cf\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ " بعض أخطاء sendmail يكون سببها \n"
-#~ " تهيئة سيئة من postfix. لحل هذا المشكلة عليك\n"
-#~ " تعيين myhostname أو mydomain في ملف /etc/postfix/main.cf\n"
-#~ "\n"
+#: ../../standalone/logdrake_.c:486
+msgid "Save as.."
+msgstr "حفظ بإسم.."
-#~ msgid ""
-#~ "Please choose your CD/DVD device\n"
-#~ "(Press Enter to propogate settings to other fields.\n"
-#~ "This field isn't necessary, only a tool to fill in the form.)"
-#~ msgstr ""
-#~ "فضلاً اختر جهاز CD/DVD الخاص بك\n"
-#~ "(اضغط ادخال لنشر الإعدادات لحقول أخرى.\n"
-#~ "هذا الحقل ليس ضرورياً, انه مجرد أداة لملء الإستمارة.)"
+#: ../../standalone/mousedrake_.c:37
+msgid "Please, choose the type of your mouse."
+msgstr "فضلاً, اختر نوع الفأرة الخاصة بك."
-# c-format
-#~ msgid "Please check if you want to eject your tape after the backup."
-#~ msgstr "فضلا قم بالتأشير هنا اذا كنت تريد اخراج الشريط بعد النسخ الإحتياطي."
+#: ../../standalone/mousedrake_.c:50
+msgid "Emulate third button?"
+msgstr "محاكاة الزر الثالث؟"
-#~ msgid "Please check if you want to erase your tape before the backup."
-#~ msgstr "فضلا قم بالتأشير هنا اذا كنت تريد مسح الشريط قبل النسخ الإحتياطي."
+#: ../../standalone/net_monitor_.c:53 ../../standalone/net_monitor_.c:87
+#, fuzzy
+msgid "Network Monitoring"
+msgstr "ا عداد الشّبكة "
-#~ msgid "Please enter the host name or IP."
-#~ msgstr "فضلا أدخل اسم المستضيف أو عنوان IP."
+#: ../../standalone/net_monitor_.c:96
+#, fuzzy
+msgid "Profile "
+msgstr "التشكيل:"
-#~ msgid ""
-#~ " Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s@epita."
-#~ "fr>"
-#~ msgstr ""
-#~ " جميع الحقوق محفوظة (C) 2001 MandrakeSoft من دوبون سيباستيان "
-#~ "<dupont_s@epita.fr>"
+#: ../../standalone/net_monitor_.c:99
+msgid "Statistics"
+msgstr ""
-#~ msgid ""
-#~ "Options Description:\n"
-#~ "\n"
-#~ "Please be careful when you are using ftp backup, because only \n"
-#~ "backups that are already built are sent to the server.\n"
-#~ "So at the moment, you need to build the backup on your hard \n"
-#~ "drive before sending it to the server.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "وصف الخيارات:\n"
-#~ "\n"
-#~ "من فضلك كن حذراً عند استخدام النسخ الإحتياطي عبر FTP, لأن \n"
-#~ "النسخ المبنية مسبقاً فقط هي التي يتم ارسالها الى الخادم.\n"
-#~ "لذا فالآن عليك أن تبني النسخة الإحتياطية على القرص \n"
-#~ "الصلب قبل ارسالها الى الخادم.\n"
-#~ "\n"
+#: ../../standalone/net_monitor_.c:103
+#, fuzzy
+msgid "Sending Speed:"
+msgstr "جاري ارسال الملفات..."
-#~ msgid ""
-#~ "\n"
-#~ "Restore Backup Problems:\n"
-#~ "\n"
-#~ "During the restore step, Drakbackup will verify all your\n"
-#~ "backup files before restoring them.\n"
-#~ "Before the restore, Drakbackup will remove \n"
-#~ "your original directory, and you will loose all your \n"
-#~ "data. It is important to be careful and not modify the \n"
-#~ "backup data files by hand.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "مشاكل استعادة النسخ الإحتياطية:\n"
-#~ "\n"
-#~ "أثناء خطوة التثبيت, سيقوم Drakbackup بالتأكد من كل ملفات\n"
-#~ "النسخ الإحتياطي قبل استعادتها.\n"
-#~ "قبل الإستعادة سيقوم drakbackup بحذف \n"
-#~ "الدليل الأصلي و ستخسر كل البيانات التي \n"
-#~ "عليه. من المهم أن تكون حذراً و لا تقوم بتعديل \n"
-#~ "بيانات النسخ الإحتياطي يدوياً.\n"
+#: ../../standalone/net_monitor_.c:104
+msgid "Receiving Speed:"
+msgstr ""
-#~ msgid ""
-#~ " updates 2002 MandrakeSoft by Stew Benedict <sbenedict@mandrakesoft.com>"
-#~ msgstr ""
-#~ " تحديثات 2002 MandrakeSoft من Stew Benedict <sbenedict@mandrakesoft.com>"
+#: ../../standalone/net_monitor_.c:106
+#, fuzzy
+msgid "Connection Time: "
+msgstr "نوع العلاقة"
-#~ msgid ""
-#~ "Arguments: (arg, expr='*.*', dev='tty12')\n"
-#~ "\n"
-#~ "Enable/Disable syslog reports to console 12. \\fIexpr\\fP is the\n"
-#~ "expression describing what to log (see syslog.conf(5) for more details) "
-#~ "and\n"
-#~ "dev the device to report the log."
-#~ msgstr ""
-#~ "Arguments: (arg, expr='*.*', dev='tty12')\n"
-#~ "\n"
-#~ "Enable/Disable syslog reports to console 12. \\fIexpr\\fP is the\n"
-#~ "expression describing what to log (see syslog.conf(5) for more details) "
-#~ "and\n"
-#~ "dev the device to report the log."
+#: ../../standalone/net_monitor_.c:113
+msgid "Logs"
+msgstr ""
-#~ msgid "edit"
-#~ msgstr "حرّر"
+#: ../../standalone/net_monitor_.c:147
+#, fuzzy
+msgid "Wait please, testing your connection..."
+msgstr "رجاء انتظر أثناء عملية ttmkfdir..."
-#~ msgid ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ " Accept/Refuse broadcasted icmp echo."
-#~ msgstr ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ " Accept/Refuse broadcasted icmp echo."
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Connecting to Internet "
+msgstr "وصّل إلى الإنترنت "
-#~ msgid ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Enable/Disable libsafe if libsafe is found on the system."
-#~ msgstr ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Enable/Disable libsafe if libsafe is found on the system."
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Disconnecting from Internet "
+msgstr "وصّل إلى الإنترنت "
-#~ msgid ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Allow/Forbid remote root login."
-#~ msgstr ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Allow/Forbid remote root login."
+#: ../../standalone/net_monitor_.c:222
+msgid "Disconnection from Internet failed."
+msgstr ""
-#~ msgid "select perm file to see/edit"
-#~ msgstr "اختر ملف تصاريح لرؤيته/تحريره"
+#: ../../standalone/net_monitor_.c:223
+msgid "Disconnection from Internet complete."
+msgstr ""
-#~ msgid "path"
-#~ msgstr "المسار"
+#: ../../standalone/net_monitor_.c:225
+#, fuzzy
+msgid "Connection complete."
+msgstr "سرعة الإتصال"
-#~ msgid ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Enable/Disable the logging of IPv4 strange packets."
-#~ msgstr ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Enable/Disable the logging of IPv4 strange packets."
+#: ../../standalone/net_monitor_.c:226
+msgid ""
+"Connection failed.\n"
+"Verify your configuration in the Mandrake Control Center."
+msgstr ""
-#~ msgid ""
-#~ "Arguments: (arg, alert=1)\n"
-#~ "\n"
-#~ "Enable/Disable IP spoofing protection."
-#~ msgstr ""
-#~ "Arguments: (arg, alert=1)\n"
-#~ "\n"
-#~ "Enable/Disable IP spoofing protection."
+#: ../../standalone/net_monitor_.c:330
+#, fuzzy
+msgid "Color configuration"
+msgstr "إعدادات التنبيه"
-#~ msgid "permissions"
-#~ msgstr "التصاريح"
+#: ../../standalone/net_monitor_.c:383 ../../standalone/net_monitor_.c:403
+msgid "sent: "
+msgstr ""
-#~ msgid ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Enable/Disable msec hourly security check."
-#~ msgstr ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Enable/Disable msec hourly security check."
+#: ../../standalone/net_monitor_.c:390 ../../standalone/net_monitor_.c:407
+msgid "received: "
+msgstr ""
-#~ msgid "delete"
-#~ msgstr "حذف"
+#: ../../standalone/net_monitor_.c:397
+msgid "average"
+msgstr ""
-#~ msgid ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Accept/Refuse bogus IPv4 error messages."
-#~ msgstr ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Accept/Refuse bogus IPv4 error messages."
+#: ../../standalone/net_monitor_.c:400
+#, fuzzy
+msgid "Local measure"
+msgstr "طابعة محلية"
-#~ msgid ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Use password to authenticate users."
-#~ msgstr ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Use password to authenticate users."
+#: ../../standalone/net_monitor_.c:432
+msgid "transmitted"
+msgstr ""
-#~ msgid "user"
-#~ msgstr "المستخدم"
+#: ../../standalone/net_monitor_.c:433
+msgid "received"
+msgstr ""
-#~ msgid ""
-#~ "Standard: This is the standard security recommended for a computer that "
-#~ "will be used to connect\n"
-#~ " to the Internet as a client.\n"
-#~ "\n"
-#~ "High: There are already some restrictions, and more automatic "
-#~ "checks are run every night.\n"
-#~ "\n"
-#~ "Higher: The security is now high enough to use the system as a server "
-#~ "which can accept\n"
-#~ " connections from many clients. If your machine is only a "
-#~ "client on the Internet, you\n"
-#~ " should choose a lower level.\n"
-#~ "\n"
-#~ "Paranoid: This is similar to the previous level, but the system is "
-#~ "entirely closed and security\n"
-#~ " features are at their maximum\n"
-#~ "\n"
-#~ "Security Administrator:\n"
-#~ " If the 'Security Alerts' option is set, security alerts "
-#~ "will be sent to this user (username or\n"
-#~ " email)"
-#~ msgstr ""
-#~ "قياسي: هذا هو المستوى القياسي المنصوح به لكمبيوتر يقوم بالإتصال\n"
-#~ " بالإنترنت كعميل.\n"
-#~ "\n"
-#~ "مرتفع: توجد بعض القيود مسبقاً, و بعض الإختبارات يتم تشغيلها آلياً عند "
-#~ "كل ليلة.\n"
-#~ "\n"
-#~ "مرتقع أكثر: المستوى الأمني عالٍ بشكل كافٍ لاستخدام النظام كخادم يستطيع "
-#~ "أن يقبل\n"
-#~ " الإتصالات من عملاء كثيرين. اذا كان حاسبك مجرد عميل على "
-#~ "الإنترنت\n"
-#~ "\t فيجب عليك اختيار مستوى أقل.\n"
-#~ "\n"
-#~ "مرتقع جداً: هذا يماثل المستوى السابق, لكن النظام في هذه الحال يكون مغلقاً و "
-#~ "المزايا\n"
-#~ " الأمنية تكون على أقصى حد\n"
-#~ "\n"
-#~ "مدير الأمن:\n"
-#~ " اذا كان خيار 'التنبيهات الأمنية' مختاراً, فسيتم ارسال "
-#~ "تنبيهات أمنية الى المستخدم (بإسم المستخدم\n"
-#~ "\t أو البريد الألكتروني)"
+#: ../../standalone/net_monitor_.c:453
+#, fuzzy
+msgid ""
+"Warning, another internet connection has been detected, maybe using your "
+"network"
+msgstr "تحذير, تم ايجاد اتصال إنترنت آخر, ربما يكون يستخدم شبكتك"
-#~ msgid "Expert Area"
-#~ msgstr "منطقة الخبراء"
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Connect %s"
+msgstr "اتصل"
-#~ msgid "Wizard..."
-#~ msgstr "المعالج..."
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Disconnect %s"
+msgstr "اقطع الإتصال"
-#~ msgid " / Region"
-#~ msgstr " / المنطقة"
+#: ../../standalone/printerdrake_.c:47
+msgid "Reading printer data ..."
+msgstr "جاري قراءة بيانات الطابعة ..."
-#~ msgid "Country"
-#~ msgstr "البلد"
+#: ../../standalone/scannerdrake_.c:39
+msgid "Detecting devices ..."
+msgstr "جاري التحقق من الأجهزة ..."
-#~ msgid "Previous"
-#~ msgstr "السابق"
+#: ../../standalone/scannerdrake_.c:39
+msgid "Test ports"
+msgstr ""
-#~ msgid ""
-#~ "Options Description:\n"
-#~ "\n"
-#~ " In this step Drakbackup allow you to change:\n"
-#~ "\n"
-#~ " - The compression mode:\n"
-#~ " \n"
-#~ " If you check bzip2 compression, you will compress\n"
-#~ " your data better than gzip (about 2-10 %%).\n"
-#~ " This option is not checked by default because\n"
-#~ " this compression mode needs more time (about 1000%% more).\n"
-#~ " \n"
-#~ " - The update mode:\n"
-#~ "\n"
-#~ " This option will update your backup, but this\n"
-#~ " option is not really useful because you need to\n"
-#~ " decompress your backup before you can update it.\n"
-#~ " \n"
-#~ " - the .backupignore mode:\n"
-#~ "\n"
-#~ " Like with cvs, Drakbackup will ignore all references\n"
-#~ " included in .backupignore files in each directories.\n"
-#~ " ex: \n"
-#~ " #> cat .backupignore\n"
-#~ " *.o\n"
-#~ " *~\n"
-#~ " ...\n"
-#~ " \n"
-#~ "\n"
-#~ msgstr ""
-#~ "Options Description:\n"
-#~ "\n"
-#~ " In this step Drakbackup allow you to change:\n"
-#~ "\n"
-#~ " - The compression mode:\n"
-#~ " \n"
-#~ " If you check bzip2 compression, you will compress\n"
-#~ " your data better than gzip (about 2-10 %%).\n"
-#~ " This option is not checked by default because\n"
-#~ " this compression mode needs more time (about 1000%% more).\n"
-#~ " \n"
-#~ " - The update mode:\n"
-#~ "\n"
-#~ " This option will update your backup, but this\n"
-#~ " option is not really useful because you need to\n"
-#~ " decompress your backup before you can update it.\n"
-#~ " \n"
-#~ " - the .backupignore mode:\n"
-#~ "\n"
-#~ " Like with cvs, Drakbackup will ignore all references\n"
-#~ " included in .backupignore files in each directories.\n"
-#~ " ex: \n"
-#~ " #> cat .backupignore\n"
-#~ " *.o\n"
-#~ " *~\n"
-#~ " ...\n"
-#~ " \n"
-#~ "\n"
+#: ../../standalone/scannerdrake_.c:51 ../../standalone/scannerdrake_.c:66
+#: ../../standalone/scannerdrake_.c:79
+#, c-format
+msgid "The %s is not supported by this version of Mandrake Linux."
+msgstr ""
-#~ msgid "help"
-#~ msgstr "مساعدة"
+#: ../../standalone/scannerdrake_.c:54
+#, fuzzy, c-format
+msgid "%s found on %s, configure it?"
+msgstr "%s found on %s وفّق بينه "
-#~ msgid "Please check if you are using CDRW media"
-#~ msgstr "فضلا قم بالتأشير هنا اذا كنت تستخدم وسيط CDRW"
+#: ../../standalone/scannerdrake_.c:57
+#, c-format
+msgid "%s is not in the scanner database, configure it manually?"
+msgstr ""
-#~ msgid "Please check if you are using a DVDRAM device"
-#~ msgstr "فضلا قم بالتأشير هنا اذا كنت تستخدم جهاز DVDRAM"
+#: ../../standalone/scannerdrake_.c:63
+msgid "Select a scanner"
+msgstr "اختر جهاز المسح الضوئي"
-#~ msgid "Please check if you are using a DVDR device"
-#~ msgstr "فضلا قم بالتأشير هنا اذا كنت تستخدم جهاز DVDR"
+#: ../../standalone/scannerdrake_.c:91
+#, c-format
+msgid "This %s scanner is unsupported"
+msgstr "هذا %s الماسح الضّوئيّ غير مدعّم"
-#~ msgid "Please check for multisession CD"
-#~ msgstr "فضلا قم بالتأشير هنا اذا كنت تستخدم قرص مدمج متعدد الجلسات"
+#: ../../standalone/scannerdrake_.c:105
+#, c-format
+msgid ""
+"Scannerdrake was not able to detect your %s scanner.\n"
+"Please select the device where your scanner is plugged"
+msgstr ""
-#~ msgid "Version: %s\n"
-#~ msgstr "الإصدار: %s\n"
+#: ../../standalone/scannerdrake_.c:107
+msgid "choose device"
+msgstr "اختر الجهاز "
-#~ msgid "Importance: %s\n"
-#~ msgstr "الأهمية: %s\n"
+#: ../../standalone/scannerdrake_.c:113
+#, c-format
+msgid ""
+"This %s scanner must be configured by printerdrake.\n"
+"You can launch printerdrake from the Mandrake Control Center in Hardware "
+"section."
+msgstr ""
+"الماسح الضوئي %s يجب اعداده عن طريق PrinterDrake.\n"
+"يمكن تشغيل PrinterDrake من مركز التحكم في قسم العتاد."
-#~ msgid ""
-#~ "Which dhcp client do you want to use?\n"
-#~ "Default is dhcp-client."
-#~ msgstr ""
-#~ "أي عميل DHCP تريد أن تستخدم؟\n"
-#~ "الإفتراضي هو dhcp-client."
+#: ../../standalone/scannerdrake_.c:118
+#, c-format
+msgid ""
+"Your %s scanner has been configured.\n"
+"You may now scan documents using ``XSane'' from Multimedia/Graphics in the "
+"applications menu."
+msgstr ""
+"تمت تهيئة الماسح الضوئي %s.\n"
+"يمكنك الآن مسح المستندات باستخدام ``XSane'' من فرع وسائط متعددة/برامج رسومية "
+"في قائمة التطبيقات."
-#~ msgid "We are now going to configure the %s connection."
-#~ msgstr "نحن الآن سنقوم بتهيئة الوصلة %s."
+#: ../../standalone/service_harddrake_.c:44
+#, c-format
+msgid "Some devices in the \"%s\" hardware class were removed:\n"
+msgstr ""
-#~ msgid "Name: %s\n"
-#~ msgstr "الإسم: %s\n"
+#: ../../standalone/service_harddrake_.c:48
+msgid "Some devices were added:\n"
+msgstr ""
-#~ msgid "Size: %d KB\n"
-#~ msgstr "الحجم: %d كيلوبايت\n"
+#: ../../standalone/service_harddrake_.c:64
+msgid "Hardware probing in progress"
+msgstr ""
-#~ msgid ""
-#~ "Which ISDN configuration do you prefer?\n"
-#~ "\n"
-#~ "* The Old configuration uses isdn4net. It contains powerful\n"
-#~ " tools, but is tricky to configure, and not standard.\n"
-#~ "\n"
-#~ "* The New configuration is easier to understand, more\n"
-#~ " standard, but with less tools.\n"
-#~ "\n"
-#~ "We recommand the light configuration.\n"
-#~ msgstr ""
-#~ "ما هي تهيئة ISDN التي تفضلها؟\n"
-#~ "\n"
-#~ "* التهيئة القديمة تستخدم isdn4net. و هي تحتوي على أدوات\n"
-#~ " قوية و لكنها صعبة التهيئة, و غير قياسية.\n"
-#~ "\n"
-#~ "* التهيئة الجديدة أسهل في الفهم, و أكثر\n"
-#~ " قياسية, و لكن مع أدوات أقل.\n"
-#~ "\n"
-#~ "نحن نفضّل لك التهيئة الخفيفة.\n"
+#: ../../steps.pm_.c:14
+msgid "Choose your language"
+msgstr "اختر لغتك"
-#~ msgid "New configuration (isdn-light)"
-#~ msgstr "إعداد جديد (isdn-light)"
+#: ../../steps.pm_.c:15
+msgid "Select installation class"
+msgstr "اختر نوع التثبيت"
-#~ msgid "Old configuration (isdn4net)"
-#~ msgstr "إعداد قديم (isdn4net)"
+#: ../../steps.pm_.c:16
+msgid "Hard drive detection"
+msgstr "التحقق من الأقراص الصلبة"
-#~ msgid "Internet connection & configuration"
-#~ msgstr "وصلة الإنترنت و الإعدادات"
+#: ../../steps.pm_.c:17
+msgid "Configure mouse"
+msgstr "إعداد الفأرة"
-#~ msgid "Disconnect"
-#~ msgstr "اقطع الإتصال"
+#: ../../steps.pm_.c:18
+msgid "Choose your keyboard"
+msgstr "اختر لوحة المفاتيح الخاصة بك"
-#~ msgid "Connect"
-#~ msgstr "اتصل"
+#: ../../steps.pm_.c:19
+msgid "Security"
+msgstr "الأمن"
-#~ msgid ""
-#~ "\n"
-#~ "You can reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ "يمكنك اعادة تهيئة الوصلة."
+#: ../../steps.pm_.c:20
+msgid "Setup filesystems"
+msgstr "إعداد نظم الملفات"
-#~ msgid ""
-#~ "\n"
-#~ "You can connect to the Internet or reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ "يمكنك الآن الإتصال بالإنترنت أو اعادة تهيئة الوصلة."
+#: ../../steps.pm_.c:21
+msgid "Format partitions"
+msgstr "تجهيز التجزئات"
-#~ msgid "You are not currently connected to the Internet."
-#~ msgstr "أنت لست متصل بالإنترنت حالياً"
+#: ../../steps.pm_.c:22
+msgid "Choose packages to install"
+msgstr "اختر الحزم التي ستُثبَّت"
-#~ msgid ""
-#~ "\n"
-#~ "You can disconnect or reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ "يمكنك قطع الإتصال أو اعادة تهيئة الوصلة."
+#: ../../steps.pm_.c:23
+msgid "Install system"
+msgstr "تثبيت النظام"
-#~ msgid "You are currently connected to the Internet."
-#~ msgstr "أنت متصل بالإنترنت حالياً"
+#: ../../steps.pm_.c:25
+msgid "Add a user"
+msgstr "أضف مستخدم"
-#~ msgid "files sending by FTP"
-#~ msgstr "ارسال الملفات عن طريق FTP"
+#: ../../steps.pm_.c:26
+msgid "Configure networking"
+msgstr "تهيئة الشبكة"
-#~ msgid "Use incremental backup (do not replace old backups)"
-#~ msgstr "استخدم النسخ التراكمي (لا تستبدل النسخ الإحتياطية القديمة)"
+#: ../../steps.pm_.c:28
+msgid "Configure services"
+msgstr "تهيئة الخدمات"
-#~ msgid "Relaunch 'lilo'"
-#~ msgstr "أعد تشغيل 'lilo'"
+#: ../../steps.pm_.c:29
+msgid "Install bootloader"
+msgstr "تثبيت محمِّل الإقلاع"
-#~ msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
-#~ msgstr "اجعل initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
+#: ../../steps.pm_.c:31
+msgid "Create a bootdisk"
+msgstr "إعمل قرص إقلاع"
-#~ msgid "Copy %s to %s"
-#~ msgstr "انسخ %s الى %s"
+#: ../../steps.pm_.c:33
+msgid "Configure X"
+msgstr "تهيئة X"
-#~ msgid "Backup %s to %s.old"
-#~ msgstr "انسخ %s احتياطياً الى %s.old"
+#: ../../steps.pm_.c:34
+msgid "Install system updates"
+msgstr "تثبيت تحديثات النظام"
-#~ msgid "ttf fonts conversion"
-#~ msgstr "تحويل خطوط ttf"
+#: ../../steps.pm_.c:35
+msgid "Exit install"
+msgstr "الخروج من التثبيت"
-#~ msgid "Fonts conversion"
-#~ msgstr "تحويل الخطوط"
+#: ../../ugtk.pm_.c:636
+msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
+msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#~ msgid ""
-#~ "Choose the hard drive you want to erase in order to install your new\n"
-#~ "Mandrake Linux partition. Be careful, all data present on it will be "
-#~ "lost\n"
-#~ "and will not be recoverable!"
-#~ msgstr ""
-#~ "اختر القرص الصلب الذي تريد محوه لتثبيت تجزئة\n"
-#~ "Mandrake Linux الجديدة. خذ حذرك, كل البيانات الموجود عليه ستضيع\n"
-#~ "و لن يمكن استعادتها!"
+#: ../../ugtk2.pm_.c:711
+msgid "utopia 25"
+msgstr ""
-#~ msgid ""
-#~ "\"Sound card\": if a sound card is detected on your system, it is "
-#~ "displayed\n"
-#~ "here. If you notice the sound card displayed is not the one that is\n"
-#~ "actually present on your system, you can click on the button and choose\n"
-#~ "another driver."
-#~ msgstr ""
-#~ "\"بطاقة الصوت\": اذا تم اكتشاف بطاقة صوت على نظامك, سيتم عرضها\n"
-#~ "هنا. اذا لاحظت أن بطاقة الصوت المعروضة هنا ليست تلك الموجودة\n"
-#~ "فعلاً على نظامك, يمكنك النقر على الزر و اختيار مشغل\n"
-#~ "آخر."
+#: ../../share/compssUsers:999
+msgid "Web/FTP"
+msgstr "ويب/FTP"
-#~ msgid ""
-#~ "You can add additional entries in yaboot for other operating systems,\n"
-#~ "alternate kernels, or for an emergency boot image.\n"
-#~ "\n"
-#~ "For other OSs, the entry consists only of a label and the \"root\"\n"
-#~ "partition.\n"
-#~ "\n"
-#~ "For Linux, there are a few possible options:\n"
-#~ "\n"
-#~ " * Label: this is the name you will have to type at the yaboot prompt to\n"
-#~ "select this boot option.\n"
-#~ "\n"
-#~ " * Image: this would be the name of the kernel to boot. Typically, "
-#~ "vmlinux\n"
-#~ "or a variation of vmlinux with an extension.\n"
-#~ "\n"
-#~ " * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-#~ "\n"
-#~ " * Append: on Apple hardware, the kernel append option is often used to\n"
-#~ "assist in initializing video hardware, or to enable keyboard mouse "
-#~ "button\n"
-#~ "emulation for the missing 2nd and 3rd mouse buttons on a stock Apple "
-#~ "mouse.\n"
-#~ "The following are some examples:\n"
-#~ "\n"
-#~ " video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-#~ "hda=autotune\n"
-#~ "\n"
-#~ " video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-#~ "\n"
-#~ " * Initrd: this option can be used either to load initial modules before\n"
-#~ "the boot device is available, or to load a ramdisk image for an "
-#~ "emergency\n"
-#~ "boot situation.\n"
-#~ "\n"
-#~ " * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If "
-#~ "you\n"
-#~ "need to allocate a large ramdisk, this option can be used to specify a\n"
-#~ "ramdisk larger than the default.\n"
-#~ "\n"
-#~ " * Read-write: normally the \"root\" partition is initially mounted as\n"
-#~ "read-only, to allow a file system check before the system becomes "
-#~ "``live''.\n"
-#~ "You can override the default with this option.\n"
-#~ "\n"
-#~ " * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-#~ "problematic, you can select this option to boot in ``novideo'' mode, "
-#~ "with\n"
-#~ "native frame buffer support.\n"
-#~ "\n"
-#~ " * Default: selects this entry as being the default Linux selection,\n"
-#~ "selectable by pressing ENTER at the yaboot prompt. This entry will also "
-#~ "be\n"
-#~ "highlighted with a ``*'' if you press [Tab] to see the boot selections."
-#~ msgstr ""
-#~ "You can add additional entries in yaboot for other operating systems,\n"
-#~ "alternate kernels, or for an emergency boot image.\n"
-#~ "\n"
-#~ "For other OSs, the entry consists only of a label and the \"root\"\n"
-#~ "partition.\n"
-#~ "\n"
-#~ "For Linux, there are a few possible options:\n"
-#~ "\n"
-#~ " * Label: this is the name you will have to type at the yaboot prompt to\n"
-#~ "select this boot option.\n"
-#~ "\n"
-#~ " * Image: this would be the name of the kernel to boot. Typically, "
-#~ "vmlinux\n"
-#~ "or a variation of vmlinux with an extension.\n"
-#~ "\n"
-#~ " * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-#~ "\n"
-#~ " * Append: on Apple hardware, the kernel append option is often used to\n"
-#~ "assist in initializing video hardware, or to enable keyboard mouse "
-#~ "button\n"
-#~ "emulation for the missing 2nd and 3rd mouse buttons on a stock Apple "
-#~ "mouse.\n"
-#~ "The following are some examples:\n"
-#~ "\n"
-#~ " video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-#~ "hda=autotune\n"
-#~ "\n"
-#~ " video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-#~ "\n"
-#~ " * Initrd: this option can be used either to load initial modules before\n"
-#~ "the boot device is available, or to load a ramdisk image for an "
-#~ "emergency\n"
-#~ "boot situation.\n"
-#~ "\n"
-#~ " * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If "
-#~ "you\n"
-#~ "need to allocate a large ramdisk, this option can be used to specify a\n"
-#~ "ramdisk larger than the default.\n"
-#~ "\n"
-#~ " * Read-write: normally the \"root\" partition is initially mounted as\n"
-#~ "read-only, to allow a file system check before the system becomes "
-#~ "``live''.\n"
-#~ "You can override the default with this option.\n"
-#~ "\n"
-#~ " * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-#~ "problematic, you can select this option to boot in ``novideo'' mode, "
-#~ "with\n"
-#~ "native frame buffer support.\n"
-#~ "\n"
-#~ " * Default: selects this entry as being the default Linux selection,\n"
-#~ "selectable by pressing ENTER at the yaboot prompt. This entry will also "
-#~ "be\n"
-#~ "highlighted with a ``*'' if you press [Tab] to see the boot selections."
+#: ../../share/compssUsers:999
+msgid "Network Computer (client)"
+msgstr "جهاز شبكة (عميل)"
-#~ msgid ""
-#~ "DrakX will first detect any IDE devices present in your computer. It "
-#~ "will\n"
-#~ "also scan for one or more PCI SCSI cards on your system. If a SCSI card "
-#~ "is\n"
-#~ "found, DrakX will automatically install the appropriate driver.\n"
-#~ "\n"
-#~ "Because hardware detection is not foolproof, DrakX may fail in detecting\n"
-#~ "your hard drives. If so, You'll have to specify your hardware by hand.\n"
-#~ "\n"
-#~ "If you had to manually specify your PCI SCSI adapter, DrakX will ask if "
-#~ "you\n"
-#~ "want to configure options for it. You should allow DrakX to probe the\n"
-#~ "hardware for the card-specific options which are needed to initialize "
-#~ "the\n"
-#~ "adapter. Most of the time, DrakX will get through this step without any\n"
-#~ "issues.\n"
-#~ "\n"
-#~ "If DrakX is not able to probe for the options to automatically determine\n"
-#~ "which parameters need to be passed to the hardware, you'll need to "
-#~ "manually\n"
-#~ "configure the driver."
-#~ msgstr ""
-#~ "سيقوم DrakX أو?ً بالتحقق من وجود أجهزة IDE على هذا الكمبيوتر. سيقوم\n"
-#~ "أيضاً بالبحث عن بطاقات PCI SCSI على نظامك. اذا تم ايجاد بطاقة\n"
-#~ "SCSI,سيقوم DrakX بتثبيت المشغل المناسب أوتوماتيكياً.\n"
-#~ "\n"
-#~ "و ?ن عملية التحقق من العتاد ليست خالية من ا?خطاء, سيقوم DrakX بسؤالك عمّا "
-#~ "اذا\n"
-#~ "كانت لديك بطاقة PCI SCSI. النقر على \"نعم\" سيعرض قائمة ببطاقات SCSI\n"
-#~ "لتختار منها. انقر \"?\" اذا كنت تعلم أنه ? توجد بطاقات SCSI على\n"
-#~ "ماكينتك. اذا لم تكن متأكداً, يمكنك التأكد من قائمة العتاد التي تم ايجادها\n"
-#~ "على ماكينتك عن طريق اختيار \"عرض معلومات العتاد\" و نقر\n"
-#~ "\"التالي->\". تأكد من قائمة العتاد ثم اضغط على زر \"التالي\n"
-#~ "->\" للعودة الى شؤال واجهة SCSI.\n"
-#~ "\n"
-#~ "اذا اضطررت الى تحديد موائم PCI SCSI يدوياً, فسيسألك DrakX عمّا اذا كنت\n"
-#~ "تريد تهيئة الخيارات الخاصة بها. يجب أن تسمح لـ DrakX بأن يتحقق من\n"
-#~ "العتاد للخيارات الخاصة بالبطاقة و التي يٌُحتاج اليها ليتم بدء\n"
-#~ "عمل البطاقة. في أغلب ا?وقات, سيقوم DrakX بالخطوة دون أي\n"
-#~ "مشاكل.\n"
-#~ "\n"
-#~ "اذا لم يتمكن DrakX من التعرف على الخيارات الضروريةلتمريرها\n"
-#~ "الى العتاد, ففي هذه الحال ستحتاج الى تهيئة\n"
-#~ "المشغّل يدوياً."
+#: ../../share/compssUsers:999
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "خادم NFS, خادم SMB, خادم بروكسي, خادم ssh"
-#~ msgid ""
-#~ "After you have configured the general bootloader parameters, the list of\n"
-#~ "boot options that will be available at boot time will be displayed.\n"
-#~ "\n"
-#~ "If there are other operating systems installed on your machine they will\n"
-#~ "automatically be added to the boot menu. You can fine-tune the existing\n"
-#~ "options by clicking \"Add\" to create a new entry; selecting an entry "
-#~ "and\n"
-#~ "clicking \"Modify\" or \"Remove\" to modify or remove it. \"OK\" "
-#~ "validates\n"
-#~ "your changes.\n"
-#~ "\n"
-#~ "You may also not want to give access to these other operating systems to\n"
-#~ "anyone who goes to the console and reboots the machine. You can delete "
-#~ "the\n"
-#~ "corresponding entries for the operating systems to remove them from the\n"
-#~ "bootloader menu, but you will need a boot disk in order to boot those "
-#~ "other\n"
-#~ "operating systems!"
-#~ msgstr ""
-#~ "بعدما قمت بتهيئة المعام?ت العامة لمحمّل ا?قلاع, فسيتم\n"
-#~ "عرض قائمة خيارات ا?قلاع المتوفرة عند بدء التشغيل.\n"
-#~ "\n"
-#~ "اذا كانت هناك أنظمة تشغيل أخرى مثبتة على ماكينتك فسيتم اضافتها\n"
-#~ "آلياً الى قائمة ا?قلاع. يمكنك التحكم بالخيارات\n"
-#~ "الموجودة بنقر \"اضف\" ?نشاء مدخل جديد, و اختيار مدخل و\n"
-#~ "نقر \"تعديل\" أو \"حذف\" لتعديل أو حذف المدخل. \"موافق\" يتأكد\n"
-#~ "من تغييراتك.\n"
-#~ "\n"
-#~ "ربما ? تريد ?ي شخص يتمكن من اعادة تشغيل الماكينة أن يستطيع\n"
-#~ "الوصل الى أنظمة التشغيل ا?خرى. يمكنك حذف المداخل المقابلة\n"
-#~ "?نظمة التشغيل لحذفها من قائمة محمّل ا?قلاع, لكن في هذه الحالة ستحتاج الى "
-#~ "قرص\n"
-#~ "مرن للإق?ع كي تتمكن من الوصول الى أنظمة\n"
-#~ "التشغيل ا?خرى!"
+#: ../../share/compssUsers:999
+msgid "Office"
+msgstr "أدوات المكتب"
-#~ msgid ""
-#~ "Depending on the default language you chose in Section , DrakX will\n"
-#~ "automatically select a particular type of keyboard configuration. "
-#~ "However,\n"
-#~ "you might not have a keyboard that corresponds exactly to your language:\n"
-#~ "for example, if you are an English speaking Swiss person, you may have a\n"
-#~ "Swiss keyboard. Or if you speak English but are located in Quebec, you "
-#~ "may\n"
-#~ "find yourself in the same situation where your native language and "
-#~ "keyboard\n"
-#~ "do not match. In either case, this installation step will allow you to\n"
-#~ "select an appropriate keyboard from a list.\n"
-#~ "\n"
-#~ "Click on the \"More \" button to be presented with the complete list of\n"
-#~ "supported keyboards.\n"
-#~ "\n"
-#~ "If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
-#~ "dialog will allow you to choose the key binding that will switch the\n"
-#~ "keyboard between the Latin and non-Latin layouts."
-#~ msgstr ""
-#~ "اعتماداً على اللغة ا?فتراضية التي اخترتها في هذا القسم, سيقوم DrakX\n"
-#~ "باختيار تهيئة لوحة المفاتيح آلياً. عموماً,\n"
-#~ "ربما ليست لديك لوحة مفاتيح مقابلة بشكل مباشر للغتك:\n"
-#~ "مثلاً ربما تكون عربياً متكلماً باللغة ا?نجليزية, ربما تكون لديك\n"
-#~ "لوحة مفاتيح سويسرية. اذا كنت تتكلم ا?نجليزية لكن موجود في كيبك, ربما\n"
-#~ "تجد نفسك في نفس الموقف حيث ? تتطابق لغتك مع لوحة المفاتيح.\n"
-#~ "في الحالتين, ستسمح لك خطوة التثبيت ستسمح لك باختيار\n"
-#~ "لوحة مفاتيح مناسبة من القائمة.\n"
-#~ "\n"
-#~ "انقر زر \"المزيد\" لعرض قائمة بكل لوحات المفاتيح\n"
-#~ "المدعومة.\n"
-#~ "\n"
-#~ "اذا اخترت لوحة مفاتيح لحروف غير ?تينية, فسيسمح لك\n"
-#~ "مربع الحوار التالي باختيار اختصارات لوحة المفاتيح التي\n"
-#~ "ستغير وضع لوحة المفاتيح بين الحروف اللاتينية و الغير ?تينية."
+#: ../../share/compssUsers:999
+msgid "Gnome Workstation"
+msgstr "محطة عمل غنوم"
-#~ msgid ""
-#~ "This step is activated only if an old GNU/Linux partition has been found "
-#~ "on\n"
-#~ "your machine.\n"
-#~ "\n"
-#~ "DrakX now needs to know if you want to perform a new install or an "
-#~ "upgrade\n"
-#~ "of an existing Mandrake Linux system:\n"
-#~ "\n"
-#~ " * \"Install\": For the most part, this completely wipes out the old\n"
-#~ "system. If you wish to change how your hard drives are partitioned, or\n"
-#~ "change the file system, you should use this option. However, depending "
-#~ "on\n"
-#~ "your partitioning scheme, you can prevent some of your existing data "
-#~ "from\n"
-#~ "being over- written.\n"
-#~ "\n"
-#~ " * \"Upgrade\": this installation class allows you to update the "
-#~ "packages\n"
-#~ "currently installed on your Mandrake Linux system. Your current\n"
-#~ "partitioning scheme and user data is not altered. Most of other\n"
-#~ "configuration steps remain available, similar to a standard "
-#~ "installation.\n"
-#~ "\n"
-#~ "Using the ``Upgrade'' option should work fine on Mandrake Linux systems\n"
-#~ "running version \"8.1\" or later. Performing an Upgrade on versions "
-#~ "prior\n"
-#~ "to Mandrake Linux version \"8.1\" is not recommended."
-#~ msgstr ""
-#~ "يتم تنشيط هذه الخطوة فقط اذا تم ايجاد تجزئة لينكس قديمة\n"
-#~ "على جهازك.\n"
-#~ "\n"
-#~ "يحتاج DrakX ا?ن الى أن يعلم اذا كنت تريد التثبيت من الصفر أو\n"
-#~ "تريد ترقية نظام Mandrake Linux الموجود لديك مسبقاً:\n"
-#~ "\n"
-#~ " * \"تثبيت\": في ا?غلب تقوم بازالة النظام القديم\n"
-#~ "كلياً. اذا كنت تريد تغيير تجزئات القرص الصلب, أو تريد\n"
-#~ "تغيير نظام الملفات, عليك اختيار هذا الخيار. عموماً اعتمادا\n"
-#~ "على كيفية تجزئة القرص الصلب لديك. يمكنك منع ازالة بعض\n"
-#~ "بياناتك الموجودة مسبقاً.\n"
-#~ " * \"ترقية\": فئة التثبيت هذه تسمح لك بتحديث الحزم\n"
-#~ "على نظام Mandrake Linux الخاص بك. لن يتم تغيير\n"
-#~ "بياناتك أو تقسيمات القرص الصلب. أغلب خطوات التهيئة ا?خرى\n"
-#~ "لا تزال موجودة, مثل التثبيت الاعتيادي.\n"
-#~ "\n"
-#~ "استخدام خيار ``الترقية'' يجب أن يعمل بشكل جيد على\n"
-#~ "اصدارات Mandrake Linux \"8.1\" أو ما فوق. ? ينصح بالترقية\n"
-#~ "من اصادرات Mandrake Linux قبل \"8.1\"."
+#: ../../share/compssUsers:999
+msgid "Tools for your Palm Pilot or your Visor"
+msgstr "أدوات لجهاز بالم بايلوت أو فايزور ألخاص بك"
-#~ msgid ""
-#~ "At this point, DrakX will allow you to choose the security level desired\n"
-#~ "for the machine. As a rule of thumb, the security level should be set\n"
-#~ "higher if the machine will contain crucial data, or if it will be a "
-#~ "machine\n"
-#~ "directly exposed to the Internet. The trade-off of a higher security "
-#~ "level\n"
-#~ "is generally obtained at the expense of ease of use.\n"
-#~ "\n"
-#~ "If you do not know what to choose, keep the default option."
-#~ msgstr ""
-#~ "عند هذه النقطة, سيسمح لك DrakX باختيار المستوى الأمني الذي ترغب به\n"
-#~ "لهذه الماكينة. بديهياً, يجب تعيين مستوى أمني\n"
-#~ "عالٍ اذا كانت الماكينة تحتوي على معلومات هامة, أو اذا كانت الماكينة\n"
-#~ "ستُستخدم للإتصال بالإنترنت. ان استخدام مستوى أمني عالٍ يأتي\n"
-#~ "عادة على حساب سهولة الإستخدام.\n"
-#~ "\n"
-#~ "اذا لم تكن تريد الإختيار, احفظ الاختيار الإفتراضي."
+#: ../../share/compssUsers:999
+msgid "Workstation"
+msgstr "محطة عمل"
-#~ msgid ""
-#~ "Monitor\n"
-#~ "\n"
-#~ " The installer can normally automatically detect and configure the\n"
-#~ "monitor connected to your machine. If it is not the case, you can choose "
-#~ "in\n"
-#~ "this list the monitor you actually own."
-#~ msgstr ""
-#~ "الشاشة\n"
-#~ "\n"
-#~ " يمكن لبرنامج التثبيت اكتشاف و تهيئة الشاشة المتصلة بماكينتك\n"
-#~ "آلياً. ان لم يصل ذلك, يمكنك اختيار الشاشة التي لديك\n"
-#~ "من القائمة."
+#: ../../share/compssUsers:999
+msgid "Firewall/Router"
+msgstr "جدتر ناري/موجِّه"
-#~ msgid ""
-#~ "GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
-#~ "local time according to the time zone you selected. If the clock on your\n"
-#~ "motherboard is set to local time, you may deactivate this by unselecting\n"
-#~ "\"Hardware clock set to GMT \", which will let GNU/Linux know that the\n"
-#~ "system clock and the hardware clock are in the same timezone. This is\n"
-#~ "useful when the machine also hosts another operating system like "
-#~ "Windows.\n"
-#~ "\n"
-#~ "The \"Automatic time synchronization \" option will automatically "
-#~ "regulate\n"
-#~ "the clock by connecting to a remote time server on the Internet. For "
-#~ "this\n"
-#~ "feature to work, you must have a working Internet connection. It is best "
-#~ "to\n"
-#~ "choose a time server located near you. This option actually installs a "
-#~ "time\n"
-#~ "server that can used by other machines on your local network."
-#~ msgstr ""
-#~ "يقوم لينكس بإدارة الوقت حسب توقيت غرينتش ثم يترجمه الى\n"
-#~ "التوقيت المحلي حسب المنطقة الزمنية التي اخترتها. اذا كانت الساعة\n"
-#~ "التي في اللوحة الرئيسية مضبوطة على التوقيت المحلي, يمكنك ازالة تنشيط ذلك\n"
-#~ "عن طريق ازالة التأشير من \"ساعة الجهاز مضبوظة على توقيت غرينتش\" و التي "
-#~ "ستجعل\n"
-#~ "لينكس يعلم أن ساعة النظام و ساعة الجهاز على نفس التوقيت. هذا\n"
-#~ "مفيد عندما تستضيف الماكينة نظام تشغيل آخر مثل Windows.\n"
-#~ "\n"
-#~ "خيار \"تزامن آلي للوقت\" سيقوم آلياً بضبط الساعة عن طريق\n"
-#~ "ا?تصال بخادم وقت بعيد على ا?نترنت. كي تعمل هذه الميزة,\n"
-#~ "يجب أن تكون لديك وصلة انترنت عاملة. من ا?فضل اختيار خادم\n"
-#~ "الوقت ا?قرب اليك. هذا الخيار يثبت خادم وقت\n"
-#~ "يمكن استخدامه عن طريق الماكينات ا?خرى على الشبكة المحلية."
+#: ../../share/compssUsers:999
+msgid "Domain Name and Network Information Server"
+msgstr "خادم أسماء النطاثات و معلومات الشيكة"
-#~ msgid ""
-#~ "You will now set up your Internet/network connection. If you wish to\n"
-#~ "connect your computer to the Internet or to a local network, click "
-#~ "\"Next\n"
-#~ "->\". Mandrake Linux will attempt to autodetect network devices and "
-#~ "modems.\n"
-#~ "If this detection fails, uncheck the \"Use auto detection\" box. You may\n"
-#~ "also choose not to configure the network, or to do it later, in which "
-#~ "case\n"
-#~ "clicking the \"Cancel\" button will take you to the next step.\n"
-#~ "\n"
-#~ "When configuring your network, the available connections options are:\n"
-#~ "traditional modem, ISDN modem, ADSL connection, cable modem, and finally "
-#~ "a\n"
-#~ "simple LAN connection (Ethernet).\n"
-#~ "\n"
-#~ "We will not detail each configuration option - just make sure that you "
-#~ "have\n"
-#~ "all the parameters, such as IP address, default gateway, DNS servers, "
-#~ "etc.\n"
-#~ "from your Internet Service Provider or system administrator.\n"
-#~ "\n"
-#~ "You can consult the ``Starter Guide'' chapter about Internet connections\n"
-#~ "for details about the configuration, or simply wait until your system is\n"
-#~ "installed and use the program described there to configure your "
-#~ "connection."
-#~ msgstr ""
-#~ "ستقوم ا?ن بإعداد وصلة ا?نترنت/الشبكة الخاصة بك. اذا كنت تريد\n"
-#~ "توصيل جهازك با?نترنت أو للشبكة المحلية, انقر \"التالي ->\"\n"
-#~ "سيحاول Mandrake Linux أن يتحقق آلياً من وجود ا?جهزة و المودمات.\n"
-#~ "اذا فشل التحقق, أزل التأشبر من \"استخدم التحقق ا?لي\". ربما تختار\n"
-#~ "عدم تهيئة الشبكة, أو تريد أن تفعل ذلك, في هذه الحال\n"
-#~ "فإن ضغط زر \"الغاء\" سيأخذك الى الخطوة التالية.\n"
-#~ "\n"
-#~ "أثناء تهيئة الشبكة, فإن خيارات التوصيل المتوفرة هي:\n"
-#~ "مودم تقليدي, مودم ISDN, وصلة ADSL, مودم كيبل, و أخيراً\n"
-#~ "وصلة LAN بسيطة (ايثرنت).\n"
-#~ "\n"
-#~ "لن نذكر كل خيارات التهيئة بالتفصيل - فقط تأكد أنه لديك\n"
-#~ "كل المعاملات, مثل عنوان IP, البوابة ا?فتراضية, خادمات DNS, الخ.\n"
-#~ "من موفر خدمة ا?نترنت أو مدير النظام.\n"
-#~ "\n"
-#~ "يمكنك الرجوع الى الفصل الخاص بإعداد وصلة ا?نترنت في\n"
-#~ "``دليل المبتدئ'' للتفاصيل حول التهيئة, أو ببساطة انتظر حتى يتم\n"
-#~ "تثبيت النظام و استخدم البرنامج المذكور هناك ?عداد الوصلة."
+#: ../../share/compssUsers:999
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"برامج مكتبية: معالجة الكلمات (kword, abiword), الجداول الحسابية (kspread, "
+"gnumeric) , برامج عرض pdf, الخ"
-#~ msgid "Harddrake2 version "
-#~ msgstr "Harddrake2 الإصدار "
+#: ../../share/compssUsers:999
+msgid "Audio-related tools: mp3 or midi players, mixers, etc"
+msgstr "أدوات صوتية: مشغلات mp3 أو midi, مازجات صوت, الخ"
-#~ msgid "Author:"
-#~ msgstr "المؤلف:"
+#: ../../share/compssUsers:999
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
-#~ msgid ""
-#~ "This is HardDrake, a Mandrake hardware configuration tool.\n"
-#~ "Version:"
-#~ msgstr ""
-#~ "هذا هو HardDrake, أداة Mandrake لتهيئة العتاد.\n"
-#~ "الإصدار:"
+#: ../../share/compssUsers:999
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "كتب و مذكرات 'كيف أعمل' حول لينكس و البرامج الحرة"
-#~ msgid "Printer sharing"
-#~ msgstr "مشاركة الطابعات"
+#: ../../share/compssUsers:999
+msgid "KDE Workstation"
+msgstr "محطو عمل كيدي"
-#~ msgid ""
-#~ "Your printer belongs to the group of GDI laser printers (winprinters) "
-#~ "sold by different manufacturers which uses the Zenographics ZJ-stream "
-#~ "raster format for the data sent to the printer. The driver for these "
-#~ "printers is still in a very early development stage and so it will "
-#~ "perhaps not always work properly. Especially it is possible that the "
-#~ "printer only works when you choose the A4 paper size.\n"
-#~ "\n"
-#~ "Some of these printers, as the HP LaserJet 1000, for which this driver "
-#~ "was originally created, need their firmware to be uploaded to them after "
-#~ "they are turned on. In the case of the HP LaserJet 1000 you have to "
-#~ "search the printer's Windows driver CD or your Windows partition for the "
-#~ "file \"sihp1000.img\" and upload the file to the printer with one of the "
-#~ "following commands:\n"
-#~ "\n"
-#~ " lpr -o raw sihp1000.img\n"
-#~ " cat sihp1000.img > /dev/usb/lp0\n"
-#~ "\n"
-#~ "The first command can be given by any normal user, the second must be "
-#~ "given as root. After having done so you can print normally.\n"
-#~ msgstr ""
-#~ "Your printer belongs to the group of GDI laser printers (winprinters) "
-#~ "sold by different manufacturers which uses the Zenographics ZJ-stream "
-#~ "raster format for the data sent to the printer. The driver for these "
-#~ "printers is still in a very early development stage and so it will "
-#~ "perhaps not always work properly. Especially it is possible that the "
-#~ "printer only works when you choose the A4 paper size.\n"
-#~ "\n"
-#~ "Some of these printers, as the HP LaserJet 1000, for which this driver "
-#~ "was originally created, need their firmware to be uploaded to them after "
-#~ "they are turned on. In the case of the HP LaserJet 1000 you have to "
-#~ "search the printer's Windows driver CD or your Windows partition for the "
-#~ "file \"sihp1000.img\" and upload the file to the printer with one of the "
-#~ "following commands:\n"
-#~ "\n"
-#~ " lpr -o raw sihp1000.img\n"
-#~ " cat sihp1000.img > /dev/usb/lp0\n"
-#~ "\n"
-#~ "The first command can be given by any normal user, the second must be "
-#~ "given as root. After having done so you can print normally.\n"
+#: ../../share/compssUsers:999
+msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, الخ"
-#~ msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
-#~ msgstr "GDI Laser Printer using the Zenographics ZJ-Stream Format"
+#: ../../share/compssUsers:999
+msgid "Multimedia - Video"
+msgstr "وسائط متعدددة - فيديو"
-#~ msgid "Office"
-#~ msgstr "أدوات المكتب"
+#: ../../share/compssUsers:999
+msgid "Set of tools for mail, news, web, file transfer, and chat"
+msgstr "مجموعة من الأدوات للبريد , الأخبار, الإنترنت, نقل الملفات, و المحادثة"
-#~ msgid "Set of tools for mail, news, web, file transfer, and chat"
-#~ msgstr ""
-#~ "مجموعة من الأدوات للبريد , الأخبار, الإنترنت, نقل الملفات, و المحادثة"
+#: ../../share/compssUsers:999
+msgid "Database"
+msgstr "قواعد البيانات"
-#~ msgid "Games"
-#~ msgstr "الالعاب"
+#: ../../share/compssUsers:999
+msgid "PostgreSQL or MySQL database server"
+msgstr "خادم قواعد البيانات PostgreSQL أو MySQL"
-#~ msgid "Multimedia - Graphics"
-#~ msgstr "وسائط متعددة - رسوميات"
+#: ../../share/compssUsers:999
+msgid "Tools to ease the configuration of your computer"
+msgstr "أدوات لتسهيل إعداد جهازك"
-#~ msgid "Multimedia - Sound"
-#~ msgstr "وسائط متعددة - صوت"
+#: ../../share/compssUsers:999
+msgid "Multimedia - Sound"
+msgstr "وسائط متعددة - صوت"
-#~ msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-#~ msgstr "أدوات صوتية: مشغلات mp3 أو midi, مازجات صوت, الخ"
+#: ../../share/compssUsers:999
+msgid "Documentation"
+msgstr "وثائق المساعدة"
-#~ msgid "Multimedia - Video"
-#~ msgstr "وسائط متعدددة - فيديو"
+#: ../../share/compssUsers:999
+msgid "Console Tools"
+msgstr "أدوات سطر الأوامر"
-#~ msgid "Video players and editors"
-#~ msgstr "برامج تشغيل و تحرير الفيديو"
+#: ../../share/compssUsers:999
+msgid "Postfix mail server, Inn news server"
+msgstr "خادم البريد Postfix, خادم الأخبار Inn"
-#~ msgid "Multimedia - CD Burning"
-#~ msgstr "وسائط متعددة - نسخ أقراص"
+#: ../../share/compssUsers:999
+msgid "Internet station"
+msgstr "محطة انترنت"
-#~ msgid "Tools to create and burn CD's"
-#~ msgstr "أدوات لعمل و نسخ الأقراص"
+#: ../../share/compssUsers:999
+msgid "Multimedia station"
+msgstr "محطة وسائط متعددة"
-#~ msgid "More Graphical Desktops (Gnome, IceWM)"
-#~ msgstr "أسطح مكتب رسومية أكثر (Gnome, IceWM)"
+#: ../../share/compssUsers:999
+msgid "Configuration"
+msgstr "أدوات الإعدادات"
-#~ msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-#~ msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, الخ"
+#: ../../share/compssUsers:999
+msgid "More Graphical Desktops (Gnome, IceWM)"
+msgstr "أسطح مكتب رسومية أكثر (Gnome, IceWM)"
-#~ msgid "Personal Information Management"
-#~ msgstr "ادارة المعلومات الشخصية"
+#: ../../share/compssUsers:999
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"بيئة سطح مكتب كيدي, البيئة الرسومية الأساسية مع مجموعة من الأدوات المصاحبة"
-#~ msgid "Tools for your Palm Pilot or your Visor"
-#~ msgstr "أدوات لجهاز بالم بايلوت أو فايزور ألخاص بك"
+#: ../../share/compssUsers:999
+msgid "Graphical Environment"
+msgstr "بيئات رسومية"
-#~ msgid "Personal Finance"
-#~ msgstr "الميزانية الشخصية"
+#: ../../share/compssUsers:999
+msgid "Development"
+msgstr ""
-#~ msgid "Programs to manage your finances, such as gnucash"
-#~ msgstr "برامج لإدارة ميزانيتك مثل gnucash"
+#: ../../share/compssUsers:999
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
-#~ msgid "no network card found"
-#~ msgstr "لا بطاقة شبكة وجدت "
+#: ../../share/compssUsers:999
+msgid "Tools to create and burn CD's"
+msgstr "أدوات لعمل و نسخ الأقراص"
-#~ msgid ""
-#~ "Mandrake Linux 9.2 has selected the best software for you. Surf the Web "
-#~ "and view animations with Mozilla and Konqueror, or read your mail and "
-#~ "handle your personal information with Evolution and Kmail"
-#~ msgstr ""
-#~ "اختار Mandrake Linux 9.2 أفضل البرامج لك. تصفح الإنترنت و استعرض الصر "
-#~ "المتحركة باستخدام موزيللا و كونكيورر, أو اقرأ بريدك الألكتروني و تعامل مع "
-#~ "معلوماتك الشخصية باستخدام KMail و Evolution"
+#: ../../share/compssUsers:999
+msgid "Office Workstation"
+msgstr "محطة عمل مكتبية"
-#~ msgid "Get the most from the Internet"
-#~ msgstr "احصل على ما تريد من الإنترنت"
+#: ../../share/compssUsers:999
+msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, الخ"
-#~ msgid "Push multimedia to its limits!"
-#~ msgstr "استمتع بالوسائط المتعددة الى أقصى حد!"
+#: ../../share/compssUsers:999
+msgid "Graphics programs such as The Gimp"
+msgstr "برامج رسوميات مثل The Gimp"
-#~ msgid "Discover the most up-to-date graphical and multimedia tools!"
-#~ msgstr "اكتشف أحدث أدوات الوسائط المتعددة و برامج الرسم!"
+#: ../../share/compssUsers:999
+msgid "DNS/NIS "
+msgstr "DNS/NIS"
-#~ msgid ""
-#~ "Mandrake Linux 9.2 provides the best Open Source games - arcade, action, "
-#~ "strategy, ..."
-#~ msgstr ""
-#~ "Mandrake Linux 9.2 يوفر أفضل الألعاب مفتوحة المصدر - أركيد, حركة, "
-#~ "استراتيجية, ..."
+#: ../../share/compssUsers:999
+msgid "C and C++ development libraries, programs and include files"
+msgstr "برامج و مكتبات تطوير C و C++"
-#~ msgid ""
-#~ "Mandrake Linux 9.2 provides a powerful tool to fully customize and "
-#~ "configure your machine"
-#~ msgstr "يوفر Mandrake Linux 9.2 أداة قوية لتخصيص و تهيئة جهازك"
+#: ../../share/compssUsers:999
+msgid "Network Computer server"
+msgstr "خادم شبكات"
-#~ msgid "User interfaces"
-#~ msgstr "واجهات الإستخدام"
+#: ../../share/compssUsers:999
+msgid "Mail/Groupware/News"
+msgstr "بريد/أدوات مجموعات/أخبار"
-#~ msgid ""
-#~ "Use the full power of the GNU gcc 3 compiler as well as the best Open "
-#~ "Source development environments"
-#~ msgstr ""
-#~ "استفيد من كل قوة المترجم GNU gcc 3 بالإضافة الى أفضل بيئات التطوير مفتوحة "
-#~ "المصادر"
+#: ../../share/compssUsers:999
+msgid "Game station"
+msgstr "محطة ألعاب"
-#~ msgid "Development simplified"
-#~ msgstr "البرمجة ولا أسهل"
+#: ../../share/compssUsers:999
+msgid "Video players and editors"
+msgstr "برامج تشغيل و تحرير الفيديو"
-#~ msgid ""
-#~ "This firewall product includes network features that allow you to fulfill "
-#~ "all your security needs"
-#~ msgstr ""
-#~ "منتج الجدار الناري هذا يحتوي على مزايا للشبكة توفر كل احتياجاتك الأمنية"
+#: ../../share/compssUsers:999
+msgid "Multimedia - Graphics"
+msgstr "وسائط متعددة - رسوميات"
-#~ msgid ""
-#~ "The MandrakeSecurity range includes the Multi Network Firewall product (M."
-#~ "N.F.)"
-#~ msgstr "منتجات MandrakeSecurity تتضمن Multi Network Firewall (M.N.F.)"
+#: ../../share/compssUsers:999
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "برامج التسلية: ألعاب فيديو, ألعاب لوحات, ألعاب ستراتيجية, الخ"
-#~ msgid "Strategic partners"
-#~ 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..) و "
+"لتصفح الإنترنت"
-#~ msgid ""
-#~ "Whether you choose to teach yourself online or via our network of "
-#~ "training partners, the Linux-Campus catalogue prepares you for the "
-#~ "acknowledged LPI certification program (worldwide professional technical "
-#~ "certification)"
-#~ msgstr ""
-#~ "سواء اخترت أن تعلم نفسك بنفسك عبر الإنترنت أو عبر شبكتنا من شركاءنا في "
-#~ "مجال التبريد, يحضرك دليل Linux-Campus لبرنامج شهادة LPI المعترف يها في "
-#~ "جميع أنحاء العالم."
-
-#~ msgid "Certify yourself on Linux"
-#~ msgstr "احصل على شهادة معتمدة في لينكس"
+#: ../../share/compssUsers:999
+msgid "Personal Finance"
+msgstr "الميزانية الشخصية"
-#~ msgid ""
-#~ "The training program has been created to respond to the needs of both end "
-#~ "users and experts (Network and System administrators)"
-#~ msgstr ""
-#~ "تم عمل برنامج التدريب كي يستجيب الى احتياجات كلٍ من المستخدمين و الخبراء "
-#~ "(مدراء الشبكة و الأنظمة)"
+#: ../../share/compssUsers:999
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"بيئة رسومية مع مجموعة من التطبيقات و أدوات سطح المكتب المناسبة للمستخدمين "
+"العاديين"
-#~ msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
-#~ msgstr "اكتشف دليل تدريب MandrakeSoft Linux-Campus"
+#: ../../share/compssUsers:999
+msgid "Clients for different protocols including ssh"
+msgstr "عملاء لبروتوكولات مختلفة مثل ssh"
-#~ msgid ""
-#~ "MandrakeClub and Mandrake Corporate Club were created for business and "
-#~ "private users of Mandrake Linux who would like to directly support their "
-#~ "favorite Linux distribution while also receiving special privileges. If "
-#~ "you enjoy our products, if your company benefits from our products to "
-#~ "gain a competititve edge, if you want to support Mandrake Linux "
-#~ "development, join MandrakeClub!"
-#~ msgstr ""
-#~ "تم انشاء MandrakeClub و Mandrake Corporate Club للشركات و المستخدمين "
-#~ "الأفراد الذين يريدون دعم توزيعة لينكس المفضلة لديهم بشكل مباشر مع تمتعهم "
-#~ "بمزايا خاصة. اذا كانت منتجاتنا قد حازت على اعجابك, اذا كانت شركتك تستفيد "
-#~ "من منتجاتنا و تساعدها على زيادة قدرتها التنافسية, اذا كنت تريد دعم تطوير "
-#~ "Mandrake Linux, التحق بنادي MandrakeClub!"
-
-#~ msgid "Discover MandrakeClub and Mandrake Corporate Club"
-#~ msgstr "اكتشف MandrakeClub للأفراد و Mandrake Corporate Club للشركات"
+#: ../../share/compssUsers:999
+msgid "LSB"
+msgstr ""
-#~ msgid ""
-#~ "As a review, DrakX will present a summary of various information it has\n"
-#~ "about your system. Depending on your installed hardware, you may have "
-#~ "some\n"
-#~ "or all of the following entries:\n"
-#~ "\n"
-#~ " * \"Mouse\": check the current mouse configuration and click on the "
-#~ "button\n"
-#~ "to change it if necessary.\n"
-#~ "\n"
-#~ " * \"%s\": check the current keyboard map configuration and click on\n"
-#~ "the button to change that if necessary.\n"
-#~ "\n"
-#~ " * \"%s\": check the current country selection. If you are not in this\n"
-#~ "country, click on the button and choose another one.\n"
-#~ "\n"
-#~ " * \"Timezone\": By default, DrakX deduces your time zone based on the\n"
-#~ "primary language you have chosen. But here, just as in your choice of a\n"
-#~ "keyboard, you may not be in a country to which the chosen language\n"
-#~ "corresponds. You may need to click on the \"Timezone\" button to\n"
-#~ "configure the clock for the correct timezone.\n"
-#~ "\n"
-#~ " * \"Printer\": clicking on the \"No Printer\" button will open the "
-#~ "printer\n"
-#~ "configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-#~ "Guide'' for more information on how to setup a new printer. The "
-#~ "interface\n"
-#~ "presented there is similar to the one used during installation.\n"
-#~ "\n"
-#~ " * \"Bootloader\": if you wish to change your bootloader configuration,\n"
-#~ "click that button. This should be reserved to advanced users.\n"
-#~ "\n"
-#~ " * \"Graphical Interface\": by default, DrakX configures your graphical\n"
-#~ "interface in \"800x600\" resolution. If that does not suits you, click "
-#~ "on\n"
-#~ "the button to reconfigure your graphical interface.\n"
-#~ "\n"
-#~ " * \"Network\": If you want to configure your Internet or local network\n"
-#~ "access now, you can by clicking on this button.\n"
-#~ "\n"
-#~ " * \"Sound card\": if a sound card is detected on your system, it is\n"
-#~ "displayed here. If you notice the sound card displayed is not the one "
-#~ "that\n"
-#~ "is actually present on your system, you can click on the button and "
-#~ "choose\n"
-#~ "another driver.\n"
-#~ "\n"
-#~ " * \"TV card\": if a TV card is detected on your system, it is displayed\n"
-#~ "here. If you have a TV card and it is not detected, click on the button "
-#~ "to\n"
-#~ "try to configure it manually.\n"
-#~ "\n"
-#~ " * \"ISDN card\": if an ISDN card is detected on your system, it will be\n"
-#~ "displayed here. You can click on the button to change the parameters\n"
-#~ "associated with the card."
-#~ msgstr ""
-#~ "للمراجعة, سيقوم DrakX بعرض ملخص للمعلومات التي لديه\n"
-#~ "عن نظامك. اعتماداً على العتاد الموجود لديك, قد تكون لديك بعض\n"
-#~ "أو كل المدخلات التالية:\n"
-#~ " * \"الفأرة\": تأكد من اعدادات الفأرة الحالية و انقر الزر عند الحاجة الى\n"
-#~ "تغيير ا?عدادات.\n"
-#~ "\n"
-#~ " * \"لوحة المفاتيح\": تأكد من اعدادات خريطة لوحة المفاتيح و انقر\n"
-#~ "الزر عند الحاجة الى تغيير ا?عدادات.\n"
-#~ "\n"
-#~ " * \"البلد\":تأكد من صحة اختيار البلد. ان لم تكن في البلد\n"
-#~ "المذكورة, انقر الزر و اختر بلداً آخر.\n"
-#~ "\n"
-#~ " * \"المنطقة الزمنية\":يقوم DrakX باستنتاج منطقتك الزمنية بناء على\n"
-#~ "اللغة التي اخترتها. لكن هنا, تماماً مثل اختيارك للوحة المفاتيح,\n"
-#~ "قد ? تكون في البلد التي تختص بها اللغة المختارة.\n"
-#~ "ربما تحتاج الى النقر على زر \"المنطقة الزمنية\"لتهيئة\n"
-#~ "الساعة للمنطقة الزمنية الصحيحة.\n"
-#~ "\n"
-#~ " * \"الطابعة\": الضغط على زر \"? طابعةسيفتح معالج\n"
-#~ "تهيئة الطابعات. الق نظرة على الفضل المخصص للطابعات من ``دليل\n"
-#~ "المبتدئ'' لمزيد من المعلومات حول كيفية تهيئة طابعة جديدة. الواجهة\n"
-#~ "المقدمة هنا مماثلة لتلك المستخدمة أثناء التثبيت.\n"
-#~ "\n"
-#~ " * \"محمّل ا?قلاع\": اذا كنت تود تغيير اعدادات محمّل ا?قلاع,\n"
-#~ "انقر هذا الزر. يجب عمل هذا فقط عن طريق المستخدمين المتقدمين.\n"
-#~ "\n"
-#~ " * \"الواجهة الرسومية\": يقوم DrakX افتراضياً بتعيين دقة عرض\n"
-#~ "\"800x600\". اذا لم يناسب هذا احتياجاتك, انقر \n"
-#~ "الزر ?عادة تهيئة الواجهة الرسومية.\n"
-#~ "\n"
-#~ " * \"الشبكة\": اذا كنت تريد تهيئة ا?تصال با?نترنت أو الشبكة المحلية\n"
-#~ "ا?ن, يمكنك فعل هذا عن طريق النقر على هذا الزر.\n"
-#~ "\n"
-#~ " * \"بطاقة الصوت\": اذا تم التحقق من وجود بطاقة صوت في نظامك, سيتم\n"
-#~ "عرضها هنا. اذا وجدت أن بطاقة الصوت المعروضة ليست هي التي توجد\n"
-#~ "فعلياً على نظامك, يمكنك نقر الزر و اختيار\n"
-#~ "مشغل آخر.\n"
-#~ " * \"بطاقة التلفاز\": اذا تم التحقق من وجود بطاقة تلفاز في نظامك, سيتم\n"
-#~ "عرضها هنا. اذا لم يتم اكتشاف بطاقة التلفاز الخاصة بك, انقر الزر\n"
-#~ "لتهيئتها يدوياً.\n"
-#~ "\n"
-#~ " * \"بطاقة ISDN\": اذا تم التحقق من وجود بطاقة ISDN على نظامك, سيتم\n"
-#~ "عرضها هنا. يمكنك النقر على الزر لتغيير المعاملات\n"
-#~ "المرتبطة بالبطاقة."
+#: ../../share/compssUsers:999
+msgid "Internet gateway"
+msgstr "بوابة انترنت"
-#~ msgid ""
-#~ "DrakX will first detect any IDE devices present in your computer. It "
-#~ "will\n"
-#~ "also scan for one or more PCI SCSI cards on your system. If a SCSI card "
-#~ "is\n"
-#~ "found, DrakX will automatically install the appropriate driver.\n"
-#~ "\n"
-#~ "Because hardware detection is not foolproof, DrakX will ask you if you "
-#~ "have\n"
-#~ "a PCI SCSI installed. Clicking \" Yes\" will display a list of SCSI "
-#~ "cards\n"
-#~ "to choose from. Click \"No\" if you know that you have no SCSI hardware "
-#~ "in\n"
-#~ "your machine. If you're not sure, you can check the list of hardware\n"
-#~ "detected in your machine by selecting \"See hardware info \" and "
-#~ "clicking\n"
-#~ "the \"%s\". Examine the list of hardware and then click on the \"Next\n"
-#~ "->\" button to return to the SCSI interface question.\n"
-#~ "\n"
-#~ "If you had to manually specify your PCI SCSI adapter, DrakX will ask if "
-#~ "you\n"
-#~ "want to configure options for it. You should allow DrakX to probe the\n"
-#~ "hardware for the card-specific options which are needed to initialize "
-#~ "the\n"
-#~ "adapter. Most of the time, DrakX will get through this step without any\n"
-#~ "issues.\n"
-#~ "\n"
-#~ "If DrakX is not able to probe for the options to automatically determine\n"
-#~ "which parameters need to be passed to the hardware, you'll need to "
-#~ "manually\n"
-#~ "configure the driver."
-#~ msgstr ""
-#~ "سيقوم DrakX أو?ً بالتحقق من وجود أجهزة IDE على هذا الكمبيوتر. سيقوم\n"
-#~ "أيضاً بالبحث عن بطاقات PCI SCSI على نظامك. اذا تم ايجاد بطاقة\n"
-#~ "SCSI,سيقوم DrakX بتثبيت المشغل المناسب أوتوماتيكياً.\n"
-#~ "\n"
-#~ "و ?ن عملية التحقق من العتاد ليست خالية من ا?خطاء, سيقوم DrakX بسؤالك عمّا "
-#~ "اذا\n"
-#~ "كانت لديك بطاقة PCI SCSI. النقر على \"نعم\" سيعرض قائمة ببطاقات SCSI\n"
-#~ "لتختار منها. انقر \"?\" اذا كنت تعلم أنه ? توجد بطاقات SCSI على\n"
-#~ "ماكينتك. اذا لم تكن متأكداً, يمكنك التأكد من قائمة العتاد التي تم ايجادها\n"
-#~ "على ماكينتك عن طريق اختيار \"عرض معلومات العتاد\" و نقر\n"
-#~ "\"التالي->\". تأكد من قائمة العتاد ثم اضغط على زر \"التالي\n"
-#~ "->\" للعودة الى شؤال واجهة SCSI.\n"
-#~ "\n"
-#~ "اذا اضطررت الى تحديد موائم PCI SCSI يدوياً, فسيسألك DrakX عمّا اذا كنت\n"
-#~ "تريد تهيئة الخيارات الخاصة بها. يجب أن تسمح لـ DrakX بأن يتحقق من\n"
-#~ "العتاد للخيارات الخاصة بالبطاقة و التي يٌُحتاج اليها ليتم بدء\n"
-#~ "عمل البطاقة. في أغلب ا?وقات, سيقوم DrakX بالخطوة دون أي\n"
-#~ "مشاكل.\n"
-#~ "\n"
-#~ "اذا لم يتمكن DrakX من التعرف على الخيارات الضروريةلتمريرها\n"
-#~ "الى العتاد, ففي هذه الحال ستحتاج الى تهيئة\n"
-#~ "المشغّل يدوياً."
+#: ../../share/compssUsers:999
+msgid "Sound and video playing/editing programs"
+msgstr "برامج تحرير/تشغيل الفيدية و الصوت"
-#~ msgid ""
-#~ "Now, it's time to select a printing system for your computer. Other OSs "
-#~ "may\n"
-#~ "offer you one, but Mandrake Linux offers two. Each of the printing "
-#~ "systems\n"
-#~ "is best for a particular type of configuration.\n"
-#~ "\n"
-#~ " * \"pdq\" -- which is an acronym for ``print, don't queue'', is the "
-#~ "choice\n"
-#~ "if you have a direct connection to your printer, you want to be able to\n"
-#~ "panic out of printer jams, and you do not have networked printers. "
-#~ "(\"pdq\n"
-#~ "\" will handle only very simple network cases and is somewhat slow when\n"
-#~ "used with networks.) It's recommended that you use \"pdq \" if this is "
-#~ "your\n"
-#~ "first experience with GNU/Linux.\n"
-#~ "\n"
-#~ " * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n"
-#~ "printing to your local printer or to one halfway around the planet. It "
-#~ "is\n"
-#~ "simple to configure and can act as a server or a client for the ancient\n"
-#~ "\"lpd \" printing system, so it compatible with older operating systems\n"
-#~ "that may still need print services. While quite powerful, the basic "
-#~ "setup\n"
-#~ "is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, "
-#~ "make\n"
-#~ "sure to turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n"
-#~ "front-ends for printing or choosing printer options and for managing the\n"
-#~ "printer.\n"
-#~ "\n"
-#~ "If you make a choice now, and later find that you don't like your "
-#~ "printing\n"
-#~ "system you may change it by running PrinterDrake from the Mandrake "
-#~ "Control\n"
-#~ "Center and clicking the expert button."
-#~ msgstr ""
-#~ "ا?ن, حان وقت اختيار نظام الطباعة لنظامك. توفر أنظمة التشغيل ا?خرى\n"
-#~ "نظام طباعة واحد, لكن Mandrake Linux يوفر لك نظامين. كل نظام مناسب\n"
-#~ "لنوغ معين من التهيئة.\n"
-#~ "\n"
-#~ " * \"pdq\"--و هو اختصار لـ``print, don't queue'' أي ``اطبع و ? تصف'', هذا "
-#~ "هو الخيار ا?مثل\n"
-#~ "اذا كانت لديك وصلة مباشرة بالطابعة, و تريد تفادي أي ارتباك في الطابعة\n"
-#~ "و لديك طابعات على الشبكة.(يقوم \"pdq\" بالتعامل مع حا?ت الشبكة البسيطة\n"
-#~ "و يعيبه البطئ عند ا?ستخدام مع الشبكات). من ا?فضل أن تستخدم \"pdq\" اذا.\n"
-#~ "كانت هذه تجربتك ا?ولى مع نظام لينكس.\n"
-#~ "\n"
-#~ " * \"%s\" - ``Common UNIX Printing System'', هو الخيار ا?مثل\n"
-#~ "للطباعة على طابعتك المحلية أو حتى على طابعة في النصف ا?خر من الكوكب. انه\n"
-#~ "سهل ا?عداد و يمكن أن يتصرف كخادم أو كعميل ?نظمة طباعة \"lpd\"\n"
-#~ "القديمة, لذا فإنه متوافق مع أنظمة التشغيل القديمة\n"
-#~ "التي ? تزال تحتاج الى خدمات الطباعة.بينما التهيئة سهلة\n"
-#~ "و قوية مثل \"pdq\". اذا كنت تحتاج الى محاكاة خادم \"lpd\", تأكد\n"
-#~ "من تشغيل مراقب \"cups-lpd\". يحتوي CUPS على واجهات\n"
-#~ "رسومية للطباعة أو اختيار خيارات الطابعة و إدارة\n"
-#~ "الطابعة.\n"
-#~ "\n"
-#~ "اذا قمت يتقرير اختيارك ا?ن, ثم لم يعجبك نظام الطباعة\n"
-#~ "فيما بعد, يمكنك تغييره عن طريق تشغيل PrinterDrake من مركز تحكم Mandrake\n"
-#~ "و النقر على زر الخبير."
+#: ../../share/compssUsers:999
+msgid "Other Graphical Desktops"
+msgstr "أسطخ مكتب رسومية أخرى"
-#~ msgid ""
-#~ "Your choice of preferred language will affect the language of the\n"
-#~ "documentation, the installer and the system in general. Select first the\n"
-#~ "region you are located in, and then the language you speak.\n"
-#~ "\n"
-#~ "Clicking on the \"%s\" button will allow you to select other\n"
-#~ "languages to be installed on your workstation, thereby installing the\n"
-#~ "language-specific files for system documentation and applications. For\n"
-#~ "example, if you will host users from Spain on your machine, select "
-#~ "English\n"
-#~ "as the default language in the tree view and \"Espanol\" in the Advanced\n"
-#~ "section.\n"
-#~ "\n"
-#~ "Note that you're not limited to choosing a single additional language. "
-#~ "Once\n"
-#~ "you have selected additional locales, click the \"%s\" button to\n"
-#~ "continue.\n"
-#~ "\n"
-#~ "To switch between the various languages installed on the system, you can\n"
-#~ "launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n"
-#~ "language used by the entire system. Running the command as a regular "
-#~ "user\n"
-#~ "will only change the language settings for that particular user."
-#~ msgstr ""
-#~ "اختيارك للغة المفضلة سيؤثر على لغة وثائق المساعدة\n"
-#~ "و برنامج التثبيت و النظام بشكل عام. أو?ً اختر المنطقة التي\n"
-#~ "تتواجد فيها, ثم اللغة التي تتحدث بها.\n"
-#~ "\n"
-#~ "ضغط زر \"متقدم\" سيسمح لك باختيار لغات\n"
-#~ "أخرى ليتم تثبيتها على محطة العمل الخاصة بك,و من ثم\n"
-#~ "تثبيت الملفات الخاصة باللغات لوثائق المساعدة و التطبيقات, مثلاً\n"
-#~ "اذا كنت ستستضيف مستخدمين من أسبانيا على ماكينتك, اختر ا?نجليزية\n"
-#~ "كلغة افتراضية في النمط الشجري و \"ا?سبانية\" في القسم\n"
-#~ "المتقدم.\n"
-#~ "?حظ أنك لست مقيداً باختيار لغة واحدة اضافية. حال\n"
-#~ "اختيارك للإعدادات المحلية, اضغط زر \"التالي ->\"\n"
-#~ "للمتابعة.\n"
-#~ "\n"
-#~ "للتغيير بين اللغات المتعددة المثبتة على النظام, يمكنك\n"
-#~ "تشغيل ا?مر \"/usr/sbin/localedrake\"كمستخدم جذر لتغيير\n"
-#~ "اللغة المستخدمة عن طريق النظام ككل. تشغيل ا?مر كمستخدم عادي\n"
-#~ "سيغير فقط اعدادات اللغة لهذا المستخدم فقط."
+#: ../../share/compssUsers:999
+msgid "Editors, shells, file tools, terminals"
+msgstr "محررات نصوص, أغلفة, أدوات ملفات, طرفيات"
-#~ msgid ""
-#~ "\"%s\": check the current country selection. If you are not in this\n"
-#~ "country, click on the button and choose another one."
-#~ msgstr ""
-#~ "\"البلد\": تأكد من اختيار البلد الحالي. اذا لم تكن في هذا\n"
-#~ "البلد, اضغط على الزر و اختر بلداً آخر."
+#: ../../share/compssUsers:999
+msgid "Programs to manage your finance, such as gnucash"
+msgstr "برامج لإدارة ميزانيتك مثل gnucash"
-#~ msgid ""
-#~ "At this point, DrakX will allow you to choose the security level desired\n"
-#~ "for the machine. As a rule of thumb, the security level should be set\n"
-#~ "higher if the machine will contain crucial data, or if it will be a "
-#~ "machine\n"
-#~ "directly exposed to the Internet. The trade-off of a higher security "
-#~ "level\n"
-#~ "is generally obtained at the expense of ease of use. Refer to the \"msec"
-#~ "\"\n"
-#~ "chapter of the ``Command Line Manual'' to get more information about the\n"
-#~ "meaning of these levels.\n"
-#~ "\n"
-#~ "If you do not know what to choose, keep the default option."
-#~ msgstr ""
-#~ "عند هذه النقطة, سيسمح لك DrakX باختيار المستوى الأمني الذي ترغب به\n"
-#~ "لهذه الماكينة. بديهياً, يجب تعيين مستوى أمني\n"
-#~ "عالٍ اذا كانت الماكينة تحتوي على معلومات هامة, أو اذا كانت الماكينة\n"
-#~ "ستُستخدم للإتصال بالإنترنت. ان استخدام مستوى أمني عالٍ يأتي\n"
-#~ "عادة على حساب سهولة الإستخدام. راجع فضل \"msec\"\n"
-#~ "في ``دليل سطر الأوامر'' للحصول على مزيد من المعلومات حول\n"
-#~ "معنى هذه المستويات.\n"
-#~ "\n"
-#~ "اذا لم تكن تريد الإختيار, احفظ الاختيار الإفتراضي."
+#: ../../share/compssUsers:999
+msgid "Personal Information Management"
+msgstr "ادارة المعلومات الشخصية"
-#~ msgid ""
-#~ "At the time you are installing Mandrake Linux, it is likely that some\n"
-#~ "packages have been updated since the initial release. Bugs may have been\n"
-#~ "fixed, security issues resolved. To allow you to benefit from these\n"
-#~ "updates, you are now able to download them from the Internet. Choose\n"
-#~ "\"Yes\" if you have a working Internet connection, or \"No\" if you "
-#~ "prefer\n"
-#~ "to install updated packages later.\n"
-#~ "\n"
-#~ "Choosing \"Yes\" displays a list of places from which updates can be\n"
-#~ "retrieved. Choose the one nearest you. A package-selection tree will\n"
-#~ "appear: review the selection, and press \"Install\" to retrieve and "
-#~ "install\n"
-#~ "the selected package( s), or \"Cancel\" to abort."
-#~ msgstr ""
-#~ "في الوقت الذي تقوم فيه بتثبيت Mandrake Linux, قد يكون تم تحديث\n"
-#~ "بعض الحزم منذ ا?صدار المبدئي, ربما يكون تم اصلاح بعض العيوب\n"
-#~ "أو تم حل المشاكل ا?منية. لكي تستفيد من هذه التحديثات,يمكنك\n"
-#~ "ا?ن تنزيل هذه التحديثات عبر ا?نترنت. اختر\n"
-#~ "\"نعم\" اذا كانت لديك وصلة انترنت عاملة, أو \"?\" اذا كنت تفضل\n"
-#~ "تثبيت هذه التحديثات ?حقاً.\n"
-#~ "\n"
-#~ "اختيار \"نعم\" يعرض قائمة با?ماكن التي يمكن منها الحصول\n"
-#~ "على التحديثات. اختر المكان الأقرب اليك. سيتم عرض قائمة بالحزم\n"
-#~ "راجع اختياراتك, ثم اضغط \"ثبّت\" لتنزيل و تثبيت\n"
-#~ "الحزم المختارة, أو \"الغاء\" ?حباط التحديث."
+#: ../../share/compssUsers:999
+msgid "Multimedia - CD Burning"
+msgstr "وسائط متعددة - نسخ أقراص"
-#~ msgid ""
-#~ "At this point, you need to decide where you want to install the Mandrake\n"
-#~ "Linux operating system on your hard drive. If your hard drive is empty "
-#~ "or\n"
-#~ "if an existing operating system is using all the available space you "
-#~ "will\n"
-#~ "have to partition the drive. Basically, partitioning a hard drive "
-#~ "consists\n"
-#~ "of logically dividing it to create the space needed to install your new\n"
-#~ "Mandrake Linux system.\n"
-#~ "\n"
-#~ "Because the process of partitioning a hard drive is usually irreversible\n"
-#~ "and can lead to lost data if there is an existing operating system "
-#~ "already\n"
-#~ "installed on the drive, partitioning can be intimidating and stressful "
-#~ "if\n"
-#~ "you are an inexperienced user. Fortunately, DrakX includes a wizard "
-#~ "which\n"
-#~ "simplifies this process. Before continuing with this step, read through "
-#~ "the\n"
-#~ "rest of this section and above all, take your time.\n"
-#~ "\n"
-#~ "Depending on your hard drive configuration, several options are "
-#~ "available:\n"
-#~ "\n"
-#~ " * \"Use free space\": this option will perform an automatic "
-#~ "partitioning\n"
-#~ "of your blank drive(s). If you use this option there will be no further\n"
-#~ "prompts.\n"
-#~ "\n"
-#~ " * \"Use existing partition\": the wizard has detected one or more "
-#~ "existing\n"
-#~ "Linux partitions on your hard drive. If you want to use them, choose "
-#~ "this\n"
-#~ "option. You will then be asked to choose the mount points associated "
-#~ "with\n"
-#~ "each of the partitions. The legacy mount points are selected by default,\n"
-#~ "and for the most part it's a good idea to keep them.\n"
-#~ "\n"
-#~ " * \"Use the free space on the Windows partition\": if Microsoft Windows "
-#~ "is\n"
-#~ "installed on your hard drive and takes all the space available on it, "
-#~ "you\n"
-#~ "have to create free space for Linux data. To do so, you can delete your\n"
-#~ "Microsoft Windows partition and data (see `` Erase entire disk'' "
-#~ "solution)\n"
-#~ "or resize your Microsoft Windows FAT partition. Resizing can be "
-#~ "performed\n"
-#~ "without the loss of any data, provided you previously defragment the\n"
-#~ "Windows partition and that it uses the FAT format. Backing up your data "
-#~ "is\n"
-#~ "strongly recommended.. Using this option is recommended if you want to "
-#~ "use\n"
-#~ "both Mandrake Linux and Microsoft Windows on the same computer.\n"
-#~ "\n"
-#~ " Before choosing this option, please understand that after this\n"
-#~ "procedure, the size of your Microsoft Windows partition will be smaller\n"
-#~ "then when you started. You will have less free space under Microsoft\n"
-#~ "Windows to store your data or to install new software.\n"
-#~ "\n"
-#~ " * \"Erase entire disk\": if you want to delete all data and all "
-#~ "partitions\n"
-#~ "present on your hard drive and replace them with your new Mandrake Linux\n"
-#~ "system, choose this option. Be careful, because you will not be able to\n"
-#~ "undo your choice after you confirm.\n"
-#~ "\n"
-#~ " !! If you choose this option, all data on your disk will be "
-#~ "deleted. !!\n"
-#~ "\n"
-#~ " * \"Remove Windows\": this will simply erase everything on the drive "
-#~ "and\n"
-#~ "begin fresh, partitioning everything from scratch. All data on your disk\n"
-#~ "will be lost.\n"
-#~ "\n"
-#~ " !! If you choose this option, all data on your disk will be lost. !!\n"
-#~ "\n"
-#~ " * \"Custom disk partitionning\": choose this option if you want to\n"
-#~ "manually partition your hard drive. Be careful -- it is a powerful but\n"
-#~ "dangerous choice and you can very easily lose all your data. That's why\n"
-#~ "this option is really only recommended if you have done something like "
-#~ "this\n"
-#~ "before and have some experience. For more instructions on how to use the\n"
-#~ "DiskDrake utility, refer to the ``Managing Your Partitions '' section in\n"
-#~ "the ``Starter Guide''."
-#~ msgstr ""
-#~ "في هذه النقطة, عليك أن تقرر أين تريد تثبيت نظام\n"
-#~ "التشغيل Mandrake Linux على القرص الصلب الخاص بك. اذا كان القرص الصلب\n"
-#~ "قارغاً أو أن نظام تشغيل آخر يستخدم كل المساحة المتوفرة فسوف\n"
-#~ "تحتاج الى تجزئة القرص الصلب. بشكل عام,. فإن تجزئةالقرص الصلب\n"
-#~ "تعني تقسيم القرص الصلب منطقياً ?نشاء المساحة المطلوبة لتثبيت\n"
-#~ "نظام Mandrake Linux الجديد الخاص بك.\n"
-#~ "\n"
-#~ "?ن عملية تقسيم القرص الصلب غير قابلة للتراجع عادةًَ\n"
-#~ "كما أنها قد تتسبب في خسارة للبيانات اذا كان هناك نظام تشغيل\n"
-#~ "آخر مثبت على هذا القرص الصلب, تجزئة القرص قد يكون مزعجاً و مثيراً للضغط\n"
-#~ "اذا كنت مستخدماً محترقاً. من حسن الحظ, يوفر DrakX معالجاً يسهل العملية.\n"
-#~ "قبل متابعة هذه الخطوة, اقرأ بقية هذا القسم و قبل كل شئ, خذ وقتك.\n"
-#~ "\n"
-#~ "اعتماداً على اعدادات القرص الصلب, تتوفر العديد من الخيارات:\n"
-#~ "\n"
-#~ " * \"استخدام المساحة الفارغة\": هذا الخيار سيقوم بعملية تجزئة آلية\n"
-#~ "للأقراص الصلبة الفارغة. اذا استخدمت هذا الخيار, لن تكون هناك اشعارات\n"
-#~ "أخرى.\n"
-#~ " * \"استخدام التجزئة الموجودة\": يكون المعالج قد اكتشف تجزئة أو أكثر من\n"
-#~ "تجزئات لينكس على القرص الصلب. اذا كنت تريد استخدامها, اختر هذا\n"
-#~ "الخيار. سيتم بعد ذلك سؤالك عن نقاط التحميل المرتبطة بكل\n"
-#~ "تجزئة. يتم اختيار نقاط التجزئة المعتادة افتراضياً,\n"
-#~ "و ?غلب المستخدمين فإنها فكرة جيدة تركها كما هي.\n"
-#~ "\n"
-#~ " * \"استخدام المساحة الفارغة على تجزئة Windows\": اذا\n"
-#~ "كان Microsoft Windows مثبت على القرص الصلب و يحتل كل المساحة التي عليه,\n"
-#~ "ستحتاج الى انشاء مساحة فارغة لبيانات لينكس. لعمل ذلك يمكنك حذف\n"
-#~ "تجزئة و بيانات Microsoft Windows (انظر حل ``ازالة كل القرص'')\n"
-#~ "أو قم بإعادة تحجيم تجزئة Microsoft Windows FAT. يمكن عمل اعادة التحجيم\n"
-#~ "دون أي خسارة للبيانات, لكن يجب عليك قبل ذلك بإزالة تجزئة القرص "
-#~ "(defragmenting)\n"
-#~ "الذي يستخدم تنسيق FAT. نسخ بياناتك احتياطياً يفضّل\n"
-#~ "بشدة.. استخدام هذا الخيار منصوح به اذا كنت تريد استخدام \n"
-#~ "كل من Mandrake Linux و Microsoft Windows على نفس الكمبيوتر.\n"
-#~ "\n"
-#~ " قبل اختيارك لهذا الخيار, عليك أن تعلم أنه بعد هذا\n"
-#~ "ا?جراء, ستتقلص مساحة تجزئة Microsoft Windows عن ما قبل\n"
-#~ "ستكون لديك مساحة فارغة أقل على Microsoft Windows\n"
-#~ "لتخزين بياناتك و تثبيت برامج جديدة.\n"
-#~ "\n"
-#~ " * \"مسح كل القرص\": اذا كنت تريد حذف كل البيانات و كل التجزئات\n"
-#~ "الموجودة على القرص الصلب و ابدالها بنظام Mandrake Linux الجديد\n"
-#~ "الخاص بك, اختر هذا الخيار. كن حذراً, ?نك لن تتمكن من التراجع\n"
-#~ "بعد أن تقوم بالتأكيد.\n"
-#~ "\n"
-#~ " !!! اذا اخترت هذا الخيار سيتم حذف كل البيانات الموجودة على القرص. !!\n"
-#~ "\n"
-#~ " * \"حذف Windows\": سيقوم هذا الخيار ببساطة بمحو كل شء على القرص و\n"
-#~ "يبدأ التثبيت من الصفر. ستضيع كل البيانات على\n"
-#~ "القرص.\n"
-#~ "\n"
-#~ " * \"تجزئة مخصصة للقرص\": اختر هذا الخيار اذا كنت تريد\n"
-#~ "تقسيم القرص الصلب بشكل يدوي. كن حذراً -- هذا الخيار قوي\n"
-#~ "لكنه خطير و من الممكن أن تفقد بياناتك بسهولة. لهذا فإن\n"
-#~ "هذا الخيار مفضّل فقط اذا كنت قد قمت بشئ مماثل من فبل \n"
-#~ "و لديك بعض الخبرة. لمزيد من التعليمات حول استخدام أداة DiskDrake\n"
-#~ "راجع قسم ``ادارة التجزئات'' في\n"
-#~ "``دليل المبتدئ''."
+#: ../../share/compssUsers:999
+msgid "Scientific Workstation"
+msgstr "محطة عمل علمية"
-#~ msgid ""
-#~ "This step is used to choose which services you wish to start at boot "
-#~ "time.\n"
-#~ "\n"
-#~ "DrakX will list all the services available on the current installation.\n"
-#~ "Review each one carefully and uncheck those which are not always needed "
-#~ "at\n"
-#~ "boot time.\n"
-#~ "\n"
-#~ "A short explanatory text will be displayed about a service when it is\n"
-#~ "selected. However, if you are not sure whether a service is useful or "
-#~ "not,\n"
-#~ "it is safer to leave the default behavior.\n"
-#~ "\n"
-#~ "!! At this stage, be very careful if you intend to use your machine as a\n"
-#~ "server: you will probably not want to start any services that you do not\n"
-#~ "need. Please remember that several services can be dangerous if they are\n"
-#~ "enabled on a server. In general, select only the services you really "
-#~ "need.\n"
-#~ "!!"
-#~ msgstr ""
-#~ "هذه الخطوة هي ?ختيار الخدمات التي سيتم تشغيلها عند بدء التشغيل.\n"
-#~ "\n"
-#~ "سيقوم DrakX بعرض قائمة بكل الخدمات المتوفرة في هذا التثبيت.\n"
-#~ "راجع كل خدمة بتمعن و قم بإزالة التأشير من تلك الخدمات التي ? تحتاجها\n"
-#~ "بشكل دائم عند ا?قلاع.\n"
-#~ "\n"
-#~ "سيتم عرض شرح قصير حول الخدمة عند\n"
-#~ "اختيارها. عموماً, اذا لم تكن متأكد ما اذا كانت الخدمة مفيدة أم ?,\n"
-#~ "فمن ا?فضل ترك الخيار ا?فتراضي.\n"
-#~ "\n"
-#~ "!! في هذه المرحلة كن حذراُ اذا كنت تريد استخدام ماكينتك\n"
-#~ "كخادم: ربما لن تريد بدء أي خدمات ? تحتاجها.\n"
-#~ "فضلاً تذكر أن العديد من الخدمات قد تكون خطرة اذا كانت\n"
-#~ "متاحة على الخادم. بشكل عام اختر فقط الخدمات التي تحتاجها.\n"
-#~ "!!"
+#~ msgid "can not open /etc/inittab for reading: %s"
+#~ msgstr "لم يمكن فتح /etc/inittab للقراءة: %s"
-#~ msgid ""
-#~ "\"Printer\": clicking on the \"No Printer\" button will open the printer\n"
-#~ "configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-#~ "Guide'' for more information on how to setup a new printer. The "
-#~ "interface\n"
-#~ "presented there is similar to the one used during installation."
-#~ msgstr ""
-#~ "\"الطابعة\": النقر على \"لا طابعة\" سيفتح معالج تهيئة\n"
-#~ "الطابعة. اقرأ الفضل المختص في ``دليل المبتدئ''\n"
-#~ "لكزيد من المعلومات عن كيفية اعداد طابعة جديدة. الواجهة\n"
-#~ "هناك مماثلة لتلك المستخدمة أثناء التثبين."
+#, fuzzy
+#~ msgid "cpu number "
+#~ msgstr "رقم التّليفون "
-#~ msgid ""
-#~ "The following printers are configured. Double-click on a printer to "
-#~ "change its settings; to make it the default printer; to view information "
-#~ "about it; or to make a printer on a remote CUPS server available for Star "
-#~ "Office/OpenOffice.org/GIMP."
-#~ msgstr ""
-#~ "تمت تهيئة الطابعات الآتية. انقر نقرة مزدوجة على الطابعة لتغيير اعداداتها "
-#~ "لجعلها طابعة افتراضية أو لرؤية معلومات حولها أو لجعل اطابعة على خادم CUPS "
-#~ "البعيد متوفرة لـStar Office/OpenOffice.org/GIMP."
+#~ msgid "Proxy configuration"
+#~ msgstr "إعداد البروكسي"
-#~ msgid ""
-#~ "You are about to configure your computer to install a PXE server as a "
-#~ "DHCP server\n"
-#~ "and a TFTP server to build an installation server.\n"
-#~ "With that feature, other computers on your local network will be "
-#~ "installable using from this computer.\n"
-#~ "\n"
-#~ "Make sure you have configured your Network/Internet access using "
-#~ "drakconnect before going any further.\n"
-#~ "\n"
-#~ "Note: you need a dedicated Network Adapter to set up a Local Area Network "
-#~ "(LAN)."
-#~ msgstr ""
-#~ "أنت على وشك تهيئة جهازك لتثبيت خادم PXE كخادم DHCP\n"
-#~ "و خادم TFTP لبناء خادم تثبيت.\n"
-#~ "باستخدام هذه الميزة تكون الحواسيب الأخرى على الشبكة المحلية قابلة للتثبيت "
-#~ "من هذا الجهاز.\n"
-#~ "\n"
-#~ "تأكد من أنك قمت بتهيئة الشبكة/الإنترنت باستخدام drakconnect قبل "
-#~ "المتابعة.\n"
-#~ "\n"
-#~ "ملحوظة: تحتاج الى موائم شبكة مخصص لإعداد الشبكة المحلية (LAN)."
+#~ msgid "URL"
+#~ msgstr "عنوان"
-#~ msgid ""
-#~ "The cpu frequency in Mhz (Mega herz which in first approximation may be "
-#~ "coarsely assimilated to number of instructions the cpu is able to execute "
-#~ "per second)"
-#~ msgstr ""
-#~ "تردد المعالج بالميغاهيرتز (الميغاهيرتز تشير الى العدد التقريبي من "
-#~ "التعليمات التي يستطيع المعالج تنفيذها في الثانية الواحدة)"
+#~ msgid "-misc-fixed-medium-r-*-*-*-100-*-*-*-*-*-*,*"
+#~ msgstr "-misc-fixed-medium-r-*-*-*-100-*-*-*-*-*-*,*"
-#~ 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''."
+#~ msgid "-misc-fixed-bold-r-*-*-*-100-*-*-*-*-*-*,*"
+#~ msgstr "-misc-fixed-bold-r-*-*-*-100-*-*-*-*-*-*,*"
+#, fuzzy
#~ msgid ""
-#~ "The classic bug sound tester is to run the following commands:\n"
-#~ "\n"
-#~ "\n"
-#~ "- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card "
-#~ "use\n"
-#~ "by default\n"
-#~ "\n"
-#~ "- \"grep snd-slot /etc/modules.conf\" will tell you what driver it\n"
-#~ "currently uses\n"
-#~ "\n"
-#~ "- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-#~ "loaded or not\n"
-#~ "\n"
-#~ "- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" "
-#~ "will\n"
-#~ "tell you if sound and alsa services're configured to be run on\n"
-#~ "initlevel 3\n"
-#~ "\n"
-#~ "- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-#~ "\n"
-#~ "- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound "
-#~ "card.\n"
-#~ msgstr ""
-#~ "The classic bug sound tester is to run the following commands:\n"
-#~ "\n"
-#~ "\n"
-#~ "- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card "
-#~ "use\n"
-#~ "by default\n"
-#~ "\n"
-#~ "- \"grep snd-slot /etc/modules.conf\" will tell you what driver it\n"
-#~ "currently uses\n"
-#~ "\n"
-#~ "- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-#~ "loaded or not\n"
-#~ "\n"
-#~ "- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" "
-#~ "will\n"
-#~ "tell you if sound and alsa services're configured to be run on\n"
-#~ "initlevel 3\n"
-#~ "\n"
-#~ "- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-#~ "\n"
-#~ "- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound "
-#~ "card.\n"
-
-#~ msgid "DrakFloppy Error: %s"
-#~ msgstr "خطأ فى دريك لعمل قرص بدء النظام: %s"
-
-#~ msgid "Launch Aurora at boot time"
-#~ msgstr "شغّل Aurora عند الإقلاع"
-
-#~ msgid "Traditional Gtk+ Monitor"
-#~ msgstr "شاشة Gtk+ التقليدية"
-
-#~ msgid "Traditional Monitor"
-#~ msgstr "شاشة تقليدية"
-
-#~ msgid "NewStyle Monitor"
-#~ msgstr "شاشة NewStyle"
-
-#~ msgid "NewStyle Categorizing Monitor"
-#~ msgstr "شاشة NewStyle التصنيفية"
-
-#~ msgid "Secure Connection"
-#~ msgstr "وصلة آمنة"
-
-#~ msgid "FTP Connection"
-#~ msgstr "وصلة FTP"
-
-#~ msgid "Mail/Groupware/News"
-#~ msgstr "بريد/أدوات مجموعات/أخبار"
-
-#~ msgid "Postfix mail server, Inn news server"
-#~ msgstr "خادم البريد Postfix, خادم الأخبار Inn"
-
-#~ msgid "/Options"
-#~ msgstr "/خيارات"
+#~ "Warning, another internet connexion has been detected, maybe using your "
+#~ "network"
+#~ msgstr "تحذير, تم ايجاد اتصال إنترنت آخر, ربما يكون يستخدم شبكتك"
-#~ msgid "/Autodetect jazz drives"
-#~ msgstr "/تحقق آلي من سواقات Jazz"
+#~ msgid "no help implemented yet.\n"
+#~ msgstr "لا توجد مساعدة لهذا حتى الآن.\n"
-#~ msgid "/Autodetect modems"
-#~ msgstr "/تحقق آلي من أجهزة المودم"
+#~ msgid "Please click on a medium"
+#~ msgstr "فضلا اضعط على وسيط"
-#~ msgid "/Autodetect printers"
-#~ msgstr "/تحقق آلي من الطابعات"
-
-#~ 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 ""
-#~ "التجزئة التي اخترتها كتجزئة جذرية (/) موجودة مادياً بعد\n"
-#~ "الإسطوانة 1024 من القرص الصلب, و ليست لديك تجزئة /boot.\n"
-#~ "اذا كنت تنوي استخدام LILO كمدير اقلاع فلا تنسى اضافة تجزئة /boot"
+#~ msgid "usage: drakfloppy\n"
+#~ msgstr "الاستخدام: دريك للاقراص المرنة\n"
+#, fuzzy
#~ 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"
-
-#~ msgid "Install system updates"
-#~ msgstr "تثبيت تحديثات النظام"
-
-#~ msgid "Do you want to configure another printer?"
-#~ msgstr "هل تريد تجربة إعداد طابعة أخرى؟"
-
-#~ msgid "Know how to use this printer"
-#~ msgstr "اعرف كيف تستخدم هذه الطابعة"
-
-#~ msgid "Preparing Printerdrake..."
-#~ msgstr "جاري تجهيز Printerdrake..."
-
-#~ msgid "192.168.100.0/255.255.255.0\n"
-#~ msgstr "192.168.100.0/255.255.255.0\n"
-
-#~ msgid "192.168.100.0/24\n"
-#~ msgstr "192.168.100.0/24\n"
-
-#~ msgid "10.1.*\n"
-#~ msgstr "10.1.*\n"
-
-#~ msgid "10.0.0.*\n"
-#~ msgstr "10.0.0.*\n"
-
-#~ msgid "192.168.100.194\n"
-#~ msgstr "192.168.100.194\n"
+#~ "\n"
+#~ "Usage: harddrake [-h|--help] [--test]\n"
+#~ msgstr "الاستعمال: keyboarddrake [--expert][لوحة المفاتيح]\n"
-#~ msgid "Reading printer data ..."
-#~ msgstr "جاري قراءة بيانات الطابعة ..."
+#~ msgid "usage: keyboarddrake [--expert] [keyboard]\n"
+#~ msgstr "الاستعمال: keyboarddrake [--expert][لوحة المفاتيح]\n"
diff --git a/perl-install/share/po/az.po b/perl-install/share/po/az.po
index c5f940a7c..5cf5f31c3 100644
--- a/perl-install/share/po/az.po
+++ b/perl-install/share/po/az.po
@@ -1,1912 +1,1135 @@
-# DrakX-az.po faylının Azərbaycan dilinə tərcüməsi
-# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
# Copyright (c) 2000 MandrakeSoft
# Vasif Ismailoglu MD<azerb_linux@hotmail.com> , 2000-2001
-# Mətin Əmirov <metin@karegen.com>, 2001-2003
#
msgid ""
msgstr ""
-"Project-Id-Version: DrakX-az\n"
-"POT-Creation-Date: 2003-12-03 03:09+0100\n"
-"PO-Revision-Date: 2003-09-24 10:36+0200\n"
-"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
-"Language-Team: Azərbaycan <gnome@azitt.com>\n"
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2002-12-05 19:52+0100\n"
+"PO-Revision-Date: 2001-09-01 22:26GMT +0200\n"
+"Last-Translator: Vasif İsmayıloğlu MD <azerb_linux@hotmail.com>\n"
+"Language-Team: Azerbaijani Turkish <linuxaz@azerimal.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.8\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Scanning partitions to find mount points"
-msgstr "Bölmələr bağlama nöqtələri üçün yoxlanır"
+#: ../../Xconfig/card.pm_.c:16
+msgid "256 kB"
+msgstr "256 kB"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of suid root files."
-msgstr ""
-"əgər bəli seçilidirsə, suid ali istifadəçi fayllarının əlavələrini/"
-"silinənlərini yoxla."
+#: ../../Xconfig/card.pm_.c:17
+msgid "512 kB"
+msgstr "512 kB"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, "
-"0/1 for Local Config...\n"
-msgstr ""
-"%s: %s bunları məcbur qılır: qovşaq adı, MAC ünvanı, IP, nbi-görünüşü, "
-"THIN_CLIENT üçün 0/1, Yerli Qurğu üçün 0/1...\n"
+#: ../../Xconfig/card.pm_.c:18
+msgid "1 MB"
+msgstr "1 MB"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Configuration changed - restart clusternfs/dhcpd?"
-msgstr "Qurğu dəyişdirildi - clusternfs/dhcpd yenidən başladılsın?"
+#: ../../Xconfig/card.pm_.c:19
+msgid "2 MB"
+msgstr "2 MB"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t\tErase=%s"
-msgstr "\t\tSil=%s"
+#: ../../Xconfig/card.pm_.c:20
+msgid "4 MB"
+msgstr "4 MB"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Differential backups only save files that have changed or are new since the "
-"original 'base' backup."
-msgstr ""
-"Diferensial ehtiyatlamar yalnız oricinal 'əsas' ehtiyatlamadan sonra "
-"dəyişdirilən və yaranan faylları qeyd edər."
+#: ../../Xconfig/card.pm_.c:21
+msgid "8 MB"
+msgstr "8 MB"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "network printer port"
-msgstr "şəbəkə çapçısı qapısı"
+#: ../../Xconfig/card.pm_.c:22
+msgid "16 MB"
+msgstr "16 MB"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Please insert floppy disk:"
-msgstr "Xahiş edirik, disketi taxın:"
+#: ../../Xconfig/card.pm_.c:23
+msgid "32 MB"
+msgstr "32 MB"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "DrakTermServ"
-msgstr "DrakTermServ"
+#: ../../Xconfig/card.pm_.c:24
+msgid "64 MB or more"
+msgstr "64 MB və ya daha çox"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "PCMCIA"
-msgstr "PCMCIA"
+#: ../../Xconfig/card.pm_.c:203
+msgid "Choose a X server"
+msgstr "Bir X vericisi seçin"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../Xconfig/card.pm_.c:203
+msgid "X server"
+msgstr "X verici"
+
+#: ../../Xconfig/card.pm_.c:230
+msgid "Multi-head configuration"
+msgstr "Çoxlu Başlıq quraşdırılması"
+
+#: ../../Xconfig/card.pm_.c:231
msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
+"Your system support multiple head configuration.\n"
+"What do you want to do?"
msgstr ""
-"Ehtiyat bölmə cədvəli eyni böyüklüyə sahib deyil\n"
-"Davam etmək istəyirsiniz?"
+"Sizin sisteminiz çoxlu başlıq quraşdırmasını dəstəkləyir.\n"
+"Nə etmək istəyirsiniz?"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Which username"
-msgstr "Hansı istifadəçi adı"
+#: ../../Xconfig/card.pm_.c:288
+msgid "Select the memory size of your graphics card"
+msgstr "Ekran kartınızın yaddaş böyüklüyünü seçin"
-#: ../../any.pm:1
-#, c-format
-msgid "Which type of entry do you want to add?"
-msgstr "Nə cür bir giriş əlavə etmək istəyirsiniz?"
+#: ../../Xconfig/card.pm_.c:349
+msgid "XFree configuration"
+msgstr "XFree quraşdırılması"
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Restore partition table"
-msgstr "Bölmə cədvəlini geri al"
+#: ../../Xconfig/card.pm_.c:351
+msgid "Which configuration of XFree do you want to have?"
+msgstr "Necə bir XFree qurğusunu istəyirsiniz?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure hostname..."
-msgstr "Qovşaq adını quraşdır..."
+#: ../../Xconfig/card.pm_.c:383
+msgid "Configure all heads independently"
+msgstr "Bütün başlıqları ayrı ayrı quraşdır"
-#: ../../printer/cups.pm:1
+#: ../../Xconfig/card.pm_.c:384
+msgid "Use Xinerama extension"
+msgstr "Xinerama ifadələrini işlət"
+
+#: ../../Xconfig/card.pm_.c:389
+#, fuzzy, c-format
+msgid "Configure only card \"%s\"%s"
+msgstr "Təkcə \"%s\" kartını qur (%s)"
+
+#: ../../Xconfig/card.pm_.c:401 ../../Xconfig/card.pm_.c:402
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "On CUPS server \"%s\""
-msgstr "\"%s\" CUPS vericisi üstündə"
+msgid "XFree %s"
+msgstr "XFree %s"
-#: ../../install_steps_interactive.pm:1
+#: ../../Xconfig/card.pm_.c:413 ../../Xconfig/card.pm_.c:439
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Post-install configuration"
-msgstr "Qurulum sonrası qurğular"
+msgid "XFree %s with 3D hardware acceleration"
+msgstr "3D avadanlıq sür'ətləndirməsi ilə XFree %s"
-#: ../../standalone/drakperm:1
+#: ../../Xconfig/card.pm_.c:416
#, c-format
msgid ""
-"The current security level is %s\n"
-"Select permissions to see/edit"
+"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 ""
-"Hazırkı təhlükəsizlik səviyyəsi: %s\n"
-"Görmək/dəyişdirmək istədiyiniz səlahiyyətləri seçin"
+"Sizin kartınızın 3D sür'ətləndirmə dəstəyi ola bilər, amma sadecə olaraq "
+"XFree %s\n"
+"ilə düzgün işləyər.\n"
+"Sizin kartınıza XFree %s tərəfindən dəstək verilir ve bu 2D üçün daha yaxşı "
+"bir fikir olar."
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../Xconfig/card.pm_.c:418 ../../Xconfig/card.pm_.c:441
#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Yerinə ``%s'' işlət"
+msgid "Your card can have 3D hardware acceleration support with XFree %s."
+msgstr "Sizin kartınızın XFree %s ilə 3D dəstəyi ola bilər."
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../standalone/harddrake2:1
+#: ../../Xconfig/card.pm_.c:426 ../../Xconfig/card.pm_.c:447
#, c-format
-msgid "Type"
-msgstr "Növ"
+msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
+msgstr "SINAQ MƏRHƏLƏSİNDƏKİ 3D sür'ətləndirmə dəstəkli XFree %s"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:429
#, c-format
msgid ""
-"\n"
-"Also printers configured with the PPD files provided by their manufacturers "
-"or with native CUPS drivers cannot be transferred."
+"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"
-"Eyni zamanda, firmaları tərəfindən verilən PPD faylları ilə ya da doğma CUPS "
-"sürücüləri ilə qurğulanan çapçılar transfer edilə bilməz."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sri Lanka"
-msgstr "Şri Lanka"
+"Sizin kartınızın 3D sür'ətləndirmə dəstəyi ola bilər, amma sadecə olaraq "
+"XFree %s\n"
+"ilə düzgün işləyər.\n"
+"DİQQƏT! BU SINAQ MƏRHƏLƏSINDƏDIR VƏ KOMPÜTERİNİZ DONDURA BILƏR.\n"
+"Sizin kartınıza XFree %s tərəfindən dəstək verilir ve bu 2D üçün daha yaxşı "
+"bir seçki olar."
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:432 ../../Xconfig/card.pm_.c:449
#, c-format
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"are directly connected to your system"
+"Your card can have 3D hardware acceleration support with XFree %s,\n"
+"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
msgstr ""
-"Aşağıdakı çapçı\n"
-"\n"
-"%s%s\n"
-"sisteminizə birbaşa bağlıdır"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Central African Republic"
-msgstr "Mərkəzi Afrika Respublikası"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway device"
-msgstr "Şəbəkə keçidi avadanlığı"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Advanced preferences"
-msgstr "Ətraflı qurğularr"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Net Method:"
-msgstr "Şəbəkə Yöntəmi:"
+"Sizin kartınızın XFree %s ilə 3D dəstəyi ola bilər.\n"
+"DİQQƏT! BU SINAQ MƏRHƏLƏSINDƏDIR VƏ KOMPÜTERİNİZ DONDURA BILƏR."
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Ethernetcard"
-msgstr "Eternet Kartı"
+#: ../../Xconfig/card.pm_.c:455
+msgid "Xpmac (installation display driver)"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "If set, send the mail report to this email address else send it to root"
-msgstr "Seçilibsə, poçtu bu ünvana göndər, edilməyibsə ali istifadəçiyə göndər"
+#: ../../Xconfig/main.pm_.c:76 ../../Xconfig/main.pm_.c:77
+#: ../../Xconfig/monitor.pm_.c:96 ../../any.pm_.c:961
+msgid "Custom"
+msgstr "Xüsusi"
-#: ../../modules/interactive.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Parameters"
-msgstr "Parametrlər"
+#: ../../Xconfig/main.pm_.c:102
+#, fuzzy
+msgid "Graphic Card"
+msgstr "Ekran kartı"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "no"
-msgstr "xeyir"
+#: ../../Xconfig/main.pm_.c:105 ../../Xconfig/monitor.pm_.c:93
+msgid "Monitor"
+msgstr "Monitor"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Auto-detect"
-msgstr "Avtomatik təsbit et"
+#: ../../Xconfig/main.pm_.c:108 ../../Xconfig/resolution_and_depth.pm_.c:210
+msgid "Resolution"
+msgstr "Rezolyusiya"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface:"
-msgstr "Ara üz:"
+#: ../../Xconfig/main.pm_.c:113
+msgid "Test"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Select installation class"
-msgstr "Qurulum sinifinin seçimi"
+#: ../../Xconfig/main.pm_.c:118 ../../diskdrake/dav.pm_.c:67
+#: ../../diskdrake/interactive.pm_.c:393 ../../diskdrake/removable.pm_.c:25
+#: ../../diskdrake/smbnfs_gtk.pm_.c:86
+msgid "Options"
+msgstr "Seçənəklər"
+
+#: ../../Xconfig/main.pm_.c:122 ../../Xconfig/resolution_and_depth.pm_.c:269
+#: ../../install_gtk.pm_.c:86 ../../install_steps_gtk.pm_.c:274
+#: ../../interactive.pm_.c:127 ../../interactive.pm_.c:142
+#: ../../interactive.pm_.c:345 ../../interactive/http.pm_.c:104
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../interactive/stdio.pm_.c:144 ../../my_gtk.pm_.c:159
+#: ../../my_gtk.pm_.c:287 ../../my_gtk.pm_.c:310 ../../security/main.pm_.c:181
+#: ../../standalone/drakbackup_.c:3920 ../../standalone/drakbackup_.c:4015
+#: ../../standalone/drakbackup_.c:4034 ../../ugtk2.pm_.c:435
+#: ../../ugtk2.pm_.c:926 ../../ugtk2.pm_.c:949
+msgid "Ok"
+msgstr "Oldu"
-#: ../../network/tools.pm:1
-#, c-format
-msgid ""
-"The system doesn't seem to be connected to the Internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-"Sisteminiz İnternetə bağlı görünmür.\n"
-"Bağlantınızı yenidən quraşdırın."
+#: ../../Xconfig/main.pm_.c:122 ../../diskdrake/dav.pm_.c:28
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/draksplash_.c:114
+#: ../../standalone/harddrake2_.c:152 ../../standalone/logdrake_.c:204
+msgid "Quit"
+msgstr "Çıx"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/main.pm_.c:145
#, c-format
msgid ""
-"Connect your printer to a Linux server and let your Windows machine(s) "
-"connect to it as a client.\n"
+"Keep the changes?\n"
+"The current configuration is:\n"
"\n"
-"Do you really want to continue setting up this printer as you are doing now?"
+"%s"
msgstr ""
-"Çapçınızı bir Linuks vericisinə bağlayıb Windows sistem(lər)ə ona alıcı "
-"olaraq bağlanmaya icazə ver.\n"
+"Mövcud qurğuları saxlayım?\n"
+"Hal-hazırkı qurğular:\n"
"\n"
-"Həqiqətən də davam etmək istəyirsiniz?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Belarus"
-msgstr "Belarusiya"
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Error writing to file %s"
-msgstr "%s faylına yazma xətası"
+"%s"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result to syslog"
-msgstr "Yoxlama nəticəsini syslog'a raport et"
+#: ../../Xconfig/monitor.pm_.c:93
+msgid "Choose a monitor"
+msgstr "Monitorunuzu seçin"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"apmd is used for monitoring battery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
+#: ../../Xconfig/monitor.pm_.c:97
+msgid "Plug'n Play"
msgstr ""
-"apmd batareya vəziyyətini izləmək və syslog vasitəsiylə bunun qeydini tutmaq "
-"üçün istifadə edilir.\n"
-"Ayrıca batareya azalanda sistemi söndürmək üçün də istifadə edilir."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tape to backup"
-msgstr "Ehtiyat nüsxəsi üçün kaset işlət"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be installed"
-msgstr "Aşağıdakı paketlər qurulacaq"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS configuration"
-msgstr "CUPS quraşdırılması"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total progress"
-msgstr "Ümumi irəliləmə"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Not enough free space to allocate new partitions"
-msgstr "Yeni bölmələr ayırmaq üçün kifayət qədər boş yer yoxdur"
+#: ../../Xconfig/monitor.pm_.c:98 ../../mouse.pm_.c:46
+msgid "Generic"
+msgstr "Ümumi"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving"
-msgstr "Daşınır"
+#: ../../Xconfig/monitor.pm_.c:99 ../../standalone/harddrake2_.c:67
+#: ../../standalone/harddrake2_.c:68
+#, fuzzy
+msgid "Vendor"
+msgstr "Geri al"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via %s:\n"
-"\n"
+#: ../../Xconfig/monitor.pm_.c:109
+msgid "Plug'n Play probing failed. Please choose a precise monitor"
msgstr ""
-"\n"
-"%s vasitəsi ilə Drakbackup fəaliyyətləri:\n"
-"\n"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "yes"
-msgstr "bəli"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "("
-msgstr "("
-
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../Xconfig/monitor.pm_.c:114
msgid ""
-"Welcome to The Network Configuration Wizard.\n"
+"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"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\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 ""
-"Şəbəkə Quraşdırma Sehirbazına Xoç Gəldiniz\n"
-"\n"
-"Birazdan İnternet/Şəbəkə qurğularınızı sazlayacaqsınız.\n"
-"Avtomatik təsbit istəmirsinizsə işarəni silin.\n"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ")"
-msgstr ")"
+"Buradaki iki vacib parametr üfüqi ve şaquli yeniləmə sür'ətləridir.\n"
+"Seçərkən monitorunuzun qabiliyyətinin üstündə bir parametr\n"
+"seçməməyiniz çox vacibdir, əks halda monitor zərər görər.\n"
+"Seçərkən bir qərarsızlığa düşərsəniz, alçaq rezolyusiya seçin."
-#: ../../lang.pm:1
-#, c-format
-msgid "Lebanon"
-msgstr "Livan"
+#: ../../Xconfig/monitor.pm_.c:121
+msgid "Horizontal refresh rate"
+msgstr "Üfüqi yeniləmə sür'əti"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
+#: ../../Xconfig/monitor.pm_.c:122
+msgid "Vertical refresh rate"
+msgstr "Şaquli yeniləmə sür'əti"
-#: ../../services.pm:1
-#, c-format
-msgid "Stop"
-msgstr "Dayan"
+#: ../../Xconfig/resolution_and_depth.pm_.c:12
+msgid "256 colors (8 bits)"
+msgstr "256 rəng (8 bits)"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Edit selected host"
-msgstr "Seçili qovşağı düzəlt"
+#: ../../Xconfig/resolution_and_depth.pm_.c:13
+msgid "32 thousand colors (15 bits)"
+msgstr "32 min rəng (15 bits)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD device defined!"
-msgstr "CD avadanlığı tə'yin edilməyib!"
+#: ../../Xconfig/resolution_and_depth.pm_.c:14
+msgid "65 thousand colors (16 bits)"
+msgstr "65 min rəng (16 bits)"
-#: ../../network/shorewall.pm:1
-#, fuzzy, c-format
-msgid ""
-"Please enter the name of the interface connected to the "
-"internet. \n"
-" \n"
-"Examples:\n"
-" ppp+ for modem or DSL connections, \n"
-" eth0, or eth1 for cable connection, \n"
-" ippp+ for a isdn connection.\n"
-msgstr ""
-"Xahiş edirik, internetə bağlı olan ara üzün adını dirin.\n"
-"\n"
-"Nömunələr:\n"
-"\t\tppp+ modem ya da DSL bağlantıları üçün, \n"
-"\t\teth0, ya da eth1 kabel bağlantıları üçün, \n"
-"\t\tippp+ isdn bağlantısı üçün.\n"
+#: ../../Xconfig/resolution_and_depth.pm_.c:15
+msgid "16 million colors (24 bits)"
+msgstr "16 milyon rəng (24 bits)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tUse .backupignore files\n"
-msgstr "\t.backupignore fayllarını işlət\n"
+#: ../../Xconfig/resolution_and_depth.pm_.c:16
+msgid "4 billion colors (32 bits)"
+msgstr "4 milyard rəng (32 bits)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (phonetic)"
-msgstr "Bolqar (fonetik)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:130
+msgid "Resolutions"
+msgstr "Rezolyusiyalar"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP start ip"
-msgstr "DHCP başlama ip'si"
+#: ../../Xconfig/resolution_and_depth.pm_.c:255
+msgid "Choose the resolution and the color depth"
+msgstr "Rezolyusiya və rəng dərinliyini seçin"
-#: ../../Xconfig/card.pm:1
+#: ../../Xconfig/resolution_and_depth.pm_.c:256
#, c-format
-msgid "256 kB"
-msgstr "256 kB"
+msgid "Graphics card: %s"
+msgstr "Ekran kartı: %s"
+
+#: ../../Xconfig/resolution_and_depth.pm_.c:269 ../../any.pm_.c:1001
+#: ../../bootlook.pm_.c:336 ../../diskdrake/smbnfs_gtk.pm_.c:87
+#: ../../install_steps_gtk.pm_.c:405 ../../install_steps_gtk.pm_.c:463
+#: ../../interactive.pm_.c:142 ../../interactive.pm_.c:345
+#: ../../interactive/http.pm_.c:105 ../../interactive/newt.pm_.c:194
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../my_gtk.pm_.c:158 ../../my_gtk.pm_.c:162 ../../my_gtk.pm_.c:287
+#: ../../network/netconnect.pm_.c:39 ../../printer/printerdrake.pm_.c:2055
+#: ../../security/main.pm_.c:228 ../../standalone/drakautoinst_.c:198
+#: ../../standalone/drakbackup_.c:3874 ../../standalone/drakbackup_.c:3907
+#: ../../standalone/drakbackup_.c:3933 ../../standalone/drakbackup_.c:3960
+#: ../../standalone/drakbackup_.c:3987 ../../standalone/drakbackup_.c:4047
+#: ../../standalone/drakbackup_.c:4074 ../../standalone/drakbackup_.c:4104
+#: ../../standalone/drakbackup_.c:4130 ../../standalone/drakconnect_.c:112
+#: ../../standalone/drakconnect_.c:144 ../../standalone/drakconnect_.c:286
+#: ../../standalone/drakconnect_.c:534 ../../standalone/drakconnect_.c:677
+#: ../../standalone/drakfloppy_.c:207 ../../standalone/drakfont_.c:918
+#: ../../standalone/drakgw_.c:557 ../../standalone/logdrake_.c:204
+#: ../../standalone/net_monitor_.c:337 ../../ugtk.pm_.c:295
+#: ../../ugtk2.pm_.c:362 ../../ugtk2.pm_.c:434 ../../ugtk2.pm_.c:438
+#: ../../ugtk2.pm_.c:926
+msgid "Cancel"
+msgstr "Ləğv et"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Don't rewind tape after backup"
-msgstr "Ehtiyat nüsxəsini aldıqdan sonra kasedi geri sarma"
+#: ../../Xconfig/test.pm_.c:29
+msgid "Test of the configuration"
+msgstr "Qurğuların sınağı"
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader main options"
-msgstr "Sistem yükləyicisinin ana seçimləri"
+#: ../../Xconfig/test.pm_.c:30
+msgid "Do you want to test the configuration?"
+msgstr "Qurğuları sınamaq istəyirsiniz?"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
-msgstr ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
+#: ../../Xconfig/test.pm_.c:30
+#, fuzzy
+msgid "Warning: testing this graphic card may freeze your computer"
+msgstr "Diqqət: Bu qrafika kartı ilə ediləcək sınaq təhlükəlidir"
-#: ../../harddrake/data.pm:1 ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:29
#, c-format
-msgid "Tape"
-msgstr "Kaset"
+msgid "Keyboard layout: %s\n"
+msgstr "Klavatura düzülüşü: %s\n"
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:30
#, c-format
-msgid "Malaysia"
-msgstr "Malayziya"
+msgid "Mouse type: %s\n"
+msgstr "Siçan növü: %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/various.pm_.c:31
#, c-format
-msgid "Scanning network..."
-msgstr "Şəbəkə yoxlanır..."
+msgid "Mouse device: %s\n"
+msgstr "Siçan avadanlığı: %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:32
#, c-format
-msgid ""
-"With this option you will be able to restore any version\n"
-" of your /etc directory."
-msgstr ""
-"Bu seçim ilə siz /etc cərgənizin hər hansı bir buraxılışını\n"
-" geri ala bilərsiniz."
+msgid "Monitor: %s\n"
+msgstr "Monitor: %s\n"
-#: ../../standalone/drakedm:1
+#: ../../Xconfig/various.pm_.c:33
#, c-format
-msgid "The change is done, do you want to restart the dm service ?"
-msgstr "Dəyişikliklər həyata keçirildi, dm xidməti yenidən başladılsın ?"
+msgid "Monitor HorizSync: %s\n"
+msgstr "Monitorun Şaquli Daraması: %s\n"
-#: ../../keyboard.pm:1
+#: ../../Xconfig/various.pm_.c:34
#, c-format
-msgid "Swiss (French layout)"
-msgstr "İsveçrə dili (Fransız düzülüşü)"
+msgid "Monitor VertRefresh: %s\n"
+msgstr "Monitorun Üfüqi Yeniləməsi: %s\n"
-#: ../../raid.pm:1
+#: ../../Xconfig/various.pm_.c:35
#, c-format
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid bacarılmadı (bəlkə raidtools əksikdir?)"
+msgid "Graphics card: %s\n"
+msgstr "Ekran kartı: %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:36
#, c-format
-msgid "August"
-msgstr "Avqust"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "FTP server"
-msgstr "NTP Verici"
+msgid "Graphics memory: %s kB\n"
+msgstr "Ekran kartı yaddaşı: %s KB\n"
-#: ../../harddrake/data.pm:1
+#: ../../Xconfig/various.pm_.c:38
#, c-format
-msgid "Webcam"
-msgstr "Veb kamerası"
+msgid "Color depth: %s\n"
+msgstr "Rəng dərinliyi: %s\n"
-#: ../../standalone/harddrake2:1
+#: ../../Xconfig/various.pm_.c:39
#, c-format
-msgid "size of the (second level) cpu cache"
-msgstr "(ikinci səviyyə) cpu ön yaddaşının (cache) böyüklüyü"
+msgid "Resolution: %s\n"
+msgstr "Rezolyusiya: %s\n"
-#: ../../harddrake/data.pm:1
+#: ../../Xconfig/various.pm_.c:41
#, c-format
-msgid "Soundcard"
-msgstr "Səs kartı"
+msgid "XFree86 server: %s\n"
+msgstr "XFree86 verici: %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:42
#, c-format
-msgid "Month"
-msgstr "Ay"
+msgid "XFree86 driver: %s\n"
+msgstr "XFree86 sürücü: %s\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Search for files to restore"
-msgstr "Geri qaytarılacaq faylları axtar"
+#: ../../Xconfig/various.pm_.c:61
+msgid "Graphical interface at startup"
+msgstr "X ilə Açılış"
-#: ../../lang.pm:1
-#, c-format
-msgid "Luxembourg"
-msgstr "Lyuksemburq"
+#: ../../Xconfig/various.pm_.c:62
+msgid ""
+"I can setup your computer to automatically start the graphical interface "
+"(XFree) upon booting.\n"
+"Would you like XFree to start when you reboot?"
+msgstr ""
+"Kompüterinizi avtomatik olaraq X ilə açılması üçün qura bilərəm.\n"
+"Açılışda X Window ilə başlamaq istəyirsiniz?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:73
msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\".\n"
+"Your graphic card seems to have a TV-OUT connector.\n"
+"It can be configured to work using frame-buffer.\n"
+"\n"
+"For this you have to plug your graphic card to your TV before booting your "
+"computer.\n"
+"Then choose the \"TVout\" entry in the bootloader\n"
+"\n"
+"Do you have this feature?"
msgstr ""
-"Əmr sətirindən (terminal pəncərəsi) bir faylı çap etmək üçün bu əmri işlədin "
-"\"%s <fayl>\".\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Level %s\n"
-msgstr "Səviyyə %s\n"
+#: ../../Xconfig/various.pm_.c:85
+#, fuzzy
+msgid "What norm is your TV using?"
+msgstr "ISDN bağlantınızın növü nədir?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac (phonetic)"
-msgstr "Siriak (fonetik)"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132
+msgid "First sector of boot partition"
+msgstr "Açılış qisminin ilk sektoru"
-#: ../../lang.pm:1
-#, c-format
-msgid "Iran"
-msgstr "İran"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132 ../../any.pm_.c:209
+msgid "First sector of drive (MBR)"
+msgstr "Diskin ilk sektoru (MBR)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bus"
-msgstr "Yol"
+#: ../../any.pm_.c:111
+msgid "SILO Installation"
+msgstr "SILO Qurulumu"
-#: ../../lang.pm:1
-#, c-format
-msgid "Iraq"
-msgstr "İrak"
+#: ../../any.pm_.c:112 ../../any.pm_.c:125
+msgid "Where do you want to install the bootloader?"
+msgstr "Sistem yükləyicisini haraya qurmaq istəyirsiniz?"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "connecting to %s ..."
-msgstr "%s ünvanına bağlanır ..."
+#: ../../any.pm_.c:124
+msgid "LILO/grub Installation"
+msgstr "LILO/grup Qurulumu"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Potential LAN address conflict found in current config of %s!\n"
-msgstr "Hazırkı %s quğusunda bir LAN ünvan toqquşması tapıldı!\n"
+#: ../../any.pm_.c:136 ../../any.pm_.c:150
+msgid "SILO"
+msgstr "SILO"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring..."
-msgstr "Quraşdırılır..."
+#: ../../any.pm_.c:138
+msgid "LILO with text menu"
+msgstr "Mətn menyulu LILO"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid ""
-"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
-"detect the rights parameters.\n"
-"If your card is misdetected, you can force the right tuner and card types "
-"here. Just select your tv card parameters if needed."
-msgstr ""
-"Müasir televiziya kartlarının bir çoxu üçün, GNU/Linuks çəyirdəyinin bttv "
-"modulu düzgün parametrləri avtomatik tapır.\n"
-"Əgər kartınız tapıla bilməsə, buradan düzgün kart növünü seçə bilərsiniz. "
-"Lazım olanda televiziya kartınızın parametrlərini seçin."
+#: ../../any.pm_.c:139 ../../any.pm_.c:150
+msgid "LILO with graphical menu"
+msgstr "Qrafiki menyulu LILO"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Password (again)"
-msgstr "Şifrə (təkrar)"
+#: ../../any.pm_.c:142
+msgid "Grub"
+msgstr "Grub"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search installed fonts"
-msgstr "Qurulu yazı növlərini axtar"
+#: ../../any.pm_.c:146
+msgid "Boot from DOS/Windows (loadlin)"
+msgstr "DOS/Wİndowsdan açıl (loadlin)"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default desktop"
-msgstr "Əsas masa üstü"
+#: ../../any.pm_.c:148 ../../any.pm_.c:150
+msgid "Yaboot"
+msgstr "Yaboot"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid ""
-"To submit a bug report, click on the button report.\n"
-"This will open a web browser window on %s\n"
-" where you'll find a form to fill in. The information displayed above will "
-"be \n"
-"transferred to that server."
-msgstr ""
-"Xəta raportu göndərmək üçün, raport düyməsinə basın.\n"
-"This will open a web browser window on %s\n"
-" where you'll find a form to fill in. The information displayed above will "
-"be \n"
-"transferred to that server."
+#: ../../any.pm_.c:158 ../../any.pm_.c:189
+msgid "Bootloader main options"
+msgstr "Sistem yükləyicisi ana seçənəkləri"
-#: ../../lang.pm:1
-#, c-format
-msgid "Venezuela"
-msgstr "Venesuela"
+#: ../../any.pm_.c:159 ../../any.pm_.c:190
+msgid "Bootloader to use"
+msgstr "İstifadə ediləcək Açılış idarəcisi"
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "IP address"
-msgstr "IP ünvanı"
+#: ../../any.pm_.c:161
+msgid "Bootloader installation"
+msgstr "Açılış yükləyici quruluşu"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Choose the sizes"
-msgstr "Böyüklükləri seçin"
+#: ../../any.pm_.c:163 ../../any.pm_.c:192
+msgid "Boot device"
+msgstr "Açılış avadanlığı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"List of data corrupted:\n"
-"\n"
-msgstr ""
-"Pozulmuş data siyahısı:\n"
-"\n"
+#: ../../any.pm_.c:164
+msgid "Compact"
+msgstr "Bəsit"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Can only be mounted explicitly (i.e.,\n"
-"the -a option will not cause the file system to be mounted)."
-msgstr ""
-"Yalnız dəqiq olaraq bağlana bilər (mis.,\n"
-" -a seçimi fayl sisteminin bağlanmasına səbəb olmayacaq)."
+#: ../../any.pm_.c:164
+msgid "compact"
+msgstr "bəsit"
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"Your modem isn't supported by the system.\n"
-"Take a look at http://www.linmodems.org"
-msgstr ""
-"Modeminiz sistem tərəfindən dəstəklənmir.\n"
-"http://www.linmodems.org ünvanına baxın"
+#: ../../any.pm_.c:165 ../../any.pm_.c:289
+msgid "Video mode"
+msgstr "Ekran modu"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose another partition"
-msgstr "Başqa bölmə seçin"
+#: ../../any.pm_.c:167
+msgid "Delay before booting default image"
+msgstr "Açılışda gecikmə müddəti"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Current user"
-msgstr "Hazırkı istifadəçi"
+#: ../../any.pm_.c:169 ../../any.pm_.c:772
+#: ../../diskdrake/smbnfs_gtk.pm_.c:179
+#: ../../install_steps_interactive.pm_.c:1077 ../../network/modem.pm_.c:71
+#: ../../printer/printerdrake.pm_.c:803 ../../printer/printerdrake.pm_.c:916
+#: ../../standalone/drakbackup_.c:3478 ../../standalone/drakconnect_.c:622
+#: ../../standalone/drakconnect_.c:647
+msgid "Password"
+msgstr "Parol"
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Username"
-msgstr "İstifadəçi adı"
+#: ../../any.pm_.c:170 ../../any.pm_.c:773
+#: ../../install_steps_interactive.pm_.c:1078
+msgid "Password (again)"
+msgstr "Parol (təkrar)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left \"Windows\" key"
-msgstr "Sol \"Windows\" düyməsi"
+#: ../../any.pm_.c:171
+msgid "Restrict command line options"
+msgstr "Əmr sətiri seçənəklərini məhdudlaşdır"
-#: ../../lang.pm:1
-#, c-format
-msgid "Guyana"
-msgstr "Quyana"
+#: ../../any.pm_.c:171
+msgid "restrict"
+msgstr "məhdudlaşdır"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Server Configuration"
-msgstr "dhcpd Vericisi Qurğuları"
+#: ../../any.pm_.c:173
+msgid "Clean /tmp at each boot"
+msgstr "/tmp-i hər açılışda təmizlə"
-#: ../../standalone/drakperm:1
+#: ../../any.pm_.c:174
#, c-format
-msgid ""
-"Used for directory:\n"
-" only owner of directory or file in this directory can delete it"
-msgstr ""
-"Cərgə üçün istifadə edilən:\n"
-" yalnız cərgə yiyəsi ya da cərgə içindəki fayl onu silə bilər"
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Ümumi yaddaş miqdarı (%d MB tapıldı)"
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on Novell server \"%s\", printer \"%s\""
-msgstr " Novell vericisi üstündə \"%s\", çapçı \"%s\""
+#: ../../any.pm_.c:176
+msgid "Enable multi profiles"
+msgstr "Birdən artıq profilə icazə ver"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Printer Name"
-msgstr "Çapçı Adı"
+#: ../../any.pm_.c:180
+msgid "Give the ram size in MB"
+msgstr "Yaddaş miqdarını Mb cinsindən verin"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Setting up USB key"
+#: ../../any.pm_.c:182
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
msgstr ""
+"``Əmr sətiri seçənəklərini məhdudlaşdır`` seçənəyi parolsuz bir işə yaramaz"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Remove a module"
-msgstr "Modulu sil"
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../diskdrake/interactive.pm_.c:1204
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "Please try again"
+msgstr "Xahiş edirik təkrar sınayın"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../network/modem.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Password"
-msgstr "Şifrə"
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "The passwords do not match"
+msgstr "Parollar uyğun gəlmir"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Advanced Configuration"
-msgstr "Ətraflı Quraşdırma"
+#: ../../any.pm_.c:191
+msgid "Init Message"
+msgstr "İnit İsmarıcı"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Scanning on your HP multi-function device"
-msgstr "HP çox-funksiyalı avadanlığınız üstündə axtarılır"
+#: ../../any.pm_.c:193
+msgid "Open Firmware Delay"
+msgstr "Firmware Gecikməsini Aç"
-#: ../../any.pm:1
-#, c-format
-msgid "Root"
-msgstr "Kök"
+#: ../../any.pm_.c:194
+msgid "Kernel Boot Timeout"
+msgstr "Çəkirdək Açılışı Vaxt Dolması"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing RAID to add to"
-msgstr "Əlavə etmək üçün mövcud bir RAID seçin"
+#: ../../any.pm_.c:195
+msgid "Enable CD Boot?"
+msgstr "CDdən Açılışı Fəallaşdırım?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Türk dili (müasir \"Q\" klaviatura)"
+#: ../../any.pm_.c:196
+msgid "Enable OF Boot?"
+msgstr "OF Açılışı Fəallaşdırım?"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo message not found"
-msgstr "Lilo ismarışı tapıla bilmədi"
+#: ../../any.pm_.c:197
+msgid "Default OS?"
+msgstr "Əsas OS"
-#: ../../services.pm:1
-#, c-format
+#: ../../any.pm_.c:231
msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
msgstr ""
-"/usr/include/linux/{autoconf,version}.h üçün \n"
-"/boot cərgəsində avtomatik çəyirdək başlığının yaradılması"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "if needed"
-msgstr "lazım olarsa"
-
-#: ../../standalone/drakclock:1
-#, c-format
+#: ../../any.pm_.c:247
msgid ""
-"We need to install ntp package\n"
-" to enable Network Time Protocol"
+"Here are the entries on your boot menu so far.\n"
+"You can add some more or change the existing ones."
msgstr ""
+"Buradakı bir birindən fərqli seçənəklərə yenilərini əlavə edə bilər,\n"
+"ya da mövcud olanları dəyişdirə bilərsiniz."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Failed..."
-msgstr "Geri Yükləmə Bacarılmadı..."
+#: ../../any.pm_.c:257 ../../standalone/drakbackup_.c:1531
+#: ../../standalone/drakbackup_.c:1644 ../../standalone/drakfont_.c:953
+#: ../../standalone/drakfont_.c:996
+msgid "Add"
+msgstr "Əlavə et"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Store the password for this system in drakbackup configuration."
-msgstr "Bu sistem üçün şifrəni drakbackup qurğularında qeyd et."
+#: ../../any.pm_.c:257 ../../any.pm_.c:760 ../../diskdrake/dav.pm_.c:68
+#: ../../diskdrake/hd_gtk.pm_.c:156 ../../diskdrake/removable.pm_.c:27
+#: ../../diskdrake/smbnfs_gtk.pm_.c:88 ../../interactive/http.pm_.c:153
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/drakbackup_.c:2726
+msgid "Done"
+msgstr "Qurtardı"
-#: ../../install_messages.pm:1
-#, c-format
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Mandrake "
-"Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read this document carefully. 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 "
-"occurence 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 Mandrake Linux 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\", \"Mandrake Linux\" 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 ""
-"Giriş\n"
-"\n"
-"The operating system and the different components available in the Mandrake "
-"Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. Lisenziya Müqaviləsi\n"
-"\n"
-"Please read this document carefully. 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. Hüdudlu Zəmanət\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 "
-"occurence 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 Mandrake Linux 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. GPL və Əlaqədar Lisenziyalar\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. İntelektual Sahiblik Hüquqları\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\", \"Mandrake Linux\" and associated logos are trademarks of "
-"MandrakeSoft S.A. \n"
-"\n"
-"\n"
-"5. Hökümət Qanunları \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"
+#: ../../any.pm_.c:257
+msgid "Modify"
+msgstr "Təkmilləşdir"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default user"
-msgstr "Əsas istifadəçi"
+#: ../../any.pm_.c:265
+msgid "Which type of entry do you want to add?"
+msgstr "Ne cür bir giriş istəyirsiniz?"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"the progress bar x coordinate\n"
-"of its upper left corner"
-msgstr ""
-"irəliləmə çubuğunun onun sol üst\n"
-"küncünə görə x mövqeyi"
+#: ../../any.pm_.c:266 ../../standalone/drakbackup_.c:1674
+msgid "Linux"
+msgstr "Linuks"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Current interface configuration"
-msgstr "Hazırkı ara üz qurğusu"
+#: ../../any.pm_.c:266
+msgid "Other OS (SunOS...)"
+msgstr "Digər sistemlər (SunOS...)"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD - Line Printer Daemon"
-msgstr "LPD - Sətir Çapçı Demonu"
+#: ../../any.pm_.c:267
+msgid "Other OS (MacOS...)"
+msgstr "Digər sistemlər (MacOS...)"
-#: ../../network/isdn.pm:1
-#, c-format
-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 kartınız var isə sonrakı ekrandakı qiymətlər doğru olmalıdır.\n"
-"\n"
-"PCMCIA kartınız var isə kartınızın \"irq\" və ya \"io\"sunu bilməlisiniz.\n"
+#: ../../any.pm_.c:267
+msgid "Other OS (windows...)"
+msgstr "Digər sistemlər (windows...)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not print any test page"
-msgstr "Sınaq səhifəsini çap etmə"
+#: ../../any.pm_.c:285
+msgid "Image"
+msgstr "Əks"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gurmukhi"
-msgstr "Qurmuxi"
+#: ../../any.pm_.c:286 ../../any.pm_.c:297
+msgid "Root"
+msgstr "Kök"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s already in use\n"
-msgstr "%s onsuzda istifadədədir\n"
+#: ../../any.pm_.c:287 ../../any.pm_.c:315
+msgid "Append"
+msgstr "Sonuna əlavə et"
-#: ../../any.pm:1
-#, c-format
-msgid "Force No APIC"
-msgstr "APIC olmamasına məcbur et"
+#: ../../any.pm_.c:291
+msgid "Initrd"
+msgstr "Initrd"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "This password is too short (it must be at least %d characters long)"
-msgstr "Bu şifrə çox qısadır (ən az %d hərf böyüklüyündə olmalıdır)"
+#: ../../any.pm_.c:292
+msgid "Read-write"
+msgstr "Oxu-yaz"
-#: ../../standalone.pm:1
-#, c-format
-msgid "[keyboard]"
-msgstr "[klaviatura]"
+#: ../../any.pm_.c:299
+msgid "Table"
+msgstr "Cədvəl"
-#: ../../network/network.pm:1
-#, c-format
-msgid "FTP proxy"
-msgstr "FTP vəkili"
+#: ../../any.pm_.c:300
+msgid "Unsafe"
+msgstr "E'tibarsız"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install List"
-msgstr "Siyahını Qur"
+#: ../../any.pm_.c:307 ../../any.pm_.c:312 ../../any.pm_.c:314
+msgid "Label"
+msgstr "Etiket"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Change\n"
-"Restore Path"
-msgstr ""
-"Geri Yükləmə Cığırını\n"
-"Dəyişdir"
+#: ../../any.pm_.c:309 ../../any.pm_.c:319 ../../harddrake/v4l.pm_.c:215
+msgid "Default"
+msgstr "Əsas"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Show only for the selected day"
-msgstr "Yalnız seçili gününkünü göstər"
+#: ../../any.pm_.c:316
+msgid "Initrd-size"
+msgstr "Initrd böyüklüyü"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tLimit disk usage to %s MB\n"
-msgstr "\tDisk istifadəsinə %s Mb'lıq hədd qoy\n"
+#: ../../any.pm_.c:318
+msgid "NoVideo"
+msgstr "NoVİdeo"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "512 kB"
-msgstr "512 kB"
+#: ../../any.pm_.c:326
+msgid "Remove entry"
+msgstr "Girişi sil"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "(Note: Parallel ports cannot be auto-detected)"
-msgstr "(Qeyd: Parallel qapılar avtomatik aşkar edilə bilməz)"
+#: ../../any.pm_.c:329
+msgid "Empty label not allowed"
+msgstr "Boş etiket qəbul edilə bilməz"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>N"
-msgstr "<control>N"
+#: ../../any.pm_.c:330
+msgid "You must specify a kernel image"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind of card do you have?"
-msgstr "Hansı növ kartınız var?"
+#: ../../any.pm_.c:330
+#, fuzzy
+msgid "You must specify a root partition"
+msgstr "Bir swap sahəsinə ehtiyacınız var"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>O"
-msgstr "<control>O"
+#: ../../any.pm_.c:331
+msgid "This label is already used"
+msgstr "Bu etiket istifadə edilməz"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
+#: ../../any.pm_.c:640
#, c-format
-msgid "Security"
-msgstr "Təhlükəsizlik"
+msgid "Found %s %s interfaces"
+msgstr "%s %s ara üzü tapıldı"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can also use the graphical interface \"xpdq\" for setting options and "
-"handling printing jobs.\n"
-"If you are using KDE as desktop environment you have a \"panic button\", an "
-"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
-"jobs immediately when you click it. This is for example useful for paper "
-"jams.\n"
-msgstr ""
-"Qurğuları sazlamaq və çap vəzifələrini yerinə gətirmək üçün eyni zamanda "
-"\"xpdq\"dən də istifadə edə bilərsiniz.\n"
-"Əgər masa üstü mühidi olaraq KDE işlədirinizsə, masa üstünüzdə adı \"Çapçını "
-"DAYANDIR!\" olan \"panika düyməsi\", mövuddur, bu düyməyəbasılanda bütün çap "
-"vəzifələri birbaşa dayandırılır. Bu xususilə çapçı tıxanmalarında "
-"faydalıdır.\n"
+#: ../../any.pm_.c:641
+msgid "Do you have another one?"
+msgstr "Başqa var?"
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
+#: ../../any.pm_.c:642
#, c-format
-msgid "<control>Q"
-msgstr "<control>Q"
+msgid "Do you have any %s interfaces?"
+msgstr "Heç %s ara üzü var?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Unable to find backups to restore...\n"
-msgstr "Geri yüklənəcək ehtiyat nüsxələri tapıla bilmədi...\n"
+#: ../../any.pm_.c:644 ../../any.pm_.c:807 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../ugtk2.pm_.c:925
+msgid "No"
+msgstr "Xeyr"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown"
-msgstr "Namə'lum"
+#: ../../any.pm_.c:644 ../../any.pm_.c:806 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../standalone/drakgw_.c:258
+#: ../../standalone/drakgw_.c:259 ../../standalone/drakgw_.c:267
+#: ../../standalone/drakgw_.c:277 ../../ugtk2.pm_.c:925
+msgid "Yes"
+msgstr "Bəli"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This server is already in the list, it cannot be added again.\n"
-msgstr "Bu verici onsuzda siyahıdadır, yenidən əlavə edilə bilməz.\n"
+#: ../../any.pm_.c:645
+msgid "See hardware info"
+msgstr "Avadanlıq mə'lumatına bax"
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: ../../any.pm_.c:662
#, c-format
-msgid "Network Configuration"
-msgstr "Şəbəkə Quraşdırılması"
+msgid "Installing driver for %s card %s"
+msgstr "%s kartı (%s) üçün sürücü yüklənir"
-#: ../../standalone/logdrake:1
+#: ../../any.pm_.c:663
#, c-format
-msgid "<control>S"
-msgstr "<control>S"
+msgid "(module %s)"
+msgstr "(modul %s)"
-#: ../../network/isdn.pm:1
+#: ../../any.pm_.c:674
#, c-format
msgid ""
-"Protocol for the rest of the world\n"
-"No D-Channel (leased lines)"
+"You may now provide its options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
msgstr ""
-"Dünyanın geri qalanı üçün protokol \n"
-" D-Channel yoxdur (kiralıq xətlər)"
-#: ../../standalone/drakTermServ:1
+#: ../../any.pm_.c:680
#, c-format
msgid ""
-" - /etc/xinetd.d/tftp:\n"
-" \tdrakTermServ will configure this file to work in conjunction with "
-"the images created\n"
-" \tby mkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
-"the boot image to \n"
-" \teach diskless client.\n"
-"\n"
-" \tA typical tftp configuration file looks like:\n"
-" \t\t\n"
-" \tservice tftp\n"
-"\t\t\t{\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t}\n"
-" \t\t\n"
-" \tThe changes here from the default installation are changing the "
-"disable flag to\n"
-" \t'no' and changing the directory path to /var/lib/tftpboot, where "
-"mkinitrd-net\n"
-" \tputs its images."
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
msgstr ""
-" - /etc/xinetd.d/tftp:\n"
-" \t\tdrakTermServ bu faylı mkinitrd-net'in yaratdığı əkslərləvə /etc/"
-"dhcpd.conf\n"
-" \t\t ilə bərabər işləməsi üçün hər disksiz alıcı üçün quraşdıracaq \n"
-" \t\tTipik quraşdırma faylı buna bənzəyir:\n"
-" \t\t\n"
-" \tservice tftp\n"
-"\t\t\t{\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t\t}"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be a number!"
-msgstr "%s seçimi rəqəm olmalıdır!"
+"İstəsəniz indi %s modulunun parametrlərini göstərə bilərsiniz.\n"
+"Parametrlər``ad=qiymət ad2=qiymət2...'' şəklində olmalıdır.\n"
+"Məsələn ``io=0x300 irq=7''"
-#: ../../standalone/drakboot:1 ../../standalone/draksplash:1
-#, c-format
-msgid "Notice"
-msgstr "Qeyd"
+#: ../../any.pm_.c:682
+msgid "Module options:"
+msgstr "Modul seçənəkləri:"
-#: ../../install_steps_interactive.pm:1
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: ../../any.pm_.c:694
#, c-format
-msgid "You have not configured X. Are you sure you really want this?"
-msgstr "Siz X'i qurğulamadınız. Bundan əminsiniz?"
+msgid "Which %s driver should I try?"
+msgstr "Hansı %s sürücüsü sınansın?"
-#: ../../printer/printerdrake.pm:1
+#: ../../any.pm_.c:703
#, c-format
msgid ""
-"The configuration of the printer will work fully automatically. If your "
-"printer was not correctly detected or if you prefer a customized printer "
-"configuration, turn on \"Manual configuration\"."
+"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 ""
-"Xahiş edirik, quraşdırmaq istədiyiniz çapçını seçin. Çapçının quraşdırılması "
-"tamamilə avtomatik olacaq. Əgər çapçınız düzgün açkar edilməyibsə ya "
-"daxüsusiləşdirilmiş çap quraşdırması istəyirsinizsə, \"Əllə quraşdırma\"nı "
-"seçin."
+"Bəzi hallarda, %s sürücü düzgün işləməsi üçün əlavə mə'lumat istəyə bilər.\n"
+"Sürücüler üçün əlavə bir xüsusiyyət göstərmək mi istəyərsiniz, yoxsa\n"
+"sürücülərin lazımi mə'lumatlar üçün avadalığı tanımasını mı istəyərsiniz? \n"
+"Bə'zən tanımlama kompüterinizi dondura bilər amma donduğu üçün\n"
+"kompüterinizə heç bir şey olmaz."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "What type of partitioning?"
-msgstr "Hansı növ bölmələndirmə?"
+#: ../../any.pm_.c:707
+msgid "Autoprobe"
+msgstr "Avtomatik yoxla"
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:707
+msgid "Specify options"
+msgstr "Seçənəkləri göstər"
+
+#: ../../any.pm_.c:719
#, c-format
msgid ""
-"file list sent by FTP: %s\n"
-" "
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
msgstr ""
-"FTP tərəfindən göndərilən fayl siyahısı: %s\n"
-" "
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface"
-msgstr "Ara üz"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Multisession CD"
-msgstr "Çox iclaslı CD"
+"%s modulunun yüklənməsi iflas etdi.\n"
+"Yenidən başqa bir parametr ilə sınamaq istəyirsiniz?"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated strings"
-msgstr "verqüllə ayrılmış qatarlar"
+#: ../../any.pm_.c:734
+msgid "access to X programs"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "These are the machines from which the scanners should be used:"
-msgstr "Bunlar, darayıcılarının istifadə ediləcəyi sistemlərdir:"
+#: ../../any.pm_.c:735
+msgid "access to rpm tools"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Messages"
-msgstr "İsmarışlar"
+#: ../../any.pm_.c:736
+msgid "allow \"su\""
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH06X (bt878) [many vendors]"
-msgstr "Namə'lum|CPH06X (bt878) [çox satıcılı]"
+#: ../../any.pm_.c:737
+msgid "access to administrative files"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "POP and IMAP Server"
-msgstr "POP və IMAP Vericisi"
+#: ../../any.pm_.c:738
+msgid "access to network tools"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mexico"
-msgstr "Mexiko"
+#: ../../any.pm_.c:739
+msgid "access to compilation tools"
+msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../any.pm_.c:744
#, c-format
-msgid "Model stepping"
-msgstr "Model addımlaması"
+msgid "(already added %s)"
+msgstr "(%s artıq əlavə edilmişdir)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Rwanda"
-msgstr "Ruanda"
+#: ../../any.pm_.c:749
+msgid "This password is too simple"
+msgstr "Zəif parol seçdiniz!"
-#: ../../lang.pm:1
-#, c-format
-msgid "Switzerland"
-msgstr "İsveçrə"
+#: ../../any.pm_.c:750
+msgid "Please give a user name"
+msgstr "Xahiş edirik bir istifadəçi adı alın"
-#: ../../lang.pm:1
-#, c-format
-msgid "Brunei Darussalam"
-msgstr "Bruney Darüssəlam"
+#: ../../any.pm_.c:751
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"İstifadəçi adında sadacə kiçik hərflər, rəqəmlər, `-' və `_' xarakterləri "
+"ola bilər"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "%s ara üzünüz var?"
+#: ../../any.pm_.c:752
+#, fuzzy
+msgid "The user name is too long"
+msgstr "Bu istifadəçi adı artıq vardır"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "You must be root to read configuration file. \n"
-msgstr "Quraşdırma faylını oxumaq üçün ali istifadəçi olmalısınız. \n"
+#: ../../any.pm_.c:753
+msgid "This user name is already added"
+msgstr "Bu istifadəçi adı artıq vardır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote lpd Printer Options"
-msgstr "Uzaq lpd Çapçı Seçimləri"
+#: ../../any.pm_.c:757
+msgid "Add user"
+msgstr "İstifadəçini əlavə et"
-#: ../../help.pm:1
+#: ../../any.pm_.c:758
#, c-format
msgid ""
-"GNU/Linux is a multi-user system, meaning each user may have their own\n"
-"preferences, their own files and so on. You can read the ``Starter Guide''\n"
-"to learn more about multi-user systems. But unlike \"root\", who is the\n"
-"system administrator, the users you add at this point will not be\n"
-"authorized to change anything except their own files and their own\n"
-"configurations, protecting the system from unintentional or malicious\n"
-"changes that impact on the system as a whole. You will have to create at\n"
-"least one regular user for yourself -- this is the account which you should\n"
-"use for routine, day-to-day use. Although it is very easy to log in as\n"
-"\"root\" to do anything and everything, it may also be very dangerous! A\n"
-"very simple mistake could mean that your system will not work any more. If\n"
-"you make a serious mistake as a regular user, the worst that will happen is\n"
-"that you will lose some information, but not affect the entire system.\n"
-"\n"
-"The first field asks you for a real name. Of course, this is not mandatory\n"
-"-- you can actually enter whatever you like. DrakX will use the first word\n"
-"you typed in this field and copy it to the \"%s\" field, which is the name\n"
-"this user will enter to log onto the system. If you like, you may override\n"
-"the default and change the username. The next step is to enter a password.\n"
-"From a security point of view, a non-privileged (regular) user password is\n"
-"not as crucial as the \"root\" password, but that is no reason to neglect\n"
-"it by making it blank or too simple: after all, your files could be the\n"
-"ones at risk.\n"
-"\n"
-"Once you click on \"%s\", you can add other users. Add a user for each one\n"
-"of your friends: your father or your sister, for example. Click \"%s\" when\n"
-"you have finished adding users.\n"
-"\n"
-"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
-"that user (bash by default).\n"
-"\n"
-"When you have finished adding users, you will be asked to choose a user\n"
-"that can automatically log into the system when the computer boots up. If\n"
-"you are interested in that feature (and do not care much about local\n"
-"security), choose the desired user and window manager, then click \"%s\".\n"
-"If you are not interested in this feature, uncheck the \"%s\" box."
-msgstr ""
-"GNU/Linuks çox istifadəçili əməliyyat sistemidir, bu da o deməkdir ki\n"
-"hər istifadəçinin öz xüsusi seçimləri, faylları və s. ola bilər. Ancaq \n"
-"sistem idarəçisi olan \"ali istifadəçi\" xaricindəki indi əlavə edəcəyiniz\n"
-"istifadəçilər öz faylları və qurğuları xaricində sistemin heç bir təhlükəli\n"
-"yeri ilə iş görə bilməz və beləcə də sistem istənməyən pozulmalara qarşı\n"
-"qorunmuş olacaq. Ən az bir dənə sıravi istifadəçi yaradmalısınız və bu "
-"hesabı\n"
-"gündəlik işləriniz üçün istifadə etməlisiniz. Ali İstifadəçi olaraq giriş "
-"etmək də\n"
-"olduqca asanddır ancaq bu eyni zamanda çox təhlükəlidir. Çox kiçik bir xəta "
-"ilə\n"
-"sistemi qeyri-fəal vəziyyətə gətirə bilərsiniz. Ancaq sıravi istifadəçi "
-"olaraq xəta\n"
-"ediləndə ancaq bəzi mə'lumatları itirəcək, sisteminiz yenə də sağlam \n"
-"qalacaqdır.\n"
-"\n"
-"Birinci sahə sizdən adı soruşacaq. Əlbəttə ki bunu yazmaq məcburi deyil. \n"
-"Oraya istədiyiniz kəlmələri yaza bilərsiniz. DrakX buraya yazdığınız "
-"kəlmələrin\n"
-"ilk kəlməsini alıb \"%s\" sahəsinə köçürəcək, bu istifadəçinin sistemə "
-"girmək\n"
-"üçün işlədəcəyi istifadəçi adı olacaq. İstəsəniz bunu da dəyişdirə "
-"bilərsiniz.\n"
-"Sonrakı addım şifrə girməkdir. Təhlükəsizlik nəzər nöqtəsindən şifrəsi "
-"olmayan\n"
-"sıravi istifadəçi ali istifadəçi qədər səlahiyyətli ola bilməz ancaq yenə də "
-"sizə\n"
-"hər bir istifadəçiyə tapılması asand olmayan bir şifrə tə'yin etmənizi \n"
-"məsləhət görürük\n"
-"\n"
-"\"%s\" basdıqdan sonra başqa istifadəçiləri də əlavə edə bilərsiniz. Hər "
-"dostunuz\n"
-"üçün bir istifadəçi əlavə edin, misal üçün atanız, qardaşınız kimi. "
-"İstifadəçiləri əlavə \n"
-"etməyi bitirəndə \"%s\" düyməsinə basın.\n"
-"\n"
-"\"%s\" düyməsi istifadəçinin işlədəcəyi qabığı dəyişdirmək üçündür. \n"
-"(əsas olan bash qabığıdır).\n"
-"\n"
-"İstifadəçiləri əlavə edib bitirəndə sizə kompüteriniz açılanda hansı "
-"istifadəçinin\n"
-"avtomatik olaraq sistemə daxil etmək istədiyiniz sualı veriləcəkdir. Əgər "
-"bu\n"
-"xüsusiyyət xoşunuza gəlirsə və təhlükəsizlik haqqında elə də "
-"maraqlanmırsınızsal\n"
-"istədiyiniz istifadəçini və pəncərə idarəçisini seçib \"%s\" düyməsinə "
-"basın.\n"
-"Əgər bu xassə sizi maraqlandırmırsa \"%s\" qutusunun seçimini silin."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Internet Access..."
-msgstr "İnternet Yetişməsini Quraşdır..."
+"Enter a user\n"
+"%s"
+msgstr ""
+"Bir istifadəçi girin\n"
+"%s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose the time interval between each backup"
-msgstr "Xahiş edirik, hər ehtiyatlama gedişatı arasındakı vaxt aralığını seçin"
+#: ../../any.pm_.c:759
+msgid "Accept user"
+msgstr "İstifadəçini qəbul et"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Norway"
-msgstr "Norvegiya"
+#: ../../any.pm_.c:770
+msgid "Real name"
+msgstr "Həqiqi adı"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Delete profile"
-msgstr "Profili sil"
+#: ../../any.pm_.c:771 ../../printer/printerdrake.pm_.c:802
+#: ../../printer/printerdrake.pm_.c:915
+msgid "User name"
+msgstr "İstifadəçi adı"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Danish"
-msgstr "Danimarka dili"
+#: ../../any.pm_.c:774
+msgid "Shell"
+msgstr "Qabıq"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-"Açılışda XFree və konsolda numlock düyməsini\n"
-"avtomatik olaraq aç."
+#: ../../any.pm_.c:776
+msgid "Icon"
+msgstr "Timsal"
-#: ../../network/network.pm:1
-#, c-format
-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 kompüter üçün IP qurğularını girin.\n"
-"Hər üzv nöqtəli onluq IP şəklində girilməlidir,\n"
-"(misal üçün 1.2.3.4)."
+#: ../../any.pm_.c:803
+msgid "Autologin"
+msgstr "Avtomatik Giriş"
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:804
+#, fuzzy
msgid ""
-"The Mandrake Linux installation is distributed on several CD-ROMs. DrakX\n"
-"knows if a selected package is located on another CD-ROM so it will eject\n"
-"the current CD and ask you to insert the correct CD as required."
+"I can set up your computer to automatically log on one user.\n"
+"Do you want to use this feature?"
msgstr ""
-"Mandrake Linuks qurulumu müxtəlif CD'lər üstündə gəlir. DrakX\n"
-"seçili paketlərin hansı CD'də olduğunu bilir ona görə də lazım olanda\n"
-"hazırkı CD'ni çıxardıb sizdən lazım olan CD'ni daxil etməyi istəyəcək."
+"Kompüterinizi avtomatik olaraq bir istifadəçi ilə başlada bilərəm.\n"
+"İstəmirsiniz isə rədd edin."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "When checked, owner and group won't be changed"
-msgstr "Seçilidirsə, yiyə və qrup dayişdirilməyəcək"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bulgaria"
-msgstr "Bolqarıstan"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Tuesday"
-msgstr "Çərşənbə axşamı"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Processors"
-msgstr "İşlədicilər"
+#: ../../any.pm_.c:808
+msgid "Choose the default user:"
+msgstr "Əsas istifadəçini seçin:"
-#: ../../lang.pm:1
-#, c-format
-msgid "Svalbard and Jan Mayen Islands"
-msgstr "Svalbard və Jan Mayen Adaları"
+#: ../../any.pm_.c:809
+msgid "Choose the window manager to run:"
+msgstr "İstifadə etmək istədiyiniz pəncərə idarəçisini seçin:"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No NIC selected!"
-msgstr "NIC seçili deyil!"
+#: ../../any.pm_.c:824
+#, fuzzy
+msgid "Please choose a language to use."
+msgstr "Xahiş edirik istifadə üçün bir dil seçin."
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../any.pm_.c:826
msgid ""
-"Problems occured during configuration.\n"
-"Test your connection via net_monitor or mcc. If your connection doesn't "
-"work, you might want to relaunch the configuration."
-msgstr ""
-"Quraşdırma sırasında xətalar yarandı.\n"
-"net_monitor ya da mcc vasitəsiylə bağlantınızı sınayın. Əgər "
-"bağlantınızyoxdursa, quraşdırmanı yenidən başladın."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "partition %s is now known as %s"
-msgstr "%s bölməsi indi %s olaraq bilinir"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Other files..."
-msgstr "Diqər Faylların Ehtiyat Nüsxəsini Al..."
+"Mandrake Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "Qurulumdan sonra istifadə edə biləcəyiniz başqa dillər seçə bilərsiniz"
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Kinshasa)"
-msgstr "Konqo (Kinşasa)"
+#: ../../any.pm_.c:840 ../../install_steps_interactive.pm_.c:697
+#: ../../standalone/drakxtv_.c:70
+msgid "All"
+msgstr "Hamısı"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server IP"
-msgstr "SMB verici IP'si"
+#: ../../any.pm_.c:961
+#, fuzzy
+msgid "Allow all users"
+msgstr "İstifadəçi əlavə et"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "%s sürücüsünün bölmə cədvəli diskə yazılacaq!"
+#: ../../any.pm_.c:961
+#, fuzzy
+msgid "No sharing"
+msgstr "CUPS başlayır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing HPOJ package..."
-msgstr "HPOJ paketi qurulur..."
+#: ../../any.pm_.c:971 ../../install_any.pm_.c:1207 ../../standalone.pm_.c:185
+#, fuzzy, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr ""
+"Bu paket yenilənməlidir\n"
+"Sistemdən çıxarmaq mövzusunda ciddisiniz?"
-#: ../../any.pm:1
-#, c-format
+#: ../../any.pm_.c:973
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?\n"
-"%s"
+"You can export using NFS or Samba. Please select which you'd like to use."
msgstr ""
-"Xüsusi bir açılış disketi, Linuks sisteminizin normal bir sistem yükləyiciyə "
-"ehtiyac olmadan açılmasına imkan verir. Əgə sisteminizə lilo (ya da grub) "
-"qurmayacaqsanız,\n"
-"ya da başqa bir əməliyyat sistemi lilo'nu silərsa ya da lilo avadanlığınızla "
-"işləməzsə\n"
-"bu disket sizə yardımçı olacaqdır. Sonradan Mandrake qurtarma disketi "
-"rəsmini\n"
-"istifadə edərək də bu sistemi qurtaran disket yaradıla bilər.\n"
-"Açılış disketi yaratmaq istəyirsiniz?\n"
-"%s"
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:981 ../../install_any.pm_.c:1212 ../../standalone.pm_.c:190
#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: ../../any.pm_.c:987
msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
"\n"
-" DrakBackup Daemon Report\n"
+"\"Custom\" permit a per-user granularity.\n"
msgstr ""
-"\n"
-" DrakBackup Demon Raportu\n"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latvian"
-msgstr "Latış dili"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "monthly"
-msgstr "hər ay"
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Retry"
-msgstr "Geri yüklə"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Module name"
-msgstr "Modul adı"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Start at boot"
-msgstr "Açılışda başlat"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental Backups"
-msgstr "Artan Ehtiyatları İşlət"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of drive (MBR)"
-msgstr "Diskin ilk sektoru (MBR)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "El Salvador"
-msgstr "El Salvador"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Joystick"
-msgstr "Oyun Çubuğu"
+#: ../../any.pm_.c:1001
+msgid "Launch userdrake"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "DVD"
-msgstr "DVD"
+#: ../../any.pm_.c:1003
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user in this group."
+msgstr ""
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Use Unicode by default"
-msgstr "Əsas olaraq Yunikod işlət"
+#: ../../any.pm_.c:1053 ../../security/level.pm_.c:7
+msgid "Welcome To Crackers"
+msgstr "Krakerlərə xoşgəlmişsiniz"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the module of the GNU/Linux kernel that handles the device"
-msgstr "bu avadanlığı işlədən GNU/Linuks çəyirdək modulu"
+#: ../../any.pm_.c:1054 ../../security/level.pm_.c:8
+msgid "Poor"
+msgstr "Zəif"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Is your hardware clock set to GMT?"
-msgstr "Avadanlıq saatı GMT'yə görə quruludur"
+#: ../../any.pm_.c:1055 ../../mouse.pm_.c:31 ../../security/level.pm_.c:9
+msgid "Standard"
+msgstr "Standart"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Trying to rescue partition table"
-msgstr "Bölmə cədvəli qurtarılmaya cəhd edilir"
+#: ../../any.pm_.c:1056 ../../security/level.pm_.c:10
+msgid "High"
+msgstr "Yüksək"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be an integer number!"
-msgstr "%s seçimi integer rəqəmi olmalıdır!"
+#: ../../any.pm_.c:1057 ../../security/level.pm_.c:11
+#, fuzzy
+msgid "Higher"
+msgstr "Yüksək"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Use password to authenticate users"
-msgstr "İstifadəçiləri səlahiyyətləndirmək üçün şifrə işlət"
+#: ../../any.pm_.c:1058 ../../security/level.pm_.c:12
+msgid "Paranoid"
+msgstr "Şübhəci"
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../any.pm_.c:1061
msgid ""
-"Entries you'll have to fill:\n"
-"%s"
+"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 ""
-"Doldurmaq məcburiyyətində olacağınız girişlər:\n"
-"%s"
+"Bu səviyyə RAID'i diqqətli istifadənizi tövsiyə edirik. Sisteminiz daha "
+"asand\n"
+"işlədiləcək, ancaq xətalara qarşı da həssaiyyəti də artacaqdır. İnternetə \n"
+"bağlı isəniz bunu tövsiyə etmirik. Parol ilə girilir."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:1064
msgid ""
-"For backups to other media, files are still created on the hard drive, then "
-"moved to the other media. Enabling this option will remove the hard drive "
-"tar files after the backup."
+"Password are now enabled, but use as a networked computer is still not "
+"recommended."
msgstr ""
-"Başqa mediyalara ehtiyatlamada, fayllar sabit diskdə yaradılıb, daha sonra "
-"başqa mediyalara daşınır. Bu seçimi fəallaşdıraraq, ehtiyatlama sonrası "
-"sabit diskdəki faylların silinməsinə imkan verir."
-
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Canlı yeniləmə başladıla bilmir !!!\n"
-
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Name: "
-msgstr "Ad: "
+"Parollar fəallaşdırıldı, yenə də bir şəbəkə üstündə istifadə edilməməsi "
+"tövsiyə edilir."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "up"
+#: ../../any.pm_.c:1065
+#, fuzzy
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
msgstr ""
+"İnternetə bağlı bir kompüter üçün standart və tövsiyə edilən bir "
+"təhlükəsizlik səviyyəsidir."
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "16 million colors (24 bits)"
-msgstr "16 million rəng (24 bit)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Allow all users"
-msgstr "Bütün istifadəçilərə icazə ver"
-
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid "The official MandrakeSoft Store"
-msgstr "Rəsmi MandrakeSoft Dükanı"
-
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resizing"
-msgstr "Ölçüləndirilir"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:1066
msgid ""
-"Enter the maximum size\n"
-" allowed for Drakbackup (MB)"
+"There are already some restrictions, and more automatic checks are run every "
+"night."
msgstr ""
-"Drakbackup üçün\n"
-"icazə verilən maksimal böyüklüyü (MB) daxil edin"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Cable connection"
-msgstr "Kabel bağlantısı"
-#: ../../standalone/drakperm:1 ../../standalone/logdrake:1
-#, c-format
-msgid "User"
-msgstr "İstifadəçi"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do new backup before restore (only for incremental backups.)"
+#: ../../any.pm_.c:1067
+#, fuzzy
+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 can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
msgstr ""
-"Geri yükləmədən əvvəl yeni ehtiyatları al (ancaq artan ehtiyatlar üçün.)"
-
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed"
-msgstr "mkraid bacarılmadı"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Name"
-msgstr "Ad"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 3 Emulation"
-msgstr "3 Düymə Emulyasiyası"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of sgid files"
-msgstr "sgid fayllarının əlavələrini/silinəcəklərini yoxla"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files..."
-msgstr "Fayllar göndərilir..."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli (Phonetic)"
-msgstr "Yəhudi dili (Fonetik)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to rpm tools"
-msgstr "rpm vasitələrinə yetişmə"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must choose/enter a printer/device!"
-msgstr "Çapçı avadanlığını seçməli/girməlisiniz!"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission problem accessing CD."
-msgstr "CD'yə yetişmədə səlahiyyət problemi."
+"Bu təhlükəsizlik səviyyəsiylə sistemin bir verici olaraq istifadəsi "
+"mümkündür. \n"
+"Təhlükəsizlik, birdən çox alıcının bağlanmasına icazə verəcək şəkildə "
+"artırılmışdır. "
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Phone number"
-msgstr "Telefon nömrəsi"
+#: ../../any.pm_.c:1070
+#, fuzzy
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Biz dördüncü səviyyə haqlarını verdik və sistem xarici bağlantılara qarşı "
+"tamamilə qapalıdır.\n"
+"Təhlükəsizlik səviyyəsi indi ən üstdədir."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Error: The \"%s\" driver for your sound card is unlisted"
-msgstr "Xəta: Səs kartınız üçün \"%s\" sürücüsü siyahıda yoxdur"
+#: ../../any.pm_.c:1076
+#, fuzzy
+msgid "DrakSec Basic Options"
+msgstr "Seçənəklər"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer name, description, location"
-msgstr "Çapçı adı, izahatı, yeri"
+#: ../../any.pm_.c:1077
+#, fuzzy
+msgid "Please choose the desired security level"
+msgstr "Təhlükəsizlik səviyyəsini seçin"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (broadcast)"
-msgstr "ABŞ (translasiya)"
+#: ../../any.pm_.c:1080
+#, fuzzy
+msgid "Security level"
+msgstr "Təhlükəsizlik səviyyəsinin quraşdırılması"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Use Xinerama extension"
-msgstr "Xinerama uzantısını işlət"
+#: ../../any.pm_.c:1082
+#, fuzzy
+msgid "Use libsafe for servers"
+msgstr "X verici üçün seçənəkləri göstərin"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback"
-msgstr "Loopback"
+#: ../../any.pm_.c:1083
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "West Europe"
-msgstr "Qərvi Avropa"
+#: ../../any.pm_.c:1084
+msgid "Security Administrator (login or email)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On CD-R"
-msgstr "CD-R'da"
+#: ../../any.pm_.c:1166
+msgid ""
+"Here you can choose the key or key combination that will \n"
+"allow switching between the different keyboard layouts\n"
+"(eg: latin and non latin)"
+msgstr ""
-#: ../../standalone.pm:1
+# 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:436
#, c-format
msgid ""
-"[OPTIONS] [PROGRAM_NAME]\n"
+"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"
-"OPTIONS:\n"
-" --help - print this help message.\n"
-" --report - program should be one of mandrake tools\n"
-" --incident - program should be one of mandrake tools"
msgstr ""
-"[SEÇİMLƏR] [PROQRAM_ADI]\n"
+"%s emeliyyat sistemi secki proqramina xos gəlmissiniz!\n"
+"\n"
+"Içlerinden birini acmaq ucun adini yazin ve <ENTER>\n"
+"duymesine basin ve ya esas acilis ucun %d saniye gozleyin.\n"
"\n"
-"SEÇİMLƏR:\n"
-" --help - bu yardım ismarışını göstər.\n"
-" --report - proqram mandrake vasitələrindən biri olmalıdır\n"
-" --incident - proqram mandrake vasitələrindən biri olmalıdır"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake2 version %s"
-msgstr "Harddrake2 buraxılış %s"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Preferences"
-msgstr "Qurğular"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Swaziland"
-msgstr "Svaziland"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominican Republic"
-msgstr "Dominikan Respublikası"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Copying %s"
-msgstr "%s köçürülür"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Choose color"
-msgstr "Rəngi seç"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac"
-msgstr "Siriak"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-UID"
-msgstr "Set-UID"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Choose the hard drive you want to erase in order to install your new\n"
-"Mandrake Linux partition. Be careful, all data present on this partition\n"
-"will be lost and will not be recoverable!"
-msgstr ""
-"Yeni Linuks Mandrake'nizi qurmaq üçün silmək istədiyiniz sürücünü seçin.\n"
-"Diqqətli olun, sürücüdəki bütün mə'lumatlar silinəcək\n"
-"və geri gəlməyəcək!"
+# 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:983
+msgid "Welcome to GRUB the operating system chooser!"
+msgstr "Emeliyyat sistemi secici GRUB'a xos gəlmissiniz!"
# 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
@@ -1918,25 +1141,39 @@ 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:1
+#: ../../bootloader.pm_.c:986
#, c-format
msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr "Girisleri secmek ucun %c ve %c duymelerini istifade edin."
+msgstr "%c ve %c duymeleri ile isıqlandırılmıs girisleri sece bilersiniz"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 2 Button Mouse"
-msgstr "Sıravi 2 Düyməli Siçan"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to execute the file"
-msgstr "Faylı icra etmək üçün \"%s\"ı fəallaşdır"
+# 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:989
+msgid "Press enter to boot the selected OS, 'e' to edit the"
+msgstr "Sistemi secili emeliyyat sistemiyle acmaq ucun entere,"
-#: ../../lvm.pm:1
-#, c-format
-msgid "Remove the logical volumes first\n"
-msgstr "Əvvəlcə məntiqi həcmləri sil\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:992
+msgid "commands before booting, or 'c' for a command-line."
+msgstr ""
+"acilisdan evvel emrleri duzeltmək 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
@@ -1948,3258 +1185,2098 @@ msgstr "Əvvəlcə məntiqi həcmləri sil\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:1
+#: ../../bootloader.pm_.c:995
#, c-format
msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr "Isiqlandirilmis secim %d saniye icinde sistemi acacaq."
+msgstr "Isaretli secenek %d saniye icinde sistemi acacaq."
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Can't write /etc/sysconfig/bootsplash\n"
-"File not found."
-msgstr ""
-"/etc/sysconfig/bootsplash yazıla bilmir\n"
-"Fayl tapıla bilmədi."
+#: ../../bootloader.pm_.c:999
+msgid "not enough room in /boot"
+msgstr "/boot içində lazımi yer yoxdur"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet access"
-msgstr "İnternet yetişməsi"
+#. -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:1099
+msgid "Desktop"
+msgstr "Masa Üstü"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"y coordinate of text box\n"
-"in number of characters"
-msgstr ""
-"hərf ədədi olaraq mətn\n"
-"qutusunun y istiqaməti"
+#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
+#: ../../bootloader.pm_.c:1101
+msgid "Start Menu"
+msgstr "Başlama Menyusu"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To get a list of the options available for the current printer click on the "
-"\"Print option list\" button."
-msgstr ""
-"Hazırkı çapçı üçün mövcud olan seçimlər siyahısını almaq üçün \"Seçimlər "
-"siyahısını göstər\" düyməsinə basın."
+#: ../../bootloader.pm_.c:1120
+#, fuzzy, c-format
+msgid "You can't install the bootloader on a %s partition\n"
+msgstr "Sistem yükləyicisini haraya qurmaq istəyirsiniz?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Enabling servers..."
-msgstr "Vericilər fəallaşdırılır..."
+#: ../../bootlook.pm_.c:53
+msgid "Boot Style Configuration"
+msgstr "Qurulum Tərzi Quraşdırılması"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing test page(s)..."
-msgstr "Sınaq səhifə(ləri)si çap edilir..."
+#: ../../bootlook.pm_.c:70 ../../standalone/drakfloppy_.c:54
+#: ../../standalone/harddrake2_.c:81 ../../standalone/harddrake2_.c:82
+#: ../../standalone/logdrake_.c:74
+msgid "/_File"
+msgstr "/_Fayl"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Transfer successful\n"
-"You may want to verify you can login to the server with:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"without being prompted for a password."
-msgstr ""
-"Daşıma müvəffəqiyyətlə başa çatdı\n"
-"İndi aşağıdakı əmrlə vericiyə daxil olmayı yoxlaya bilərsiniz:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"Sizdən şifrə istənilməyəcək."
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/logdrake_.c:80
+msgid "/File/_Quit"
+msgstr "/Fayl/_Çıx"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Onsuz da bağlama nöqtəsi %s olan bölmə mövcuddur\n"
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/harddrake2_.c:82 ../../standalone/logdrake_.c:80
+msgid "<control>Q"
+msgstr "<control>Q"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable msec hourly security check."
-msgstr "Saat başı msec təhlükəsizlik yoxlamasını Fəallaşdır/Qeyri-fəallaşdır"
+#: ../../bootlook.pm_.c:82
+msgid "NewStyle Categorizing Monitor"
+msgstr "NewStyle Kateqoriyasından Monitor"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"At this point, you need to decide where you want to install the Mandrake\n"
-"Linux operating system on your hard drive. If your hard drive is empty or\n"
-"if an existing operating system is using all the available space you will\n"
-"have to partition the drive. Basically, partitioning a hard drive consists\n"
-"of logically dividing it to create the space needed to install your new\n"
-"Mandrake Linux system.\n"
-"\n"
-"Because the process of partitioning a hard drive is usually irreversible\n"
-"and can lead to lost data if there is an existing operating system already\n"
-"installed on the drive, partitioning can be intimidating and stressful if\n"
-"you are an inexperienced user. Fortunately, DrakX includes a wizard which\n"
-"simplifies this process. Before continuing with this step, read through the\n"
-"rest of this section and above all, take your time.\n"
-"\n"
-"Depending on your hard drive configuration, several options are available:\n"
-"\n"
-" * \"%s\": this option will perform an automatic partitioning of your blank\n"
-"drive(s). If you use this option there will be no further prompts.\n"
-"\n"
-" * \"%s\": the wizard has detected one or more existing Linux partitions on\n"
-"your hard drive. If you want to use them, choose this option. You will then\n"
-"be asked to choose the mount points associated with each of the partitions.\n"
-"The legacy mount points are selected by default, and for the most part it's\n"
-"a good idea to keep them.\n"
-"\n"
-" * \"%s\": if Microsoft Windows is installed on your hard drive and takes\n"
-"all the space available on it, you will have to create free space for\n"
-"Linux. To do so, you can delete your Microsoft Windows partition and data\n"
-"(see ``Erase entire disk'' solution) or resize your Microsoft Windows FAT\n"
-"partition. Resizing can be performed without the loss of any data, provided\n"
-"you have previously defragmented the Windows partition and that it uses the\n"
-"FAT format. Backing up your data is strongly recommended.. Using this\n"
-"option is recommended if you want to use both Mandrake Linux and Microsoft\n"
-"Windows on the same computer.\n"
-"\n"
-" Before choosing this option, please understand that after this\n"
-"procedure, the size of your Microsoft Windows partition will be smaller\n"
-"then when you started. You will have less free space under Microsoft\n"
-"Windows to store your data or to install new software.\n"
-"\n"
-" * \"%s\": if you want to delete all data and all partitions present on\n"
-"your hard drive and replace them with your new Mandrake Linux system,\n"
-"choose this option. Be careful, because you will not be able to undo your\n"
-"choice after you confirm.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be deleted. !!\n"
-"\n"
-" * \"%s\": this will simply erase everything on the drive and begin fresh,\n"
-"partitioning everything from scratch. All data on your disk will be lost.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be lost. !!\n"
-"\n"
-" * \"%s\": choose this option if you want to manually partition your hard\n"
-"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
-"easily lose all your data. That's why this option is really only\n"
-"recommended if you have done something like this before and have some\n"
-"experience. For more instructions on how to use the DiskDrake utility,\n"
-"refer to the ``Managing Your Partitions '' section in the ``Starter\n"
-"Guide''."
-msgstr ""
-"Bu nöqtədə Linuks Mandrakeni sabit diskinizdə haraya quracağınıza\n"
-"qərar verəcəksiniz. Əgər diskiniz boş isə və ya bir başqa sistem\n"
-"bütün yeri doldurmuş isə, o zaman diskinizdə Linuks Mandrake üçün\n"
-"yer açmalısınız. Bölmələndirmə əsasən diskinizdə Mandrake Linuksu\n"
-"qurmaqməntiqi sürücülər yaratmaqdan ibarətdir.\n"
-"\n"
-"Ümumiyyətlə bölmələndirmənin təsiri geri dönülməzdir və mə'lumat\n"
-"itirilməsinə səbəb ola bilər. Ona görə də əgər sisteminizdə başqa bir\n"
-"əməliyyat sistemi quruludursa və siz Linuksla yeni tanışırsınızsa bu iş\n"
-"çox gərgin və yorucudur. Ancaq DrakX sabit diski çox rahat bölmələndirməniz\n"
-"üçün çox sadə bir sehirbaz daxil edir. Başlamadan əvvəl xahiş edirik, "
-"buradakı\n"
-"mə'lumatları oxuyun, və bu iş üçün bir az vaxt ayırın.\n"
-"\n"
-"Sabit diskinizin qurğularına nəzarən birdən çox seçim mövcud ola bilər:\n"
-"\n"
-" * \"%s\": bu seçim boş sürücülərinizi avtomatik olaraq bölmələndirəcək\n"
-"Bu seçənəyi seçsəniz sizə heç bir sual verilməyəcək.\n"
-"\n"
-" * \"%s\": sehirbaz sabit diskinizdə bir ya da daha çox mövcud Linuks \n"
-"bölməsi aşkar edib. Onları istifadə etmək istəyirsinizsə bu seçənəyi "
-"işlədin.\n"
-"Daha sonra hər bölmə ilə əlaqələndirilmiş bağlama nöqtəsi seçəcəksiniz.\n"
-"Əvvəldən qalan bağlama nöqtələri əsas olaraq seçilidir və onları eləcə də\n"
-"saxlamaq gözəl fikirdir.\n"
-"\n"
-" * \"%s\": sabit diskinizdə Microsoft Windows quruludur və üstündəki bütün\n"
-" sahəni əhatə edir, bu vəziyyətdə siz Linuks üçün boş yer ayırmalısınız.\n"
-"Bunu etmək üçün Microsoft Windows bölməsini və mə'lumatlarını silə "
-"bilərsiniz.\n"
-"(baxın ``Bütün diski sil'' həlli) ya da Microsoft Windows FAT ya da NTFS "
-"bölmənizin\n"
-" böyüklüyünü dəyişdirə bilərsiniz. Ölçüləndirmə qaydalara riayət edilərsə "
-"heç bir mə'lumat\n"
-"itirilməsinə yol açmaz. Qaydalar isə əvvəlcədən Windows bölməniz üstündə "
-"'Scandisk' və\n"
-"'Defraq' əmrlərinin icra edilməsinir. Eyni zamanda mə'lumatlarınızın ehtiyat "
-"nüsxəsini almayı\n"
-"da qətiyyən unutmayın. Kompüteriniz üstündə həm Mandrake Linux həm də "
-"Microsoft\n"
-"Windows ƏS'lərini işlətmək istəyirsinizsə bu seçənəyi seçin. Unutmayın ki "
-"Microsoft\n"
-"Windows bölmənizin böyüklüyünü Windows altında da bəzi (PartitionMagic) "
-"proqramlar\n"
-"vasitəsi ilə dəyişdirə bilərsiniz.\n"
-"\n"
-" Bu seçənəyi seçmədən əvvəl nəzərə alın ki bu əməliyyatdan sonra Microsoft "
-"Windows\n"
-"bölməniz əvvəlkindən daha kiçik olacaq.\n"
-"\n"
-" * \"%s\": əgər sisteminizdəki bütün mövcud bölmələri silmək və yerinə\n"
-"Mandrake Linuks sistemini qurmaq istəyirsinizsə bu seçənəyi seçin.\n"
-"Diqqətli olun, ona görə ki seçiminizi təsdiqlədikdən sonra geri ala "
-"bilməyəcəksiniz.\n"
-"\n"
-" !! Əgər bu seçənəyi seçsəniz, diskinizdəki bütün mə'lumat "
-"silinəcəkdir. !!\n"
-"\n"
-" * \"%s\": bu sabit disk üstündəki hər şeyi siləcək və sıfırdan təzə bir "
-"bölmələmə,\n"
-"həyata keçirəcəkdir. Diskinizdəki bütün mə'lumat silinəcəkdir.\n"
-"\n"
-" !! Əgər bu seçənəyi seçsəniz, diskinizdəki bütün mə'lumat "
-"silinəcəkdir. !!\n"
-"\n"
-" * \"%s\": diskinizi əllə bölmələmək istəyirsinizsə bu seçənəyi seçin. \n"
-"Diqqətli olun -- bu çox qüvvətli ancaq təhlükəli seçimdir. Ona görə də bu \n"
-"seçimi ancaq daha əvvəl buna oxşar bir şey etmişsinizsə və bu sahədə\n"
-"bilikləriniz mövcuddursa seçin. Yaxşısı budur ki bu əməliyyat sırasında\n"
-"yanınızda daha əvvəl bunu etmiş dostunuz da olsun. DiskDrake vasitəsinin\n"
-"istifadəsi haqqında mə'lumatı ``Starter Guide'' kitabçasının ``Managing \n"
-"Your Partitions '' qismində tapa bilərsiniz."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ukraine"
-msgstr "Ukrayna"
+#: ../../bootlook.pm_.c:83
+msgid "NewStyle Monitor"
+msgstr "NewStyle Monitor"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Application:"
-msgstr "Tə'minat:"
+#: ../../bootlook.pm_.c:84
+msgid "Traditional Monitor"
+msgstr "Ənənəvi Monitor"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "External ISDN modem"
-msgstr "Xarici ISDN modem"
+#: ../../bootlook.pm_.c:85
+msgid "Traditional Gtk+ Monitor"
+msgstr "Ənənəvi Gtk+ Monitor"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result by mail."
-msgstr "əgər bəli seçilidirsə, yoxlama nəticələrini poçtla göndər."
+#: ../../bootlook.pm_.c:86
+msgid "Launch Aurora at boot time"
+msgstr "Açılışda Auroranı başlat"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Seçiminiz? (əsası %s) "
+#: ../../bootlook.pm_.c:89
+msgid "Lilo/grub mode"
+msgstr "Lilo/grub modu"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Trouble shooting"
-msgstr "Problem həlli"
+#: ../../bootlook.pm_.c:89
+msgid "Yaboot mode"
+msgstr "Yaboot modu"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:138
+#, fuzzy
+msgid "Install themes"
+msgstr "Sistemi qur"
+
+#: ../../bootlook.pm_.c:139
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
+"Display theme\n"
+"under console"
msgstr ""
-"Sınaq səhifə(ləri)si çapçıya göndərildi.\n"
-"Çapçının işə başlaması üçün bir az vaxt keçə bilər.\n"
-"Çap vəziyyəti:\n"
-"%s\n"
-"\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "daily"
-msgstr "günlük"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and one unknown printer"
-msgstr "və bir namə'lum çapçı"
+#: ../../bootlook.pm_.c:140
+#, fuzzy
+msgid "Create new theme"
+msgstr "Yeni bölmə yarat"
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
+#: ../../bootlook.pm_.c:184
#, c-format
-msgid "Ireland"
-msgstr "İrlandiya"
+msgid "Backup %s to %s.old"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../bootlook.pm_.c:187
#, c-format
-msgid " Restore Configuration "
-msgstr " Qurğuları Geri AL "
+msgid "Copy %s to %s"
+msgstr ""
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Is this the correct setting?"
-msgstr "Bu qurğu doğrudur?"
+#: ../../bootlook.pm_.c:192 ../../bootlook.pm_.c:222 ../../bootlook.pm_.c:224
+#: ../../bootlook.pm_.c:234 ../../bootlook.pm_.c:243 ../../bootlook.pm_.c:250
+#: ../../diskdrake/dav.pm_.c:77 ../../diskdrake/hd_gtk.pm_.c:119
+#: ../../diskdrake/interactive.pm_.c:216 ../../diskdrake/interactive.pm_.c:352
+#: ../../diskdrake/interactive.pm_.c:367 ../../diskdrake/interactive.pm_.c:481
+#: ../../diskdrake/interactive.pm_.c:486 ../../diskdrake/smbnfs_gtk.pm_.c:45
+#: ../../fsedit.pm_.c:239 ../../install_steps.pm_.c:75
+#: ../../install_steps_interactive.pm_.c:67 ../../interactive/http.pm_.c:119
+#: ../../interactive/http.pm_.c:120 ../../standalone/draksplash_.c:21
+msgid "Error"
+msgstr "Xəta"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"You will now set up your Internet/network connection. If you wish to\n"
-"connect your computer to the Internet or to a local network, click \"%s\".\n"
-"Mandrake Linux will attempt to autodetect network devices and modems. If\n"
-"this detection fails, uncheck the \"%s\" box. You may also choose not to\n"
-"configure the network, or to do it later, in which case clicking the \"%s\"\n"
-"button will take you to the next step.\n"
-"\n"
-"When configuring your network, the available connections options are:\n"
-"traditional modem, ISDN modem, ADSL connection, cable modem, and finally a\n"
-"simple LAN connection (Ethernet).\n"
-"\n"
-"We will not detail each configuration option - just make sure that you have\n"
-"all the parameters, such as IP address, default gateway, DNS servers, etc.\n"
-"from your Internet Service Provider or system administrator.\n"
-"\n"
-"You can consult the ``Starter Guide'' chapter about Internet connections\n"
-"for details about the configuration, or simply wait until your system is\n"
-"installed and use the program described there to configure your connection."
-msgstr ""
-"İndi, İnternet/şəbəkə bağlantınız quraşdırılacaq. Əgər kompüterinizi\n"
-"yerli şəbəkə ya da internetə bağlamaq istəyirsinizsə, \"%s\" düyməsinə\n"
-"basın. Mandrake Linuks şəbəkə avadanlıqları və modemlərinizi aşkar etməyə\n"
-"cəhd edəcək. Əgər avtomatik aşkar bacarılmazsa, \"%s\" qutusunun işarəsini\n"
-"silin. Eyni zamanda, şəbəkəni indi quraşdırmaq istəməyə də bilərsiniz, bu "
-"halda\n"
-"bunu daha sonra etmək üçün \"%s\" düyməsinə basaraq növbəti addıma keçə\n"
-"bilərsiniz.\n"
-"\n"
-"Şəbəkəniz quraşdırılırkən mövcud bağlantı seçimləri bunlar olacaq:\n"
-"ənənəvi modem, ISDN modem, ADSL bağlantı, kabel modem, və son olaraq\n"
-"da bəsit LAN bağlantısı (Eternet).\n"
-"\n"
-"Hər qurğunun təfərruatına girməyəcəyik - sadəcə olaraq IP ünvanı, əsas\n"
-"şəbəkə keçidi (Default Gateway), DNS vericiləri vs. kimi parametrləri "
-"internet \n"
-"xidmət provayderinizdən ya da sistem idarəçinizdən almaq yadınızdan çıxmasın."
+#: ../../bootlook.pm_.c:192
+msgid "Lilo message not found"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wizard Configuration"
-msgstr "Sehirbaz Qurğuları"
+#: ../../bootlook.pm_.c:222
+msgid "Can't write /etc/sysconfig/bootsplash."
+msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Autoprobe"
-msgstr "Avtomatik yoxla"
+#: ../../bootlook.pm_.c:222
+#, fuzzy, c-format
+msgid "Write %s"
+msgstr "XFree %s"
-#: ../../security/help.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:224
msgid ""
-"if set to yes, check for :\n"
-"\n"
-"- empty passwords,\n"
-"\n"
-"- no password in /etc/shadow\n"
-"\n"
-"- for users with the 0 id other than root."
+"Can't write /etc/sysconfig/bootsplash\n"
+"File not found."
msgstr ""
-"əgər bəli seçilidirsə, bunları yoxla :\n"
-"\n"
-"- boş şifrələri,\n"
-"\n"
-"- /etc/shadow içində şifrə olmamasını\n"
-"\n"
-"- ali istifadəçi xaricindəki id'si 0 olan başqa istifadəçiləri."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files..."
-msgstr "Sistem fayllarının ehtiyat nüsxəsini çıxart..."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Can't use broadcast with no NIS domain"
-msgstr "NIS domeni olmayan translasiya işlədilə bilməz"
-#: ../../printer/printerdrake.pm:1
+#: ../../bootlook.pm_.c:235
#, c-format
-msgid "Removing printer \"%s\"..."
-msgstr "\"%s\" çapçısı çıxardılır..."
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell history size"
-msgstr "Qabıq keçmişi böyüklüyü"
+msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
+msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../bootlook.pm_.c:238
#, c-format
-msgid "drakfloppy"
-msgstr "drakfloppy"
+msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../bootlook.pm_.c:244
msgid ""
-"Please indicate where the auto_install.cfg file is located.\n"
-"\n"
-"Leave it blank if you do not want to set up automatic installation mode.\n"
-"\n"
+"Can't relaunch LiLo!\n"
+"Launch \"lilo\" as root in command line to complete LiLo theme installation."
msgstr ""
-"Xahiş edirik, auto_install.cfg faylının yerini bildirin.\n"
-"\n"
-"Avtomatik qurma modunu quğulamaq istəmirsinizsə buranı boş buraxın.\n"
-"\n"
-
-#: ../../printer/cups.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Configured on other machines"
-msgstr "Digər kompüterlər üstündə quraşdırılmış olan"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "information level that can be obtained through the cpuid instruction"
-msgstr "cpuid tə'limatları ilə alına bilən mə'lumat səviyyəsi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Peru"
-msgstr "Peru"
+#: ../../bootlook.pm_.c:248
+msgid "Relaunch 'lilo'"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " on device: %s"
-msgstr " bu avadanlıq üstündə: %s"
+#: ../../bootlook.pm_.c:250 ../../standalone/draksplash_.c:156
+#: ../../standalone/draksplash_.c:321 ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "Notice"
+msgstr "NoVİdeo"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Remove Windows(TM)"
-msgstr "Windows(TM)'u Sil"
+#: ../../bootlook.pm_.c:251
+msgid "LiLo and Bootsplash themes installation successfull"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "X Font Vericisini başlat (Bu, XFree icrası üçün məcburidir)."
+#: ../../bootlook.pm_.c:251
+#, fuzzy
+msgid "Theme installation failed!"
+msgstr "Quruluş sinifini seçin"
-#: ../../standalone/drakTermServ:1
+#: ../../bootlook.pm_.c:259
#, c-format
msgid ""
-"Most of these values were extracted\n"
-"from your running system.\n"
-"You can modify as needed."
+"You are currently using %s as your boot manager.\n"
+"Click on Configure to launch the setup wizard."
msgstr ""
-"Bu qiymətlərin çoxu hazırkı sisteminizdə\n"
-"alınmışdır. Lazım gələrsə\n"
-"dəyişdirə biləcəksiniz."
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Select the font file or directory and click on 'Add'"
-msgstr "Yazı növü faylını ya da cərgəsini seçin və 'Əlavə Et' düyməsinə basın"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Madagascar"
-msgstr "Madaqaskar"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Urpmi"
-msgstr "Urpmi"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Cron not available yet as non-root"
-msgstr "Cron hələlik normal istifadəçi modu üçün mövcud deyil"
+"Açılış İdarəçisi olaraq hazırda %s işlədirsiniz.\n"
+"Quraşdırma sehirbazını başlatmaq üçün tıqlayın."
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "System"
-msgstr "Sistem"
+#: ../../bootlook.pm_.c:261 ../../standalone/drakbackup_.c:2380
+#: ../../standalone/drakbackup_.c:2390 ../../standalone/drakbackup_.c:2400
+#: ../../standalone/drakbackup_.c:2408 ../../standalone/drakgw_.c:551
+msgid "Configure"
+msgstr "Qur"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Do you want to use this feature?"
-msgstr "Bu xüsusiyyəti istifadə etmək istəyirsiniz?"
+#: ../../bootlook.pm_.c:268
+#, fuzzy
+msgid "Splash selection"
+msgstr "Paket seçkilərini saxla"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Arabic"
-msgstr "Ərəb dili"
+#: ../../bootlook.pm_.c:271
+msgid "Themes"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../bootlook.pm_.c:273
msgid ""
"\n"
-"- Options:\n"
+"Select theme for\n"
+"lilo and bootsplash,\n"
+"you can choose\n"
+"them separatly"
msgstr ""
-"\n"
-"- Seçimlər:\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Password required"
-msgstr "Şifrə lazımdır"
-#: ../../common.pm:1
-#, c-format
-msgid "%d minutes"
-msgstr "%d dəqiqə"
+#: ../../bootlook.pm_.c:276
+msgid "Lilo screen"
+msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Graphics card: %s"
-msgstr "Qrafika kartı: %s"
+#: ../../bootlook.pm_.c:281
+msgid "Bootsplash"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WebDAV transfer failed!"
-msgstr "WebDAV transferi bacarılmadı!"
+#: ../../bootlook.pm_.c:316
+msgid "System mode"
+msgstr "Sistem modu"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree configuration"
-msgstr "XFree quraşdırılması"
+#: ../../bootlook.pm_.c:318
+msgid "Launch the graphical environment when your system starts"
+msgstr "Açılışda X-Window sistemini başlat"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Choose action"
-msgstr "Gedişatı seçin"
+#: ../../bootlook.pm_.c:323
+msgid "No, I don't want autologin"
+msgstr "Xeyr, Avtomatik giriş istəmirəm"
-#: ../../lang.pm:1
-#, c-format
-msgid "French Polynesia"
-msgstr "Fransız Poloneziyası"
+#: ../../bootlook.pm_.c:325
+msgid "Yes, I want autologin with this (user, desktop)"
+msgstr ""
+"Bəli, bu istifadəçi üçün avtomatik giriş istəyirəm (istifadəçi, masa üstü)"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Usually, DrakX has no problems detecting the number of buttons on your\n"
-"mouse. If it does, it assumes you have a two-button mouse and will\n"
-"configure it for third-button emulation. The third-button mouse button of a\n"
-"two-button mouse can be ``pressed'' by simultaneously clicking the left and\n"
-"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
-"a PS/2, serial or USB interface.\n"
-"\n"
-"If for some reason you wish to specify a different type of mouse, select it\n"
-"from the list provided.\n"
-"\n"
-"If you choose a mouse other than the default, a test screen will be\n"
-"displayed. Use the buttons and wheel to verify that the settings are\n"
-"correct and that the mouse is working correctly. If the mouse is not\n"
-"working well, press the space bar or [Return] key to cancel the test and to\n"
-"go back to the list of choices.\n"
-"\n"
-"Wheel mice are occasionally not detected automatically, so you will need to\n"
-"select your mouse from a list. Be sure to select the one corresponding to\n"
-"the port that your mouse is attached to. After selecting a mouse and\n"
-"pressing the \"%s\" button, a mouse image is displayed on-screen. Scroll\n"
-"the mouse wheel to ensure that it is activated correctly. Once you see the\n"
-"on-screen scroll wheel moving as you scroll your mouse wheel, test the\n"
-"buttons and check that the mouse pointer moves on-screen as you move your\n"
-"mouse."
-msgstr ""
-"Adətən DrakX siçanınızdakı düymə ədədini tapmaqda əziyyət çəkməyəcək. Əgər\n"
-"müvəffəqiyyətsiz olsa, siçanınızı iki düyməli qəbul edəcək və üçüncü düymə \n"
-"emulyasiyasını fəallaşdıracaq. İki düyməli siçanda üçüncü düyməyə "
-"``basmaq''\n"
-"üçün sağ və sol düyməyə bərabər basmalısınız. DrakX, siçanınızın PS/2 ya da "
-"USB bağlantısından hansını işlətdiyini özü tapacaq.\n"
-"\n"
-"Əgər fərqli bir siçan növü seçmək istəsəniz verilən siyahıdan seçməniz\n"
-"kifayətdir.\n"
-"\n"
-"Əgər əsas siçan xaricində başqa bir siçan seçmək istəsəniz bir sınaq ekranı\n"
-"göstəriləcək. Sİçanın qurğularının düz olduğundn əmin olmaq üçün\n"
-"düymələri və çarxı sınayın. Əgər siçan düzgün işləmirsə boşluq ya da\n"
-"[Return] düyməsinə basıb seçim siyahısına geri dönə bilərsiniz.\n"
-"\n"
-"Çərxli siçanlar adətən avtomatik aşkar edilə bilmir, bu səbəblə\n"
-"siçanınızı siyahıdan seçməniz lazım ola bilər. Siçanızın taxılı olduğu "
-"qapını\n"
-"və siçanınızı seçəndən sonra \"%s\" düyməsinə basın, ekranda bir siçan\n"
-"rəsmi göstəriləcək. Çərxin düzgün işlədiyini yoxlamaq üçün onu döndərin.\n"
-"Ekrandakı siçan çərxinin döndüyünü görəndən sonra siçanın düymələrini \n"
-"oxun ekrandakı hərəkətini yoxlayın."
-
-#: ../../services.pm:1
-#, c-format
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr "OKI 4w və uyğun winprinter'ləri dəstəklə."
+#: ../../bootlook.pm_.c:335 ../../network/netconnect.pm_.c:96
+#: ../../standalone/drakTermServ_.c:222 ../../standalone/drakTermServ_.c:355
+#: ../../standalone/drakbackup_.c:4139 ../../standalone/drakbackup_.c:4797
+#: ../../standalone/drakconnect_.c:105 ../../standalone/drakconnect_.c:137
+#: ../../standalone/drakconnect_.c:293 ../../standalone/drakconnect_.c:432
+#: ../../standalone/drakconnect_.c:518 ../../standalone/drakconnect_.c:561
+#: ../../standalone/drakconnect_.c:665 ../../standalone/drakfont_.c:604
+#: ../../standalone/drakfont_.c:783 ../../standalone/drakfont_.c:911
+#: ../../standalone/net_monitor_.c:336 ../../ugtk.pm_.c:288
+#: ../../ugtk2.pm_.c:355
+msgid "OK"
+msgstr "Oldu"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Files or wildcards listed in a .backupignore file at the top of a directory "
-"tree will not be backed up."
+#: ../../common.pm_.c:107
+msgid "GB"
msgstr ""
-"Cərgə ağacının ən üstündəki .backupignore faylında yer alan fayllar "
-"wildcard'ların ya da faylların ehtiyat nüsxəsi alınmayacaq."
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr "ALSA səs sistemini (Advanced Linux Sound Architecture) başlat"
+#: ../../common.pm_.c:107
+msgid "KB"
+msgstr ""
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "%s kartı üçün sürücü %s qurulur"
+#: ../../common.pm_.c:107
+msgid "MB"
+msgstr "MB"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You have transferred your former default printer (\"%s\"), Should it be also "
-"the default printer under the new printing system %s?"
+#: ../../common.pm_.c:115
+msgid "TB"
msgstr ""
-"Siz köhnə əsas çapçınızı (\"%s\") transer etdiniz, onun eyni zamanda hazırkı "
-"%s çap etmə sistemində də əsas olmasını istəyirsiniz?"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Enable Server"
-msgstr "Vericini Fəallaşdır"
-#: ../../keyboard.pm:1
+#: ../../common.pm_.c:123
#, c-format
-msgid "Ukrainian"
-msgstr "Ukrayna"
+msgid "%d minutes"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The network access was not running and could not be started. Please check "
-"your configuration and your hardware. Then try to configure your remote "
-"printer again."
+#: ../../common.pm_.c:125
+msgid "1 minute"
msgstr ""
-"Şəbəkəyə yetişmə işləmirdi fə başladıla bilmədi. Xahiş edirik, "
-"avadanlığınızıvə qurğularınızı yoxlayın. Sonra uzaqdakı çapçınızı yenidən "
-"qurğulamaya çalışın."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to write the file"
-msgstr "Faylı yazmaq üçün \"%s\"ı fəallaşdır"
+#: ../../common.pm_.c:127
+#, fuzzy, c-format
+msgid "%d seconds"
+msgstr "%d saniyə sonra çıxılacaq"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please insert the Boot floppy used in drive %s"
-msgstr "Xahiş edirik, işlədilən açılış disketini %s sürücüsünə yerləşdirin"
+#: ../../common.pm_.c:172
+#, fuzzy
+msgid "Can't make screenshots before partitioning"
+msgstr "Artıq bölmə əlavə edilə bilməz"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local network(s)"
-msgstr "Yerli şəbəkə(lər)"
+#: ../../common.pm_.c:179
+#, fuzzy, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Qurulumdan sonra istifadə edə biləcəyiniz başqa dillər seçə bilərsiniz"
-#: ../../help.pm:1
-#, c-format
-msgid "Remove Windows"
-msgstr "Windows'u Sil"
+#: ../../crypto.pm_.c:14 ../../crypto.pm_.c:28 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:127
+#, fuzzy
+msgid "France"
+msgstr "Fransızca"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Your %s has been configured.\n"
-"You may now scan documents using \"XSane\" from Multimedia/Graphics in the "
-"applications menu."
+#: ../../crypto.pm_.c:15
+msgid "Costa Rica"
msgstr ""
-"Sizin %s darayıcınız quraşdırıldı.\n"
-"İndi siz Multimediya/Qrafika menyusundakı \"XSane\"i istifadə edərək "
-"sənədləri daraya bilərsiniz."
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Firewire controllers"
-msgstr "Firewire idarəçiləri"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"After you have configured the general bootloader parameters, the list of\n"
-"boot options that will be available at boot time will be displayed.\n"
-"\n"
-"If there are other operating systems installed on your machine they will\n"
-"automatically be added to the boot menu. You can fine-tune the existing\n"
-"options by clicking \"%s\" to create a new entry; selecting an entry and\n"
-"clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your\n"
-"changes.\n"
-"\n"
-"You may also not want to give access to these other operating systems to\n"
-"anyone who goes to the console and reboots the machine. You can delete the\n"
-"corresponding entries for the operating systems to remove them from the\n"
-"bootloader menu, but you will need a boot disk in order to boot those other\n"
-"operating systems!"
-msgstr ""
-"Ümumi açılış yükləyicisi parametrlərini quraşdırdıqdan sonra, açılış\n"
-"zamanında mövcud olacaq açılış seçimlərinin siyahısı göstəriləcək.\n"
-"\n"
-"Əgər sisteminizdə qurulu olan başqa əməliyyat sistemləri varsa, onlar\n"
-"avtomatik olaraq açılış menyusuna əlavə ediləcək. Yeni giriş yaratmaq\n"
-"üçün \"%s\" düyməsinə, girişi dəyişdirmək ya da silmək üçün onu seçib \n"
-"\"%s\" ya da \"%s\" düyməsinə basın. \"%s\" düyməsi dəyişikliklərinizi\n"
-"qeyd edəcək.\n"
-"\n"
-"Ola bilər ki, konsola girib sistemi yenidən başladan heç kimin bu digər\n"
-"əməliyyat sistemlərinə yetişməsini istəmirsiniz. Bu zaman açılış "
-"menyusundan\n"
-"uyğun gələn girişləri silərək bunu həyata keçirə bilərsiniz, yalnız sizin "
-"bu\n"
-"əməliyyat sistemlərinə yetişə bilməniz üçün açılış disketinə ehtiyacınız "
-"olacaq!"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "System mode"
-msgstr "Sistem modu"
+#: ../../crypto.pm_.c:16 ../../crypto.pm_.c:29 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:130
+#, fuzzy
+msgid "Belgium"
+msgstr "Belçika dili"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print on 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."
+#: ../../crypto.pm_.c:17 ../../crypto.pm_.c:30
+msgid "Czech Republic"
msgstr ""
-"NetWare çapçısında çap etmək üçün, NetWare çap vericisinin adı (Qeyd! Bu TCP/"
-"IP qovşaq adından fərqli ola bilər) və yetişmək istədiyiniz çapçının çap "
-"növbəsi adı ilə bərabər istifadəçi adı va şifrəsi verilməlidir."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Netmask:"
-msgstr "Şəbəkə Maskası:"
+#: ../../crypto.pm_.c:18 ../../crypto.pm_.c:31
+#, fuzzy
+msgid "Germany"
+msgstr "Almanca"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Do it later"
-msgstr "Bunu sonra et"
+#: ../../crypto.pm_.c:19 ../../crypto.pm_.c:32
+#, fuzzy
+msgid "Greece"
+msgstr "Yunanca"
-#: ../../any.pm:1
-#, c-format
-msgid "Append"
-msgstr "Sonuna əlavə et"
+#: ../../crypto.pm_.c:20 ../../crypto.pm_.c:33
+#, fuzzy
+msgid "Norway"
+msgstr "Norveçcə"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refresh printer list (to display all available remote CUPS printers)"
-msgstr ""
-"Çapçı siyahısını yenilə (Mövcud bütün uzaq CUPS çapçılarını göstərmək üçün)"
+#: ../../crypto.pm_.c:21 ../../crypto.pm_.c:34
+#, fuzzy
+msgid "Sweden"
+msgstr "İsveçcə"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"When this option is turned on, on every startup of CUPS it is automatically "
-"made sure that\n"
-"\n"
-"- if LPD/LPRng is installed, /etc/printcap will not be overwritten by CUPS\n"
-"\n"
-"- if /etc/cups/cupsd.conf is missing, it will be created\n"
-"\n"
-"- when printer information is broadcasted, it does not contain \"localhost\" "
-"as the server name.\n"
-"\n"
-"If some of these measures lead to problems for you, turn this option off, "
-"but then you have to take care of these points."
+#: ../../crypto.pm_.c:22 ../../crypto.pm_.c:36 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:128
+msgid "Netherlands"
msgstr ""
-"Bu seçim fəal olanda CUPS'un hər başlanğıcında bunlar yoxlanır:\n"
-"\n"
-"- əgər LPD/LPRng quruludursa, /etc/printcap CUPS tərəfindən üstündən qeyd "
-"edilməyəcək\n"
-"\n"
-"- əgər /etc/cups/cupsd.conf əksikdirsə, yaradılacaq\n"
-"\n"
-"- çapçı mə'lumatı yayımlananda, verici adı olaraq \"localhost\" daxil "
-"etməməsini.\n"
-"\n"
-"Əgər bu ölçülərdən biri sizi problemə soxursa bu seçimi fəallaşdırmayın."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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 tamamilə avtomatikləşdirilə bilər,\n"
-"ancaq bu zaman o bütün sabit diskə əl qoyacaq!!!\n"
-"(bu başqa kompüterdə də sistemi qura bilmək üçündür).\n"
-"\n"
-"Gələcəkdə bu qurulumu təkrarlamaq istəyə bilərsiniz.\n"
+#: ../../crypto.pm_.c:23 ../../crypto.pm_.c:37 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:129 ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Italy"
+msgstr "İtalyanca"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network printer \"%s\", port %s"
-msgstr "Şəbəkə çapçısı \"%s\", qapı %s"
+#: ../../crypto.pm_.c:24 ../../crypto.pm_.c:38
+#, fuzzy
+msgid "Austria"
+msgstr "serial"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../crypto.pm_.c:35 ../../crypto.pm_.c:61 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:131
+msgid "United States"
+msgstr ""
+
+#: ../../diskdrake/dav.pm_.c:19
msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
msgstr ""
-"Xahiş edirik, Yerli Sahə Şəbəkənizə (LAN) bağlanacaq şəbəkə avadanlığını "
-"seçin."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "OK to restore the other files."
-msgstr "Diqər fayllar da qeri qaytarılması üçün Oldu."
+#: ../../diskdrake/dav.pm_.c:27
+#, fuzzy
+msgid "New"
+msgstr "yeni"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your keyboard layout."
-msgstr "Xahiş edirik, klaviatura düzülüşünüzü seçin."
+#: ../../diskdrake/dav.pm_.c:63 ../../diskdrake/interactive.pm_.c:400
+#: ../../diskdrake/smbnfs_gtk.pm_.c:81
+msgid "Unmount"
+msgstr "Ayır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Device URI"
-msgstr "Çapçı Avadanlığı URI'si"
+#: ../../diskdrake/dav.pm_.c:64 ../../diskdrake/interactive.pm_.c:397
+#: ../../diskdrake/smbnfs_gtk.pm_.c:82
+msgid "Mount"
+msgstr "Bağla"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not erasable media!"
-msgstr "Silinə bilən mediya yoxdur!"
+#: ../../diskdrake/dav.pm_.c:65
+msgid "Server"
+msgstr "Verici"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Terminal-based"
-msgstr "Terminal-əsaslı"
+#: ../../diskdrake/dav.pm_.c:66 ../../diskdrake/interactive.pm_.c:391
+#: ../../diskdrake/interactive.pm_.c:580 ../../diskdrake/interactive.pm_.c:607
+#: ../../diskdrake/removable.pm_.c:24 ../../diskdrake/smbnfs_gtk.pm_.c:85
+msgid "Mount point"
+msgstr "Bağlama nöqtəsi"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable IP spoofing protection."
-msgstr "IP qizləmə qorumasını Fəallaşdır/Qeyri-fəallaşdır."
+#: ../../diskdrake/dav.pm_.c:85
+#, fuzzy
+msgid "Please enter the WebDAV server URL"
+msgstr "Xahiş edirik siçanınızı seçin"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing a printing system in the %s security level"
-msgstr "%s təhlükəsizlik səviyyəsində çap etmə sistemini qur"
+#: ../../diskdrake/dav.pm_.c:88
+msgid "The URL must begin with http:// or https://"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "The user name is too long"
-msgstr "İstifadəçi adı çox uzundur"
+#: ../../diskdrake/dav.pm_.c:109
+#, fuzzy
+msgid "Server: "
+msgstr "Verici"
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (windows...)"
-msgstr "Digər ƏS (windows...)"
+#: ../../diskdrake/dav.pm_.c:110 ../../diskdrake/interactive.pm_.c:452
+#: ../../diskdrake/interactive.pm_.c:1102
+#: ../../diskdrake/interactive.pm_.c:1177
+msgid "Mount point: "
+msgstr "Bağlama nöqtəsi: "
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/dav.pm_.c:111 ../../diskdrake/interactive.pm_.c:1183
#, c-format
-msgid "WebDAV remote site already in sync!"
-msgstr "Uzaq WebDAV saytı onsuzda sync'dədir!"
+msgid "Options: %s"
+msgstr "Seçənəklər: %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer database..."
-msgstr "Çapçı mə'lumat bazası oxunur..."
+#: ../../diskdrake/hd_gtk.pm_.c:97
+msgid "Please make a backup of your data first"
+msgstr "Əvvəlcə datanızın yedəyini alın"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Generate auto install floppy"
-msgstr "Avtomatik qurulum disketi hazırla"
+#: ../../diskdrake/hd_gtk.pm_.c:97 ../../diskdrake/interactive.pm_.c:946
+#: ../../diskdrake/interactive.pm_.c:956
+#: ../../diskdrake/interactive.pm_.c:1022
+msgid "Read carefully!"
+msgstr "Diqqətlə Oxuyun!"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:100
msgid ""
-"\t\t user name: %s\n"
-"\t\t on path: %s \n"
+"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 ""
-"\t\t istifadəçi adı: %s\n"
-"\t\t bu cığırda: %s \n"
+"Aboot istifadə etməyi istəyirsinizsə, boş disk sahəsi (2048 sektor bəsdir.)\n"
+"buraxmayı unutmayın."
-#: ../../lang.pm:1
-#, c-format
-msgid "Somalia"
-msgstr "Somali"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No open source driver"
-msgstr "Açıq mənbəli sürücü yoxdur"
+#: ../../diskdrake/hd_gtk.pm_.c:154
+msgid "Wizard"
+msgstr "Sehirbaz"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Def."
-msgstr "Tan."
+#: ../../diskdrake/hd_gtk.pm_.c:187
+msgid "Choose action"
+msgstr "Monitorunuzu seçin"
-#: ../../security/level.pm:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:191
msgid ""
-"This is similar to the previous level, but the system is entirely closed and "
-"security features are at their maximum."
+"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 ""
-"Bu, daha əvvəlki səviyyəyə bənzərdir, ancaq sistem tamamilə bağlıdır və "
-"təhlükəsizlik xüsusiyyətləri ən üst səviyyədədir."
+"Tək bir böyük disk bölməniz var\n"
+"(əsasən MS DOS/Windows istifadə edər).\n"
+"Əvvəlcə bu disk bölməsinin böyüklüyünü dəyişdirməyinizi\n"
+"tövsiyə edirik. Əvvəlcə bölmənin üstünə, sonra \"Böyüklüyü\n"
+"Dəyişdir\" düyməsinə tıqlayın"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nicaragua"
-msgstr "Nikaraqua"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "New Caledonia"
-msgstr "Yeni Kaledoniya"
+#: ../../diskdrake/hd_gtk.pm_.c:194
+msgid "Please click on a partition"
+msgstr "Xahiş edirik bir bölmə üstünə tıqlayın"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol (EDSS1)"
-msgstr "Avropa protokolu (EDSS1)"
+#: ../../diskdrake/hd_gtk.pm_.c:208 ../../diskdrake/smbnfs_gtk.pm_.c:69
+#: ../../install_steps_gtk.pm_.c:464
+msgid "Details"
+msgstr "Ətraflı"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Delete"
-msgstr "/_Sil"
+#: ../../diskdrake/hd_gtk.pm_.c:254
+#, fuzzy
+msgid "No hard drives found"
+msgstr "Yerli Çap Edici"
-#: ../../any.pm:1
-#, c-format
-msgid "Video mode"
-msgstr "Video modu"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Ext2"
+msgstr "Ext2"
-#: ../../lang.pm:1
-#, c-format
-msgid "Oman"
-msgstr "Oman"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "FAT"
+msgstr "FAT"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Please enter your email address below "
-msgstr "Xahiş edirik, aşağıya epoçt ünvanınızı daxil edin"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "HFS"
+msgstr "HFS"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Network Monitoring"
-msgstr "Şəbəkə İzlənməsi"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+#, fuzzy
+msgid "Journalised FS"
+msgstr "bağlama iflas etdi"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:325
msgid "SunOS"
msgstr "SunOS"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "New size in MB: "
-msgstr "MB cinsindən yeni böyüklük: "
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Swap"
+msgstr "Swap"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Bölmə cədvəli növü: %s\n"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../diskdrake/interactive.pm_.c:1118
+msgid "Empty"
+msgstr "Boş"
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication Windows Domain"
-msgstr "Windows Domen Səlahiyyətləndirilməsi"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../install_steps_gtk.pm_.c:324
+#: ../../install_steps_gtk.pm_.c:382 ../../mouse.pm_.c:165
+#: ../../services.pm_.c:162 ../../standalone/drakbackup_.c:1719
+msgid "Other"
+msgstr "Digər"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard"
-msgstr "US klaviaturası"
+#: ../../diskdrake/hd_gtk.pm_.c:330
+msgid "Filesystem types:"
+msgstr "Fayl sistemi növü:"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Buttons emulation"
-msgstr "Düymə emulyasiyası"
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:414
+msgid "Create"
+msgstr "Yarat"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", network printer \"%s\", port %s"
-msgstr ", şəbəkə çapçısı \"%s\", qapı %s"
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:392
+#: ../../diskdrake/interactive.pm_.c:543 ../../diskdrake/removable.pm_.c:26
+#: ../../diskdrake/removable.pm_.c:49 ../../standalone/harddrake2_.c:66
+msgid "Type"
+msgstr "Növ"
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/hd_gtk.pm_.c:349
#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via tape:\n"
-"\n"
-msgstr ""
-"\n"
-"Kaset vasitəsi ilə Drakbackup fəaliyyətləri:\n"
-"\n"
+msgid "Use ``%s'' instead"
+msgstr "Yerinə ``%s'' işlət"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" FTP connection problem: It was not possible to send your backup files by "
-"FTP.\n"
-msgstr ""
-"\n"
-"FTP bağlantı problemi. Ehtiyat nüsxəsi fayllarınız FTP ilə göndərilə "
-"bilmədi.\n"
+#: ../../diskdrake/hd_gtk.pm_.c:349 ../../diskdrake/interactive.pm_.c:401
+msgid "Delete"
+msgstr "Sil"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Sending Speed:"
-msgstr "Göndərmə Sür'əti:"
+#: ../../diskdrake/hd_gtk.pm_.c:353
+msgid "Use ``Unmount'' first"
+msgstr "Əvvəlcə ``Ayır'-ı işlət"
-#: ../../harddrake/sound.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:354 ../../diskdrake/interactive.pm_.c:530
#, c-format
msgid ""
-"The classic bug sound tester is to run the following commands:\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
-"by default\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" will tell you what driver it\n"
-"currently uses\n"
-"\n"
-"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-"loaded or not\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
-"tell you if sound and alsa services're configured to be run on\n"
-"initlevel 3\n"
-"\n"
-"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+"After changing type of partition %s, all data on this partition will be lost"
msgstr ""
-"Klasik xəta səs sınaqı aşağıdakı əmrləri icra edir:\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" səs kartınızın əsas olaraq hansı\n"
-"sürücünü işlətdiyini bildirir\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" hazırda işlədilən sürücünü\n"
-"bildirir\n"
-"\n"
-"- \"/sbin/lsmod\" modulun (sürücünün) yüklü olub olmadığını yoxlamaq\n"
-"üçün sizə imkan verir\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" və \"/sbin/chkconfig --list alsa\" səs "
-"və\n"
-"alsa xidmətlərinin initsəviyyəsi3'də işə salınıb salınmayacağını bildirir\n"
-"\n"
-"- \"aumix -q\" səs həcminin bağlı (mute) olub olmadığını bildirir\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" hansı proqramın səs kartını işlətdiyini "
-"bildirir.\n"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Halt bug"
-msgstr "Xətanı dayandır"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert configuration"
-msgstr "Poçtla xəbər vermə qurğuları"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tokelau"
-msgstr "Tokelo"
+"%s bölməsinin növünü dəyişdirdikdən sonra, bu bölmədəki bütün mə'lumatlar "
+"silinəcəkdir"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Matching"
-msgstr "Uyğun gələn"
+#: ../../diskdrake/interactive.pm_.c:177
+#, fuzzy
+msgid "Choose a partition"
+msgstr "Monitorunuzu seçin"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bosnian"
-msgstr "Bosniya"
+#: ../../diskdrake/interactive.pm_.c:177
+#, fuzzy
+msgid "Choose another partition"
+msgstr "Yeni bölmə yarat"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Release: "
-msgstr "Buraxılış:"
+#: ../../diskdrake/interactive.pm_.c:202
+#, fuzzy
+msgid "Exit"
+msgstr "Ext2"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection speed"
-msgstr "Bağlantı sürəti"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to expert mode"
+msgstr "Usta moduna keç"
-#: ../../lang.pm:1
-#, c-format
-msgid "Namibia"
-msgstr "Namibiya"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to normal mode"
+msgstr "Normal moda keç"
-#: ../../services.pm:1
-#, c-format
-msgid "Database Server"
-msgstr "Mə'lumat Bazası Vericisi"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Undo"
+msgstr "Geri al"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "special capacities of the driver (burning ability and or DVD support)"
-msgstr "sürücünün xüsusi bacarıqları (yazma bacarığı və/ya da DVD dəstəyi)"
+#: ../../diskdrake/interactive.pm_.c:247
+msgid "Continue anyway?"
+msgstr "Davam edilsin?"
-#: ../../raid.pm:1
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Disk bölməsi, _formatted_ RAID md%d'ə əlavə edilə bilmədi"
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without saving"
+msgstr "Qeyd etmədən Çıx"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Network Time Protocol"
-msgstr "Şəbəkə ara üzü"
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without writing the partition table?"
+msgstr "Bölmə cədvəlini qeyd etmədən çıxırsınız?"
-#: ../../Xconfig/card.pm:1
-#, 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 kartınızın 3D sür'ətləndirmə dəstəyi ola bilər, amma ancaq XFree %s "
-"ilə,\n"
-"QEYD! BU DƏSTƏK SINAQ MƏRHƏLƏSINDƏDIR VƏ KOMPÜTERİNİZİ DONDURA BILƏR.\n"
-"Kartınıza XFree %s tam dəstək verir və bəlkə də daha yaxşı 2D dəstəyinə "
-"sahib ola bilər."
+#: ../../diskdrake/interactive.pm_.c:257
+#, fuzzy
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Qurğuları sınamaq istəyirsiniz?"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security options..."
-msgstr "Xahiş edirik, gözləyin təhlükəsizlik seçimləri tə'yin edilir..."
+#: ../../diskdrake/interactive.pm_.c:271
+msgid "Clear all"
+msgstr "Hamısını təmizlə"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH05X (bt878) [many vendors]"
-msgstr "Namə'lum|CPH05X (bt878) [çox satıcı]"
+#: ../../diskdrake/interactive.pm_.c:272
+msgid "Auto allocate"
+msgstr "Avtomatik ayır"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Launch the graphical environment when your system starts"
-msgstr "Sistem açılanda qrafiki ara üzü başlat"
+#: ../../diskdrake/interactive.pm_.c:273
+#: ../../install_steps_interactive.pm_.c:220
+msgid "More"
+msgstr "Daha Çox"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hourly"
-msgstr "hər saat"
+#: ../../diskdrake/interactive.pm_.c:278
+#, fuzzy
+msgid "Hard drive information"
+msgstr "Sabit disk seçkisi"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Shift key"
-msgstr "Sağ Shift düyməsi"
+#: ../../diskdrake/interactive.pm_.c:310
+msgid "All primary partitions are used"
+msgstr "Bütün birinci bölmələr istifadədədir"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Successfuly Restored on %s "
-msgstr " %s üstündə müvəffəqiyyətlə qeri qaytarıldı "
+#: ../../diskdrake/interactive.pm_.c:311
+msgid "I can't add any more partition"
+msgstr "Artıq bölmə əlavə edilə bilməz"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Making printer port available for CUPS..."
-msgstr "Çapçı qapısı CUPS üçün açılır..."
+#: ../../diskdrake/interactive.pm_.c:312
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr "Artıq bölmə yaratmaq üçün, bir bölməni silib məntiqi bölmə yaradın"
-#: ../../lang.pm:1
-#, c-format
-msgid "Antigua and Barbuda"
-msgstr "Antiq və Barbuda"
+#: ../../diskdrake/interactive.pm_.c:322
+#, fuzzy
+msgid "Save partition table"
+msgstr "Bölmə cədvəlini yaz"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"!!! Indicates the password in the system database is different than\n"
-" the one in the Terminal Server database.\n"
-"Delete/re-add the user to the Terminal Server to enable login."
-msgstr ""
-"!!! Sistemdəki mə'lumat bazasındakı şifrənin Terminal Verici\n"
-" mə'lumat bazasındakından fərqli olduğunu göstərir.\n"
-"Girişi fəallaşdırmaq üçün istifadəçini Terminal Vericiyə\n"
-"Silin/Yenidən əlavə edin."
+#: ../../diskdrake/interactive.pm_.c:323
+#, fuzzy
+msgid "Restore partition table"
+msgstr "Bölmə cədvəlini qurtar"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Spanish"
-msgstr "İspanca"
+#: ../../diskdrake/interactive.pm_.c:324
+msgid "Rescue partition table"
+msgstr "Bölmə cədvəlini qurtar"
-#: ../../services.pm:1
-#, c-format
-msgid "Start"
-msgstr "Başlat"
+#: ../../diskdrake/interactive.pm_.c:326
+#, fuzzy
+msgid "Reload partition table"
+msgstr "Bölmə cədvəlini qurtar"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Direct root login"
-msgstr "Birbaşa ali istifadəçi girişi"
+#: ../../diskdrake/interactive.pm_.c:331
+#, fuzzy
+msgid "Removable media automounting"
+msgstr "Taxılıb sökülə bilən avadanlıqların avtomatik bağlanması"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring applications..."
-msgstr "Təminatlar qurğulanır..."
+#: ../../diskdrake/interactive.pm_.c:340 ../../diskdrake/interactive.pm_.c:360
+msgid "Select file"
+msgstr "Fayl seç"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:347
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer, connected directly to the network or to a remote Windows machine.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected. Also your network printer(s) and your Windows "
-"machines must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network and/or Windows-hosted printers when you don't need "
-"it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"The backup partition table has not the same size\n"
+"Still continue?"
msgstr ""
-"\n"
-"Çapçı Quraşdırma Sehirbazına Xoş Gəldiniz\n"
-"\n"
-"Bu sehirbaz kompüterinizə, birbaşa şəbəkəyə ya da uzaq Windows sistemə\n"
-"bağlı olan çapçı ya da çapçıları quraşdırmaqda sizə yardım edəcək.\n"
-"\n"
-"Xahiş edirik, bu kompüterə bağlı olan bütün çapçıları açın ki avtomatik "
-"aşkar edilə bilsinlər. Eyni zamanda şəbəkə kompüterləriniz və Windows\n"
-"sistemləri də açıq olmalıdır.\n"
-"\n"
-"Qeyd edin ki, şəbəkə və Windows sistemləri üstündəki çapçıların avtomatik\n"
-"aşkar edilməsi sisteminizə bağlı olan çapçıların açkar edilməsindən daha "
-"uzun\n"
-"müddət alır, ona görə də əgər onlara ehtiyacınız yoxdursa bunların "
-"avtomatik\n"
-"aşkar edilməsini bağlayın.\n"
-"\n"
-" Hazır olanda \"Sonrakı\" düyməsinə, çapçılarınızı indi quraşdırmaq "
-"istəmirsinizsə\"Ləğv Et\" düyməsinə basın."
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Normal modem connection"
-msgstr "Normal modem bağlantısı"
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "File Selection"
-msgstr "Fayl Seçkisi"
-
-#: ../../help.pm:1 ../../printer/cups.pm:1 ../../printer/data.pm:1
-#, c-format
-msgid "CUPS"
-msgstr "CUPS"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase tape before backup"
-msgstr "Ehtiyat nüsxəsini almadan əvvəl kasedi sil"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Run config tool"
-msgstr "Quraşdırma vasitəsini işə sal"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation"
-msgstr "Açılış yükləyicisi qurulumu"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Root partition size in MB: "
-msgstr "Kök bölməsi böyüklüyü (Mb): "
+"Yedək bölmə cədvəli eyni böyüklüyə sahib deyil\n"
+"Davam etmək istəyirsiniz?"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Bu lazımlı bir paketdir, sistemdən çıxardıla bilməz"
+#: ../../diskdrake/interactive.pm_.c:361 ../../harddrake/sound.pm_.c:202
+#: ../../network/modem.pm_.c:95
+msgid "Warning"
+msgstr "Xəbərdarlıq"
-# needs editing (Metin)
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:362
msgid ""
-" - Create etherboot floppies/CDs:\n"
-" \tThe diskless client machines need either ROM images on the NIC, or "
-"a boot floppy\n"
-" \tor CD to initate the boot sequence. drakTermServ will help "
-"generate these\n"
-" \timages, based on the NIC in the client machine.\n"
-" \t\t\n"
-" \tA basic example of creating a boot floppy for a 3Com 3c509 "
-"manually:\n"
-" \t\t\n"
-" \tcat /usr/lib/etherboot/boot1a.bin \\\n"
-" \t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0"
+"Insert a floppy in drive\n"
+"All data on this floppy will be lost"
msgstr ""
-" - Create etherboot floppies/CDs:\n"
-" \tThe diskless client machines need either ROM images on the NIC, or "
-"a boot floppy\n"
-" \tor CD to initate the boot sequence. drakTermServ will help "
-"generate these\n"
-" \timages, based on the NIC in the client machine.\n"
-" \t\t\n"
-" \tA basic example of creating a boot floppy for a 3Com 3c509 "
-"manually:\n"
-" \t\t\n"
-" \tcat /usr/lib/etherboot/boot1a.bin \\\n"
-" \t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0"
+"Disket sürücüyə bir disket yerləşdirin\n"
+"Bu disketdəki bütün mə'lumatlar yox olacaqdır"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot ISO image is %s"
-msgstr "Etherboot ISO görüntüsü budur: %s"
+#: ../../diskdrake/interactive.pm_.c:373
+msgid "Trying to rescue partition table"
+msgstr "Bölmə cədvəli qurtarılmağa cəhd edilir"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
-"names to IP addresses."
-msgstr ""
-"named (BIND) verici adlarını IP ünvanlarına çevirənDomen Adı Vericisidir "
-"(DNS)."
+#: ../../diskdrake/interactive.pm_.c:379
+#, fuzzy
+msgid "Detailed information"
+msgstr "Mə'lumatı göstər"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Lucia"
-msgstr "Saint Lucia"
+#: ../../diskdrake/interactive.pm_.c:394 ../../diskdrake/interactive.pm_.c:674
+msgid "Resize"
+msgstr "Böyüklüyünü Dəyişdir"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "November"
-msgstr "Noyabr"
+#: ../../diskdrake/interactive.pm_.c:395 ../../diskdrake/interactive.pm_.c:727
+msgid "Move"
+msgstr "Daşı"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Disconnect..."
-msgstr "Bağlantını Kəs..."
+#: ../../diskdrake/interactive.pm_.c:396
+msgid "Format"
+msgstr "Şəkilləndir"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Report"
-msgstr "Raport Göndər"
+#: ../../diskdrake/interactive.pm_.c:398
+msgid "Add to RAID"
+msgstr "RAIDə əlavə et"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palau"
-msgstr "Palau"
+#: ../../diskdrake/interactive.pm_.c:399
+msgid "Add to LVM"
+msgstr "LVMə əlavə et"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "level"
-msgstr "səviyyə"
+#: ../../diskdrake/interactive.pm_.c:402
+msgid "Remove from RAID"
+msgstr "RAIDdən ayır"
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid ""
-"All incidents will be followed up by a single qualified MandrakeSoft "
-"technical expert."
-msgstr ""
-"Bütün işlər tək bir MandrakeSoft texnik mütəxəssis tərəfindən yerinə "
-"gətiriləcək."
+#: ../../diskdrake/interactive.pm_.c:403
+msgid "Remove from LVM"
+msgstr "LVMdən ayır"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package Group Selection"
-msgstr "Paket Qruplarının Seçimi"
+#: ../../diskdrake/interactive.pm_.c:404
+msgid "Modify RAID"
+msgstr "RAIDi dəyişdir"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Allow local hardware\n"
-"configuration."
-msgstr ""
-"Yerli avadanlıq quraşdırılmasına\n"
-"icazə ver."
+#: ../../diskdrake/interactive.pm_.c:405
+msgid "Use for loopback"
+msgstr "Loopback üçün istifadə et"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network Protocol: %s"
-msgstr "Şəbəkə Protokolu Üstündən Geri Yüklə: %s"
+#: ../../diskdrake/interactive.pm_.c:445
+msgid "Create a new partition"
+msgstr "Yeni bölmə yarat"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "You can configure each parameter of the module here."
-msgstr "Burada, modulun hər bir parametrini quraşdıra bilərsiniz."
+#: ../../diskdrake/interactive.pm_.c:448
+msgid "Start sector: "
+msgstr "Başlanğıç sektoru: "
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Choose the resolution and the color depth"
-msgstr "Həlledilirlik və rəng dərinliyini seçin"
+#: ../../diskdrake/interactive.pm_.c:450 ../../diskdrake/interactive.pm_.c:827
+msgid "Size in MB: "
+msgstr "MB cinsindən böyüklük: "
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Emulate third button?"
-msgstr "3 düymə emulasiyası"
+#: ../../diskdrake/interactive.pm_.c:451 ../../diskdrake/interactive.pm_.c:828
+msgid "Filesystem type: "
+msgstr "Fayl sistemi növü: "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:456
+msgid "Preference: "
+msgstr "Xüsusiyyətlər: "
+
+#: ../../diskdrake/interactive.pm_.c:481
msgid ""
"You can't create a new partition\n"
"(since you reached the maximal number of primary partitions).\n"
"First remove a primary partition and create an extended partition."
msgstr ""
-"Yeni bölmə yarada bilməzsiniz\n"
-"(ona görə ki siz maksimal birinci bölmə ədədinə yetişdiniz).\n"
-"Əvvəlcə birinci bölməni silib, ondan sonra genişləndirilmiş bölmə yaradın."
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount"
-msgstr "Bağla"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Creating auto install floppy"
-msgstr "Avtomatik qurulum disketi yaradılır"
-#: ../../steps.pm:1
-#, c-format
-msgid "Install updates"
-msgstr "Yeniləmələrin qurulması"
+#: ../../diskdrake/interactive.pm_.c:511
+#, fuzzy
+msgid "Remove the loopback file?"
+msgstr "Loopback faylı şəkilləndirilir: %s"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text box height"
-msgstr "mətn qutusunun hündürlüyü"
+#: ../../diskdrake/interactive.pm_.c:541
+msgid "Change partition type"
+msgstr "Bölmə növünü Dəyişdir"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "State"
-msgstr "Vəziyyət"
+#: ../../diskdrake/interactive.pm_.c:542 ../../diskdrake/removable.pm_.c:48
+msgid "Which filesystem do you want?"
+msgstr "Hansı dili istəyirsiniz?"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Be sure a media is present for the device %s"
-msgstr "%s avadanlığında medya olduğundan əmin olun"
+#: ../../diskdrake/interactive.pm_.c:548
+msgid "Switching from ext2 to ext3"
+msgstr ""
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:578
#, c-format
-msgid "Enable multiple profiles"
-msgstr "Birdən artıq profilə icazə ver"
+msgid "Where do you want to mount loopback file %s?"
+msgstr "%s loopback avadanlığını haraya bağlamaq istəyirsiniz?"
-#: ../../fs.pm:1
+#: ../../diskdrake/interactive.pm_.c:579
#, c-format
-msgid "Do not interpret character or block special devices on the file system."
-msgstr ""
-"Fayl sistemi üstündə hərfləri çevirmə və xüsusi avadanlıqları bloklama."
+msgid "Where do you want to mount device %s?"
+msgstr "%s avadanlığını haraya bağlamaq istəyirsiniz?"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:585
msgid ""
-"These options can backup and restore all files in your /etc directory.\n"
+"Can't unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
msgstr ""
-"Bu seçim, /etc cərgənizdəki bütün faylların ehtiyat nüsxəsini alıb, geri "
-"yükləyə bilər.\n"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Local printer"
-msgstr "Yerli Çapçı"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Files Restored..."
-msgstr "Fayllar Geri Yükləndi..."
+"Bu disk bölməsi loopback üçün istifadə edildiyindən ötrü bağlanma "
+"nöqtəsindən ayrıla bilinmir.\n"
+"Əvvəlcə loopback-ı ləğv edin."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package selection"
-msgstr "Paket seçkisi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritania"
-msgstr "Mavritaniya"
+#: ../../diskdrake/interactive.pm_.c:606
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "%s avadanlığını haraya bağlamaq istəyirsiniz?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"I can keep your current configuration and assume you already set up a DHCP "
-"server; in that case please verify I correctly read the Network that you use "
-"for your local network; I will not reconfigure it and I will not touch your "
-"DHCP server configuration.\n"
-"\n"
-"The default DNS entry is the Caching Nameserver configured on the firewall. "
-"You can replace that with your ISP DNS IP, for example.\n"
-"\t\t \n"
-"Otherwise, I can reconfigure your interface and (re)configure a DHCP server "
-"for you.\n"
-"\n"
-msgstr ""
-"Hazırkı qurğularınızı saxlayıb DHCP vericisini qurduğunuzu qəbul edə "
-"bilərəm; bu halda yerli şəbəkəniz üçün işlətdiyiniz Şəbəkəni düz oxumağıma "
-"yardım edin; Onu yenidən quraşdırmayacam və DHCP vericinizə əl dəyməyəcəm.\n"
-"\n"
-"Əsas DNS girişi atəş divarı üstündə quraşdırılmış Ön Yaddaşlayıcı Ad "
-"Vericisidir. Onu, misal üçün ISP DNS IP'nizlə əvəz edə bilərsiniz.\n"
-"\t\t \n"
-"Əks halda, ara üzünüzü və DHCP vericinizi sizin üçün (yenidən) quraşdıra "
-"bilərəm. \n"
+#: ../../diskdrake/interactive.pm_.c:630
+msgid "Computing FAT filesystem bounds"
+msgstr "Fat fayl sistemi ucları hesaplanır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"No local printer found! To manually install a printer enter a device name/"
-"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
-"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
-"printer: /dev/usb/lp1, ...)."
-msgstr ""
-"Heç bir yerli çapçı tapılmadı! Çapçını əllə qurmaq üçün giriş sahəsinə "
-"avadanlıq/fayl adını daxil edin (Paralel Qapılar: /dev/lp0, /dev/lp1, ..., "
-"bunlara bərabərdir: LPT1:, LPT2:, ..., 1ci USB çapçı: /dev/usb/lp0, 2ci USB "
-"çapçı: /dev/usb/lp1, ...vs)."
+#: ../../diskdrake/interactive.pm_.c:630 ../../diskdrake/interactive.pm_.c:689
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing"
+msgstr "Böyüklüyü dəyişdirilir"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All primary partitions are used"
-msgstr "Bütün birinci bölmələr istifadədədir"
+#: ../../diskdrake/interactive.pm_.c:662
+msgid "This partition is not resizeable"
+msgstr "Hansı bölmə növünü istəyirsiniz?"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "LPD server \"%s\", printer \"%s\""
-msgstr " \"%s\" LPD vericisi, \"%s\" çapçısı"
+#: ../../diskdrake/interactive.pm_.c:667
+msgid "All data on this partition should be backed-up"
+msgstr "Bu bölmədəki bütün mə'lumatlar yedəklənməlidir"
-#: ../../network/netconnect.pm:1
+#: ../../diskdrake/interactive.pm_.c:669
#, c-format
-msgid ""
-"After this is done, we recommend that you restart your X environment to "
-"avoid any hostname-related problems."
+msgid "After resizing partition %s, all data on this partition will be lost"
msgstr ""
-"Bu edildikdən sonra Xdən çıxmağınızı tövsiyyə edirik, yoxsa\n"
-"verici adı xəsarətləri meydana gələ bilər."
+"%s bölməsi böyüklüyü dəyişdirildirkdən sonra bu bölmədəki bütün mə'lumatlar "
+"silinəcəkdir"
-#: ../../services.pm:1
-#, c-format
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr "Texniki avadanlığın açılışda avtomatik təsbiti və qurulması."
+#: ../../diskdrake/interactive.pm_.c:674
+msgid "Choose the new size"
+msgstr "Yeni böyüklük seçin"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation Server Configuration"
-msgstr "Qurulum Şəbəkəsi Quraşdırılması"
+#: ../../diskdrake/interactive.pm_.c:675
+#, fuzzy
+msgid "New size in MB: "
+msgstr "MB cinsindən böyüklük: "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring IDE"
-msgstr "IDE qapıları qurulur"
+#: ../../diskdrake/interactive.pm_.c:728
+msgid "Which disk do you want to move it to?"
+msgstr "Hansı diskə daşımaq istəyirsiniz?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network functionality not configured"
-msgstr "Şəbəkə fəalliyyəti quraşdırılmayıb"
+#: ../../diskdrake/interactive.pm_.c:729
+msgid "Sector"
+msgstr "Sektor"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Configure module"
-msgstr "Modulu quraşdır"
+#: ../../diskdrake/interactive.pm_.c:730
+msgid "Which sector do you want to move it to?"
+msgstr "Hansı sektora daşımaq istəyirsiniz?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cocos (Keeling) Islands"
-msgstr "Kokos Adası"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving"
+msgstr "Daşınır"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Yeni qurğuların fəallaşmağı üçün sistemi yenidən başlatmalısınız"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving partition..."
+msgstr "Bölmə daşınır..."
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider phone number"
-msgstr "İXM telefon nömrəsi"
+#: ../../diskdrake/interactive.pm_.c:750
+msgid "Choose an existing RAID to add to"
+msgstr "Əlavə etmək üçün mövcud bir RAID seçin"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Host %s"
-msgstr "Qovşaq %s"
+#: ../../diskdrake/interactive.pm_.c:751 ../../diskdrake/interactive.pm_.c:768
+msgid "new"
+msgstr "yeni"
-#: ../../lang.pm:1
-#, c-format
-msgid "Fiji"
-msgstr "Fici"
+#: ../../diskdrake/interactive.pm_.c:766
+msgid "Choose an existing LVM to add to"
+msgstr "Əlavə etmək üçün mövcud bir LVM seçin"
-#: ../../lang.pm:1
-#, c-format
-msgid "Armenia"
-msgstr "Ermənistan"
+#: ../../diskdrake/interactive.pm_.c:771
+msgid "LVM name?"
+msgstr "LVM adı?"
-#: ../../any.pm:1
-#, c-format
-msgid "Second floppy drive"
-msgstr "İkinci disket sürücü"
+#: ../../diskdrake/interactive.pm_.c:812
+msgid "This partition can't be used for loopback"
+msgstr "Bu disk bölməsi loopback üçün işlədilməz"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "About Harddrake"
-msgstr "Harddrake Haqqında"
+#: ../../diskdrake/interactive.pm_.c:825
+msgid "Loopback"
+msgstr "Loopback"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize TCP connections to X Window"
-msgstr "TCP bağlantılarını X Window'a səlahiyyətləndir"
+#: ../../diskdrake/interactive.pm_.c:826
+msgid "Loopback file name: "
+msgstr "Loopback fayl adı: "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Drive capacity"
-msgstr "Sürücü həcmi"
+#: ../../diskdrake/interactive.pm_.c:831
+#, fuzzy
+msgid "Give a file name"
+msgstr "Həqiqi adı"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
+#: ../../diskdrake/interactive.pm_.c:834
+msgid "File already used by another loopback, choose another one"
msgstr ""
-"Disket sürücüyə bir disket yerləşdirin\n"
-"Bu disketdəki bütün mə'lumatlar yox olacaqdır"
+"Fayl başqa bir loopback tərəfindən istifadədədir, başqa\n"
+"birini seçin"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s"
-msgstr "Böyüklüyü: %s"
+#: ../../diskdrake/interactive.pm_.c:835
+msgid "File already exists. Use it?"
+msgstr "Fayl onsuz da vardır. İşlədilsin?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Control and Shift keys simultaneously"
-msgstr "Eyni zamanda Control və Shift düymələri"
+#: ../../diskdrake/interactive.pm_.c:858
+#, fuzzy
+msgid "Mount options"
+msgstr "Modul seçənəkləri:"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "secondary"
-msgstr "ikinci"
+#: ../../diskdrake/interactive.pm_.c:865
+msgid "Various"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Backup Configuration."
-msgstr "Ehtiyat Quraşdırılmasını Göstər."
+#: ../../diskdrake/interactive.pm_.c:929 ../../standalone/drakfloppy_.c:76
+msgid "device"
+msgstr "avadanlıq"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result to syslog."
-msgstr "əgər bəli seçilidirsə, yoxlama nəticələrini syslog'a raport et."
+#: ../../diskdrake/interactive.pm_.c:930
+msgid "level"
+msgstr "səviyyə"
-#. -PO: keep this short or else the buttons will not fit in the window
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No password"
-msgstr "Şifrə olmasın"
+#: ../../diskdrake/interactive.pm_.c:931
+msgid "chunk size"
+msgstr "parça böyüklüyü"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nigeria"
-msgstr "Nigeriya"
+#: ../../diskdrake/interactive.pm_.c:947
+msgid "Be careful: this operation is dangerous."
+msgstr "Diqqətlı olun: bu əməliyyat təhlükəlidir."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires hostname...\n"
-msgstr "%s: %s'ın qovşaq adına ehtiyacı var...\n"
+#: ../../diskdrake/interactive.pm_.c:962
+msgid "What type of partitioning?"
+msgstr "Nəcə bölməlandirmə istəyirsən?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no existing partition to use"
-msgstr "İstifadə ediləcək mövcud bölmə yoxdur"
+#: ../../diskdrake/interactive.pm_.c:978
+#, fuzzy, c-format
+msgid "The package %s is needed. Install it?"
+msgstr ""
+"Bu paket yenilənməlidir\n"
+"Sistemdən çıxarmaq mövzusunda ciddisiniz?"
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:992
msgid ""
-"The following scanners\n"
-"\n"
-"%s\n"
-"are available on your system.\n"
+"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 ""
-"Sisteminizdə aşağıdakı darayıcılar\n"
-"\n"
-"%s\n"
-"mövcuddur.\n"
+"Bağışlayın, /boot bölməsini bu sürücüdə yarada bilməyəcəm.\n"
+"Onda ya LILO istifadə edə bilməyəcəksiniz ve /boot bölümünə \n"
+"ehtiyacınız yoxdur və ya LILO istifadəsini sınayarsınız, ancaq LILO işləməyə "
+"bilər."
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on parallel port #%s"
-msgstr "%s nömrəli paralel qapıdakı çox funksiyalı avadanlıq"
+#: ../../diskdrake/interactive.pm_.c:996
+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 ""
+"Seçdiyiniz bölüm fiziki sahənin üstündə (1024. silindrin xaricində)\n"
+"/boot bölümünüz yoxdur. Lilo açılış idarəcisindən istifadə etmək "
+"istəyirsinizsə, \n"
+"/boot bölməsini əlavə edərkən çox diqqətli olmalısınız."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1002
msgid ""
-"To print to a TCP or socket printer, you need to provide the host name or IP "
-"of the printer and optionally the port number (default is 9100). On HP "
-"JetDirect servers the port number is usually 9100, on other servers it can "
-"vary. See the manual of your hardware."
+"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 ""
-"TCP ya da soket çapçısına çap etmək üçün, çapçının IP ünvanı ya da qovşaq "
-"adınıvə istəyə bağlı olaraq qapı nömrəsini bildirməlisiniz (əsası 9100). HP "
-"JetDirect vericiləri üstündə qapı nömrəsi adətən 9100'dür, başqa vericilərdə "
-"bu fərqli ola bilər. Avadanlığınızın kitabına baxın."
+"Bir proqram tə'minatlı RAID bölməsini kök qovluğu (/) olaraq tə'yin "
+"etdiniz.\n"
+"Əgər lilo ya da grub istifadə etmək istəyirsinizsə, bir /boot bölməsi\n"
+"əlavə etməyi unutmayın"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1022
#, c-format
-msgid "Hard drive information"
-msgstr "Sabit disk mə'lumatı"
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "%s sürücüsünün bölmə cədvəli diskə yazılacaq!"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian"
-msgstr "Rusca"
+#: ../../diskdrake/interactive.pm_.c:1026
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Yeni qurğuların fəallaşmağı üçün sistemi yenidən başlatmalısınız"
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1037
#, c-format
-msgid "Jordan"
-msgstr "İordaniya"
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"%s bölməsi şəkilləndirildikdən sonra bu bölmədəki bütün mə'lumatlar "
+"silinəcəkdir"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Hide files"
-msgstr "Faylları gizlət"
+#: ../../diskdrake/interactive.pm_.c:1039
+msgid "Formatting"
+msgstr "Şəkilləndirilir"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1040
#, c-format
-msgid "Auto-detect printers connected to this machine"
-msgstr "Bu kompüterə bağlı olan çapçıları avtomatik aşkar et"
+msgid "Formatting loopback file %s"
+msgstr "Loopback faylı şəkilləndirilir: %s"
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:1041
+#: ../../install_steps_interactive.pm_.c:466
#, c-format
-msgid "Sorry, no floppy drive available"
-msgstr "Bağışlayın, disket sürücü yoxdur"
+msgid "Formatting partition %s"
+msgstr "Şəkilləndirilən bölmə: %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bolivia"
-msgstr "Boliviya"
+#: ../../diskdrake/interactive.pm_.c:1052
+#, fuzzy
+msgid "Hide files"
+msgstr "mkraid iflas etdi"
+
+#: ../../diskdrake/interactive.pm_.c:1052
+#, fuzzy
+msgid "Move files to the new partition"
+msgstr "Yeni bölmələr üçün boş sahə yoxdur"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1053
#, c-format
msgid ""
-"Set up your Windows server to make the printer available under the IPP "
-"protocol and set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+"Directory %s already contains data\n"
+"(%s)"
msgstr ""
-"Windows vericinizi çapçını IPP protokolu altında mövcud qılması üçün "
-"quraşdırın və bu sistemdən Printerdrake vasitəsi ilə \"%s\" bağlantınövlü "
-"çap sistemini quraşdırın.\n"
-"\n"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Bad package"
-msgstr "Xətalı paket"
+#: ../../diskdrake/interactive.pm_.c:1064
+#, fuzzy
+msgid "Moving files to the new partition"
+msgstr "Yeni bölmələr üçün boş sahə yoxdur"
-#: ../advertising/07-server.pl:1
+#: ../../diskdrake/interactive.pm_.c:1068
#, c-format
-msgid ""
-"Transform your computer into a powerful Linux server: Web server, mail, "
-"firewall, router, file and print server (etc.) are just a few clicks away!"
+msgid "Copying %s"
msgstr ""
-"Kompüterinizi güclü bir Linuks vericisinə dönüşdürün: Veb vericisi, poçt, "
-"atəş divarı, ötürücü, fayl və çap vericisi (v.s.) yalnız bir neçı tıqlama "
-"uzaqlığındadır!"
-#: ../../security/level.pm:1
-#, c-format
-msgid "DrakSec Basic Options"
-msgstr "DrakSec Əsas Seçimləri"
+#: ../../diskdrake/interactive.pm_.c:1072
+#, fuzzy, c-format
+msgid "Removing %s"
+msgstr "Rezolyusiya: %s\n"
-#: ../../standalone/draksound:1
+#: ../../diskdrake/interactive.pm_.c:1082
#, c-format
-msgid ""
-"\n"
-"\n"
-"\n"
-"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
-"program. Just type \"sndconfig\" in a console."
+msgid "partition %s is now known as %s"
msgstr ""
-"\n"
-"\n"
-"\n"
-"Qeyd: əgər ISA PnP səs kartınız varsa, sndconfig proqramınıişlətməlisiniz. "
-"Sadəcə olaraq konsolda \"sndconfig\" əmrini icra edin."
-#: ../../lang.pm:1
-#, c-format
-msgid "Romania"
-msgstr "Ruminıya"
+#: ../../diskdrake/interactive.pm_.c:1103
+#: ../../diskdrake/interactive.pm_.c:1162
+msgid "Device: "
+msgstr "Avadanlıq: "
-#: ../../standalone/drakperm:1
+#: ../../diskdrake/interactive.pm_.c:1104
#, c-format
-msgid "Group"
-msgstr "Qrup"
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS sürücü hərfi: %s (sadəcə təxmini)\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Canada"
-msgstr "Kanada"
+#: ../../diskdrake/interactive.pm_.c:1108
+#: ../../diskdrake/interactive.pm_.c:1116
+#: ../../diskdrake/interactive.pm_.c:1181
+msgid "Type: "
+msgstr "Növ: "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "choose device"
-msgstr "avadanlığı seçin"
+#: ../../diskdrake/interactive.pm_.c:1112
+msgid "Name: "
+msgstr "Ad: "
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1120
#, c-format
-msgid "Remove from LVM"
-msgstr "LVMdən ayır"
+msgid "Start: sector %s\n"
+msgstr "Başlanğıc: sektor %s\n"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1121
#, c-format
-msgid "Timezone"
-msgstr "Vaxt Zolağı"
+msgid "Size: %s"
+msgstr "Böyüklüyü: %s"
-#: ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1123
#, c-format
-msgid "German"
-msgstr "Almanca"
+msgid ", %s sectors"
+msgstr ", %s sektor"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Next ->"
-msgstr "Sonrakı ->"
+#: ../../diskdrake/interactive.pm_.c:1125
+#, fuzzy, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Silindr %d -dən silindr %d-yə\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Turning on this allows to print plain text files in japanese language. Only "
-"use this function if you really want to print text in japanese, if it is "
-"activated you cannot print accentuated characters in latin fonts any more "
-"and you will not be able to adjust the margins, the character size, etc. "
-"This setting only affects printers defined on this machine. If you want to "
-"print japanese text on a printer set up on a remote machine, you have to "
-"activate this function on that remote machine."
-msgstr ""
-"Bunu fəallaşdırma yapon dilindəki xam mətnlərin çap edilə bilməsinə imkan "
-"verəcək. Bunu yalnız yapon dilində mətn çap etmək istəyirsinizsə seçin, ona "
-"görə ki bu seçili ikən bə'zi latın hərfləri, səhifə kənarları və hərf "
-"böyüklükləri düzgün çap ediləyəcək. Bu qurğu yalnız bu sistem üstündəki "
-"çapçılar tə'sir edir. Əgər uzaq bir kompüterdə yaponca mətn çap etmək "
-"arzunuz varsa bu qurğunu o uzaq kompüterdə fəal etməlisiniz."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition. You should\n"
-"probably leave it alone.\n"
-msgstr ""
-"\n"
-"Bu bölmə Sürücü bölməsidir.\n"
-"Bunu elə beləcə buraxın.\n"
+#: ../../diskdrake/interactive.pm_.c:1126
+msgid "Formatted\n"
+msgstr "Şəkilləndirilmiş\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea-Bissau"
-msgstr "Qvineya Bissau"
+#: ../../diskdrake/interactive.pm_.c:1127
+msgid "Not formatted\n"
+msgstr "Şəkilləndirilməmiş\n"
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Horizontal refresh rate"
-msgstr "Üfüqi yeniləmə sür'əti"
+#: ../../diskdrake/interactive.pm_.c:1128
+msgid "Mounted\n"
+msgstr "Bağlı\n"
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1129
#, c-format
-msgid "Edit"
-msgstr "Düzəlt"
+msgid "RAID md%s\n"
+msgstr "RAID md%s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1131
#, c-format
msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
+"Loopback file(s):\n"
+" %s\n"
msgstr ""
-"Bu disk bölməsi loopback üçün istifadə edildiyinə görə bağlanma nöqtəsindən "
-"ayrıla bilinmir.\n"
-"Əvvəlcə loopback'i silin."
+"Loopback faylı:\n"
+" %s\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1132
msgid ""
-"The network configuration done during the installation cannot be started "
-"now. Please check whether the network is accessable after booting your "
-"system and correct the configuration using the Mandrake Control Center, "
-"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
-"printer, also using the Mandrake Control Center, section \"Hardware\"/"
-"\"Printer\""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
msgstr ""
-"Qurulum sırasında edilən şəbəkə quraşdırılması indi başladıla bilməz. Xahiş "
-"dirik, sistem açılandan sonra şəbəkənin işlədiyini yoxlayın və Mandrake "
-"İdarə Mərkəzindəki Şəbəkə və İnternet bölməsindən qurğuları düzəldin, və "
-"ondan sonra yenə də Mandrake İdarə Mərkəzindəki \"Avadanlıq\"/\"Çapçı\" "
-"bölməsindən çapçınızı qurun."
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "USB controllers"
-msgstr "USB idarəçiləri"
+"Ana açılma bölməsi\n"
+" (MS-DOS açılışı üçün)\n"
-#: ../../Xconfig/various.pm:1
+#: ../../diskdrake/interactive.pm_.c:1134
#, c-format
-msgid "What norm is your TV using?"
-msgstr "Televiziyanız hansı normu işlədir?"
+msgid "Level %s\n"
+msgstr "Səviyyə %s\n"
-#: ../../standalone/drakconnect:1
+#: ../../diskdrake/interactive.pm_.c:1135
#, c-format
-msgid "Type:"
-msgstr "Növ: "
+msgid "Chunk size %s\n"
+msgstr "Parça böyüklüyü %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1136
#, c-format
-msgid "Share name"
-msgstr "Paylaşdırma adı"
+msgid "RAID-disks %s\n"
+msgstr "RAID-diskləri %s\n"
-#: ../../standalone/drakgw:1
+#: ../../diskdrake/interactive.pm_.c:1138
#, c-format
-msgid "enable"
-msgstr "fəallaşdır"
+msgid "Loopback file name: %s"
+msgstr "Loopback faylı adı: %s"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1141
msgid ""
-"Contacting Mandrake Linux web site to get the list of available mirrors..."
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition, you should\n"
+"probably leave it alone.\n"
msgstr ""
-"Mövcud əkslərin siyahısını almaq üçün Mandrake Linuks səhifəsi ilə təmas "
-"qurulur..."
+"\n"
+"Bəlkə də bu bir Sürücü bölməsidir.\n"
+"Onda bunu ele beləcə buraxın.\n"
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1144
msgid ""
-"A problem occured while restarting the network: \n"
"\n"
-"%s"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
msgstr ""
-"Şəbəkənin yenidən başladılması sırasında xəta oldu: \n"
"\n"
-"%s"
+"Bu, ikili açılış üçün xüsusi\n"
+"Bootstrap-dır.\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove the loopback file?"
-msgstr "Loopback faylı silinsin?"
+#: ../../diskdrake/interactive.pm_.c:1163
+msgid "Read-only"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1164
#, c-format
-msgid "Selected size is larger than available space"
-msgstr "Seçili böyüklük var olandan daha böyükdür"
+msgid "Size: %s\n"
+msgstr "Böyüklük: %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1165
#, c-format
-msgid "NCP server name missing!"
-msgstr "NCP verici adı əksikdir!"
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometriyası: %s silindr, %s baş, %s sektor\n"
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose your country."
-msgstr "Xahiş edirik, ölkənizi seçin."
+#: ../../diskdrake/interactive.pm_.c:1166
+msgid "Info: "
+msgstr "Mə'lumat: "
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:1167
#, c-format
-msgid "Hard Disk Backup files..."
-msgstr "Sabit Disk Ehtiyat Nüsxəsi faylları..."
+msgid "LVM-disks %s\n"
+msgstr "LVM-diskləri %s\n"
-#: ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1168
#, c-format
-msgid "Laotian"
-msgstr "Laotian"
+msgid "Partition table type: %s\n"
+msgstr "Bölmə cədvəli növü: %s\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Samoa"
-msgstr "Samoa"
+#: ../../diskdrake/interactive.pm_.c:1169
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "%d data yolunda, %d nö'li\n"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"rstat protokolu bir şəbəkədəkı istifadəçilərin o şəbəkədəkı hər hansı bir\n"
-"kompüter haqqındakı qabiliyyət ölçüləri ala bilmələrinə imkan verər."
+#: ../../diskdrake/interactive.pm_.c:1199
+#, fuzzy
+msgid "Filesystem encryption key"
+msgstr "Fayl sistemi növü: "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Re-generating list of configured scanners ..."
-msgstr "Quraşdırılmış darayıcıların siyahısı yenidən yaradılır ..."
+#: ../../diskdrake/interactive.pm_.c:1200
+msgid "Choose your filesystem encryption key"
+msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module configuration"
-msgstr "Modul quraşdırması"
+#: ../../diskdrake/interactive.pm_.c:1203
+#, fuzzy, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Bu parol çox sadədir (en az %d xarakter boyunda olmalıdır)"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Scanner"
-msgstr "Darayıcı"
+#: ../../diskdrake/interactive.pm_.c:1204
+#, fuzzy
+msgid "The encryption keys do not match"
+msgstr "Parollar uyğun gəlmir"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Warning: testing this graphic card may freeze your computer"
+#: ../../diskdrake/interactive.pm_.c:1207
+msgid "Encryption key"
msgstr ""
-"Diqqət: Bu qrafika kartı ilə ediləcək sınaq kompüterinizi dondura bilər"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
+#: ../../diskdrake/interactive.pm_.c:1208
+msgid "Encryption key (again)"
msgstr ""
-"İstifadəçi adında sadacə kiçik hərflər, rəqəmlər, `-' və `_' xarakterləri "
-"ola bilər"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Menudrake"
-msgstr "Menudrake"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Welcome To Crackers"
-msgstr "Krakerlərə xoşgəlmişsiniz"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module options:"
-msgstr "Modul seçimləri:"
-
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "Secure your networks with the Multi Network Firewall"
-msgstr "Multi Network Firewall ilə şəbəkələrinizi təklükəsizləşdirin"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Go on without configuring the network"
-msgstr "Şəbəkəni quraşdırmadan davam et"
+#: ../../diskdrake/removable.pm_.c:47
+#, fuzzy
+msgid "Change type"
+msgstr "Bölmə növünü Dəyişdir"
-#: ../../network/isdn.pm:1
+#: ../../diskdrake/smbnfs_gtk.pm_.c:162
#, c-format
-msgid "Abort"
-msgstr "Dayandır"
+msgid "Can't login using username %s (bad password?)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No password prompt on %s at port %s"
-msgstr "%s üstündəki %s qapısında şifrə soruşulmasın"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:166 ../../diskdrake/smbnfs_gtk.pm_.c:175
+#, fuzzy
+msgid "Domain Authentication Required"
+msgstr "Tanıtma"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse with Wheel emulation"
-msgstr "Çərx emulyasiyalı Kensington Thinking siçanı"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Another one"
+msgstr "İnternet"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Usage of remote scanners"
-msgstr "Uzaq darayıcıların istifadəsi"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Which username"
+msgstr "İstifadəçi adı"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../diskdrake/smbnfs_gtk.pm_.c:176
msgid ""
-"Your Windows partition is too fragmented. Please reboot your computer under "
-"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
-"installation."
+"Please enter your username, password and domain name to access this host."
msgstr ""
-"Windows bölümünüz çox dağınıqdır. Daxiş edirik, əvvəlcə kompüterinizi "
-"Windows ilə açın, ''defrag'' vasitəsini işlədin, sonra Mandrake Linuks "
-"qurulumunu yenidən başladın."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norveç dili)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup Progress..."
-msgstr "Sabit Disk Ehtiyatlaması Fəaliyyətdədir..."
-
-#: ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Unable to fork: %s"
-msgstr "Fork edilə bilmir: %s"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Type: "
-msgstr "Növ: "
+#: ../../diskdrake/smbnfs_gtk.pm_.c:178 ../../standalone/drakbackup_.c:3477
+#, fuzzy
+msgid "Username"
+msgstr "İstifadəçi adı"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Edit Client"
-msgstr "<-- Alıcını Düzəlt"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:180
+#, fuzzy
+msgid "Domain"
+msgstr "NIS sahəsi"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "no fonts found"
-msgstr "no fonts found"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:200
+#, fuzzy
+msgid "Search servers"
+msgstr "DNS verici"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1
+#: ../../fs.pm_.c:547 ../../fs.pm_.c:557 ../../fs.pm_.c:561 ../../fs.pm_.c:565
+#: ../../fs.pm_.c:569 ../../fs.pm_.c:573
#, c-format
-msgid "Mouse"
-msgstr "Siçan"
+msgid "%s formatting of %s failed"
+msgstr "%s şəkilləndirilməsində %s bölmə xətası"
-#: ../../bootloader.pm:1
+#: ../../fs.pm_.c:610
#, c-format
-msgid "not enough room in /boot"
-msgstr "/boot içində lazımi yer yoxdur"
+msgid "I don't know how to format %s in type %s"
+msgstr "%s'i necə şəkilləndirəcəyimi bilmirəm (Növ: %s)"
-#: ../../install_steps_gtk.pm:1
+#: ../../fs.pm_.c:684 ../../fs.pm_.c:727
#, c-format
-msgid "trying to promote %s"
+msgid "mounting partition %s in directory %s failed"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Liechtenstein"
-msgstr "Lixtenşteyn"
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../fs.pm_.c:742 ../../partition_table.pm_.c:599
#, c-format
-msgid "Host name"
-msgstr "Ev sahibi adı"
+msgid "error unmounting %s: %s"
+msgstr "%s ayrılırkən xəta oldu: %s"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the color of the progress bar"
-msgstr "irəliləmə çubuğunun rəngi"
+#: ../../fsedit.pm_.c:21
+msgid "simple"
+msgstr "bəsit"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Fonts Files"
-msgstr "Yazı Növlərinin Fayllarını Gizlət"
+#: ../../fsedit.pm_.c:25
+msgid "with /usr"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to RAID"
-msgstr "RAIDə əlavə et"
+#: ../../fsedit.pm_.c:30
+msgid "server"
+msgstr "verici"
-#: ../../help.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:240
+#, fuzzy, c-format
msgid ""
-"You can add additional entries in yaboot for other operating systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"For other OSs, the entry consists only of a label and the \"root\"\n"
-"partition.\n"
-"\n"
-"For Linux, there are a few possible options:\n"
-"\n"
-" * Label: this is the name you will have to type at the yaboot prompt to\n"
-"select this boot option.\n"
-"\n"
-" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n"
-"variation of vmlinux with an extension.\n"
-"\n"
-" * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-"\n"
-" * Append: on Apple hardware, the kernel append option is often used to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button\n"
-"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n"
-"The following are some examples:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: this option can be used either to load initial modules before\n"
-"the boot device is available, or to load a ramdisk image for an emergency\n"
-"boot situation.\n"
-"\n"
-" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n"
-"need to allocate a large ramdisk, this option can be used to specify a\n"
-"ramdisk larger than the default.\n"
-"\n"
-" * Read-write: normally the \"root\" partition is initially mounted as\n"
-"read-only, to allow a file system check before the system becomes ``live''.\n"
-"You can override the default with this option.\n"
-"\n"
-" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-"problematic, you can select this option to boot in ``novideo'' mode, with\n"
-"native frame buffer support.\n"
+"I can't read the partition table of device %s, it's too corrupted for me :(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
"\n"
-" * Default: selects this entry as being the default Linux selection,\n"
-"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n"
-"highlighted with a ``*'' if you press [Tab] to see the boot selections."
+"Do you agree to loose all the partitions?\n"
msgstr ""
-"Burada yaboot üçün başqa əməliyyat sistemləri, alternativ çəyirdəklər, ya da "
-"tə'cili açılış əksləri əlavə edə bilərsiniz.\n"
-"\n"
-"\n"
-"Başqa OS'lər üçün giriş yalnız ad və \"kök\" çığırından ibarətdir.\n"
-"\n"
-"\n"
-"Linuks üçün mümkün girişlər bunlar ola bilər:\n"
-"\n"
-" * Ad: Bu sadəcə olaraq yaboot üçün açılacaq sistemi timsal edən bir addır.\n"
-"\n"
-" * Əks: Bu isə açılacaq çəyirdəyin, yə'ni kernelin adıdır. Çox vaxt bu "
-"vmlinux və ya bunun uzantılı variasiyalarıdır.\n"
-"\n"
-" * Kök: Linuks qurulumunuzun \"kök\" avadanlığı və ya '/'.\n"
-"\n"
-" * Əlavə: Apple avadanlıqlarında əlavə çəyirdək seçimləri ilə sıxlıqla \n"
-"başlanğıc video avadanlığı və ya tez tez xəta verən 2ci və 3cü siçan ən "
-"düymələri üçün emulyasiya imkanları tanına bilir.\n"
-"Məsələn bunlar bir neçə nümunədir:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: Açılış avadanlığından əvvəl bə'zi açılış modullarını seçmək\n"
-"üçün işlədilir, ya da tə'cili yardım açılışlarında ramdisk əksini yükləmə\n"
-"imkanı verir.\n"
-"\n"
-" * Initrd-size: Ana ramdisk böyüklüyü ümumiyyətlə 4096 Kbaytdır. Əgər daha\n"
-"geniş ramdisk bildirmək istəyirsiniz isə bu seçimi işlədin.\n"
-"\n"
-" * Oxuma-yazma: Normalda sistemin 'dirilməsindən' əvvəl bə'zi sınaqların \n"
-"aparıla bilməsi üçün \"root\" fayl sistemi bu moda soxulur. Bunu \n"
-"bu seçimlə dəyişdirə bilərsiniz.\n"
-"\n"
-"\n"
-" * NoVideo: Apple video avadanlığı problem çıxarda bilər. Onda bu \n"
-"seçimlə sistemi ``novideo'' modda əsas framebuffer dəstəyi ilə aça "
-"bilərsiniz.\n"
+"Bölmə cədvəlinizi oxuya bilmirəm, dəyəsən biraz xarab olub:-(\n"
+"Xarab olmuş bolmələri düzəltməyə çalışacam.\n"
+"Amma bütün mə'lumatlar itəcəkdir.\n"
+"Başqa bir yol isə DrakXin bölmə cədvəllərini yoxlamasını "
+"passivləşdirməkdir.\n"
+"(xəta %s)\n"
"\n"
-" * Əsas: Bu seçimlə Linuks sistemi əsas əməliyyat sistemi halına gətirə \n"
-"bilərsiniz. Yaboot sorğu ekranında ENTER düyməsinə basmaqla Linuks sistemi\n"
-"açılacaqdır. Bu giriş ayrıca TAB ilə açılış seçkilərinə baxdığınız vaxt \n"
-"``*'' işarəti ilə işıqlandırılacaqdır."
+"Bütün bölmələri itirmək istəyirsiniz?\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
-msgstr ""
-"\"%s\" çapçısı Star Office/OpenOffice.org/GIMP proqramlarına əlavə edildi."
+#: ../../fsedit.pm_.c:501
+msgid "You can't use JFS for partitions smaller than 16MB"
+msgstr "16MB dən kiçik disk bölmələrində JFS istifadə etməlisiniz"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No floppy drive available!"
-msgstr "Disket sürücüsü mövcud deyil!"
+#: ../../fsedit.pm_.c:502
+msgid "You can't use ReiserFS for partitions smaller than 32MB"
+msgstr "32MB dən kiçik disk bölmələrində ReiserFS istifadə etməlisiniz"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To know about the options available for the current printer read either the "
-"list shown below or click on the \"Print option list\" button.%s%s%s\n"
-"\n"
-msgstr ""
-"Hazırkı çapçı üçün mövcud olan seçimlər siyahısını almaq üçün \"Seçimlər "
-"siyahısını göstər\" düyməsinə basın ya da aşağıdakı siyahını oxuyun.%s%s%s\n"
-"\n"
+#: ../../fsedit.pm_.c:521
+msgid "Mount points must begin with a leading /"
+msgstr "Bağlama nöqtələri / ilə başlamalıdır"
-#: ../../lang.pm:1
+#: ../../fsedit.pm_.c:522
#, c-format
-msgid "Saudi Arabia"
-msgstr "Səudiyyə Ərəbistan"
+msgid "There is already a partition with mount point %s\n"
+msgstr "Onsuz da bağlama nöqtəsi %s olan bir bölmə var\n"
-#: ../../services.pm:1
+#: ../../fsedit.pm_.c:526
#, c-format
-msgid "Internet"
-msgstr "İnternet"
+msgid "You can't use a LVM Logical Volume for mount point %s"
+msgstr "%s üçün LVM Məntiqi Cildini istifadə edə bilməzsiniz"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Continue anyway?"
-msgstr "Davam edilsin?"
+#: ../../fsedit.pm_.c:528
+msgid "This directory should remain within the root filesystem"
+msgstr "Bu qovluq kök fayl sistemi içərisində olmalıdır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:530
+#, fuzzy
msgid ""
-"If your printer is not listed, choose a compatible (see printer manual) or a "
-"similar one."
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
msgstr ""
-"Əgər çapçınız siyahıda yer almırsa, uyğun olanı (baxın çapçı istifadə "
-"kitabı) seçin."
+"Bu bağlama nöqtəsi üçün həqiqi bir fayl sisteminə (ext2, reisrfs)\n"
+"ehtiyac vardır.\n"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer"
-msgstr "Çapçı"
+#: ../../fsedit.pm_.c:532
+#, fuzzy, c-format
+msgid "You can't use an encrypted file system for mount point %s"
+msgstr "%s üçün LVM Məntiqi Cildini istifadə edə bilməzsiniz"
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices were added:\n"
-msgstr "Bə'zi avadanlıqlar əlavə edildi:\n"
+#: ../../fsedit.pm_.c:599
+#, fuzzy
+msgid "Not enough free space for auto-allocating"
+msgstr "Avtomatik yerləşdirmə üçün boş sahə yoxdur"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Geometriyası: %s silindr, %s baş, %s sektor\n"
+#: ../../fsedit.pm_.c:601
+msgid "Nothing to do"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../fsedit.pm_.c:694
#, c-format
-msgid "Printing on the printer \"%s\""
-msgstr "%s çapçısında çap edilir"
+msgid "Error opening %s for writing: %s"
+msgstr "Yazmaq üçün açılan %s'də xəta: %s"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
+#: ../../harddrake/data.pm_.c:71
+msgid "cpu /* "
msgstr ""
-"/etc/hosts.allow və /etc/hosts.deny onsuzda quraşdırılıb - dəyişdirilmədi"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From Tape"
-msgstr "Kasetdən Geri Yüklə"
+#: ../../harddrake/sound.pm_.c:170
+msgid "No alternative driver"
+msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../harddrake/sound.pm_.c:171
#, c-format
msgid ""
-"To submit a bug report, click the report button, which will open your "
-"default browser\n"
-"to Anthill where you will be able to upload the above information as a bug "
-"report."
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
msgstr ""
-"Xəta raportu göndərmək üçün, raport düyməsinə basın. Səyyarınız açılacaq və\n"
-"xəta raportu olaraq üstdəki mə'lumatı göndərə bıləcəyiniz səhifə açılacaq."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the profile to configure"
-msgstr "Qurulacaq profili seçin"
+#: ../../harddrake/sound.pm_.c:173
+#, fuzzy
+msgid "Sound configuration"
+msgstr "Yerli Şəbəkə Quraşdırılması"
-#: ../../security/l10n.pm:1
+#: ../../harddrake/sound.pm_.c:174
#, c-format
-msgid "Password minimum length and number of digits and upcase letters"
-msgstr "Şifrənin minimal uzunluğu, rəqəm və böyük hərf miqdarı"
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../harddrake/sound.pm_.c:176
#, c-format
msgid ""
"\n"
"\n"
-"Enter a Zeroconf host name without any dot if you don't\n"
-"want to use the default host name."
-msgstr ""
-"\n"
-"\n"
-"Əgər əsas qovşaq adını istifadə etmək istəmirsinizsə\n"
-"nöqtələri istifadə etmədən Zeroconf qovşaq adını girin."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now from configuration file"
-msgstr "Quraşdırma faylından indi ehtiyat nüsxəsini çıxart"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points should contain only alphanumerical characters"
-msgstr "Bağlama nöqtələri ancaq alfanumerik hərf daxil edə bilər"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting printing system..."
-msgstr "Çap etmə sistemi yenidən başladılır..."
-
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "You can only run with no CDROM support"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "See hardware info"
-msgstr "Avadanlıq mə'lumatına bax"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Day"
-msgstr "Gün"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of boot partition"
-msgstr "Açılış bölməsinin ilk sektoru"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model"
-msgstr "Çapçı e'malatçısı, model"
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ - Print, Don't Queue"
-msgstr "PDQ - Çap et, Növbəyə alma"
+#: ../../harddrake/sound.pm_.c:178
+#, fuzzy
+msgid "Driver:"
+msgstr "Sürücü"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires "
-"username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, "
-"nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, "
-"IP, nbi image name)"
-msgstr ""
-"[SEÇİMLƏR]...\n"
-"Mandrake Terminal Vericisi Quraşdırıcısı\n"
-"--enable : MTS'ni fəallaşdır\n"
-"--disable : MTS'ni qeyri-fəallaşdır\n"
-"--start : MTS'ni başlat\n"
-"--stop : MTS'ni dayandır\n"
-"--adduser : MTS'yə mövcud olan istifadəçi əlavə et (istifadəçi adı "
-"istənəcək)\n"
-"--deluser : MTS'dən mövcud olan istifadəçini sil (istifadəçi adı "
-"istənəcək)\n"
-"--addclient : MTS'yə alıcı sistem əlavə et (MAC ünvanı, IP, nbi əks adı "
-"istənəcək)\n"
-"--delclient : MTS'dən alıcı sistemi sil (MAC ünvanı, IP, nbi əks adı "
-"istənəcək)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet Mask:"
-msgstr "Subnet Maskası:"
+#: ../../harddrake/sound.pm_.c:183 ../../standalone/drakTermServ_.c:303
+#: ../../standalone/drakbackup_.c:3878 ../../standalone/drakbackup_.c:3911
+#: ../../standalone/drakbackup_.c:3937 ../../standalone/drakbackup_.c:3964
+#: ../../standalone/drakbackup_.c:3991 ../../standalone/drakbackup_.c:4030
+#: ../../standalone/drakbackup_.c:4051 ../../standalone/drakbackup_.c:4078
+#: ../../standalone/drakbackup_.c:4108 ../../standalone/drakbackup_.c:4134
+#: ../../standalone/drakbackup_.c:4157 ../../standalone/drakfont_.c:690
+#, fuzzy
+msgid "Help"
+msgstr "/_Yardım"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Set password expiration and account inactivation delays"
+#: ../../harddrake/sound.pm_.c:185
+msgid "Switching between ALSA and OSS help"
msgstr ""
-"Şifrə vaxtının keçişini və hesab qeyri-fəallaşdırma gecikmələrini müəyyən et"
-#: ../../standalone/logdrake:1
-#, c-format
+#: ../../harddrake/sound.pm_.c:186
msgid ""
-"_: load here is a noun, the load of the system\n"
-"Load"
-msgstr "Yüklə"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-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"
+"OSS (Open Sound System) was the first sound API. It's an OS independant "
+"sound API (it's available on most unices systems) but it's a very basic and "
+"limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\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."
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
msgstr ""
-"Buradaki iki vacib parametr üfüqi ve şaquli yeniləmə sür'ətləridir.\n"
-"Seçərkən monitorunuzun qabiliyyətinin üstündə bir parametr\n"
-"seçməməyiniz çox vacibdir, əks halda monitor zərər görər.\n"
-"Seçərkən bir qərarsızlığa düşərsəniz, alçaq rezolyusiya seçin."
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Modify"
-msgstr "Təkmilləşdir"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../harddrake/sound.pm_.c:202
#, c-format
msgid ""
+"The old \"%s\" driver is blacklisted.\n"
"\n"
-"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
-"a particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\".\n"
-msgstr ""
+"It has been reported to oopses the kernel on unloading.\n"
"\n"
-"\"%s\" və \"%s\" əmrləri eyni zamanda səciyyəvi çap vəzifəsinin seçim "
-"qurğularını dəyişdirməyə icazə verir. Sadəcə olaraq uyğun gələn qatarı əmr "
-"sətirinə əlavə edin, mis. \"%s <fayl>\".\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Need hostname, username and password!"
-msgstr "Qovşaq adı, istifadəçi adı və şifrəyə ehtiyac var!"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Insert floppy"
-msgstr "Disket daxil edin"
-
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid ""
-"WebDAV is a protocol that allows you to mount a web server's directory\n"
-"locally, and treat it like a local filesystem (provided the web server is\n"
-"configured as a WebDAV server). If you would like to add WebDAV mount\n"
-"points, select \"New\"."
+"The new \"%s\" driver'll only be used on next bootstrap."
msgstr ""
-"WebDAV, bir vericinin cərgəsini yerli bir qovluğa bağlamanıza və ona yerli\n"
-"fayl sistemi kimi rəftar etməyə imkan tanıyan protokoldur (verici WebDAV\n"
-"olaraq quraşdırılmalıdır). İndi WebDAV bağlama nöqtələri əlavə etmək\n"
-"üçün, \"Yeni\" düyməsinə basın."
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "HardDrake"
-msgstr "HardDrake"
+#: ../../harddrake/sound.pm_.c:205 ../../standalone/drakconnect_.c:298
+msgid "Please Wait... Applying the configuration"
+msgstr "Lütdən Gözləyin... Qurğular əlavə edilir"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "new"
-msgstr "yeni"
+#: ../../harddrake/sound.pm_.c:205 ../../interactive.pm_.c:382
+#: ../../standalone/drakxtv_.c:108 ../../standalone/harddrake2_.c:113
+#: ../../standalone/service_harddrake_.c:64
+msgid "Please wait"
+msgstr "Xahiş edirik gözləyin"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable syslog reports to console 12"
+#: ../../harddrake/sound.pm_.c:210
+msgid "No known driver"
msgstr ""
-"12 konsola sysloq raportlarının göndərilməsini Fəallaşdır/Qeyri-fəallaşdır"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Would you like to try again?"
-msgstr "Yenidən sınamaq istəyirsiniz?"
-
-#: ../../help.pm:1 ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Wizard"
-msgstr "Sehirbaz"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected server"
-msgstr "Seçili vericini düzəlt"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose where you want to backup"
-msgstr "Xahiş edirik, ehtiyatları saxlamaq istədiyiniz yeri seçin"
-#: ../../install_steps_interactive.pm:1
+#: ../../harddrake/sound.pm_.c:211
#, c-format
-msgid "You need to reboot for the partition table modifications to take place"
+msgid "There's no known driver for your sound card (%s)"
msgstr ""
-"Bölmə cəvəlindəki dəyişikliklərin tətbiq edilməsi üçün kompüterinizi yenidən "
-"başlatmalısınız."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include the browser cache"
-msgstr "Səyyahın ara yaddaşını daxil etmə"
+#: ../../harddrake/sound.pm_.c:214
+msgid "Unkown driver"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../harddrake/sound.pm_.c:215
#, c-format
msgid ""
-"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
-"you can lose data)"
+"The \"%s\" driver for your sound card is unlisted\n"
+"\n"
+"Please send the output of the \"lspcidrake -v\" command to\n"
+"<install at mandrakesoft dot com>\n"
+"with subject: unlisted sound driver \"%s\""
msgstr ""
-"%s fayl sisteminin yoxlanması bacarılmadı. Xətaları düzəltmək istəyirsiniz? "
-"(diqqətli olun, mə'lumatları itirə bilərsiniz)"
-
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Please, choose your keyboard layout."
-msgstr "Klaviatura quruluşunu seçiniz."
-
-#: ../../mouse.pm:1 ../../security/level.pm:1
-#, c-format
-msgid "Standard"
-msgstr "Standart"
-
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose your mouse type."
-msgstr "Xahiş edirik, siçanınızın növünü seçin."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Connect..."
-msgstr "Bağlan..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to configure printer \"%s\"!"
-msgstr "\"%s\" çapçısı quraşdırıla bilmədi!"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "not configured"
-msgstr "quraşdırılmayıb"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "About"
-msgstr "Haqqında"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "GlidePoint"
-msgstr "GlidePoint"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxies configuration"
-msgstr "Vəkil vericilər quraşdırılması"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "Başlanğıc: sektor %s\n"
+#: ../../harddrake/v4l.pm_.c:14 ../../harddrake/v4l.pm_.c:64
+#, fuzzy
+msgid "Auto-detect"
+msgstr "Avtomatik təsbit işlət"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Mask"
-msgstr "Maskasız"
+#: ../../harddrake/v4l.pm_.c:65 ../../harddrake/v4l.pm_.c:198
+#, fuzzy
+msgid "Unknown|Generic"
+msgstr "Ümumi"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface already configured"
-msgstr "Şəbəkə ara üzü onsuzda quraşdırılıb"
+#: ../../harddrake/v4l.pm_.c:97
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Couldn't access the floppy!"
-msgstr "Disketə yetişə bilmədim!"
+#: ../../harddrake/v4l.pm_.c:98
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../harddrake/v4l.pm_.c:224
msgid ""
-"Warning: Free Software may not necessarily be patent free, and some Free\n"
-"Software included may be covered by patents in your country. For example, "
-"the\n"
-"MP3 decoders included may require a licence for further usage (see\n"
-"http://www.mp3licensing.com for more details). If you are unsure if a "
-"patent\n"
-"may be applicable to you, check your local laws."
-msgstr ""
-"Diqqət: Sərbəst Tə'minat daima patentsiz ola bilməz və daxil edilən bə'zi\n"
-"sərbəst tə'minat ölkənizdə patentlər tərəfindən qoruna bilər. Misal üçün,\n"
-"daxil edilən MP3 dekoderinin irəli istifadəsi üçün lisenziya lazım ola "
-"bilər.\n"
-"Əgər patentlərin sizə ait olub olmadığını bilmirsinizsə yerli qanunlarınızı\n"
-"gözdən keçirin."
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Mail Server"
-msgstr "Poçt Vericisi"
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please click on a partition"
-msgstr "Xahiş edirik, bir bölmə üstünə tıqlayın"
+#: ../../harddrake/v4l.pm_.c:227
+#, fuzzy
+msgid "Card model:"
+msgstr "Kart mem (DMA)"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on HP JetDirect"
-msgstr "HP JetDirect üstündə çox funksiyalı avadanlıq"
+#: ../../harddrake/v4l.pm_.c:228
+#, fuzzy
+msgid "Tuner type:"
+msgstr "Bölmə növünü Dəyişdir"
-#: ../../any.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Linux"
-msgstr "Linuks"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "Number of capture buffers:"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Have a nice day!"
-msgstr "Sağolun, sağlıqla qalın!"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "number of capture buffers for mmap'ed capture"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/fd0"
-msgstr "/dev/fd0"
+#: ../../harddrake/v4l.pm_.c:231
+#, fuzzy
+msgid "PLL setting:"
+msgstr "Şəkilləndirilir"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Upgrade %s"
-msgstr "%s'i yenilə"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "Radio support:"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Connection"
-msgstr "Çapçı Bağlantısı Seçin"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "enable radio support"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels in progress ..."
-msgstr "TV kanallarının axtarışı fəaliyyətdədir..."
+#: ../../help.pm_.c:13
+msgid ""
+"GNU/Linux is a multiuser system, and this means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more this concept. But unlike \"root\", which is the\n"
+"administrator, the users you add here will not be entitled to change\n"
+"anything except their own files and their own configurations. You will have\n"
+"to create at least one regular user for yourself. That account is where you\n"
+"should log in for routine use. Although it is very practical to log in as\n"
+"\"root\" everyday, it may also be very dangerous! The slightest mistake\n"
+"could mean that your system would not work any more. If you make a serious\n"
+"mistake as a regular user, you may only lose some information, but not the\n"
+"entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course\n"
+"-- as you can actually enter whatever you want. DrakX will then take the\n"
+"first word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as the \"root\"\n"
+"one from a security point of view, but that is no reason to neglect it:\n"
+"after all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of the people meant to use that computer. When you are\n"
+"finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"Advanced\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default).\n"
+"\n"
+"When you are finished adding all users, you will be proposed to choose a\n"
+"user which can automatically log into the system when the computer boots\n"
+"up. If you are interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click \"Yes\".\n"
+"If you are not interested in this feature, click \"No\"."
+msgstr ""
+
+#: ../../help.pm_.c:48
+msgid ""
+"Listed above are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Yuxarıda sürücünüzdə tapılan Linuks bölmələri sıralanıb\n"
+"Sehirbazın tövsiyələrinə uyun, onlar çox vaxt işə yarayır.\n"
+"Əgər bunu istəməsəniz en azından kök bölməsi (\"/\") seçməlisiniz\n"
+"Çox kiçik bölmə seçməyin. yoxsa çox proqram tə'minatı yükləyə bilməzsəniz.\n"
+"Əgər verilərinizi başqa bölmədə tutmaq istəyirsinizsə, ondabir de \"/home\" "
+"bölməsi də yaratmalısınız (birdən çox Linuks\n"
+"bölməniz var isə).\n"
+"\n"
+"\n"
+"Xəbəriniz olsun, hər bölmə aşağıdakı kimi sıralanıb: \"Ad\", \"Həcm\".\n"
+"\n"
+"\n"
+"\"Ad\" belə kodlanıb: \"sürücü növü\", \"sürücü mömrəsi\",\n"
+"\"bölmə nömrəsi\" (məsələn \"hda1\").\n"
+"\n"
+"\n"
+"\"Sürücü növü\" əgər sürücünüz IDE sürücüdürsə \"hd\"dirvə SCSI sürücü isə "
+"\"sd\"dir.\n"
+"\n"
+"\n"
+"\"Sürücü nömrəsi\" həmişə \"hd\" və ya \"sd\"dən sonrakı rəqəmdir.IDE "
+"sürücülər üçün:\n"
+"\n"
+"*\"a\" yəni \"birinci IDE idarəcisində ali sürücü\",\n"
+"\n"
+"*\"b\" yəni \"birinci IDE idarəcisində kölə sürücü\",\n"
+"\n"
+"*\"c\" yəni \"ikinci IDE idarəcisində ali sürücü\",\n"
+"\n"
+"*\"d\" yəni \"ikinci IDE idarəcisində kölə sürücü\".\n"
+"\n"
+"\n"
+"SCSI sürücülərində \"a\" nın mənası \"birinci sürücü\",\n"
+"\"b\"nin mənası \"ikinci sürücü\"dür vs..."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:79
msgid ""
-"Error during sending file via FTP.\n"
-" Please correct your FTP configuration."
+"The Mandrake Linux installation is spread out over several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required."
msgstr ""
-"Fayl FTP ilə göndərilərkən xəta yarandı.\n"
-" Xahiş edirik, FTP qurğularınızı düzəldin."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range Start:"
-msgstr "IP Silsiləsi Başlanğıcı:"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:84
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."
+"It is now time to specify which programs you wish to install on your\n"
+"system. There are thousands of packages available for Mandrake Linux, and\n"
+"you are not supposed to know them all by heart.\n"
+"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
+"\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
+"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
+"\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you unselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewest packages possible to have a working\n"
+"graphical desktop;\n"
+"\n"
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
+"\n"
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
+"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
+"\n"
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful to repair or\n"
+"update an existing system."
msgstr ""
-"Internet superserver daemon (qısaca inetd ) bir çox \n"
-"başqa internet xidmətcisini lazım gəldiyi zaman işa salır. İçində telnet, "
-"ftp, rsh və rlogin kimi proqramın olduğu xidmətləri işə salmaqla məs'uldur.\n"
-"inetd-ni sistemden çıxarmaq, onun məs'ul olduğu bütün xidmətləri\n"
-"rədd etmək mə'nasını daşıyır."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the height of the progress bar"
-msgstr "İrəliləmə çubuğunun hündürlüyü"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:135
msgid ""
+"Finally, depending on whether or not you chose to be able to select\n"
+"individual packages, you will be presented a tree containing all packages\n"
+"classified by groups and subgroups. While browsing the tree, you can select\n"
+"entire groups, subgroups, or individual packages.\n"
"\n"
-"- Save via %s on host: %s\n"
-msgstr ""
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An installation time estimate is displayed\n"
+"on the screen, to help you gauge if there is sufficient time to enjoy a cup\n"
+"of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mandrake Linux, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mandrake Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
"\n"
-"- %s üstündən %s qovşağına qeyd et\n"
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Argentina"
-msgstr "Argentina"
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Domain Name Server"
-msgstr "Domen Adı Vericisi"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Level:"
-msgstr "Təhlükəsizlik Səviyyəsi:"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points must begin with a leading /"
-msgstr "Bağlama nöqtələri / ilə başlamalıdır"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Choose your CD/DVD device"
-msgstr "CD/DVD avadanlığınızı seçin"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "CUPS server"
-msgstr "DNS verici"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Postfix Mail Server"
-msgstr "Postfix Poçt Vericisi"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without saving"
-msgstr "Qeyd etmədən Çıx"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Yemen"
-msgstr "Yəmən"
-
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "This product is available on the MandrakeStore Web site."
-msgstr "Bu mə'mul MandrakeStore veb saytında mövcuddur."
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "=> There are many things to choose from (%s).\n"
-msgstr "=> Arasından seçiləcək həddindən artıq çox şey var (%s).\n"
-
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "GMT - DrakClock"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of the previous step on how to\n"
+"create such a floppy disk."
msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../help.pm_.c:171
msgid ""
-"An error occurred:\n"
+"You are now able to set up your Internet/network connection. If you wish to\n"
+"connect your computer to the Internet or to a local network, click \"OK\".\n"
+"The autodetection of network devices and modem will be launched. If this\n"
+"detection fails, uncheck the \"Use auto-detection\" box next time. You may\n"
+"also choose not to configure the network, or do it later; in that case,\n"
+"simply click the \"Cancel\" button.\n"
"\n"
+"Available connections are: traditional modem, ISDN modem, ADSL connection,\n"
+"cable modem, and finally a simple LAN connection (Ethernet).\n"
"\n"
-"%s\n"
-"\n"
-"This may come from corrupted system configuration files\n"
-"on the USB key, in this case removing them and then\n"
-"rebooting Mandrake Move would fix the problem. To do\n"
-"so, click on the corresponding button.\n"
+"Here, we will not detail each configuration. Simply make sure that you have\n"
+"all the parameters from your Internet Service Provider or system\n"
+"administrator.\n"
"\n"
+"You can consult the ``Starter Guide'' chapter about Internet connections\n"
+"for details about the configuration, or simply wait until your system is\n"
+"installed and use the program described there to configure your connection.\n"
"\n"
-"You may also want to reboot and remove the USB key, or\n"
-"examine its contents under another OS, or even have\n"
-"a look at log files in console #3 and #4 to try to\n"
-"guess what's happening."
+"If you wish to configure the network later after installation, or if you\n"
+"are finished configuring your network connection, click \"Cancel\"."
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Hard drive detection"
-msgstr "Sabit disklərin aşkar edilməsi"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../help.pm_.c:193
+#, fuzzy
msgid ""
-"You haven't selected any group of packages.\n"
-"Please choose the minimal installation you want:"
+"You may now choose which services you wish to start at boot time.\n"
+"\n"
+"Here are listed all the services available with the current installation.\n"
+"Review them carefully and uncheck those which are not always needed at boot\n"
+"time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
msgstr ""
-"Heç bir paket qrupunu seçmədiniz.\n"
-"Xahiş edirik, istədiyiniz ən kiçik qurulumu seçin:"
+"İndi, açılışda avtomatik olaraq başlamasını istədiyiniz xidmətləri \n"
+"seçə bilərsiniz. Siçan bir maddənin üzərina gəldiyində o xidmətin rolunu "
+"açıqlayan\n"
+"kiçik bir baloncuq ortaya çıxacaqdır.\n"
+"\n"
+"Əgər kompüterinizi bir verici olaraq istifadə edəcəksəniz bu addımda tam bir "
+"diqqət ayırmalısınız:\n"
+"mühtəməldir ki lazımi heç bir xidməti başlatmaq istəməzsiniz."
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../help.pm_.c:210
msgid ""
-"You need the Alcatel microcode.\n"
-"You can provide it now via a floppy or your windows partition,\n"
-"or skip and do it later."
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by unselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
msgstr ""
-"Alcatel mikrokoduna ehtiyacınız var.\n"
-"Onu indi bir disket ya da windows bölməsi vasitəsiylə verə\n"
-"bilərsiniz, ya da keçib daha sonra edə bilərsiniz."
-
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Please enter the WebDAV server URL"
-msgstr "Xahiş edirik, WebDAV vericisi URL'ini daxil edin"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tajikistan"
-msgstr "Tacikistan"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Accept"
-msgstr "Qəbul Et"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Description"
-msgstr "İzahat"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Please enter summary text."
-msgstr "Xahiş edirik, icmal mətnini daxil edin."
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Yazmaq üçün açılan %s'də xəta: %s"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Siçan növü: %s\n"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr "Sizin kartınızın XFree %s ilə 3D dəstəyi ola bilər."
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Choose a monitor"
-msgstr "Monitorunuzu seçin"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Empty label not allowed"
-msgstr "Boş etiket qəbul edilə bilməz"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (UK)"
-msgstr "Malta (UK)"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "I can't add any more partition"
-msgstr "Artıq bölmə əlavə edilə bilməz"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size in MB: "
-msgstr "MB cinsindən böyüklük: "
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Remote printer"
-msgstr "Uzaq Çapçı"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose a language to use."
-msgstr "Xahiş edirik, istifadə ediləcək dili seçin."
-
-#: ../../network/network.pm:1
-#, c-format
+#: ../../help.pm_.c:224
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."
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandrake Linux rely.\n"
+"\n"
+"You will be presented the list of available resolutions and color depth\n"
+"available for your hardware. Choose the one that best suit your needs (you\n"
+"will be able to change that after installation though). When you are\n"
+"satisfied with the sample shown in the monitor, click \"OK\". A window will\n"
+"then appear and ask you if you can see it.\n"
+"\n"
+"If you are doing an \"Expert\" installation, you will enter the X\n"
+"configuration wizard. See the corresponding section of the manual for more\n"
+"information about this wizard.\n"
+"\n"
+"If you can see the message during the test, and answer \"Yes\", then DrakX\n"
+"will proceed to the next step. If you cannot see the message, it simply\n"
+"means that the configuration was wrong and the test will automatically end\n"
+"after 10 seconds, restoring the screen. Refer then to the video\n"
+"configuration section of the user guide for more information on how to\n"
+"configure your display."
msgstr ""
-"DİQQƏT: Bu avadanlıq daha əvvəl İntenetə bağlanmaq üçün qurulmuşdur.\n"
-"Avadanlığın qurğularını dəyişdirmaək istəmirsiniz isə,\n"
-"OLDU ya basın.\n"
-"Aşağıdakı girişləri düzəltməniz özünü əvvəlki qurğuların üstünə yazacaqdır."
-#: ../../any.pm:1
-#, c-format
-msgid "I can set up your computer to automatically log on one user."
+#: ../../help.pm_.c:246
+msgid ""
+"Finally, you will be asked whether you want to see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
msgstr ""
-"Kompüteriniz istifadəçinin avtomatik giriş etməsi üçün qurğulana bilər."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Floppy format"
-msgstr "Disket şəkilləndirməsi"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Generic Printers"
-msgstr "Ümumi Çapçılar"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:253
msgid ""
-"Please choose the printer to which the print jobs should go or enter a "
-"device name/file name in the input line"
+"The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it by\n"
+"booting from the CD-ROM, press the >>F1<< key at boot and type >>rescue<<\n"
+"at the prompt. But in case your computer cannot boot from the CD-ROM, you\n"
+"should come back to this step for help in at least two situations:\n"
+"\n"
+" * when installing the bootloader, DrakX will rewrite the boot sector (\n"
+"MBR) of your main disk (unless you are using another boot manager), to\n"
+"allow you to start up with either Windows or GNU/Linux (assuming you have\n"
+"Windows in your system). If you need to reinstall Windows, the Microsoft\n"
+"install process will rewrite the boot sector, and then you will not be able\n"
+"to start GNU/Linux!\n"
+"\n"
+" * if a problem arises and you cannot start up GNU/Linux from the hard\n"
+"disk, this floppy disk will be the only means of starting up GNU/Linux. It\n"
+"contains a fair number of system tools for restoring a system, which has\n"
+"crashed due to a power failure, an unfortunate typing error, a typo in a\n"
+"password, or any other reason.\n"
+"\n"
+"If you say \"Yes\", you will be asked to enter a disk inside the drive. The\n"
+"floppy disk you will insert must be empty or contain data which you do not\n"
+"need. You will not have to format it since DrakX will rewrite the whole\n"
+"disk."
msgstr ""
-"Çap vəzifələrinin hansı çapçıya gedəcəyini seçin ya da giriş sətirində "
-"avadanlıq/fayl adı daxil edin"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The scanners on this machine are available to other computers"
-msgstr "Bu sistemdəki darayıcılar diqər sistemlər üçün də açıqdır"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of the root partition"
-msgstr "Kök bolməsinin ilk sektoru"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Alternative drivers"
-msgstr "Alternativ sürücülər"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:277
+#, fuzzy
msgid ""
+"You now need to choose where you want to install the Mandrake Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space, you will need\n"
+"to partition it. Basically, partitioning a hard drive consists of logically\n"
+"dividing it to create space to install your new Mandrake Linux system.\n"
+"\n"
+"Because the partitioning process' effects are usually irreversible,\n"
+"partitioning can be intimidating and stressful if you are an inexperienced\n"
+"user. Fortunately, there is a wizard which simplifies this process. Before\n"
+"beginning, please consult the manual and take your time.\n"
+"\n"
+"If you are running the installation in Expert mode, you will enter\n"
+"DiskDrake, the Mandrake Linux partitioning tool, which allows you to\n"
+"fine-tune your partitions. See the DiskDrake section in the ``Starter\n"
+"Guide''. From the installation interface, you can use the wizards as\n"
+"described here by clicking the dialog's \"Wizard\" button.\n"
+"\n"
+"If partitions have already been defined, either from a previous\n"
+"installation or from another partitioning tool, simply select those to\n"
+"install your Linux system.\n"
+"\n"
+"If partitions are not defined, you will need to create them using the\n"
+"wizard. Depending on your hard drive configuration, several options are\n"
+"available.\n"
+"\n"
+" * \"Use free space\": this option will simply lead to an automatic\n"
+"partitioning of your blank drive(s). You will not be prompted further;\n"
+"\n"
+" * \"Use existing partition\": the wizard has detected one or more existing\n"
+"Linux partitions on your hard drive. If you want to use them, choose this\n"
+"option. You will then be asked to choose the mount points associated to\n"
+"each of the partitions. The legacy mount points are selected by default,\n"
+"and you should generally keep them.\n"
+"\n"
+" * \"Use the free space on the Windows partition\": if Microsoft Windows is\n"
+"installed on your hard drive and takes all the space available on it, you\n"
+"have to create free space for Linux data. To do so, you can delete your\n"
+"Microsoft Windows partition and data (see ``Erase entire disk'' or ``Expert\n"
+"mode'' solutions) or resize your Microsoft Windows partition. Resizing can\n"
+"be performed without the loss of any data, provided you previously\n"
+"defragment the Windows partition. Backing up your data won't hurt either..\n"
+"This solution is recommended if you want to use both Mandrake Linux and\n"
+"Microsoft Windows on the same computer.\n"
"\n"
-"Please check all options that you need.\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than at the present time. You will have less free space under Microsoft\n"
+"Windows to store your data or to install new software;\n"
+"\n"
+" * \"Erase entire disk\": if you want to delete all data and all partitions\n"
+"present on your hard drive and replace them with your new Mandrake Linux\n"
+"system, choose this option. Be careful with this solution because you will\n"
+"not be able to revert your choice after you confirm;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Remove Windows\": this will simply erase everything on the drive and\n"
+"begin fresh, partitioning everything from scratch. All data on your disk\n"
+"will be lost;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Expert mode\": choose this option if you want to manually partition\n"
+"your hard drive. Be careful -- it is a powerful but dangerous option. You\n"
+"can very easily lose all your data. Hence, do not choose this unless you\n"
+"know what you are doing. To know how to use the DiskDrake utility used\n"
+"here, refer to the section ``Managing Your Partitions'' of the ````Starter\n"
+"Guide''''"
msgstr ""
+"Bu nöqtədə Linuks Mandrakeni sabit diskinizdə haraya quracağınıza\n"
+"qərar verəcəksiniz. Əgər diskiniz boş isə və ya bir başqa sistem\n"
+"bütün yeri doldurmuş isə, o zaman diskinizdə Linuks Mandrake üçün\n"
+"yer açmalısınız. Ona görə də diski bölmələndirməlisiniz.\n"
+"Bölmələndirmə əsasən diskinizdə məntiqi sürücülər yaratmaqdan ibarətdir.\n"
"\n"
-"Xahiş edirik, istədiyiniz bütün seçimləri seçin.\n"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cape Verde"
-msgstr "Keyp Verde"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "whether this cpu has the Cyrix 6x86 Coma bug"
-msgstr "bu cpu'da Cyrix 6x86 Coma xətasının olması"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Loading printer configuration... Please wait"
-msgstr "Çapçı qurğuları yüklənir... Xahiş edirik, gözləyin"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "early pentiums were buggy and freezed when decoding the F00F bytecode"
-msgstr "əvvəlki pentiumlar xətalı idi və F00F bayt kodu açılarkən donurdu"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guam"
-msgstr "Quam"
+"Ümumiyyətlə bölmələndirmənin təsiri geri dönülməzdir.Ona görə də\n"
+"bu iş çox gərgin və yorucudur. Əgər özünüzə inanmırsınız isə bu\n"
+"sehirbaz sizə yardım edər. Başlamadan əvvəl xahiş edirik əl kitabçanıza\n"
+"baxın. Və bu iş üçün bir az vaxt ayırın.\n"
+"\n"
+"\n"
+"Sizə ən az 2 bölmə lazımdır. Biri sistemin özünü köçürməsi üçün\n"
+"Digəri isə uydurma yaddaş (ya da digər adı ilə Swap) üçün.\n"
+"\n"
+"\n"
+"Əgər diskiniz onsuz da bölünmüş isə (əvvəlki sistemden ya da\n"
+"başqa bölmələndirmə vasitələri ilə hazırlanmış) quruluşda\n"
+"sadəcə olaraq o yerləri yükləmək üçün seçin.\n"
+"\n"
+"\n"
+"Əgər disk bölünməmiş ise, yuxarıdakı sehirbazdan istifadə edə bilərsiniz.\n"
+"Sisteminizin quruluşundan asılı olaraq müxtəlif imkanlarınız var:\n"
+"\n"
+"* Bütün diski sil: Linuks Mandrake qurmaq üçün bütün diskinizin\n"
+" üzərindəki bölmələri silər. Burada diqqətli olun.\n"
+" Sildikləriniz əsla geri gəlməz.\n"
+"\n"
+"\n"
+"* Windows bölməsindəki sahəni istifadə et: Sisteminizdə\n"
+" Microsoft Windows qurulu isə ve bütün diski əhatə edir isə\n"
+" Linuks Mandrake üçün bir yer ayırmalısınız. Bunun üçün\n"
+" ya bütün diski silməlisiniz (\"Bütün diski sil\" bax ya da\n"
+" \" Usta modu\" tövsiyələri) ya da yenidən bölmələndirməlisiniz.Bu iş heç "
+"bir mə'lumat itkisi olmadan da edilə bilər.Bunun başqa adı\n"
+" eyni kompüterdə həm Linuks Mandrake həm də Windows qurulu olmasıdır.\n"
+"\n"
+"\n"
+"t Bu seçkiyə getmədən əvvəl bir şeyi başa düşməlisiniz ki, yenidən "
+"bölmələndirmə ilə sizin Windows bölməsi kiçiləcəkdir.\n"
+" Yə'ni Windows altında daha az disk sahəsinə malik olacaqsınız.\n"
+"\n"
+"\n"
+"* Usta modu: Əgər əllə diski bölmək istəsəniz, bu modu seçin. Diqqətli "
+"olun.\n"
+" Bu mod güçlüdür amma bir o qədər də təhlükəlidir. Diskinizdəki bütün "
+"bilgiyi asandlıqla itirə bilərsiniz.\n"
+" Təcrübəsiz isəniz bunu seçməyin."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:347
msgid ""
-"Please choose the port that your printer is connected to or enter a device "
-"name/file name in the input line"
+"There you are. Installation is now completed and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
+"\n"
+"The \"Advanced\" button (in Expert mode only) shows two more buttons to:\n"
+"\n"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
msgstr ""
-"Çapçınızın bağlı olduğu qapını seçin ya da giriş sətirində avadanlıq/fayl "
-"adı daxil edin"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Options/Test"
-msgstr "/Seçimlər/Sınaq"
-
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:378
+#, fuzzy
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."
+"Any partitions that have been newly defined must be formatted for use\n"
+"(formatting means creating a filesystem on it).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mandrake Linux operating system installation.\n"
+"\n"
+"Click on \"Advanced\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
msgstr ""
-"Bu səviyyə RAID'i diqqətli istifadənizi tövsiyə edirik. Sisteminiz daha "
-"asand\n"
-"işlədiləcək, ancaq xətalara qarşı da həssaiyyəti də artacaqdır. İnternetə \n"
-"bağlı isəniz bunu tövsiyə etmirik. Şifrə ilə girilir."
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Mounting partition %s"
-msgstr "%s bölməsi bağlanır"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "User name"
-msgstr "İstifadəçi adı"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Userdrake"
-msgstr "Userdrake"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Linux4Win'i qurmaq üçün hansı disk bölməsini istifadə edəcəksiniz?"
-
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "due to missing %s"
-msgstr "kdesu əksikdir"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Test pages"
-msgstr "Sınaq səhifələri"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Logical volume name "
-msgstr "Məntiqi həcm adı"
+"Yeni yaradılan bütün bölmələr şəkilləndirilməlidir\n"
+"(şəkilləndirmək yəni fayl sistemi yaratmaq - format).\n"
+"\n"
+"\n"
+"Bu arada var olan hazır bölmələri də üstündəkiləri silmək üçünyenidən "
+"şəkilləndirmək istəya\n"
+"bilərsiniz.\n"
+"Bunu istəyirsinizsə bu bölmələri də seçməlisiniz.\n"
+"\n"
+"\n"
+"Bunu ağlınızda tutun ki var olan bütün bölmələri şəkilləndirmək\n"
+"məcburi deyil.\n"
+"İşlətim sistəmini əmələ gətirən bölmələri (yəni\n"
+"\"/\", \"usr\" və ya \"var\"ı yenidən şəkilləndirmək üçün\n"
+"seçə bilərsiniz. Verilər olan \"home\"u məsələ toxunulmadan\n"
+"buraxa bilərsiniz.\n"
+"\n"
+"\n"
+"Diqqətli olun. şəkilləndirdiyiniz bölmələrdəki verilər\n"
+"geri gəlməz.\n"
+"\n"
+"\n"
+"Şəkilləndirməyə hazır isəniz \"Oldu\" düyməsini tıqlayın.\n"
+"\n"
+"\n"
+"Yeni Linuks Mandrake sisteminizi qurmaq üçün başqa bölmə seçmək\n"
+"istəyirsiniz isə \"Ləğv et\" düyməsinə basın."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:404
+#, fuzzy
msgid ""
-"List of data to restore:\n"
+"Your new Mandrake Linux operating system is currently being installed.\n"
+"Depending on the number of packages you will be installing and the speed of\n"
+"your computer, this operation could take from a few minutes to a\n"
+"significant amount of time.\n"
"\n"
+"Please be patient."
msgstr ""
-"Geri yüklənəcək mə'lumatların siyahısı:\n"
+"Təptəzə Linuks Mandrake sisteminizə qurulacaq. Bu da seçdiyiniz\n"
+"yükləmə böyüklüyünə və sistəminizin qabiliyyətinə görə\n"
+"bir neçə deqiqə alar.\n"
"\n"
+"\n"
+"Xahiş edirik, səbrli olun."
-#: ../../fs.pm:1
-#, c-format
-msgid "Checking %s"
-msgstr "%s yoxlanır"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "TCP/Socket Printer Options"
-msgstr "TCP/Socket Çapçı Qurğuları"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card mem (DMA)"
-msgstr "Kart mem (DMA)"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnecting from Internet "
-msgstr "İnternet bağlantısı kəsilir"
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "France"
-msgstr "Fransa"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "browse"
-msgstr "gəz"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking installed software..."
-msgstr "Qurulu proqramlar yoxlanır..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name missing!"
-msgstr "Uzaq çapçı adı əksikdir!"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you want to enable printing on printers in the local network?\n"
-msgstr "Yerli şəbəkədəki çapçılarda çap etmə icazəsi vermək istəyirsiniz?\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkey"
-msgstr "Türkiyə"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Alcatel speedtouch usb"
-msgstr "Alcatel speedtouch usb"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Number of buttons"
-msgstr "Düymə ədədi"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Vyetnam dili \"numeric row\" QWERTY"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Module"
-msgstr "Modul"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:412
msgid ""
-"In addition, queues not created with this program or \"foomatic-configure\" "
-"cannot be transferred."
+"At the time you are installing Mandrake Linux, it is likely that some\n"
+"packages have been updated since the initial release. Some bugs may have\n"
+"been fixed, and security issues solved. To allow you to benefit from these\n"
+"updates, you are now able to download them from the Internet. Choose\n"
+"\"Yes\" if you have a working Internet connection, or \"No\" if you prefer\n"
+"to install updated packages later.\n"
+"\n"
+"Choosing \"Yes\" displays a list of places from which updates can be\n"
+"retrieved. Choose the one nearest you. Then a package-selection tree\n"
+"appears: review the selection, and press \"Install\" to retrieve and\n"
+"install the selected package(s), or \"Cancel\" to abort."
msgstr ""
-"Əlavə olaraq, bur proqram ya da \"foomatic-configure\" vasitəsilə "
-"yaradılmayan növbələr transfer edilə bilməz."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware"
-msgstr "Avadanlıq"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ctrl and Alt keys simultaneously"
-msgstr "Eyni zamanda Ctrl və Alt düymələri"
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United States"
-msgstr "Birləşmiş Ştatlar"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "User umask"
-msgstr "İstifadəçi umask'ı"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Default OS?"
-msgstr "Əsas ƏS?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (German layout)"
-msgstr "İsveçcə (Alman sırası)"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure all heads independently"
-msgstr "Bütün başlıqları ayrı ayrı quraşdır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:425
msgid ""
-"Please choose the printer you want to set up. The configuration of the "
-"printer will work fully automatically. If your printer was not correctly "
-"detected or if you prefer a customized printer configuration, turn on "
-"\"Manual configuration\"."
+"Before continuing, you should read carefully the terms of the license. It\n"
+"covers the whole Mandrake Linux distribution, and if you do not agree with\n"
+"all the terms included in it, click on the \"Refuse\" button which will\n"
+"immediately terminate the installation. To continue with the installation,\n"
+"click on the \"Accept\" button."
msgstr ""
-"Xahiş edirik, quraşdırmaq istədiyiniz çapçını seçin. Çapçının quraşdırılması "
-"tamamilə avtomatik olacaq. Əgər çapçınız düzgün açkar edilməyibsə ya "
-"daxüsusiləşdirilmiş çap quraşdırması istəyirsinizsə, \"Əllə quraşdırma\"nı "
-"seçin."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NTP Server"
-msgstr "NTP Verici"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Sulogin(8) in single user level"
-msgstr "Tək istifadəçi səviyyəsində Sulogin(8)"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Load/Save on floppy"
-msgstr "Disketə qeyd et/disketdən yüklə"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "This theme does not yet have a bootsplash in %s !"
-msgstr "Bu örtük hələlik %s içində sıçrayan ekrana malik deyil !"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "nice"
-msgstr "ə'la"
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr "%d saniyə sonra çıxılacaq"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Modeminizin hansı serial qapıya bağlı olduğunu seçiniz"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Property"
-msgstr "Xassə"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript"
-msgstr "Ghostscript"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN Configuration"
-msgstr "Yerli Şəbəkə Quraşdırılması"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ghana"
-msgstr "Qana"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Path or Module required"
-msgstr "Cığır ya da Modul məcburidir"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Advanced Options"
-msgstr "Ətraflı Seçimlər"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Configuration"
-msgstr "Qurğuları Göstər"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Coma bug"
-msgstr "Coma xətası"
+#: ../../help.pm_.c:432
+msgid ""
+"At this point, it is time to choose the security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"ease of use. Refer to the \"msec\" chapter of the ``Reference Manual'' to\n"
+"get more information about the meaning of these levels.\n"
+"\n"
+"If you do not know what to choose, keep the default option."
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:442
+#, fuzzy
msgid ""
"At this point, you need to choose which partition(s) will be used for the\n"
"installation of your Mandrake Linux system. If partitions have already been\n"
-"defined, either from a previous installation of GNU/Linux or by another\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
"partitions must be defined.\n"
"\n"
@@ -5209,2114 +3286,1302 @@ msgid ""
"\n"
"To partition the selected hard drive, you can use these options:\n"
"\n"
-" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
"\n"
-" * \"%s\": this option enables you to automatically create ext3 and swap\n"
-"partitions in the free space of your hard drive\n"
+" * \"Auto allocate\": this option enables to automatically create ext3 and\n"
+"swap partitions on your hard drive's free space;\n"
"\n"
-"\"%s\": gives access to additional features:\n"
+"\"More\": gives access to additional features:\n"
"\n"
-" * \"%s\": saves the partition table to a floppy. Useful for later\n"
-"partition-table recovery if necessary. It is strongly recommended that you\n"
-"perform this step.\n"
+" * \"Save partition table\": saves the partition table to a floppy. Useful\n"
+"for later partition-table recovery, if necessary. It is strongly\n"
+"recommended to perform this step;\n"
"\n"
-" * \"%s\": allows you to restore a previously saved partition table from a\n"
-"floppy disk.\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from a floppy disk;\n"
"\n"
-" * \"%s\": if your partition table is damaged, you can try to recover it\n"
-"using this option. Please be careful and remember that it doesn't always\n"
-"work.\n"
+" * \"Rescue partition table\": if your partition table is damaged, you can\n"
+"try to recover it using this option. Please be careful and remember that it\n"
+"can fail;\n"
"\n"
-" * \"%s\": discards all changes and reloads the partition table that was\n"
-"originally on the hard drive.\n"
+" * \"Reload partition table\": discards all changes and loads your initial\n"
+"partition table;\n"
"\n"
-" * \"%s\": unchecking this option will force users to manually mount and\n"
-"unmount removable media such as floppies and CD-ROMs.\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
"\n"
-" * \"%s\": use this option if you wish to use a wizard to partition your\n"
-"hard drive. This is recommended if you do not have a good understanding of\n"
-"partitioning.\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard drive. This is recommended if you do not have a good knowledge of\n"
+"partitioning;\n"
"\n"
-" * \"%s\": use this option to cancel your changes.\n"
+" * \"Undo\": use this option to cancel your changes;\n"
"\n"
-" * \"%s\": allows additional actions on partitions (type, options, format)\n"
-"and gives more information about the hard drive.\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
"\n"
-" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+" * \"Done\": when you are finished partitioning your hard drive, this will\n"
"save your changes back to disk.\n"
"\n"
-"When defining the size of a partition, you can finely set the partition\n"
-"size by using the Arrow keys of your keyboard.\n"
-"\n"
"Note: you can reach any option using the keyboard. Navigate through the\n"
-"partitions using [Tab] and the [Up/Down] arrows.\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
"\n"
"When a partition is selected, you can use:\n"
"\n"
-" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
"\n"
-" * Ctrl-d to delete a partition\n"
+" * Ctrl-d to delete a partition;\n"
"\n"
-" * Ctrl-m to set the mount point\n"
+" * Ctrl-m to set the mount point.\n"
"\n"
-"To get information about the different file system types available, please\n"
+"To get information about the different filesystem types available, please\n"
"read the ext2FS chapter from the ``Reference Manual''.\n"
"\n"
"If you are installing on a PPC machine, you will want to create a small HFS\n"
-"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"``bootstrap'' partition of at least 1MB, which will be used by the yaboot\n"
"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
"may find it a useful place to store a spare kernel and ramdisk images for\n"
"emergency boot situations."
msgstr ""
-"Bu nöqtədə siz Linuks Mandrake yüklənəcək bölmə(lər)i seçməlisiniz. Əgər\n"
-"bölmələr əvvəldən mövcuddursa (sistemdə əvvəllər qurulu olan GNU/Linuks \n"
-"bölmələri və ya başqa bölmələndirmə vasitələri ilə hazırladığınız "
-"bölmələr),\n"
-"onları istifadə edə bilərsiniz, əks halda onları müəyyən etməlisiniz.\n"
+"Bu nöqtədə siz Linuks Mandrake yükləmək üçün bölmələri seçməlisiniz. Əgər "
+"əvvəldən bölmələr var isə (sistemdə əvvəllər qurulu olan GNU/Linuks "
+"bölmələri və ya başqa bölmələndirmə vasitələri ilə hazırladığınız bölmələr), "
+"onları seçin və istifadə edin.\n"
+"Yoxsa onları bildirməlisiniz.\n"
"\n"
-"Bölmələri yaratmaq üçün əvvəlcə diski seçməlisiniz. Diski seçmək üçün \n"
-"birinci IDE sürücüsü üçün ``hda''nı, ikincisi üçün ``hdb''ni, birinci SCSI \n"
-"sürücüsü üçün isə ``sda'' v.s. üstünə tıqlamalısınız.\n"
"\n"
-"Seçdiyiniz sürücünü bölmələndirmək üçün aşağıdakı seçimləri etməyə "
-"qadirsiniz:\n"
+"Bölmələri yaratmaq üçün əvvəlci diski seçməlisiniz.\n"
+"Diski seçmək üçün birinci IDE sürücüsü üçün \"hda\" nı, ikinciyi seçmək üçün "
+"\"hdb\"ni, birinci SCSİ sürücüsü üçün ise \"sda\" vs tıqlamalısınız.\n"
"\n"
-" * \"%s\": Bu seçim seçili sabit disk üstündəki bütün bölmələri silər\n"
"\n"
-" * \"%s\": Bu seçim sizə avtomatik olaraq sabit diskinizin boş sahəsində\n"
-"ext3 və dəyiş-toqquş sahəsi yaratma imkanı verəcək\n"
+"Seçdiyiniz sürücüyə aşağıdakıları etməyə qadirsiniz:\n"
"\n"
-"\"%s\": Əlavə xüsusiyyətlərə yetişmə imkanı verir\n"
+" *Hamısını təmizlə: seçili sürücüdə bütün bölmələri silər.\n"
"\n"
-" * \"%s\": Bölmə cədvəlini disketə qeyd edər. Bu disket daha sonra əmələ "
-"gələ\n"
-"biləcək disk bölmə cədvəli xətalarını bərpa etmək üçün işlədilir. Bu addımı "
-"həyata keçirməyi\n"
-"sizə şiddətlə məsləhət edirik.\n"
"\n"
-" * \"%s\": Daha əvvəl disketə qeyd edilən bölmə cədvəlini bərpa etmək "
-"(yenidən\n"
-"yükləmək) üçün bu seçimi işlədin.\n"
+" *Avtomatik: Sürücünüzdəki boş sahədə Ext2 və Swapbölmələrini avtomatik\n"
+"yaradar.\n"
"\n"
-" * \"%s\": Əgər bölmə cədvəliniz pozulubsa, onu bu seçimlə düzəldə\n"
-"bilərsiniz. Diqqətli olun və unutmayın ki bu həmişə işləməyə bilər.\n"
"\n"
-" * \"%s\": Bütün dəyişiklikləri silərək sabit diskin əvvəlki bölmə "
-"cədvəlini\n"
-"geri yükləyəcək.\n"
+" *Bölmə cədvəlini qurtar: Zədələnmiş bölmə cədvəlinibərpa edər. Xahiş "
+"edirik\n"
+" diqqətli olun, çünkü bu da iflas edə bilər.\n"
"\n"
-" * \"%s\": Bu seçimin işarəsini silərsəniz, istifadəçilər CD-ROM'lar və "
-"disketlər\n"
-"kimi çıxardıla bilən mediyaları əl ilə bağlamaq (mount) məcburiyyətində "
-"qalacaq.\n"
"\n"
-" * \"%s\": Əgər diskinizi bölmələmək üçün bir sehirbaza ehtiyac hiss "
-"edirsinizsə,\n"
-"bu seçimi seçin. Bu yol, bölmələmədən yaxşı başı çıxmayanlar üçündür.\n"
+" *Gəri dön: İstəmədiyiniz seçkilərinizdən geri döndərər.\n"
"\n"
-" * \"%s\": Dəyişikliklərinizi rədd etmək üçün bu seçimi işlədin.\n"
"\n"
-" * \"%s\": Sabit disk haqqında ətraflı mə'lumat verir və onun üstündə əlavə\n"
-"əməliyyatlar (növ, seçimlər, şəkilləndirmə) icra etmə icazəsi verir.\n"
+" *Yenidən yüklə: Bütün dəyişikliklərinizdən geri dönərbaşdakı bölmə "
+"cədvəlinə gələr.\n"
"\n"
-" * \"%s\": Sabit diskinizi bölmələyib bitirdiyiniz vaxt bu seçim "
-"dəyişiklikləri\n"
-"sabit diskinizə qeyd edəcək.\n"
"\n"
-"Bölmənin böyüklüyünü müəyyən edərkən klaviaturadakı istiqamət düymələri\n"
-"ilə seçiminizi sazlaya bilərsiniz.\n"
+" *Sehirbaz: Bölmələndirməyi bir sehirbaz edər. Təcrübəsizisəniz bunu "
+"seçin.\n"
"\n"
-"Qeyd: bütün seçimlərə klaviatura ilə yetişə bilərsiniz. Bölmələr arasında "
-"[Tab]\n"
-"və [Yuxarı/Aşağı] düymələri ilə hərəkət edə bilərsiniz.\n"
"\n"
-"Bir bölmə seçili ikən bu qısa yolları istifadə edə bilərsiniz:\n"
+" *Floppy-dən bərpa et: Bölmə cədvəlini əvvəllər flopy-yə qeydetdiniz isə, "
+"bölmə cədvəlini bərpa edin.\n"
"\n"
-" * Ctrl-c -> yeni bölmə yaratmaq üçün (əgər boş bölmə seçilidirsə)\n"
"\n"
-" * Ctrl-d -> bölməni silmək üçün\n"
+" *Floppy-yə qeyd et: Daha sonradan bərpa etmek üçünbilgiləri floppy-yə qeyd "
+"edin.\n"
+" Bu seçki şiddətlə tövsiyə edilir.\n"
"\n"
-" * Ctrl-m -> bağlama nöqtəsi seçmək üçün\n"
"\n"
-"Fərqli fayl sistem növləri haqqında daha ətraflı mə'lumat üçün, xahiş "
-"edirik,\n"
-"``Reference Manual'' kitabının ext2FS bölümünü oxuyun.\n"
+" *Oldu: Bölmələndirmə bitdiyində, bunu seçərəkdəyişikliklərinizi qeyd "
+"edin.\n"
"\n"
-"Əgər PPC kompüterdə qurulum aparırsınızsa, ən az 1 MBlıq balaca bir HFS \n"
-"``bootstrap'' bölməsini yaboot açılış yükləyicisi üçün seçmək "
-"istəyəcəksiniz.\n"
-"Əgər daha çox yeriniz varsa, məsələn 50 MB, onda bütün kernel və ramdisk \n"
-"açılış əkslərinizi təcili hallar üçün burada saxlaya bilərsiniz."
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Graphic Card\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"Xəbəriniz olsun, istənilən seçkiyə Tab ve Aşağı/Yuxarı oxlarını da işlədərək "
+"klaviaturadan idarə edə bilərsiniz.\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
-msgstr ""
-"Səs Kartı\n"
"\n"
-" Qurulum proqramı sisteminizə bağlı olan səs kartını əsasən avtomatik "
-"olaraq\n"
-"aşkar edəcəkvə quraşdıracaq. Əgər səhv tapılsa həqiqətən sisteminizə bağlı "
-"olan\n"
-"səs kartını siyahıdan seçə bilərsiniz. \n"
-" Əgər kartınız üçün həm 3D dəstəyi olan həm də olmayan vericilər "
-"mövcudsa,\n"
-"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş ediləcək."
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error installing packages:"
-msgstr "Paketlər qurulurkən bir xəta oldu:"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Lexmark inkjet configuration"
-msgstr "Lexmark inkjet qurğuları"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Undo"
-msgstr "Geri al"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Save partition table"
-msgstr "Bölmə cədvəlini qeyd et"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Finnish"
-msgstr "Fin dili"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Macedonia"
-msgstr "Makedoniya"
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The per-user sharing uses the group \"fileshare\". \n"
-"You can use userdrake to add a user to this group."
-msgstr ""
-"İstifadəçi başına bölüşmə \"fileshare\" qrupunu istifadə edir. \n"
-"Bu qrupa istifadəçiləri əlavə etmək üçün userdrake'dən istifadə edə "
-"bilərsiniz. "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovenian"
-msgstr "Slovencə"
+"Bölmə seçildiyi zaman bunları işlədə bilərsiniz:\n"
+"\n"
+" *Ctrl-c yeni bölmə yaratmaq üçün (boş bölmə seçili olduğu zaman)\n"
+"\n"
+" *Ctrl-d bölməni ləğv etmək üçün\n"
+"\n"
+" *Ctrl-m bağlama nöqtəsini göstərmək üçün\n"
+"\n"
+"\n"
+"\n"
+"Əgər PPC kompüterdə qurulum aparırsınızsa, ən az 1 MBlıq balaca bir HFC "
+"'bootstrap' bölməsini yaboot açılış yükləyicisi üçün seçmək istəyəcəksiniz.\n"
+"Əgər daha çox yeriniz varsa ; məsələn 50 MB, onda bütün kernel və ramdisk "
+"əksini təcili açılış halları üçün saxlaya bilərsiniz."
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:513
+#, fuzzy
msgid ""
-"Authorize:\n"
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mandrake Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"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"
-"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
-"set to \"ALL\",\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
"\n"
-"- only local ones if set to \"LOCAL\"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
"\n"
-"- none if set to \"NONE\".\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
"\n"
-"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
-"(5))."
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
msgstr ""
-"Səlahiyyətləndirmə:\n"
+"Sürücünüzdə bir və ya daha çox Windows bölməsi tapıldı.\n"
+"Xahiş edirik Linuks Mandrakeni qurmaq üçün onlardan birini "
+"yenidənölçüləndirmək üzərə seçin.\n"
"\n"
-"- əgər \"ALL\" seçilidirsə, tcp_wrapper'lər tərəfindən idarə edilən bütün "
-"xidmətlər (baxın hosts.deny(5) man səhifəsi)\n"
"\n"
-"- əgər \"LOCAL\" seçilidirsə,yalnız yerlilər\n"
+"Xəbəriniz olsun, her bölmə bu cür sıralanıb; \"Linuks adı\",\"Windows\n"
+"adı\"\"Həcm\".\n"
"\n"
-"- əgər \"NONE\" seçilidirsə, heç biri.\n"
+"\"Linuks adı\" bu cür kodlanıb: \"sürücü növü\", \"sürücü nömrəsi\",\"bölmə "
+"nömrəsi\" (məsələn, \"hda\").\n"
"\n"
-"Xidmətləri səlahiyyətləndirmək üçün, /etc/hosts.allow faylını işlədin (baxın "
-"hosts.allow(5))."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Libya"
-msgstr "Liviya"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Skriptlə qurulur, proqram tə'minatı qurulur, xidmətlər başladılır..."
+"\n"
+"\"Sürücü növü\" sürücünüz IDE sürücü isə \"hd\"dirSCSI sürücü isə\n"
+"\"sd\"dir.\n"
+"\n"
+"\n"
+"\"Sürücü nömrəsi\" həmişə \"hd\" və ya \"sd\"dən sonrakı rəqəmdir.IDE "
+"sürücülər üçün:\n"
+"\n"
+"*\"a\" yəni \"birinci IDE idarəcisində ali sürücü\",\n"
+"\n"
+"*\"b\" yəni \"birinci IDE idarəcisində kölə sürücü\",\n"
+"\n"
+"*\"c\" yəni \"ikinci IDE idarəcisində ali sürücü\",\n"
+"\n"
+"*\"d\" yəni \"ikinci IDE idarəcisində kölə sürücü\".\n"
+"\n"
+"\n"
+"SCSI sürücülərində \"a\" nın mənası \"birinci sürücü\",\n"
+"\"b\"nin mənası \"ikinci sürücü\"dür vs..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on parallel port #%s"
-msgstr "%s nömrəli paralel qapıdakı çapçı"
+#: ../../help.pm_.c:544
+msgid "Please be patient. This operation can take several minutes."
+msgstr "Səbrli olun. Bu əməliyyat bir neçə deqiqə sürə bilər."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:547
+#, fuzzy
msgid ""
+"DrakX now needs to know if you want to perform a default (\"Recommended\")\n"
+"installation or if you want to have greater control (\"Expert\") over your\n"
+"installation. You can also choose to do a new installation or upgrade your\n"
+"existing Mandrake Linux system:\n"
"\n"
-"- Burn to CD"
+" * \"Install\": completely wipes out the old system. However, depending on\n"
+"what is currently installed on your machine, you may be able to keep some\n"
+"old partitions (Linux or otherwise) unchanged;\n"
+"\n"
+" * \"Upgrade\": this installation class allows to simply update the\n"
+"packages currently installed on your Mandrake Linux system. It keeps your\n"
+"hard drives' current partitions as well as user configurations. All other\n"
+"configuration steps remain available, similar to a normal installation;\n"
+"\n"
+" * \"Upgrade Packages Only\": this new installation class allows you to\n"
+"upgrade an existing Mandrake Linux system while keeping all system\n"
+"configurations unchanged. Adding new packages to the current installation\n"
+"is also possible.\n"
+"\n"
+"Upgrades should work fine on Mandrake Linux systems using version \"8.1\"\n"
+"or later.\n"
+"\n"
+"Depending on your GNU/Linux knowledge, select one of the following choices:\n"
+"\n"
+" * Recommended: choose this if you have never installed a GNU/Linux\n"
+"operating system. The installation will be very easy and you will only be\n"
+"asked a few questions;\n"
+"\n"
+" * Expert: if you have a good GNU/Linux understanding, you may wish to\n"
+"perform a highly customized installation. Some of the decisions you will\n"
+"have to make may be difficult if you do not have good GNU/Linux knowledge,\n"
+"so it is not recommended that those without a fair amount of experience\n"
+"select this installation class."
msgstr ""
+"Xahiş edirik Linuks Mandrakenin daha əvvəlki buraxılışları qurulu deyilsə və "
+"ya müxtəlif əməliyyat sistemlərindən istifadə etmək istəyirsinizsə \"Yüklə\" "
+"seçin.\n"
"\n"
-"- CD'yə yaz"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Table"
-msgstr "Cədvəl"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "%s'i necə şəkilləndirəcəyimi bilmirəm (Növ: %s)"
-
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Model"
-msgstr "Model"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "USB printer #%s"
-msgstr "USB çapçı #%s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Stop Server"
-msgstr "Vericini Dayandır"
+"\n"
+"Xahiş edirik qurulu olan Linuks Mandrakenin əvvəlki buraxılışını güncəlləmək "
+"istəyirsinizsə \"Güncəllə\" seçin.\n"
+"\n"
+"\n"
+"Sizin GNU/Linuks biliyinizdən asılı olaraq yükləmək və ya güncəlləmək üçün "
+"Linuks Mandrakenin aşağıdakı səviyyələrini seçə bilərsiniz:\n"
+"\n"
+"* Tövsiyə edilən: Əgər əvvəlcə heç GNU/Linuks ilə tanış olmadınız isə seçin. "
+"Yükləmə çox asand olacaq və çox az sual soruşulacaq.\n"
+"\n"
+"\n"
+"* Xüsusi: Əgə əvvəlcə GNU/Linuksa bir az aşina isəniz, seçin. Onda siz "
+"istədiyiniz sistem növünü (Masa üstü, Verici, Təcrübi) seçə biləcəksiniz.\n"
+" Əlbətdə sizə \"Tövsiyə edilən\" seçkidən daha çox sual soruşulacaq.\n"
+" Ona görə də GNU/Linuksa bir az aşina olmalısınız.\n"
+"\n"
+"\n"
+"* Usta: Əgər yaxşı bir GNU/Linuks biliyinə sahibsəniz, bu sinifi seçin.\n"
+" \"Xüsusi\" sinifindəki kimi işlədəcəyiniz sistemi (Masa üstü, Verici, "
+"Təcrübi)\n"
+" seçə biləcəksiniz. Amma sizi çox çətin suallar gözləyir. Bəzən bu sualların "
+"içindən\n"
+" çıxa bilmək çox zəhmətli olur. Ona görə də nə etdiyinizi bilirsəniz, bu "
+"sinifi seçin."
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../help.pm_.c:582
msgid ""
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen). However, you might not have a keyboard that\n"
+"corresponds exactly to your language: for example, if you are an English\n"
+"speaking Swiss person, you may still want your keyboard to be a Swiss\n"
+"keyboard. Or if you speak English but are located in Quebec, you may find\n"
+"yourself in the same situation. In both cases, you will have to go back to\n"
+"this installation step and select an appropriate keyboard from the list.\n"
"\n"
-"Select the theme for\n"
-"lilo and bootsplash,\n"
-"you can choose\n"
-"them separately"
-msgstr ""
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.\n"
"\n"
-"lilo və bootsplash üçün\n"
-"bir örtük seçin, onları\n"
-"ayrı ayrı da seçə\n"
-"bilərsiniz"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Modem"
-msgstr "Modem"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tuvalu"
-msgstr "Tuvalu"
-
-#: ../../help.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Use auto detection"
-msgstr "Avtomatik təsbit işlət"
+"If you choose a keyboard layout based on a non-latin alphabet, you will be\n"
+"asked in the next dialog to choose the key binding that will switch the\n"
+"keyboard layout between the latin and non-latin layouts."
+msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:598
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."
+"The first step is to choose your preferred language.\n"
+"\n"
+"Please choose your preferred language for installation and system usage.\n"
+"\n"
+"Clicking on the \"Advanced\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you host users from Spain on your machine,\n"
+"select English as the main language in the tree view and in the Advanced\n"
+"section, click on the box corresponding to \"Spanish|Spain\".\n"
+"\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.\n"
+"\n"
+"To switch from one language to the other, you can launch the\n"
+"\"/usr/sbin/localedrake\" command as \"root\" to change the whole system\n"
+"language, or as a simple user to only change that user's default language."
msgstr ""
-"GPM, Midnight Commander kimi mətn əsaslı tə'minatlara siçan dəstəyi əlavə "
-"edər.\n"
-"Ayrıca konsolda siçanla kəsmə və yapışdırma əməliyyatlarına da imkan verər.\n"
-"Konsolda pop-up menyu dəstəyi verər."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Started on boot"
-msgstr "Açılışda başladılır"
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
+#: ../../help.pm_.c:617
msgid ""
-"Join the MandrakeSoft support teams and the Linux Community online to share "
-"your knowledge and help others by becoming a recognized Expert on the online "
-"technical support website:"
+"DrakX generally detects the number of buttons your mouse possesses. If not,\n"
+"it assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
+"\n"
+"If you wish to specify a different type of mouse, select the appropriate\n"
+"type from the provided list.\n"
+"\n"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.\n"
+"\n"
+"Sometimes, wheel mouses are not automatically detected. You will need to\n"
+"manually select it in the list. Be sure to select the one corresponding to\n"
+"the correct port it is attached to. After you have pressed the \"OK\"\n"
+"button, a mouse image will be displayed. You then need to move the wheel of\n"
+"your mouse to activate it correctly. Then test that all buttons and\n"
+"movements are correct."
msgstr ""
-"Online texnik dəstək veb saytında tanınan Mütəxəssis olaraq MandrakeSoft "
-"dəstək komandalarına və Linuks Online Cəmiyyətinə biliklərinizi bölüşmək və "
-"başqalarına yardım etmək üçün qoşulun:"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "No password aging for"
-msgstr "Bunlar üçün şifrə vaxtının keçməsi olmasın"
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../help.pm_.c:638
+#, fuzzy
msgid ""
-"The following options can be set to customize your\n"
-"system security. If you need an explanation, look at the help tooltip.\n"
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
msgstr ""
-"Sisteminizin təhükəsizliyini müəyyən etmək üçün aşağıdakı seçimlər\n"
-"mövcuddur. İzahata ehtiyacınız varsa, yardım bölməsinə baxın.\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatically find available printers on remote machines"
-msgstr "Uzaq kompüterlərdəki mövcud çapçıları avtomatik tap"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "East Timor"
-msgstr "Şərqi Timor"
+"Xahiş edirik doğru qapını seçin. Məsələn, MS Windowsdakı COM1'in qarşılığı\n"
+"Linuksda ttyS0'dır."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Tape Device"
-msgstr "Kaset avadanlığı üstündə"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:642
msgid ""
+"This is the most crucial decision in regards with the security of your\n"
+"GNU/Linux system: you have to enter the \"root\" password. \"Root\" is the\n"
+"system administrator and is the only one authorized to make updates, add\n"
+"users, change the overall system configuration, and so on. In short,\n"
+"\"root\" can do everything! That is why you must choose a password that is\n"
+"difficult to guess -- DrakX will tell you if it is too easy. As you can\n"
+"see, you can choose not to enter a password, but we strongly advise you\n"
+"against this if only for one reason: do not think that because you booted\n"
+"GNU/Linux that your other operating systems are safe from mistakes. Since\n"
+"\"root\" can overcome all limitations and unintentionally erase all data on\n"
+"partitions by carelessly accessing the partitions themselves, it is\n"
+"important for it to be difficult to become \"root\".\n"
"\n"
-"- Save to Tape on device: %s"
-msgstr ""
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it too\n"
+"easy to compromise a system.\n"
"\n"
-"- %s avadanlığı üstündə kasetə qeyd et"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Login name"
-msgstr "Giriş adı"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report unowned files"
-msgstr "Yiyələnməmiş faylları raport et"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Del profile..."
-msgstr "Profili sil..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing Foomatic..."
-msgstr "Foomatic Qurulur..."
-
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Lütfen çıxın və Ctrl-Alt-BackSpace düymələrinə basın"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected"
-msgstr "tapıldı"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "The network needs to be restarted. Do you want to restart it ?"
-msgstr "Şəbəkə yenidən başladılmalıdır. Yenidən başlatmaq istəyirsiniz?"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package: "
-msgstr "Paket:"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't write /etc/sysconfig/bootsplash."
-msgstr "/etc/sysconfig/bootsplash yazıla bilmir."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SECURITY WARNING!"
-msgstr "TƏHLÜKƏSİZLİK XƏBƏRDARLIĞI!"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "StarOffice"
-msgstr "StarOffice"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "No, I don't want autologin"
-msgstr "Xeyir, Avtomatik giriş istəmirəm"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Windows Migration tool"
-msgstr "Windows'dan Keçiş vasitəsi"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "All languages"
-msgstr "Bütün dillər"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removing %s"
-msgstr "%s silinir"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s not found...\n"
-msgstr "%s tapılaa bilmədi...\n"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Testing your connection..."
-msgstr "Bağlantınız sınanır..."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cache size"
-msgstr "Ön yaddaş böyüklüyü"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"Passwords are now enabled, but use as a networked computer is still not "
-"recommended."
+"However, please do not make the password too long or complicated because\n"
+"you must be able to remember it without too much effort.\n"
+"\n"
+"The password will not be displayed on screen as you type it in. Hence, you\n"
+"will have to type the password twice to reduce the chance of a typing\n"
+"error. If you do happen to make the same typing error twice, this\n"
+"``incorrect'' password will have to be used the first time you connect.\n"
+"\n"
+"In Expert mode, you will be asked if you will be connecting to an\n"
+"authentication server, like NIS or LDAP.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one as \"authentication\". If you have no\n"
+"clue, ask your network administrator.\n"
+"\n"
+"If your computer is not connected to any administrated network, you will\n"
+"want to choose \"Local files\" for authentication."
msgstr ""
-"Şifrələr fəallaşdırıldı, yenə də bir şəbəkə üstündə istifadə edilməməsi "
-"tövsiyə edilir."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start sector: "
-msgstr "Başlanğıç sektoru: "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Brazzaville)"
-msgstr "Congo (Brazzaville)"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Read"
-msgstr "Oxu"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "The package %s needs to be installed. Do you want to install it?"
-msgstr "%s paketi qurulmalıdır. Qurmaq istəyirsiniz?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Seychelles"
-msgstr "Seyşel"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:678
msgid ""
-"Printerdrake has compared the model name resulting from the printer auto-"
-"detection with the models listed in its printer database to find the best "
-"match. This choice can be wrong, especially when your printer is not listed "
-"at all in the database. So check whether the choice is correct and click "
-"\"The model is correct\" if so and if not, click \"Select model manually\" "
-"so that you can choose your printer model manually on the next screen.\n"
+"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
+"automated. In fact, DrakX analyzes the disk boot sector and acts\n"
+"accordingly, depending on what it finds there:\n"
"\n"
-"For your printer Printerdrake has found:\n"
+" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
+"boot sector. Hence, you will be able to load either GNU/Linux or another\n"
+"OS;\n"
"\n"
-"%s"
-msgstr ""
-"Printerdrake, çapçı avtomatik aşkarından əldə edilən çapçı adını onun "
-"mə'lumat bazasında yer alan çapçıların siyahısı ilə ən uyğununu tapmaq üçün "
-"müqayisə etdi. Bu seçim bə'zən səhv ola bilər, misal üçün, çapçınızın adı "
-"mə'lumat bazasında heç yer almırsa. Ona görədə seçimin düz olub olmadığına "
-"baxın və əgər düzgündürsə \"Model düzgündür\" düyməsini, deyilsə \"Modeli "
-"əllə seç\" düyməsinə basaraq növbəti ekranda çapçınızı seçin.\n"
+" * if a grub or LILO boot sector is found, it will replace it with a new\n"
+"one.\n"
"\n"
-"Çapçınız üçün Printerdrake bunu tapdı:\n"
+"if in doubt, DrakX will display a dialog with various options.\n"
"\n"
-"%s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Bad password on %s"
-msgstr "%s üstündə xətalı şifrə"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
+" * \"Bootloader to use\": you have three choices:\n"
"\n"
-"There is one unknown printer directly connected to your system"
-msgstr ""
+" * \"GRUB\": if you prefer grub (text menu);\n"
"\n"
-"Sisteminizə birbaşa bağlı olan bir namə'lum çapçı var"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Control key"
-msgstr "Sağ Control düyməsi"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid ""
-"Insert a FAT formatted floppy in drive %s with %s in root directory and "
-"press %s"
+" * \"LILO with graphical menu\": if you prefer LILO with its graphical\n"
+"interface;\n"
+"\n"
+" * \"LILO with text menu\": if you prefer LILO with its text menu\n"
+"interface.\n"
+"\n"
+" * \"Boot device\": in most cases, you will not change the default\n"
+"(\"/dev/hda\"), but if you prefer, the bootloader can be installed on the\n"
+"second hard drive (\"/dev/hdb\"), or even on a floppy disk (\"/dev/fd0\");\n"
+"\n"
+" * \"Delay before booting the default image\": when rebooting the computer,\n"
+"this is the delay granted to the user to choose -- in the bootloader menu,\n"
+"another boot entry than the default one.\n"
+"\n"
+"!! Beware that if you choose not to install a bootloader (by selecting\n"
+"\"Cancel\" here), you must ensure that you have a way to boot your Mandrake\n"
+"Linux system! Also, be sure you know what you do before changing any of the\n"
+"options. !!\n"
+"\n"
+"Clicking the \"Advanced\" button in this dialog will offer many advanced\n"
+"options, which are reserved for the expert user."
msgstr ""
-"Kök cərgəsində %2$s olan FAT ilə şəkilləndirilmiş %1$s disketini taxın və %3"
-"$s düyməsinə basın"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Zambia"
-msgstr "Zambiya"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security Administrator (login or email)"
-msgstr "Təhlükəsizlik İdarəçisi (giriş ya da ePoçt)"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Sorry, we support only 2.4 kernels."
-msgstr "Bağışlayın, biz ancaq 2.4 çəyirdəklərini dəstəkləyirik."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwerty)"
-msgstr "Rumın (qwerty)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Under Devel ... please wait."
-msgstr "İnkişafdadır ... xahiş edirik, gözləyin."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Egypt"
-msgstr "Misir"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Czech Republic"
-msgstr "Çex Respublikası"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Sound card"
-msgstr "Səs kartı"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Import Fonts"
-msgstr "Yazı növlərini idxal et"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../help.pm_.c:718
+#, fuzzy
msgid ""
-"You have one big MicroSoft Windows partition.\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
+"After you have configured the general bootloader parameters, the list of\n"
+"boot options which will be available at boot time will be displayed.\n"
+"\n"
+"If there is another operating system installed on your machine, it will\n"
+"automatically be added to the boot menu. Here, you can choose to fine-tune\n"
+"the existing options. Select an entry and click \"Modify\" to modify or\n"
+"remove it. \"Add\" creates a new entry. and \"Done\" goes on to the next\n"
+"installation step.\n"
+"\n"
+"You may also not want to give access to these other operating systems to\n"
+"anyone. In which case, you can delete the corresponding entries. But then,\n"
+"you will need a boot disk in order to boot those other operating systems!"
msgstr ""
-"Tək bir böyük MicroSoft Windows disk bölməniz var.\n"
-"Əvvəlcə bu disk bölməsinin böyüklüyünü dəyişdirməyi\n"
-"məsləhət edirik. (Bölməni seçib, \"Böyüklüyü\n"
-"Dəyişdir\" düyməsinə tıqlayın)"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Temporary Files"
-msgstr "Müvəqqəti Faylları Gizlət"
+"LILO (Linuks Yükləyici) və Grub açılış sistem yükləyiciləridir: sistemi "
+"Linuks\n"
+"ya da kompüterinizdə olan başqa bir əməliyyatiyle aça bilərlər.\n"
+"Əsasən bu digər əməliyyat sistemləri doğru bir şəkilde təsbit edilib "
+"açılışa\n"
+"qurula bilərlər. Əgər bir problem olarsa, buradan əllə əlavə edilə "
+"bilərlər.\n"
+"Parametrlər mövzusunda diqqətli olun."
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../help.pm_.c:732
msgid ""
-"Congratulations, the network and Internet configuration is finished.\n"
+"You must indicate where you wish to place the information required to boot\n"
+"GNU/Linux.\n"
"\n"
+"Unless you know exactly what you are doing, choose \"First sector of drive\n"
+"(MBR)\"."
msgstr ""
-"Təbrik edirik, internet və şəbəkə quraşdırılması bitdi.\n"
+"Linuksu açmaq üçün lazımi bilgilərin harada saxlanılacağına qərar verin.\n"
"\n"
+"Nə etdiyinizi bilmirsinizsə, \"Diskin ilk sektoru (MBR)\" seçin."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Change partition type"
-msgstr "Bölmə növünü Dəyişdir"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:739
msgid ""
-"Resolution\n"
+"Here, we select a printing system for your computer. Other OSes may offer\n"
+"you one, but Mandrake Linux offers two.\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor."
-msgstr ""
-"Həlledilirlik\n"
+" * \"pdq\" -- which means ``print, don't queue'', is the choice if you have\n"
+"a direct connection to your printer and you want to be able to panic out of\n"
+"printer jams, and you do not have networked printers. It will handle only\n"
+"very simple network cases and is somewhat slow for networks. Pick \"pdq\"\n"
+"if this is your first voyage to GNU/Linux. You can change your choices\n"
+"after installation by running PrinterDrake from the Mandrake Control Center\n"
+"and clicking the expert button.\n"
"\n"
-" Burada, avadanlığınız üçün mövcud olan həlledilirlik və rəng "
-"dərinliklərini\n"
-"seçə bilərsiniz. Ehtiyacınıza ən yaxşı cavab verəni seçin (qurulumdan sonra\n"
-"bunu dəyişdirə biləcəksiniz). Seçilən qurğunun bir nümunəsi\n"
-"monitorda göstərilir."
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Network Options"
-msgstr "Şəbəkə Seçimləri"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable msec hourly security check"
-msgstr "msec saat başı təhlükəsizlik yoxlamasını fəallaşdır"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Display theme\n"
-"under console"
+" * \"CUPS\" -- ``Common Unix Printing System'', is excellent at printing to\n"
+"your local printer and also halfway-around the planet. It is simple and can\n"
+"act as a server or a client for the ancient \"lpd\" printing system. Hence,\n"
+"it is compatible with the systems that went before. It can do many tricks,\n"
+"but the basic setup is almost as easy as \"pdq\". If you need this to\n"
+"emulate an \"lpd\" server, you must turn on the \"cups-lpd\" daemon. It has\n"
+"graphical front-ends for printing or choosing printer options."
msgstr ""
-"Konsol altında\n"
-"örtüyü göstər"
-
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on %s)"
-msgstr "(%s üstündə)"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"A library which defends against buffer overflow and format string attacks."
-msgstr "Buffer overflow və format string hücumlarına qarşı qoruyan kitabxana."
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "average"
-msgstr "orta hesabla"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "New printer name"
-msgstr "Yeni çapçı adı"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Allow an ordinary user to mount the file system. The\n"
-"name of the mounting user is written to mtab so that he can unmount the "
-"file\n"
-"system again. This option implies the options noexec, nosuid, and nodev\n"
-"(unless overridden by subsequent options, as in the option line\n"
-"user,exec,dev,suid )."
-msgstr ""
-"Sıravi istifadəçiyə fayl sistemini bağlama (mount) etmə icazəsi ver.\n"
-"Bağlama hüququ olan istifadəçinin adı daha sonra fayl sistemi ayıra bilməsi "
-"üşün mtab faylına qeyd edilir.\n"
-"Bu seçim noexec, nosuid, və nodev seçimlərini nəzərə alır."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Equatorial Guinea"
-msgstr "Ekvatorial Qvineya"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup System"
-msgstr "Sistemin ehtiyat nüsxəsini çıxart"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Build Backup"
-msgstr "Ehtiyatı İnşa Et"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\" or \"%s <file>\".\n"
-msgstr ""
-"Əmr sətirindən (terminal pəncərəsi) bir faylı çap etmək üçün bu əmrləri "
-"işlədin: \"%s <fayl>\" ya da \"%s <fayl>\".\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Currently, no alternative possibility is available"
-msgstr "Hazırda, başqa heç bir alternativ mövcud deyil"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwertz)"
-msgstr "Rumın (qwertz)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Write Config"
-msgstr "Qurğunu Yaz"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:759
+#, fuzzy
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."
+"DrakX now detects any IDE device present in your computer. It will also\n"
+"scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented with a list of SCSI cards to choose from. Click \"No\" if you\n"
+"have no SCSI hardware. If you are unsure, you can check the list of\n"
+"hardware detected in your machine by selecting \"See hardware info\" and\n"
+"clicking \"OK\". Examine the hardware list and then click on the \"OK\"\n"
+"button to return to the SCSI interface question.\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\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
+"\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to manually provide options to the driver."
msgstr ""
-"routed vasitəsi avtomatik IP router cədvəlinin RIP protokolu tərəfindən\n"
-"yenilənməsinə imkan verər. RIP əsasən kiçik şəbəkələrdə istifadə edilir, "
-"daha böyük\n"
-"şəbəkələrdə daha qarışıq routing protokollarına ehtiyacı vardır."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kiribati"
-msgstr "Kiribati"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type) with Wheel emulation"
-msgstr "Çərx emulyasiyalı Logitech siçan (serial, köhnə C7 növü)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other (not drakbackup) keys in place already"
-msgstr "Diqər (drackbackup xarici) açarlar onsuzda yerindədir"
+"DrakX PCI SCSI adapterleri axtarmağa cəhd edəcək. Əgə DrakX SCSI\n"
+"taparsa və hansı sürücü işlədiləcəyini bilərsə, her şey öz özünə\n"
+"qurulacaq.\n"
+"\n"
+"\n"
+"Əgər sisteminizdə SCSI adapteri yoxsa, DrakXin tanımayacağı bir\n"
+"ISA SCSI və ya PCI SCSI adapteri var isə, sizə sisteminizdə SCSI\n"
+"adapteri olub olmadığı soruşulacaq.\n"
+"Əgər SCSI adapteriniz yox isə, \"Yox\" tıqlayın. Əgər \"Var\"ı "
+"tıqlayarsanız.\n"
+"qarşınıza sürücüləin siyahısı çıxacaq, oradan sizə uyanını seçərsiniz.\n"
+"\n"
+"\n"
+"Əgər əllə qurmağı səçərsəniz, o zaman DrakX sizə adapterin xüsusiyyətlərini\n"
+"soruşacaq. İmkan verin ki, DrakX sərbəstcə özü xüsusiyyətləri tapsın.\n"
+"Çoxunda bu işə yarayır.\n"
+"\n"
+"\n"
+"Əgər istəmirsəniz isə, o zaman adapter üçün xüsusiyyətləri özünüz\n"
+"göstərməlisiniz. Bunun üçün İstifadəçinin Əl Kitabçasına\n"
+"(başlıq 3, \"Avadanlığınız üçün kollektiv mə'lumat) bölməsinə\n"
+"baxın. Ya da avadanlığınızın əl kitabçasından və ya\n"
+"veb səhifəsindən (Əgər internetə çıxışınız var isə)\n"
+"ya da Microsoft Windowsdan (Əgər sisteminizdə qurulu isə)\n"
+"mə'lumat alın."
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:781
+#, fuzzy
msgid ""
-"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
-"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
-"WindowMaker, etc.) bundled with Mandrake Linux rely upon.\n"
+"You can add additional entries for yaboot, either for other operating\n"
+"systems, alternate kernels, or for an emergency boot image.\n"
"\n"
-"You will be presented with a list of different parameters to change to get\n"
-"an optimal graphical display: Graphic Card\n"
+"For other OSes, the entry consists only of a label and the \"root\"\n"
+"partition.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"For Linux, there are a few possible options:\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs.\n"
+" * Label: this is simply the name you will have to type at the yaboot\n"
+"prompt to select this boot option;\n"
"\n"
+" * Image: this would be the name of the kernel to boot. Typically, vmlinux\n"
+"or a variation of vmlinux with an extension;\n"
"\n"
+" * Root: the \"root\" device or ``/'' for your Linux installation;\n"
"\n"
-"Monitor\n"
+" * Append: on Apple hardware, the kernel append option is used quite often\n"
+"to assist in initializing video hardware, or to enable keyboard mouse\n"
+"button emulation for the often lacking 2nd and 3rd mouse buttons on a stock\n"
+"Apple mouse. The following are some examples:\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer.\n"
+" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
+"hda=autotune\n"
"\n"
+" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
"\n"
+" * Initrd: this option can be used either to load initial modules, before\n"
+"the boot device is available, or to load a ramdisk image for an emergency\n"
+"boot situation;\n"
"\n"
-"Resolution\n"
+" * Initrd-size: the default ramdisk size is generally 4,096 bytes. If you\n"
+"need to allocate a large ramdisk, this option can be used;\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor.\n"
+" * Read-write: normally the \"root\" partition is initially brought up in\n"
+"read-only, to allow a filesystem check before the system becomes ``live''.\n"
+"Here, you can override this option;\n"
"\n"
+" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
+"problematic, you can select this option to boot in ``novideo'' mode, with\n"
+"native frame buffer support;\n"
"\n"
+" * Default: selects this entry as being the default Linux selection,\n"
+"selectable by just pressing ENTER at the yaboot prompt. This entry will\n"
+"also be highlighted with a ``*'', if you press [Tab] to see the boot\n"
+"selections."
+msgstr ""
+"Burada yaboot üçün həm başqa əməliyyat sistemləri, həm alternativ "
+"kernellər,\n"
+" ya da təcili yardım açılış əksləri əlavə edə bilərsiniz.\n"
"\n"
-"Test\n"
"\n"
-" the system will try to open a graphical screen at the desired\n"
-"resolution. If you can see the message during the test and answer \"%s\",\n"
-"then DrakX will proceed to the next step. If you cannot see the message, it\n"
-"means that some part of the autodetected configuration was incorrect and\n"
-"the test will automatically end after 12 seconds, bringing you back to the\n"
-"menu. Change settings until you get a correct graphical display.\n"
+"Başqa OSlər üçün girişin mənası ad və kök çığırından ibarətdir.\n"
"\n"
"\n"
+"Linuks üçün mühtəməl girişlər bunlar ola bilər: \n"
"\n"
-"Options\n"
"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
-msgstr ""
-"X (X Pəncərə Sistemi) GNU/Linuks qrafiki ara üzünün qəlbidir.\n"
-"Mandrake Linuksla bərabər gələn qrafiki mühitlərin hamısı (KDE, \n"
-"GNOME, AfterStep, WindowMaker, vs.) buna bağlıdır.\n"
+" - Ad: Bu sadəcə olaraq yaboot üçün açılacaq sistemi timsal edən bir "
+"addır.\n"
"\n"
-"Optimal görünüşü almaq üçün sizə dəyişdiriləcək fərqli parametrlər\n"
-"təqdim ediləcək.\n"
"\n"
-" Qurulum proqramı sisteminizə bağlı olan qrafika kartını əsasən avtomatik "
-"olaraq\n"
-"aşkar edəcək və quraşdıracaq. Əgər səhv tapılsa həqiqətən sisteminizə bağlı "
-"olan\n"
-"səs kartını siyahıdan seçə bilərsiniz.\n"
-" Əgər kartınız üçün həm 3D dəstəyi olan həm də olmayan vericilər "
-"mövcudsa,\n"
-"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş "
-"ediləcək.\n"
+" - Əks: Bu isə açılacaq çəkirdəyin, yə'ni kernelin adıdır. Çox vaxt bu "
+"vmlinux və ya\n"
+"bunun variasiyalarıdır.\n"
"\n"
"\n"
+" - Kök: Linuks qurulumunun kök avadanlığı və ya '/'.\n"
"\n"
-"Monitor\n"
"\n"
-" Qurulum proqramı sisteminizə bağlı olan monitoru əsasən avtomatik olaraq\n"
-"aşkar edəcək və quraşdıracaq. Əgər səhv tapılsa həqiqətən sisteminizə bağlı "
-"olan\n"
-"monitoru siyahıdan seçə bilərsiniz.\n"
+" \n"
+" - Əlavə: Apple avadanlıqlarında kernel əlavə seçənəkləri ilə sıxlıqla "
+"başlanğıc\n"
+"video avadanlığı və ya sıx sıx xəta verən 2ci və 3cü siçan düymələri üçün "
+"emulyasiya\n"
+"imkanları tanına bilir. Məsələn bunlar \n"
+"bir neçə nümunədir:\n"
"\n"
"\n"
-"Həlledilirlik\n"
+"\t video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111 "
+"hda=autotune\n"
"\n"
-" Burada avadanlığınız üçün mümkün olan həlledilirlik və rəng "
-"dərinliklərini\n"
-"seçə bilərsiniz. Ehtiyaclarınıza ən gözəl cavab verəni seçin. (Bunları "
-"qurulum\n"
-"tamamlandıqdan sonra da dəyişdirə biləcəksiniz). Seçilən qurğuların bir\n"
-"nümunəsi monitorda göstərilir.\n"
+"\t video=atyfb:vmode:12,cmode:24 adb_buttons=103,111 \n"
"\n"
"\n"
+" \n"
+" - Initrd: Açılış avadanlığından əvvəl bə'zi açılış modullarını seçmək\n"
+"üçün işlədilir, ya da təcili yardım açılışlarında ramdisk əksini yükləmək "
+"imkanı verir.\n"
"\n"
-"Sınaq\n"
"\n"
-" Sistem, seçilən həlledilirlikdə qrafiki ekranı açmağa cəhd edəcək.\n"
-"Əgər sınaq sırasında ismarışı görüb \"%s\" düyməsinə bassanız, DrakX\n"
-"növbəti mərhələyə keçəcək. Əgər ismarışı görə bilmirsinizsə, bu avtomatik\n"
-"aşkar edilən quraşdırmanın bir hissəsi səhvdir və sınaq 12 saniyə sonra\n"
-"sonlanaraq sizi menyuya geri götürəcək.\n"
-"Düzgün qrafiki görünüş alana qədər qurğuları dəyişdirin.\n"
+" - Initrd-size: Ana ramdisk böyüklüyü ümumiyyətlə 4096 baytdır. Əgər daha "
+"geniş ramdisk bildirə\n"
+"bilərsiniz isə bu seçənəyi işlədin.\n"
"\n"
"\n"
+" - Oxuma-yazma: Normalda sistemin 'dirilməsindən' əvvəl bə'zi sınaqların "
+"aparıla bilməsi üçün\n"
+"'root' fayl sistemi bu moda soxulur. Bu seçənəyi nəzərə almayabilərsiniz.\n"
"\n"
-"Seçimlər\n"
"\n"
-" Burada, sisteminiz başlarkən avtomatik olaraq qrafiki ekrana keçməsini\n"
-"seçə bilərsiniz. Yalnız, əgər sisteminiz bir verici olacaqsa ya da ekran "
-"qurğularını\n"
-"müvəffəqiyyətlə sazlaya bilmədinizsə hər halda \"%s\" seçimini seçmək "
-"istəyəcəksiniz."
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Browse"
-msgstr "Gəz"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CDROM"
-msgstr "CDROM"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "İndi internetə bağlanmağı sınamaq istəyirsiniz?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belgian"
-msgstr "Belçika dili"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you have an ISA sound card?"
-msgstr "Heç ISA səs kartınız var?"
-
-#: ../../network/ethernet.pm:1
-#, c-format
-msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
-msgstr ""
-"Sisteminizdə heç bir eternet şəbəkə adapteri tapıla bilmədi.\n"
-"Bu bağlantı şəklini qura bilmərəm."
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Windows"
-msgstr "Windows"
-
-#: ../../common.pm:1
-#, c-format
-msgid "Can't make screenshots before partitioning"
-msgstr "Bölmələmədən əvvəl görüntü alına bilməz"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Name"
-msgstr "Qovşaq Adı"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/Save _As"
-msgstr "/Fayl/_Fərqli Qeyd Et"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To get access to printers on remote CUPS servers in your local network you "
-"only need to turn on the \"Automatically find available printers on remote "
-"machines\" option; the CUPS servers inform your machine automatically about "
-"their printers. All printers currently known to your machine are listed in "
-"the \"Remote printers\" section in the main window of Printerdrake. If your "
-"CUPS server(s) is/are not in your local network, you have to enter the IP "
-"address(es) and optionally the port number(s) here to get the printer "
-"information from the server(s)."
-msgstr ""
-"Yerli şəbəkənizdəki uzaq CUPS vericilərindəki çapçıya yetişmə səlahiyyəti "
-"almaq üçün sadəcə olaraq \"Uzaq sistemlərdəki mövcud çapçıları avtomatik tap"
-"\" seçimini işarələməlisiniz; CUPS vericiləri, sisteminizi öz çapçıları "
-"haqqında avtomatik mə'lumatlandırırlar. Hazıda sisteminizdəki bütün bilinən "
-"çapçılar Printerdrake'nin əsas pəncərəsindəki \"Uzaq çapçılar\" "
-"bölməsindəyer alır. Əgər CUPS vericiləriniz yerli şəbəkənizdə deyilsə, çapçı "
-"mə'lumatını vericidən almaq üçün buraya IP adres(lər)i və istəyə bağlı "
-"olaraq qapı nömrə(lər)sini daxil etmək məcburiyyətindəsiniz."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s is not in the scanner database, configure it manually?"
-msgstr ""
-"%s darayıcı mə'lumat bazasında deyil, onu əllə quraşdırmaq istəyirsiniz?"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Delay before booting default image"
-msgstr "Açılışda gecikmə müddəti"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Restrict command line options"
-msgstr "Əmr sətiri seçimlərini məhdudlaşdır"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "East Europe"
-msgstr "Şərqi Avropa"
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use free space"
-msgstr "Boş sahəni istifadə et"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use dhcp"
-msgstr "dhcp istifadə et"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert"
-msgstr "Poçtla xəbər vermə"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Internet configuration"
-msgstr "İnternet qurğuları"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uzbekistan"
-msgstr "Özbəkistan"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected %s"
-msgstr "%s tapıldı"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _printers"
-msgstr "/Ça_pçıları avtomatik təsbit et"
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#, c-format
-msgid "Finish"
-msgstr "Qurtar"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Show automatically selected packages"
-msgstr "Avtomatik seçili paketləri göstər"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Togo"
-msgstr "Toqo"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "CPU flags reported by the kernel"
-msgstr "Çəyirdək tərəfindən raport edilən CPU bayraqları"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Something went wrong! - Is mkisofs installed?"
-msgstr "Nəsə səhv işlədi! - mkisofs quruludur?"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "16 MB"
-msgstr "16 MB"
-
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Please try again"
-msgstr "Xahiş edirik, təkrar sınayın"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The model is correct"
-msgstr "Model düzgündür"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "FAT ölçüləndirilməsi bacarılmadı: %s"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Individual package selection"
-msgstr "Fərdi paket seçimi"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition is not resizeable"
-msgstr "Bu bölmə ölçüləndirilə bilməz"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Location"
-msgstr "Mövqe"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable-hrc)"
-msgstr "USA (kabel-hrc)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guatemala"
-msgstr "Qvatemala"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Journalised FS"
-msgstr "Journalised FS"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Ethernet cards promiscuity check"
-msgstr "Eternet kartlarının promiscuity yoxlaması"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "This machine"
-msgstr "Bu sistem"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "DOS sürücü hərfi: %s (bir təxmindir)\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahrain"
-msgstr "Bahreyn"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select the files or directories and click on 'OK'"
-msgstr "Fayl ya da cərgələri seçib, 'Oldu' düyməsinə basın"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit scsi modules"
-msgstr "scsi modulları keç"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "family of the cpu (eg: 6 for i686 class)"
-msgstr "cpu ailəsi (nüm: i686 sinifi üçün 6)"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-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 ""
-"Şəbəkədən quraşdırması apardığınız üçün şəbəkəniz onsuzda quruludur.\n"
-"Qurğuları saxlamaq üçün Oldu'ya, İnternet və Şəbəkə qurğularınızı yenidən "
-"quraşdırmaq üçün isə Ləğv et'ə basın.\n"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run the daily security checks"
-msgstr "Günlük təhlükəsizlik yoxlamalarını icra et"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Klavatura düzülüşü: %s\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here you can choose whether the printers connected to this machine should be "
-"accessable by remote machines and by which remote machines."
-msgstr ""
-"Burada, sisteminizə bağlı çapçıların uzaqdakı sistemlər və hansıları "
-"tərəfindən istifadə edilə biləcəyini tə'yin edə bilərsiniz."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (US)"
-msgstr "Malta (US)"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "The creation of the boot floppy has been successfully completed \n"
-msgstr "Açılış disketi yaradılması müvəffəqiyyətlə başa çatdı \n"
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
-msgstr ""
-"Bütün Şəbəkə Fayl Sistemlərini (NFS), SMB (Lan Manager/Windows), və \n"
-"NCP (NetWare) bağlama nöqtələrini bağlar və ayırır."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Launch the wizard"
-msgstr "Sehirbazı işə sal"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Tvcard"
-msgstr "Televiziya kartı"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Toggle between normal/expert mode"
-msgstr "Normal modla mütəxəssis modu arasında keç"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Size"
-msgstr "Böyüklük"
-
-#: ../../help.pm:1
-#, c-format
-msgid "GRUB"
-msgstr "GRUB"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Greenland"
-msgstr "Qrinland"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Thursday"
-msgstr "Cümə Axşamı"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct tape label. Tape is labelled %s."
-msgstr "Düzgün kaset adı deyil. Kasedin adı %s qoyulub."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"The setup of Internet Connection Sharing has already been done.\n"
-"It's currently enabled.\n"
+" - NoVideo: Bəlkə Apple video avadanlığı problem çıxarda bilər.Onda bu "
+"seçənəklə\n"
+"sistemi 'novideo' modda təbii framebuffer dəstəyi ilə aça bilərsiniz.\n"
"\n"
-"What would you like to do?"
-msgstr ""
-"İnternet Bağlantısı Bölüşdürülməsi qurulması artıq bitdi.\n"
-"Və artıq fəallaşdırılmışdır.\n"
"\n"
-"Nə etmək istəyirsiniz?"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Delete All NBIs"
-msgstr "Bütün NBI'ləri Sil"
+" - Əsas: Bu seçənəklə Linuks sistemi əsas əməliyyat sistemi halına gətirə "
+"bilərsiniz.\n"
+"Onda ENTER düyməsinə basmaqla Linuks sistemi açılacaqdır. Bu giriş ayrıca "
+"TAB ilə açılış seçkilərinə baxdığınız vaxt \n"
+"'*' işarətilə işıqlandırılacaqdır."
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:828
+#, fuzzy
msgid ""
-"This dialog allows you to fine tune your bootloader:\n"
+"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able to boot\n"
+"either GNU/Linux, MacOS or MacOSX if present on your computer. Normally,\n"
+"these other operating systems are correctly detected and installed. If this\n"
+"is not the case, you can add an entry by hand in this screen. Be careful to\n"
+"choose the correct parameters.\n"
"\n"
-" * \"%s\": there are three choices for your bootloader:\n"
+"Yaboot's main options are:\n"
"\n"
-" * \"%s\": if you prefer grub (text menu).\n"
+" * Init Message: a simple text message displayed before the boot prompt;\n"
"\n"
-" * \"%s\": if you prefer LILO with its text menu interface.\n"
+" * Boot Device: indicates where you want to place the information required\n"
+"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
+"to hold this information;\n"
"\n"
-" * \"%s\": if you prefer LILO with its graphical interface.\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"
-" * \"%s\": in most cases, you will not change the default (\"%s\"), but if\n"
-"you prefer, the bootloader can be installed on the second hard drive\n"
-"(\"%s\"), or even on a floppy disk (\"%s\");\n"
+" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
+"After selecting Linux, you will have this delay in 0.1 second before your\n"
+"default kernel description is selected;\n"
"\n"
-" * \"%s\": after a boot or a reboot of the computer, this is the delay\n"
-"given to the user at the console to select a boot entry other than the\n"
-"default.\n"
+" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
+"at the first boot prompt;\n"
"\n"
-"!! Beware that if you choose not to install a bootloader (by selecting\n"
-"\"%s\"), you must ensure that you have a way to boot your Mandrake Linux\n"
-"system! Be sure you know what you are doing before changing any of the\n"
-"options. !!\n"
+" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
+"Open Firmware at the first boot prompt;\n"
"\n"
-"Clicking the \"%s\" button in this dialog will offer advanced options which\n"
-"are normally reserved for the expert user."
+" * Default OS: you can select which OS will boot by default when the Open\n"
+"Firmware Delay expires."
msgstr ""
-"Bu dialoq açılış yükləyicinizi sazlama imkanı verəcək:\n"
+"Yaboot NewWorld MacIntosh avadalığı üçün açılış idarəcisidir. Ayrıca\n"
+"GNU/Linuks, MacOS, və ya MacOSX sistemlərini kompüterinizdə varsa, "
+"açacaqdır.\n"
+"Normalda, bu əməliyyat sistemləri düzgün tapılıb qurula bilirlər\n"
+"Əgər belə olmazsa, bu ekrandan əllə lazımi qurğuları girə bilərsiniz.\n"
+"Düzgün parametrləri girib girmədiyinizi yaxşıca bir yoxlayın.\n"
+"\n"
+"\n"
+"Yaboot ana seçənəkləri:\n"
"\n"
-" * \"%s\": açılış yükləyiciniz üçün üç seçim mövcuddur:\n"
"\n"
-" * \"%s\": əgər grub arzulayırsanız (mətn menyusu).\n"
+" - Başlanğıc İsmarıcı: Açılışdan əvvəl çıxan sadə bir ismarıc.\n"
"\n"
-" * \"%s\": əgər mətn menyulu LILO arzulayırsanız.\n"
"\n"
-" * \"%s\": əgər qrafiki menyulu LILO arzulayırsanız.\n"
+" - Açılış Avadanlığı: GNU/Linuksu hardan başlatmaq istədiyinizi bildirir."
+"Ümumiyyətlə bu mə'lumatı daha əvvəl \"bootstrap\" quraşdırılması "
+"sırasındabildirmiş olacaqsınız.\n"
+"\n"
+"\n"
+" - Açıq Firmware Gecikməsi: LILOdan fərqli olaraq, yabootda iki dənə "
+"gecikmə vardır\n"
+"Birinci gecikmə saniyələrlə ölçülür və bu arada siz\n"
+"CD, OF açılışı, MacOS və ya Linuks arasında seçki aparmalısınız.\n"
"\n"
-" * \"%s\": Adətən əsas olan (\"%s\") qurğusunu dəyişməyəcəksiniz,\n"
-"ancaq arzu edirsinizsə, açılış yükləyicisini ikinci sürücü (\"%s\"),hətda\n"
-"disket sürücüsü (\"%s\")'ya belə qura bilərsiniz;\n"
"\n"
-" * \"%s\": kompüter yeni açılanda ya da yenidən başladılanda bu vaxt\n"
-"istifadəçiyə seçimini etməsi üçün tanınacaq. Əgər bu vaxt içində heç bir\n"
-"seçim edilməzsə əsas seçim açılacaq.\n"
+" - Kernel Açılış Vaxt Dolması: Bu vaxt dolması LILO açılış gecikməsinə "
+"uyğun gəlir. Linuksu\n"
+"seçdikdən sonra ana kernel parametri olaraq bu gecikmə 0.1 saniyə olaraq "
+"qurulu olacaqdır.\n"
"\n"
-"!! Diqqət: əgər \"%s\" düyməsi ilə açılış yükləyicisini qurmamağı "
-"istədinizsə,\n"
-"Mandrake Linuksu açacaq bir üsulunuzun olduğundan əmin olmalısınız!\n"
-"Əgər bu mövzuda dərin biliklərə malik deyilsəniz, seçimlərdən hər hansı\n"
-"birisini dəyişdirməyi sizə məsləhət görmürük!!\n"
"\n"
-"\"%s\" düyməsinə basaraq isə normalda yalnız mütəxəssis istifadəçilər üçün\n"
-"mövcud olan seçimlər dialoqunu görə bilərsiniz."
+" - CD Açılışı Fəallaşsınmı?: Bu seçənəklə CDdən açılışı timsal edən 'C' "
+"xarakteri ilk açılışda çıxacaqdır.\n"
+"\n"
+"\n"
+" - OF Açılışı Fəallaşsın?: Bu seçənəklə OFdən (Open Firmware) açılışını "
+"timsal edən 'N' xarakteri\n"
+"ilk açılışda çıxacaqdır.\n"
+"\n"
+"\n"
+" - Ana OS: OF gecikməsi müddəti dolduğu vaxt hansı OSnin açılacağını "
+"göstərir."
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:860
msgid ""
-"if set, send the mail report to this email address else send it to root."
-msgstr "seçilidirsə, raportu bu ünvana yolla, əks halda raportu root'a yolla."
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Necə bir XFree qurğusunu istəyirsiniz?"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "More"
-msgstr "Daha Çox Seçim"
+"Here are presented various parameters concerning your machine. Depending on\n"
+"your installed hardware, you may (or may not), see the following entries:\n"
+"\n"
+" * \"Mouse\": check the current mouse configuration and click on the button\n"
+"to change it if necessary;\n"
+"\n"
+" * \"Keyboard\": check the current keyboard map configuration and click on\n"
+"the button to change that if necessary;\n"
+"\n"
+" * \"Timezone\": DrakX, by default, guesses your time zone from the\n"
+"language you have chosen. But here again, as for the choice of a keyboard,\n"
+"you may not be in the country for which the chosen language should\n"
+"correspond. Hence, you may need to click on the \"Timezone\" button in\n"
+"order to configure the clock according to the time zone you are in;\n"
+"\n"
+" * \"Printer\": clicking on the \"No Printer\" button will open the printer\n"
+"configuration wizard. Consult the correpsonding chapter of the ``Starter\n"
+"Guide'' for more information on how to setup a new printer. The interface\n"
+"presented there is similar to the one used at installation time;\n"
+"\n"
+" * \"Sound card\": if a sound card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"TV card\": if a TV card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"ISDN card\": if an ISDN card is detected on your system, it will be\n"
+"displayed here. You can click on the button to change the parameters\n"
+"associated to it."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:891
+#, fuzzy
msgid ""
-"This uses the same syntax as the command line program 'cdrecord'. 'cdrecord -"
-"scanbus' would also show you the device number."
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandrake Linux partition. Be careful, all data present on it will be lost\n"
+"and will not be recoverable!"
msgstr ""
-"Bu, 'cdrecord' əmr sətiri proqramı ilə eyni sintaksisi işlədir. 'cdrecord -"
-"scanbus' sizə eyni zamanda avadanlıq nömrəsini də göstərəcək."
+"Linuks Mandrakeni yükləmak üçün sürücüyü seçin.\n"
+"Diqqətli olun, sürücüdəki bütün mə'lumatlar silinəcək\n"
+"və geri gəlməyəcək."
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:896
+#, fuzzy
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 can "
-"accept\n"
-"connections from many clients. Note: if your machine is only a client on the "
-"Internet, you should choose a lower level."
+"Click on \"OK\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"OK\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to stop this operation without losing any data and\n"
+"partitions present on this hard drive."
msgstr ""
-"Bu təhlükəsizlik səviyyəsiylə sistemin bir verici olaraq istifadəsi "
-"mümkündür.\n"
-"Təhlükəsizlik, birdən çox alıcının bağlanmasına icazə verəcək şəkildə "
-"artırılmışdır. \n"
-"Qeyd: əgər sisteminiz İnternet üstündə sadə bir alıcıdırsa, daha aşağı olan "
-"səviyyəni seçin."
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Server Name"
-msgstr "Verici Adı"
+"Sürücüdəki bütün bilgiləri və bölmələri silmək üçün\n"
+"\"Oldu\" düyməsinə basın. Diqqətli olun,\"Oldu\" düyməsinə basdıqdan sonra\n"
+"Windows bilgiləri də daxil olmaq üzərəbütün bölmə mə'lumatı geri dönməyəcək "
+"şəkildə silinəcək.\n"
+"\n"
+"\n"
+"Bölmədəki mə'lumatları qoruyaraq \"Ləğv et\" düyməsinə\n"
+"əməliyyatı ləğv edə bilərsiniz."
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
+#: ../../install2.pm_.c:111
#, c-format
-msgid "Account Password"
-msgstr "Hesap Şifrəsi"
+msgid ""
+"Can't access kernel modules corresponding to your kernel (file %s is "
+"missing), this generally means your boot floppy in not in sync with the "
+"Installation medium (please create a newer boot floppy)"
+msgstr ""
-#: ../../standalone/drakhelp:1
+#: ../../install2.pm_.c:167
#, c-format
-msgid ""
-"%s cannot be displayed \n"
-". No Help entry of this type\n"
+msgid "You must also format %s"
msgstr ""
-"%s göstərilə bilmir \n"
-". Bu növ üçün Yardım girişi yoxdur\n"
-#: ../../any.pm:1
+#: ../../install_any.pm_.c:423
#, c-format
msgid ""
-"You decided to install the bootloader on a partition.\n"
-"This implies you already have a bootloader on the hard drive you boot (eg: "
-"System Commander).\n"
+"You have selected the following server(s): %s\n"
"\n"
-"On which drive are you booting?"
+"\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 ""
-"Açılış yükləyicisini bir bölmə üstünə qurma qərarı verdiniz.\n"
-"Bu o deməkdir ki sizin onsuzda bir açılış yükləyiciniz var. (mis: System "
-"Commander).\n"
+"bu vericiləri seçdiniz: %s\n"
+"\n"
+"\n"
+"bu vericilər əsasən fəallaşdırılır. Onların heç bir təhlükəsizlik\n"
+"problemləri yoxdur, amma bə'zi xətalar tapıla bilər. Belə olsa, mümükün olan "
+"ən yaxın zamanda güncəlləməlisiniz.\n"
+"\n"
"\n"
-"Hansı sürücü üstündən açılış edirsiniz?"
+"Bu vericiləri qurmaq istəyirsiniz?\n"
-#: ../../install_interactive.pm:1
+#: ../../install_any.pm_.c:441
#, c-format
msgid ""
-"WARNING!\n"
+"The following packages will be removed to allow upgrading your system: %s\n"
"\n"
-"DrakX will now resize your Windows partition. Be careful: this\n"
-"operation is dangerous. If you have not already done so, you\n"
-"first need to exit the installation, run \"chkdsk c:\" from a\n"
-"Command Prompt under Windows (beware, running graphical program\n"
-"\"scandisk\" is not enough, be sure to use \"chkdsk\" in a\n"
-"Command Prompt!), optionally run defrag, then restart the\n"
-"installation. You should also backup your data.\n"
-"When sure, press Ok."
-msgstr ""
-"XƏBƏRDARLIQ!\n"
"\n"
-"DrakX indi Windows disk bölmənizin böyüklüyünü dəyişdirəcək.\n"
-"Diqqətli olun, bu təhlükəli ola bilər. Hələ də etmədinizsə qurulumdan\n"
-"çıxın və Windows altında scandisk (lazım gələrsə defrag da) proqramını\n"
-"icra edin. Eyni zamanda mə'lumatlarınızın da ehtiyat nüsxəsini alın.\n"
-"Ardından quruluma davam edin.\n"
-"Hazır olanda, Oldu düyməsinə basın."
+"Do you really want to remove these packages?\n"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tajik keyboard"
-msgstr "Tacik klaviaturası"
+#: ../../install_any.pm_.c:471
+msgid "Can't use broadcast with no NIS domain"
+msgstr "NİS domeyni olmadan translasiya işlədilə bilməz"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_any.pm_.c:879
#, c-format
+msgid "Insert a FAT formatted floppy in drive %s"
+msgstr "%s sürücüsünə FAT şəkilləndirilmiş bir disket taxın"
+
+#: ../../install_any.pm_.c:883
+msgid "This floppy is not FAT formatted"
+msgstr "Bu floppi FAT şəklində deyildir"
+
+#: ../../install_any.pm_.c:895
msgid ""
-"You can copy the printer configuration which you have done for the spooler %"
-"s to %s, your current spooler. All the configuration data (printer name, "
-"description, location, connection type, and default option settings) is "
-"overtaken, but jobs will not be transferred.\n"
-"Not all queues can be transferred due to the following reasons:\n"
+"To use this saved packages selection, boot installation with ``linux "
+"defcfg=floppy''"
msgstr ""
-"Çap hovuzunu %s yerinə %s etmək üçün çapçı qurğularınızı köçürəbilərsiniz. "
-"Bütün qurğu mə'lumatı (çapçı adı, izahatı, yeri, bağlantı növüvə əsas "
-"seçimlər) köçürüldüyü vaxt, sırada olan vəzifələr transfer edilməyəcək.\n"
-"Qeyd: Aşağıdakı səbəplərdən ötrü bütün sıralar transfer edilə bilməz:\n"
+"Bu saxlanmış paketlər seçkisini işlətmək üçün qurulumu ``linux "
+"defcfg=floppy''ilə başladın."
-#: ../../standalone/drakfont:1
+#: ../../install_any.pm_.c:918 ../../partition_table.pm_.c:767
#, c-format
-msgid "Font List"
-msgstr "Yazı Növü Siyahısı"
+msgid "Error reading file %s"
+msgstr "%s faylı oxunurkan xəta oldu"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../install_any.pm_.c:1040
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 %s,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
msgstr ""
-"Siz Open Firmware açılış avadanlığınızı açılış yükləyicisini\n"
-"fəallaşdırmaq üçün dəyişdirməli ola bilərsiniz. Command-Option-O-F "
-"düymələrini\n"
-" yenidən başlarkən basın və bunları girin:\n"
-" setenv boot-device %s,\\\\:tbxi\n"
-" Sonra da bunları yazın: shut-down\n"
-"Bir sonrakı başlanğıcda açılış yükləyicisi sətirini görməlisiniz."
+"Bir xəta oldu. Yeni fayl sisteminin yaradılacağı hökmlü bir sürücü "
+"tapılmadı. Bu problemin qaynağı üçün avadanlığınızı yoxlayın"
-#: ../../install_steps_interactive.pm:1
+#: ../../install_interactive.pm_.c:21
#, c-format
msgid ""
-"You appear to have an OldWorld or Unknown\n"
-" machine, the yaboot bootloader will not work for you.\n"
-"The install will continue, but you'll\n"
-" need to use BootX or some other means to boot your machine"
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
msgstr ""
-"Dünyadan kənar yerdən gələn ya da namə'lum\n"
-" sisteminiz var, yaboot açılış yükləyicisi sizin üçün işləməyəcək.\n"
-"Qurulum davam edəcək ancaq kompüterinizi aça bilmək üçün\n"
-" BootX ya da başqa vasitədən istifadə etməlisiniz"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Select file"
-msgstr "Fayl seç"
+"Sisteminizdaki bə'zi avadanlıqlar işləməsi üçün düzgün sürücülərə ehtiyac "
+"duyar.\n"
+"Bunun haqqında %s də/a lazımi malumatları tapa bilərsiniz"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:56
msgid ""
-"Choose the network or host on which the local printers should be made "
-"available:"
-msgstr "Yerli çapçıların mövcud ediləcəyi şəbəkə ya da qovşağı seçin:"
+"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 bölümüna ehtiyacınız var.\n"
+"Bunun üçün istər mövcud bir disk bölümü üzərina tıqlayın, \n"
+"ya da yeni birini başdan yaradın. Sonra \"Bağlama \n"
+"Nöqtəsi\"nə gəlin va burayı '/' olaraq dəyişdirin."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:61
+msgid "You must have a swap partition"
+msgstr "Bir swap sahəsinə ehtiyacınız var"
+
+#: ../../install_interactive.pm_.c:62
msgid ""
-"These commands you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications, but here do not supply the file name "
-"because the file to print is provided by the application.\n"
+"You don't have a swap partition.\n"
+"\n"
+"Continue anyway?"
msgstr ""
-"Eləcə də bir çox proqramın \"Çap əmri\" sahəsində bu əmrlərdənbirini işlədə "
-"bilərsiniz. Yalnız bu cür istifadədə çap ediləcək faylın adını proqram "
-"verəcəyi üçün fayl adı verilməz.\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Japan"
-msgstr "Yaponiya"
+"Bir swap sahəniz yoxdur\n"
+"Davam edim?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print option list"
-msgstr "Seçimlər siyahısını göstər"
+#: ../../install_interactive.pm_.c:65 ../../install_steps.pm_.c:169
+#, fuzzy
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Bir swap sahəsinə ehtiyacınız var"
-#: ../../standalone/localedrake:1
-#, c-format
-msgid "The change is done, but to be effective you must logout"
-msgstr "Dəyişikliklər edildi, ancaq effektiv olmaq üçün yenidən giriş edin"
+#: ../../install_interactive.pm_.c:90
+msgid "Use free space"
+msgstr "Boş sahəni istifadə et"
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Country / Region"
-msgstr "Ölkə / Bölgə"
+#: ../../install_interactive.pm_.c:92
+msgid "Not enough free space to allocate new partitions"
+msgstr "Yeni bölmələr üçün boş sahə yoxdur"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search servers"
-msgstr "Vericiləri axtar"
+#: ../../install_interactive.pm_.c:100
+msgid "Use existing partitions"
+msgstr "Var olan bölmələri işlədimmi"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP queue name missing!"
-msgstr "NCP növbə adı əksikdir!"
+#: ../../install_interactive.pm_.c:102
+msgid "There is no existing partition to use"
+msgstr "Bölmə cədvəli qurtarılmağa çalışılır"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Warning, another internet connection has been detected, maybe using your "
-"network"
-msgstr ""
-"Diqqət, başqa internet bağlantısı aşkar edildi, güman ki şəbəkənizi istifadə "
-"edir"
+#: ../../install_interactive.pm_.c:109
+msgid "Use the Windows partition for loopback"
+msgstr "Loopback üçün Windows bölməsini işlət"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "\"%s\" adlı Cd-Rom"
+#: ../../install_interactive.pm_.c:112
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Linuks4Win'i qurmaq üçün hansı disk bölməsini istifadə edəcəksiniz?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CDRW media"
-msgstr "CDRW mediyası"
+#: ../../install_interactive.pm_.c:114
+msgid "Choose the sizes"
+msgstr "Böyüklüklərini seçin"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Yüksək keyfiyyət təsadüfi rəqəm istehsal edən sistem entropi hovuzunun \n"
-"saxlanması və yenidən köhnə halına gətirilməsinə imkan verər."
+#: ../../install_interactive.pm_.c:115
+msgid "Root partition size in MB: "
+msgstr "Kök (root) bölməsi böyüklüyü (Mb): "
-#: ../advertising/07-server.pl:1
-#, c-format
-msgid "Turn your computer into a reliable server"
-msgstr "Kompüterinizi e'tibarlı vericiyə dönüşdürün"
+#: ../../install_interactive.pm_.c:116
+msgid "Swap partition size in MB: "
+msgstr "Swap sahəsi böyüklüyü (Mb): "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check empty password in /etc/shadow"
-msgstr "/etc/shadow'dakı boş şifrəni yoxla"
+#: ../../install_interactive.pm_.c:126
+msgid "Use the free space on the Windows partition"
+msgstr "Windows bölməsindəki boş sahəni işlət"
-#: ../../network/network.pm:1
-#, c-format
-msgid " (driver %s)"
-msgstr " (sürücü %s)"
+#: ../../install_interactive.pm_.c:129
+msgid "Which partition do you want to resize?"
+msgstr "Hansı bölmənin böyüklüyünü dəyişdirəcəksiniz?"
-#: ../../services.pm:1
-#, c-format
-msgid "Start when requested"
-msgstr "İstənəndə başlat"
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing Windows partition"
+msgstr "Fat fayl sistemi ucları hesaplanır"
-#: ../../diskdrake/interactive.pm:1
+#: ../../install_interactive.pm_.c:134
#, c-format
msgid ""
-"Loopback file(s):\n"
-" %s\n"
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occured: %s"
msgstr ""
-"Loopback fayl(lar)ı:\n"
-" %s\n"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "I don't know"
-msgstr "Bilmirəm"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", TCP/IP host \"%s\", port %s"
-msgstr ", TCP/IP qovşaq \"%s\", qapı %s"
+"FAT tədqiqatçımız sizin bölümləri işlədə bilmir,\n"
+"bu xəta oldu: %s"
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../install_interactive.pm_.c:137
msgid ""
-"You are about to configure an Auto Install floppy. This feature is somewhat "
-"dangerous and must be used circumspectly.\n"
-"\n"
-"With that feature, you will be able to replay the installation you've "
-"performed on this computer, being interactively prompted for some steps, in "
-"order to change their values.\n"
-"\n"
-"For maximum safety, the partitioning and formatting will never be performed "
-"automatically, whatever you chose during the install of this computer.\n"
-"\n"
-"Do you want to continue?"
+"Your Windows partition is too fragmented. Please reboot your computer under "
+"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
+"installation."
msgstr ""
-"Avtomatik qurulum disketi yaradmaq üzrəsiniz. Bu xüsusiyyət biraz "
-"təhlükəlidir və diqqətlə istifadə edilməlidir.\n"
-"\n"
-"Bu xüsusiyyətlə, siz, daha əvvəl həyata keçirmiş olduğunuz qurulumun "
-"eynisini təkrarlaya bilərsiniz.\n"
-"\n"
-"Maksimal təhlükəsizlik səbəbi ilə, bolmələmə və şəkilləndirmə sistemi "
-"qurarkən necə qurğuladığınıza baxmayaraq qətiyyən təkrarlanmayacaq.\n"
-"\n"
-"Davam etmək istəyirsiniz?"
+"Sizin Windows bölümü çox dağınıqdır. Daxiş edirik, əvvəlcə birləşdirin "
+"(defraq)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Telugu"
-msgstr "Telugu"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:138
+#, fuzzy
msgid ""
+"WARNING!\n"
"\n"
-"\n"
-"Your card currently use the %s\"%s\" driver (default driver for your card is "
-"\"%s\")"
+"DrakX will now resize your Windows partition. Be careful:\n"
+"this operation is dangerous. If you have not already done\n"
+"so, you should first exit the installation, run scandisk\n"
+"under Windows (and optionally run defrag), then restart the\n"
+"installation. You should also backup your data.\n"
+"When sure, press Ok."
msgstr ""
+"DİQQƏT!\n"
"\n"
-"\n"
-"Səs kartınız hazırda %s\"%s\" sürücüsünü işlədir (kartınızın əsas sürücüsü "
-"\"%s\"dir)"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Uninstall"
-msgstr "Silmə Sonrası"
+"DrakX \"Windows\" disk bölmənizin böyüklüyünü dəyişdirəcək. Bu iş \n"
+"tehlükəli ola bilər. Aşina deyil isəniz qurulumdan çıxın və \"Windows\" \n"
+"altında \"Scandisk\" (lazım gələrsə \"defrag\" da) proqramını çalışdırın. "
+"Ardından quruluma \n"
+"davam edin. Verilərinizin yedəyini almağı da unutmayın!"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connecting to Internet "
-msgstr "İnternetə Bağlanır"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid " ("
-msgstr " ("
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid level"
-msgstr "Cpuid səviyyəsi"
+#: ../../install_interactive.pm_.c:148
+msgid "Which size do you want to keep for Windows on"
+msgstr "Hansı sektora daşımaq istəyirsiniz?"
-#: ../../printer/main.pm:1
+#: ../../install_interactive.pm_.c:149
#, c-format
-msgid "Novell server \"%s\", printer \"%s\""
-msgstr "Novell vericisi \"%s\", çapçı \"%s\""
+msgid "partition %s"
+msgstr "bölmə %s"
-#: ../../keyboard.pm:1
+#: ../../install_interactive.pm_.c:156
#, c-format
-msgid "Mongolian (cyrillic)"
-msgstr "Mongolca (kiril)"
+msgid "FAT resizing failed: %s"
+msgstr "FAT böyüklüyü dəyişdirilməsi bacarılmadı: %s"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Add a module"
-msgstr "Modul əlavə et"
+#: ../../install_interactive.pm_.c:171
+msgid ""
+"There is no FAT partition to resize or to use as loopback (or not enough "
+"space left)"
+msgstr "FAT bölməsi yoxdur ya da loopback üçün lazımi yer buraxılmayıb"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile to delete:"
-msgstr "Silinəcək profil:"
+#: ../../install_interactive.pm_.c:177
+msgid "Erase entire disk"
+msgstr "Bütün diski sil"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Local measure"
-msgstr "Yerli ölçü vahidi"
+#: ../../install_interactive.pm_.c:177
+msgid "Remove Windows(TM)"
+msgstr "\"Windows\"u sil"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Warning : IP address %s is usually reserved !"
-msgstr "Xəbərdarlıq : %s IP ünvanı çox vaxt tutulmuş olur !"
+#: ../../install_interactive.pm_.c:180
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Sizin birdən çox diskiniz var, linux qurmaq üçün hansını istifadə "
+"edəcəksiniz?"
-#: ../../mouse.pm:1
+#: ../../install_interactive.pm_.c:183
#, c-format
-msgid "busmouse"
-msgstr "busmouse"
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"%s bölüməsinin böyüklüyü dəyişdirildikdən sonra bu bölmədəki bütün "
+"mə'lumatlar silinəcəkdir"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Create Etherboot Enabled Boot Images:\n"
-" \tTo boot a kernel via etherboot, a special kernel/initrd image must "
-"be created.\n"
-" \tmkinitrd-net does much of this work and drakTermServ is just a "
-"graphical \n"
-" \tinterface to help manage/customize these images. To create the "
-"file \n"
-" \t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an "
-"include in \n"
-" \tdhcpd.conf, you should create the etherboot images for at least "
-"one full kernel."
-msgstr ""
-" - Etherboot Dəstəkli Açılış Əksləri Yaradın:\n"
-" \tÇəyirdəyi etherboot vasitəsi ilə açmaq üçün, xüsusi kernel/initrd "
-"əksi yaradılmalıdır.\n"
-" \tmkinitrd-net bu işin əsas hissəsini həll edir və drakTermServ "
-"yalnız bu əksləri idarə\n"
-" \tetmək/xüsusiləşdirmək üçün bir qrafiki ara üzdür. \n"
-" \tdhcpd.conf faylı içində inlcude olaraq çağırılan \n"
-" \t/etc/dhcpd.conf.etherboot-pcimap.include faylını yaratmaq üçün,\n"
-" \tən az bir tam çəyirdək üçün etherboot əksləri yaratmalısınız."
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Login (user name)"
-msgstr "Hesab Girişi (istifadəçi adı)"
+#: ../../install_interactive.pm_.c:191
+msgid "Custom disk partitioning"
+msgstr "Hazırkı disk bölmələndirməsi"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Fdiv bug"
-msgstr "Fdiv xətası"
+#: ../../install_interactive.pm_.c:195
+msgid "Use fdisk"
+msgstr "Fdisk istifadə et"
-#: ../../network/drakfirewall.pm:1
+#: ../../install_interactive.pm_.c:198
#, c-format
msgid ""
-"drakfirewall configurator\n"
-"\n"
-"Make sure you have configured your Network/Internet access with\n"
-"drakconnect before going any further."
+"You can now partition %s.\n"
+"When you are done, don't forget to save using `w'"
msgstr ""
-"drakfirewall quraşdırıcısı\n"
-"\n"
-"Daha irəli getmədən Şəbəkə/İnternet bağlantınızı drakconnect\n"
-"vasitəsi ilə quraşdırdığınızdan əmin olun."
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept broadcasted icmp echo"
-msgstr "Translasiya edilən icmp echo'nu qəbul et"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uruguay"
-msgstr "Uruqvay"
+"İndi %s sabit diskinizi bölmələndirə bilərsiniz\n"
+"İşinizi bitirdiyinizdə `w' ilə qeyd etməyi unutmayın"
-#: ../../lang.pm:1
-#, c-format
-msgid "Benin"
-msgstr "Benin"
+#: ../../install_interactive.pm_.c:227
+msgid "You don't have enough free space on your Windows partition"
+msgstr "Heç Windows disk bölməniz yoxdur!"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "SMB/Windows server \"%s\", share \"%s\""
-msgstr "SMB/Windows vericisi \"%s\", bölüşülmüş sahə \"%s\""
+#: ../../install_interactive.pm_.c:243
+msgid "I can't find any room for installing"
+msgstr "Artıq bölmə əlavə edilə bilməz"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path selection"
-msgstr "Cığır seçkisi"
+#: ../../install_interactive.pm_.c:246
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX bölmə sehirbazı bu yolu tapdı:"
-#: ../../standalone/scannerdrake:1
+#: ../../install_interactive.pm_.c:250
#, c-format
-msgid "Name/IP address of host:"
-msgstr "Qovşağın Adı/IP ünvanı:"
+msgid "Partitioning failed: %s"
+msgstr "Bölmə cədvəli növü: %s"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Monitor: %s\n"
+#: ../../install_interactive.pm_.c:260
+msgid "Bringing up the network"
+msgstr "Şəbəkə fəallaşdırılır"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom & system settings"
-msgstr "Xüsusi və sistem qurğuları"
+#: ../../install_interactive.pm_.c:265
+msgid "Bringing down the network"
+msgstr "Şəbəkə dayandırılır"
-#: ../../partition_table/raw.pm:1
-#, c-format
+#: ../../install_steps.pm_.c:76
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, corrupted "
-"data."
+"An error occurred, but I don't know how to handle it nicely.\n"
+"Continue at your own risk."
msgstr ""
-"Sürücünüzdə bə'zi pis şeylər baş verir.\n"
-"Mə'lumatın bütövlüyünün yoxlanması bacarılmadı. \n"
-"Bu o demekdir ki diskə yazılan hər şey təsadüfi və pozulmuş olacaq."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP missing!"
-msgstr "Çapçı qovşaq adı ya da IP'si əksikdir!"
+"Bir xəta oldu, fəqət necə düzəldiləcəyini bilmirəm.\n"
+"Davam edin, riski sizə aitdir!"
-#: ../../standalone/drakbackup:1
+#: ../../install_steps.pm_.c:211
#, c-format
-msgid "Please check all users that you want to include in your backup."
-msgstr ""
-"Xahiş edirik, ehtiyat nüsxəsinə daxil etmək istədiyiniz bütün istifadəçiləri "
-"seçin."
+msgid "Duplicate mount point %s"
+msgstr "%s bağlama nöqtəsini çoxalt"
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps.pm_.c:380
msgid ""
-"The %s must be configured by printerdrake.\n"
-"You can launch printerdrake from the Mandrake Control Center in Hardware "
-"section."
+"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 ""
-"%s printerdrake tərəfindən quraşdırılmalıdır.\n"
-"Printerdrake'ni Mandrake İdarə Mərkəzindəki Avadanlıq bölməsindən işə sala "
-"bilərsiniz."
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Key isn't writable"
-msgstr "XawTV qurulu deyil!"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bangladesh"
-msgstr "Banqladeş"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (cable)"
-msgstr "Yaponiya (kabel)"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Initial tests"
-msgstr "Başlanğıc sınamaları"
+"Bəzi paketlər doğru olaraq qurulumu bitirmədi.\n"
+"cdrom sürücünüz ya da cdromunuz düzgün işləmir.\n"
+"Əvvəldən Linuks qurulu bir sistemdə \"rpm -qpl Mandrake/RPMS/*.rpm\"'yi\n"
+"istifadə edərək Cd-Rom'u yoxlayın.\n"
-#: ../../network/isdn.pm:1
+#: ../../install_steps.pm_.c:450
#, c-format
-msgid "Continue"
-msgstr "Davam et"
+msgid "Welcome to %s"
+msgstr "%s Sisteminə Xoşgəlmişsiniz"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom Restore"
-msgstr "Xüsusi Geri Qaytarma"
+#: ../../install_steps.pm_.c:543 ../../install_steps.pm_.c:769
+msgid "No floppy drive available"
+msgstr "Disket sürücü yoxdur"
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_auto_install.pm_.c:76
+#: ../../install_steps_stdio.pm_.c:22
#, c-format
-msgid "Saturday"
-msgstr "Şənbə"
+msgid "Entering step `%s'\n"
+msgstr "Başlanğıc addımı `%s'\n"
-#: ../../help.pm:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:146
msgid ""
-"\"%s\": if a sound card is detected on your system, it is displayed here.\n"
-"If you notice the sound card displayed is not the one that is actually\n"
-"present on your system, you can click on the button and choose another\n"
-"driver."
+"Your system is low on resources. You may have some problem installing\n"
+"Mandrake Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
msgstr ""
-"\"%s\": əgər sisteminizdə səs kartı tapılıbsa burada göstəriləcək.\n"
-"Əgər burada göstərilən səs kartının sisteminizdəkindən fərqli olduğu\n"
-"nəzərinizə çatsa, düyməyə basıb başqa bir sürücü seçə bilərsiniz."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the root umask."
-msgstr "Ali istifadəçi umask'ını seç."
-
-#: ../../install_any.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "Error reading file %s"
-msgstr "%s faylı oxunurkan xəta oldu"
+"Sizin sisteminizin qaynaqları çatışmır. Qurulum ərzində problem yaşaya "
+"bilərsiniz\n"
+"Bu baş verərsə mətn aracılığı ilə qurulumu sınamalısınız. Bunun üçün "
+"dəCDROMdan başlatdığınız zaman,\n"
+" 'F1'ə basın və 'text' yazaraq enter'ə basın."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Script-based"
-msgstr "Skript əsaslı"
+#: ../../install_steps_gtk.pm_.c:157 ../../install_steps_interactive.pm_.c:237
+msgid "Install Class"
+msgstr "Qurulum Sinifi"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "PLL setting:"
-msgstr "PLL qurğusu:"
+#: ../../install_steps_gtk.pm_.c:160
+#, fuzzy
+msgid "Please choose one of the following classes of installation:"
+msgstr "Xahiş edirik aşağıdakı qurulum siniflərindən birisini seçiniz:"
-#: ../../install_interactive.pm:1 ../../install_steps.pm:1
-#, c-format
-msgid "You must have a FAT partition mounted in /boot/efi"
-msgstr "/boot/efi ünvanına bağlanmış FAT bölməniz olmalıdır"
+#: ../../install_steps_gtk.pm_.c:236 ../../install_steps_interactive.pm_.c:683
+msgid "Package Group Selection"
+msgstr "Paket Qrup Seçkisi"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on "
-msgstr "üstündə"
+#: ../../install_steps_gtk.pm_.c:269 ../../install_steps_interactive.pm_.c:698
+msgid "Individual package selection"
+msgstr "Fərdi paket seçkisi"
-#: ../../diskdrake/dav.pm:1
+#: ../../install_steps_gtk.pm_.c:292 ../../install_steps_interactive.pm_.c:621
#, c-format
-msgid "The URL must begin with http:// or https://"
-msgstr "URL http:// ya da https:// ilə başlamalıdır"
+msgid "Total size: %d / %d MB"
+msgstr "Ümumi böyüklük: %d / %d Mb"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can specify directly the URI to access the printer. The URI must fulfill "
-"either the CUPS or the Foomatic specifications. Note that not all URI types "
-"are supported by all the spoolers."
-msgstr ""
-"Çapçıya yetişə bilmək üçün birbaşa URI verə bilərsiniz. URI, ya CUPS ya "
-"daFoomatic xassələrini daxil etməlidir.Qeyd: Her URI növünü her çap hovuzu "
-"dəstəkləməz."
+#: ../../install_steps_gtk.pm_.c:334
+msgid "Bad package"
+msgstr "Xətalı paket"
-#: ../../any.pm:1
+#: ../../install_steps_gtk.pm_.c:335
#, c-format
-msgid "Other OS (SunOS...)"
-msgstr "Digər sistemlər (SunOS...)"
+msgid "Name: %s\n"
+msgstr "Ad: %s\n"
-#: ../../install_steps_interactive.pm:1
+#: ../../install_steps_gtk.pm_.c:336
#, c-format
-msgid "Install/Upgrade"
-msgstr "Qurulum/Yeniləmə"
+msgid "Version: %s\n"
+msgstr "Buraxılış: %s\n"
-#: ../../install_steps_gtk.pm:1
+#: ../../install_steps_gtk.pm_.c:337
#, c-format
-msgid "%d packages"
-msgstr "%d paket"
+msgid "Size: %d KB\n"
+msgstr "Böyüklüyü: %d KB\n"
-#: ../../crypto.pm:1 ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:338
#, c-format
-msgid "Costa Rica"
-msgstr "Kosta Rika"
+msgid "Importance: %s\n"
+msgstr "Əhəmiyyət: %s\n"
-#: ../../standalone.pm:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:360
msgid ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X "
-"users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
-msgstr ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : əsas cərgələri qeyd et.\n"
-"--debug : bütün xəta ayırma ismarışlarını göstər.\n"
-"--show-conf : eht. nüsxəsi alınacaq fayl və cərgələrin siyahısı.\n"
-"--config-info : quraşdırma faylı seçimlərini başa sal (X istifadəçisi "
-"olmayanlar üçün).\n"
-"--daemon : demon quraşdırmasını işlət. \n"
-"--help : bu ismarışı göstər.\n"
-"--version : buraxılış nömrəsini göstər.\n"
+"You can't select this package as there is not enough space left to install it"
+msgstr "Bu paketi seçə bilməzsiniz, çünki qurmaq üçün yer çatmır."
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain Authentication Required"
-msgstr "Domen Səlahiyyətləndirməsi Məcburidir"
+#: ../../install_steps_gtk.pm_.c:365
+msgid "The following packages are going to be installed"
+msgstr "Aşağıdakı paketlər qurulacaqdır"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Use libsafe for servers"
-msgstr "Vericilər üçün libsafe işlət"
+#: ../../install_steps_gtk.pm_.c:366
+msgid "The following packages are going to be removed"
+msgstr "Aşağıdakı paketlər sistemdən silinəcəklər"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Icelandic"
-msgstr "İslandiya dili"
+#: ../../install_steps_gtk.pm_.c:378
+msgid "You can't select/unselect this package"
+msgstr "Bu paketi seçə bilməzsiniz/sistemdən çıxarda bilməzsınız"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
-msgstr ""
-"\n"
-"İstifadə qaydası: %s [--auto] [--beginner] [--expert] [-h|--help] [--"
-"noauto] [--testing] [-v|--version] "
+#: ../../install_steps_gtk.pm_.c:390
+msgid "This is a mandatory package, it can't be unselected"
+msgstr "Bu lazımlı bir paketdir, sistemdən çıxardıla bilməz"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:392
+msgid "You can't unselect this package. It is already installed"
+msgstr "Bu paketi sistemdən çıxarda bilməzsınız. Artıq qurulmuşdur."
+
+#: ../../install_steps_gtk.pm_.c:395
msgid ""
-"Maximum size\n"
-" allowed for Drakbackup (MB)"
+"This package must be upgraded.\n"
+"Are you sure you want to deselect it?"
msgstr ""
-"Drakbackup üçün\n"
-"icazə verilən maksimal böyüklük (MB)"
+"Bu paket yenilənməlidir\n"
+"Sistemdən çıxarmaq mövzusunda ciddisiniz?"
-#: ../../loopback.pm:1
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Dairəvi bağlama %s\n"
+#: ../../install_steps_gtk.pm_.c:398
+msgid "You can't unselect this package. It must be upgraded"
+msgstr "Bu paketi sistemdən çıxarda bilməzsiniz. Yenilənməlidir"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo/grub mode"
-msgstr "Lilo/grub modu"
+#: ../../install_steps_gtk.pm_.c:403
+msgid "Show automatically selected packages"
+msgstr "Avtomatik seçili paketləri göstər"
-#: ../../lang.pm:1
-#, c-format
-msgid "Martinique"
-msgstr "Martiniq"
+#: ../../install_steps_gtk.pm_.c:404 ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#: ../../standalone/drakbackup_.c:4211
+msgid "Install"
+msgstr "Qurulum"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "HardDrive / NFS"
-msgstr "Sabit Disk / NFS"
+#: ../../install_steps_gtk.pm_.c:407
+#, fuzzy
+msgid "Load/Save on floppy"
+msgstr "Disketə qeyd et"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Old user list:\n"
-msgstr "Köhnə istifadəçi siyahısı:\n"
+#: ../../install_steps_gtk.pm_.c:408
+#, fuzzy
+msgid "Updating package selection"
+msgstr "Paket seçkilərini saxla"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Search Backups"
-msgstr "Ehtiyatları Axtar"
+#: ../../install_steps_gtk.pm_.c:413
+#, fuzzy
+msgid "Minimal install"
+msgstr "Qurulumdan çıx"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "a number"
-msgstr "ədəd"
+#: ../../install_steps_gtk.pm_.c:428 ../../install_steps_interactive.pm_.c:529
+msgid "Choose the packages you want to install"
+msgstr "Qurmaq istədiyiniz paketləri seçin"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swedish"
-msgstr "İsveçcə"
+#: ../../install_steps_gtk.pm_.c:444 ../../install_steps_interactive.pm_.c:767
+msgid "Installing"
+msgstr "Qurulur"
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Hansı %s sürücüsü sınansın?"
+#: ../../install_steps_gtk.pm_.c:450
+msgid "Estimating"
+msgstr "Təxmini olaraq hesaplanır"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"You will receive an alert if one of the selected services is no longer "
-"running"
-msgstr "Seçili xidmətlərdən biri işləməsə sizə xəbər göndəriləcək"
+#: ../../install_steps_gtk.pm_.c:457
+msgid "Time remaining "
+msgstr "Qalan müddət"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Weekday"
-msgstr "Həftənin Günü"
+#: ../../install_steps_gtk.pm_.c:469
+msgid "Please wait, preparing installation..."
+msgstr "Xahiş edirik gözləyin, qurulum hazırlanır"
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../install_steps_gtk.pm_.c:551
#, c-format
-msgid "Filesystem types:"
-msgstr "Fayl sistemi növü:"
+msgid "%d packages"
+msgstr "%d paket"
-#: ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:556
#, c-format
-msgid "Northern Mariana Islands"
-msgstr "Şimali Marian Adaları"
+msgid "Installing package %s"
+msgstr "%s paketi qurulur"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on HP JetDirect"
-msgstr ", HP JetDirect üstündə çox funksiyalı avadanlıq"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+#: ../../standalone/drakautoinst_.c:197
+msgid "Accept"
+msgstr "Qəbul Et"
-#: ../../mouse.pm:1
-#, c-format
-msgid "none"
-msgstr "heç biri"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+msgid "Refuse"
+msgstr "Rədd Et"
-#: ../../standalone/drakconnect:1
+#: ../../install_steps_gtk.pm_.c:594 ../../install_steps_interactive.pm_.c:792
#, c-format
msgid ""
-"Name of the profile to create (the new profile is created as a copy of the "
-"current one) :"
+"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 ""
-"Yaradılacaq yeni profilin adı (yeni profil hazırkının cütü olaraq "
-"yaradılır) :"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Floppy"
-msgstr "Disket"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript referencing"
-msgstr "Ghostscript əsaslanması"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Bootloader"
-msgstr "Açılış yükləyicisi"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize all services controlled by tcp_wrappers"
-msgstr "tcp_wrapper'lər tərəfindən idarə edilən bütün xidmətlərə icazə ver"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move"
-msgstr "Daşı"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Bootloader to use"
-msgstr "İstifadə ediləcək Açılış idarəcisi"
+"Cd-Romu dəyişdirin!\n"
+"\n"
+"\"%s\" adlı Cd-Romu sürücünüzə taxın və OLDU'ya basın.\n"
+"Əgər Cd-Rom əlinizdə deyilsə bu Cd-Rom'dan qurmamaq üçün İMTİNA ET'ə basın."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server host"
-msgstr "SMB verici adı"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_gtk.pm_.c:612
+#: ../../install_steps_interactive.pm_.c:804
+#: ../../install_steps_interactive.pm_.c:808
+msgid "Go on anyway?"
+msgstr "Yenə də davam edək?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Name Servers:"
-msgstr "Ad Vericiləri:"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_interactive.pm_.c:804
+msgid "There was an error ordering packages:"
+msgstr "Paketləri istərkən bir xəta oldu:"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Minute"
-msgstr "Dəqiqə"
+#: ../../install_steps_gtk.pm_.c:612 ../../install_steps_interactive.pm_.c:808
+msgid "There was an error installing packages:"
+msgstr "Paketlər qurulurkən bir xəta oldu:"
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:10
msgid ""
"\n"
"Warning\n"
@@ -7376,5958 +4641,4557 @@ msgstr ""
"respective authors and are protected by intellectual property and \n"
"copyright laws applicable to software programs.\n"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Expert mode"
-msgstr "/_Mütəxəssis modu"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
-msgstr "Bu çapçını Star Office/OpenOffice.org/GIMP proqramlarından çıxart"
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-"Linux Virtual Server, yüksək qabiliyyətli vericilər qurmaq üçün işlədilir."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Micronesia"
-msgstr "Mikroneziya"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "4 billion colors (32 bits)"
-msgstr "4 milyard rəng (32 bits)"
+#: ../../install_steps_interactive.pm_.c:67
+msgid "An error occurred"
+msgstr "Bir xəta oldu"
-#: ../../steps.pm:1
-#, c-format
-msgid "License"
-msgstr "Lisenziya"
+#: ../../install_steps_interactive.pm_.c:85
+#, fuzzy
+msgid "Do you really want to leave the installation?"
+msgstr "Şəbəkəni yenidən başlatmaq istəyirsiniz?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to generate the keys."
-msgstr "Açarların yaradılması biraz vaxt ala bilər."
+#: ../../install_steps_interactive.pm_.c:112
+msgid "License agreement"
+msgstr "Lisenziya sözləşməsi"
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:113
msgid ""
-"Here, you can setup the security level and administrator of your machine.\n"
+"Introduction\n"
"\n"
+"The operating system and the different components available in the Mandrake "
+"Linux 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 Mandrake Linux distribution.\n"
"\n"
-"The Security Administrator is the one who will receive security alerts if "
-"the\n"
-"'Security Alerts' option is set. It can be a username or an email.\n"
"\n"
+"1. License Agreement\n"
"\n"
-"The Security Level menu allows you to select one of the six preconfigured "
-"security levels\n"
-"provided with msec. These levels range from poor security and ease of use, "
-"to\n"
-"paranoid config, suitable for very sensitive server applications:\n"
+"Please read this document carefully. 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"
-"<span foreground=\"royalblue3\">Poor</span>: This is a totally unsafe but "
-"very\n"
-"easy to use security level. It should only be used for machines not "
-"connected to\n"
-"any network and that are not accessible to everybody.\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 "
+"occurence of such \n"
+"damages.\n"
"\n"
-"<span foreground=\"royalblue3\">Standard</span>: This is the standard "
-"security\n"
-"recommended for a computer that will be used to connect to the Internet as "
-"a\n"
-"client.\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 Mandrake Linux 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"
-"<span foreground=\"royalblue3\">High</span>: There are already some\n"
-"restrictions, and more automatic checks are run every night.\n"
"\n"
+"3. The GPL License and Related Licenses\n"
"\n"
-"<span foreground=\"royalblue3\">Higher</span>: The security is now high "
-"enough\n"
-"to use the system as a server which can accept connections from many "
-"clients. If\n"
-"your machine is only a client on the Internet, you should choose a lower "
-"level.\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"
-"<span foreground=\"royalblue3\">Paranoid</span>: This is similar to the "
-"previous\n"
-"level, but the system is entirely closed and security features are at their\n"
-"maximum"
-msgstr ""
-"Burada siz, sisteminizin təhlükəsizlik səviyyəsini və idarəsini quraşdıra "
-"bilərsiniz.\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\", \"Mandrake Linux\" and associated logos are trademarks of "
+"MandrakeSoft S.A. \n"
"\n"
-"'Təhlükəsizlik Xəbərdarlıqları' seçimi seçilidirsə Təhlükəsizlik İdarəçisi "
-"təhlükəsizlik\n"
-"xəbərdarlıqlarını alacaq. Təhlükəsizlik İdarəçisi bir istifadəçi adı ya da "
-"ePoçt ola bilər.\n"
"\n"
+"5. Governing Laws \n"
"\n"
-"Təhlükəsizlik Səviyyəsi menyusu əvvəlcədən quraşdırılmış 6 təhlükəsizlik "
-"səviyyəsi \n"
-"arasından birisini seçmə imkanı verir. \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"
-"<span foreground=\"royalblue3\">Zəif</span>: Tamamilə e'tibarsız yalnız\n"
-"işlədilməsi çox asan təhlükəsizlik səviyyəsidir. Bu səviyyə yalnız heç bir\n"
-"şəbəkəyə ya da internetə bağlı olmayan və hərkəs tərəfində yetişilə "
-"bilməyən\n"
-"kompüterlər üçün seçilə bilər.\n"
"\n"
-"<span foreground=\"royalblue3\">Standart</span>: Bu internetə alıcı \n"
-"olaraq bağlanacaq bir kompüter üçün standart təhlükəsizlik səviyyəsidir.\n"
+"1. License Agreement\n"
"\n"
+"Please read this document carefully. 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"
-"<span foreground=\"royalblue3\">Yüksək</span>: Bə'zi məhdudiyyətlər\n"
-"olacaq və hər gecə daha çox avtomatik yoxlama işə salınacaq.\n"
"\n"
+"2. Limited Warranty\n"
"\n"
-"<span foreground=\"royalblue3\">Daha Yüksək</span>: Birdən çox\n"
-"alıcıdan bağlantıları qəbul edən bir verici üçün bu təhlükəsizlik səviyyəsi\n"
-"qəbul edilə bilər. Əgər sisteminiz internet üstündə yalnız bir alıcıdırsa\n"
-" daha alçaq səviyyə seçin.\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 "
+"occurence of such \n"
+"damages.\n"
"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
"\n"
-"<span foreground=\"royalblue3\">Paranoid</span>: Bu, bir əvvəlki \n"
-"səviyyəyə oxşayır yalnız sistem tamamilə bağlıdır və təhlükəsizlik\n"
-"xassələri maksimal vəziyyətdədir."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
-msgstr "Çapçının avtomatik aşkar edilməsi (Yerli, TCP/Soket, və SMB çapçıları)"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using pppoa) usb"
-msgstr "Sagem (pppoa işlədən) usb"
-
-#: ../../install_any.pm:1
-#, c-format
-msgid ""
-"An error occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-"Bir xəta oldu. Yeni fayl sisteminin yaradılacağı hökmlü bir sürücü "
-"tapılmadı. Bu problemin qaynağı üçün avadanlığınızı yoxlayın"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting the printing system at boot time"
-msgstr "Başlarkən çap etmə sistemi işə salınır"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Do you want to start the connection at boot?"
-msgstr "Bağlantınızı açılışda başlatmaq istəyirsiniz?"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Processor ID"
-msgstr "İşlədici ID'si"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound trouble shooting"
-msgstr "Səs problemini həll et"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwerty layout)"
-msgstr "Polyakca (QWERTY sırası)"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Add Printer"
-msgstr "/Çapçı Ə_lavə Et"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
+"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"
-"Drakbackup activities via CD:\n"
"\n"
-msgstr ""
+"3. The GPL License and Related Licenses\n"
"\n"
-"CD üstündə Drakbackup fəaliyyətləri :\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"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to install the printing system %s on a system running in the %"
-"s security level.\n"
"\n"
-"This printing system runs a daemon (background process) which waits for "
-"print jobs and handles them. This daemon is also accessable by remote "
-"machines through the network and so it is a possible point for attacks. "
-"Therefore only a few selected daemons are started by default in this "
-"security level.\n"
+"4. Intellectual Property Rights\n"
"\n"
-"Do you really want to configure printing on this machine?"
-msgstr ""
-"%s çap sistemini %s təhlükəsizlik səviyyəsində icra edəcək bir quruluma "
-"başlamaq üzrəsiniz.\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"
-"Bu çap sistemi, çap vəzifələrini gözlərkən və yazdırarkən bir arxa plan "
-"gedişatı olaraq işləyir. Bu gedişata şəbəkə üstündəki digər sistemlər yetişə "
-"bilər və buna görə də hücumlar da arta bilər. Digər yandan, yalnız bir neçə "
-"proqram bu təhlükəsizlik səviyyəsində əsasolaraq başladıla bilər.\n"
"\n"
-"Bu sistemdə həqiqətən də çap sisteminin quraşdırılmasını istəyirsiniz?"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host \"%s\", port %s"
-msgstr "Qovşaq \"%s\", qapı %s"
+"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"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition can't be used for loopback"
-msgstr "Bu disk bölməsi loopback üçün işlədilə bilməz"
+#: ../../install_steps_interactive.pm_.c:197
+msgid "Are you sure you refuse the licence?"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File already exists. Use it?"
-msgstr "Fayl onsuz da mövcuddur. İşlədilsin?"
+#: ../../install_steps_interactive.pm_.c:217
+#: ../../install_steps_interactive.pm_.c:995
+#: ../../standalone/keyboarddrake_.c:25
+msgid "Keyboard"
+msgstr "Klaviatura"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received: "
-msgstr "alındı: "
+#: ../../install_steps_interactive.pm_.c:218
+#, fuzzy
+msgid "Please choose your keyboard layout."
+msgstr "Klaviatura quruluşunu seçiniz."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Alt key"
-msgstr "Sağ Alt düyməsi"
+#: ../../install_steps_interactive.pm_.c:219
+msgid "Here is the full list of keyboards available"
+msgstr "Bütün mövcud klaviaturaların siyahısı"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the list of alternative drivers for this sound card"
-msgstr "bu səs kartı üçün alternativ sürücülərin siyahısı"
+#: ../../install_steps_interactive.pm_.c:237
+msgid "Which installation class do you want?"
+msgstr "Hansı qurulum sinifini istəyirsiniz?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway"
-msgstr "Şəbəkə Keçidi"
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Install/Update"
+msgstr "Qurulum/Güncəlləmə"
-#: ../../lang.pm:1
-#, c-format
-msgid "Tonga"
-msgstr "Tonqa"
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Is this an install or an update?"
+msgstr "Bu bir qurulum mu, yoxsa güncəlləməmidir?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Tunisia"
-msgstr "Tunis"
+#: ../../install_steps_interactive.pm_.c:250
+msgid "Recommended"
+msgstr "Tövsiyə edilən"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing"
-msgstr "Darayıcı bölüşməsi"
+#: ../../install_steps_interactive.pm_.c:253
+#: ../../install_steps_interactive.pm_.c:256
+msgid "Expert"
+msgstr "Usta"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile: "
-msgstr "Profil: "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Click on a device in the left tree in order to display its information here."
-msgstr "Burada mə'lumatlarını görmək istədiyiniz avadanlığı sol tərəfdə seçin."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid autologin."
-msgstr "Avtomatik girişə icazə ver/vermə."
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#, fuzzy
+msgid "Upgrade"
+msgstr "Güncəlləmə"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "XawTV isn't installed!"
-msgstr "XawTV qurulu deyil!"
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#, fuzzy
+msgid "Upgrade packages only"
+msgstr "Paket seçkilərini saxla"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include critical files (passwd, group, fstab)"
-msgstr "Kritik faylları daxil etmə (passwd, group, fstab)"
+#: ../../install_steps_interactive.pm_.c:282
+#, fuzzy
+msgid "Please choose the type of your mouse."
+msgstr "Xahiş edirik siçanınızın növünü seçin."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "old static device name used in dev package"
-msgstr "dev paketində işlədilən köhnə sabit avadanlıq adı"
+#: ../../install_steps_interactive.pm_.c:288 ../../standalone/mousedrake_.c:52
+msgid "Mouse Port"
+msgstr "Siçan Qapısı"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable the logging of IPv4 strange packets"
-msgstr "Qəribə IPv4 paketlərininm qeyd edilməsini fəallaşdır"
+#: ../../install_steps_interactive.pm_.c:289 ../../standalone/mousedrake_.c:53
+msgid "Please choose on which serial port your mouse is connected to."
+msgstr "Siçanınızın bağlı olduğu serial Qapıyı seçin."
-#: ../../any.pm:1
-#, c-format
-msgid "This label is already used"
-msgstr "Bu etiket onsuzda istifadə edilib"
+#: ../../install_steps_interactive.pm_.c:297
+msgid "Buttons emulation"
+msgstr "Düymə emulyasiyası"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer or connected directly to the network.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected. Also "
-"your network printer(s) must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network printers when you don't need it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
-"\n"
-"Çapçı Quraşdırma Sehirbazına Xoş Gəldiniz\n"
-"\n"
-"Bu sehirbaz kompüterinizə ya da birbaşa şəbəkəyə bağlı olan çapçı ya\n"
-"da çapçıları quraşdırmaqda sizə yardım edəcək.\n"
-"\n"
-"Xahiş edirik, bu kompüterə bağlı olan bütün çapçıları açın ki avtomatik "
-"aşkar edilə bilsinlər. Eyni zamanda şəbəkə kompüterləriniz də açıq "
-"olmalıdır.\n"
-"\n"
-"Qeyd edin ki, şəbəkə üstündəki çapçıların avtomatik aşkar edilməsi "
-"sisteminizə\n"
-"bağlı olan çapçıların açkar edilməsindən daha uzun müddət alır, ona görə "
-"də \n"
-"əgər onlara ehtiyacınız yoxdursa bunların avtomatik aşkar edilməsini "
-"bağlayın.\n"
-"\n"
-" Hazır olanda \"Sonrakı\" düyməsinə, çapçılarınızı indi quraşdırmaq "
-"istəmirsinizsə\"Ləğv Et\" düyməsinə basın."
+#: ../../install_steps_interactive.pm_.c:299
+msgid "Button 2 Emulation"
+msgstr "Düymə 2 emulyasiyası"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek (polytonic)"
-msgstr "Yunanca (politonik)"
+#: ../../install_steps_interactive.pm_.c:300
+msgid "Button 3 Emulation"
+msgstr "Düymə 3 emulyasiyası"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr ""
-"%s bölməsi şəkilləndirildikdən sonra bu bölmədəki bütün mə'lumatlar itəcək."
+#: ../../install_steps_interactive.pm_.c:321
+msgid "Configuring PCMCIA cards..."
+msgstr "PCMCIA kartlar qurulur..."
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection Time: "
-msgstr "Bağlantı Vaxtı:"
+#: ../../install_steps_interactive.pm_.c:321
+msgid "PCMCIA"
+msgstr "PCMCIA"
-#: ../../standalone/livedrake:1
-#, c-format
-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 ""
-"Qurulum CD-Rom'unu sürücünüzə taxın və Oldu düyməsinə basın.\n"
-"Əgər CD-Rom əlinizdə yoxdursa, Ləğv Et düyməsinə basın."
+#: ../../install_steps_interactive.pm_.c:328
+msgid "Configuring IDE"
+msgstr "IDE qapıları qurulur"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use group id for execution"
-msgstr "İcra üçün qrup id'sini işlət"
+#: ../../install_steps_interactive.pm_.c:328
+msgid "IDE"
+msgstr "IDE"
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the default user:"
-msgstr "Əsas istifadəçini seçin:"
+#: ../../install_steps_interactive.pm_.c:345
+msgid "No partition available"
+msgstr "uyğun bölmə tapılmadı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Gabon"
-msgstr "Qabon"
+#: ../../install_steps_interactive.pm_.c:348
+msgid "Scanning partitions to find mount points"
+msgstr "Bağlama nöqtələri üçün bölmələr daranır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Printers on remote CUPS servers do not need to be configured here; these "
-"printers will be automatically detected."
-msgstr ""
-"\n"
-"Uzaq CUPS vericiləri üçün burada heç bir qurğuyaa lüzüm yoxdur;Bu çapçılar "
-"avtomatik təsbit ediləcəkdir."
+#: ../../install_steps_interactive.pm_.c:356
+msgid "Choose the mount points"
+msgstr "Bağlama nöqtələrini seçin"
-#: ../../any.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:386
msgid ""
-"Mandrake Linux can support multiple languages. Select\n"
-"the languages you would like to install. They will be available\n"
-"when your installation is complete and you restart your system."
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
msgstr ""
-"Mandrake Linuks müxtəlif dilləri dəstəkləyir. Qurmaq istədiyiniz\n"
-"dilləri seçin. Onlar qurulum tamamlanandan və sistem yenidən\n"
-"başlayandan sonra istifadəyə hazır olacaqlar."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Directory (or module) to put the backup on this host."
-msgstr "Ehtiyatları bu qovşağa qoylmaq üçün cərgə (ya da modul)"
+#: ../../install_steps_interactive.pm_.c:395
+#, fuzzy
+msgid "No root partition found to perform an upgrade"
+msgstr "Şəkilləndiriləcək disk bölmələrini seçin"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain"
-msgstr "Domen"
+#: ../../install_steps_interactive.pm_.c:396
+msgid "Root Partition"
+msgstr "Kök (root) Bölməsi"
-#: ../../any.pm:1
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Ümumi yaddaş miqdarı (%d MB tapıldı)"
+#: ../../install_steps_interactive.pm_.c:397
+msgid "What is the root partition (/) of your system?"
+msgstr "Sisteminizin kök (/) bölməsi hansıdır?"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
-"automated. DrakX will analyze the disk boot sector and act according to\n"
-"what it finds there:\n"
-"\n"
-" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
-"boot sector. This way you will be able to load either GNU/Linux or another\n"
-"OS.\n"
-"\n"
-" * if a grub or LILO boot sector is found, it will replace it with a new\n"
-"one.\n"
-"\n"
-"If it cannot make a determination, DrakX will ask you where to place the\n"
-"bootloader."
+#: ../../install_steps_interactive.pm_.c:411
+msgid "You need to reboot for the partition table modifications to take place"
msgstr ""
-"LILO və grub ikisi də GNU/Linuks açılış yükləyiciləridir. Normalda bu "
-"mərhələ\n"
-"tamamilə avtomatikdir. DrakX diskin kök sektorunu yoxlayacaq və orada "
-"tapacağı\n"
-"mə'lumatlara görə açağıdakı addımları tətbiq edəcək:\n"
-"\n"
-" * əgər Windows açılış sektoru aşkar edilərsə, DrakX onu grub/LILO açılış "
-"sektoru\n"
-"ilə dəyişdirəcək. Beləliklə, siz həm GNU/Linuksu həm də digər əməliyyat "
-"sisteminizi\n"
-"(Windows ya da MacOS) aça biləcəksiniz.\n"
-"\n"
-" * əgər grub ya da LILO açılış sektoru aşkar edilərsə, o, yenisiylə əvəz "
-"ediləcək.\n"
-"\n"
-"Əgər müəyyən edib qərara gələ bilməzsə, DrakX açılış yükləyicisini hara "
-"yazmaq\n"
-"istədiyinizi sizə soruşacaq."
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 2 (optional)"
-msgstr "Dns xidmətcisi 2 (arzuya görə)"
+"Bölmə cəvəlindəki dəyişikliklərin daxil olması üçün kompüterinizi yenidən "
+"başlatmalısınız."
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Boot device"
-msgstr "Açılış avadanlığı"
+#: ../../install_steps_interactive.pm_.c:435
+msgid "Choose the partitions you want to format"
+msgstr "Şəkilləndiriləcək disk bölmələrini seçin"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to resize?"
-msgstr "Hansı bölmə ölçüləndirilsin?"
+#: ../../install_steps_interactive.pm_.c:436
+msgid "Check bad blocks?"
+msgstr "Xətalı bloklar sınansınmı?"
-#: ../../lang.pm:1
-#, c-format
-msgid "United States Minor Outlying Islands"
-msgstr "Birləşmiş Ştatlar yanı Kiçik Adalar"
+#: ../../install_steps_interactive.pm_.c:463
+msgid "Formatting partitions"
+msgstr "Bölmələr şəkilləndirilir"
-#: ../../lang.pm:1
+#: ../../install_steps_interactive.pm_.c:465
#, c-format
-msgid "Djibouti"
-msgstr "Cibuti"
+msgid "Creating and formatting file %s"
+msgstr "%s faylı yaradılır və şəkilləndirilir"
-#: ../../standalone/logdrake:1
+#: ../../install_steps_interactive.pm_.c:470
#, c-format
-msgid "A tool to monitor your logs"
-msgstr "Qeydlərinizə baxan vasitə"
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can loose data)"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected on port %s"
-msgstr "%s qapısında tapıldı"
+#: ../../install_steps_interactive.pm_.c:472
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Qurulumu bitirmək üçün lazımi sahə yoxdur, xahiş edirik əlavə edin"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD"
-msgstr "LPD"
+#: ../../install_steps_interactive.pm_.c:479
+#, fuzzy
+msgid "Looking for available packages and rebuilding rpm database..."
+msgstr "Mövcud olan paketlər axtarılır."
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics card: %s\n"
-msgstr "Ekran kartı: %s\n"
+#: ../../install_steps_interactive.pm_.c:480
+msgid "Looking for available packages..."
+msgstr "Mövcud olan paketlər axtarılır."
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/Set as _Default"
-msgstr "/Əsas olaraq _müəyyən et"
+#: ../../install_steps_interactive.pm_.c:483
+#, fuzzy
+msgid "Looking at packages already installed..."
+msgstr "Bu paketi sistemdən çıxarda bilməzsınız. Artıq qurulmuşdur."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept icmp echo"
-msgstr "icmp əks sədasını qəbul et"
+#: ../../install_steps_interactive.pm_.c:487
+msgid "Finding packages to upgrade..."
+msgstr "Güncəllənəcək paketlar tapılır"
-#: ../../bootloader.pm:1
+#: ../../install_steps_interactive.pm_.c:505
#, c-format
-msgid "Yaboot"
-msgstr "Yaboot"
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%d "
+"> %d)"
+msgstr ""
+"Sisteminizdə qurulum ya da güncəlləmə üçün lazımi boş yer yoxdur(%d > %d)"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series with Wheel emulation"
-msgstr "Çərx emulyasiyalı Logitech CC Seriyaları"
+#: ../../install_steps_interactive.pm_.c:541
+msgid ""
+"Please choose load or save package selection on floppy.\n"
+"The format is the same as auto_install generated floppies."
+msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Extended partition not supported on this platform"
-msgstr "Bu platformda genişlədilmiş bölmələr dəstəklənmir"
+#: ../../install_steps_interactive.pm_.c:543
+#, fuzzy
+msgid "Load from floppy"
+msgstr "Disketdən geri çağır"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Splash selection"
-msgstr "Sıçrayan ekran seçkisi"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Save on floppy"
+msgstr "Disketə qeyd et"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISDN Configuration"
-msgstr "ISDN quraşdırılması"
+#: ../../install_steps_interactive.pm_.c:547
+#, fuzzy
+msgid "Loading from floppy"
+msgstr "Disketdən geri çağır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "high"
-msgstr "yüksək"
+#: ../../install_steps_interactive.pm_.c:547
+#, fuzzy
+msgid "Package selection"
+msgstr "Paket Qrup Seçkisi"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing"
-msgstr "İnternet Bağlantısı Bölüşdürülməsi"
+#: ../../install_steps_interactive.pm_.c:552
+#, fuzzy
+msgid "Insert a floppy containing package selection"
+msgstr "%s sürücüsünə bir disket taxın"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Choose file"
-msgstr "Fayl seç"
+#: ../../install_steps_interactive.pm_.c:634
+msgid "Selected size is larger than available space"
+msgstr "Seçili böyüklük var olandan daha böyükdür"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Summary: "
-msgstr "İcmal:"
+#: ../../install_steps_interactive.pm_.c:649
+msgid "Type of install"
+msgstr ""
-#: ../../network/shorewall.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:650
msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fixes after installation."
+"You haven't selected any group of packages.\n"
+"Please choose the minimal installation you want:"
msgstr ""
-"Diqqət! Var olan Firewall qurğusu tapıldı. Yükləmədən sonra bir az əl "
-"gəzdirə bilərsiniz."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Photo Card Access on \"%s\""
-msgstr "\"%s\" üstündə Printing/Photo Card Access"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Daily security check"
-msgstr "Günlük təhlükəsizlik yoxlaması"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Do you want to enable printing on the printers mentioned above or on "
-"printers in the local network?\n"
+#: ../../install_steps_interactive.pm_.c:653
+msgid "With X"
msgstr ""
-"Çap etməni yuxarıdakı çapçılarda yoxsa yerli şəbəkə üstündəki çapçılarda "
-"fəal etmək istəyirsiniz?\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer default settings"
-msgstr "Əsas çapçı qurğuları"
+#: ../../install_steps_interactive.pm_.c:655
+msgid "With basic documentation (recommended!)"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Sıravi PS2 Çərxli Siçan"
+#: ../../install_steps_interactive.pm_.c:656
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:741
msgid ""
-"the WP flag in the CR0 register of the cpu enforce write proctection at the "
-"memory page level, thus enabling the processor to prevent unchecked kernel "
-"accesses to user memory (aka this is a bug guard)"
+"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 ""
-"Cpu'nun CR0 qeydindəki WP bayrağı yaddaş səhifəsi səviyyəsində yazma "
-"qorumasını məcbur edir, buna görə də işlədiciyə istifadəçi yaddaşına nəzərdə "
-"olmayan yetişməni ləğv etmə imkanı verir. (bu bir xəta qoruyucusudur)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing old printer \"%s\"..."
-msgstr "Köhnə \"%s\" çapçısı çıxardılır..."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Select a device !"
-msgstr "Avadanlıq seçin !"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected server"
-msgstr "Seçili vericini çıxart"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using dhcp) usb"
-msgstr "Sagem (dhcp işlədən) usb"
+"Aşağıdakı siyahıdakı bütün CD'lərə sahib isəniz, OLDU'ya basın.\n"
+"CD'lərin heç birinə sahib deyilsəniz, İMTİNA ET'ə basın.\n"
+"CD'lərdən bə'ziləi əksik isə, onları seçili vəziyyətdən çıxardıb OLDU'ya "
+"basın."
-#: ../../lang.pm:1
+#: ../../install_steps_interactive.pm_.c:746
#, c-format
-msgid "French Southern Territories"
-msgstr "Cənubi Fransız Sahələri"
+msgid "Cd-Rom labeled \"%s\""
+msgstr "\"%s\" adlı Cd-Rom"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the processor"
-msgstr "işlədicinin e'malatçısı"
+#: ../../install_steps_interactive.pm_.c:767
+msgid "Preparing installation"
+msgstr "Qurulum hazırlanır"
-# needs editing (Metin)
-#: ../../standalone/drakTermServ:1
+#: ../../install_steps_interactive.pm_.c:776
#, c-format
msgid ""
-" - Maintain %s:\n"
-" \tFor users to be able to log into the system from a diskless "
-"client, their entry in\n"
-" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n"
-" \thelps in this respect by adding or removing system users from this "
-"file."
+"Installing package %s\n"
+"%d%%"
msgstr ""
-" - Maintain %s:\n"
-" \tFor users to be able to log into the system from a diskless "
-"client, their entry in\n"
-" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n"
-" \thelps in this respect by adding or removing system users from this "
-"file."
+"%s paketi qurulur\n"
+"%d%%"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All data on this partition should be backed-up"
-msgstr "Bu bölmədəki bütün mə'lumatların ehtiyat nüsxələri alınmalıdır"
+#: ../../install_steps_interactive.pm_.c:822
+msgid "Post-install configuration"
+msgstr "Qurulum sonrası qurğular"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Installing package %s"
-msgstr "%s paketi qurulur"
+#: ../../install_steps_interactive.pm_.c:828
+#, fuzzy, c-format
+msgid "Please insert the Boot floppy used in drive %s"
+msgstr "%s sürücüsünə bir disket taxın"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking device and configuring HPOJ..."
-msgstr "Avadanlıq yoxlanır və HPOJ quraşdırılır..."
+#: ../../install_steps_interactive.pm_.c:834
+#, fuzzy, c-format
+msgid "Please insert the Update Modules floppy in drive %s"
+msgstr "%s sürücüsünə boş bir disket yerləşdirin"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:861
msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr "Artıq bölmə yaratmaq üçün, bir bölməni silib uzadılmış bölmə yaradın"
+"You now have the opportunity to download updated packages. These packages\n"
+"have been released after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates ?"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:876
+#, fuzzy
msgid ""
-"Your printer was configured automatically to give you access to the photo "
-"card drives from your PC. Now you can access your photo cards using the "
-"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
-"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
-"\"man mtools\" on the command line for more info). You find the card's file "
-"system under the drive letter \"p:\", or subsequent drive letters when you "
-"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
-"can switch between drive letters with the field at the upper-right corners "
-"of the file lists."
-msgstr ""
-"Çapçınız avtomatik olaraq sisteminizdəki foto kart sürücülərinə yetişmək "
-"üzrə quraşdırılıb. Artıq foto kartlarınıza \"MtoolsFM\" adlı qrafiki "
-"tə'minat ilə (Menyuda \"Tə'minatlar\" -> \"Fayl vasitələri\" -> \"MTools "
-"Fayl İdarəçisi\") ya da \"mtools\" əmr sətiri ilə (əmr sətirində \"man mtools"
-"\" yazıb mə'lumat ala bilərsiniz) yetişə bilərsiniz. Kartın fayl sisteminə "
-"\"p:\" sürücü hərfindən, dahaçox foto kartlı HP çapçınız varsa, ondan sonra "
-"gələn hərflərdən yetişə bilərsiniz. \"MtoolsFM\"da sürücü hərfləri arasında "
-"keçişi fayl siyahılarının sağ üst güncündəki sahədən həyata keçirə "
-"bilərsiniz."
+"Contacting Mandrake Linux web site to get the list of available mirrors..."
+msgstr "Əks ünvanına bağlantı qurulur"
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose packages to install"
-msgstr "Qurulacaq paketlərin seçimi"
+#: ../../install_steps_interactive.pm_.c:881
+msgid "Choose a mirror from which to get the packages"
+msgstr "Paketleri almaq üçün bir əks ünvanı seçin"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "%s sürüsündəki mövcud bütün bölmələr və onlardakı mə'lumatitiriləcək"
+#: ../../install_steps_interactive.pm_.c:890
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Əks ünvanına bağlantı qurulur"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Your system does not have enough space left for installation or upgrade (%d "
-"> %d)"
-msgstr ""
-"Sisteminizdə qurulum ya da yeniləmə üçün lazımi boş yer yoxdur(%d > %d)"
+#: ../../install_steps_interactive.pm_.c:918
+msgid "Which is your timezone?"
+msgstr "Sisteminiz hansı məqsədlə istifadə ediləcək?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Every printer needs a name (for example \"printer\"). The Description and "
-"Location fields do not need to be filled in. They are comments for the users."
-msgstr ""
-"Hər çapçının bir adı olmalıdır (misal üçün: \"çapçı\"). İzahat və "
-"Mövqesahələrini doldurmaq məcbur deyil. Onlar istifadəçilərə mə'lumat vermək "
-"üçündür."
+#: ../../install_steps_interactive.pm_.c:923
+#, fuzzy
+msgid "Hardware clock set to GMT"
+msgstr "Avadanlıq saatınız GMT-yə göra quruludur mu?"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
-"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
-"information on how to setup a new printer. The interface presented there is\n"
-"similar to the one used during installation."
+#: ../../install_steps_interactive.pm_.c:924
+msgid "Automatic time synchronization (using NTP)"
msgstr ""
-"\"%s\": \"%s\" düyməsinə basmaq çapçı quraşdırma sehirbazını başladacaq."
-#: ../../lang.pm:1
-#, c-format
-msgid "Bhutan"
-msgstr "Butan"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface"
-msgstr "Şəbəkə ara üzü"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet failed."
-msgstr "İnternet bağlantısının kəsilməsi bacarılmadı."
+#: ../../install_steps_interactive.pm_.c:931
+#, fuzzy
+msgid "NTP Server"
+msgstr "NIS Verici"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer data..."
-msgstr "Çapçı datası oxunur..."
+#: ../../install_steps_interactive.pm_.c:965
+#: ../../install_steps_interactive.pm_.c:972
+msgid "Remote CUPS server"
+msgstr "Uzaq CUPS vericisi"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Korean keyboard"
-msgstr "Koreya klaviaturası"
+#: ../../install_steps_interactive.pm_.c:966
+msgid "No printer"
+msgstr "Çap Edicisiz"
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Not connected"
-msgstr "Bağlı deyil"
+#: ../../install_steps_interactive.pm_.c:982
+#, fuzzy
+msgid "Do you have an ISA sound card?"
+msgstr "Başqa var?"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "No internet connection configured"
-msgstr "İnternet bağlantısının quraşdırılması"
+#: ../../install_steps_interactive.pm_.c:984
+msgid "Run \"sndconfig\" after installation to configure your sound card"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek"
-msgstr "Yunanca"
+#: ../../install_steps_interactive.pm_.c:986
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Kitts and Nevis"
-msgstr "Müqəddəs Kit və Nevis"
+#: ../../install_steps_interactive.pm_.c:991 ../../steps.pm_.c:27
+msgid "Summary"
+msgstr "Mündəricat"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse with Wheel emulation"
-msgstr "Çərx emulyasiyalı sıravi 3 düyməli siçan"
+#: ../../install_steps_interactive.pm_.c:994
+msgid "Mouse"
+msgstr "Siçan"
-#: ../../any.pm:1
-#, c-format
-msgid "Enable OF Boot?"
-msgstr "OF Açılışı Fəallaşdırılsın?"
+#: ../../install_steps_interactive.pm_.c:996
+msgid "Timezone"
+msgstr "Vaxt Dilimi"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use JFS for partitions smaller than 16MB"
-msgstr "16MB'dan kiçik disk bölmələrində JFS istifadə edə bilməzsiniz"
+#: ../../install_steps_interactive.pm_.c:997
+#: ../../printer/printerdrake.pm_.c:2759 ../../printer/printerdrake.pm_.c:2844
+msgid "Printer"
+msgstr "Çap Edici"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase your RW media (1st Session)"
-msgstr "RW mediyanızı silin (1ci İclas)"
+#: ../../install_steps_interactive.pm_.c:999
+msgid "ISDN card"
+msgstr "ISDN kartı"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Monitorun Üfüqi Yeniləməsi: %s\n"
+#: ../../install_steps_interactive.pm_.c:1003
+#: ../../install_steps_interactive.pm_.c:1009
+msgid "Sound card"
+msgstr "Səs kartı"
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount point"
-msgstr "Bağlama nöqtəsi"
+#: ../../install_steps_interactive.pm_.c:1012
+msgid "TV card"
+msgstr "TV kartı"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid ""
-"An error occurred:\n"
-"%s\n"
-"Try to change some parameters"
+#: ../../install_steps_interactive.pm_.c:1055
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1084
+msgid "LDAP"
msgstr ""
-"Xəta meydana gəldi:\n"
-"%s\n"
-"Bə'zi parametrləri dəyişdirməyi sınayın"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "TCP/IP host \"%s\", port %s"
-msgstr "TCP/IP qovşağı \"%s\", qapı %s"
+#: ../../install_steps_interactive.pm_.c:1056
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1093
+#, fuzzy
+msgid "NIS"
+msgstr "NIS istifadə et"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "User :"
-msgstr "İstifadəçi :"
+#: ../../install_steps_interactive.pm_.c:1057
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1101
+#: ../../install_steps_interactive.pm_.c:1107
+#, fuzzy
+msgid "Windows Domain"
+msgstr "NIS sahəsi"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore system"
-msgstr "Sistemi qeri yüklə"
+#: ../../install_steps_interactive.pm_.c:1058
+#: ../../install_steps_interactive.pm_.c:1080
+#, fuzzy
+msgid "Local files"
+msgstr "Yerli Çap Edici"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"These are the machines on which the locally connected scanner(s) should be "
-"available:"
-msgstr "Yerli dayarıcılara yetişilə biləcək sistemlər bunlardır:"
+#: ../../install_steps_interactive.pm_.c:1067
+#: ../../install_steps_interactive.pm_.c:1068 ../../steps.pm_.c:24
+msgid "Set root password"
+msgstr "Root parolunu qur"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP end ip"
-msgstr "DHCP sonlanma ip'si"
+#: ../../install_steps_interactive.pm_.c:1069
+msgid "No password"
+msgstr "Parolsuz"
-#: ../../diskdrake/smbnfs_gtk.pm:1
+#: ../../install_steps_interactive.pm_.c:1074
#, c-format
-msgid "Another one"
-msgstr "Başqa birisi"
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Bu parol çox sadədir (en az %d xarakter boyunda olmalıdır)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup"
-msgstr "Drakbackup"
+#: ../../install_steps_interactive.pm_.c:1080 ../../network/modem.pm_.c:72
+#: ../../standalone/drakconnect_.c:623 ../../standalone/logdrake_.c:144
+msgid "Authentication"
+msgstr "Tanıtma"
-#: ../../lang.pm:1
-#, c-format
-msgid "Colombia"
-msgstr "Kolumbiya"
+#: ../../install_steps_interactive.pm_.c:1088
+#, fuzzy
+msgid "Authentication LDAP"
+msgstr "Tanıtma"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Current configuration of `%s':\n"
-"\n"
-"Network: %s\n"
-"IP address: %s\n"
-"IP attribution: %s\n"
-"Driver: %s"
+#: ../../install_steps_interactive.pm_.c:1089
+msgid "LDAP Base dn"
msgstr ""
-"`%s' hazırkı qurğuları:\n"
-"\n"
-"Şəbəkə: %s\n"
-"IP ünvanı: %s\n"
-"IP atrubutlaması: %s\n"
-"Sürücü: %s"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play"
-msgstr "Tax və İşlət"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Reunion"
-msgstr "Reyunion"
-
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Details"
-msgstr "Ətraflı"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "For security reasons, it will be disconnected now."
-msgstr "Təhlükəsizlik səbəbi ilə, indi bağlantı qopacaqdır."
+#: ../../install_steps_interactive.pm_.c:1090
+#, fuzzy
+msgid "LDAP Server"
+msgstr "Verici"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Synchronization tool"
-msgstr "Sinxronlaşdırma vasitəsi"
+#: ../../install_steps_interactive.pm_.c:1096
+#, fuzzy
+msgid "Authentication NIS"
+msgstr "NIS"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking your system..."
-msgstr "Sisteminiz yoxlanır..."
+#: ../../install_steps_interactive.pm_.c:1097
+msgid "NIS Domain"
+msgstr "NIS sahəsi"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print"
-msgstr "Çap Et"
+#: ../../install_steps_interactive.pm_.c:1098
+msgid "NIS Server"
+msgstr "NIS Verici"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1104
msgid ""
-"Insert the tape with volume label %s\n"
-" in the tape drive device %s"
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
msgstr ""
-"%2$s kaset avadanlığının içinə etiketi \n"
-"%1$s olan kasedi daxil edin"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mongolia"
-msgstr "Monqolustan"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mounted\n"
-msgstr "Bağlı\n"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Configure CUPS"
-msgstr "CUPS'u quraşdır"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Interface"
-msgstr "Qrafiki Ara Üz"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Users"
-msgstr "İstifadəçiləri Geri Yüklə"
+#: ../../install_steps_interactive.pm_.c:1106
+#, fuzzy
+msgid "Authentication Windows Domain"
+msgstr "Tanıtma"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Encryption key for %s"
-msgstr "%s üçün şifrələmə açarı"
+#: ../../install_steps_interactive.pm_.c:1108
+#, fuzzy
+msgid "Domain Admin User Name"
+msgstr "Sahə(domain) adı"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you want to recover your system?"
-msgstr "Sisteminizi düzəltmək istəyirsiniz?"
+#: ../../install_steps_interactive.pm_.c:1109
+msgid "Domain Admin Password"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1144
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."
+"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 ""
-"portmapper, NFS ve NIS kimi protokollar tərəfindən istifadə edilən RPC \n"
-"bağlantılarını təşkilatlandırır. Portmap vericisi RPC mexanizmini işlədən\n"
-"protokollarla xidmət edən kompüterlərdə qurulmalıdır və işlədilməlidir."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detected hardware"
-msgstr "Təsbit edilən avadanlıq"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritius"
-msgstr "Maurit"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Myanmar (Burmese)"
-msgstr "Myanmar dili (Burmese)"
+"Xüsusi bir açılış disketi, Linuks sisteminizin normal bir sistem yükləyiciyə "
+"lüzüm\n"
+"olmadan açılmasına imkan verər. Əgə sisteminizə lilo (ya da grub) "
+"qurmayacaqsanız,\n"
+"ya da başqa bir əməliyyat sistemi liloyu silərsa ya da lilo "
+"avadanlığınızlaişləməzsə\n"
+"bu disket sizə yardımçi olacaqdır. Sonradan Mandrake qurtarma disketi "
+"rəsmini\n"
+"istifadə edərək də bu disket yaradıla bilər.\n"
+"Açılış disketi yaratmaq istəyirsiniz?\n"
+"Açılış disketi yaratmaq istəyirsinizsə, birinci disket sürücüyə disket "
+"yerləşdirin\n"
+"və \"OLDU\" basın."
-#: ../../fs.pm:1
-#, c-format
-msgid "Enabling swap partition %s"
-msgstr "%s dəyiş-toqquş sahəsi fəallaşdırılır"
+#: ../../install_steps_interactive.pm_.c:1160
+msgid "First floppy drive"
+msgstr "İlk disket sürücü"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to use as loopback (or not enough space left)"
-msgstr "Loopback üçün FAT bölməsi yoxdur (ya da lazımi yer yoxdur)"
+#: ../../install_steps_interactive.pm_.c:1161
+msgid "Second floppy drive"
+msgstr "İkinci disket sürücü"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (old)"
-msgstr "Ermeni dili (köhnə) "
+#: ../../install_steps_interactive.pm_.c:1162
+#: ../../printer/printerdrake.pm_.c:2397
+msgid "Skip"
+msgstr "Nəzərə Alma"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:1167
#, c-format
msgid ""
-"A printer named \"%s\" already exists under %s. \n"
-"Click \"Transfer\" to overwrite it.\n"
-"You can also type a new name or skip this printer."
+"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?\n"
+"%s"
msgstr ""
-"\"%s\" adında bir çapçı onsuzda %s altında mövcuddur . \n"
-"Üstündən yazmaq üçün \"Transfer\"ə basın.\n"
-"Həmçinin, yeni bir ad daxil edə bilər ya da çapçını keçə bilərsiniz."
+"Xüsusi bir açılış disketi, Linuks sisteminizin normal bir sistem yükləyiciyə "
+"lüzüm\n"
+"olmadan açılmasına imkan verər. Əgə sisteminizə lilo (ya da grub) "
+"qurmayacaqsanız,\n"
+"ya da başqa bir əməliyyat sistemi liloyu silərsa ya da lilo "
+"avadanlığınızlaişləməzsə\n"
+"bu disket sizə yardımçi olacaqdır. Sonradan Mandrake qurtarma disketi "
+"rəsmini\n"
+"istifadə edərək də bu disket yaradıla bilər.\n"
+"Açılış disketi yaratmaq istəyirsiniz?\n"
+"Açılış disketi yaratmaq istəyirsinizsə, birinci disket sürücüyədisklet "
+"yerləşdirin\n"
+"və \"OLDU\" basın.\n"
+"%s"
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1173
msgid ""
-"Find the solutions of your problems via MandrakeSoft's online support "
-"platform."
+"\n"
+"\n"
+"(WARNING! You're using XFS for your root partition,\n"
+"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
+"because XFS needs a very large driver)."
msgstr ""
-"Problemlərinizə çarələri MandrakeSoft'un onlayn dəstək platformunda tapın."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", host \"%s\", port %s"
-msgstr ", qovşaq \"%s\", qapı %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Monaco"
-msgstr "Monako"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Bölmələndirmə bacarılmadı: %s"
-
-#: ../../fs.pm:1 ../../swap.pm:1
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s şəkilləndirilməsində %s bölmə xətası"
+#: ../../install_steps_interactive.pm_.c:1181
+msgid "Sorry, no floppy drive available"
+msgstr "Bağışlayın, disket sürücü yoxdur"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Canada (cable)"
-msgstr "Kanada (kabel)"
+#: ../../install_steps_interactive.pm_.c:1185
+msgid "Choose the floppy drive you want to use to make the bootdisk"
+msgstr "Açılış disketi yaratmaq üçün istifadə ediləcək disket sürücüyü seçin"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Floppy creation completed"
-msgstr "Disket yaradılması tamamlandı"
+#: ../../install_steps_interactive.pm_.c:1189
+#, fuzzy, c-format
+msgid "Insert a floppy in %s"
+msgstr "%s sürücüsünə bir disket taxın"
-#: ../../help.pm:1
-#, c-format
-msgid "Upgrade"
-msgstr "Yeniləmə"
+#: ../../install_steps_interactive.pm_.c:1192
+msgid "Creating bootdisk..."
+msgstr "Açılış disketi yaradılır"
-#: ../../help.pm:1
-#, c-format
-msgid "Workstation"
-msgstr "İş Stansiyası"
+#: ../../install_steps_interactive.pm_.c:1199
+msgid "Preparing bootloader..."
+msgstr "Açılış yükləyici hazırlanır"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1210
msgid ""
-"Installing package %s\n"
-"%d%%"
+"You appear to have an OldWorld or Unknown\n"
+" machine, the yaboot bootloader will not work for you.\n"
+"The install will continue, but you'll\n"
+" need to use BootX to boot your machine"
msgstr ""
-"%s paketi qurulur\n"
-"%d%%"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kyrgyzstan"
-msgstr "Qırğızıstan"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on USB"
-msgstr "USB üstündə çox funksiyalı avadanlıq"
+#: ../../install_steps_interactive.pm_.c:1216
+msgid "Do you want to use aboot?"
+msgstr "aboot istifadə etmək istəyirsiniz?"
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1219
msgid ""
-"We didn't detect any USB key on your system. If you\n"
-"plug in an USB key now, Mandrake Move will have the ability\n"
-"to transparently save the data in your home directory and\n"
-"system wide configuration, for next boot on this computer\n"
-"or another one. Note: if you plug in a key now, wait several\n"
-"seconds before detecting again.\n"
-"\n"
-"\n"
-"You may also proceed without an USB key - you'll still be\n"
-"able to use Mandrake Move as a normal live Mandrake\n"
-"Operating System."
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
msgstr ""
+"aboot qurulumunda xata, \n"
+"ilk disk bölməsini yox etsə belə yenə də qurulmasını istəyirsiniz?"
-#: ../../help.pm:1
-#, c-format
-msgid "With basic documentation"
-msgstr "Əsas sənədlərlə birlikdə"
+#: ../../install_steps_interactive.pm_.c:1226
+#, fuzzy
+msgid "Installing bootloader"
+msgstr "Sistem yükləyicini qur"
-#: ../../services.pm:1
-#, c-format
-msgid "Anacron is a periodic command scheduler."
-msgstr "Anakron, periodik əmr zamanlayıcısı"
+#: ../../install_steps_interactive.pm_.c:1232
+msgid "Installation of bootloader failed. The following error occured:"
+msgstr "Açılış yükləyicisi qurulumu iflas etdi. Xəta:"
-#: ../../install_interactive.pm:1
+#: ../../install_steps_interactive.pm_.c:1240
#, c-format
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 `/'"
+"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 %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
msgstr ""
-"Bir kök bölməsi yaratmalısınız.\n"
-"Bunun üçün istər mövcud bir disk bölümü üzərinə tıqlayın, \n"
-"ya da yeni birini başdan yaradın. Sonra \"Bağlama \n"
-"Nöqtəsi\"gedişatını seçin va buranı '/' olaraq dəyişdirin."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Western Sahara"
-msgstr "Qərbi Saxara"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxy should be http://..."
-msgstr "Vəkil http://... şəklində olmalıdır."
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "South Africa"
-msgstr "Cənubi Afrika"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Eject tape after the backup"
-msgstr "Ehtiyatlama sonrasında kasedi çıxart"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot Floppy/ISO"
-msgstr "Etherboot Disketi/ISO"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Modify printer configuration"
-msgstr "Çapçı qurğularını dəyişdir"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose a partition"
-msgstr "Bölmə seçin"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Edit current rule"
-msgstr "Hazırkı qaydanı düzəlt"
+"Siz Open Fİrmware açılış avadanlığınızı açılış yükləyicisini\n"
+"fəallaşdırmaq üçün dəyişdirməli ola bilərsiniz. Əmr-Seçənək-O-F düymələrini\n"
+" yenidən başlarkən basın və bunları girin:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Sonra da bunları yazın: shut-down\n"
+"Bir sonrakı başlanğıcda açılış yükləyicisi sətirini görməlisiniz."
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:1274
+#: ../../standalone/drakautoinst_.c:76
#, c-format
-msgid "%s"
-msgstr "%s"
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s sürücüsünə boş bir disket yerləşdirin"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Please test the mouse"
-msgstr "Xahiş edirik, siçanınızı seçin"
+#: ../../install_steps_interactive.pm_.c:1278
+msgid "Creating auto install floppy..."
+msgstr "Avtomatik qurulum disketi hazırlanır"
-#: ../../fs.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1289
msgid ""
-"Do not update inode access times on this file system\n"
-"(e.g, for faster access on the news spool to speed up news servers)."
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
msgstr ""
-"Bu fayl sistemi üstündəki inode yetişmə vaxtlarını yeniləmə\n"
-"(mis,xəbərlər vericisini tezləşdirmək üçün)."
+"Bə'zi bölmələr bitdi.\n"
+"\n"
+"Həqiqətən də çıxmaq istəyirsiniz?"
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons with Wheel emulation"
-msgstr "Çərx emulyasiyalı 3 düymə"
+#: ../../install_steps_interactive.pm_.c:1300
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press return to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandrake "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandrake Linux User's Guide."
+msgstr ""
+"Təbriklər, quruluş bitdi.\n"
+"Cdrom və disketi çıxartdıqtan sonra Enter'ə basaraq kompüterinizi \n"
+"yenidən başladın. Linuks Mandrake'nin bu buraxılışındakı yamaqlar haqqında \n"
+"mə'lumat almaq üçün http://www.mandrakelinux.com ünvanından Errata'ya "
+"baxın.\n"
+"Sisteminizin qurğuları haqqında daha geniş bilgiyi Linuks Mandrake \n"
+"İstifadəçi Kitabcığında tapa bilərsiniz."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Sticky-bit"
-msgstr "Sticky-bit"
+#: ../../install_steps_interactive.pm_.c:1313
+msgid "http://www.mandrakelinux.com/en/90errata.php3"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other Media"
-msgstr "Başqa Mediya"
+#: ../../install_steps_interactive.pm_.c:1318
+msgid "Generate auto install floppy"
+msgstr "Avtomatik qurulum disketi hazırlanır"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
+#: ../../install_steps_interactive.pm_.c:1320
+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 hazırlanması seçilərsə,\n"
+"bütün sabit disk mə'lumatı daxil ediləcəkdir!!\n"
+"(yə'ni başqa sistemi də qura bilmək üçün).\n"
+"\n"
+"Bu qurulumu takrar etmək istəyə bilərsiniz axı.\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files"
-msgstr "Sistem fayllarının ehtiyat nüsxəsini çıxart"
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Automated"
+msgstr "Avtomatlaşdırılmış"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Sector"
-msgstr "Sektor"
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Replay"
+msgstr "Təkrarla"
-#: ../../lang.pm:1
-#, c-format
-msgid "Qatar"
-msgstr "Katar"
+#: ../../install_steps_interactive.pm_.c:1328
+msgid "Save packages selection"
+msgstr "Paket seçkilərini saxla"
-#: ../../any.pm:1
+#: ../../install_steps_newt.pm_.c:20
#, c-format
-msgid "LDAP Base dn"
-msgstr "LDAP Əsas dn"
+msgid "Mandrake Linux Installation %s"
+msgstr "Linuks-Mandrake Qurulumu %s"
-#: ../../install_steps_gtk.pm:1
-#, c-format
+#. -PO This string must fit in a 80-char wide text screen
+#: ../../install_steps_newt.pm_.c:33
msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr "Bu paketi seçə bilməzsiniz, çünki qurmaq üçün yer çatmır."
-
-#: ../../help.pm:1
-#, c-format
-msgid "generate auto-install floppy"
-msgstr "avtomatik qurulum disketi hazırla"
+" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
+msgstr ""
+" <Tab>/<Alt-Tab> irəli/geri | <Boşluq> işarətlə | <F12> sonrakı ekran"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Dialing mode"
-msgstr "Yığma modu"
+#: ../../interactive.pm_.c:87
+msgid "kdesu missing"
+msgstr "kdesu əksikdir"
-#: ../../services.pm:1
-#, c-format
-msgid "File sharing"
-msgstr "Fayl bölüşməsi"
+#: ../../interactive.pm_.c:89 ../../interactive.pm_.c:100
+msgid "consolehelper missing"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Clean /tmp at each boot"
-msgstr "/tmp-i hər açılışda təmizlə"
+#: ../../interactive.pm_.c:152
+#, fuzzy
+msgid "Choose a file"
+msgstr "Monitorunuzu seçin"
-#: ../../lang.pm:1
-#, c-format
-msgid "Malawi"
-msgstr "Malavi"
+#: ../../interactive.pm_.c:318
+msgid "Advanced"
+msgstr "Ətraflı"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: false"
-msgstr "yerli qurğu: səhv"
+#: ../../interactive.pm_.c:319 ../../security/main.pm_.c:117
+msgid "Basic"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "System settings"
-msgstr "Sistem qurğuları"
+#: ../../interactive/newt.pm_.c:194 ../../my_gtk.pm_.c:158
+#: ../../printer/printerdrake.pm_.c:2055 ../../ugtk2.pm_.c:434
+msgid "<- Previous"
+msgstr "<- Əvvəlki"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your type of mouse."
-msgstr "Xahiş edirik, siçanınızın növünü seçin."
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../standalone/drakbackup_.c:4060 ../../standalone/drakbackup_.c:4087
+#: ../../standalone/drakbackup_.c:4117 ../../standalone/drakbackup_.c:4143
+#, fuzzy
+msgid "Next"
+msgstr "Sonrakı ->"
-#: ../../services.pm:1
-#, c-format
-msgid "running"
-msgstr "işləmir"
+#: ../../interactive/stdio.pm_.c:29 ../../interactive/stdio.pm_.c:149
+msgid "Bad choice, try again\n"
+msgstr "Xətalı tərcih, təkrar sınayın\n"
-#: ../../standalone/harddrake2:1
+#: ../../interactive/stdio.pm_.c:30 ../../interactive/stdio.pm_.c:150
#, c-format
-msgid "class of hardware device"
-msgstr "avadanlığın sinifi"
+msgid "Your choice? (default %s) "
+msgstr "Seçkiniz? (əsas %s) "
-#: ../../printer/printerdrake.pm:1
+#: ../../interactive/stdio.pm_.c:54
#, c-format
msgid ""
-"These are the machines and networks on which the locally connected printer"
-"(s) should be available:"
+"Entries you'll have to fill:\n"
+"%s"
msgstr ""
-"Yerli olaraq bağlı olan çapçı bu sistem və şəbəkələr üçün də mövcud "
-"olmalıdır:"
-
-#: ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United Kingdom"
-msgstr "Birləşmiş Krallıq"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Indonesia"
-msgstr "İndoneziya"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "default"
-msgstr "əsas"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "France [SECAM]"
-msgstr "Fransızca [SECAM]"
+#: ../../interactive/stdio.pm_.c:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Seçkiniz? (əsas %s) "
-#: ../../any.pm:1
-#, c-format
-msgid "restrict"
-msgstr "məhdudlaşdır"
+#: ../../interactive/stdio.pm_.c:95
+#, fuzzy, c-format
+msgid "Button `%s': %s"
+msgstr "Seçənəklər: %s"
-#: ../../pkgs.pm:1
-#, c-format
-msgid "must have"
-msgstr "sınamağa dəyər"
+#: ../../interactive/stdio.pm_.c:96
+#, fuzzy
+msgid "Do you want to click on this button?"
+msgstr "aboot istifadə etmək istəyirsiniz?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"CUPS does not support printers on Novell servers or printers sending the "
-"data into a free-formed command.\n"
+#: ../../interactive/stdio.pm_.c:105
+msgid " enter `void' for void entry"
msgstr ""
-"CUPS Novell vericilərindəki ya da mə'lumatı sərbəst-şəkilli formda "
-"göndərənçapçıları dəstəkləmir.\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Senegal"
-msgstr "Seneqal"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Command line"
-msgstr "Əmr sətiri"
+#: ../../interactive/stdio.pm_.c:105
+#, fuzzy, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Seçkiniz? (əsas %s) "
-#: ../advertising/08-store.pl:1
+#: ../../interactive/stdio.pm_.c:123
#, c-format
-msgid ""
-"Our full range of Linux solutions, as well as special offers on products and "
-"other \"goodies\", are available on our e-store:"
+msgid "=> There are many things to choose from (%s).\n"
msgstr ""
-"E-dükkanımızda bir sıra Linuks həlli və xüsusi təklif və məhsullarımızın "
-"yanında daha bir çox şey sizi gözləyir:"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "March"
-msgstr "Mart"
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to administrative files"
-msgstr "idarəvi fayllara yetişmə"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../interactive/stdio.pm_.c:126
msgid ""
-"Error during sendmail.\n"
-" Your report mail was not sent.\n"
-" Please configure sendmail"
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
msgstr ""
-"sendmail bacarılmadı.\n"
-" Raport məktubunuz göndərilmədi.\n"
-" Xahiş edirik, sendmail'i quraşdırın"
-#: ../../fs.pm:1
+#: ../../interactive/stdio.pm_.c:139
#, c-format
msgid ""
-"Do not allow set-user-identifier or set-group-identifier\n"
-"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
-"have suidperl(1) installed.)"
+"=> Notice, a label changed:\n"
+"%s"
msgstr ""
-"set-user-identifierya da set-group-identifier fəaliyyətlərinə\n"
-"icazə vermə. (Bu e'tibarlı görsənir, yalnız sisteminizdə suidperl(1)\n"
-"quruludursa təhlükəli ola bilər.)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Montserrat"
-msgstr "Montserrat"
+#: ../../interactive/stdio.pm_.c:146
+msgid "Re-submit"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic dependencies"
-msgstr "Avtomatik asıllılıqlar"
+#: ../../keyboard.pm_.c:153 ../../keyboard.pm_.c:188
+msgid "Czech (QWERTZ)"
+msgstr "Çex dili (QWERTZ)"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Swap"
-msgstr "Dəyiş-toqquş"
+#: ../../keyboard.pm_.c:154 ../../keyboard.pm_.c:190
+msgid "German"
+msgstr "Almanca"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom settings"
-msgstr "Xüsusi qurğular"
+#: ../../keyboard.pm_.c:155
+msgid "Dvorak"
+msgstr "Dvorak"
-#: ../../../move/move.pm:1
-#, c-format
-msgid ""
-"The USB key seems to have write protection enabled, but we can't safely\n"
-"unplug it now.\n"
-"\n"
-"\n"
-"Click the button to reboot the machine, unplug it, remove write protection,\n"
-"plug the key again, and launch Mandrake Move again."
-msgstr ""
+#: ../../keyboard.pm_.c:156 ../../keyboard.pm_.c:198
+msgid "Spanish"
+msgstr "İspanca"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Other"
-msgstr "Diqərlərini Geri Yüklə"
+#: ../../keyboard.pm_.c:157 ../../keyboard.pm_.c:199
+msgid "Finnish"
+msgstr "Fincə"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "TV card"
-msgstr "TV kartı"
+#: ../../keyboard.pm_.c:158 ../../keyboard.pm_.c:200
+msgid "French"
+msgstr "Fransızca"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on SMB/Windows 95/98/NT server"
-msgstr "SMB/Windows 95/98/NT üstündə çapçı"
+#: ../../keyboard.pm_.c:159 ../../keyboard.pm_.c:233
+msgid "Norwegian"
+msgstr "Norveçcə"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Configure CUPS"
-msgstr "/_CUPS'u quraşdır"
+#: ../../keyboard.pm_.c:160
+msgid "Polish"
+msgstr "Polyakca"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ", "
-msgstr ", "
+#: ../../keyboard.pm_.c:161 ../../keyboard.pm_.c:241
+msgid "Russian"
+msgstr "Rusca"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit lspci"
-msgstr "lspci'ni göndər"
+#: ../../keyboard.pm_.c:163 ../../keyboard.pm_.c:243
+msgid "Swedish"
+msgstr "İsveçcə"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected host/network"
-msgstr "Seçili qovşaq/şəbəkəni sil"
+#: ../../keyboard.pm_.c:164 ../../keyboard.pm_.c:259
+msgid "UK keyboard"
+msgstr "İngiliz (UK) klaviaturası"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that moves mail from "
-"one machine to another."
-msgstr ""
-"Posfix, elektronik məktubların bir kompüterdən digərinə yollayan \n"
-"Məktub Yollama Vasitəsidir (Mail Transport Agent)."
+#: ../../keyboard.pm_.c:165 ../../keyboard.pm_.c:260
+msgid "US keyboard"
+msgstr "Amerikan (US) klaviaturası"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Uzbek (cyrillic)"
-msgstr "Özbək dili (kiril)"
+#: ../../keyboard.pm_.c:167
+#, fuzzy
+msgid "Albanian"
+msgstr "Farsca"
-#: ../../keyboard.pm:1
-#, c-format
-msgid ""
-"Here you can choose the key or key combination that will \n"
-"allow switching between the different keyboard layouts\n"
-"(eg: latin and non latin)"
-msgstr ""
-"Fərqli klaviatura düzülüşləri arasında keçişə icazə verən\n"
-"düymə ya da düymələr kombinasiyasını seçə bilərsiniz.\n"
-"(mis: latın və latın olmayan)"
+#: ../../keyboard.pm_.c:168
+msgid "Armenian (old)"
+msgstr "Ermenicə (köhnə) "
-#: ../../network/network.pm:1
-#, c-format
-msgid "Network Hotplugging"
-msgstr "Ani Şəbəkə Fəallaşdırılması (Network Hotplugging)"
+#: ../../keyboard.pm_.c:169
+msgid "Armenian (typewriter)"
+msgstr "Ermenicə (yazı maşını)"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, reports check result to tty."
-msgstr "əgər bəli seçilidirsə, yoxlama nəticəsini tty'yə raportlayır."
+#: ../../keyboard.pm_.c:170
+msgid "Armenian (phonetic)"
+msgstr "Ermenicə (fonetik)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From CD"
-msgstr "CD'dən Geri Yüklə"
+#: ../../keyboard.pm_.c:175
+msgid "Azerbaidjani (latin)"
+msgstr "Azərbaycanca (latın)"
-#: ../../standalone/drakgw:1
-#, c-format
-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"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Kompüterınızi İnternet bağlantısını bölüşdürmək üçün quraşdırırsınız.\n"
-"Bu seçimlələ yerli şəbəkənizdəki başqa kompüterlər sizin İnternet "
-"bağlantınızdan faydalana biləcək.\n"
-"\n"
-"İrəli getmədən əvvəl drakconnect işlədərək Şəbəkə/İnternet bağlantınızı "
-"quraşdırdığınızdan əmin olun.\n"
-"\n"
-"Qeyd: Yerli Şəbəkə (LAN) qurmaq üçün uyğun Şəbəkə Adapterinə ehtiyacınız var."
+#: ../../keyboard.pm_.c:177
+msgid "Belgian"
+msgstr "Belçika dili"
-#: ../../network/ethernet.pm:1
-#, c-format
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet."
-msgstr "İnternetə bağlanmaq üçün şəbəkə adapteri seçin."
+#: ../../keyboard.pm_.c:178
+#, fuzzy
+msgid "Bengali"
+msgstr "fəallaşdır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo memory card access on your HP multi-function device"
-msgstr "HP çox-funksiyalı avadanlığınız üstündə foto yaddaş kartına səlahiyyət"
+#: ../../keyboard.pm_.c:179
+#, fuzzy
+msgid "Bulgarian (phonetic)"
+msgstr "Ermenicə (fonetik)"
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid ""
-"Enhance your computer performance with the help of a selection of partners "
-"offering professional solutions compatible with Mandrake Linux"
-msgstr ""
-"Madrake Lunuks dəstəyi olan ortaq seçmələrimizin yardımı ilə "
-"kompüterinizinişləmə keyfiyyətini artırın"
+#: ../../keyboard.pm_.c:180
+#, fuzzy
+msgid "Bulgarian (BDS)"
+msgstr "Bulqarca"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Authors: "
-msgstr "Müəlliflər:"
+#: ../../keyboard.pm_.c:181
+msgid "Brazilian (ABNT-2)"
+msgstr "Brazilya dili (ABNT-2)"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now disabled."
-msgstr "İnternet Bağlantısı Bölüşdürülməsi indi bağlandı"
+#: ../../keyboard.pm_.c:184
+#, fuzzy
+msgid "Bosnian"
+msgstr "Estoniya dili"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, verify checksum of the suid/sgid files."
-msgstr "əgər bəli seçilidirsə, suid/sgid fayllarının checksum'ını yoxla."
+#: ../../keyboard.pm_.c:185
+msgid "Belarusian"
+msgstr "Belarusca"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latin American"
-msgstr "Latın Amerika dili"
+#: ../../keyboard.pm_.c:186
+msgid "Swiss (German layout)"
+msgstr "İsveçcə (Alman sırası)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Japanese text printing mode"
-msgstr "Yaponca mətn çap etmə modu"
+#: ../../keyboard.pm_.c:187
+msgid "Swiss (French layout)"
+msgstr "İsveçcə (Fransız sırası)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Old device file"
-msgstr "Köhnə avadanlıq faylı"
+#: ../../keyboard.pm_.c:189
+msgid "Czech (QWERTY)"
+msgstr "Çex dili (QWERTY)"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Info: "
-msgstr "Mə'lumat: "
+#: ../../keyboard.pm_.c:191
+msgid "German (no dead keys)"
+msgstr "Almanca (ölü düymələr olmasın)"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Button `%s': %s"
-msgstr "Düymə `%s': %s"
+#: ../../keyboard.pm_.c:192
+msgid "Devanagari"
+msgstr ""
-#: ../../any.pm:1 ../../interactive.pm:1 ../../harddrake/sound.pm:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakxtv:1 ../../standalone/harddrake2:1
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Please wait"
-msgstr "Xahiş edirik, gözləyin"
+#: ../../keyboard.pm_.c:193
+msgid "Danish"
+msgstr "Danimarka dili"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
+#: ../../keyboard.pm_.c:194
+msgid "Dvorak (US)"
+msgstr "Dvorak (US)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "None"
-msgstr "Yoxdur"
+#: ../../keyboard.pm_.c:195
+msgid "Dvorak (Norwegian)"
+msgstr "Dvorak (Norveçcə)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered IP is not correct.\n"
-msgstr "Daxil edilən IP səhvdir.\n"
+#: ../../keyboard.pm_.c:196
+#, fuzzy
+msgid "Dvorak (Swedish)"
+msgstr "Dvorak (US)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please be sure that the cron daemon is included in your services."
-msgstr "Xahiş edirik, cron demonunun xidmətlərinizdə yer aldığından əmin olun."
+#: ../../keyboard.pm_.c:197
+msgid "Estonian"
+msgstr "Estoniya dili"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Ethernet Card"
-msgstr "Eternet Kartı"
+#: ../../keyboard.pm_.c:201
+msgid "Georgian (\"Russian\" layout)"
+msgstr "Gürcü dili (\"Rus\" sırası)"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Delete selected printer"
-msgstr "Seçili çapçını sil"
+#: ../../keyboard.pm_.c:202
+msgid "Georgian (\"Latin\" layout)"
+msgstr "Gürcü dili (\"Latın\" sırası)"
-#: ../../services.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Info"
-msgstr "Mə'lumat"
+#: ../../keyboard.pm_.c:203
+msgid "Greek"
+msgstr "Yunanca"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Install"
-msgstr "Qur"
+#: ../../keyboard.pm_.c:204
+msgid "Gujarati"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Click on \"%s\" if you want to delete all data and partitions present on\n"
-"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
-"to recover any data and partitions present on this hard drive, including\n"
-"any Windows data.\n"
-"\n"
-"Click on \"%s\" to stop this operation without losing any data and\n"
-"partitions present on this hard drive."
+#: ../../keyboard.pm_.c:205
+msgid "Gurmukhi"
msgstr ""
-"Sürücüdəki bütün mə'lumatları və bölmələri silmək üçün\n"
-"\"%s\" düyməsinə basın. Diqqətli olun,\"%s\" düyməsinə basdıqdan sonra\n"
-"Windows mə'lumatları də daxil olmaq üzərə bütün bölmə mə'lumatı geri\n"
-"dönməyəcək şəkildə silinəcək.\n"
-"\n"
-"Bölmədəki mə'lumatları qorumaq üçün və əməliyyatı ləğv etmək üçün \"%s\" "
-"düyməsinə basın."
-#: ../../steps.pm:1
-#, c-format
-msgid "Exit install"
-msgstr "Qurulumun sonu"
+#: ../../keyboard.pm_.c:206
+msgid "Hungarian"
+msgstr "Macarca"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Need a key to save your data"
-msgstr ""
+#: ../../keyboard.pm_.c:207
+msgid "Croatian"
+msgstr "Xırvatca"
-#: ../../standalone/drakgw:1
-#, c-format
-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 ""
-"Hər şey quruldu.\n"
-"İndi isə İnternet bağlantınızı yerli şəbəkədəkı başqa kompüterlər ilə "
-"bölüşdürə bilərsiniz, bunun üçün isə avtomatik şəbəkə quraşdırılması (DHCP) "
-"işlədilir."
+#: ../../keyboard.pm_.c:208
+msgid "Israeli"
+msgstr "İsrail"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Remote CUPS server"
-msgstr "Uzaq CUPS vericisi"
+#: ../../keyboard.pm_.c:209
+msgid "Israeli (Phonetic)"
+msgstr "İsrail (Fonetik)"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Sun - Mouse"
-msgstr "Sun - Siçan"
+#: ../../keyboard.pm_.c:210
+msgid "Iranian"
+msgstr "Farsca"
-#: ../../standalone/drakgw:1
-#, 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."
+#: ../../keyboard.pm_.c:211
+msgid "Icelandic"
+msgstr "İzlandiya dili"
+
+#: ../../keyboard.pm_.c:212
+msgid "Italian"
+msgstr "İtalyanca"
+
+#: ../../keyboard.pm_.c:213
+msgid "Inuktitut"
msgstr ""
-"Sistemnizdə bir dənə qurulmuş şəbəkə adapteri var:\n"
-"\n"
-"%s\n"
-"\n"
-"Yerli Şəbəkə adapterinizi qurmaq üzərəyəm?"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit cpuinfo"
-msgstr "cpuinfo'nu göndər"
+#: ../../keyboard.pm_.c:214
+msgid "Japanese 106 keys"
+msgstr "Yaponca 106 düyməli"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Minimal install"
-msgstr "Minimal qurulum"
+#: ../../keyboard.pm_.c:217
+msgid "Korean keyboard"
+msgstr "Koreya klaviaturası"
-#: ../../lang.pm:1
-#, c-format
-msgid "Ethiopia"
-msgstr "Efiopiya"
+#: ../../keyboard.pm_.c:218
+msgid "Latin American"
+msgstr "Latın Amerika dili"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "YES"
-msgstr "BƏLİ"
+#: ../../keyboard.pm_.c:219
+#, fuzzy
+msgid "Laotian"
+msgstr "Yeri"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable \"crontab\" and \"at\" for users"
-msgstr "İstifadəçilər üçün \"crontab\" və \"at\"i fəallaşdır"
+#: ../../keyboard.pm_.c:220
+msgid "Lithuanian AZERTY (old)"
+msgstr "Litvaniya dili AZERTY (köhnə)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Devanagari"
-msgstr "Devanaqari"
+#: ../../keyboard.pm_.c:222
+msgid "Lithuanian AZERTY (new)"
+msgstr "Litvanya dili AZERTY (yeni)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"- pci devices: this gives the PCI slot, device and function of this card\n"
-"- eide devices: the device is either a slave or a master device\n"
-"- scsi devices: the scsi bus and the scsi device ids"
-msgstr ""
-"- pci avadanlıqları: bu kartın PCI yuvasını, avadanlığını və funksiyasını "
-"verir\n"
-"- eide avadanlıqları: avadanlıq ya master ya da slave vəziyyətindədir\n"
-"- scsi avadanlıqları: scsi bus və scsi avadanlıq id'ləri"
+#: ../../keyboard.pm_.c:223
+msgid "Lithuanian \"number row\" QWERTY"
+msgstr "Litvanya dili \"number row\" QWERTY"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Ümumi böyüklük: %d / %d Mb"
+#: ../../keyboard.pm_.c:224
+msgid "Lithuanian \"phonetic\" QWERTY"
+msgstr "Litvanya dili \"Fonetik\" QWERTY"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "disabled"
-msgstr "qeyri-fəal"
+#: ../../keyboard.pm_.c:225
+#, fuzzy
+msgid "Latvian"
+msgstr "Yeri"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Search for new scanners"
-msgstr "Yeni darayıcıları axtar"
+#: ../../keyboard.pm_.c:226
+msgid "Malayalam"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Disabling servers..."
-msgstr "Vericilər bağlanır..."
+#: ../../keyboard.pm_.c:227
+msgid "Macedonian"
+msgstr "Makedoniya dili"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Installation of %s failed. The following error occured:"
-msgstr "%s qurulumu iflas etdi. Olan xəta:"
+#: ../../keyboard.pm_.c:228
+msgid "Myanmar (Burmese)"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
-msgstr "Bu əmr verilə bilmir: mkinitrd -f /boot/initrd-%s.img %s."
+#: ../../keyboard.pm_.c:229
+#, fuzzy
+msgid "Mongolian (cyrillic)"
+msgstr "Azərbaycanca (kiril)"
-#: ../../install_any.pm:1
-#, 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 ones could be found. In that case, you must make sure\n"
-"to upgrade as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
+#: ../../keyboard.pm_.c:230
+msgid "Maltese (UK)"
msgstr ""
-"Siz aşağıdakı vericiləri seçdiniz: %s\n"
-"\n"
-"\n"
-"Bu vericilər əsas olaraq fəal olur. Onların bilinən heç bir təhlükəsizlik\n"
-"problemləri yoxdur, ancaq bə'zi yeni xətalar tapıla bilər. Belə olsa, "
-"mümükün olan ən yaxın zamanda onları yeniləməlisiniz.\n"
-"\n"
-"\n"
-"Bu vericiləri həqiqətən də qurmaq istəyirsiniz?\n"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network printer (TCP/Socket)"
-msgstr "Şəbəkə çapçısı (TCP/Soket) "
+#: ../../keyboard.pm_.c:231
+msgid "Maltese (US)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup User files..."
-msgstr "İstifadəçi fayllarının ehtiyat nüsxəsini çıxart..."
+#: ../../keyboard.pm_.c:232
+msgid "Dutch"
+msgstr "Hollandiya dili"
-#: ../../steps.pm:1
-#, c-format
-msgid "Install system"
-msgstr "Sistemin qurulumu"
+#: ../../keyboard.pm_.c:234
+msgid "Polish (qwerty layout)"
+msgstr "Polyakca (QWERTY sırası)"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "First DNS Server (optional)"
-msgstr "Birinci DNS Vericisi (arzuya görə)"
+#: ../../keyboard.pm_.c:235
+msgid "Polish (qwertz layout)"
+msgstr "Polyakca (QWERTZ sırası)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Alternatively, you can specify a device name/file name in the input line"
-msgstr "Alternativ olaraq, avadanlıq/fayl adını giriş sətirinə yaza bilərsiniz"
+#: ../../keyboard.pm_.c:236
+msgid "Portuguese"
+msgstr "Portuqalca"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
-"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
-"symlink /etc/security/msec/server to point to\n"
-"/etc/security/msec/server.<SERVER_LEVEL>.\n"
-"\n"
-"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
-"add a service if it is present in the file during the installation of\n"
-"packages."
-msgstr ""
-"Əgər SERVER_LEVEL (yada SECURE_LEVEL əksikdirsə)\n"
-"/etc/security/msec/security.conf içində 3'dən böyükdürsə,\n"
-"/etc/security/msec/server.<SERVER_LEVEL> ünvanına gedən.\n"
-"/etc/security/msec/server simvolik körpüsünü yaradar.\n"
-"\n"
-"/etc/security/msec/server, chkconfig --add tərəfindən\n"
-"paketlərin qurulması sırasında əgər mövcuddursa faylın içinə\n"
-"xidmət əlavə etmək üçün istifadə edilir."
+#: ../../keyboard.pm_.c:237
+msgid "Canadian (Quebec)"
+msgstr "Fransızca (Kanada/Quebec)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian (Phonetic)"
-msgstr "Rus dili (Fonetik)"
+#: ../../keyboard.pm_.c:239
+#, fuzzy
+msgid "Romanian (qwertz)"
+msgstr "Rusca (Yawerty)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Config..."
-msgstr "dhcpd Qurğuları..."
+#: ../../keyboard.pm_.c:240
+#, fuzzy
+msgid "Romanian (qwerty)"
+msgstr "Rusca (Yawerty)"
-#: ../../any.pm:1
-#, c-format
-msgid "LILO/grub Installation"
-msgstr "LILO/grub Qurulumu"
+#: ../../keyboard.pm_.c:242
+msgid "Russian (Yawerty)"
+msgstr "Rusca (Yawerty)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli"
-msgstr "Yəhudi dili"
+#: ../../keyboard.pm_.c:244
+msgid "Slovenian"
+msgstr "Slovencə"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on server \"%s\""
-msgstr "\"%2$s\" vericisi üstündəki \"%1$s\" çapçı"
+#: ../../keyboard.pm_.c:245
+msgid "Slovakian (QWERTZ)"
+msgstr "Slovakca (QWERTZ)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Floppy can be removed now"
-msgstr "İndi disket çıxardıla bilər"
+#: ../../keyboard.pm_.c:246
+msgid "Slovakian (QWERTY)"
+msgstr "Slovakca (QWERTY)"
-#: ../../help.pm:1
-#, c-format
-msgid "Truly minimal install"
-msgstr "Həqiqətən minimal qurulum"
+#: ../../keyboard.pm_.c:248
+#, fuzzy
+msgid "Serbian (cyrillic)"
+msgstr "Azərbaycanca (kiril)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Denmark"
-msgstr "Danimarka"
+#: ../../keyboard.pm_.c:250
+msgid "Tamil (Unicode)"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving partition..."
-msgstr "Bölmə daşınır..."
+#: ../../keyboard.pm_.c:251
+msgid "Tamil (TSCII)"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "(This) DHCP Server IP"
-msgstr "(Bu) DHCP Verici IP'si"
+#: ../../keyboard.pm_.c:252
+msgid "Thai keyboard"
+msgstr "Thai klaviatura"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Test of the configuration"
-msgstr "Qurğuların sınağı"
+#: ../../keyboard.pm_.c:254
+#, fuzzy
+msgid "Tajik keyboard"
+msgstr "Thai klaviatura"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing %s ..."
-msgstr "%s qurulur ..."
+#: ../../keyboard.pm_.c:255
+msgid "Turkish (traditional \"F\" model)"
+msgstr "Türkcə (ənənəvi \"F\" klaviatura)"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"If you told the installer that you wanted to individually select packages,\n"
-"it will present a tree containing all packages classified by groups and\n"
-"subgroups. While browsing the tree, you can select entire groups,\n"
-"subgroups, or individual packages.\n"
-"\n"
-"Whenever you select a package on the tree, a description appears on the\n"
-"right to let you know the purpose of the package.\n"
-"\n"
-"!! If a server package has been selected, either because you specifically\n"
-"chose the individual package or because it was part of a group of packages,\n"
-"you will be asked to confirm that you really want those servers to be\n"
-"installed. By default Mandrake Linux will automatically start any installed\n"
-"services at boot time. Even if they are safe and have no known issues at\n"
-"the time the distribution was shipped, it is entirely possible that that\n"
-"security holes were discovered after this version of Mandrake Linux was\n"
-"finalized. If you do not know what a particular service is supposed to do\n"
-"or why it is being installed, then click \"%s\". Clicking \"%s\" will\n"
-"install the listed services and they will be started automatically by\n"
-"default during boot. !!\n"
-"\n"
-"The \"%s\" option is used to disable the warning dialog which appears\n"
-"whenever the installer automatically selects a package to resolve a\n"
-"dependency issue. Some packages have relationships between each other such\n"
-"that installation of a package requires that some other program is also\n"
-"rerquired to be installed. The installer can determine which packages are\n"
-"required to satisfy a dependency to successfully complete the installation.\n"
-"\n"
-"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
-"package list created during a previous installation. This is useful if you\n"
-"have a number of machines that you wish to configure identically. Clicking\n"
-"on this icon will ask you to insert a floppy disk previously created at the\n"
-"end of another installation. See the second tip of last step on how to\n"
-"create such a floppy."
-msgstr ""
-"Əgər qurulum proqramına paketləri ayrı ayrı seçmək istədiyinizi dedinizsə,\n"
-"o, qrup və alt qruplara ayrılmış paketləri ağac şəklində sizə göstərəcək.\n"
-"Bu ağacda gəzərkən, bütün qrupu, alt qrupu ya da paketləri ayrı ayrı seçə "
-"biləcəksiniz\n"
-"\n"
-"Hər paket seçişinizdə sağ tərəfdə bu paket ilə əlaqəli və onun nə işə\n"
-"yaradığını göstərən mə'lumat yer alacaq.\n"
-"\n"
-"!! Əgər paketin ya da paketin daxil oduğu alt qrupun seçilməsi ilə bir "
-"verici\n"
-"seçilsə, sizə bu vericini həqiqətən də qurmaq istədiyinizi soruşan və "
-"sizdən\n"
-"təsdiq istəyən pəncərə göstəriləcək. Əsas olaraq Mandrake Linuks bütün "
-"qurulu\n"
-"olan xidmətləri açılışda fəal edir. Distribusiyanın çıxdığı vaxt onların "
-"bilinən heç bir\n"
-"xətası ya da təhlükəli yanı olmasa da, mümkündür ki, müəyyən vaxt sonra\n"
-"təhlükəsizlik nöqtələri aşkar edilə bilər. Əgər seçilən xidmətin nə etdiyini "
-"və nəyə\n"
-"yaradığını bilmirsinizsə, \"%s\" düyməsinə basın. \"%s\" düyməsini seçsəniz "
-"isə\n"
-"xidmət sisteminizə qurulacaq və sisteminizin açılışında fəal hala "
-"gətiriləcək.\n"
-"Qeyd: Xidmətlərin açılışda fəal olub olmamasını qurulum bitdikdən sonra da\n"
-"Mandrake İdarə Mərkəzindən quraşdıra bilərsiniz!!\n"
-"\n"
-"\"%s\" seçimi, bir proqramı seçdiyiniz zaman qurulum proqramının o proqram "
-"ilə\n"
-"əlaqəli diqər paket ya da asıllılıqların avtomatik seçməsi üçündür.\n"
-"Bə'zi paketlər bir birindən aslıdır və birinin qurulması digərinin də "
-"qurulmasını\n"
-"məcbur qılır. Bu paketləri qurulum proqramı müvəffəqiyyətlə taparaq "
-"sisteminizə\n"
-"quracaq.\n"
-"\n"
-"Siyahının altındakı kiçik disket rəsmi isə daha əvvəlki qurulumda (əgər "
-"yaratmışsınızsa)\n"
-"yaradılan paket siyahısı faylını yükləmək üçündür. Bu, birdən çox kompüterə "
-"eyni\n"
-"paket ya da proqramları qurmaq istədiyiniz zaman çox əlverişlidir. Düyməyə\n"
-"basdıqdan sonra sizdən disketi daxil etməniz xahiş ediləcək.\n"
-"Belə bir disketi necə yaradılacağını bilmək istəyirsinizsə son qurulum "
-"addımının \n"
-"ikinci yardım abzasına baxa bilərsiniz."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose your filesystem encryption key"
-msgstr "Fayl sistemi şifrələmə açarınızı seçin"
+#: ../../keyboard.pm_.c:256
+msgid "Turkish (modern \"Q\" model)"
+msgstr "Türkcə (müasir \"Q\" klaviatura)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Sierra Leone"
-msgstr "Siera Lione"
+#: ../../keyboard.pm_.c:258
+msgid "Ukrainian"
+msgstr "Ukrayna dili"
-#: ../../lang.pm:1
-#, c-format
-msgid "Botswana"
-msgstr "Botsvana"
+#: ../../keyboard.pm_.c:261
+msgid "US keyboard (international)"
+msgstr "Amerikan (US) klaviaturası (beynəlmiləl)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Andorra"
-msgstr "Andorra"
+#: ../../keyboard.pm_.c:262
+msgid "Vietnamese \"numeric row\" QWERTY"
+msgstr "Vyetnam dili \"numeric row\" QWERTY"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "(default value: %s)"
-msgstr "(əsas qiymət: %s)"
+#: ../../keyboard.pm_.c:263
+#, fuzzy
+msgid "Yugoslavian (latin)"
+msgstr "Yugoslavca (latın/kiril)"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+#: ../../keyboard.pm_.c:270
+msgid "Right Alt key"
msgstr ""
-"Şifrə vaxtının keçməsini \"maks\" gün et və \"qeyri-fəal\" vəziyyətə "
-"dəyişməyi gecikdir."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (Letter)"
-msgstr "Alternativ çap səhifəsi (Məktub)"
+#: ../../keyboard.pm_.c:271
+msgid "Both Shift keys simultaneously"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"DHCP Server Configuration.\n"
-"\n"
-"Here you can select different options for the DHCP server configuration.\n"
-"If you don't know the meaning of an option, simply leave it as it is.\n"
-"\n"
+#: ../../keyboard.pm_.c:272
+msgid "Control and Shift keys simultaneously"
msgstr ""
-"DHCP Verici Quraşdırılması.\n"
-"\n"
-"Burada, DHCP verici quraşdırılması üçün fərqli seçimləri seçə bilərsiniz.\n"
-"Əgər bir seçimin mə'nasını bilmirsinizsə, onu olduğu kimi saxlayın.\n"
-"\n"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Choose an X server"
-msgstr "X vericisini seçin"
+#: ../../keyboard.pm_.c:273
+msgid "CapsLock key"
+msgstr ""
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "Copying to memory to allow removing the CDROM"
+#: ../../keyboard.pm_.c:274
+msgid "Ctrl and Alt keys simultaneously"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Swap partition size in MB: "
-msgstr "Dəyiş-toqquş sahəsi böyüklüyü (Mb): "
+#: ../../keyboard.pm_.c:275
+msgid "Alt and Shift keys simultaneously"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No changes to backup!"
-msgstr "Ehtiyat nüsxəsini dəyişdirmə!"
+#: ../../keyboard.pm_.c:276
+msgid "\"Menu\" key"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Formatted\n"
-msgstr "Şəkilləndirilmiş\n"
+#: ../../keyboard.pm_.c:277
+msgid "Left \"Windows\" key"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Type of install"
-msgstr "Qurulum növü"
+#: ../../keyboard.pm_.c:278
+msgid "Right \"Windows\" key"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../loopback.pm_.c:32
#, c-format
-msgid "Printer \"%s\" on SMB/Windows server \"%s\""
-msgstr "\"%2$s\" SMB/Windows vericisi üstündəki \"%1$s\" çapçısı"
+msgid "Circular mounts %s\n"
+msgstr "Dairəvi bağlama %s\n"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated numbers"
-msgstr "%d vergüllə ayrılmış ədəd"
+#: ../../lvm.pm_.c:103
+msgid "Remove the logical volumes first\n"
+msgstr "Məntiqi ciltləri birinci olaraq sil\n"
-#: ../../services.pm:1
-#, c-format
+#: ../../modules.pm_.c:290
msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
+"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
msgstr ""
-"rusers protokolu bir şəbəkədəkı istifadəçilərin o şəbəkədəkı kompüterlərdə\n"
-"işləyən istifadəçiləri görməsinə imkan verər."
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Automatic Steps Configuration"
-msgstr "Avtomatik Addımların Quraşdırılması"
+#: ../../modules/interactive.pm_.c:16
+msgid "You can configure each parameter of the module here."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Barbados"
-msgstr "Barbados"
+#: ../../modules/parameters.pm_.c:18
+#, fuzzy
+msgid "modinfo is not available"
+msgstr "Disket sürücü yoxdur"
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid ""
-"Want to know more and to contribute to the Open Source community? Get "
-"involved in the Free Software world!"
-msgstr ""
-"Açıq Mənbə cəmiyyəti haqqında daha çox bilmək və yardım etmək istəyirsiniz? "
-"Sərbəst Tə'minat Dünyası ilə tanışın!"
+#: ../../modules/parameters.pm_.c:50
+#, fuzzy
+msgid "a number"
+msgstr "Telefon nömrəsi"
-#: ../../standalone/drakbackup:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "Please select data to backup..."
-msgstr "Xahiş edirik, ehtiyat nüsxəsi çıxardılacaq mə'lumatı seçin..."
+msgid "%d comma separated numbers"
+msgstr ""
-#: ../../standalone/net_monitor:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
+msgid "%d comma separated strings"
msgstr ""
-"Bağlantı iflas etdi.\n"
-"Mandrake İdarə Mərkəzindən qurğularınızı yoxlayın."
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received"
-msgstr "alınan"
+#: ../../modules/parameters.pm_.c:54
+msgid "comma separated numbers"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable su only from the wheel group members or for any user"
-msgstr "su xassəsini yalnız wheel qrupu üzvlərinə ya da hərkəsə açıq et"
+#: ../../modules/parameters.pm_.c:54
+#, fuzzy
+msgid "comma separated strings"
+msgstr "Bölmə şəkilləndirilməsi"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_New"
-msgstr "/Fayl/_Təze"
+#: ../../mouse.pm_.c:25
+msgid "Sun - Mouse"
+msgstr "Sun - Siçan"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DNS Server IP"
-msgstr "DNS Verici IP'si"
+#: ../../mouse.pm_.c:32
+msgid "Logitech MouseMan+"
+msgstr "Logitech MouseMan+"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range End:"
-msgstr "IP Silsiləsi Sonu:"
+#: ../../mouse.pm_.c:33
+msgid "Generic PS2 Wheel Mouse"
+msgstr "Sıravi PS2 Çərxli Siçan"
-#: ../../security/level.pm:1
-#, c-format
-msgid "High"
-msgstr "Yüksək"
+#: ../../mouse.pm_.c:34
+msgid "GlidePoint"
+msgstr "GlidePoint"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Add a new printer to the system"
-msgstr "Sistemə yeni çapçı əlavə et"
+#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:65
+msgid "Kensington Thinking Mouse"
+msgstr "Kensington Thinking Mouse"
-#: ../../any.pm:1
-#, c-format
-msgid "NoVideo"
-msgstr "NoVideo"
+#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:61
+msgid "Genius NetMouse"
+msgstr "Genius NetMouse"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "this field describes the device"
-msgstr "burada avadanlığın izahatı yer alır"
+#: ../../mouse.pm_.c:38
+msgid "Genius NetScroll"
+msgstr "Genius NetScroll"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
-msgstr "Çapçı Office/OpenOffice.org/GIMP proqramlarına əlavə edilir"
+#: ../../mouse.pm_.c:39 ../../mouse.pm_.c:48
+#, fuzzy
+msgid "Microsoft Explorer"
+msgstr "Microsoft IntelliMouse"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printers"
-msgstr "Yerli Çapçılar"
+#: ../../mouse.pm_.c:44 ../../mouse.pm_.c:70
+msgid "1 button"
+msgstr "1 düymə"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation image directory"
-msgstr "Qurulum əksinin cərgəsi"
+#: ../../mouse.pm_.c:45 ../../mouse.pm_.c:53
+msgid "Generic 2 Button Mouse"
+msgstr "Sıravi 2 Düyməli Siçan"
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Server"
-msgstr "NIS Verici"
+#: ../../mouse.pm_.c:47
+msgid "Wheel"
+msgstr "Çərx"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Port: %s"
-msgstr "Qapı: %s"
+#: ../../mouse.pm_.c:51
+msgid "serial"
+msgstr "serial"
-#: ../../lang.pm:1
-#, c-format
-msgid "Spain"
-msgstr "İspaniya"
+#: ../../mouse.pm_.c:54
+msgid "Generic 3 Button Mouse"
+msgstr "Sıravi 3 Düyməli Siçan"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: %s"
-msgstr "yerli qurğu: %s"
+#: ../../mouse.pm_.c:55
+msgid "Microsoft IntelliMouse"
+msgstr "Microsoft IntelliMouse"
-#: ../../any.pm:1
-#, c-format
-msgid "This user name has already been added"
-msgstr "Bu istifadəçi adı onsuzda əlavə edilib"
+#: ../../mouse.pm_.c:56
+msgid "Logitech MouseMan"
+msgstr "Logitech MouseMan"
-#: ../../interactive.pm:1
-#, c-format
-msgid "Choose a file"
-msgstr "Fayl seç"
+#: ../../mouse.pm_.c:57
+msgid "Mouse Systems"
+msgstr "Mouse Systems"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Apply"
-msgstr "Tədbiq Et"
+#: ../../mouse.pm_.c:59
+msgid "Logitech CC Series"
+msgstr "Logitech CC Series"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Auto-detect available ports"
-msgstr "Mövcud qapıları avtomatik təsbit et"
+#: ../../mouse.pm_.c:60
+msgid "Logitech MouseMan+/FirstMouse+"
+msgstr "Logitech MouseMan+/FirstMouse+"
-#: ../../lang.pm:1
-#, c-format
-msgid "San Marino"
-msgstr "San Marino"
+#: ../../mouse.pm_.c:62
+msgid "MM Series"
+msgstr "MM Series"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently disabled"
-msgstr "İnternet Bağlantısı Bölüşdürülməsi hazirda qeyri-fəaldır"
+#: ../../mouse.pm_.c:63
+msgid "MM HitTablet"
+msgstr "MM HitTablet"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Belgium"
-msgstr "Belçika"
+#: ../../mouse.pm_.c:64
+msgid "Logitech Mouse (serial, old C7 type)"
+msgstr "Logitech mouse (serial ya da köhnə C7 növü)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kuwait"
-msgstr "Kuveyt"
+#: ../../mouse.pm_.c:68
+msgid "busmouse"
+msgstr "busmouse"
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the window manager to run:"
-msgstr "İşlətmək istədiyiniz pəncərə idarəçisini seçin:"
+#: ../../mouse.pm_.c:71
+msgid "2 buttons"
+msgstr "2 düyməli"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "December"
-msgstr "Dekabr"
+#: ../../mouse.pm_.c:72
+msgid "3 buttons"
+msgstr "3 düyməli"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "sub generation of the cpu"
-msgstr "cpu'nun alt nəsli"
+#: ../../mouse.pm_.c:75
+msgid "none"
+msgstr "heç biri"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "First Time Wizard"
-msgstr "İlk Dəfə Sehirbazı"
+#: ../../mouse.pm_.c:77
+msgid "No mouse"
+msgstr "Siçansızs"
-#: ../../lang.pm:1
-#, c-format
-msgid "Taiwan"
-msgstr "Tayvan"
+#: ../../mouse.pm_.c:490
+msgid "Please test the mouse"
+msgstr "Xahiş edirik siçanınızı seçin"
-#: ../../lang.pm:1
-#, c-format
-msgid "Pakistan"
-msgstr "Pakistan"
+#: ../../mouse.pm_.c:491
+msgid "To activate the mouse,"
+msgstr "Siçanınızı işə salmaq üçün,"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "please wait, parsing file: %s"
-msgstr "xahiş edirik gözləyin, fayl oxunur: %s"
+#: ../../mouse.pm_.c:492
+msgid "MOVE YOUR WHEEL!"
+msgstr "TƏKƏRİ OYNADIN!"
-#: ../../install_steps.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
+#: ../../my_gtk.pm_.c:65
+msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
msgstr ""
-"Bir xəta oldu, yalnız necə düzəldiləcəyi bilinmir.\n"
-"Davam edin, riski sizə aitdir!"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Importance: "
-msgstr "Əhəmiyyət:"
+#: ../../my_gtk.pm_.c:159 ../../ugtk2.pm_.c:435
+msgid "Finish"
+msgstr "Qurtar"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To be able to print with your Lexmark inkjet and this configuration, you "
-"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
-"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
-"\"Linux\" as operating system. The drivers come as RPM packages or shell "
-"scripts with interactive graphical installation. You do not need to do this "
-"configuration by the graphical frontends. Cancel directly after the license "
-"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
-"adjust the head alignment settings with this program."
-msgstr ""
-"Lexmark mürəkkəb fıskırtmalı çapçını və qurğuları istifadə edərək çap "
-"etməküçün Lexmark (http://www.lexmark.com/) tərəfindən tə'yin edilən "
-"sürücülərəehtiyacınız var. \"Sürücülər\" bağlantısına tıqlayın. Modelinizi "
-"və sonra əməliyyat sistemi olaraq \"Linuks\"u seçin. Sürücülər RPM paketi "
-"vəya interaktiv qrafiki qurulumu olan qabıq skriptləridir. Bu quraşdırmanı "
-"qrafiki ara üzlə etməniz məcburi deyil. Lisenziya razılaşmasından sonra. "
-"birbaşa çıxın. Daha sonra \"lexmarkmain\" ilə çapçı başı hizalama "
-"səhifəsiniçap edin və baş hizalamasını bu proqram vasitəsiylə quraşdırın."
+#: ../../my_gtk.pm_.c:159 ../../printer/printerdrake.pm_.c:2057
+#: ../../ugtk2.pm_.c:435
+msgid "Next ->"
+msgstr "Sonrakı ->"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Permissions"
-msgstr "Səlahiyyətlər"
+#: ../../my_gtk.pm_.c:287 ../../ugtk2.pm_.c:926
+msgid "Is this correct?"
+msgstr "Doğrudur?"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider name (ex provider.net)"
-msgstr "İnternet xidmət vericinizin adı (məsələn azeronline.com)"
+#: ../../my_gtk.pm_.c:359 ../../services.pm_.c:227 ../../ugtk2.pm_.c:1011
+msgid "Info"
+msgstr "Mə'lumat"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid ""
-"Your system is low on resources. You may have some problem installing\n"
-"Mandrake Linux. 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ı çatışmır. Qurulum ərzində problem yaşaya "
-"bilərsiniz\n"
-"Bu baş verərsə mətn aracılığı ilə qurulumu sınamalısınız. Bunun üçün "
-"dəCDROMdan başlatdığınız zaman,\n"
-" 'F1'ə basın və 'text' yazaraq enter'ə basın."
+#: ../../my_gtk.pm_.c:380 ../../ugtk2.pm_.c:1036
+msgid "Expand Tree"
+msgstr "Ağacı Aç"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use the Windows partition for loopback"
-msgstr "Loopback üçün Windows bölməsini işlət"
+#: ../../my_gtk.pm_.c:381 ../../ugtk2.pm_.c:1037
+msgid "Collapse Tree"
+msgstr "Ağacı Qapat"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (typewriter)"
-msgstr "Ermenicə (yazı makinası)"
+#: ../../my_gtk.pm_.c:382 ../../ugtk2.pm_.c:1038
+msgid "Toggle between flat and group sorted"
+msgstr "Otaq və grup sıralaması arasında gəz"
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection type: "
-msgstr "Bağlantı növü:"
+#: ../../network/adsl.pm_.c:23
+msgid "use pppoe"
+msgstr "pppoe istifadə et"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Graphical interface"
-msgstr "Qrafiki ara üz"
+#: ../../network/adsl.pm_.c:24
+msgid "use pptp"
+msgstr "pptpe istifadə et"
-#: ../../lang.pm:1
-#, c-format
-msgid "Chad"
-msgstr "Çad"
+#: ../../network/adsl.pm_.c:25
+msgid "use dhcp"
+msgstr "dhcp istifadə et"
-#: ../../lang.pm:1
-#, c-format
-msgid "India"
-msgstr "Hindistan"
+#: ../../network/adsl.pm_.c:26
+msgid "Alcatel speedtouch usb"
+msgstr ""
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "3D avadanlıq sür'ətləndirməsi ilə XFree %s"
+#: ../../network/adsl.pm_.c:27
+msgid "Sagem (using pppoe) usb"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovakia"
-msgstr "Slovakiya"
+#: ../../network/adsl.pm_.c:29 ../../network/ethernet.pm_.c:36
+msgid "Connect to the Internet"
+msgstr "İnternetə bağlan"
-#: ../../lang.pm:1
-#, c-format
-msgid "Singapore"
-msgstr "Sinqapur"
+#: ../../network/adsl.pm_.c:30
+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ə bağlanmanın ən yaxşı yolu pppoe'dur.\n"
+"Bəzi bağlantılar pptp istifadə edir, çox azı isə dhcp işlədir.\n"
+"Bilmirsiniz isə 'pppop istifadə et'i seçin"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cambodia"
-msgstr "Kambodiya"
+#: ../../network/adsl.pm_.c:166
+msgid ""
+"You need the alcatel microcode.\n"
+"Download it at\n"
+"http://www.speedtouchdsl.com/dvrreg_lx.htm\n"
+"and copy the mgmt.o in /usr/share/speedtouch"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Monitorun Şaquli Daraması: %s\n"
+#: ../../network/drakfirewall.pm_.c:12
+#, fuzzy
+msgid "Web Server"
+msgstr "Verici"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path"
-msgstr "Cığır"
+#: ../../network/drakfirewall.pm_.c:17
+#, fuzzy
+msgid "Domain Name Server"
+msgstr "Sahə(domain) adı"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "NOT FOUND"
-msgstr "TAPILMADI"
+#: ../../network/drakfirewall.pm_.c:32
+#, fuzzy
+msgid "Mail Server"
+msgstr "Databeyz"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here you can specify any arbitrary command line into which the job should be "
-"piped instead of being sent directly to a printer."
-msgstr ""
-"Burada siz, birbaşa çapçıya göndərmək yerinə vəzifənin borulanacağı hər "
-"hansı bir əmr sətirini müəyyən edə bilərsiniz."
+#: ../../network/drakfirewall.pm_.c:37
+#, fuzzy
+msgid "POP and IMAP Server"
+msgstr "Verici"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:111
+#, fuzzy
+msgid "No network card"
+msgstr "şəbəkə kartı tapılmadı"
+
+#: ../../network/drakfirewall.pm_.c:129
+#, fuzzy
msgid ""
-"The printing system (%s) will not be started automatically when the machine "
-"is booted.\n"
-"\n"
-"It is possible that the automatic starting was turned off by changing to a "
-"higher security level, because the printing system is a potential point for "
-"attacks.\n"
+"drakfirewall configurator\n"
"\n"
-"Do you want to have the automatic starting of the printing system turned on "
-"again?"
+"This configures a personal firewall for this Mandrake Linux machine.\n"
+"For a powerful dedicated firewall solution, please look to the\n"
+"specialized MandrakeSecurity Firewall distribution."
msgstr ""
-"Çap sistemi (%s) sistemin açılışında avtomatik olaraq başladılmayacaq.\n"
+"tinyfirewall configurator\n"
"\n"
-"Çap sistemi mümkünatı olan bir hücüm nöqtəsi olduğuna görə daha yüksək\n"
-"təhlükəsizlik səviyyəsinə ehtiyacı var və buna görə də avtomatik "
-"başladmanın.\n"
-"qeyri-fəallaşdırılılması daha uyğun yol olacaq.\n"
-"Çap sisteminin avtomatik başladılmasını yenə də istiyirsiniz?"
+"Bu, Linuks Mandrake sisteminiz üçün şəxsi bir firewall quraşdıracaqdır.\n"
+"Daha güclü və e'tibarlı sistem üçün xahiş edirik xüsusi MandrakeSecurity "
+"Firewall\n"
+"buraxılışını tədqiq edin."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:135
msgid ""
-"Printer %s\n"
-"What do you want to modify on this printer?"
+"drakfirewall configurator\n"
+"\n"
+"Make sure you have configured your Network/Internet access with\n"
+"drakconnect before going any further."
msgstr ""
-"%s çap edicisi\n"
-"Bu çapçı üstündə nəyi dəyişdirmək istəyirsiniz?"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add host"
-msgstr "Qovşaq əlavə et"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"If you really think that you know which driver is the right one for your "
-"card\n"
-"you can pick one in the above list.\n"
-"\n"
-"The current driver for your \"%s\" sound card is \"%s\" "
+#: ../../network/drakfirewall.pm_.c:152
+msgid "Which services would you like to allow the Internet to connect to?"
msgstr ""
-"Kartınız üçün hansı sürücünün uyğun gəldiyini dəqiq bilirsinizsə yuxarıdakı\n"
-"siyahıdan birisini seçə bilərsiniz.\n"
-"\n"
-"\"%s\" səs kartınız üçün hazırkı sürücü \"%s\"dir"
-#: ../../any.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:153
msgid ""
-"Would you like to allow users to share some of their directories?\n"
-"Allowing this will permit users to simply click on \"Share\" in konqueror "
-"and nautilus.\n"
-"\n"
-"\"Custom\" permit a per-user granularity.\n"
+"You can enter miscellaneous ports. \n"
+"Valid examples are: 139/tcp 139/udp.\n"
+"Have a look at /etc/services for information."
msgstr ""
-"İstifadəçilərə onların bə'zi qovluqlarını bölüşmə icazəsi vermək "
-"istəyirsiniz?\n"
-"Buna icazə versəniz, istifadəçilər konqueror və nautilus'dakı \"Bölüş\"\n"
-"menyusundan qovluqlarını bölüşdürə bilərlər.\n"
-"\n"
-"\"Xüsusi\" seçənəyi, hər istifadəçiyə fərqli icazə vermək üçün istifadə "
-"edilir.\n"
-#: ../../install_steps_interactive.pm:1
+#: ../../network/drakfirewall.pm_.c:159
#, c-format
msgid ""
-"Please choose load or save package selection on floppy.\n"
-"The format is the same as auto_install generated floppies."
+"Invalid port given: %s.\n"
+"The proper format is \"port/tcp\" or \"port/udp\", \n"
+"where port is between 1 and 65535."
msgstr ""
-"Xahiş edirik, paket seçkilərini disketə qeyd et/disketdən yüklə\n"
-"seçənəyini seçin."
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "No CDROM support"
-msgstr "Radio dəstəyi:"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "China (broadcast)"
-msgstr "Çin (translasiya)"
+#: ../../network/drakfirewall.pm_.c:167
+msgid "Everything (no firewall)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use quota for backup files."
-msgstr "Ehtiyat nüsxəsi faylları üçün sərhəd qoy."
+#: ../../network/drakfirewall.pm_.c:169
+#, fuzzy
+msgid "Other ports"
+msgstr "Qapıları sına"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer \"%s\"..."
-msgstr "\"%s\" çapçısı quraşdırılır..."
+#: ../../network/ethernet.pm_.c:37
+msgid ""
+"Which dhcp client do you want to use?\n"
+"Default is dhcp-client"
+msgstr ""
+"Hansı dhcp alıcısını istifadə edəcəksiniz?\n"
+"Əsası dhcp-client dir"
-#: ../../fs.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:88
msgid ""
-"Do not allow execution of any binaries on the mounted\n"
-"file system. This option might be useful for a server that has file systems\n"
-"containing binaries for architectures other than its own."
+"No ethernet network adapter has been detected on your system.\n"
+"I cannot set up this connection type."
msgstr ""
-"Bağlı fayl sistemi üstündəki ikili faylların icra edilməsinə icazə vermə\n"
-"Bu, öz me'marisi xaricindəki fayl sistemləri üçün icra edilə bilən faylları "
-"daxil\n"
-"edən bir verici üçün faydalı ola bilər."
+"Sisteminizdə heç bir eternet şəbəkə adapteri tapıla bilmədi.\n"
+"Bu bağlantı şəklini qura bilmərəm."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Internet connection"
-msgstr "İnternet bağlantısı"
+#: ../../network/ethernet.pm_.c:92 ../../standalone/drakgw_.c:234
+msgid "Choose the network interface"
+msgstr "Şəbəkə ara üzünü seçin"
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:93
msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"%s modulunun yüklənməsi iflas etdi.\n"
-"Yenidən başqa bir parametr ilə sınamaq istəyirsiniz?"
+"Please choose which network adapter you want to use to connect to Internet"
+msgstr "İnternetə bağlanmaq üçün şəbəkə adapteri seçin."
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Welcome to the Open Source world."
-msgstr "Açıq Mənbə Dünyasına Xoş Gəldiniz."
+#: ../../network/ethernet.pm_.c:176
+msgid "no network card found"
+msgstr "şəbəkə kartı tapılmadı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bosnia and Herzegovina"
-msgstr "Bosniya və Herzoqovina"
+#: ../../network/ethernet.pm_.c:200 ../../network/network.pm_.c:349
+msgid "Configuring network"
+msgstr "Şəbəkə Qurğuları"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:201
msgid ""
-"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
-"point\n"
+"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 ""
-"Bu bağlama nöqtəsi üçün həqiqi bir fayl sisteminə (ext2/ext3, reiserfs, xfs, "
-"ya da jfs)ehtiyacınız var\n"
+"Xahiş edirik kompüterinizın adını girin.\n"
+"Məsələn``kompüteradı.sahəadı.com''.\n"
+"Əgə şəbəkə keçidi istifadə edirsinizsə bunun da IP nömrəsini girməlisiniz."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "You must enter a host name or an IP address.\n"
-msgstr "Bir qovşaq adı ya da IP ünvanı daxil etməlisiniz.\n"
+#: ../../network/ethernet.pm_.c:205 ../../network/network.pm_.c:354
+msgid "Host name"
+msgstr "Ev sahibi adı"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Netherlands"
-msgstr "Hollandiya"
+#: ../../network/isdn.pm_.c:21 ../../network/isdn.pm_.c:44
+#: ../../network/netconnect.pm_.c:89 ../../network/netconnect.pm_.c:103
+#: ../../network/netconnect.pm_.c:156 ../../network/netconnect.pm_.c:171
+#: ../../network/netconnect.pm_.c:222 ../../network/netconnect.pm_.c:245
+#: ../../network/netconnect.pm_.c:253
+msgid "Network Configuration Wizard"
+msgstr "Şəbəkə Quraşdırılması Sehirbazı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files by FTP"
-msgstr "Fayllar FTP ilə göndərilir"
+#: ../../network/isdn.pm_.c:22
+msgid "External ISDN modem"
+msgstr "Xarici ISDN kart"
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:22
msgid "Internal ISDN card"
msgstr "Daxili ISDN kart"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:22
+msgid "What kind is your ISDN connection?"
+msgstr "ISDN bağlantınızın növü nədir?"
+
+#: ../../network/isdn.pm_.c:45
msgid ""
-"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
-"currently uses \"%s\""
+"Which ISDN configuration do you prefer?\n"
+"\n"
+"* The Old configuration uses isdn4net. It contains powerful\n"
+" tools, but is tricky to configure, and not standard.\n"
+"\n"
+"* The New configuration is easier to understand, more\n"
+" standard, but with less tools.\n"
+"\n"
+"We recommand the light configuration.\n"
msgstr ""
-"Hazırda \"%2$s\" işlədən %1$s səs kartınız üçün bilinən başqa OSS/ALSA "
-"sürücü mövcud deyil"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Title"
-msgstr "Başlıq"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install & convert Fonts"
-msgstr "Yazı növlərini qur və çevir"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WARNING"
-msgstr "DİQQƏT"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing bootloader"
-msgstr "Açılış yükləyicisi qurulur"
+#: ../../network/isdn.pm_.c:54
+#, fuzzy
+msgid "New configuration (isdn-light)"
+msgstr "Oddan divar (Firewall) quruluşu tapıldı!"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "replay"
-msgstr "təkrarla"
+#: ../../network/isdn.pm_.c:54
+#, fuzzy
+msgid "Old configuration (isdn4net)"
+msgstr "Oddan divar (Firewall) quruluşu tapıldı!"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected %s"
-msgstr "%s tapıldı"
+#: ../../network/isdn.pm_.c:166 ../../network/isdn.pm_.c:184
+#: ../../network/isdn.pm_.c:196 ../../network/isdn.pm_.c:202
+#: ../../network/isdn.pm_.c:209 ../../network/isdn.pm_.c:219
+msgid "ISDN Configuration"
+msgstr "ISDN quraşdırılması"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/isdn.pm_.c:166
msgid ""
-"Expect is an extension to the Tcl scripting language that allows interactive "
-"sessions without user intervention."
+"Select your provider.\n"
+"If it isn't listed, choose Unlisted."
msgstr ""
-"Expect, Tcl skript dili üçün bir uzantıdır və istifadəçi müdaxiləsi olmadan "
-"interaktiv iclasları mümkün qılır."
+"İnternet xidmət vericinizi seçin.\n"
+"Siyahıda deyilsə Siyahıda deyil'i seçin."
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (U.S.)"
-msgstr "Virgin Adaları (ABŞ)"
+#: ../../network/isdn.pm_.c:179
+#, fuzzy
+msgid "Europe protocol"
+msgstr "Açılış Protokolu"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Bad backup file"
-msgstr "Xətalı ehtiyat faylı"
+#: ../../network/isdn.pm_.c:179
+#, fuzzy
+msgid "Europe protocol (EDSS1)"
+msgstr "Avropa (EDSS1)"
-#: ../../standalone/drakgw:1
-#, c-format
-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 Bağlantısı Bölüşdürülməsi quraşdırılması onsuzda edilib.\n"
-"Hazırda qeyri-fəaldır.\n"
-"\n"
-"Nə etmək istəyirsiniz?"
+#: ../../network/isdn.pm_.c:181
+#, fuzzy
+msgid "Protocol for the rest of the world"
+msgstr "Bütün dünya"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter IP address and port of the host whose printers you want to use."
+#: ../../network/isdn.pm_.c:181
+#, fuzzy
+msgid ""
+"Protocol for the rest of the world\n"
+"No D-Channel (leased lines)"
msgstr ""
-"Çapçılarını işlətmək istədiyiniz qovşağın IP ünvanı və qapısını daxil edin."
+"Bütün dünya \n"
+" D-Channel'lə xaric (kiralıq xətlər)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Pipe into command"
-msgstr "Əmri borula"
+#: ../../network/isdn.pm_.c:185
+msgid "Which protocol do you want to use?"
+msgstr "Hansı protokolu istifadə etmək istəyirsiniz?"
-#: ../../install_interactive.pm:1
+#: ../../network/isdn.pm_.c:196
#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
+msgid "Found \"%s\" interface do you want to use it ?"
msgstr ""
-"Sisteminizdaki bə'zi avadanlıqlar işləməsi üçün düzgün sürücülərə ehtiyac "
-"duyar.\n"
-"Bunun haqqında %s də/a lazımi malumatları tapa bilərsiniz"
-#: ../../lang.pm:1
-#, c-format
-msgid "Haiti"
-msgstr "Haiti"
+#: ../../network/isdn.pm_.c:203
+msgid "What kind of card do you have?"
+msgstr "Hansı növ kartınız var?"
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detecting devices..."
-msgstr "Avadanlıqlar tapılır..."
+#: ../../network/isdn.pm_.c:204
+msgid "I don't know"
+msgstr "Bilmirəm"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Custom allows you to specify your own day and time. The other options use "
-"run-parts in /etc/crontab."
-msgstr ""
-"Xüsusi, sizə öz gün və vaxtınızı seçmə imkanı verir. Diqər seçimlər /etc/"
-"crontab faylındakı icra hissələrini işlədir."
+#: ../../network/isdn.pm_.c:204
+msgid "ISA / PCMCIA"
+msgstr "ISA / PCMCIA"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/isdn.pm_.c:204
+msgid "PCI"
+msgstr "PCI"
+
+#: ../../network/isdn.pm_.c:210
msgid ""
-"Description of the fields:\n"
"\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 ""
-"Sahələrin izahatı:\n"
"\n"
+"ISA kartınız var isə sonrakı ekrandakı qiymətlər doğru olmalıdır.\n"
+"\n"
+"PCMCIA kartınız var isə kartınızın irq və ya io'sunu bilməlisiniz.\n"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Basic options"
-msgstr "Bəsit seçimlər:"
+#: ../../network/isdn.pm_.c:214
+msgid "Abort"
+msgstr "Dayandır"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the name of the CPU"
-msgstr "CPU adı"
+#: ../../network/isdn.pm_.c:214
+msgid "Continue"
+msgstr "Davam et"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept bogus IPv4 error messages"
-msgstr "Xətalı IPv4 xəta ismarışlarını qəbul et"
+#: ../../network/isdn.pm_.c:220
+msgid "Which is your ISDN card?"
+msgstr "Hansısı sizin ISDN kartınızdır?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refreshing printer data..."
-msgstr "Çapçı mə'lumatları yenilənir..."
+#: ../../network/isdn.pm_.c:239
+msgid ""
+"I have detected an ISDN PCI card, but I don't know its type. Please select a "
+"PCI card on the next screen."
+msgstr ""
+"ISDN PCI kart tapdım, amma növünü bilmirəm. Xahiş edirik sonrakı ekrandakı "
+"kartlardan birini seçin."
-#: ../../install2.pm:1
-#, c-format
-msgid "You must also format %s"
-msgstr "Eyni zamanda %s da şəkilləndirilməlidir"
+#: ../../network/isdn.pm_.c:248
+msgid "No ISDN PCI card found. Please select one on the next screen."
+msgstr "Heç bir ISDN PCI kart tapılmaı. Sonrakı ekrandakılardan seçin."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Be careful: this operation is dangerous."
-msgstr "Diqqətlı olun: bu əməliyyat təhlükəlidir."
+#: ../../network/modem.pm_.c:57
+msgid "Please choose which serial port your modem is connected to."
+msgstr "Modeminizin hansı serial qapıya bağlı olduğunu seçiniz"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Insert a floppy containing package selection"
-msgstr "Paket seçkilərini daxil edən disketi taxın"
+#: ../../network/modem.pm_.c:67
+msgid "Dialup options"
+msgstr "Çevirməli şəbəkə seçənəkləri"
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server: "
-msgstr "Verici:"
+#: ../../network/modem.pm_.c:68 ../../standalone/drakconnect_.c:619
+msgid "Connection name"
+msgstr "Bağlantı adı"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Alerts:"
-msgstr "Təhlükəsizlik Xəbərdarlıqları:"
+#: ../../network/modem.pm_.c:69 ../../standalone/drakconnect_.c:620
+msgid "Phone number"
+msgstr "Telefon nömrəsi"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Sweden"
-msgstr "İsveç"
+#: ../../network/modem.pm_.c:70 ../../standalone/drakconnect_.c:621
+msgid "Login ID"
+msgstr "Giriş adı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Expect for SSH"
-msgstr "SSH üçün Expect işlət"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "CHAP"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Poland"
-msgstr "Polşa"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "PAP"
+msgstr "PAP"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Other ports"
-msgstr "Diqər qapılar"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Script-based"
+msgstr "Skript əsaslı"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "number of capture buffers for mmap'ed capture"
-msgstr "mmap'lanmış yaxalama üçün yaxalama buferlərinin miqdarı"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Terminal-based"
+msgstr "Terminal əsaslı"
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid " - detected"
-msgstr "tapıldı"
+#: ../../network/modem.pm_.c:73 ../../standalone/drakconnect_.c:624
+msgid "Domain name"
+msgstr "Sahə(domain) adı"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SMBus controllers"
-msgstr "SMBus idarəçiləri"
+#: ../../network/modem.pm_.c:74 ../../standalone/drakconnect_.c:625
+msgid "First DNS Server (optional)"
+msgstr "Birinci DNS Vericisi (arzuya görə)"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection timeout (in sec)"
-msgstr "Bağlantı vaxt dolması (saniyə sonra)"
+#: ../../network/modem.pm_.c:75 ../../standalone/drakconnect_.c:626
+msgid "Second DNS Server (optional)"
+msgstr "İkinci DNS Vericisi (arzuya görə)"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/modem.pm_.c:95
msgid ""
-"Some of the early i486DX-100 chips cannot reliably return to operating mode "
-"after the \"halt\" instruction is used"
+"Your modem isn't supported by the system.\n"
+"Take a look at http://www.linmodems.org"
msgstr ""
-"Bə'zi köhnə i486DX-100 mikrosxemlər \"halt\" əmrindən sonra idarə etmə "
-"moduna düzgün geri dönə bilmirdi"
-#: ../../keyboard.pm:1
+#: ../../network/modem.pm_.c:97
#, c-format
-msgid "Croatian"
-msgstr "Xorvat dili"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Use existing partition"
-msgstr "Mövcud bölməni işlət"
+msgid ""
+"\"%s\" based winmodem detected, do you want to install needed software ?"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Unable to contact mirror %s"
-msgstr "%s əksi ilə rabitə qurula bilmir"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Do nothing"
+msgstr "amma oxşamır"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Help/_About..."
-msgstr "/Yardım/_Haqqında..."
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Install rpm"
+msgstr "Qurulum"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remove user directories before restore."
-msgstr "İstifadəçi cərgələrini ehtiyat nüsxələrini qeri yükləmədən əvvəl sil"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Title"
+msgstr "Cədvəl"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:29
msgid ""
-"You are going to configure a remote printer. This needs working network "
-"access, but your network is not configured yet. If you go on without network "
-"configuration, you will not be able to use the printer which you are "
-"configuring now. How do you want to proceed?"
+"\n"
+"You can disconnect or reconfigure your connection."
msgstr ""
-"Bir çəbəkə çapçısını quraşdırma üçün şəbəkəyə yetişmə səlahiyyətiniz var, "
-"yalnız hələ quraşdırılmayıb. Şəbəkə quraşdırması olmadan indi quraşdırmaq "
-"istədiyiniz çapçını işədə bilməyəcəksiniz. Necə davam etmək istəyirsiniz?"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS printer configuration"
-msgstr "CUPS çapçı qurğuları"
+"\n"
+"Bağlantınızı kəsə bilərsiniz. Ya da bağlantını yenidən də quraşdıra "
+"bilərsiniz."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font in your mounted partitions"
-msgstr "bağlanmış bölmələrinizdə heç bir yazı növü tapıla bilmədi"
+#: ../../network/netconnect.pm_.c:29 ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can reconfigure your connection."
+msgstr ""
+"\n"
+"Bağlantınızı yenidən quraşdıra bilərsiniz."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "F00f bug"
-msgstr "F00f xətası"
+#: ../../network/netconnect.pm_.c:29
+msgid "You are currently connected to internet."
+msgstr "Artıq İnternetə bağlısınız."
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
+#: ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can connect to Internet or reconfigure your connection."
+msgstr ""
+"\n"
+"İstəsəniz İnternetə bağlana bilərsiniz ya da yeniden quraşdıra bilərsiniz."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Domain Name:"
-msgstr "Domen Adı:"
+#: ../../network/netconnect.pm_.c:32
+msgid "You are not currently connected to Internet."
+msgstr "Hələ İnternetə bağlı deyilsiniz."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Root umask"
-msgstr "Ali istifadəçi umask'ı"
+#: ../../network/netconnect.pm_.c:36
+msgid "Connect"
+msgstr "Bağlan"
-#: ../../any.pm:1
-#, c-format
-msgid "On Floppy"
-msgstr "Disketə"
+#: ../../network/netconnect.pm_.c:37
+msgid "Disconnect"
+msgstr "Bağlantını kəs"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Reboot by the console user"
-msgstr "Konsol sitifadəçisi tərəfindən yenidən başlatma"
+#: ../../network/netconnect.pm_.c:38
+#, fuzzy
+msgid "Configure the connection"
+msgstr "Şəbəkəni qur"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore"
-msgstr "Geri yüklə"
+#: ../../network/netconnect.pm_.c:41
+msgid "Internet connection & configuration"
+msgstr "İnternet bağlantısı & quraşdırılması"
-#: ../../standalone/drakclock:1
+#: ../../network/netconnect.pm_.c:94
#, fuzzy, c-format
-msgid "Server:"
-msgstr "Verici:"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgid "We are now going to configure the %s connection."
msgstr ""
-"əgər bəli seçilidirsə, şəbəkə avadanlıqlarının nizamsız modda olduğunu yoxla."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages..."
-msgstr "Mövcud olan paketlər axtarılır."
+"\n"
+"Bağlantınızı kəsə bilərsiniz. Ya da bağlantını yenidən də quraşdıra "
+"bilərsiniz."
-#: ../../../move/move.pm:1
+#: ../../network/netconnect.pm_.c:103
#, fuzzy, c-format
-msgid "Please wait, setting up system configuration files on USB key..."
-msgstr "Xahiş edirik, gözləyin, təhlükəsizlik səviyyəsi seçilir..."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Init Message"
-msgstr "Init İsmarışı"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Rescue partition table"
-msgstr "Bölmə cədvəlini qurtar"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cyprus"
-msgstr "Kipr"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection complete."
-msgstr "Bağlantı tamamlandı."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from RAID"
-msgstr "RAID'dən ayır"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This encryption key is too simple (must be at least %d characters long)"
-msgstr "Bu şifrələmə açarı çox sadədir (ən az %d hərf böyüklüyündə olmalıdır)"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Configuration Wizards"
-msgstr "Quraşdırma Sehirbazları"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ISDN connection"
-msgstr "ISDN Bağlantısı"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD-R / DVD-R"
-msgstr "CD-R / DVD-R"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "primary"
-msgstr "əsas"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on SMB/Windows server \"%s\", share \"%s\""
-msgstr " SMB/Windows vericisi üstündə \"%s\", bölüşülmüş sahə \"%s\""
-
-#: ../../help.pm:1
-#, c-format
msgid ""
-"This dialog is used to choose which services you wish to start at boot\n"
-"time.\n"
"\n"
-"DrakX will list all the services available on the current installation.\n"
-"Review each one carefully and uncheck those which are not needed at boot\n"
-"time.\n"
"\n"
-"A short explanatory text will be displayed about a service when it is\n"
-"selected. However, if you are not sure whether a service is useful or not,\n"
-"it is safer to leave the default behavior.\n"
"\n"
-"!! At this stage, be very careful if you intend to use your machine as a\n"
-"server: you will probably not want to start any services that you do not\n"
-"need. Please remember that several services can be dangerous if they are\n"
-"enabled on a server. In general, select only the services you really need.\n"
-"!!"
-msgstr ""
-"Bu dialoq, açılışda avtomatik olaraq başlamasını istədiyiniz xidmətləri \n"
-"seçmək üçündür.\n"
+"We are now going to configure the %s connection.\n"
"\n"
-"DrakX hazırkı qurulumda mövcud olan bütün xidmətləri siyahıda göstərəcək.\n"
-"Hər birini diqqətlə nəzərdən keçirin və açılış vaxtı ehtiyac hiss "
-"etmədiyiniz\n"
-"xidmətlərin qabağındakı seçimi silin.\n"
"\n"
-" Siçan xidmətin üzərinə gələndə o xidmətin vəzifəsini başa salan mətn\n"
-"göstəriləcək. Yalnız, əgər xidmətin faydalı olub olmamasından əmin "
-"deyilsəniz\n"
-"ən yaxşısı onu olduğu kimi saxlamaq olacaq.\n"
+"Press OK to continue."
+msgstr ""
"\n"
-"!! Əgər kompüteriniz verici olaraq istifadə ediləcəksə, bu addıma diqqət\n"
-"ayırmalısınız: istəmədiyiniz xidmətləri başlanğıcda başlatmaq "
-"istəməyəcəksiniz.\n"
-"Diqqətinizdə saxlayın ki, bə'zi xidmətlər fəal isə, bu verici üstündə "
-"təhlükəli ola bilər.\n"
-"!!"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Niue"
-msgstr "Niu"
+"Bağlantınızı kəsə bilərsiniz. Ya da bağlantını yenidən də quraşdıra "
+"bilərsiniz."
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Skip"
-msgstr "Keç"
+#: ../../network/netconnect.pm_.c:132 ../../network/netconnect.pm_.c:272
+#: ../../network/netconnect.pm_.c:292 ../../network/tools.pm_.c:77
+msgid "Network Configuration"
+msgstr "Şəbəkə quraşdırılması"
-#: ../../services.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:133
msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
+"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 ""
-"Açılış sırasında başlamaq üçün qurulmuş bütün şəbəkə axtar üzlərini "
-"fəallaşdırır ya da bağlayır."
+"Şəbəkədən quraşdırması apardığınız üçün şəbəkəniz artıq qurulmuş olmalıdır.\n"
+"Şəbəkə/İnternet bağlantınızı yenidən quraşdırmaq üçün Oldu'ya yoxsa Ləğv "
+"et'ə basın.\n"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/netconnect.pm_.c:157
msgid ""
-"the CPU frequency in MHz (Megahertz which in first approximation may be "
-"coarsely assimilated to number of instructions the cpu is able to execute "
-"per second)"
-msgstr "MHz olaraq CPU tezliyi"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "important"
-msgstr "vacib"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Mandrake Linux Printer Management Tool"
-msgstr "Mandrake Linuks Çapçı İdarəsi Vasitəsi"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total Progress"
-msgstr "Ümumi İrəliləmə"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"DrakX will first detect any IDE devices present in your computer. It will\n"
-"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
-"found, DrakX will automatically install the appropriate driver.\n"
-"\n"
-"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
-"your hard drives. If so, you'll have to specify your hardware by hand.\n"
-"\n"
-"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
-"want to configure options for it. You should allow DrakX to probe the\n"
-"hardware for the card-specific options which are needed to initialize the\n"
-"adapter. Most of the time, DrakX will get through this step without any\n"
-"issues.\n"
+"Welcome to The Network Configuration Wizard.\n"
"\n"
-"If DrakX is not able to probe for the options to automatically determine\n"
-"which parameters need to be passed to the hardware, you'll need to manually\n"
-"configure the driver."
+"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 ""
-"DrakX əvvəlcə kompüterinizdə mövcud olan bütün IDE adapterleri \n"
-"axtarmağa cəhd edəcək. Eyni zamanda sisteminizdəki PCI SCSI kartları\n"
-"da axtarılacaq. Əgər SCSI kart tapılsa sürücüsü avtomatik qurulacaq\n"
-"\n"
-"Bəzən DrakX sabit disklərinizi müvəffəqiyyətlə aşkar etməyə bilər.\n"
-"Bu vəziyyətdə avadanlığınızı əllə müəyyən etməli olacaqsınız.\n"
+"Şəbəkə Quraşdırma Sehirbazına Xoç Gəldiniz\n"
"\n"
-"Əgər PCI SCSI adapterini əllə müəyyən etsəniz DrakX sizdən onun qurğularını\n"
-"sazlamak istədiyinizi soruşacaq, sizə sisteminizdə SCSI\n"
-"adapteri olub olmadığı soruşulacaq. İmkan verin ki, DrakX sərbəstcə özü\n"
-"xüsusiyyətləri tapsın. Çox vaxt DrakX bu addımdan müvəffəqiyyətlə\n"
-"və xətasız çıxacaq.\n"
-"Əgər DrakX avadanlığa avtomatik olaraq hansı parametrlərin yollanacağını\n"
-"tapmaq üçün seçimləri qurğulaya bilməzsə sürücünü əllə siz quraşdırmaq\n"
-"məcburiyyətində qalacaqsınız."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Aruba"
-msgstr "Aruba"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Users"
-msgstr "İstifadəçilər"
+"İnternet/Şəbəkə qurğularınızı edəcəyik.\n"
+"Avtomatik təsbit istəmirsiniz isə işarəti qaldırın.\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing bootloader..."
-msgstr "Açılış yükləyici hazırlanır"
+#: ../../network/netconnect.pm_.c:163
+msgid "Choose the profile to configure"
+msgstr "Qurulacaq profili seçin"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Enter your user information, password will be used for screensaver"
-msgstr ""
+#: ../../network/netconnect.pm_.c:164
+msgid "Use auto detection"
+msgstr "Avtomatik təsbit işlət"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway (e.g. %s)"
-msgstr "Şəbəkə Keçidi (mis. %s)"
+#: ../../network/netconnect.pm_.c:165 ../../printer/printerdrake.pm_.c:2966
+#: ../../standalone/drakconnect_.c:271 ../../standalone/drakconnect_.c:274
+#: ../../standalone/drakfloppy_.c:118
+msgid "Expert Mode"
+msgstr "Usta Modu"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "The passwords do not match"
-msgstr "Şifrələr uyğun gəlmir"
+#: ../../network/netconnect.pm_.c:171 ../../printer/printerdrake.pm_.c:364
+msgid "Detecting devices..."
+msgstr "Avadanlıqlar tanınır..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Examples for correct IPs:\n"
-msgstr "Düzgün IP nümunələri:\n"
+#: ../../network/netconnect.pm_.c:214
+msgid "Normal modem connection"
+msgstr "Normal modem təsbiti"
-#: ../../standalone/drakbackup:1
+#: ../../network/netconnect.pm_.c:214
#, c-format
-msgid "Please choose the media for backup."
-msgstr "Xahiş edirik, ehtiyat nüsxəsi çıxardılacaq mediyanı seçin."
+msgid "detected on port %s"
+msgstr "%s qapısında tapıldı"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Frequency (MHz)"
-msgstr "Sıxlıq (MHz)"
+#: ../../network/netconnect.pm_.c:215
+#, fuzzy
+msgid "Winmodem connection"
+msgstr "Normal modem təsbiti"
-#: ../../install_any.pm:1
-#, c-format
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-"Bu saxlanmış paketlər seçkisini işlətmək üçün qurulumu ``linux "
-"defcfg=floppy''ilə başladın."
+#: ../../network/netconnect.pm_.c:215 ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "detected"
+msgstr "%s tapıldı"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the number of the processor"
-msgstr "işlədicinin nömrəsi"
+#: ../../network/netconnect.pm_.c:216
+msgid "ISDN connection"
+msgstr "ISDN Bağlantısı"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../network/netconnect.pm_.c:216
#, c-format
-msgid "Hardware clock set to GMT"
-msgstr "Avadanlıq saatı GMT'yə görə quruludur"
+msgid "detected %s"
+msgstr "%s tapıldı"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Do you want to start a new configuration ?"
-msgstr "Yeni quraşdırma başladmaq istəyirsiniz?"
+#: ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "ADSL connection"
+msgstr "Yerli Şəbəkə quraşdırılması"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Give a file name"
-msgstr "Fayl adı verin"
+#: ../../network/netconnect.pm_.c:218
+msgid "Cable connection"
+msgstr "Kabel bağlantısı"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the port that your printer is connected to."
-msgstr "Çapçınızın hansı qapıya bağlı olduğunu seçin."
+#: ../../network/netconnect.pm_.c:218
+#, fuzzy
+msgid "cable connection detected"
+msgstr "Kabel bağlantısı"
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Change Cd-Rom"
-msgstr "CD-Rom'u dəyişdirin"
+#: ../../network/netconnect.pm_.c:219
+msgid "LAN connection"
+msgstr "Yerli Şəbəkə quraşdırılması"
-#: ../../lang.pm:1
-#, c-format
-msgid "Paraguay"
-msgstr "Paraqvay"
+#: ../../network/netconnect.pm_.c:219
+msgid "ethernet card(s) detected"
+msgstr "eternet kart tapıldı"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Configuration is complete, do you want to apply settings ?"
-msgstr "Quraşdırma qurtardı, dəyişiklikləri tətbiq etmək istəyirsiniz ?"
+#: ../../network/netconnect.pm_.c:222
+#, fuzzy
+msgid "Choose the connection you want to configure"
+msgstr "İstifadə edəcəyiniz vasitəni seçin"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental/Differential Backups (do not replace old backups)"
+#: ../../network/netconnect.pm_.c:246
+msgid ""
+"You have configured multiple ways to connect to the Internet.\n"
+"Choose the one you want to use.\n"
+"\n"
msgstr ""
-"Artan/Diferensial Ehtiyatları İşlət (köhnə ehtiyatları qətiyyən əvəz etmə)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain /etc/dhcpd.conf:\n"
-" \tTo net boot clients, each client needs a dhcpd.conf entry, "
-"assigning an IP \n"
-" \taddress and net boot images to the machine. drakTermServ helps "
-"create/remove \n"
-" \tthese entries.\n"
-"\t\t\t\n"
-" \t(PCI cards may omit the image - etherboot will request the correct "
-"image. \n"
-"\t\t\tYou should also consider that when etherboot looks for the images, it "
-"expects \n"
-"\t\t\tnames like boot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
-"\t\t\t \n"
-" \tA typical dhcpd.conf stanza to support a diskless client looks "
-"like:"
-msgstr ""
-" - /etc/dhcpd.conf'u Saxla:\n"
-" \t\tŞəbəkə açılış alıcılarına,hər alıcının IP ünvanı tə'yin edən "
-"dhcpd.conf giriçi mövcud olmalıdır\n"
-" \t\tvə sistemə şəbəkə açılış əksləri üçün. drakTermServ bu girişləri "
-"yaratmaq/silmək üçün sizə yardım edir.\n"
-"\t\t\t\n"
-" \t\t(PCI kartları əksi işlətməyə bilər - etherboot düzgün əksi "
-"istəyəcəkdir. Siz, eyni zamanda\n"
-" \t\tetherboot'un əksləri axtarırkən, bu cür ad gözləyir:\n"
-" \t\tboot-3c59x.nbi yalnız boot-3c59x.2.4.19-16mdk.nbi kimi YOX).\n"
-"\t\t\t \n"
-" \t\tTipik dhcpd.conf stanza disksiz alıcıları dəstəkləyir və buna "
-"bənzəyir: "
+#: ../../network/netconnect.pm_.c:247
+#, fuzzy
+msgid "Internet connection"
+msgstr "İnternet Bağlantısı Bölüşdürülməsi"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no known driver for your sound card (%s)"
-msgstr "Sizin (%s) səs kartınız üçün sürücü mövcud deyil"
+#: ../../network/netconnect.pm_.c:253
+msgid "Do you want to start the connection at boot?"
+msgstr "Bağlantınızı açılışda başlatmaq istəyirsiniz?"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "force"
-msgstr "zorla"
+#: ../../network/netconnect.pm_.c:267
+msgid "Network configuration"
+msgstr "Şəbəkə quraşdırılması"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Exit"
-msgstr "Çıxış"
+#: ../../network/netconnect.pm_.c:268
+msgid "The network needs to be restarted"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../network/netconnect.pm_.c:272
#, c-format
msgid ""
-"NOTE: Depending on the printer model and the printing system up to %d MB of "
-"additional software will be installed."
+"A problem occured while restarting the network: \n"
+"\n"
+"%s"
msgstr ""
-"QEYD: Çapçı modeli və çap sisteminə bağlı olaraq %d MB'a qədər əlavə "
-"tə'minatqurulacaq."
+"Şəbəkənin yenidən başladılması sırasında xəta oldu: \n"
+"\n"
+"%s"
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../network/netconnect.pm_.c:282
msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
+"Congratulations, the network and Internet configuration is finished.\n"
+"The configuration will now be applied to your system.\n"
+"\n"
msgstr ""
-"Qurulu ara üzünüz yoxdur.\n"
-"Əvvəlcə onları 'Quraşdır'a basaraq qurun"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Estonian"
-msgstr "Estoniya dili"
+"Təbrik edirik, internet və şəbəkə quraşdırılması qurtardı.\n"
+"\n"
+"Qurğular indi sisteminizə əlavə ediləcək.\n"
-#: ../../services.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:286
msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+"After this is done, we recommend that you restart your X environment to "
+"avoid any hostname-related problems."
msgstr ""
-"Apache bir World Wide Web vericisidir. HTML faylları və CGI verilməsi üçün "
-"istifadə edilir."
+"Bu edildikdən sonra Xdən çıxmağınızı tövsiyyə edirik, yoxsa\n"
+"verici adı xəsarətləri meydana gələ bilər."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/netconnect.pm_.c:287
msgid ""
-"Enter your CD Writer device name\n"
-" ex: 0,1,0"
+"Problems occured during configuration.\n"
+"Test your connection via net_monitor or mcc. If your connection doesn't "
+"work, you might want to relaunch the configuration."
msgstr ""
-"CD Yazıcı avadanlığınızın adını daxil edin\n"
-" mis: 0,1,0"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ALL"
-msgstr "HAMISI"
+#: ../../network/network.pm_.c:278
+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 ""
+"DİQQƏT: Bu avadanlıq daha əvvəl İntenetə bağlanmaq üçün qurulmuşdur.\n"
+"Avadanlığın qurğularını dəyişdirmaək istəmirsiniz isə,\n"
+"OLDU ya basın.\n"
+"Aşağıdakı girişləri düzəltməniz özünü əvvəlki qurğuların üstünə yazacaqdır."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Clients"
-msgstr "Alıcı Əlavə Et/Sil"
+#: ../../network/network.pm_.c:283
+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 kompüter üçün IP qurğularını girin"
-#: ../../network/ethernet.pm:1 ../../standalone/drakgw:1
-#: ../../standalone/drakpxe:1
+#: ../../network/network.pm_.c:293 ../../network/network.pm_.c:294
#, c-format
-msgid "Choose the network interface"
-msgstr "Şəbəkə ara üzünü seçin"
+msgid "Configuring network device %s"
+msgstr "%s şəbəkə avadanlığı qurulur"
-#: ../../printer/detect.pm:1 ../../printer/printerdrake.pm:1
+#: ../../network/network.pm_.c:294
#, c-format
-msgid "Unknown Model"
-msgstr "Namə'lum Model"
+msgid " (driver %s)"
+msgstr " (sürücü %s)"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CD/DVD burners"
-msgstr "CD/DVD yazıcılar"
+#: ../../network/network.pm_.c:296 ../../standalone/drakconnect_.c:228
+#: ../../standalone/drakconnect_.c:464
+msgid "IP address"
+msgstr "IP ünvanı"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Əsas olaraq açılan bölmə\n"
-" (MS-DOS açılışı üçün, lilo üçün deyil)\n"
+#: ../../network/network.pm_.c:297 ../../standalone/drakconnect_.c:465
+#: ../../standalone/drakgw_.c:291
+msgid "Netmask"
+msgstr "Netmask"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to read the file"
-msgstr "Faylı oxumaq üçün \"%s\"i fəallaşdır"
+#: ../../network/network.pm_.c:298
+msgid "(bootp/dhcp)"
+msgstr "(bootp/dhcp)"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image"
-msgstr "rəsmi seçin"
+#: ../../network/network.pm_.c:298
+msgid "Automatic IP"
+msgstr "Avtomatlaşdırılmış IP"
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid "Firewalling configuration detected!"
-msgstr "Atəş divarı quruluşu tapıldı!"
+#: ../../network/network.pm_.c:299
+#, fuzzy
+msgid "Start at boot"
+msgstr "Açılışda başladılır"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection name"
-msgstr "Bağlantı adı"
+#: ../../network/network.pm_.c:320 ../../printer/printerdrake.pm_.c:812
+msgid "IP address should be in format 1.2.3.4"
+msgstr "IP ünvanı 1.2.3.4 şəklində olmalıdır"
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../network/network.pm_.c:326
msgid ""
-"x coordinate of text box\n"
-"in number of characters"
+"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
+"frequency), or add enough '0'."
msgstr ""
-"mətn qutusunun hərf\n"
-"ədədində x mövqeyi"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/network.pm_.c:330
msgid ""
-"You may not be able to install lilo (since lilo doesn't handle a LV on "
-"multiple PVs)"
+"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
+"enough '0'."
msgstr ""
-"Lilo'nu qura bilməyəcəksiniz (ona görə ki, lilo, birdən çox PV üstündə LV'yə "
-"malik deyil)"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Updating package selection"
-msgstr "Paket seçkiləri yenilənir"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount the loopback file %s?"
-msgstr "%s loopback faylını haraya bağlamaq istəyirsiniz?"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../network/network.pm_.c:350
msgid ""
-"The floppy has been successfully generated.\n"
-"You may now replay your installation."
+"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 ""
-"Disket müvəffəqiyyətlə yaradıldı.\n"
-"İndi qurulumunuzu təkrarlaya bilərsiniz."
+"Xahiş edirik kompüterinizn adını girin.\n"
+"Məsələn``kompüteradı.sahəadı.com''.\n"
+"Əgər şəbəkə keçidi istifadə edirsinizsə bunun da IP nömrəsini girməlisiniz."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use CD-R/DVD-R to backup"
-msgstr "Ehtiyatlama üçün CD/DVDROM işlət"
+#: ../../network/network.pm_.c:355
+msgid "DNS server"
+msgstr "DNS verici"
-#: ../../standalone/harddrake2:1
+#: ../../network/network.pm_.c:356
#, c-format
-msgid "the number of buttons the mouse has"
-msgstr "siçanın sahib olduğu düymə ədədi"
+msgid "Gateway (e.g. %s)"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Replay"
-msgstr "Təkrarla"
+#: ../../network/network.pm_.c:358
+msgid "Gateway device"
+msgstr "Keçit avadanlığı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup other files"
-msgstr "Diqər faylların ehtiyat nüsxəsini çıxart"
+#: ../../network/network.pm_.c:363
+#, fuzzy
+msgid "DNS server address should be in format 1.2.3.4"
+msgstr "IP ünvanı 1.2.3.4 şəklində olmalıdır"
-#: ../../install_steps.pm:1
-#, c-format
-msgid "No floppy drive available"
-msgstr "Disket sürücüsü mövcud deyil"
+#: ../../network/network.pm_.c:367
+#, fuzzy
+msgid "Gateway address should be in format 1.2.3.4"
+msgstr "IP ünvanı 1.2.3.4 şəklində olmalıdır"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files are corrupted"
-msgstr "Ehtiyat faylları pozulub"
+#: ../../network/network.pm_.c:381
+msgid "Proxies configuration"
+msgstr "Vəkil vericilər quraşdırılması"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "TV norm:"
-msgstr "TV normu:"
+#: ../../network/network.pm_.c:382
+msgid "HTTP proxy"
+msgstr "HTTP vəkil verici"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid family"
-msgstr "Cpuid ailəsi"
+#: ../../network/network.pm_.c:383
+msgid "FTP proxy"
+msgstr "FTP vəkil verici"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "32 MB"
-msgstr "32 MB"
+#: ../../network/network.pm_.c:384
+msgid "Track network card id (useful for laptops)"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: thin"
-msgstr "növ: incə"
+#: ../../network/network.pm_.c:387
+msgid "Proxy should be http://..."
+msgstr "Vəkil verici http://... şəklində olmalıdır."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (new)"
-msgstr "Litva dili AZERTY (yeni)"
+#: ../../network/network.pm_.c:388
+#, fuzzy
+msgid "Url should begin with 'ftp:' or 'http:'"
+msgstr "Vəkil verici http://... şəklində olmalıdır."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the arithmetic coprocessor has an exception vector attached"
-msgstr "bəli, arifmetik ko-işlədici estisna vektoruna bağlıdır deməkdir"
+#: ../../network/shorewall.pm_.c:26
+msgid "Firewalling configuration detected!"
+msgstr "Oddan divar (Firewall) quruluşu tapıldı!"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/shorewall.pm_.c:27
msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"Please be sure to add a /boot partition"
+"Warning! An existing firewalling configuration has been detected. You may "
+"need some manual fix after installation."
msgstr ""
-"Bir proqram tə'minatlı RAID bölməsini kök cərgəsi (/) olaraq tə'yin\n"
-"etdiniz. /boot bölməsi olmadan heç bir açılış yükləyicisi bunu aça bilməz.\n"
-"Xahiş edirik, /boot bölməsini əlavə etməyi unutmayın"
+"Diqqət! Var olan Firewall qurğusu tapıldı. Yükləmədən sonra bir az əl "
+"gəzdirə bilərsiniz."
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (MacOS...)"
-msgstr "Digər ƏS (MacOS...)"
+#: ../../network/tools.pm_.c:57
+msgid "Internet configuration"
+msgstr "İnternet qurğuları"
-#: ../../mouse.pm:1
-#, c-format
-msgid "To activate the mouse,"
-msgstr "Siçanınızı işə salmaq üçün,"
+#: ../../network/tools.pm_.c:58
+msgid "Do you want to try to connect to the Internet now?"
+msgstr "İnternete girişi indi sınamaq istəyirsiniz?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing up the network"
-msgstr "Şəbəkə fəallaşdırılır"
+#: ../../network/tools.pm_.c:61 ../../standalone/drakconnect_.c:193
+msgid "Testing your connection..."
+msgstr "Bağlantınız sınanır..."
-#: ../../common.pm:1
-#, c-format
-msgid "Screenshots will be available after install in %s"
-msgstr "Ekran görüntüləri qurulumdan sonra %s mövqeyində olacaqdır"
+#: ../../network/tools.pm_.c:70
+msgid "The system is now connected to Internet."
+msgstr "İnternetə artıq bağlısınız"
-#: ../../help.pm:1
-#, c-format
+#: ../../network/tools.pm_.c:71
+msgid "For security reason, it will be disconnected now."
+msgstr "Təhlükəsizlik səbəbi ilə indi bağlantı qopacaqdır."
+
+#: ../../network/tools.pm_.c:72
msgid ""
-"More than one Microsoft partition has been detected on your hard drive.\n"
-"Please choose which one you want to resize in order to install your new\n"
-"Mandrake Linux operating system.\n"
-"\n"
-"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
-"\"Capacity\".\n"
-"\n"
-"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc.\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
-"disk or partition is called \"C:\")."
+"The system doesn't seem to be connected to internet.\n"
+"Try to reconfigure your connection."
msgstr ""
-"Sürücünüzdə bir və ya daha çox Microsoft bölməsi tapıldı.\n"
-"Xahiş edirik, Linuks Mandrakeni qurmaq üçün onlardan hansını\n"
-"yenidən ölçüləndirmək istədiyinizi seçin.\n"
-"\n"
-"Hər bölmə bu cür sıralanıb; \"Linuks adı\",\"Windows adı\"\n"
-"\"Həcm\".\n"
-"\n"
-"\"Linuks adı\" bu cür qurulub: \"sabit disk növü\", \"sabit disk nömrəsi\",\n"
-"\"bölmə nömrəsi\" (məsələn, \"hda1\").\n"
-"\n"
-"\"Sabit disk növü\" diskiniz IDE sürücüsü isə \"hd\"dir, SCSI sürücüsü isə\n"
-"\"sd\"dir.\n"
-"\n"
-"\"Sabit disk nömrəsi\" həmişə \"hd\" və ya \"sd\"dən sonrakı rəqəmdir. IDE \n"
-"sürücülər üçün:\n"
-"\n"
-"* \"a\" mə'nası \"birinci IDE idarəçisində ali (master) sürücü\",\n"
-"\n"
-"* \"b\" mə'nası \"birinci IDE idarəçisində qul (slave) sürücü\",\n"
-"\n"
-"* \"c\" mə'nası \"ikinci IDE idarəçisində ali (master) sürücü\",\n"
-"\n"
-"* \"d\" mə'nası \"ikinci IDE idarəçisində qul (slave) sürücü\".\n"
-"\n"
-"\n"
-"SCSI sürücülərində, \"a\"nın mə'nası \"ən düşük SCSI ID\",\n"
-"\"b\"nin mə'nası \"ikinci ən düşük SCSI ID\"dir, vs...\n"
-"\n"
-"\"Windows adı\" sabit diskinizin Windows altındakı adıdır (birinci\n"
-"disk ya da bölmənin adı \"C:\"dir, vs...)."
+"Sisteminiz İnternetə bağlı deyil.\n"
+"Bağlantını yenidən quraşdırın"
-#: ../../lang.pm:1
-#, c-format
-msgid "Tanzania"
-msgstr "Tanzaniya"
+#: ../../network/tools.pm_.c:96
+msgid "Connection Configuration"
+msgstr "Bağlantı quraşdırılması"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Computing FAT filesystem bounds"
-msgstr "Fat fayl sistemi ucları hesaplanır"
+#: ../../network/tools.pm_.c:97
+msgid "Please fill or check the field below"
+msgstr "Xahiş edirik aşağıdakıları doldurun ya da seçin"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Backup Sources: \n"
-msgstr ""
-"\n"
-"Ehtiyat Mənbələri: \n"
+#: ../../network/tools.pm_.c:99 ../../standalone/drakconnect_.c:605
+msgid "Card IRQ"
+msgstr "Kart IRQ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "custom"
-msgstr "xüsusi"
+#: ../../network/tools.pm_.c:100 ../../standalone/drakconnect_.c:606
+msgid "Card mem (DMA)"
+msgstr "Kart mem (DMA)"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Content of the file"
-msgstr "Fayl məzmunu"
+#: ../../network/tools.pm_.c:101 ../../standalone/drakconnect_.c:607
+msgid "Card IO"
+msgstr "Kart IO"
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication LDAP"
-msgstr "Tanıtma LDAP"
+#: ../../network/tools.pm_.c:102 ../../standalone/drakconnect_.c:608
+msgid "Card IO_0"
+msgstr "Kart IO_0"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "in order to keep %s"
-msgstr ""
+#: ../../network/tools.pm_.c:103 ../../standalone/drakconnect_.c:609
+msgid "Card IO_1"
+msgstr "Kart IO_1"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Let me pick any driver"
-msgstr "İstədiyim sürücünü seçməyə icazə ver"
+#: ../../network/tools.pm_.c:104 ../../standalone/drakconnect_.c:610
+msgid "Your personal phone number"
+msgstr "Sizin şəxsi telefon nömrəniz"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "transmitted"
-msgstr "ötürülüb"
+#: ../../network/tools.pm_.c:105 ../../standalone/drakconnect_.c:611
+msgid "Provider name (ex provider.net)"
+msgstr "İnternet xidmət vericinizin adı (məsələn azeronline.com)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palestine"
-msgstr "Filistin"
+#: ../../network/tools.pm_.c:106 ../../standalone/drakconnect_.c:612
+msgid "Provider phone number"
+msgstr "İXM telefon nömrəsi"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
+#: ../../network/tools.pm_.c:107 ../../standalone/drakconnect_.c:613
+msgid "Provider dns 1 (optional)"
+msgstr "Dns xidmətcisi 1 (arzuya görə)"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated strings"
-msgstr "%d vergüllə ayrılmış qatar"
+#: ../../network/tools.pm_.c:108 ../../standalone/drakconnect_.c:614
+msgid "Provider dns 2 (optional)"
+msgstr "Dns xidmətcisi 2 (arzuya görə)"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " isdn"
-msgstr " isdn"
+#: ../../network/tools.pm_.c:109
+#, fuzzy
+msgid "Choose your country"
+msgstr "Klaviaturanızı seçin"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Here is the full list of keyboards available"
-msgstr "Bütün mövcud klaviaturaların siyahısı"
+#: ../../network/tools.pm_.c:110 ../../standalone/drakconnect_.c:617
+msgid "Dialing mode"
+msgstr "Yığma modu"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Theme name"
-msgstr "Örtük adı"
+#: ../../network/tools.pm_.c:111 ../../standalone/drakconnect_.c:629
+#, fuzzy
+msgid "Connection speed"
+msgstr "Bağlantı növü:"
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Help"
-msgstr "/_Yardım"
+#: ../../network/tools.pm_.c:112 ../../standalone/drakconnect_.c:630
+#, fuzzy
+msgid "Connection timeout (in sec)"
+msgstr "Bağlantı növü:"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Choosing an arbitrary driver"
-msgstr "Səbəbsiz bir sürücü seçilir"
+#: ../../network/tools.pm_.c:113 ../../standalone/drakconnect_.c:615
+msgid "Account Login (user name)"
+msgstr "Hesab Girişi (istifadəçi adı)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cook Islands"
-msgstr "Kuku Adaları"
+#: ../../network/tools.pm_.c:114 ../../standalone/drakconnect_.c:616
+#: ../../standalone/drakconnect_.c:647
+msgid "Account Password"
+msgstr "Hesap Parolu"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Here you can choose whether the scanners connected to this machine should be "
-"accessable by remote machines and by which remote machines."
+#: ../../network/tools.pm_.c:118 ../../network/tools.pm_.c:132
+msgid "United Kingdom"
msgstr ""
-"Burada siz, sisteminizə bağlı darayıcıların uzaqdakı sistemlər və hansıları "
-"tərəfindən istifadə edilə biləcəyini tə'yin edə bilərsiniz."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the width of the progress bar"
-msgstr "İrəliləmə çubuğunun eni"
+#: ../../partition_table.pm_.c:603
+msgid "mount failed: "
+msgstr "bağlama iflas etdi: "
-#: ../../fs.pm:1
-#, c-format
-msgid "Formatting partition %s"
-msgstr "%s bölməsi şəkilləndirilir"
+#: ../../partition_table.pm_.c:667
+msgid "Extended partition not supported on this platform"
+msgstr "Bu platformda genişlədilmiş bölmələr dəstəklənmir"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hostname required"
-msgstr "Qovşaq adı məcburidir"
+#: ../../partition_table.pm_.c:685
+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 ""
+"Bölmə cədvəlinizdə bir boşluq var, amma o da işlədilə bilməz.\n"
+"Bu boşluğu, birinci bölmənizi en yaxınındakı genişlədilmiş bölməyə "
+"daşıyaraq\n"
+"məsələni həll edə bilərsiniz."
-#: ../../standalone/drakfont:1
+#: ../../partition_table.pm_.c:774
#, c-format
-msgid "Unselect fonts installed"
-msgstr "Qurulu olan yazı növlərini seçmə"
+msgid "Restoring from file %s failed: %s"
+msgstr "%s faylından qurtarılışda xəta: %s"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Wheel"
-msgstr "Çərx"
+#: ../../partition_table.pm_.c:776
+msgid "Bad backup file"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit kernel version"
-msgstr "Çəyirdək buraxılışını göndər"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakautoinst:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/logdrake:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
+#: ../../partition_table.pm_.c:796
#, c-format
-msgid "Cancel"
-msgstr "Ləğv Et"
+msgid "Error writing to file %s"
+msgstr "%s faylına yazarkən xəta oldu"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for configured scanners ..."
-msgstr "Quraşdırılmış darayıvılar axtarılır ..."
+#: ../../partition_table/raw.pm_.c:192
+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ə'zən sürücünüzdə pis şeylər ola bilər.\n"
+"Datanın bütövlüyü yoxlaması bacarılmadı. \n"
+"Bu o demekdir ki diskə yazılan hər şey təsadüfi olacaqdır"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Videocard"
-msgstr "Video kartı"
+#: ../../pkgs.pm_.c:26
+msgid "must have"
+msgstr "alınmalı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and bzip2\n"
-msgstr "\tEhtiyatlar tar və bzip2 işlədir\n"
+#: ../../pkgs.pm_.c:27
+msgid "important"
+msgstr "vacib"
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Remove Selected"
-msgstr "Seçiləni Sil"
+#: ../../pkgs.pm_.c:28
+msgid "very nice"
+msgstr "əla"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _modems"
-msgstr "/_Modemləri avtomatik təsbit et"
+#: ../../pkgs.pm_.c:29
+msgid "nice"
+msgstr "gözəl"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove printer"
-msgstr "Çapçını çıxart"
+#: ../../pkgs.pm_.c:30
+msgid "maybe"
+msgstr "bəlkə"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Last Log"
-msgstr "Son Qeydi Göstər"
+#: ../../printer/data.pm_.c:18
+msgid "PDQ - Print, Don't Queue"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Which services would you like to allow the Internet to connect to?"
-msgstr "İnternetin hansı xidmətlərə bağlana bilməsini istəyirsiniz?"
+#: ../../printer/data.pm_.c:19
+msgid "PDQ"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Connection Type"
-msgstr "Bağlantı Növü:"
+#: ../../printer/data.pm_.c:30
+msgid "LPD - Line Printer Daemon"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"Welcome to the mail configuration utility.\n"
-"\n"
-"Here, you'll be able to set up the alert system.\n"
+#: ../../printer/data.pm_.c:31
+msgid "LPD"
msgstr ""
-"Poçt quraşdırma vasitəsinə xoş gəldiniz.\n"
-"\n"
-"Burada, siz xəbər vermə sistemini quraşdıra bilərsiniz.\n"
-#: ../../install_steps_gtk.pm:1 ../../mouse.pm:1 ../../services.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Other"
-msgstr "Digər"
+#: ../../printer/data.pm_.c:51
+msgid "LPRng - LPR New Generation"
+msgstr ""
-#: ../../any.pm:1 ../../harddrake/v4l.pm:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Default"
-msgstr "Əsas"
+#: ../../printer/data.pm_.c:52
+msgid "LPRng"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 2 Emulation"
-msgstr "Düymə 2 emulyasiyası"
+#: ../../printer/data.pm_.c:75
+msgid "CUPS - Common Unix Printing System"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Please enter a package name."
-msgstr "Xahiş edirik, paket adını daxil edin."
+#: ../../printer/data.pm_.c:76 ../../printer/main.pm_.c:677
+msgid "CUPS"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run chkrootkit checks"
-msgstr "chkrootkit yoxlamalarını icra et"
+#: ../../printer/detect.pm_.c:80 ../../printer/detect.pm_.c:213
+#: ../../printer/detect.pm_.c:250
+msgid "Unknown Model"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "type1inst building"
-msgstr "type1inst inşa edilir"
+#: ../../printer/main.pm_.c:26
+msgid "Local printer"
+msgstr "Yerli Çap Edici"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Abiword"
-msgstr "Abiword"
+#: ../../printer/main.pm_.c:27
+msgid "Remote printer"
+msgstr "Uzaq Çap Edici"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image file"
-msgstr "rəsm faylını seçin"
+#: ../../printer/main.pm_.c:28
+#, fuzzy
+msgid "Printer on remote CUPS server"
+msgstr "Uzaq CUPS vericisi"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "X server"
-msgstr "X verici"
+#: ../../printer/main.pm_.c:29 ../../printer/printerdrake.pm_.c:835
+#, fuzzy
+msgid "Printer on remote lpd server"
+msgstr "Uzaq çap edici vericisi(lpd)"
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin User Name"
-msgstr "Domen İdarəçisinin İstifadəçi Adı"
+#: ../../printer/main.pm_.c:30
+#, fuzzy
+msgid "Network printer (TCP/Socket)"
+msgstr "Şəbəkə Çap Edicisi (soket) "
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "There was an error while scanning for TV channels"
-msgstr "Televiziya kanalları axtarılarkən xəta yarandı"
+#: ../../printer/main.pm_.c:31
+#, fuzzy
+msgid "Printer on SMB/Windows 95/98/NT server"
+msgstr "SMB/Windows 95/98/NT"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard (international)"
-msgstr "Amerikan (US) klaviaturası (beynəlmiləl)"
+#: ../../printer/main.pm_.c:32
+#, fuzzy
+msgid "Printer on NetWare server"
+msgstr "Çap Edici Vericisi"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Not installed"
-msgstr "Qurulmayıb"
+#: ../../printer/main.pm_.c:33 ../../printer/printerdrake.pm_.c:839
+#, fuzzy
+msgid "Enter a printer device URI"
+msgstr "Çap Edici avadanlığı URI"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Alt keys simultaneously"
-msgstr "Eyni zamanda iki Alt düyməsi"
+#: ../../printer/main.pm_.c:34
+msgid "Pipe job into a command"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "LAN connection"
-msgstr "LAN bağlantısı"
+#: ../../printer/main.pm_.c:290 ../../printer/main.pm_.c:478
+#: ../../printer/main.pm_.c:794 ../../printer/printerdrake.pm_.c:3228
+msgid "Unknown model"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/-"
-msgstr "/Fayl/-"
+#: ../../printer/main.pm_.c:317
+#, fuzzy
+msgid "Local Printers"
+msgstr "Yerli Çap Edici"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Italian"
-msgstr "İtalyan dili"
+#: ../../printer/main.pm_.c:319 ../../printer/main.pm_.c:678
+#, fuzzy
+msgid "Remote Printers"
+msgstr "Uzaq Çap Edici"
-#: ../../interactive.pm:1
+#: ../../printer/main.pm_.c:326 ../../printer/printerdrake.pm_.c:381
#, c-format
-msgid "Basic"
-msgstr "Əsas"
+msgid " on parallel port \\/*%s"
+msgstr ""
-#: ../../install_messages.pm:1
+#: ../../printer/main.pm_.c:329 ../../printer/printerdrake.pm_.c:383
#, c-format
-msgid "http://www.mandrakelinux.com/en/92errata.php3"
-msgstr "http://www.mandrakelinux.com/en/92errata.php3"
+msgid ", USB printer \\/*%s"
+msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/main.pm_.c:334
#, c-format
-msgid "Honduras"
-msgstr "Honduras"
+msgid ", multi-function device on parallel port \\/*%s"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "pdq"
-msgstr "pdq"
+#: ../../printer/main.pm_.c:337
+msgid ", multi-function device on USB"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO"
-msgstr "Kart GÇ"
+#: ../../printer/main.pm_.c:339
+msgid ", multi-function device on HP JetDirect"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../printer/main.pm_.c:341
+msgid ", multi-function device"
+msgstr ""
+
+#: ../../printer/main.pm_.c:344
#, fuzzy, c-format
-msgid "Samba server"
-msgstr "Samba Vericisi"
+msgid ", printing to %s"
+msgstr "%s faylına yazarkən xəta oldu"
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/main.pm_.c:346
#, c-format
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
+msgid " on LPD server \"%s\", printer \"%s\""
msgstr ""
-"\n"
-"Bu, sisteminizin ikili açılışı üçün\n"
-"xüsusi Bootstrap bölməsidir.\n"
-#: ../../standalone/drakautoinst:1
+#: ../../printer/main.pm_.c:348
#, c-format
-msgid ""
-"Please choose for each step whether it will replay like your install, or it "
-"will be manual"
+msgid ", TCP/IP host \"%s\", port %s"
msgstr ""
-"Xahiş edirik, addımın təkrarlanmasını ya da əllə yenidən seçilməsini hər "
-"addım üçün ayrı ayrı seçin"
-#: ../../standalone/scannerdrake:1
+#: ../../printer/main.pm_.c:352
#, c-format
-msgid ""
-"You can also decide here whether scanners on remote machines should be made "
-"available on this machine."
+msgid " on SMB/Windows server \"%s\", share \"%s\""
msgstr ""
-"Eyni zamanda, uzaqdakı darayıcıların bu sistemdə istifadəyə açıq olmasını da "
-"burada seçə bilərsiniz."
-#: ../../standalone/drakbackup:1
+#: ../../printer/main.pm_.c:356
#, c-format
-msgid "\t-Network by FTP.\n"
-msgstr "\t-FTP Şəbəkəsi.\n"
+msgid " on Novell server \"%s\", printer \"%s\""
+msgstr ""
-#: ../../security/l10n.pm:1
+#: ../../printer/main.pm_.c:358
#, c-format
-msgid "Reports check result to tty"
-msgstr "Yoxlama nəticəsini tty'yə raportla"
+msgid ", using command %s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must enter a device or file name!"
-msgstr "Avadanlıq ya da fayl adı daxil etməlisiniz!"
+#: ../../printer/main.pm_.c:475 ../../printer/printerdrake.pm_.c:1603
+msgid "Raw printer (No driver)"
+msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Quit"
-msgstr "/Çı_x"
+#: ../../printer/main.pm_.c:647
+#, fuzzy, c-format
+msgid "(on %s)"
+msgstr "(modul %s)"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics memory: %s kB\n"
-msgstr "Ekran kartı yaddaşı: %s KB\n"
+#: ../../printer/main.pm_.c:649
+msgid "(on this machine)"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../printer/main.pm_.c:674
+#, fuzzy, c-format
+msgid "On CUPS server \"%s\""
+msgstr "CUPS verici IP"
+
+#: ../../printer/main.pm_.c:680 ../../printer/printerdrake.pm_.c:2888
+#: ../../printer/printerdrake.pm_.c:2899 ../../printer/printerdrake.pm_.c:3120
+#: ../../printer/printerdrake.pm_.c:3171 ../../printer/printerdrake.pm_.c:3197
+#: ../../printer/printerdrake.pm_.c:3352 ../../printer/printerdrake.pm_.c:3354
+msgid " (Default)"
+msgstr " (Əsas)"
+
+#: ../../printer/printerdrake.pm_.c:27
+msgid "Select Printer Connection"
+msgstr "Çap Edici Bağlantısı Seçin"
+
+#: ../../printer/printerdrake.pm_.c:28
+msgid "How is the printer connected?"
+msgstr "Çap ediciniz nə şəkildə bağlıdır?"
+
+#: ../../printer/printerdrake.pm_.c:30
+#, fuzzy
msgid ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"Printers on remote CUPS servers you do not have to configure here; these "
+"printers will be automatically detected."
msgstr ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"Uzaq CUPS vericiləri üçün heç bir quraşdırmağa lüzüm yoxdur\n"
+"Buradakı hər çap edici avtomatik tapılacaqdır.\n"
+"Olmazsa \"Uzaq CUPS vericisi\" ni seçin."
-#: ../../any.pm:1
-#, c-format
-msgid "access to compilation tools"
-msgstr "dərləmə vasitələrinə yetişmə"
+#: ../../printer/printerdrake.pm_.c:38
+msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Global statistics"
-msgstr "Statistikalar"
+#: ../../printer/printerdrake.pm_.c:81 ../../printer/printerdrake.pm_.c:2950
+#, fuzzy
+msgid "CUPS configuration"
+msgstr "Yerli Şəbəkə Quraşdırılması"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select data to restore..."
-msgstr "Xahiş edirik, geri yüklənəcək mə'lumatı seçin..."
+#: ../../printer/printerdrake.pm_.c:82 ../../printer/printerdrake.pm_.c:2951
+#, fuzzy
+msgid "Specify CUPS server"
+msgstr "Uzaq CUPS vericisi"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:83
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"
+"To get access to printers on remote CUPS servers in your local network you "
+"do not have to configure anything; the CUPS servers inform your machine "
+"automatically about their printers. All printers currently known to your "
+"machine are listed in the \"Remote printers\" section in the main window of "
+"Printerdrake. When your CUPS server is not in your local network, you have "
+"to enter the CUPS server IP address and optionally the port number to get "
+"the printer information from the server, otherwise leave these fields blank."
msgstr ""
-"Aboot istifadə etmək istəyirsinizsə, boş disk sahəsi (2048 sektor "
-"kifayətdir.)\n"
-"buraxmağı unutmayın."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Standard test page"
-msgstr "Sıravi sınaq səhifəsi"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Time Zone"
-msgstr "Vaxt Zolağı"
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create"
-msgstr "Yarat"
+#: ../../printer/printerdrake.pm_.c:84
+msgid ""
+"\n"
+"Normally, CUPS is automatically configured according to your network "
+"environment, so that you can access the printers on the CUPS servers in your "
+"local network. If this does not work correctly, turn off \"Automatic CUPS "
+"configuration\" and edit your file /etc/cups/cupsd.conf manually. Do not "
+"forget to restart CUPS afterwards (command: \"service cups restart\")."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "What"
-msgstr "Nəyi"
+#: ../../printer/printerdrake.pm_.c:88
+#, fuzzy
+msgid "The IP address should look like 192.168.1.20"
+msgstr "IP ünvanı 1.2.3.4 şəklində olmalıdır"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error ordering packages:"
-msgstr "Paketləri istərkən xəta yarandı:"
+#: ../../printer/printerdrake.pm_.c:92 ../../printer/printerdrake.pm_.c:1041
+#, fuzzy
+msgid "The port number should be an integer!"
+msgstr "Qapı nömrəsi rəqəmlə yazılmalıdır"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (BDS)"
-msgstr "Bulqar dili (BDS)"
+#: ../../printer/printerdrake.pm_.c:99
+msgid "CUPS server IP"
+msgstr "CUPS verici IP"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Server"
-msgstr "Vericini Qeyri-fəallaşdır"
+#: ../../printer/printerdrake.pm_.c:100 ../../printer/printerdrake.pm_.c:1061
+#: ../../standalone/harddrake2_.c:63
+msgid "Port"
+msgstr "Qapı"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem encryption key"
-msgstr "Fayl sistemi şifrələmə açarı"
+#: ../../printer/printerdrake.pm_.c:102
+#, fuzzy
+msgid "Automatic CUPS configuration"
+msgstr "Qurulum Tərzi Quraşdırılması"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gujarati"
-msgstr "Gujarati dili"
+#: ../../printer/printerdrake.pm_.c:159
+#, fuzzy
+msgid "Checking your system..."
+msgstr "Hansı çap edici sistemini istifadə etmək istəyirsiniz?"
+
+#: ../../printer/printerdrake.pm_.c:159 ../../printer/printerdrake.pm_.c:226
+#: ../../printer/printerdrake.pm_.c:1477 ../../printer/printerdrake.pm_.c:1481
+#: ../../printer/printerdrake.pm_.c:1598 ../../printer/printerdrake.pm_.c:2133
+#: ../../printer/printerdrake.pm_.c:2284 ../../printer/printerdrake.pm_.c:2343
+#: ../../printer/printerdrake.pm_.c:2415 ../../printer/printerdrake.pm_.c:2436
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2630
+#: ../../printer/printerdrake.pm_.c:2636 ../../printer/printerdrake.pm_.c:2701
+#: ../../printer/printerdrake.pm_.c:2720 ../../printer/printerdrake.pm_.c:2731
+#: ../../printer/printerdrake.pm_.c:2764 ../../printer/printerdrake.pm_.c:2809
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:2911
+#: ../../printer/printerdrake.pm_.c:2989 ../../printer/printerdrake.pm_.c:3281
+#: ../../printer/printerdrake.pm_.c:3328 ../../printer/printerdrake.pm_.c:3369
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Printerdrake"
+msgstr "Çap Edici"
-# needs editing (Metin)
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:167
msgid ""
-" While you can use a pool of IP addresses, rather than setup a "
-"specific entry for\n"
-" a client machine, using a fixed address scheme facilitates using the "
-"functionality\n"
-" of client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-" Note: The '#type' entry is only used by drakTermServ. Clients can "
-"either be 'thin'\n"
-" or 'fat'. Thin clients run most software on the server via xdmcp, "
-"while fat clients run \n"
-" most software on the client machine. A special inittab, %s is\n"
-" written for thin clients. System config files xdm-config, kdmrc, and "
-"gdm.conf are \n"
-" modified if thin clients are used, to enable xdmcp. Since there are "
-"security issues in \n"
-" using xdmcp, hosts.deny and hosts.allow are modified to limit access "
-"to the local\n"
-" subnet.\n"
-"\t\t\t\n"
-" Note: The '#hdw_config' entry is also only used by drakTermServ. "
-"Clients can either \n"
-" be 'true' or 'false'. 'true' enables root login at the client "
-"machine and allows local \n"
-" hardware configuration of sound, mouse, and X, using the 'drak' "
-"tools. This is enabled \n"
-" by creating separate config files associated with the client's IP "
-"address and creating \n"
-" read/write mount points to allow the client to alter the file. Once "
-"you are satisfied \n"
-" with the configuration, you can remove root login privileges from "
-"the client.\n"
-"\t\t\t\n"
-" Note: You must stop/start the server after adding or changing "
-"clients."
+"There are no printers found which are directly connected to your machine"
msgstr ""
-" While you can use a pool of IP addresses, rather than setup a "
-"specific entry for\n"
-" a client machine, using a fixed address scheme facilitates using the "
-"functionality\n"
-" of client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-" Note: The '#type' entry is only used by drakTermServ. Clients can "
-"either be 'thin'\n"
-" or 'fat'. Thin clients run most software on the server via xdmcp, "
-"while fat clients run \n"
-" most software on the client machine. A special inittab, %s is\n"
-" written for thin clients. System config files xdm-config, kdmrc, and "
-"gdm.conf are \n"
-" modified if thin clients are used, to enable xdmcp. Since there are "
-"security issues in \n"
-" using xdmcp, hosts.deny and hosts.allow are modified to limit access "
-"to the local\n"
-" subnet.\n"
-"\t\t\t\n"
-" Note: The '#hdw_config' entry is also only used by drakTermServ. "
-"Clients can either \n"
-" be 'true' or 'false'. 'true' enables root login at the client "
-"machine and allows local \n"
-" hardware configuration of sound, mouse, and X, using the 'drak' "
-"tools. This is enabled \n"
-" by creating separate config files associated with the client's IP "
-"address and creating \n"
-" read/write mount points to allow the client to alter the file. Once "
-"you are satisfied \n"
-" with the configuration, you can remove root login privileges from "
-"the client.\n"
-"\t\t\t\n"
-" Note: You must stop/start the server after adding or changing "
-"clients."
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:179
+#, fuzzy
msgid ""
-"Please choose the first number of the 10-range you wish to edit,\n"
-"or just hit Enter to proceed.\n"
-"Your choice? "
-msgstr ""
-"Xahiş edirik, 10-aralığının düzəltmək istədiyiniz ilk rəqəmini seçin,\n"
-"ya da davam etmək üçün Enter düyməsinə basın.\n"
-"Seçiminiz? "
+"The following printers\n"
+"\n"
+msgstr "Aşağıdakı paketlər sistemdən silinəcəklər"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:180
+#, fuzzy
msgid ""
+"The following printer\n"
"\n"
-" Copyright (C) 2002 by MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
+msgstr "Aşağıdakı paketlər sistemdən silinəcəklər"
+
+#: ../../printer/printerdrake.pm_.c:182
+msgid ""
"\n"
+"and one unknown printer are "
msgstr ""
-"\n"
-" Tə'lif Hüququ (C) 2002 MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
-"\n"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Save theme"
-msgstr "Örtüyü qeyd et"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Brazil"
-msgstr "Braziliya"
-#: ../../standalone/drakautoinst:1
+#: ../../printer/printerdrake.pm_.c:184
#, c-format
-msgid "Auto Install"
-msgstr "Avtomatik Qurulum"
+msgid ""
+"\n"
+"and %d unknown printers are "
+msgstr ""
-#: ../../network/isdn.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Network Configuration Wizard"
-msgstr "Şəbəkə Quraşdırılması Sehirbazı"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"are "
+msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removable media automounting"
-msgstr "Sökülə bilən avadanlıqların avtomatik bağlanması"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"is "
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Printing"
-msgstr "Çap"
+#: ../../printer/printerdrake.pm_.c:189
+#, fuzzy
+msgid "directly connected to your system"
+msgstr "Siseminizdə şəbəkə adapteri yoxdur!"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save:"
-msgstr "Qeyd ediləcək cərgəni daxil edin:"
+#: ../../printer/printerdrake.pm_.c:192
+msgid ""
+"\n"
+"There is one unknown printer directly connected to your system"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:194
#, c-format
msgid ""
-"There are no printers found which are directly connected to your machine"
-msgstr "Sisteminizə birbaşa bağlı olan heç bir çapçı aşkar ediləmyib"
+"\n"
+"There are %d unknown printers directly connected to your system"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create a new partition"
-msgstr "Yeni bölmə yarat"
+#: ../../printer/printerdrake.pm_.c:200
+#, fuzzy
+msgid " (Make sure that all your printers are connected and turned on).\n"
+msgstr "Modeminizin hansı serial qapıya bağlı olduğunu seçiniz"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Driver:"
-msgstr "Sürücü:"
+#: ../../printer/printerdrake.pm_.c:214
+msgid ""
+"Do you want to enable printing on the printers mentioned above or on "
+"printers in the local network?\n"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "unknown"
-msgstr "na'məlum"
+#: ../../printer/printerdrake.pm_.c:215
+#, fuzzy
+msgid "Do you want to enable printing on printers in the local network?\n"
+msgstr "Çap edicini sınamaq istəyirsiniz?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use fdisk"
-msgstr "Fdisk istifadə et"
+#: ../../printer/printerdrake.pm_.c:217
+#, fuzzy
+msgid "Do you want to enable printing on the printers mentioned above?\n"
+msgstr "Bağlantınızı açılışda başlatmaq istəyirsiniz?"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MOVE YOUR WHEEL!"
-msgstr "SİÇANIN ÇƏRXİNİ OYNADIN!"
+#: ../../printer/printerdrake.pm_.c:218
+msgid "Are you sure that you want to set up printing on this machine?\n"
+msgstr ""
-#: ../../standalone/net_monitor:1
+#: ../../printer/printerdrake.pm_.c:219
#, c-format
-msgid "sent: "
-msgstr "göndərilən:"
+msgid ""
+"NOTE: Depending on the printer model and the printing system up to %d MB of "
+"additional software will be installed."
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Automatic IP"
-msgstr "Avtomatik IP"
+#: ../../printer/printerdrake.pm_.c:258 ../../printer/printerdrake.pm_.c:270
+#: ../../printer/printerdrake.pm_.c:328 ../../printer/printerdrake.pm_.c:2933
+#: ../../printer/printerdrake.pm_.c:3060
+#, fuzzy
+msgid "Add a new printer"
+msgstr "Çap Edicisiz"
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:259
msgid ""
-"There you are. Installation is now complete and your GNU/Linux system is\n"
-"ready to use. Just click \"%s\" to reboot the system. The first thing you\n"
-"should see after your computer has finished doing its hardware tests is the\n"
-"bootloader menu, giving you the choice of which operating system to start.\n"
"\n"
-"The \"%s\" button shows two more buttons to:\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\": to create an installation floppy disk that will automatically\n"
-"perform a whole installation without the help of an operator, similar to\n"
-"the installation you just configured.\n"
+"This wizard allows you to install local or remote printers to be used from "
+"this machine and also from other machines in the network.\n"
"\n"
-" Note that two different options are available after clicking the button:\n"
+"It asks you for all necessary information to set up the printer and gives "
+"you access to all available printer drivers, driver options, and printer "
+"connection types."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:272
+msgid ""
"\n"
-" * \"%s\". This is a partially automated installation. The partitioning\n"
-"step is the only interactive procedure.\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\". Fully automated installation: the hard disk is completely\n"
-"rewritten, all data is lost.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer, connected directly to the network or to a remote Windows machine.\n"
"\n"
-" This feature is very handy when installing a number of similar machines.\n"
-"See the Auto install section on our web site for more information.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) and you Windows machines must be connected and "
+"turned on.\n"
"\n"
-" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
-"To use this selection with another installation, insert the floppy and\n"
-"start the installation. At the prompt, press the [F1] key and type >>linux\n"
-"defcfg=\"floppy\" <<.\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network and/or Windows-hosted printers when you don't need "
+"it.\n"
"\n"
-"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
-"\"mformat a:\")"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-"Təbrik edirik! Qurulum başa çattı və GNU/Linuks sisteminiz indi\n"
-"istifadəyə hazırdır. Sadəcə olaraq sisteminizi yenidən başlatmaq üçün\n"
-"\"%s\" düyməsinə basın. Kompüteriniz başlarkən avadanlıq yoxlamasından\n"
-"sonra görəcəyiniz açılış yükləyici menyusunda sizə başlatmaq\n"
-"istədiyiniz əməliyyat sistemlərinin siyahısı göstəriləcək.\n"
+
+#: ../../printer/printerdrake.pm_.c:281 ../../printer/printerdrake.pm_.c:298
+msgid ""
"\n"
-"\"%s\" düyməsi seçimə bağlı olaraq aşağıdakı iki seçimi göstərir:\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\": indi etdiyiniz quruluma bənzər və operatora (kompüterin\n"
-"yanında oturana) ehtiyaca qalmadan qurulumu etmək üçün avtomatik\n"
-"qurulum disketi yaratma imkanı verir.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer.\n"
"\n"
-" Düyməni basdıqdan sonra iki fərqli seçim görəcəksiniz:\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected.\n"
"\n"
-" * \"%s\". Qismən avtomatikləşdirilmiş qurulum. Yalnız disk bölmələmə\n"
-"addımı interaktiv olacaq və sizin istəklərinizə qulaq asacaq.\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:289
+msgid ""
"\n"
-" * \"%s\". Tamamilə avtomatikləşdirilmiş qurulum: sabit disk tamamilə\n"
-"yenidən yazılacaq, bütün mə'lumat yox olacaq.\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" Bu xassə, əsasən birdən çox eyni sistemin qurulmasında çox əlverişlidir.\n"
-"Daha çox mə'lumat üçün saytımızın Auto install qisminə baxın.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer or connected directly to the network.\n"
"\n"
-" * \"%s\"(*): bu, qurulum sırasında seçilən paketlərin siyahısını disketə\n"
-"qeyd edər. Bu disketi başqa qurulum ilə işlətmək üçün, disketi daxil edin "
-"və\n"
-"quruluma başlayın. Promptda, [F1] düyməsinə basın və >>linux\n"
-"defcfg=\"floppy\" << yazın.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) must be connected and turned on.\n"
"\n"
-"(*) Bunun üçün FAT ilə şəkilləndirilmiş disketə ehtiyacınız olacaq. (GNU/"
-"Linuks\n"
-"altında bunu yaratmaq üçün \"mformat a:\" əmrini verin)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Moldova"
-msgstr "Moldova"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Siçanı"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuration of a remote printer"
-msgstr "Uzaq çapçının quraşdırması"
-
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "An online platform to respond to enterprise support needs."
-msgstr "Müəssisə dəstək ehtiyaclarına cavab vermək üçün onlayn platform."
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "URL should begin with 'ftp:' or 'http:'"
-msgstr "URL 'ftp:' ya da 'http:' ilə başlamalıdır"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Oriya"
-msgstr "Oriya"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network printers when you don't need it.\n"
+"\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a new rule at the end"
-msgstr "Sonuna yeni qayda əlavə et"
+#: ../../printer/printerdrake.pm_.c:307
+#, fuzzy
+msgid "Auto-detect printers connected to this machine"
+msgstr "Uzaq Çap Edici"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "LiLo and Bootsplash themes installation successful"
-msgstr "LiLo və Bootsplash örtük qurulumu müvəffəqiyyətlə başa çatdı"
+#: ../../printer/printerdrake.pm_.c:310
+msgid "Auto-detect printers connected directly to the local network"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can also decide here whether printers on remote machines should be "
-"automatically made available on this machine."
+#: ../../printer/printerdrake.pm_.c:313
+msgid "Auto-detect printers connected to machines running Microsoft Windows"
msgstr ""
-"Eyni zamanda uzaq sistemlərdəki çapçıların bu kompüterdə avtomatik olaraq "
-"mövcud olmasına qərar verə bilərsiniz."
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:329
msgid ""
-"You may now provide options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
+"\n"
+"Congratulations, your printer is now installed and configured!\n"
+"\n"
+"You can print using the \"Print\" command of your application (usually in "
+"the \"File\" menu).\n"
+"\n"
+"If you want to add, remove, or rename a printer, or if you want to change "
+"the default option settings (paper input tray, printout quality, ...), "
+"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
+"Center."
msgstr ""
-"İstəsəniz indi %s modulunun parametrlərini göstərə bilərsiniz.\n"
-"Parametrlər``ad=qiymət ad2=qiymət2...'' şəklində olmalıdır.\n"
-"Məsələn ``io=0x300 irq=7''"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without writing the partition table?"
-msgstr "Bölmə cədvəli qeyd edilmədən çıxılsın?"
+#: ../../printer/printerdrake.pm_.c:364 ../../printer/printerdrake.pm_.c:538
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Printer auto-detection"
+msgstr "Avtomatik təsbit işlət"
-#: ../../mouse.pm:1
+#: ../../printer/printerdrake.pm_.c:385
#, c-format
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
+msgid ", network printer \"%s\", port %s"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Hard Drive"
-msgstr "Sabit Disk Üstündə"
+#: ../../printer/printerdrake.pm_.c:387
+#, fuzzy, c-format
+msgid ", printer \"%s\" on SMB/Windows server \"%s\""
+msgstr "SMB/Windows 95/98/NT"
-#: ../../standalone.pm:1
-#, c-format
-msgid "Installing packages..."
-msgstr "Paketlər qurulur..."
+#: ../../printer/printerdrake.pm_.c:391
+#, fuzzy, c-format
+msgid "Detected %s"
+msgstr "%s tapıldı"
-#: ../../keyboard.pm:1
+#: ../../printer/printerdrake.pm_.c:395 ../../printer/printerdrake.pm_.c:423
+#: ../../printer/printerdrake.pm_.c:440
#, c-format
-msgid "Dutch"
-msgstr "Hollandiya dili"
+msgid "Printer on parallel port \\/*%s"
+msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:397 ../../printer/printerdrake.pm_.c:425
+#: ../../printer/printerdrake.pm_.c:443
#, c-format
-msgid "Angola"
-msgstr "Anqola"
+msgid "USB printer \\/*%s"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "The following packages need to be installed:\n"
-msgstr "Aşağıdakı paketlər qurulmalıdır:\n"
+#: ../../printer/printerdrake.pm_.c:399
+#, fuzzy, c-format
+msgid "Network printer \"%s\", port %s"
+msgstr "Şəbəkə Çap Edicisi (soket) "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "service setting"
-msgstr "xidmət qurğusu"
+#: ../../printer/printerdrake.pm_.c:401
+#, fuzzy, c-format
+msgid "Printer \"%s\" on SMB/Windows server \"%s\""
+msgstr "SMB/Windows 95/98/NT"
-#: ../../any.pm:1 ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Custom"
-msgstr "Xüsusi"
+#: ../../printer/printerdrake.pm_.c:525 ../../printer/printerdrake.pm_.c:547
+#, fuzzy
+msgid "Local Printer"
+msgstr "Yerli Çap Edici"
-#: ../../lang.pm:1
-#, c-format
-msgid "Latvia"
-msgstr "Latviya"
+#: ../../printer/printerdrake.pm_.c:526
+msgid ""
+"No local printer found! To manually install a printer enter a device name/"
+"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
+"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
+"printer: /dev/usb/lp1, ...)."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File is already used by another loopback, choose another one"
-msgstr "Fayl başqa bir loopback tərəfindən istifadədədir, başqasını seçin"
+#: ../../printer/printerdrake.pm_.c:530
+#, fuzzy
+msgid "You must enter a device or file name!"
+msgstr "Çap Edici avadanlığı URI"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read-only"
-msgstr "Sırf oxuna bilən"
+#: ../../printer/printerdrake.pm_.c:539
+#, fuzzy
+msgid "No printer found!"
+msgstr "Yerli Çap Edici"
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:548
+#, fuzzy
+msgid "Available printers"
+msgstr "Yerli Çap Edici"
+
+#: ../../printer/printerdrake.pm_.c:552
msgid ""
-"Enable/Disable name resolution spoofing protection. If\n"
-"\"alert\" is true, also reports to syslog."
+"The following printer was auto-detected, if it is not the one you want to "
+"configure, enter a device name/file name in the input line"
msgstr ""
-"Ad həlledilirliyi gizləmə qorumasını fəallaşdırr/qeyri-fəallaşdır.\n"
-"Əgər \"alert\" seçilidirsə, eyni zamanda syslog'a da raport ediləcək."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No known driver"
-msgstr "Bilinən sürücü yoxdur"
+#: ../../printer/printerdrake.pm_.c:553
+msgid ""
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up or enter a device name/file name in the input line"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "1 MB"
-msgstr "1 MB"
+#: ../../printer/printerdrake.pm_.c:555
+msgid ""
+"The following printer was auto-detected. The configuration of the printer "
+"will work fully automatically. If your printer was not correctly detected or "
+"if you prefer a customized printer configuration, turn on \"Manual "
+"configuration\"."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:556
msgid ""
-"If it is not the one you want to configure, enter a device name/file name in "
-"the input line"
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up. The configuration of the printer will work fully "
+"automatically. If your printer was not correctly detected or if you prefer a "
+"customized printer configuration, turn on \"Manual configuration\"."
msgstr ""
-"Əgər o quraşdırmaq istədiyiniz deyilsə, giriş sətirinə avadanlıq/fayl adını "
-"daxil edin"
-#: ../../standalone/draksound:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:558
msgid ""
-"No Sound Card has been detected on your machine. Please verify that a Linux-"
-"supported Sound Card is correctly plugged in.\n"
-"\n"
-"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
+"Please choose the port where your printer is connected to or enter a device "
+"name/file name in the input line"
msgstr ""
-"Sisteminizdə səs kartı aşkar edilməyib. Xahiş edirik, Linuks dəstəkli səs "
-"kartının düzgün taxıldığını yoxlayın.\n"
-"\n"
-"\n"
-"Avadanlıq mə'lumat bazamızı bu ünvanda ziyarət edə bilərisiniz:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Local Area Network..."
-msgstr "Yerli Şəbəkəni Quraşdır..."
+#: ../../printer/printerdrake.pm_.c:559
+#, fuzzy
+msgid "Please choose the port where your printer is connected to."
+msgstr "Modeminizin hansı serial qapıya bağlı olduğunu seçiniz"
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:561
msgid ""
-"The USB key seems to have write protection enabled. Please\n"
-"unplug it, remove write protection, and then plug it again."
+" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
+"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the sound system on your machine"
-msgstr "Kompüterinizdə səs sistemı başladın"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Verify checksum of the suid/sgid files"
-msgstr "suid/sgid fayllarının checksum'ını yoxla"
+#: ../../printer/printerdrake.pm_.c:565
+#, fuzzy
+msgid "You must choose/enter a printer/device!"
+msgstr "Çap Edici avadanlığı URI"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run some checks against the rpm database"
-msgstr "rpm mə'lumat bazasına qarşı bir neçə sınaq işə sal"
+#: ../../printer/printerdrake.pm_.c:584
+#, fuzzy
+msgid "Manual configuration"
+msgstr "Quraşdırma"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Execute"
-msgstr "İcra Et"
+#: ../../printer/printerdrake.pm_.c:633
+msgid "Remote lpd Printer Options"
+msgstr "Uzaq Çap Edici (lpd) Seçənəkləri"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Preparing printer database..."
-msgstr "Çapçı mə'lumat bazası hazırlanır..."
+#: ../../printer/printerdrake.pm_.c:634
+#, fuzzy
+msgid ""
+"To use a remote lpd printer, you need to supply the hostname of the printer "
+"server and the printer name on that server."
+msgstr ""
+"Uzaqdakı bir lpd çap edici növbəsini istifadə etmək üçün, \n"
+"çap edicinin bağlı olduğu çap edici vericisinin adını və növbə \n"
+"adınını verməlisiniz."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Information"
-msgstr "Mə'lumat"
+#: ../../printer/printerdrake.pm_.c:635
+#, fuzzy
+msgid "Remote host name"
+msgstr "Uzaqdakı ev sahibi adı"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "No network card"
-msgstr "Çəbəkə kartı yoxdur"
+#: ../../printer/printerdrake.pm_.c:636
+#, fuzzy
+msgid "Remote printer name"
+msgstr "Uzaq Çap Edici"
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons"
-msgstr "3 düyməli"
+#: ../../printer/printerdrake.pm_.c:639
+#, fuzzy
+msgid "Remote host name missing!"
+msgstr "Uzaqdakı ev sahibi adı"
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Which filesystem do you want?"
-msgstr "Hansı dili istəyirsiniz?"
+#: ../../printer/printerdrake.pm_.c:643
+#, fuzzy
+msgid "Remote printer name missing!"
+msgstr "Uzaqdakı ev sahibi adı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Malta"
-msgstr "Malta"
+#: ../../printer/printerdrake.pm_.c:665 ../../printer/printerdrake.pm_.c:1170
+#, fuzzy, c-format
+msgid "Detected model: %s %s"
+msgstr "%s tapıldı"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Detailed information"
-msgstr "Ətraflı mə'lumatı"
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Scanning network..."
+msgstr "Bağlantınız başladılır..."
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:751 ../../printer/printerdrake.pm_.c:772
#, c-format
-msgid ""
-"Printer default settings\n"
-"\n"
-"You should make sure that the page size and the ink type/printing mode (if "
-"available) and also the hardware configuration of laser printers (memory, "
-"duplex unit, extra trays) are set correctly. Note that with a very high "
-"printout quality/resolution printing can get substantially slower."
+msgid ", printer \"%s\" on server \"%s\""
msgstr ""
-"Çapçı əsas qurğuları\n"
-"\n"
-"Səhifə böyüklüyü, mürəkkəb növü/pçap modu (mövcuddursa) və eyni zamanda da "
-"lazer çapçılar üçün avadanlıq qurğularının düzgün seçildiyini "
-"yoxlamalısınız. Diqqət edin ki çox yüksək çap keyfiyyəti və həlledilirliyi "
-"ilə çap əməliyyatı yavaşlaya bilər."
-#: ../../install_any.pm:1
-#, c-format
-msgid "This floppy is not FAT formatted"
-msgstr "Bu floppi FAT şəklində deyildir"
+#: ../../printer/printerdrake.pm_.c:754 ../../printer/printerdrake.pm_.c:775
+#, fuzzy, c-format
+msgid "Printer \"%s\" on server \"%s\""
+msgstr "Şəbəkə dayandırılır"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Configuring network"
-msgstr "Şəbəkə Qurğuları"
+#: ../../printer/printerdrake.pm_.c:795
+msgid "SMB (Windows 9x/NT) Printer Options"
+msgstr "SMB (Windows 9x/NT) Çap Edici Seçənəkləri"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:796
+#, fuzzy
msgid ""
-"This option will save files that have changed. Exact behavior depends on "
-"whether incremental or differential mode is used."
+"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."
msgstr ""
-"Bu qurğu dəyişdirilən faylları qeyd edəcək. Dəqiq davranış ehtiyatların "
-"artan yoxsa diferensial modda olmasında bağlıdır."
+"Bir SMB çap edicidən yekun almaq üçün, SMB kompüter adı, çap edici "
+"vericisinin\n"
+"IP ünvanı, çap edicinin paylaşdırma adı, işləmə grupu, istifadəçi adı və \n"
+"parol verilməlidir."
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Graphic Card"
-msgstr "Qrafika Kartı"
+#: ../../printer/printerdrake.pm_.c:797
+msgid ""
+" If the desired printer was auto-detected, simply choose it from the list "
+"and then add user name, password, and/or workgroup if needed."
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Resizing Windows partition"
-msgstr "Windows bölməsi ölçüləndirilir"
+#: ../../printer/printerdrake.pm_.c:799
+msgid "SMB server host"
+msgstr "SMB verici adı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cameroon"
-msgstr "Kamerun"
+#: ../../printer/printerdrake.pm_.c:800
+msgid "SMB server IP"
+msgstr "SMB verici IP"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 1 (optional)"
-msgstr "Provayder dns'i 1 (arzuya görə)"
+#: ../../printer/printerdrake.pm_.c:801
+msgid "Share name"
+msgstr "Paylaşdırma adı"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
+#: ../../printer/printerdrake.pm_.c:804
+msgid "Workgroup"
+msgstr "İş qrupu"
+
+#: ../../printer/printerdrake.pm_.c:806
+#, fuzzy
+msgid "Auto-detected"
+msgstr "Avtomatik təsbit işlət"
+
+#: ../../printer/printerdrake.pm_.c:816
+msgid "Either the server name or the server's IP must be given!"
msgstr ""
-"İndi %s sabit diskinizi bölmələndirə bilərsiniz\n"
-"İşinizi bitirdiyinizdə `w' ilə qeyd etməyi unutmayın"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Saami (swedish/finnish)"
-msgstr "Saami (isveç/fin)"
+#: ../../printer/printerdrake.pm_.c:820
+msgid "Samba share name missing!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakfont:1 ../../standalone/net_monitor:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Close"
-msgstr "Bağla"
+#: ../../printer/printerdrake.pm_.c:826
+msgid "SECURITY WARNING!"
+msgstr ""
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:827
#, c-format
msgid ""
-"\"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list."
+"You are about to set up printing to a Windows account with password. Due to "
+"a fault in the architecture of the Samba client software the password is put "
+"in clear text into the command line of the Samba client used to transmit the "
+"print job to the Windows server. So it is possible for every user on this "
+"machine to display the password on the screen by issuing commands as \"ps "
+"auxwww\".\n"
+"\n"
+"We recommend to make use of one of the following alternatives (in all cases "
+"you have to make sure that only machines from your local network have access "
+"to your Windows server, for example by means of a firewall):\n"
+"\n"
+"Use a password-less account on your Windows server, as the \"GUEST\" account "
+"or a special account dedicated for printing. Do not remove the password "
+"protection from a personal account or the administrator account.\n"
+"\n"
+"Set up your Windows server to make the printer available under the LPD "
+"protocol. Then set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
msgstr ""
-"\"%s\": hazırkı ölkə seçimini yoxlayın. Əgər bu ölkədə deyilsəniz \"%s\"\n"
-"düyməsinə basaraq başqasını seçin. Əgər ölkəniz göstərilən ilk siyahıda\n"
-"deyilsə, tam ölkə siyahısını görmək üçün \"%s\" düyməsinə basın."
-#: ../../standalone/logdrake:1
+#: ../../printer/printerdrake.pm_.c:837
#, c-format
-msgid "Calendar"
-msgstr "Təqvim"
+msgid ""
+"Set up your Windows server to make the printer available under the IPP "
+"protocol and set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:840
msgid ""
-"Restore Selected\n"
-"Catalog Entry"
+"Connect your printer to a Linux server and let your Windows machine(s) "
+"connect to it as a client.\n"
+"\n"
+"Do you really want to continue setting up this printer as you are doing now?"
msgstr ""
-"Seçili Kataloq\n"
-"Girişini Geri Yüklə"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:911
+msgid "NetWare Printer Options"
+msgstr "NetWare Çap Edici Qurğuları"
+
+#: ../../printer/printerdrake.pm_.c:912
+#, fuzzy
msgid ""
-"To use a remote lpd printer, you need to supply the hostname of the printer "
-"server and the printer name on that server."
+"To print on 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."
msgstr ""
-"Uzaqdakı bir lpd çapçısını istifadə etmək üçün, çapçının bağlı olduğu çapçı "
-"vericisinin qovşaq adını və o vericidəki çapçının adınını verməlisiniz."
+"NetWare çap edicidən yekun almaq üçün, NetWare vericisinin adı və çap "
+"edici \n"
+"növbəsi adı ilə istifadəçi adı va parolu verilməlidir."
-#: ../../lang.pm:1
-#, c-format
-msgid "Iceland"
-msgstr "İslandiya"
+#: ../../printer/printerdrake.pm_.c:913
+msgid "Printer Server"
+msgstr "Çap Edici Vericisi"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Network & Internet Configuration"
-msgstr "Şəbəkə və İnternet Qurğuları"
+#: ../../printer/printerdrake.pm_.c:914
+msgid "Print Queue Name"
+msgstr "Çap Edici Növbə Adı"
-#: ../../common.pm:1
-#, c-format
-msgid "consolehelper missing"
-msgstr "konsol yardımçısı əksikdir"
+#: ../../printer/printerdrake.pm_.c:919
+msgid "NCP server name missing!"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "stopped"
-msgstr "dayandırılıb"
+#: ../../printer/printerdrake.pm_.c:923
+msgid "NCP queue name missing!"
+msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:987 ../../printer/printerdrake.pm_.c:1007
#, c-format
-msgid "Whether the FPU has an irq vector"
-msgstr "FPU'nun irq vektoruna sahibliyi"
+msgid ", host \"%s\", port %s"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../printer/printerdrake.pm_.c:990 ../../printer/printerdrake.pm_.c:1010
#, c-format
-msgid "Ext2"
-msgstr "Ext2"
+msgid "Host \"%s\", port %s"
+msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Expand Tree"
-msgstr "Ağacı Aç"
+#: ../../printer/printerdrake.pm_.c:1030
+#, fuzzy
+msgid "TCP/Socket Printer Options"
+msgstr "Soket Çap Edici Qurğuları"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1032
msgid ""
-"The old \"%s\" driver is blacklisted.\n"
-"\n"
-"It has been reported to oops the kernel on unloading.\n"
-"\n"
-"The new \"%s\" driver'll only be used on next bootstrap."
+"Choose one of the auto-detected printers from the list or enter the hostname "
+"or IP and the optional port number (default is 9100) into the input fields."
msgstr ""
-"Köhnə \"%s\" sürücüsü artıq qara siyahıdadır.\n"
-"\n"
-"O çəyirdəyin açılması sırasında xətalar yaradır.\n"
-"\n"
-"Növbəti açılışda ancaq \"%s\" sürücüsü istifadə ediləcək."
-
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Expert Mode"
-msgstr "Mütəxəssis Modu"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer options"
-msgstr "Çapçı seçimləri"
+#: ../../printer/printerdrake.pm_.c:1033
+#, fuzzy
+msgid ""
+"To print to a TCP or socket printer, you need to provide the host name or IP "
+"of the printer and optionally the port number (default is 9100). On HP "
+"JetDirect servers the port number is usually 9100, on other servers it can "
+"vary. See the manual of your hardware."
+msgstr ""
+"Soket çap edicidən yekun almaq üçün, çap edicinin ev sahibi adını ve "
+"mümkünsə, qapısının nömrəsini verməlisiniz."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Local Network adress"
-msgstr "Yerli Şəbəkə ünvanı"
+#: ../../printer/printerdrake.pm_.c:1037
+#, fuzzy
+msgid "Printer host name or IP missing!"
+msgstr "Çap Edici Ev sahibi"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup your System files. (/etc directory)"
-msgstr "Sistem fayllarınızın ehtiyat nüsxəsini çıxardın. (/etc cərgəsi)"
+#: ../../printer/printerdrake.pm_.c:1059
+#, fuzzy
+msgid "Printer host name or IP"
+msgstr "Çap Edici Ev sahibi"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the user umask."
-msgstr "İstifadəçi umask'ını seç."
+#: ../../printer/printerdrake.pm_.c:1107 ../../printer/printerdrake.pm_.c:1109
+msgid "Printer Device URI"
+msgstr "Çap Edici avadanlığı URI"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1108
msgid ""
-"You now have the opportunity to download updated packages. These packages\n"
-"have been updated after the distribution was released. They may\n"
-"contain security or bug fixes.\n"
-"\n"
-"To download these packages, you will need to have a working Internet \n"
-"connection.\n"
-"\n"
-"Do you want to install the updates ?"
+"You can specify directly the URI to access the printer. The URI must fulfill "
+"either the CUPS or the Foomatic specifications. Note that not all URI types "
+"are supported by all the spoolers."
msgstr ""
-"İndi siz yenilənmiş paketləri endirib qurma imkanına maliksiniz. Bu "
-"paketlər\n"
-"distribusiya buraxıldıqdan sonra yeniləniblər və təhlükəsizlik ya da xəya "
-"həllərini\n"
-"daxil edə bilərlər.\n"
-"\n"
-"Bu paketləri endirmək üçün fəal İnternet bağlantınız olmalıdır \n"
-"\n"
-"Yeniləmələri qurmaq istəyirsiniz ?"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Samba Server"
-msgstr "Samba Vericisi"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Australian Optus cable TV"
-msgstr "Avstraliya Optus kabel Televiziyası"
+#: ../../printer/printerdrake.pm_.c:1123
+msgid "A valid URI must be entered!"
+msgstr ""
-#: ../../install_steps_newt.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1463
msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
+"Every printer needs a name (for example \"printer\"). The Description and "
+"Location fields do not need to be filled in. They are comments for the users."
msgstr ""
-" <Tab>/<Alt-Tab> irəli/geri | <Boşluq> işarətlə | <F12> sonrakı ekran"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet:"
-msgstr "Subnet:"
+#: ../../printer/printerdrake.pm_.c:1464
+msgid "Name of printer"
+msgstr "Çap edici adı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Zimbabwe"
-msgstr "Zimbabve"
+#: ../../printer/printerdrake.pm_.c:1465 ../../standalone/harddrake2_.c:38
+msgid "Description"
+msgstr "İzah"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "When"
-msgstr "Bu zaman"
+#: ../../printer/printerdrake.pm_.c:1466
+msgid "Location"
+msgstr "Yeri"
+
+#: ../../printer/printerdrake.pm_.c:1478 ../../printer/printerdrake.pm_.c:1599
+#, fuzzy
+msgid "Reading printer database..."
+msgstr "CUPS sürücü datası oxunur..."
+
+#: ../../printer/printerdrake.pm_.c:1482
+#, fuzzy
+msgid "Preparing printer database..."
+msgstr "CUPS sürücü datası oxunur..."
+
+#: ../../printer/printerdrake.pm_.c:1578
+#, fuzzy
+msgid "Your printer model"
+msgstr "Uzaq Çap Edici"
-#: ../../network/adsl.pm:1
+#: ../../printer/printerdrake.pm_.c:1579
#, c-format
msgid ""
-"You need the Alcatel microcode.\n"
-"Download it at:\n"
-"%s\n"
-"and copy the mgmt.o in /usr/share/speedtouch"
+"Printerdrake has compared the model name resulting from the printer auto-"
+"detection with the models listed in its printer database to find the best "
+"match. This choice can be wrong, especially when your printer is not listed "
+"at all in the database. So check whether the choice is correct and click "
+"\"The model is correct\" if so and if not, click \"Select model manually\" "
+"so that you can choose your printer model manually on the next screen.\n"
+"\n"
+"For your printer Printerdrake has found:\n"
+"\n"
+"%s"
msgstr ""
-"Alcatel mikrokoduna ehtiyacınız var.\n"
-"Onu buradan endirib:\n"
-"%s\n"
-"/usr/share/speedtouch içinə mgmt.o adı ilə köçürün"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hour"
-msgstr "Saat"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Second DNS Server (optional)"
-msgstr "İkinci DNS Vericisi (arzuya görə)"
+#: ../../printer/printerdrake.pm_.c:1584 ../../printer/printerdrake.pm_.c:1587
+#, fuzzy
+msgid "The model is correct"
+msgstr "Doğrudur?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Finland"
-msgstr "Finlandiya"
+#: ../../printer/printerdrake.pm_.c:1585 ../../printer/printerdrake.pm_.c:1586
+#: ../../printer/printerdrake.pm_.c:1589
+#, fuzzy
+msgid "Select model manually"
+msgstr "Uzaq Çap Edici"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Rəng dərinliyi: %s\n"
+#: ../../printer/printerdrake.pm_.c:1606
+#, fuzzy
+msgid "Printer model selection"
+msgstr "Çap Edici Bağlantısı"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Bu paketi sistemdən çıxarda bilməzsiniz. Yenilənməlidir"
+#: ../../printer/printerdrake.pm_.c:1607
+#, fuzzy
+msgid "Which printer model do you have?"
+msgstr "Nə cür bir çap ediciniz var?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Loading from floppy"
-msgstr "Disketdən yüklənir"
+#: ../../printer/printerdrake.pm_.c:1608
+msgid ""
+"\n"
+"\n"
+"Please check whether Printerdrake did the auto-detection of your printer "
+"model correctly. Search the correct model in the list when the cursor is "
+"standing on a wrong model or on \"Raw printer\"."
+msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Timezone - DrakClock"
+#: ../../printer/printerdrake.pm_.c:1611
+msgid ""
+"If your printer is not listed, choose a compatible (see printer manual) or a "
+"similar one."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable the logging of IPv4 strange packets."
-msgstr "Qəribə IPv4 paketlərininm qeyd edilməsini Fəallaşdır/Qeyri-fəallaşdır"
+#: ../../printer/printerdrake.pm_.c:1697
+#, fuzzy
+msgid "OKI winprinter configuration"
+msgstr "İnternet qurğuları"
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovenia"
-msgstr "Sloveniya"
+#: ../../printer/printerdrake.pm_.c:1698
+msgid ""
+"You are configuring an OKI laser winprinter. These printers\n"
+"use a very special communication protocol and therefore they work only when "
+"connected to the first parallel port. When your printer is connected to "
+"another port or to a print server box please connect the printer to the "
+"first parallel port before you print a test page. Otherwise the printer will "
+"not work. Your connection type setting will be ignored by the driver."
+msgstr ""
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse test"
-msgstr "Siçan sınağı"
+#: ../../printer/printerdrake.pm_.c:1718 ../../printer/printerdrake.pm_.c:1745
+#, fuzzy
+msgid "Lexmark inkjet configuration"
+msgstr "İnternet qurğuları"
-#: ../../standalone/drakperm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1719
msgid ""
-"Drakperm is used to see files to use in order to fix permissions, owners, "
-"and groups via msec.\n"
-"You can also edit your own rules which will owerwrite the default rules."
+"The inkjet printer drivers provided by Lexmark only support local printers, "
+"no printers on remote machines or print server boxes. Please connect your "
+"printer to a local port or configure it on the machine where it is connected "
+"to."
msgstr ""
-"Drakperm, msec ilə səlahiyyətləri, qrupları və yiyələri düzəltmək üçün, "
-"lazım olan faylları görmək üçün işlədilir.\n"
-"Əsas qaydaların üstündən qeyd edərək öz qaydalarınızı yarada bilərsiniz."
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1746
msgid ""
-"Enter a user\n"
-"%s"
+"To be able to print with your Lexmark inkjet and this configuration, you "
+"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
+"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
+"\"Linux\" as operating system. The drivers come as RPM packages or shell "
+"scripts with interactive graphical installation. You do not need to do this "
+"configuration by the graphical frontends. Cancel directly after the license "
+"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
+"adjust the head alignment settings with this program."
msgstr ""
-"Bir istifadəçi daxil edin\n"
-"%s"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"- PCI and USB devices: this lists the vendor, device, subvendor and "
-"subdevice PCI/USB ids"
+#: ../../printer/printerdrake.pm_.c:1749
+msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
msgstr ""
-"- PCI və USB davadanlıqları: bu e'malatçı, avadanlıq, alt e'malatçı və alt "
-"avadanlıq PCI/USB id'lərini göstərir"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "ProgressBar color selection"
-msgstr "İrəliləmə çubuğu rəng seçkisi"
+#: ../../printer/printerdrake.pm_.c:1750
+msgid ""
+"Your printer belongs to the group of GDI laser printers (winprinters) sold "
+"by different manufacturers which uses the Zenographics ZJ-stream raster "
+"format for the data sent to the printer. The driver for these printers is "
+"still in a very early development stage and so it will perhaps not always "
+"work properly. Especially it is possible that the printer only works when "
+"you choose the A4 paper size.\n"
+"\n"
+"Some of these printers, as the HP LaserJet 1000, for which this driver was "
+"originally created, need their firmware to be uploaded to them after they "
+"are turned on. In the case of the HP LaserJet 1000 you have to search the "
+"printer's Windows driver CD or your Windows partition for the file "
+"\"sihp1000.img\" and upload the file to the printer with one of the "
+"following commands:\n"
+"\n"
+" lpr -o raw sihp1000.img\n"
+" cat sihp1000.img > /dev/usb/lp0\n"
+"\n"
+"The first command can be given by any normal user, the second must be given "
+"as root. After having done so you can print normally.\n"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1972
msgid ""
-"Here are the entries on your boot menu so far.\n"
-"You can create additional entries or change the existing ones."
+"Printer default settings\n"
+"\n"
+"You should make sure that the page size and the ink type/printing mode (if "
+"available) and also the hardware configuration of laser printers (memory, "
+"duplex unit, extra trays) are set correctly. Note that with a very high "
+"printout quality/resolution printing can get substantially slower."
msgstr ""
-"Buradakı bir birindən fərqli seçimlərə yenilərini əlavə edə bilər,\n"
-"ya da mövcud olanları dəyişdirə bilərsiniz."
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:1981
#, c-format
-msgid "/dev/hda"
-msgstr "/dev/hda"
+msgid "Option %s must be an integer number!"
+msgstr ""
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:1985
#, c-format
-msgid "/dev/hdb"
-msgstr "/dev/hdb"
+msgid "Option %s must be a number!"
+msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../printer/printerdrake.pm_.c:1989
#, c-format
-msgid ""
-"Application Name\n"
-"or Full Path:"
+msgid "Option %s out of range!"
msgstr ""
-"Tə'minat Adı\n"
-"ya da Tam Cığır:"
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2028
+#, fuzzy, c-format
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."
+"Do you want to set this printer (\"%s\")\n"
+"as the default printer?"
+msgstr "Çap edicini sınamaq istəyirsiniz?"
+
+#: ../../printer/printerdrake.pm_.c:2051
+#, fuzzy
+msgid "Test pages"
+msgstr "Qapıları sına"
+
+#: ../../printer/printerdrake.pm_.c:2052
+msgid ""
+"Please select the test pages you want to print.\n"
+"Note: the photo test page can take a rather long time to get printed and on "
+"laser printers with too low memory it can even not come out. In most cases "
+"it is enough to print the standard test page."
msgstr ""
-"at əmri, zamanlanan əmrləri işləmələri lazım gələn vaxtda işlədir.\n"
-"Sistem yükü lazımi qədər alçaq olduğunda yığma əmrləri işlədilir."
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Radio support:"
-msgstr "Radio dəstəyi:"
+#: ../../printer/printerdrake.pm_.c:2056
+#, fuzzy
+msgid "No test pages"
+msgstr "Bəli, hər iki sınaq səhifəsini də çap et"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing SANE packages..."
-msgstr "SANE paketləri qurulur..."
+#: ../../printer/printerdrake.pm_.c:2057
+#, fuzzy
+msgid "Print"
+msgstr "Çap Edici"
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP"
-msgstr "LDAP"
+#: ../../printer/printerdrake.pm_.c:2114
+#, fuzzy
+msgid "Standard test page"
+msgstr "Standart"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "SILO"
-msgstr "SILO"
+#: ../../printer/printerdrake.pm_.c:2117
+msgid "Alternative test page (Letter)"
+msgstr ""
-#: ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Change type"
-msgstr "Növünü dəyişdir"
+#: ../../printer/printerdrake.pm_.c:2120
+#, fuzzy
+msgid "Alternative test page (A4)"
+msgstr "Sınaq səhifəsi çap edilir..."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", USB printer #%s"
-msgstr ", USB çapçı #%s"
+#: ../../printer/printerdrake.pm_.c:2122
+#, fuzzy
+msgid "Photo test page"
+msgstr "Sınaq səhifəsi çap edilir..."
-#: ../../any.pm:1
-#, c-format
-msgid "SILO Installation"
-msgstr "SILO Qurulumu"
+#: ../../printer/printerdrake.pm_.c:2126
+#, fuzzy
+msgid "Do not print any test page"
+msgstr "Sınaq səhifəsi çap edilir..."
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2134 ../../printer/printerdrake.pm_.c:2285
+msgid "Printing test page(s)..."
+msgstr "Sınaq səhifəsi çap edilir..."
+
+#: ../../printer/printerdrake.pm_.c:2159
+#, fuzzy, c-format
msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"\n"
-"For information on fixes which are available for this release of Mandrake "
-"Linux,\n"
-"consult the Errata available from:\n"
-"\n"
-"\n"
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+"Printing status:\n"
"%s\n"
"\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Mandrake Linux User's Guide."
msgstr ""
-"Təbrik edirik, qurulum başa çatdı.\n"
-"Cdrom və disketi çıxartdıqtan sonra Enter'ə basaraq kompüterinizi\n"
-"yenidən başladın.\n"
-"\n"
-"\n"
-"Linuks Mandrake'nin bu buraxılışındakı yamaqlar haqqında \n"
-"mə'lumat almaq üçün bu ünvana baxın: \n"
-"\n"
+"Sınaq səhifəsi çap edici vasitəsinə göndərildi.\n"
+"Çap edicinin işləməsi üçün bir az vaxt keçər.\n"
+"Çap vəziyyəti:\n"
"%s\n"
"\n"
-"\n"
-"Sisteminizin qurğuları haqqında daha geniş mə'lumatı Rəsmi\n"
-"Linuks Mandrake İstifadəçi Kitabcığının qurulum sonrası bölməsində\n"
-"tapa bilərsiniz."
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Enable Network Time Protocol"
-msgstr "Şəbəkə Protokolu Üstündən Geri Yüklə: %s"
+"Düz mü işləyir?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "paranoid"
-msgstr "paranoid"
+#: ../../printer/printerdrake.pm_.c:2163
+#, fuzzy
+msgid ""
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+msgstr ""
+"Sınaq səhifəsi çap edici vasitəsinə göndərildi.\n"
+"Çap edicinin işləməsi üçün bir az vaxt keçər.\n"
+"Düz mü işləyir?"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Do not send mails when unneeded"
-msgstr "Lazım olmayanda poçt göndərmə"
+#: ../../printer/printerdrake.pm_.c:2170
+msgid "Did it work properly?"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Your scanner(s) will not be available on the network."
-msgstr "Darayıcı(ları)nız şəbəkə üstündə istifadə edilə bilməyəcək."
+#: ../../printer/printerdrake.pm_.c:2190 ../../printer/printerdrake.pm_.c:3229
+#, fuzzy
+msgid "Raw printer"
+msgstr "Çap Edicisiz"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2216
#, c-format
-msgid "Send mail report after each backup to:"
-msgstr "Hər ehtiyatlamadan sonra bu ünvana məktub göndər:"
+msgid ""
+"To print a file from the command line (terminal window) you can either use "
+"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
+"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
+"to modify the option settings easily.\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2218
msgid ""
-"This command you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications. But here do not supply the file name "
+"These commands you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications, but here do not supply the file name "
"because the file to print is provided by the application.\n"
msgstr ""
-"Eləcə də bir çox proqramın \"Çap əmri\" sahəsində bu əmrlərdənbirini işlədə "
-"bilərsiniz. Yalnız bu cür istifadədə çap ediləcək faylın adını proqram "
-"verəcəyi üçün fayl adı verilməz.\n"
-
-#: ../../Xconfig/main.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolution"
-msgstr "Həlledilirlik"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2221 ../../printer/printerdrake.pm_.c:2238
+#: ../../printer/printerdrake.pm_.c:2248
#, c-format
msgid ""
-"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."
+"\n"
+"The \"%s\" command also allows to modify the option settings for a "
+"particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\". "
msgstr ""
-"SMB çapçısına çap etmək üçün, SMB qovşaq adını (Qeyd! Bu onun TCP/IP "
-"qovşaqadından fərqli ola bilər!) və mümkünsə çap vericisiniz IP ünvanını, "
-"yetişmək istədiyiniz çapçının bölüşmə adını, qəbul edilə bilən istifadəçi "
-"adı, şifrə və iş qrupu mə'lumatını bildirməlisiniz."
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:2224 ../../printer/printerdrake.pm_.c:2264
#, c-format
msgid ""
-" Enabling su only from members of the wheel group or allow su from any user."
+"To know about the options available for the current printer read either the "
+"list shown below or click on the \"Print option list\" button.%s%s\n"
+"\n"
msgstr ""
-" su xassəsini yalnız wheel qrupu üzvlərinə ya da hərkəsə açıq edilməsi."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "reconfigure"
-msgstr "yenidən quraşdır"
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2228
msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
+"Here is a list of the available printing options for the current printer:\n"
+"\n"
msgstr ""
-"Sizin kartınızın XFree %s ilə 3D dəstəyi ola bilər.\n"
-"DİQQƏT! BU SINAQ MƏRHƏLƏSINDƏDIR VƏ KOMPÜTERİNİZ DONDURA BILƏR."
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell timeout"
-msgstr "Qabıq vaxt dolması"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Xinetd Service"
-msgstr "Xinetd Xidməti"
-#: ../../any.pm:1
+#: ../../printer/printerdrake.pm_.c:2233 ../../printer/printerdrake.pm_.c:2243
#, c-format
-msgid "access to network tools"
-msgstr "şəbəkə vasitələrinə yetişmə"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Firmware-Upload for HP LaserJet 1000"
-msgstr "HP LaserJet 1000 üçün Firmware-Upload"
+msgid ""
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\".\n"
+msgstr ""
-#: ../advertising/03-software.pl:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2235 ../../printer/printerdrake.pm_.c:2245
+#: ../../printer/printerdrake.pm_.c:2255
msgid ""
-"And, of course, push multimedia to its limits with the very latest software "
-"to play videos, audio files and to handle your images or photos."
+"This command you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications. But here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-"Və, əlbəttə ki, video və audio fayllarınızı çalmaq, rəsm və fotolarınızı "
-"nümayiş etmək və dəyişdirmək üçün son proqramlardan istifadə edərək "
-"multimediya hüdüdları keçin."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Here is a list of all auto-detected printers. "
-msgstr "Avtomatik aşkar edilən çapçıların siyahısı. "
+#: ../../printer/printerdrake.pm_.c:2240 ../../printer/printerdrake.pm_.c:2250
+msgid ""
+"To get a list of the options available for the current printer click on the "
+"\"Print option list\" button."
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2253
#, c-format
msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\" or \"%s <file>\".\n"
msgstr ""
-"aboot qurulumunda xata, \n"
-"ilk disk bölməsini yox etsə belə yenə də qurulmasını istəyirsiniz?"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2257
msgid ""
-"Restore Selected\n"
-"Files"
+"You can also use the graphical interface \"xpdq\" for setting options and "
+"handling printing jobs.\n"
+"If you are using KDE as desktop environment you have a \"panic button\", an "
+"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
+"jobs immediately when you click it. This is for example useful for paper "
+"jams.\n"
msgstr ""
-"Seçili Faylları Qeri\n"
-"Yüklə"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2261
#, c-format
msgid ""
-"%s exists, delete?\n"
"\n"
-"Warning: If you've already done this process you'll probably\n"
-" need to purge the entry from authorized_keys on the server."
+"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
+"a particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\".\n"
msgstr ""
-"%s mövcuddur, silinsin?\n"
-"\n"
-"Diqqət: Bu gedişatı əvvəlcə də etmişsinizdə güman ki\n"
-" vericidəki authorized_keys'dən girişi təmizləməlisiniz."
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Please fill or check the field below"
-msgstr "Xahiş edirik, aşağıdakıları doldurun ya da seçin"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Do you want to save /etc/fstab modifications"
-msgstr "Dəyişikliklər /etc/fstab faylına qeyd edilsin?"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Boot Protocol"
-msgstr "Açılış Protokolu"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-diskləri %s\n"
+#: ../../printer/printerdrake.pm_.c:2271
+#, fuzzy, c-format
+msgid "Printing/Scanning/Photo Cards on \"%s\""
+msgstr "Şəbəkə dayandırılır"
-#: ../../services.pm:1
-#, c-format
-msgid "On boot"
-msgstr "Açılışda"
+#: ../../printer/printerdrake.pm_.c:2272
+#, fuzzy, c-format
+msgid "Printing/Scanning on \"%s\""
+msgstr "Şəbəkə dayandırılır"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The package %s is needed. Install it?"
-msgstr "%s paketinə ehtiyac var. Qurulsun?"
+#: ../../printer/printerdrake.pm_.c:2274
+#, fuzzy, c-format
+msgid "Printing/Photo Card Access on \"%s\""
+msgstr "Şəbəkə dayandırılır"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bus identification"
-msgstr "Yol tanıtması"
+#: ../../printer/printerdrake.pm_.c:2275
+#, fuzzy, c-format
+msgid "Printing on the printer \"%s\""
+msgstr "Şəbəkə dayandırılır"
-#: ../../lang.pm:1
-#, c-format
-msgid "Vatican"
-msgstr "Vatikan"
+#: ../../printer/printerdrake.pm_.c:2278 ../../printer/printerdrake.pm_.c:2281
+#: ../../printer/printerdrake.pm_.c:2282 ../../printer/printerdrake.pm_.c:2283
+#: ../../printer/printerdrake.pm_.c:3216 ../../standalone/drakTermServ_.c:307
+#: ../../standalone/drakbackup_.c:1533 ../../standalone/drakbackup_.c:4156
+#: ../../standalone/drakbug_.c:108 ../../standalone/drakfont_.c:695
+#: ../../standalone/drakfont_.c:956 ../../standalone/net_monitor_.c:118
+msgid "Close"
+msgstr "Qapat"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please make a backup of your data first"
-msgstr "Əvvəlcə datanızın yedəyini alın"
+#: ../../printer/printerdrake.pm_.c:2281
+#, fuzzy
+msgid "Print option list"
+msgstr "Çap edici seçənəkləri"
-#: ../../harddrake/data.pm:1
+#: ../../printer/printerdrake.pm_.c:2301
#, c-format
-msgid "ADSL adapters"
+msgid ""
+"Your multi-function device was configured automatically to be able to scan. "
+"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
+"scanner when you have more than one) from the command line or with the "
+"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
+"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
+"\" menu. Call also \"man scanimage\" on the command line to get more "
+"information.\n"
+"\n"
+"Do not use \"scannerdrake\" for this device!"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "You have more than one hard drive, which one do you install linux on?"
+#: ../../printer/printerdrake.pm_.c:2322
+msgid ""
+"Your printer was configured automatically to give you access to the photo "
+"card drives from your PC. Now you can access your photo cards using the "
+"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
+"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
+"\"man mtools\" on the command line for more info). You find the card's file "
+"system under the drive letter \"p:\", or subsequent drive letters when you "
+"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
+"can switch between drive letters with the field at the upper-right corners "
+"of the file lists."
msgstr ""
-"Sizin birdən çox diskiniz var, linux qurmaq üçün hansını istifadə "
-"edəcəksiniz?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Eritrea"
-msgstr "Eritre"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot ISO"
-msgstr "Açılış ISO'su"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Firmware needed"
-msgstr "Firmware lazımdır"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove List"
-msgstr "Siyahını Sil"
-
-#: ../advertising/05-desktop.pl:1
-#, c-format
-msgid "A customizable environment"
-msgstr "Xüsusiləşdirilə bilən mühit"
+#: ../../printer/printerdrake.pm_.c:2344 ../../printer/printerdrake.pm_.c:2702
+#: ../../printer/printerdrake.pm_.c:2990
+#, fuzzy
+msgid "Reading printer data..."
+msgstr "CUPS sürücü datası oxunur..."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Inuktitut"
-msgstr "Inuktitut"
+#: ../../printer/printerdrake.pm_.c:2364 ../../printer/printerdrake.pm_.c:2391
+#: ../../printer/printerdrake.pm_.c:2426
+#, fuzzy
+msgid "Transfer printer configuration"
+msgstr "İnternet qurğuları"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2365
#, c-format
msgid ""
-"Some protocols, like rsync, may be configured at the server end. Rather "
-"than using a directory path, you would use the 'module' name for the service "
-"path."
+"You can copy the printer configuration which you have done for the spooler %"
+"s to %s, your current spooler. All the configuration data (printer name, "
+"description, location, connection type, and default option settings) is "
+"overtaken, but jobs will not be transferred.\n"
+"Not all queues can be transferred due to the following reasons:\n"
msgstr ""
-"rsync kimi bə'zi protokollar verici tərəfində quraşdırılmalıdır. Cərgə "
-"cığırını işlətmək yerinə, xidmət cığırı üçün 'modul' adını işlətməlisiniz."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Morocco"
-msgstr "Mərakeş"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printer model do you have?"
-msgstr "Hansı model çapçınız var?"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add a new printer"
-msgstr "Yeni çapçı əlavə et"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " All of your selected data have been "
-msgstr " Bütün seçili mə'lumatlarınız "
-#: ../../lang.pm:1
-#, c-format
-msgid "Nepal"
-msgstr "Nepal"
+#: ../../printer/printerdrake.pm_.c:2368
+msgid ""
+"CUPS does not support printers on Novell servers or printers sending the "
+"data into a free-formed command.\n"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Delete"
-msgstr "<-- Sil"
+#: ../../printer/printerdrake.pm_.c:2370
+msgid ""
+"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
+"printers.\n"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "cpu # "
-msgstr "cpu # "
+#: ../../printer/printerdrake.pm_.c:2372
+msgid "LPD and LPRng do not support IPP printers.\n"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "chunk size"
-msgstr "parça böyüklüyü"
+#: ../../printer/printerdrake.pm_.c:2374
+msgid ""
+"In addition, queues not created with this program or \"foomatic-configure\" "
+"cannot be transferred."
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2375
msgid ""
-"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
-"\n"
-"If set to NONE, no issues are allowed.\n"
"\n"
-"Else only /etc/issue is allowed."
+"Also printers configured with the PPD files provided by their manufacturers "
+"or with native CUPS drivers cannot be transferred."
msgstr ""
-"\"ALL\" seçilidirsə, /etc/issue və /etc/issue.net mövcudiyyətinə icazə "
-"veriləcək.\n"
-"\n"
-"NONE seçilidirsə, heç birinə icazə verilməyəcək.\n"
-"\n"
-"Əks halda isə yalnız /etc/issue üçün icazə veriləcək."
-#: ../../security/help.pm:1
-#, c-format
-msgid " Enable/Disable sulogin(8) in single user level."
-msgstr "Tək istifadəçi səviyyəsində sulogin(8)'i fəallaşdır/qeyri-fəallaşdır."
+#: ../../printer/printerdrake.pm_.c:2376
+msgid ""
+"\n"
+"Mark the printers which you want to transfer and click \n"
+"\"Transfer\"."
+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:1
-#, c-format
-msgid "commands before booting, or 'c' for a command-line."
+#: ../../printer/printerdrake.pm_.c:2379
+msgid "Do not transfer printers"
msgstr ""
-"acilisdan evvel emrleri duzeltmək ucun 'e', emr setiri ucun ise 'c' basin"
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "Problems installing package %s"
-msgstr "%s paketi qurulurkən xəta oldu"
+#: ../../printer/printerdrake.pm_.c:2380 ../../printer/printerdrake.pm_.c:2396
+msgid "Transfer"
+msgstr ""
-#: ../../standalone/logdrake:1
+#: ../../printer/printerdrake.pm_.c:2392
#, c-format
-msgid "You will receive an alert if the load is higher than this value"
-msgstr "Yük bu qiymətdən yüksək olarsa sizə xəbərdarlıq göndəriləcək"
+msgid ""
+"A printer named \"%s\" already exists under %s. \n"
+"Click \"Transfer\" to overwrite it.\n"
+"You can also type a new name or skip this printer."
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add a scanner manually"
-msgstr "Darayıcını əllə əlavə et"
+#: ../../printer/printerdrake.pm_.c:2400
+msgid "Name of printer should contain only letters, numbers and the underscore"
+msgstr "Çap edici adı təkcə hərf, rəqəm və alt xətt daxil edə bilər"
-#: ../../standalone/printerdrake:1
+#: ../../printer/printerdrake.pm_.c:2405
#, c-format
-msgid "Refresh"
-msgstr "Yenilə"
+msgid ""
+"The printer \"%s\" already exists,\n"
+"do you really want to overwrite its configuration?"
+msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Reload partition table"
-msgstr "Bölmə cədvəlini yenidən yüklə"
+#: ../../printer/printerdrake.pm_.c:2413
+#, fuzzy
+msgid "New printer name"
+msgstr "Çap Edicisiz"
-#: ../../standalone/drakboot:1
+#: ../../printer/printerdrake.pm_.c:2416
#, c-format
-msgid "Yes, I want autologin with this (user, desktop)"
+msgid "Transferring %s..."
msgstr ""
-"Bəli, bu istifadəçi üçün avtomatik giriş istəyirəm (istifadəçi, masa üstü)"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2427
#, c-format
-msgid "Restore Selected"
-msgstr "Seçiləni Qeri Yüklə"
+msgid ""
+"You have transferred your former default printer (\"%s\"), Should it be also "
+"the default printer under the new printing system %s?"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search for fonts in installed list"
-msgstr "Qurulanlar siyahısında yazı növlərini axtar"
+#: ../../printer/printerdrake.pm_.c:2437
+#, fuzzy
+msgid "Refreshing printer data..."
+msgstr "CUPS sürücü datası oxunur..."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The Local Network did not finish with `.0', bailing out."
-msgstr "Yerli Şəbəkə `.0' ilə bitmədi, zəminə buraxılır."
+#: ../../printer/printerdrake.pm_.c:2445 ../../printer/printerdrake.pm_.c:2516
+#: ../../printer/printerdrake.pm_.c:2528
+msgid "Configuration of a remote printer"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Boot"
-msgstr "Açılış"
+#: ../../printer/printerdrake.pm_.c:2446
+#, fuzzy
+msgid "Starting network..."
+msgstr "Bağlantınız başladılır..."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " and the CD is in the drive"
-msgstr " və CD'nin sürücüdə olduğunu yoxlayın"
+#: ../../printer/printerdrake.pm_.c:2479 ../../printer/printerdrake.pm_.c:2483
+#: ../../printer/printerdrake.pm_.c:2485
+#, fuzzy
+msgid "Configure the network now"
+msgstr "Şəbəkəni qur"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Tuner type:"
-msgstr "Tuner növü:"
+#: ../../printer/printerdrake.pm_.c:2480
+#, fuzzy
+msgid "Network functionality not configured"
+msgstr "Monitor qurulmayıb"
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2481
msgid ""
-"Now, it's time to select a printing system for your computer. Other OSs may\n"
-"offer you one, but Mandrake Linux offers two. Each of the printing system\n"
-"is best suited to particular types of configuration.\n"
-"\n"
-" * \"%s\" -- which is an acronym for ``print, don't queue'', is the choice\n"
-"if you have a direct connection to your printer, you want to be able to\n"
-"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
-"will handle only very simple network cases and is somewhat slow when used\n"
-"with networks.) It's recommended that you use \"pdq\" if this is your first\n"
-"experience with GNU/Linux.\n"
-"\n"
-" * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n"
-"printing to your local printer or to one halfway around the planet. It is\n"
-"simple to configure and can act as a server or a client for the ancient\n"
-"\"lpd \" printing system, so it compatible with older operating systems\n"
-"which may still need print services. While quite powerful, the basic setup\n"
-"is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make\n"
-"sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n"
-"front-ends for printing or choosing printer options and for managing the\n"
-"printer.\n"
-"\n"
-"If you make a choice now, and later find that you don't like your printing\n"
-"system you may change it by running PrinterDrake from the Mandrake Control\n"
-"Center and clicking the expert button."
-msgstr ""
-"İndi kompüteriniz üçün çap sistemini seçmə vaxtı gəldi. Digər ƏS'ləri sizə "
-"bir\n"
-"dənəsini təqdim edə bilərlər, yalnız Mandrake Linuks ikisini təqdim edir.\n"
-"Hər çap sistemi xüsusi quraşdırma növləri üçün uyğundur.\n"
-"\n"
-" * \"%s\" -- bu seçim``çap et, növbəyə alma'' mə'nasına gəlir.\n"
-"Əgər kompüterinizə bağlı olan çapçı varsa, çap yığılmalarından qurtulmaq\n"
-"istəyirsinizsə və şəbəkə çapçılarınız yoxdursa, bunu seçin. (\"%s\"\n"
-"yalnız çox sadə şəbəkə hallarını idarə edə bilər və şəbəkələrlə işlədiləndə\n"
-"biraz yavaş qalır. Əgər bu GNU/Linuks ilə ilk tanışmanızdırsa, sizə \"pdq\"\n"
-"işlətməyi məsləhət edirik.\n"
-"\n"
-" * \"%s\" - `` Ümumi Unix Çap Sistemi'', isə həm öz kompüterinizə\n"
-"bağlı olan həm də bu dünyadakı istənən yerə qurulan çapçıdan istifadə\n"
-"etmək üçün ideal vasitədir və quraşdırılması çox asandır.\n"
-"Əsas quraşdırma \"pdq\" qədər asandır. Əgər bir \"lpd\" vericisini\n"
-"emulyasiya etmək istəyirsinizsə, \"cups-lpd \" demonunu başlatdığınıza\n"
-"əmin oun. .\"%s\" eyni zamanda çapçının quraşdırılması və idarəsi və çap\n"
-"üçün qrafiki ara üzlərə də sahibdir. \n"
-"Əgər indi birisini seçib sonra çap sistemini bəyənməzsəniz, onu Mandrake\n"
-"İdarə Mərkəzindəki PrinterDrake bölməsindəki mütəxəssis düyməsi vasitəsiylə\n"
-"dəyişdirə bilərsiniz."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "\"Menu\" key"
-msgstr "\"Menyu\" düyməsi"
+"You are going to configure a remote printer. This needs working network "
+"access, but your network is not configured yet. If you go on without network "
+"configuration, you will not be able to use the printer which you are "
+"configuring now. How do you want to proceed?"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2484
+#, fuzzy
+msgid "Go on without configuring the network"
+msgstr "Şəbəkə Qurğuları"
+
+#: ../../printer/printerdrake.pm_.c:2518
msgid ""
-"\n"
-"\n"
-"Please check whether Printerdrake did the auto-detection of your printer "
-"model correctly. Find the correct model in the list when a wrong model or "
-"\"Raw printer\" is highlighted."
+"The network configuration done during the installation cannot be started "
+"now. Please check whether the network gets accessable after booting your "
+"system and correct the configuration using the Mandrake Control Center, "
+"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
+"printer, also using the Mandrake Control Center, section \"Hardware\"/"
+"\"Printer\""
msgstr ""
-"\n"
-"\n"
-"Xahiş edirik, çapçınızın modelinin avtomatik açkar edilib edilmədiyini seçin "
-"\"Xam çapçı\" ya da səhv model seçilidirsə, siyahıdan düzgün modeli tapın."
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Administrator:"
-msgstr "Təhlükəsizlik İdarəçisi:"
+#: ../../printer/printerdrake.pm_.c:2519
+msgid ""
+"The network access was not running and could not be started. Please check "
+"your configuration and your hardware. Then try to configure your remote "
+"printer again."
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the shell timeout. A value of zero means no timeout."
-msgstr "Qabıq vaxt dolmasını seç. Sıfır qiyməti vaxt dolması yoxdur deməkdir."
+#: ../../printer/printerdrake.pm_.c:2529
+#, fuzzy
+msgid "Restarting printing system..."
+msgstr "Hansı çap edici sistemini istifadə etmək istəyirsiniz?"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy succeeded"
-msgstr "Firmware köçürülməsində müvəffəqiyyət"
+#: ../../printer/printerdrake.pm_.c:2568
+#, fuzzy
+msgid "high"
+msgstr "Yüksək"
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid ""
-"You can't use another CDROM when the following programs are running: \n"
-"%s"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2568
+#, fuzzy
+msgid "paranoid"
+msgstr "Şübhəci"
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:2569
#, c-format
-msgid "if set to yes, check permissions of files in the users' home."
+msgid "Installing a printing system in the %s security level"
msgstr ""
-"əgər seçilidirsə, istifadəçilərin ev cərgələrindəki faylların "
-"səlahiyyətlərini yoxla."
-#: ../../standalone/drakconnect:1
+#: ../../printer/printerdrake.pm_.c:2570
#, c-format
msgid ""
-"You don't have an Internet connection.\n"
-"Create one first by clicking on 'Configure'"
+"You are about to install the printing system %s on a system running in the %"
+"s security level.\n"
+"\n"
+"This printing system runs a daemon (background process) which waits for "
+"print jobs and handles them. This daemon is also accessable by remote "
+"machines through the network and so it is a possible point for attacks. "
+"Therefore only a few selected daemons are started by default in this "
+"security level.\n"
+"\n"
+"Do you really want to configure printing on this machine?"
msgstr ""
-"Heç İnternet bağlantınız yoxdur.\n"
-"Əvvəlcə onları 'Quraşdır'a basaraq qurun"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Fonts copy"
-msgstr "Yazı növləri köçürülməsi"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automated"
-msgstr "Avtomatlaşdırılmış"
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Do you want to test the configuration?"
-msgstr "Qurğuları sınamaq istəyirsiniz?"
+#: ../../printer/printerdrake.pm_.c:2604
+#, fuzzy
+msgid "Starting the printing system at boot time"
+msgstr "Hansı çap edici sistemini istifadə etmək istəyirsiniz?"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2605
#, c-format
msgid ""
-"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
-"GIMP."
+"The printing system (%s) will not be started automatically when the machine "
+"is booted.\n"
+"\n"
+"It is possible that the automatic starting was turned off by changing to a "
+"higher security level, because the printing system is a potential point for "
+"attacks.\n"
+"\n"
+"Do you want to have the automatic starting of the printing system turned on "
+"again?"
msgstr ""
-"\"%s\" çapçısı Star Office/OpenOffice.org/GIMP proqramlarından "
-"müvəffəqiyyətlə çıxardıldı."
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save packages selection"
-msgstr "Paket seçkilərini qeyd et"
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2765
+msgid "Checking installed software..."
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Actions"
-msgstr "/_Gedişatlar"
+#: ../../printer/printerdrake.pm_.c:2630
+#, fuzzy, c-format
+msgid "Removing %s ..."
+msgstr "Rezolyusiya: %s\n"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Remove the last item"
-msgstr "Son üzvü sil"
+#: ../../printer/printerdrake.pm_.c:2636
+#, fuzzy, c-format
+msgid "Installing %s ..."
+msgstr "%s paketi qurulur"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "User list to restore (only the most recent date per user is important)"
-msgstr "Geri yüklənəcək istifadəçi siyahısı (ən yeni tarix vacibdir)"
+#: ../../printer/printerdrake.pm_.c:2685
+#, fuzzy
+msgid "Select Printer Spooler"
+msgstr "Çap Edici Bağlantısı Seçin"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No net boot images created!"
-msgstr "Heç bir şəbəkə açılış görüntüləri yaradılmadı!"
+#: ../../printer/printerdrake.pm_.c:2686
+#, fuzzy
+msgid "Which printing system (spooler) do you want to use?"
+msgstr "Hansı çap edici sistemini istifadə etmək istəyirsiniz?"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pptp"
-msgstr "pptpe istifadə et"
+#: ../../printer/printerdrake.pm_.c:2720
+#, fuzzy, c-format
+msgid "Configuring printer \"%s\"..."
+msgstr "Çap Edicini Qur"
-#: ../../services.pm:1
-#, c-format
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Açılışda avtomatik olaraq başlayacaq xidmətləri seçin"
+#: ../../printer/printerdrake.pm_.c:2731
+#, fuzzy
+msgid "Installing Foomatic..."
+msgstr "%s paketi qurulur"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check files/directories writable by everybody"
-msgstr "Hərkəs tərəfindən yazıla bilən fayl/cərgələri yoxla"
+#: ../../printer/printerdrake.pm_.c:2800 ../../printer/printerdrake.pm_.c:2838
+#: ../../printer/printerdrake.pm_.c:3230 ../../printer/printerdrake.pm_.c:3300
+msgid "Printer options"
+msgstr "Çap edici seçənəkləri"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Learn how to use this printer"
-msgstr "Bu çapçını necə istifadə edəcəyinizi öyrənin"
+#: ../../printer/printerdrake.pm_.c:2810
+#, fuzzy
+msgid "Preparing Printerdrake..."
+msgstr "CUPS sürücü datası oxunur..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configure the network now"
-msgstr "Şəbəkəni indi quraşdır"
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:3369
+#, fuzzy
+msgid "Configuring applications..."
+msgstr "Çap Edicini Qur"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose a mirror from which to get the packages"
-msgstr "Paketleri almaq üçün bir əks ünvanı seçin"
+#: ../../printer/printerdrake.pm_.c:2845
+#, fuzzy
+msgid "Would you like to configure printing?"
+msgstr "Bir çap edici qurmaq istəyirsiniz?"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2857
+msgid "Printing system: "
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:2915
+#, fuzzy
msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; to view information about it; "
+"or to make a printer on a remote CUPS server available for Star Office/"
+"OpenOffice.org/GIMP."
msgstr ""
-"FAT ölçüləndiricimiz sizin bölməniziri işlədə bilmir,\n"
-"bu xəta oldu: %s"
+"Aşağıda yazıçıdakı növbələr verilmişdir.\n"
+"Yenilərini əlavə edə bilər, və ya mövcud olanları dəyişdirə bilərsiniz."
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Size: "
-msgstr "Böyüklük: "
+#: ../../printer/printerdrake.pm_.c:2916
+#, fuzzy
+msgid ""
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; or to view information about "
+"it."
+msgstr ""
+"Aşağıda yazıçıdakı növbələr verilmişdir.\n"
+"Yenilərini əlavə edə bilər, və ya mövcud olanları dəyişdirə bilərsiniz."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which sector do you want to move it to?"
-msgstr "Onu hansı sektora daşımaq istəyirsiniz?"
+#: ../../printer/printerdrake.pm_.c:2942
+msgid "Refresh printer list (to display all available remote CUPS printers)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahamas"
-msgstr "Bahamalar"
+#: ../../printer/printerdrake.pm_.c:2960
+#, fuzzy
+msgid "Change the printing system"
+msgstr "Şəbəkəni qur"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Do you want to click on this button?"
-msgstr "Bu düyməyə basmaq istəyirsiniz?"
+#: ../../printer/printerdrake.pm_.c:2965 ../../standalone/drakconnect_.c:274
+msgid "Normal Mode"
+msgstr "Normal Mod"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Manual configuration"
-msgstr "Əllə quraşdırma"
+#: ../../printer/printerdrake.pm_.c:3127 ../../printer/printerdrake.pm_.c:3176
+#: ../../printer/printerdrake.pm_.c:3363
+#, fuzzy
+msgid "Do you want to configure another printer?"
+msgstr "Qurğuları sınamaq istəyirsiniz?"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "search"
-msgstr "axtar"
+#: ../../printer/printerdrake.pm_.c:3211
+#, fuzzy
+msgid "Modify printer configuration"
+msgstr "İnternet qurğuları"
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:3213
+#, fuzzy, c-format
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."
+"Printer %s\n"
+"What do you want to modify on this printer?"
+msgstr "Qurğuları sınamaq istəyirsiniz?"
+
+#: ../../printer/printerdrake.pm_.c:3217
+msgid "Do it!"
msgstr ""
-"Bu paket /etc/sysconfig/keyboard'dakı seçili klaviatura düzülüşünü yüklər.\n"
-"Hansı klaviatura düzülüşü istifadə ediləcəyi kbdconfig ilə seçilir.\n"
-"Bu, çoxu kompüterdə fəal buraxılmalıdır."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Xpmac (installation display driver)"
-msgstr "Xpmac (qurulum displey sürücüsü)"
+#: ../../printer/printerdrake.pm_.c:3222 ../../printer/printerdrake.pm_.c:3271
+#, fuzzy
+msgid "Printer connection type"
+msgstr "İnternet Bağlantısı Bölüşdürülməsi"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf host name must not contain a ."
-msgstr "Zeroconf qovşaq adı . (nöqtə) daxil edə bilməz"
+#: ../../printer/printerdrake.pm_.c:3223 ../../printer/printerdrake.pm_.c:3275
+#, fuzzy
+msgid "Printer name, description, location"
+msgstr "Çap Edici Bağlantısı"
-#: ../../security/help.pm:1
-#, c-format
-msgid " Accept/Refuse icmp echo."
-msgstr "icmp əks sədasını qəbul/rədd et."
+#: ../../printer/printerdrake.pm_.c:3225 ../../printer/printerdrake.pm_.c:3293
+msgid "Printer manufacturer, model, driver"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../printer/printerdrake.pm_.c:3226 ../../printer/printerdrake.pm_.c:3294
+msgid "Printer manufacturer, model"
msgstr ""
-"Syslog, bir çox vasitənin ismarıclarını müxtəlif sistem qeydlərində\n"
-"tutmalarına imkan verər. Syslog'un hər zaman işləməsi\n"
-"yaxşı fikirdir."
-#: ../../harddrake/data.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown/Others"
-msgstr "Na'məlum/Digərləri"
+#: ../../printer/printerdrake.pm_.c:3232 ../../printer/printerdrake.pm_.c:3304
+msgid "Set this printer as the default"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "No TV Card detected!"
-msgstr "Televiziya Kartı Təsbit Edilmədi!"
+#: ../../printer/printerdrake.pm_.c:3234 ../../printer/printerdrake.pm_.c:3309
+msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Options"
-msgstr "Seçimlər"
+#: ../../printer/printerdrake.pm_.c:3235 ../../printer/printerdrake.pm_.c:3314
+msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printer \"%s\" is set as the default printer now."
-msgstr "\"%s\" çapçısı indi əsas çapçı oldu."
+#: ../../printer/printerdrake.pm_.c:3236 ../../printer/printerdrake.pm_.c:3319
+#, fuzzy
+msgid "Print test pages"
+msgstr "Sınaq səhifəsi çap edilir..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are configuring an OKI laser winprinter. These printers\n"
-"use a very special communication protocol and therefore they work only when "
-"connected to the first parallel port. When your printer is connected to "
-"another port or to a print server box please connect the printer to the "
-"first parallel port before you print a test page. Otherwise the printer will "
-"not work. Your connection type setting will be ignored by the driver."
-msgstr ""
-"OKI lazer winprinter quraşdırırsınız. Bu çapçılar çox xüsusi rabitə "
-"protokolu\n"
-"işlədir və yalnız BİRİNCİ paralel qapıya bağlananda işləyir. Xahiş edirik, "
-"bunu bir daha yoxlayın, əgər çapçınız başqa qapıya bağlıdırsa, sürücü onu "
-"rədd edəcəkdir."
+#: ../../printer/printerdrake.pm_.c:3237 ../../printer/printerdrake.pm_.c:3321
+#, fuzzy
+msgid "Know how to use this printer"
+msgstr "Qurğuları sınamaq istəyirsiniz?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "generation of the cpu (eg: 8 for PentiumIII, ...)"
-msgstr "cpu nəsli (mis: PentiumIII üçün 8, ...)"
+#: ../../printer/printerdrake.pm_.c:3238 ../../printer/printerdrake.pm_.c:3323
+#, fuzzy
+msgid "Remove printer"
+msgstr "Uzaq Çap Edici"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detected"
-msgstr "Avtomatik təsbit edilən"
+#: ../../printer/printerdrake.pm_.c:3282
+#, fuzzy, c-format
+msgid "Removing old printer \"%s\"..."
+msgstr "CUPS sürücü datası oxunur..."
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"You are about to configure your computer to install a PXE server as a DHCP "
-"server\n"
-"and a TFTP server to build an installation server.\n"
-"With that feature, other computers on your local network will be installable "
-"using this computer as source.\n"
-"\n"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-"Kompüterınızə DHCP vericisi olaraq PXE vericisini və onu qurulim vericisi \n"
-"etmək üçün ona TFTP qurmaq üzərə quraşdıracaqsınız. Bu xassə ilə, \n"
-"Bu xassə ilə yerli şəbəkənizdəki digər kompüterlər bu kompüteri mənbə.\n"
-"olaraq istifadə edərək qurula biləcəklər.\n"
-"\n"
-"Daha irəli getmədən əvvəl Şəbəkə/İnternet yetişmənizin drakconnect ilə "
-"quraşdırıldığına əmin olun.\n"
-"\n"
-"Xəbədarlıq: Yerli Şəbəkə (LAN) qurmaq üçün uyğun Şəbəkə Adapterinə "
-"ehtiyacınız var."
+#: ../../printer/printerdrake.pm_.c:3307
+#, fuzzy
+msgid "Default printer"
+msgstr "Yerli Çap Edici"
-#: ../../harddrake/sound.pm:1
+#: ../../printer/printerdrake.pm_.c:3308
#, c-format
-msgid ""
-"OSS (Open Sound System) was the first sound API. It's an OS independent "
-"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
-"and limited API.\n"
-"What's more, OSS drivers all reinvent the wheel.\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
-"which\n"
-"supports quite a large range of ISA, USB and PCI cards.\n"
-"\n"
-"It also provides a much higher API than OSS.\n"
-"\n"
-"To use alsa, one can either use:\n"
-"- the old compatibility OSS api\n"
-"- the new ALSA api that provides many enhanced features but requires using "
-"the ALSA library.\n"
+msgid "The printer \"%s\" is set as the default printer now."
msgstr ""
-"OSS (Open Sound System) ilk səs API'si idi. Bu, ƏS'dən müstəqil səs "
-"API'sidirvə bütün UNIX(tm) sistemlərdə mövcuddur. Yalnız, bu çox bəsit "
-"vəməhdudlaşdırılmış API'dir.\n"
-"Dahası, OSS sürücülərinin hamısı təkəri yenidən kəşf edir.\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) geniş silsilə ISA, USB və PCI "
-"kartlarını dəstəkləyən modullaşdırılmış me'maridir.\n"
-"\n"
-"O, eyni zamanda OSS'dən daha qüvvətli API təşkil edir.\n"
-"\n"
-"Alsanı işlətmək üçün bunlardan biri ola bilər:\n"
-"- köhnə OSS API'si\n"
-"- yeni ALSA API'si.\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"No free space for 1MB bootstrap! Install will continue, but to boot your "
-"system, you'll need to create the bootstrap partition in DiskDrake"
+#: ../../printer/printerdrake.pm_.c:3310
+msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-"1 MB bootstrap üçün yer yoxdur! Qurulum davam edəcək, ancaq sisteminizi aça "
-"bilmək üçün DiskDrake'də bootstrap bölməsi yaratmalısınız."
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3312
#, c-format
msgid ""
-"Please choose the printer you want to set up or enter a device name/file "
-"name in the input line"
+"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
msgstr ""
-"Xahiş edirik, quraşdırmaq istədiyiniz çapçını seçin ya da giriş "
-"sətirinəavadanlıq/fayl adı daxil edin"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:3313
#, c-format
-msgid "Refuse"
-msgstr "Rədd Et"
+msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
+msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "LOCAL"
-msgstr "YERLİ"
+#: ../../printer/printerdrake.pm_.c:3315
+msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../printer/printerdrake.pm_.c:3317
#, c-format
-msgid "HFS"
-msgstr "HFS"
+msgid ""
+"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
+"GIMP."
+msgstr ""
-#: ../../services.pm:1
+#: ../../printer/printerdrake.pm_.c:3318
#, c-format
msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
+"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
msgstr ""
-"HardDrake avadanlıq sınağı aparır və istəyə görə yeni/dəyişdirilmiş "
-"avadanlıqları quraşdırır."
-#: ../../fs.pm:1
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "%s faylı yaradılır və şəkilləndirilir"
+#: ../../printer/printerdrake.pm_.c:3325
+#, fuzzy, c-format
+msgid "Do you really want to remove the printer \"%s\"?"
+msgstr "Şəbəkəni yenidən başlatmaq istəyirsiniz?"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of sgid files."
-msgstr ""
-"Əgər bəli seçilidirsə, sgid fayllarının əlavələrini/silinəcəklərini yoxla."
+#: ../../printer/printerdrake.pm_.c:3329
+#, fuzzy, c-format
+msgid "Removing printer \"%s\"..."
+msgstr "CUPS sürücü datası oxunur..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned "
-"on. Download the Windows driver package from the HP web site (the firmware "
-"on the printer's CD does not work) and extract the firmware file from it by "
-"uncompresing the self-extracting '.exe' file with the 'unzip' utility and "
-"searching for the 'sihp1000.img' file. Copy this file into the '/etc/"
-"printer' directory. There it will be found by the automatic uploader script "
-"and uploaded whenever the printer is connected and turned on.\n"
-msgstr ""
-"HP LaserJet 1000 çapçısı başladılmadan əvvəl firmware'inin yüklü "
-"olmasılazımdır. HP veb saytından Windows sürü paketini endirin "
-"(çapçınınCD'sindəki firmware işləmir) və bu açıla bilən '.exe' faylını "
-"'unzip' vasitəsi ilə açıb 'sihp1000.img' faylını tapın. Daha sonra onu '/etc/"
-"printer' cərgəsinə köçürün. Bundan sonra o artıq çapçının hər "
-"başladılmasında avtomatik olaraq yüklənəcək.\n"
-
-#: ../../diskdrake/interactive.pm:1
+#: ../../raid.pm_.c:35
#, c-format
-msgid "Choose an existing LVM to add to"
-msgstr "Əlavə etmək üçün mövcud bir LVM seçin"
+msgid "Can't add a partition to _formatted_ RAID md%d"
+msgstr "Şəkilləndirilmiş RAID md%d-yə disk bölməsi əlavə edilə bilinmədi"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "xfs restart"
-msgstr "xfs restart"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed"
+msgstr "mkraid iflas etdi"
+
+#: ../../raid.pm_.c:137
+msgid "mkraid failed (maybe raidtools are missing?)"
+msgstr "mkraid iflas etdi (raidtools əksik ola bilər mi?)"
-#: ../../printer/printerdrake.pm:1
+#: ../../raid.pm_.c:153
#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "%d səviyyə RAID üçün çatmayan sayda disk bölməsi\n"
+
+#: ../../security/main.pm_.c:36
msgid ""
-"The printer \"%s\" already exists,\n"
-"do you really want to overwrite its configuration?"
+"Standard: This is the standard security recommended for a computer that will "
+"be used to connect\n"
+" to the Internet as a client.\n"
+"\n"
+"High: There are already some restrictions, and more automatic checks "
+"are run every night.\n"
+"\n"
+"Higher: The security is now high enough to use the system as a server "
+"which can accept\n"
+" connections from many clients. If your machine is only a "
+"client on the Internet, you\n"
+"\t should choose a lower level.\n"
+"\n"
+"Paranoid: This is similar to the previous level, but the system is entirely "
+"closed and security\n"
+" features are at their maximum\n"
+"\n"
+"Security Administrator:\n"
+" If the 'Security Alerts' option is set, security alerts will "
+"be sent to this user (username or\n"
+"\t email)"
msgstr ""
-"Çapçı \"%s\" onsuzda mövcuddur,\n"
-"həqiqətən də onun quraşdırmasının üstündən yazmaq istəyirsiniz?"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use the scanners on hosts: "
-msgstr "Qovşaqlardakı darayıcıları işlət:"
+#: ../../security/main.pm_.c:66
+#, fuzzy
+msgid "Security Level:"
+msgstr "Təhlükəsizlik səviyyəsinin quraşdırılması"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselected All"
-msgstr "Seçili olmayan hamısını"
+#: ../../security/main.pm_.c:77
+#, fuzzy, c-format
+msgid " (default value: %s)"
+msgstr " (Əsas)"
-#: ../../install_steps_interactive.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "No partition available"
-msgstr "Uyğun bölmə mövcud deyil"
+#: ../../security/main.pm_.c:113
+#, fuzzy
+msgid "Security Alerts:"
+msgstr "Təhlükəsizlik səviyyəsinin quraşdırılması"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Printer Management \n"
-msgstr "Çapçı İdarəsi \n"
+#: ../../security/main.pm_.c:115
+#, fuzzy
+msgid "Security Administrator:"
+msgstr "Uzaq Çap Edici (lpd) Seçənəkləri"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Domain Name Resolver"
-msgstr "Domen Adı Həlledicisi"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "Network Options"
+msgstr "Modul seçənəkləri:"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key (again)"
-msgstr "Şifrələrmə açarı (təkrar)"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "System Options"
+msgstr "Modul seçənəkləri:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Samba share name missing!"
-msgstr "Samba bölüşülən sahə adı əksikdir!"
+#: ../../security/main.pm_.c:133 ../../security/main.pm_.c:164
+msgid ""
+"The following options can be set to customize your\n"
+"system security. If you need explanations, click on Help.\n"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type install done"
-msgstr "True Type qurulumu bitdi"
+#: ../../security/main.pm_.c:177
+msgid "Periodic Checks"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detection in progress"
-msgstr "Təsbit etmə fəaliyyətdədir"
+#: ../../security/main.pm_.c:191
+#, fuzzy
+msgid "Please wait, setting security level..."
+msgstr "Təhlükəsizlik səviyyəsinin quraşdırılması"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Whole Kernel -->"
-msgstr "Bütöv Çəyirdəyi İnşa Et -->"
+#: ../../security/main.pm_.c:197
+#, fuzzy
+msgid "Please wait, setting security options..."
+msgstr "Xahiş edirik gözləyin, qurulum hazırlanır"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "modem"
-msgstr "modem"
+#: ../../services.pm_.c:19
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "ALSA səs sistemini (Advanced Linux Sound Architecture) başlat"
-#: ../../lang.pm:1
-#, c-format
-msgid "Welcome to %s"
-msgstr "%s Sisteminə Xoş Gəldiniz"
+#: ../../services.pm_.c:20
+msgid "Anacron a periodic command scheduler."
+msgstr "Anakron, periodik əmr zamanlayıcısı"
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../services.pm_.c:21
msgid ""
-" drakhelp 0.1\n"
-"Copyright (C) 2003 MandrakeSoft.\n"
-"This is free software and may be redistributed under the terms of the GNU "
-"GPL.\n"
-"\n"
-"Usage: \n"
+"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 ""
-" drakhelp 0.1\n"
-"Müəllif Hüququ (C) 2003 MandrakeSoft.\n"
-"Bu sərbəst tə'minatdır və yalnız GNU GPL qaydaları altında paylana bilər.\n"
-"\n"
-"İstifadə Qaydası: \n"
+"apmd batareya vəziyyətini izləmək üçün və syslog aracılığıyla bunun qeydini "
+"tutmaq üçün istifadə edilir.\n"
+"Ayrıca batareya azaldığında sistemi qapatmaq üçün də istifadə edilir."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please insert the Update Modules floppy in drive %s"
-msgstr "%s sürücüsünə Yeniləmə Modulları disketini yerləşdirin"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Bootsplash"
-msgstr "Açılış Ekranı"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:23
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"is directly connected to your system"
+"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 ""
-"Aşağıdakı çapçı\n"
-"\n"
-"%s%s\n"
-"sisteminizə birbaşa bağlıdır"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer sharing on hosts/networks: "
-msgstr "Qovşaqlar/şəbəkələr üstündə çapçı bölüşülməsi: "
+"at əmri, zamanlanan əmrləri işləmələri lazım gələn vaxtda işlədir.\n"
+"Sistem yükü lazımi qədər alçaq olduğunda yığma əmrləri işlədilir."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:25
msgid ""
-"\n"
-"The \"%s\" command also allows to modify the option settings for a "
-"particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\". "
+"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 ""
-"\n"
-"\"%s\" əmri eyni zamanda səciyyəvi çap vəzifəsinin seçim qurğularını "
-"dəyişdirməyə icazə verir. Sadəcə olaraq uyğun gələn qatarı əmr sətirinə "
-"əlavə edin, mis. \"%s <fayl>\". "
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "DrakClock"
-msgstr "Drakbackup"
+"cron, istifadəçilərə xüsusi əmrləri periodik olaraq işə sala bilən\n"
+"standart bir UNIX proqramıdır. vixie cron, standart cron'a əlavə edilmiş bir "
+"çox\n"
+"yeni xüsusiyyət daxildir."
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:28
msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without them. 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."
+"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 ""
-"Bəzi hallarda, %s sürücü düzgün işləməsi üçün əlavə mə'lumat istəyə bilər.\n"
-"Sürücüler üçün əlavə bir xüsusiyyət göstərmək mi istəyərsiniz, yoxsa\n"
-"sürücülərin lazımi mə'lumatlar üçün avadalığı tanımasını mı istəyərsiniz? \n"
-"Bə'zən tanımlama kompüterinizi dondura bilər amma donduğu üçün\n"
-"kompüterinizə heç bir şey olmaz."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct CD label. Disk is labelled %s."
-msgstr "Düzgün CD adı deyil. CD'nin adı %s qoyulub."
+"GPM, Midnight Commander kimi mətn əsaslı tə'minatlara siçan dəstəyi əlavə "
+"edər.\n"
+"Ayrıca konsolda siçanla kəsmə və yapışdırma əməliyyatlarına da imkan verər.\n"
+"Konsolda pop-up menyu dəstəyi verər."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../services.pm_.c:31
msgid ""
-"\n"
-"- Daemon, %s via:\n"
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
msgstr ""
-"\n"
-"- Demon, %s bunun vasitəsi ilə:\n"
+"HardDrake texniki tə'minat sınağı aparar və onları bir ön quraşdırmadan "
+"keçirər."
-#: ../../lang.pm:1
-#, c-format
-msgid "Cuba"
-msgstr "Kuba"
+#: ../../services.pm_.c:33
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache bir World Wide Web vericisidir. HTML faylları və CGI verilməsi üçün "
+"istifadə edilir."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "October"
-msgstr "Oktyabr"
+#: ../../services.pm_.c:34
+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 (qısaca inetd ) bir çox \n"
+"başqa internet xidmətcisini lazım gəldiyi zaman işa salır. İçində telnet, "
+"ftp, rsh və rlogin kimi proqramın olduğu xidmətləri işə salmaqla məs'uldur.\n"
+"inetd-ni sistemden çıxarmaq, onun məs'ul olduğu bütün xidmətləri\n"
+"rədd etmək mənasını daşıyır."
-#: ../../lang.pm:1
-#, c-format
-msgid "Belize"
-msgstr "Beliz"
+#: ../../services.pm_.c:38
+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ı çəkirdəklərində firewall\n"
+"qurmaq üçün üçün paket süzülməsini başlat."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Searching for new printers..."
-msgstr "Yeni çapçılar axtarılır..."
+#: ../../services.pm_.c:40
+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ı seçili klaviatura düzülüşünü yüklər.\n"
+"Hansı klaviatura düzülüşü istifadə ediləcəyi kbdconfig ilə seçilir.\n"
+"Bu, mandrake qurulan bir çox kompüterdə fəal buraxılmalıdır."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (multi-session)"
-msgstr " (çox-iclaslı)"
+#: ../../services.pm_.c:43
+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 çəkirdək başlığı yaradılması."
-#: ../../any.pm:1
-#, c-format
-msgid "Kernel Boot Timeout"
-msgstr "Çəyirdək Açılış Vaxt Dolması"
+#: ../../services.pm_.c:45
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Texniki avadanlığın açılışda avtomatik təsbiti və qurulması."
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../services.pm_.c:46
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."
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
msgstr ""
-"Sizin kartınızın 3D sür'ətləndirmə dəstəyi ola bilər, amma sadecə olaraq "
-"XFree %s\n"
-"ilə düzgün işləyər.\n"
-"Sizin kartınıza XFree %s tərəfindən dəstək verilir ve bu 2D üçün daha yaxşı "
-"bir fikir olar."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid " Activate/Disable daily security check."
-msgstr "Günlük təhlükəsizlik yoxlamasını Fəallaşdır/Qeyri-fəallaşdır"
+"Linuxconf sistem qurğularınızı idarə edən proqramları\n"
+"müxtəlif vəzifələri açılışda icra edər."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-CD-R.\n"
-msgstr "\t-CD-R.\n"
+#: ../../services.pm_.c:48
+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 düzgün olaraq işləməsi üçün lazımi çap edici vasitəsidir.\n"
+"lpd əsasən, çap vəzifələrini idarə edən və onları çap ediciyə göndərən "
+"vericidir."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable libsafe if libsafe is found on the system"
-msgstr "Sistemdə libsafe tapılsa, libsafe fəal edilsin"
+#: ../../services.pm_.c:50
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linuks Virtual Verici, yüksək qabiliyyətli vericilər qurmaq üçün işlədilir."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "DrakX bölmələndirmə sehirbazı bu çıxış yollarını tapdı:"
+#: ../../services.pm_.c:52
+#, fuzzy
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) verici adlarını IP ünvanlarına çevirən\n"
+"Sahə Adı Vericisidir(DNS)."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Hungarian"
-msgstr "Macar dili"
+#: ../../services.pm_.c:53
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Bütün Şəbəkə Fayl Sistemlərini (NFS), SMB (Lan Manager/Windows), və \n"
+"NCP (NetWare) bağlama nöqtələrini bağlar və ayırır."
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../services.pm_.c:55
msgid ""
-"Select your provider.\n"
-"If it isn't listed, choose Unlisted."
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
msgstr ""
-"İnternet xidmət vericinizi seçin.\n"
-"Siyahıda deyilsə Siyahıda deyil'i seçin."
+"Açılış sırasında başlamaq üçün qurulmuş bütün şəbəkə axtar üzlərini "
+"fəallaşdırır ya da qapatır."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automatic time synchronization (using NTP)"
-msgstr "Avtomatik vaxt sinxronizasiyası (NTP vasitəsiylə)"
+#: ../../services.pm_.c:57
+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 şəbəkələrində fayl bölüşülməsi üçün istifadə edilən məşhur bir "
+"protokoldur.\n"
+"Bu xidmət, /etc/exports faylında qurğuları olan NFS vericisinin\n"
+"istifadəsinə imkan verər."
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Use my Windows partition"
-msgstr "Windows bölməmi işlət"
+#: ../../services.pm_.c:60
+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 şəbəkələrində fayl bölüşülməsi üçün istifadə edilən məşhur bir \n"
+"protokoldur. Bu xidmət NFS fayl qıfılı istifadəsinə imkan verər."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "8 MB"
-msgstr "8 MB"
+#: ../../services.pm_.c:62
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and XFree at boot."
+msgstr ""
+"Açılışda XFree və konsolda numlock düyməsini\n"
+"avtomatik olaraq aç."
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Server"
-msgstr "LDAP Vericisi"
+#: ../../services.pm_.c:64
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "OKI 4w və uyğun Windows çap edicilərini dəstəklə."
-#: ../../services.pm:1
-#, c-format
+#: ../../services.pm_.c:65
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 "
@@ -13339,428 +9203,440 @@ msgstr ""
"Qurulmadığı vaxtda açılışda işləməz, işləməsinə ehtiyac olmayan\n"
"kompüterlərdə qurulu olması problem yaratmaz."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Choose your country"
-msgstr "Ölkənizi seçin"
+#: ../../services.pm_.c:68
+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 tərəfindən istifadə edilən RPC \n"
+"bağlantılarını təşkilatlandırır. Portmap vericisi RPC mexanizmini işlədən\n"
+"protokollarla xidmət edən kompüterlərdə qurulmalıdır və işlədilməlidir."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../services.pm_.c:71
+#, fuzzy
msgid ""
-"\n"
-"- System Files:\n"
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
msgstr ""
-"\n"
-"- Sistem Faylları:\n"
+"Posfix, elektronik məktubların bir kompüterdən digərinə yollayan \n"
+"Elektronik Məktub Yollama Vasitəsidir."
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Standalone Tools"
-msgstr "Tək Vasitələr"
+#: ../../services.pm_.c:72
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Yüksək keyfiyyət təsadüfi rəqəm istehsal edən sistem entropi hovuzunun \n"
+"saxlanması və yenidən köhnə halına gətirilməsinə imkan verər."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Where"
-msgstr "Hara"
+#: ../../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"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "but not matching"
-msgstr "amma oxşamır"
+#: ../../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 vasitəsi avtomatik IP router cədvəlinin RIP protokolu tərəfindən\n"
+"yenilənməsinə imkan verər. RIP əsasən kiçik şəbəkələrdə istifadə edilir, "
+"daha böyük\n"
+"şəbəkələrdə daha qarışıq routing protokollarına ehtiyacı vardır."
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../services.pm_.c:79
msgid ""
-"Here you can select an alternative driver (either OSS or ALSA) for your "
-"sound card (%s)."
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
msgstr ""
-"Burada siz (%s) səs kartınız üçün alternativ sürücü (ya OSS ya da ALSA) seçə "
-"bilərsiniz."
+"rstat protokolu bir şəbəkədəkı istifadəçilərin o şəbəkədəkı hər hansı bir\n"
+"kompüter haqqındakı qabiliyyət ölçüləri ala bilmələrinə imkan verər."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring PCMCIA cards..."
-msgstr "PCMCIA kartlar qurulur..."
+#: ../../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 şəbəkədəkı istifadəçilərin o şəbəkədəkı kompüterlərdə\n"
+"işləyən istifadəçiləri görməsinə imkan verər."
-#: ../../common.pm:1
-#, c-format
-msgid "kdesu missing"
-msgstr "kdesu əksikdir"
+#: ../../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 istifadəçilərin, rwho vasitəsi işlədən bir kompüterdə\n"
+"olan bütün istifadəçiləri görmələrina imkan verər."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires a username...\n"
-msgstr "%s: %s'n istifadəçi adına ehtiyacı var...\n"
+#: ../../services.pm_.c:85
+msgid "Launch the sound system on your machine"
+msgstr "Kompüterinizdə səs sistemı başladın"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key"
-msgstr "Şifrələmə açarı"
+#: ../../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 vasitənin ismarıclarını müxtəlif sistem qeydlərində\n"
+"tutmalarına imkan verər. Syslog'un hər zaman işləməsi\n"
+"yaxşı fikirdir."
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
+#: ../../services.pm_.c:88
+msgid "Load the drivers for your usb devices."
+msgstr "USB avadanlığınız üçün sürücüləri yükləyin."
-#: ../../keyboard.pm:1
-#, c-format
-msgid ""
-"This setting will be activated after the installation.\n"
-"During installation, you will need to use the Right Control\n"
-"key to switch between the different keyboard layouts."
+#: ../../services.pm_.c:89
+msgid "Starts the X Font Server (this is mandatory for XFree to run)."
msgstr ""
-"Bu qurğu qurulumdan sonra fəal olacaq.\n"
-"Qurulum sırasında, fərqli klaviatura düzülüşləri arasında\n"
-"keçmək üçün Sağ Control düyməsini istifadə etməlisiniz."
+"X Font Vericisini açılışda işə salar (Bu, XFree icrası üçün məcburidir)."
-#: ../../lang.pm:1
-#, c-format
-msgid "Christmas Island"
-msgstr "Kristmas Adası"
+#: ../../services.pm_.c:115 ../../services.pm_.c:157
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Açılışda avtomatik olaraq başlayacaq xidmətləri seçin"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Automatic"
-msgstr "Avtomatik IP"
+#: ../../services.pm_.c:127
+#, fuzzy
+msgid "Printing"
+msgstr "Çap Edici"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Açılış yükləyicisi qurulumu iflas etdi. Xəta:"
+#: ../../services.pm_.c:128
+msgid "Internet"
+msgstr "İnternet"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "EIDE/SCSI channel"
-msgstr "EIDE/SCSI kanalı"
+#: ../../services.pm_.c:131
+msgid "File sharing"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Set this printer as the default"
-msgstr "Bu çapçını əsas tə'yin et"
+#: ../../services.pm_.c:133 ../../standalone/drakbackup_.c:1709
+#, fuzzy
+msgid "System"
+msgstr "Sistem modu"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Verify that %s is the correct path"
-msgstr "%s çığırının düz olduğunu yoxlayın"
+#: ../../services.pm_.c:138
+#, fuzzy
+msgid "Remote Administration"
+msgstr "Uzaq Çap Edici (lpd) Seçənəkləri"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "partition %s"
-msgstr "%s bölməsi"
+#: ../../services.pm_.c:146
+#, fuzzy
+msgid "Database Server"
+msgstr "Databeyz"
-#: ../../security/level.pm:1
+#: ../../services.pm_.c:175
#, c-format
-msgid "Paranoid"
-msgstr "Paranoid"
+msgid "Services: %d activated for %d registered"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "NIS"
-msgstr "NIS"
+#: ../../services.pm_.c:191
+#, fuzzy
+msgid "Services"
+msgstr "avadanlıq"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Del User"
-msgstr "<-- İstifadəçini Sil"
+#: ../../services.pm_.c:203
+msgid "running"
+msgstr "işləmir"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Location on the bus"
-msgstr "Yol üstündə mövqe"
+#: ../../services.pm_.c:203
+msgid "stopped"
+msgstr "dayandırılıb"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No printer found!"
-msgstr "Çapçı aşkar edilmədi!"
+#: ../../services.pm_.c:217
+msgid "Services and deamons"
+msgstr "Xidmətlər və vasitələr"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the device"
-msgstr "avadanlığın e'malatçısı"
+#: ../../services.pm_.c:222
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Bu xidmət haqqında təəsüf ki,\n"
+"əlavə mə'lumat yoxdur."
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Erase entire disk"
-msgstr "Bütün diski sil"
+#: ../../services.pm_.c:229
+msgid "On boot"
+msgstr "Açılışda"
-#: ../../printer/cups.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Default)"
-msgstr " (Əsas)"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Start"
+msgstr "Hal:"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Automatic reconfiguration"
-msgstr "Avtomatik yenidən quraşdırma"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Stop"
+msgstr "Sektor"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Receiving Speed:"
-msgstr "Alma Sür'əti:"
+#: ../../share/advertising/01-thanks.pl_.c:9
+msgid "Thank you for choosing Mandrake Linux 9.0"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Turks and Caicos Islands"
-msgstr "Türk və Kaykos Adaları"
+#: ../../share/advertising/01-thanks.pl_.c:10
+msgid "Welcome to the Open Source world"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Ip"
-msgstr "Ip yoxdur"
+#: ../../share/advertising/01-thanks.pl_.c:11
+msgid ""
+"The success of MandrakeSoft is based upon the principle of Free Software. "
+"Your new operating system is the result of collaborative work on the part of "
+"the worldwide Linux Community"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "<- Previous"
-msgstr "<- Əvvəlki"
+#: ../../share/advertising/02-community.pl_.c:9
+#, fuzzy
+msgid "Get involved in the Free Software world"
+msgstr "Bütün dünya"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Transfer Now"
-msgstr "İndi Transfer Et"
+#: ../../share/advertising/02-community.pl_.c:10
+msgid "Want to know more about the Open Source community?"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password and network authentication methods"
-msgstr "Ali istifadəçi şifrəsi və şəbəkə icazə yöntəmlərini tə'yin et"
+#: ../../share/advertising/02-community.pl_.c:11
+msgid ""
+"To share your own knowledge and help build Linux tools, join the discussion "
+"forums you'll find on our \"Community\" webpages"
+msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Toggle between flat and group sorted"
-msgstr "Otaq və grup sıralaması arasında gəz"
+#: ../../share/advertising/03-internet.pl_.c:9
+#, fuzzy
+msgid "Get the most from the Internet"
+msgstr "İnternetə bağlan"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Themes"
-msgstr "Örtüklər"
+#: ../../share/advertising/03-internet.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 has selected the best software for you. Surf the Web and "
+"view animations with Mozilla and Konqueror, or read your mail and handle "
+"your personal information with Evolution and Kmail"
+msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Options: %s"
-msgstr "Seçimlər: %s"
+#: ../../share/advertising/04-multimedia.pl_.c:9
+msgid "Discover the most up-to-date graphical and multimedia tools!"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../share/advertising/04-multimedia.pl_.c:10
+msgid "Push multimedia to its limits!"
+msgstr ""
+
+#: ../../share/advertising/04-multimedia.pl_.c:11
msgid ""
-"You are currently using %s as your boot manager.\n"
-"Click on Configure to launch the setup wizard."
+"Mandrake Linux 9.0 enables you to use the very latest software to play audio "
+"files, edit and handle your images or photos, and play videos"
msgstr ""
-"Açılış İdarəçisi olaraq hazırda %s işlədirsiniz.\n"
-"Quraşdırma sehirbazını başlatmaq üçün tıqlayın."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "OKI winprinter configuration"
-msgstr "OKI winprinter qurğuları"
+#: ../../share/advertising/05-games.pl_.c:9
+msgid "Games"
+msgstr "Oyunlar"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Helena"
-msgstr "Müqəddəs Helena"
+#: ../../share/advertising/05-games.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides the best Open Source games - arcade, action, "
+"strategy, ..."
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Parallel port #%s"
-msgstr "%s nömrəli paralel qapı"
+#: ../../share/advertising/06-mcc.pl_.c:9 ../../standalone/drakbug_.c:49
+#, fuzzy
+msgid "Mandrake Control Center"
+msgstr "İdarə Mərkəzi"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Security Level"
-msgstr "Təhlükəsizlik Səviyyəsi"
+#: ../../share/advertising/06-mcc.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides a powerful tool to fully customize and configure "
+"your machine"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../share/advertising/07-desktop.pl_.c:9
+#, fuzzy
+msgid "User interfaces"
+msgstr "Şəbəkə ara üzü"
+
+#: ../../share/advertising/07-desktop.pl_.c:10
msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
+"Mandrake Linux 9.0 provides you with 11 user interfaces that can be fully "
+"modified: KDE 3, Gnome 2, WindowMaker, ..."
msgstr ""
-"Bə'zi bölmələr bitdi.\n"
-"\n"
-"Həqiqətən də çıxmaq istəyirsiniz?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Sudan"
-msgstr "Sudan"
+#: ../../share/advertising/08-development.pl_.c:9
+#, fuzzy
+msgid "Development simplified"
+msgstr "Təcrübi"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwertz layout)"
-msgstr "Polyakca (QWERTZ sırası)"
+#: ../../share/advertising/08-development.pl_.c:10
+msgid "Mandrake Linux 9.0 is the ultimate development platform"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Syria"
-msgstr "Siriya"
+#: ../../share/advertising/08-development.pl_.c:11
+msgid ""
+"Use the full power of the GNU gcc 3 compiler as well as the best Open Source "
+"development environments"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../share/advertising/09-server.pl_.c:9
+msgid "Turn your machine into a reliable server"
+msgstr ""
+
+#: ../../share/advertising/09-server.pl_.c:10
msgid ""
-"Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, "
-"LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), "
-"an HP PhotoSmart or an HP LaserJet 2200?"
+"Transform your machine into a powerful Linux server with a few clicks of "
+"your mouse: Web server, mail, firewall, router, file and print server, ..."
msgstr ""
-"Çapçınız HP ya da Sony'dən çox-funksiyalı avadanlıqdır (OfficeJet, PSC, "
-"LaserJet 1100/1200/1220/3200/3300 darayıcı ilə, DeskJet 450, Sony IJP-V100), "
-"HP PhotoSmart ya da HP LaserJet 2200?"
-# 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:1
-#, c-format
+#: ../../share/advertising/10-mnf.pl_.c:9
+msgid "Optimize your security"
+msgstr ""
+
+#: ../../share/advertising/10-mnf.pl_.c:10
msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system from the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
+"The MandrakeSecurity range includes the Multi Network Firewall product (M.N."
+"F.)"
msgstr ""
-"%s emeliyyat sistemi secki proqramina xos gəlmissiniz!\n"
-"\n"
-"Içlerinden birini acmaq ucun adini yazin ve <ENTER>\n"
-"duymesine basin ve ya esas acilis ucun %d saniye gozleyin.\n"
-"\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Portuguese"
-msgstr "Portuqalca"
+#: ../../share/advertising/10-mnf.pl_.c:11
+msgid ""
+"This firewall product includes network features that allow you to fulfill "
+"all your security needs"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: "
-msgstr "Loopback fayl adı: "
+#: ../../share/advertising/10-mnf.pl_.c:12
+msgid "This product is available on MandrakeStore website"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server address should be in format 1.2.3.4"
-msgstr "DNS vericisi ünvanı 1.2.3.4 şəklində olmalıdır"
+#: ../../share/advertising/11-mdkstore.pl_.c:9
+msgid "The official MandrakeSoft store"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Control key"
-msgstr "Sol Control düyməsi"
+#: ../../share/advertising/11-mdkstore.pl_.c:10
+msgid ""
+"Our full range of Linux solutions, as well as special offers on products and "
+"other \"goodies,\" are available online on our e-store:"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Serbia"
-msgstr "Serbiya"
+#: ../../share/advertising/12-mdkstore.pl_.c:9
+msgid "Strategic partners"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Newzealand"
-msgstr "Yeni Zellanda"
+#: ../../share/advertising/12-mdkstore.pl_.c:10
+msgid ""
+"MandrakeSoft works alongside a selection of companies offering professional "
+"solutions compatible with Mandrake Linux. A list of these partners is "
+"available on the MandrakeStore"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "This directory should remain within the root filesystem"
-msgstr "Bu qovluq kök fayl sistemi içərisində olmalıdır"
+#: ../../share/advertising/13-mdkcampus.pl_.c:9
+msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Across Network"
-msgstr "Şəbəkə üstündə"
+#: ../../share/advertising/13-mdkcampus.pl_.c:10
+msgid ""
+"The training program has been created to respond to the needs of both end "
+"users and experts (Network and System administrators)"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "CapsLock key"
-msgstr "CapsLock düyməsi"
+#: ../../share/advertising/13-mdkcampus.pl_.c:11
+msgid "Certify yourself on Linux"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install bootloader"
-msgstr "Sistem yükləyicisinin qurulumu"
+#: ../../share/advertising/13-mdkcampus.pl_.c:12
+msgid ""
+"Whether you choose to teach yourself online or via our network of training "
+"partners, the Linux-Campus catalogue prepares you for the acknowledged LPI "
+"certification program (worldwide professional technical certification)"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Select the memory size of your graphics card"
-msgstr "Ekran kartınızın yaddaş böyüklüyünü seçin"
+#: ../../share/advertising/14-mdkexpert.pl_.c:9
+#, fuzzy
+msgid "Become a MandrakeExpert"
+msgstr "Usta"
-#: ../../security/help.pm:1
-#, c-format
+#: ../../share/advertising/14-mdkexpert.pl_.c:10
msgid ""
-"Enable/Disable crontab and at for users.\n"
-"\n"
-"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
-"and crontab(1))."
+"Find the solutions of your problems via MandrakeSoft's online support "
+"platform"
msgstr ""
-"crontab və at'ı istifadəçilər üçün fəal/qeyri fəal et.\n"
-"\n"
-"İcazə verilən istifadəçiləri /etc/cron.allow və /etc/at.allow (baxın man at"
-"(1)\n"
-"və crontab(1)) içinə daxil edin."
-#: ../../standalone.pm:1
-#, c-format
+#: ../../share/advertising/14-mdkexpert.pl_.c:11
msgid ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
-"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
+"Join the MandrakeSoft support teams and the Linux Community online to share "
+"your knowledge and help others by becoming a recognized Expert on the online "
+"technical support website:"
msgstr ""
-"[SEÇİMLƏR]\n"
-"Şəbəkə və İnternet bağlantı və izləmə tə'minatı\n"
-"\n"
-"--defaultintf interface : əsas olaraq bu ara üzü göstər\n"
-"--connect : hələ bağlı deyilsə internetə bağlan\n"
-"--disconnect : hazırda internetə bağlıdırsa bağlantını kəs\n"
-"--force : (dis)connect ilə işlədilir : bağlanmağa/kəsməyə zorla.\n"
-"--status : bağlananda 1, əks halda 0 cavabı verir, sonra çıxır.\n"
-"--quiet : interaktiv olma. (dis)connect ilə işlədilmək üçün."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Dynamic IP Address Pool:"
-msgstr "Dinamik IP Ünvan Hovusu:"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:9
+#, fuzzy
+msgid "MandrakeExpert Corporate"
+msgstr "Usta"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM name?"
-msgstr "LVM adı?"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:10
+msgid "An online platform to respond to company's specific support needs"
+msgstr ""
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices in the \"%s\" hardware class were removed:\n"
-msgstr "\"%s\" sinifindəki bəzi avadanlıqlar çıxarıldı:\n"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:11
+msgid ""
+"All incidents will be followed up by a single qualified MandrakeSoft "
+"technical expert."
+msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "%s %s ara üz tapıldı"
+#: ../../share/advertising/17-mdkclub.pl_.c:9
+msgid "Discover MandrakeClub and Mandrake Corporate Club"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Install"
-msgstr "Qurulum Sonrası"
+#: ../../share/advertising/17-mdkclub.pl_.c:10
+msgid ""
+"MandrakeClub and Mandrake Corporate Club were created for business and "
+"private users of Mandrake Linux who would like to directly support their "
+"favorite Linux distribution while also receiving special privileges. If you "
+"enjoy our products, if your company benefits from our products to gain a "
+"competititve edge, if you want to support Mandrake Linux development, join "
+"MandrakeClub!"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The internal domain name"
-msgstr "Daxili domen adı"
+#: ../../standalone.pm_.c:21
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IRQ"
-msgstr "Kart IRQ"
+#: ../../standalone.pm_.c:40
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version name.\n"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "logdrake"
-msgstr "logdrake"
+#: ../../standalone.pm_.c:51
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of mandrake tools\n"
+" --incident - program should be one of mandrake tools"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../standalone.pm_.c:57
msgid ""
"Font Importation and monitoring "
"application \n"
@@ -13775,7240 +9651,4309 @@ msgid ""
" : name_of_application like so for staroffice \n"
" : and gs for ghostscript for only this one."
msgstr ""
-"Yazı növü idxalı və izlənməsi tə'minat \n"
-"--windows_import : bütün mövcud windows bölmələrindən idxal et.\n"
-"--xls_fonts : xls'dən osuzda mövcud olan bütün yazı növlərini göstər\n"
-"--strong : yazı növünün güclü yoxlanması.\n"
-"--install : bütün yazı növü fayl və cərqələrini qəbul et.\n"
-"--uninstall : hər hansı bir yazı növü ya da yazı növü cərqəsini sil.\n"
-"--replace : mövcuddursa yazı növünü üstündən əvəz et\n"
-"--application : 0 heç bir tə'minat.\n"
-" : 1 mövcud olan bütün tə'minatlar dəstəklənir.\n"
-" : tə'minatın_adı staroffice üçün so kimi \n"
-" : və ghostscript üçün gs kimi."
-
-#: ../../standalone.pm:1
-#, c-format
-msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Açılış disketi yaratmaq üçün istifadə ediləcək disket sürücüyü seçin"
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with text menu"
-msgstr "Mətn menyulu LILO"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "instantaneous"
+#: ../../standalone.pm_.c:68
+msgid ""
+"[OPTIONS]...\n"
+"\t --debug print debugging information"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Everything (no firewall)"
-msgstr "Hamısına (atəş divarı olmasın)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a kernel image"
-msgstr "Çəyirdək görüntüsü tə'yin etməlisiniz"
+#: ../../standalone.pm_.c:70
+msgid ""
+"[OPTIONS]...\n"
+"Mandrake Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on USB"
-msgstr ", USB üstündə çox funksiyalı avadanlıq"
+#: ../../standalone.pm_.c:82
+#, fuzzy
+msgid "[keyboard]"
+msgstr "Klaviatura"
-#: ../../interactive/newt.pm:1
-#, c-format
-msgid "Do"
-msgstr "Et"
+#: ../../standalone.pm_.c:83
+msgid "[--file=myfyle] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Contacting the mirror to get the list of available packages..."
-msgstr "Əks ünvanına bağlantı qurulur"
+#: ../../standalone.pm_.c:84
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : don't be interactive. To be used with (dis)connect."
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (old)"
-msgstr "Litvaniya dili AZERTY (köhnə)"
+#: ../../standalone.pm_.c:93
+msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Brazilian (ABNT-2)"
-msgstr "Brazilya dili (ABNT-2)"
+#: ../../standalone.pm_.c:94
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation don't ask first confirmation question in "
+"MandrakeUpdate mode\n"
+" --no-verify-rpm don't verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address of host/network:"
-msgstr "Qovşağın/şəbəkənin IP ünvanı:"
+#: ../../standalone.pm_.c:99
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-usbtable] "
+"[--dynamic=dev]"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone.pm_.c:100
msgid ""
-"the progress bar y coordinate\n"
-"of its upper left corner"
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
msgstr ""
-"irəliləmə çubuğunun onun sol üst\n"
-"küncünə görə y mövqeyi"
-#: ../../install_gtk.pm:1
+#: ../../standalone.pm_.c:114
#, c-format
-msgid "System installation"
-msgstr "Sistem qurulumu"
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Vincent and the Grenadines"
-msgstr "Müqəddəs Vinsent və Qrenadin"
+#: ../../standalone.pm_.c:168
+#, fuzzy
+msgid "Installing packages..."
+msgstr "%s paketi qurulur"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid reboot by the console user."
-msgstr "Konsol istifadəçisinə yenidən başlatma icazəsi ver/vermə"
+#: ../../standalone/XFdrake_.c:138
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Lütfen çıxın və Ctrl-Alt-BackSpace düymələrinə basın"
-#: ../../standalone/logdrake:1
+#: ../../standalone/XFdrake_.c:142
#, c-format
-msgid "/File/_Open"
-msgstr "/Fayl/_Aç"
+msgid "Please relog into %s to activate the changes"
+msgstr "\"%s\"a(ə) təkrar girin və dəyişiklikləri fəallaşdırın"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Location of auto_install.cfg file"
-msgstr "auto_install.cfg faylının yeri"
+#: ../../standalone/drakTermServ_.c:239
+#, fuzzy
+msgid "Mandrake Terminal Server Configuration"
+msgstr "İnternet qurğuları"
-#: ../../any.pm:1
-#, c-format
-msgid "Open Firmware Delay"
-msgstr "Açıq Firmware Gecikməsi"
+#: ../../standalone/drakTermServ_.c:253
+#, fuzzy
+msgid "Enable Server"
+msgstr "Databeyz"
-#: ../../lang.pm:1
-#, c-format
-msgid "Hungary"
-msgstr "Macarıstan"
+#: ../../standalone/drakTermServ_.c:260
+#, fuzzy
+msgid "Disable Server"
+msgstr "Databeyz"
-#: ../../lang.pm:1
-#, c-format
-msgid "New Zealand"
-msgstr "Yeni Zellandiya"
+#: ../../standalone/drakTermServ_.c:268
+#, fuzzy
+msgid "Start Server"
+msgstr "NIS Verici"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Color configuration"
-msgstr "Rəng quraşdırması"
+#: ../../standalone/drakTermServ_.c:275
+#, fuzzy
+msgid "Stop Server"
+msgstr "NIS Verici"
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"There are already some restrictions, and more automatic checks are run every "
-"night."
+#: ../../standalone/drakTermServ_.c:283
+msgid "Etherboot Floppy/ISO"
msgstr ""
-"Onsuzda bə'zi məhdudiyyətləriniz mövcuddur, və hər gecə daha çox avtomatik "
-"yoxlamalar edilir."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "please choose the date to restore"
-msgstr "xahiş edirik, geri yüklənəcək tarixi seçin"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Netherlands Antilles"
-msgstr "Holland Antilləri"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Switching from ext2 to ext3"
-msgstr "ext2'dən ext3'ə keçilir"
+#: ../../standalone/drakTermServ_.c:288
+msgid "Net Boot Images"
+msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng"
-msgstr "LPRng"
+#: ../../standalone/drakTermServ_.c:294
+#, fuzzy
+msgid "Add/Del Users"
+msgstr "İstifadəçini əlavə et"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Browse to new restore repository."
-msgstr "Yeni geri yükləmə yerinə get."
+#: ../../standalone/drakTermServ_.c:299
+#, fuzzy
+msgid "Add/Del Clients"
+msgstr "DHCP Alıcısı"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:328
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard allows you to install local or remote printers to be used from "
-"this machine and also from other machines in the network.\n"
-"\n"
-"It asks you for all necessary information to set up the printer and gives "
-"you access to all available printer drivers, driver options, and printer "
-"connection types."
-msgstr ""
-"\n"
-"Çapçı Quraşdırma Sehirbazına Xoş Gəldiniz\n"
+" Copyright (C) 2002 by MandrakeSoft \n"
+"\tStew Benedict sbenedict\\@mandrakesoft.com\n"
"\n"
-"Bu sehirbaz kompüterinizə, şəbəkədəki sistemlərin və bu sistemin işlədə "
-"biləcəyi yerli ya da uzaq çapçıları quraşdırmaqda sizə yardım edəcək. \n"
-"O, çap sistemini quraşdırmaq üçün lazım olan bütün mə'lumatları sizdən "
-"soruşacaq və mövcud olan bütün çapçılara, sürücü seçimlərinə və çap bağlantı "
-"növlərinə yetişmə imkanı verəcək."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and %d unknown printers"
-msgstr "və %d namə'lum çapçı"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Early Intel Pentium chips manufactured have a bug in their floating point "
-"processor which did not achieve the required precision when performing a "
-"Floating point DIVision (FDIV)"
msgstr ""
-"İlk çıxan Pentium sinifi mikrosxemlərdə Floating point DIVision (FDIV) "
-"xətası vardı"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:332
msgid ""
-"Backup quota exceeded!\n"
-"%d MB used vs %d MB allocated."
-msgstr ""
-"Ehtiyat sərhədi keçildi!\n"
-"%d Mb işlədilib ancaq %d Mb verilmişdi."
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr ""
-"Heç bir ISDN PCI kart tapılmadı. Xahiş edirik, növbəti ekrandakılardan "
-"birini seçin."
-
-#: ../../common.pm:1
-#, c-format
-msgid "GB"
-msgstr "GB"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please give a user name"
-msgstr "Xahiş edirik, bir istifadəçi adı alın"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Enable CD Boot?"
-msgstr "CD Açılışı Fəallaşdırılsın?"
-
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Simply reboot"
-msgstr ""
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid " enter `void' for void entry"
-msgstr " enter `void' void giriçi üçün"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backups on unmountable media - Use Catalog to restore"
+"\n"
+"\n"
+" Thanks:\n"
+"\t- LTSP Project http://www.ltsp.org\n"
+"\t- Michael Brown <mbrown\\@fensystems.co.uk>\n"
+"\n"
msgstr ""
-"Ehtiyatlar bağlana bilməyən mediya üstündədir - geri yükləmək üçün Kataloqu "
-"işlət"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "January"
-msgstr "Yanvars"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Password history length"
-msgstr "Şifrə keçmişi uzunluğu"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Winmodem connection"
-msgstr "Winmodem bağlantısı"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:365
msgid ""
+"drakTermServ Overview\n"
+"\t\t\t \n"
+" - Create Etherboot Enabled Boot Images:\n"
+" \t\tTo boot a kernel via etherboot, a special kernel/initrdrd image "
+"must be created.\n"
+" \t\tmkinitrd-net does much of this work and drakTermServ is just a "
+"graphical interface\n"
+" \t\tto help manage/customize these images.\n"
"\n"
-"Congratulations, your printer is now installed and configured!\n"
+" - Maintain /etc/dhcpd.conf:\n"
+" \t\tTo net boot clients, each client needs a dhcpd.conf entry, "
+"assigning an IP address\n"
+" \t\tand net boot images to the machine. drakTermServ helps create/"
+"remove these entries.\n"
+"\t\t\t\n"
+" \t\t(PCI cards may omit the image - etherboot will request the "
+"correct image. You should\n"
+" \t\talso consider that when etherboot looks for the images, it "
+"expects names like\n"
+" \t\tboot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
+"\t\t\t \n"
+" \t\tA typical dhcpd.conf stanza to support a diskless client looks "
+"like:\n"
+" \t\t\n"
+"\t\t\t\thost curly {\n"
+"\t\t\t\t\thardware ethernet 00:20:af:2f:f7:9d;\n"
+"\t\t\t\t\tfixed-address 192.168.192.3;\n"
+"\t\t\t\t\t/*type fat;*/\n"
+"\t\t\t\t\tfilename \"i386/boot/boot-3c509.2.4.18-6mdk."
+"nbi\";\n"
+"\t\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tWhile you can use a pool of IP addresses, rather than setup a specific "
+"entry for\n"
+"\t\t\ta client machine, using a fixed address scheme facilitates using the "
+"functionality\n"
+"\t\t\tof client-specific configuration files that ClusterNFS provides.\n"
+"\t\t\t\n"
+"\t\t\tNote: The \"/*type\" entry is only used by drakTermServ. Clients can "
+"either be \"thin\"*/\n"
+"\t\t\tor 'fat'. Thin clients run most software on the server via xdmcp, "
+"while fat clients run most\n"
+"\t\t\tsoftware on the client machine. A special inittab, /etc/inittab\\$\\"
+"$IP=client_ip\\$\\$ is\n"
+"\t\t\twritten for thin clients. System config files xdm-config, kdmrc, and "
+"gdm.conf are modified\n"
+"\t\t\tif thin clients are used, to enable xdmcp. Since there are security "
+"issues in using xdmcp,\n"
+"\t\t\thosts.deny and hosts.allow are modified to limit access to the local "
+"subnet.\n"
+"\t\t\t\n"
+"\t\t\tNote: You must stop/start the server after adding or changing "
+"clients.\n"
+"\t\t\t\n"
+" - Maintain /etc/exports:\n"
+" \t\tClusternfs allows export of the root filesystem to diskless "
+"clients. drakTermServ\n"
+" \t\tsets up the correct entry to allow anonymous access to the root "
+"filesystem from\n"
+" \t\tdiskless clients.\n"
"\n"
-"You can print using the \"Print\" command of your application (usually in "
-"the \"File\" menu).\n"
+" \t\tA typical exports entry for clusternfs is:\n"
+" \t\t\n"
+" \t\t/ (ro,all_squash)\n"
+" \t\t/home SUBNET/MASK(rw,root_squash)\n"
+"\t\t\t\n"
+"\t\t\tWith SUBNET/MASK being defined for your network.\n"
+" \t\t\n"
+" - Maintain /etc/shadow\\$\\$CLIENT\\$\\$:\n"
+" \t\tFor users to be able to log into the system from a diskless "
+"client, their entry in\n"
+" \t\t/etc/shadow needs to be duplicated in /etc/shadow\\$\\$CLIENTS\\$"
+"\\$. drakTermServ helps\n"
+" \t\tin this respect by adding or removing system users from this "
+"file.\n"
+"\n"
+" - Per client /etc/X11XF86Config-4\\$\\$IP-ADDRESS\\$\\$:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future drakTermServ "
+"will help create these\n"
+" \t\tfiles.\n"
"\n"
-"If you want to add, remove, or rename a printer, or if you want to change "
-"the default option settings (paper input tray, printout quality, ...), "
-"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
-"Center."
-msgstr ""
+" - Per client system configuration files:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future, "
+"drakTermServ can help create files\n"
+" \t\tsuch as /etc/modules.conf, /etc/sysconfig/mouse, /etc/sysconfig/"
+"keyboard on a per-client\n"
+" \t\tbasis.\n"
"\n"
-"Təbrik edirik, çapçınız indi quraşdırıldı və işlədilməyə hazırdır!\n"
+" - /etc/xinetd.d/tftp:\n"
+" \t\tdrakTermServ will configure this file to work in conjunction "
+"with the images created by\n"
+" \t\tmkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
+"the boot image to each\n"
+" \t\tdiskless client.\n"
+"\n"
+" \t\tA typical tftp configuration file looks like:\n"
+" \t\t\n"
+" \t\tservice tftp\n"
+" \t\t(\n"
+" disable = no\n"
+" socket_type = dgram\n"
+" protocol = udp\n"
+" wait = yes\n"
+" user = root\n"
+" server = /usr/sbin/in.tftpd\n"
+" server_args = -s /var/lib/tftpboot\n"
+" \t\t}\n"
+" \t\t\n"
+" \t\tThe changes here from the default installation are changing the "
+"disable flag to\n"
+" \t\t'no' and changing the directory path to /var/lib/tftpboot, where "
+"mkinitrd-net\n"
+" \t\tputs it's images.\n"
"\n"
-"Proqramların \"Çap Et\" əmrini istifadə edərək çap edə bilərsiniz.(Bu əmr "
-"ümumiyyətlə \"Fayl\" menyusunda yer alır).\n"
+" - Create etherboot floppies/CDs:\n"
+" \t\tThe diskless client machines need either ROM images on the NIC, "
+"or a boot floppy\n"
+" \t\tor CD to initate the boot sequence. drakTermServ will help "
+"generate these images,\n"
+" \t\tbased on the NIC in the client machine.\n"
+" \t\t\n"
+" \t\tA basic example of creating a boot floppy for a 3Com 3c509 "
+"manually:\n"
+" \t\t\n"
+" \t\tcat /usr/lib/etherboot/boot1a.bin /\\n \t\t\t/usr/lib/"
+"etherboot/lzrom/3c509.lzrom > /dev/fd0\n"
+" \n"
"\n"
-"Əgər çapçı ilə əlaqəli hər hansı bir qurğu yerinə gətirmək, ya da yeni çapçı "
-"əlavə etmək / çapçı silmək istəyirsinizsə, Mandrakeİdarə Mərkəzindəki "
-"\"Avadanlıq\" bölməsində yer alan in the \"Çapçı\" düyməsini istifadə edin."
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Now, you can run xawtv (under X Window!) !\n"
-msgstr "İndi, siz xawtv'ni işə sala bilərsiniz (X Window altında!) !\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Not enough swap space to fulfill installation, please add some"
-msgstr "Qurulumu bitirmək üçün lazımi sahə yoxdur, xahiş edirik, əlavə edin"
+#: ../../standalone/drakTermServ_.c:488
+msgid "Boot Floppy"
+msgstr ""
-#. -PO: example: lilo-graphic on /dev/hda1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "%s on %s"
-msgstr "%2$s üstündə %1$s"
+#: ../../standalone/drakTermServ_.c:490
+msgid "Boot ISO"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid remote root login."
-msgstr "Ali istifadəçinin uzaqdan girişinə icazə ver/vermə"
+#: ../../standalone/drakTermServ_.c:559
+msgid "Build Whole Kernel -->"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
-"local time according to the time zone you selected. If the clock on your\n"
-"motherboard is set to local time, you may deactivate this by unselecting\n"
-"\"%s\", which will let GNU/Linux know that the system clock and the\n"
-"hardware clock are in the same timezone. This is useful when the machine\n"
-"also hosts another operating system like Windows.\n"
-"\n"
-"The \"%s\" option will automatically regulate the clock by connecting to a\n"
-"remote time server on the Internet. For this feature to work, you must have\n"
-"a working Internet connection. It is best to choose a time server located\n"
-"near you. This option actually installs a time server that can used by\n"
-"other machines on your local network as well."
-msgstr ""
-"GNU/Linuks vaxtı GMT (Greenwich Mean Time) ilə idarə edir və onu yerli\n"
-"vaxtı seçdiyiniz vaxt zolağına bağlı olaraq seçir. Əgər ana kartınızın "
-"saatı\n"
-"yerli saata quraşdırılıbsa, bunu, \"%s\"i seçərək qeyri-fəallaşdıra "
-"bilərsiniz,\n"
-"Bu, Linuksa sistem vaxtı ilə avadanlıq vaxtının eyni vaxt zolağında "
-"olduğunu\n"
-"bildirəcək. Bu, sistemdə Windows kimi digər əməliyyat sistemi mövcuddursa\n"
-"faydalıdır.\n"
-"\n"
-"\"%s\" seçimi isə, saatınızı internetdəki uzaq zaman vericisinə bağlanaraq\n"
-"düzəldəcək. Bu xüsusiyyətin işləməsi üçün, internet bağlantınız olmalıdır.\n"
-"Sizə ən yaxın olan vericini seçmək məsləhət edilir.\n"
-"Bu seçim əslində yerli şəbəkənizdəki başqa kompüterlərin də istifadə edə\n"
-"biləcəyi zaman vericisini qurur."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create log file!"
-msgstr "Qeyd faylı yaradıla bilmir!"
+#: ../../standalone/drakTermServ_.c:561 ../../standalone/drakTermServ_.c:591
+msgid "This will take a few minutes."
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakclock:1
-#, c-format
-msgid "Which is your timezone?"
-msgstr "Vaxt zolağınız hansıdır?"
+#: ../../standalone/drakTermServ_.c:573
+msgid "No kernel selected!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use .backupignore files"
-msgstr ".backupignore fayllarını işlət"
+#: ../../standalone/drakTermServ_.c:576
+msgid "Build Single NIC -->"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea"
-msgstr "Qvineya"
+#: ../../standalone/drakTermServ_.c:587
+#, fuzzy
+msgid "No nic selected!"
+msgstr "Bağlı deyil"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "The system is now connected to the Internet."
-msgstr "Sistem indi İnternetə bağlıdır."
+#: ../../standalone/drakTermServ_.c:590
+msgid "Build All Kernels -->"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "South Georgia and the South Sandwich Islands"
-msgstr "Cənubi Georgiya və Cənubi Sandviç Adası"
+#: ../../standalone/drakTermServ_.c:604
+#, fuzzy
+msgid "<-- Delete"
+msgstr "Sil"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (broadcast)"
-msgstr "Yaponiya (translyasiya)"
+#: ../../standalone/drakTermServ_.c:611
+#, fuzzy
+msgid "Delete All NBIs"
+msgstr "Fayl seç"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:668
msgid ""
-"Monitor\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer."
+"!!! Indicates the password in the system database is different than\n"
+" the one in the Terminal Server database.\n"
+"Delete/re-add the user to the Terminal Server to enable login."
msgstr ""
-"Monitor\n"
-"\n"
-" Qurulum proqramı sisteminizə bağlı olan monitoru əsasən avtomatik olaraq\n"
-"aşkar edəcək. Əgər səhv tapılsa həqiqətən sisteminizə bağlı olan monitoru\n"
-"siyahıdan seçə bilərsiniz."
-#: ../../lang.pm:1
-#, c-format
-msgid "Mozambique"
-msgstr "Mozambiq"
+#: ../../standalone/drakTermServ_.c:673
+#, fuzzy
+msgid "Add User -->"
+msgstr "İstifadəçini əlavə et"
-#: ../../any.pm:1
-#, c-format
-msgid "Icon"
-msgstr "Timsal"
+#: ../../standalone/drakTermServ_.c:681
+msgid "<-- Del User"
+msgstr ""
-#: ../../../move/tree/mdk_totem:1
+#: ../../standalone/drakTermServ_.c:720
#, fuzzy, c-format
-msgid "Kill those programs"
-msgstr "X proqramlarına yetişmə icazəsi"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose what you want to backup"
-msgstr "Xahiş edirik, nəyin ehtiyat nüsxəsini çıxartmaq istədiyinizi seçin"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "256 colors (8 bits)"
-msgstr "256 rəng (8 bits)"
+msgid "type: %s"
+msgstr "Növ: "
-#: ../../any.pm:1
-#, c-format
-msgid "Read-write"
-msgstr "Oxu-yaz"
+#: ../../standalone/drakTermServ_.c:753
+msgid "No net boot images created!"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s\n"
-msgstr "Böyüklük: %s\n"
+#: ../../standalone/drakTermServ_.c:773
+#, fuzzy
+msgid "Thin Client"
+msgstr "DHCP Alıcısı"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Hostname: "
-msgstr "Ev sahibi adı:"
+#: ../../standalone/drakTermServ_.c:775
+#, fuzzy
+msgid "Allow Thin Clients"
+msgstr "DHCP Alıcısı"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a rule"
-msgstr "Qayda əlavə et"
+#: ../../standalone/drakTermServ_.c:778
+msgid "Add Client -->"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Parça böyüklüyü %s\n"
+#: ../../standalone/drakTermServ_.c:821
+#, fuzzy
+msgid "<-- Edit Client"
+msgstr "DHCP Alıcısı"
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid "Build the future of Linux!"
-msgstr "Linuksun gələcəyini inşa edin!"
+#: ../../standalone/drakTermServ_.c:837
+#, fuzzy
+msgid "Delete Client"
+msgstr "DHCP Alıcısı"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printer"
-msgstr "Yerli Çapçı"
+#: ../../standalone/drakTermServ_.c:843
+#, fuzzy
+msgid "dhcpd Config..."
+msgstr "Quraşdırılır..."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Floppy access error, unable to mount device %s"
-msgstr "Disketə icazə xətası, %s avadanlığı bağlana bilmədi"
+#: ../../standalone/drakTermServ_.c:876
+msgid ""
+"Need to restart the Display Manager for full changes to take effect. \n"
+"(service dm restart - at the console)"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+#: ../../standalone/drakTermServ_.c:894
+msgid "Subnet:"
msgstr ""
-"[--file=faylım] [--word=kəlməm] [--explain=ifadəliqayda] [--xəbərdarlıq]"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ADSL connection"
-msgstr "ADSL bağlantısı"
+#: ../../standalone/drakTermServ_.c:901
+#, fuzzy
+msgid "Netmask:"
+msgstr "Netmask"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No configuration, please click Wizard or Advanced.\n"
+#: ../../standalone/drakTermServ_.c:908
+msgid "Routers:"
msgstr ""
-"Quraşdırma yoxdur, xahiş edirik, Sehirbaz ya da Mütəxəssis düymələrinən "
-"birinə basın.\n"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Error!"
-msgstr "Xəta!"
+#: ../../standalone/drakTermServ_.c:915
+msgid "Subnet Mask:"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "cable connection detected"
-msgstr "Kabel bağlantısı aşkar edildi"
+#: ../../standalone/drakTermServ_.c:922
+msgid "Broadcast Address:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission denied transferring %s to %s"
-msgstr "%s %s'ə daşınırkən icazə verilmədi"
+#: ../../standalone/drakTermServ_.c:929
+#, fuzzy
+msgid "Domain Name:"
+msgstr "Sahə(domain) adı"
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Report Bug"
-msgstr "/_Xəta Raportu Göndər"
+#: ../../standalone/drakTermServ_.c:937
+#, fuzzy
+msgid "Name Servers:"
+msgstr "NIS Verici"
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominica"
-msgstr "Dominik"
+#: ../../standalone/drakTermServ_.c:948
+msgid "IP Range Start:"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resize"
-msgstr "Böyüklüyünü Dəyişdir"
+#: ../../standalone/drakTermServ_.c:949
+msgid "IP Range End:"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Həlledilirlik: %s\n"
+#: ../../standalone/drakTermServ_.c:1001
+#, fuzzy
+msgid "dhcpd Server Configuration"
+msgstr "Yerli Şəbəkə Quraşdırılması"
-#: ../../install2.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:1002
msgid ""
-"Can't access kernel modules corresponding to your kernel (file %s is "
-"missing), this generally means your boot floppy in not in sync with the "
-"Installation medium (please create a newer boot floppy)"
+"Most of these values were extracted\n"
+"from your running system.\n"
+"You can modify as needed."
msgstr ""
-"Çəyirdəyinizə uyğun gələn çəyirdək modullarına yetişilə bilmədi (%s faylı "
-"əksikdir), bu çox vaxt açılış disketinizin Qurulum mediyası ilə sinxronluq "
-"içində olmadığı mə'nasına gəlir (xahiş edirik, yeni disket yaradın)."
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Please select the correct port. For example, the \"COM1\" port under\n"
-"Windows is named \"ttyS0\" under GNU/Linux."
+#: ../../standalone/drakTermServ_.c:1005
+msgid "Dynamic IP Address Pool:"
msgstr ""
-"Xahiş edirik, doğru qapını seçin. Məsələn, Windows'dakı COM1\n"
-"GNU/Linuks'da ttyS0'dır."
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be removed"
-msgstr "Aşağıdakı paketlər sistemdən silinəcəklər"
-
-#: ../../network/adsl.pm:1 ../../network/ethernet.pm:1
-#, c-format
-msgid "Connect to the Internet"
-msgstr "İnternetə bağlan"
+#: ../../standalone/drakTermServ_.c:1018
+#, fuzzy
+msgid "Write Config"
+msgstr "yenidən quraşdır"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use existing partitions"
-msgstr "Mövcud bölmələri işlət"
+#: ../../standalone/drakTermServ_.c:1120
+#, fuzzy
+msgid "Please insert floppy disk:"
+msgstr "%s sürücüsünə bir disket taxın"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Canadian (Quebec)"
-msgstr "Fransız dili (Kanada/Quebec)"
+#: ../../standalone/drakTermServ_.c:1124
+msgid "Couldn't access the floppy!"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Siçan avadanlığı: %s\n"
+#: ../../standalone/drakTermServ_.c:1126
+msgid "Floppy can be removed now"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Reselect correct fonts"
-msgstr "Düzgün yazı növlərini yenidən seç"
+#: ../../standalone/drakTermServ_.c:1129
+#, fuzzy
+msgid "No floppy drive available!"
+msgstr "Disket sürücü yoxdur"
-#: ../../help.pm:1
+#: ../../standalone/drakTermServ_.c:1138
#, c-format
-msgid ""
-"Options\n"
-"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+msgid "Etherboot ISO image is %s"
msgstr ""
-"Seçimlər\n"
-"\n"
-" Burada, sisteminiz başlarkən avtomatik olaraq qrafiki ekrana keçməsini\n"
-"seçə bilərsiniz. Yalnız, əgər sisteminiz bir verici olacaqsa ya da ekran "
-"qurğularını\n"
-"müvəffəqiyyətlə sazlaya bilmədinizsə hər halda \"%s\" seçimini seçmək "
-"istəyəcəksiniz."
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "MandrakeExpert Corporate"
-msgstr "MandrakeExpert Corporate"
+#: ../../standalone/drakTermServ_.c:1140
+msgid "Something went wrong! - Is mkisofs installed?"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-" [everything]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake resolution"
+#: ../../standalone/drakTermServ_.c:1159
+msgid "Need to create /etc/dhcpd.conf first!"
msgstr ""
-" [hərşey]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake həllerilirlik"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Write protection"
-msgstr "Yazma qoruması"
+#: ../../standalone/drakTermServ_.c:1451
+msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "You've not selected any font"
-msgstr "Heç yazı növü seçmədiniz"
+#: ../../standalone/drakautoinst_.c:40
+#, fuzzy
+msgid "Error!"
+msgstr "Xəta"
-#: ../../steps.pm:1
+#: ../../standalone/drakautoinst_.c:41
#, c-format
-msgid "Language"
-msgstr "Dil"
+msgid "I can't find needed image file `%s'."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer model selection"
-msgstr "Çapçı modeli seçkisi"
+#: ../../standalone/drakautoinst_.c:43
+#, fuzzy
+msgid "Auto Install Configurator"
+msgstr "Qurulum sonrası qurğular"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:44
msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
+"You are about to configure an Auto Install floppy. This feature is somewhat "
+"dangerous and must be used circumspectly.\n"
+"\n"
+"With that feature, you will be able to replay the installation you've "
+"performed on this computer, being interactively prompted for some steps, in "
+"order to change their values.\n"
+"\n"
+"For maximum safety, the partitioning and formatting will never be performed "
+"automatically, whatever you chose during the install of this computer.\n"
+"\n"
+"Do you want to continue?"
msgstr ""
-"%s bölməsinin növünü dəyişdirdikdən sonra, bu bölmədəki bütün mə'lumatlar "
-"itiriləcək"
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "ISDN adapters"
-msgstr "ISDN kartı"
-
-#: ../../common.pm:1
-#, c-format
-msgid "%d seconds"
-msgstr "%d saniyə"
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "%s sürücüsünə boş bir disket yerləşdirin"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A valid URI must be entered!"
-msgstr "Düzgün URI girilməlidir!"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Found \"%s\" interface do you want to use it ?"
-msgstr "\"%s\" ara üzü tapıldı. Onu işlətmək istəyirsiniz?"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Re-configure interface and DHCP server"
-msgstr "Ara üz və DHCP vericisini yenidən quğula"
+#: ../../standalone/drakautoinst_.c:62 ../../standalone/drakautoinst_.c:71
+msgid "manual"
+msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound configuration"
-msgstr "Səs quraşdırılması"
+#: ../../standalone/drakautoinst_.c:62
+#, fuzzy
+msgid "replay"
+msgstr "Təkrarla"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo test page"
-msgstr "Foto sınaq səhifəsi"
+#: ../../standalone/drakautoinst_.c:66
+#, fuzzy
+msgid "Automatic Steps Configuration"
+msgstr "Qurulum Tərzi Quraşdırılması"
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Custom disk partitioning"
-msgstr "Xüsusi disk bölmələndirməsi"
+#: ../../standalone/drakautoinst_.c:67
+msgid ""
+"Please choose for each step whether it will replay like your install, or it "
+"will be manual"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter Printer Name and Comments"
-msgstr "Çapçı Adı və Şərhləri Daxil Edin"
+#: ../../standalone/drakautoinst_.c:78 ../../standalone/drakautoinst_.c:79
+#, fuzzy
+msgid "Creating auto install floppy"
+msgstr "Avtomatik qurulum disketi hazırlanır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:139
msgid ""
-"The following printers\n"
"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr ""
-"Aşağıdakı çapçılar\n"
+"Welcome.\n"
"\n"
-"%s%s\n"
-"sisteminizə birbaşa bağlıdır"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "You don't have any winmodem"
-msgstr "Heç bir winmodeminiz yoxdur"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: %s"
-msgstr "növ: %s"
+"The parameters of the auto-install are available in the sections on the left"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTY)"
-msgstr "Slovakca (QWERTY)"
+#: ../../standalone/drakautoinst_.c:234 ../../standalone/drakgw_.c:504
+#: ../../standalone/scannerdrake_.c:117
+msgid "Congratulations!"
+msgstr "Təbriklər!"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:235
msgid ""
-"This should be a comma-separated list of local users or email addresses that "
-"you want the backup results sent to. You will need a functioning mail "
-"transfer agent setup on your system."
+"The floppy has been successfully generated.\n"
+"You may now replay your installation."
msgstr ""
-"Bu, yerli istifadəçilərin ya da ehtiyatlama nəticələrinin yollanacağı epoçt "
-"ünvanlarının vergüllə ayrılmış siyahısıdır. Sisteminizdə fəal olan poçt "
-"yollama proqramı qurulu olmalıdır."
-#: ../../standalone/draksound:1
-#, c-format
-msgid "No Sound Card detected!"
-msgstr "Səs Kartı Təsbit Edilmədi!"
+#: ../../standalone/drakautoinst_.c:273
+#, fuzzy
+msgid "Auto Install"
+msgstr "Qurulum"
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse Port"
-msgstr "Siçan Qapısı"
+#: ../../standalone/drakautoinst_.c:343
+#, fuzzy
+msgid "Add an item"
+msgstr "İstifadəçi əlavə et"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check for unsecured accounts"
-msgstr "Təhlükəli hesabları yoxla"
+#: ../../standalone/drakautoinst_.c:350
+#, fuzzy
+msgid "Remove the last item"
+msgstr "Loopback faylı şəkilləndirilir: %s"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Need to restart the Display Manager for full changes to take effect. \n"
-"(service dm restart - at the console)"
+#: ../../standalone/drakbackup_.c:580
+msgid "Cron not available yet as non-root"
msgstr ""
-"Dəyişikliklərin fəal olması üçün Displey İdarəçisi yenidən "
-"başladılmalıdır. \n"
-"(konsolda - service dm restart)"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Ftp Server"
-msgstr "Ftp Vericisi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uganda"
-msgstr "Uqanda"
+#: ../../standalone/drakbackup_.c:690
+msgid "WARNING"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "%s fonts conversion"
-msgstr "%s yazı növləri dönüşdürülməsi"
+#: ../../standalone/drakbackup_.c:691
+#, fuzzy
+msgid "FATAL"
+msgstr "FAT"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the type of bus on which the mouse is connected"
-msgstr "siçanınızın bağlı olduğu yol növü"
+#: ../../standalone/drakbackup_.c:692
+msgid "INFO"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:704
msgid ""
-"As a review, DrakX will present a summary of information it has about your\n"
-"system. Depending on your installed hardware, you may have some or all of\n"
-"the following entries. Each entry is made up of the configuration item to\n"
-"be configured, followed by a quick summary of the current configuration.\n"
-"Click on the corresponding \"%s\" button to change that.\n"
-"\n"
-" * \"%s\": check the current keyboard map configuration and change that if\n"
-"necessary.\n"
-"\n"
-" * \"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list.\n"
-"\n"
-" * \"%s\": By default, DrakX deduces your time zone based on the country\n"
-"you have chosen. You can click on the \"%s\" button here if this is not\n"
-"correct.\n"
-"\n"
-" * \"%s\": check the current mouse configuration and click on the button to\n"
-"change it if necessary.\n"
-"\n"
-" * \"%s\": clicking on the \"%s\" button will open the printer\n"
-"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-"Guide'' for more information on how to setup a new printer. The interface\n"
-"presented there is similar to the one used during installation.\n"
-"\n"
-" * \"%s\": if a sound card is detected on your system, it is displayed\n"
-"here. If you notice the sound card displayed is not the one that is\n"
-"actually present on your system, you can click on the button and choose\n"
-"another driver.\n"
-"\n"
-" * \"%s\": by default, DrakX configures your graphical interface in\n"
-"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
-"\"%s\" to reconfigure your graphical interface.\n"
-"\n"
-" * \"%s\": if a TV card is detected on your system, it is displayed here.\n"
-"If you have a TV card and it is not detected, click on \"%s\" to try to\n"
-"configure it manually.\n"
"\n"
-" * \"%s\": if an ISDN card is detected on your system, it will be displayed\n"
-"here. You can click on \"%s\" to change the parameters associated with the\n"
-"card.\n"
-"\n"
-" * \"%s\": If you want to configure your Internet or local network access\n"
-"now.\n"
-"\n"
-" * \"%s\": this entry allows you to redefine the security level as set in a\n"
-"previous step ().\n"
-"\n"
-" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
-"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
-"the corresponding section of the ``Starter Guide'' for details about\n"
-"firewall settings.\n"
-"\n"
-" * \"%s\": if you wish to change your bootloader configuration, click that\n"
-"button. This should be reserved to advanced users.\n"
+" DrakBackup Report \n"
"\n"
-" * \"%s\": here you'll be able to fine control which services will be run\n"
-"on your machine. If you plan to use this machine as a server it's a good\n"
-"idea to review this setup."
msgstr ""
-"İcmal olaraq, DrakX sisteminiz haqqında malik olduğu mə'lumatı göstərəcək.\n"
-"Qurulu avadanlığınıza bağlı olaraq, aşağıdakı girişlərin hamısını ya da bir "
-"neçəsi\n"
-"icmalda yer ala bilər. Hər giriş, quraşdırılan üzvdən və hazırkı qurğusunun "
-"qısa\n"
-"izahatından ibarətdir.\n"
-"Qurğunu dəyişdirmək üçün uyğun olan \"%s\" düyməsinə basın.\n"
-"\n"
-" * \"%s\": hazırkı klaviatura düzülüşünü göstərir. Lazımdırsa, bunu "
-"dəyişdirin.\n"
-"\n"
-" * \"%s\": hazırkı ölkə seçimini göstərir. Əgər bu ölkədə deyilsəniz,\"%s\"\n"
-"düyməsinə basaraq başqasını seçin. Ölkəniz siyahıda yer almırsa ölkələrin\n"
-"tam siyahısını görmək üçün \"%s\" düyməsinə basın.\n"
-"\n"
-" * \"%s\": əsasən, DrakX vaxt zolağınızı yaşadığınız ölkəyə görə müəyyən\n"
-"edir. Yalnız seçim düzgün deyilsə, \"%s\" düyməsinə basaraq onu dəyişdirə\n"
-"bilərsiniz.\n"
-"\n"
-" * \"%s\": hazırkı siçan qurğularını yoxlayın və lazımdırsa düyməyə basın.\n"
-"\n"
-" * \"%s\": \"%s\" düyməsinə basaraq çapçı quraşdırma sehirbazını işə sala\n"
-"bilərsiniz. Ətraflı mə'lumat üçün ''Başlanğıc Bələdçisi'' kitabçasının "
-"uyğun\n"
-"bölümünə baxın.\n"
-"\n"
-" * \"%s\": əgər sisteminizdə səs kartı tapılıbsa, burada göstəriləcək.\n"
-"Əgər buradakı səs kartının sisteminizdə olandan fərqli olduğu nəzərinizə\n"
-"çatarsa, düyməyə basaraq başqa sürücü seçə bilərsiniz.\n"
-"\n"
-" * \"%s\": əsasən, DrakX qrafiki ara üzünüzü \"800x600\" ya da \"1024x768\"\n"
-"həlledirliyində quraşdırır. Bu sizə uyğun deyilsə, \"%s\" düyməsinin köməyi "
-"ilə\n"
-"qrafiki ara üzünüzü yenidən quraşdıra bilərsiniz.\n"
-"\n"
-" * \"%s\": əgər sisteminizdə televiziya kartı tapılıbsa, burada "
-"göstəriləcək.\n"
-"Əgər televiziya kartınız var olub aşkar edilməyibsə, \"%s\" düyməsinə\n"
-"basaraq onu əllə quraşdırmağı sınayın.\n"
+
+#: ../../standalone/drakbackup_.c:705
+msgid ""
"\n"
-" * \"%s\": əgər sisteminizdə ISDN kartı aşkar edilibsə, burada "
-"göstəriləcək.\n"
-"Kart ilə əlaqəli parametrləri dəyişdirmək üçün \"%s\" düyməsinə basa "
-"bilərsiniz.\n"
+" DrakBackup Daemon Report\n"
"\n"
-" * \"%s\": əgər İnternet ya da şəbəkənizi indi quraşdırmaq istəyirsinizsə.\n"
"\n"
-" * \"%s\": bu, əvvəlki addımda seçilən təhlükəsizlik səviyyəsini dəyişdirmə "
-"imkanı\n"
-"verir.\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:709
+msgid ""
"\n"
-" * \"%s\": əgər İnternetə bağlanmağı fikirləşirsinizsə, sisteminizi qorumaq "
-"üçün\n"
-"atəş divarı quraşdırmaq yaxşı fikirdir. Ətraflı mə'lumat üçün ''Başlanğıc "
-"Bələdçisi''\n"
-"kitabçasının uyğun bölümünə baxın.\n"
+" DrakBackup Report Details\n"
"\n"
-" * \"%s\": əgər açılış yükləyicisi qurğularınızı dəyişdirmək istəyirsinizsə, "
-"bu düyməyə\n"
-"basın. Bu, əsasən mütəxəssis istifadəçilər üçündür.\n"
"\n"
-" * \"%s\": burada, sistemdə hansı xidmətlərin işləyəcəyini sazlaya "
-"bilərsiniz.\n"
-"Əgər sisteminizi verici olaraq işlətəcəksəniz, bu qurğuları gözdən keçirin."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Comoros"
-msgstr "Komor"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "May"
-msgstr "May"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Yaboot mode"
-msgstr "Yaboot modu"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse"
-msgstr "Sıravi 3 Düyməli Siçan"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable)"
-msgstr "ABŞ (kabel)"
+#: ../../standalone/drakbackup_.c:730 ../../standalone/drakbackup_.c:803
+#: ../../standalone/drakbackup_.c:859
+#, fuzzy
+msgid "Total progess"
+msgstr "Qapıları sına"
-#: ../../standalone/drakboot:1
+#: ../../standalone/drakbackup_.c:785
#, c-format
msgid ""
-"Can't relaunch LiLo!\n"
-"Launch \"lilo\" as root in command line to complete LiLo theme installation."
+"%s exists, delete?\n"
+"\n"
+"Warning: If you've already done this process you'll probably\n"
+" need to purge the entry from authorized_keys on the server."
msgstr ""
-"LiLo yenidən başladıla bilmir!\n"
-"LiLo örtüyü qurulumunu tamamlamaq üçün ali istifadəçi olaraq əmr sətirinə "
-"\"lilo\" yazın."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select another media to restore from"
-msgstr "Geri qaytarmaq üçün başqa mediya seç"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Software Manager"
-msgstr "Proqram Təminatı İdarəçisi"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Re-submit"
-msgstr "Yenidən göndər"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD in place - continue."
-msgstr "CD yerində - davam et."
-
-#: ../../common.pm:1
-#, c-format
-msgid "KB"
-msgstr "KB"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Network & Internet"
-msgstr "Şəbəkə və İnternet"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Litvanya dili \"Fonetik\" QWERTY"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Net Boot Images"
-msgstr "Şəbəkədən Açılış Görüntüləri"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Sharing of local scanners"
-msgstr "Yerli çapçıların bölüşülməsi"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play probing failed. Please select the correct monitor"
+#: ../../standalone/drakbackup_.c:794
+msgid "This may take a moment to generate the keys."
msgstr ""
-"Tax və İşlət sınaması bacarılmadı. Xahiş edirik, hazırkı monitoru seçin"
-#: ../../../move/move.pm:1
+#: ../../standalone/drakbackup_.c:801
#, c-format
-msgid "Detect again USB key"
+msgid "ERROR: Cannot spawn %s."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Services and deamons"
-msgstr "Xidmətlər və vasitələr"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name missing!"
-msgstr "Uzaqdakı qovşağın adı əksikdir!"
-
-#: ../../fsedit.pm:1
+#: ../../standalone/drakbackup_.c:818
#, c-format
-msgid "with /usr"
-msgstr "/usr ilə"
+msgid "No password prompt on %s at port %s"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Network"
-msgstr "Şəbəkə"
+#: ../../standalone/drakbackup_.c:819
+#, fuzzy, c-format
+msgid "Bad password on %s"
+msgstr "Parolsuz"
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:820
#, c-format
-msgid "Auto-detect printers connected to machines running Microsoft Windows"
+msgid "Permission denied transferring %s to %s"
msgstr ""
-"Microsoft Windows işlədən kompüterlərə bağlı olan çapçıları avtomati aşkar et"
-
-#: ../../any.pm:1
-#, c-format
-msgid "This password is too simple"
-msgstr "Zəif şifrə seçdiniz"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Chkconfig obey msec rules"
-msgstr "Chkconfig msec qaydalarına qulaq assın"
+#: ../../standalone/drakbackup_.c:821
+#, fuzzy, c-format
+msgid "Can't find %s on %s"
+msgstr "%s açıla bilmir: %s\n"
-#: ../../keyboard.pm:1
+#: ../../standalone/drakbackup_.c:824
#, c-format
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovakca (QWERTZ)"
+msgid "%s not responding"
+msgstr ""
-#: ../advertising/06-development.pl:1
+#: ../../standalone/drakbackup_.c:828
#, c-format
msgid ""
-"To modify and to create in different languages such as Perl, Python, C and C+"
-"+ has never been so easy thanks to GNU gcc 3 and the best Open Source "
-"development environments."
+"Transfer successful\n"
+"You may want to verify you can login to the server with:\n"
+"\n"
+"ssh -i %s %s\\@%s\n"
+"\n"
+"without being prompted for a password."
msgstr ""
-"Perl, Python, C və C++ kimi dillərdə proqram inkişaf etmək GNU gcc 3 və "
-"əngözəl Açıq Mənbəli inkişaf mühitləri vasitəsi ilə heç bu qədər asan "
-"olmamışdır."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No devices found"
-msgstr "Heç bir avadanlıq tapıla bilmədi"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Truly minimal install (especially no urpmi)"
-msgstr "Həqiqətən minimal qurulum (xüsusilə urpmi olmasın)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use daemon"
-msgstr "Demonu işlət"
-
-#: ../../install_steps_interactive.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakconnect:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Authentication"
-msgstr "Tanıtma"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
-msgstr "Bu çapçını Star Office/OpenOffice.org/GIMP proqramlarına əlavə et."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Additional CUPS servers: "
-msgstr "Əlavə CUPS vericiləri:"
+#: ../../standalone/drakbackup_.c:873
+msgid "WebDAV remote site already in sync!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Choose one of the auto-detected printers from the list or enter the hostname "
-"or IP and the optional port number (default is 9100) in the input fields."
+#: ../../standalone/drakbackup_.c:877
+msgid "WebDAV transfer failed!"
msgstr ""
-"Siyahıdan avtomatik aşkar edilən çapçılardan birini seçin ya da giriş "
-"sahələrinə qovşaq adı ya da IP ünvanı və istəyə bağlı qapı nömrəsini (əsası "
-"9100) daxil edin."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount %s?"
-msgstr "%s avadanlığını hara bağlamaq istəyirsiniz?"
+#: ../../standalone/drakbackup_.c:898
+msgid "No CDR/DVDR in drive!"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Algeria"
-msgstr "Əlcəzair"
+#: ../../standalone/drakbackup_.c:902
+msgid "Does not appear to be recordable media!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network"
-msgstr "Şəbəkə Üstündən Geri Yüklə"
+#: ../../standalone/drakbackup_.c:906
+msgid "Not erasable media!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tar and bzip2 (rather than tar and gzip)"
+#: ../../standalone/drakbackup_.c:945
+msgid "This may take a moment to erase the media."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd-size"
-msgstr "Initrd böyüklüyü"
+#: ../../standalone/drakbackup_.c:1033
+msgid "Permission problem accessing CD."
+msgstr ""
-#: ../../help.pm:1
+#: ../../standalone/drakbackup_.c:1060
#, c-format
-msgid ""
-"In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
+msgid "No tape in %s!"
msgstr ""
-"Əgər kartınız üçün həm 3D dəstəyi olan həm də olmayan vericilər mövcudsa,\n"
-"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş ediləcək."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and gzip\n"
-msgstr "\tEhtiyat nüsxələri tar və gzip işlədir\n"
+#: ../../standalone/drakbackup_.c:1174 ../../standalone/drakbackup_.c:1223
+msgid "Backup system files..."
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Set as default"
-msgstr "Əsas olaraq seç"
+#: ../../standalone/drakbackup_.c:1224 ../../standalone/drakbackup_.c:1291
+#, fuzzy
+msgid "Hard Disk Backup files..."
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "2 MB"
-msgstr "2 MB"
+#: ../../standalone/drakbackup_.c:1236
+#, fuzzy
+msgid "Backup User files..."
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../printer/main.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Configured on this machine"
-msgstr "Bu kompüter üstündə quraşdırılmış olan"
+#: ../../standalone/drakbackup_.c:1237
+msgid "Hard Disk Backup Progress..."
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Control keys simultaneously"
-msgstr "Eyni zamanda iki Control düyməsi "
+#: ../../standalone/drakbackup_.c:1290
+#, fuzzy
+msgid "Backup Other files..."
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid " --help - display this help \n"
-msgstr " --help - bu yardımı göstər \n"
+#: ../../standalone/drakbackup_.c:1296
+#, fuzzy
+msgid "No changes to backup!"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../standalone.pm:1
+#: ../../standalone/drakbackup_.c:1312 ../../standalone/drakbackup_.c:1335
#, c-format
msgid ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in "
-"MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the "
-"description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+"\n"
+"Drakbackup activities via %s:\n"
+"\n"
msgstr ""
-"[SEÇİM]...\n"
-" --no-confirmation MandrakeUpdate modundabirinci təsdiqləmə sualını "
-"soruşma\n"
-" --no-verify-rpm paket imzalarını yoxlama\n"
-" --changelog-first izahat pəncərəsində fayl siyahısından əvvəl "
-"changelog'u göstər\n"
-" --merge-all-rpmnew tapılan bütün .rpmnew/.rpmsave fayllarını "
-"birləşdirməyi təklif et"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Setting Default Printer..."
-msgstr "Əsas Çapçı Seçilir..."
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr "Ara Üz %s (%s modulu işlədilir)"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Generating preview ..."
-msgstr "Ümumi nümayiş ..."
-#: ../../network/network.pm:1
+#: ../../standalone/drakbackup_.c:1319
#, c-format
msgid ""
-"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
-"frequency), or add enough '0' (zeroes)."
+"file list sent by FTP: %s\n"
+" "
msgstr ""
-"Tezliyin yanına k, M ya da G şəkilçisi qoyulmalıdır (misal üçün, 2.46 GHz "
-"tezlik üçün \"2.46G\" ), ya da lazım olan qədər '0' (sıfır) əlavə edin."
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ignore"
-msgstr "nəzərə alma"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1322
msgid ""
-"Allow/Forbid X connections:\n"
"\n"
-"- ALL (all connections are allowed),\n"
+" FTP connection problem: It was not possible to send your backup files by "
+"FTP.\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:1340
+msgid ""
"\n"
-"- LOCAL (only connection from local machine),\n"
+"Drakbackup activities via CD:\n"
"\n"
-"- NONE (no connection)."
msgstr ""
-"X bağlantılarına icazə Ver/Vermə:\n"
-"\n"
-"- HAMISI (bütün bağlantılara icazə ver),\n"
+
+#: ../../standalone/drakbackup_.c:1345
+msgid ""
"\n"
-"- YERLİ (yalnız yerli kompüterdən gələn bağlantıya icazə ver),\n"
+"Drakbackup activities via tape:\n"
"\n"
-"- HEÇBİRİ (heç bir bağlantıya icazə vermə)."
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on parallel port #%s"
-msgstr ", %s nömrəli paralel qapıdakı çox funksiyalı avadanlıq"
+#: ../../standalone/drakbackup_.c:1354
+#, fuzzy
+msgid " Error during mail sending. \n"
+msgstr "%s faylı oxunurkan xəta oldu"
-#: ../../mouse.pm:1
-#, c-format
-msgid "serial"
-msgstr "serial"
+#: ../../standalone/drakbackup_.c:1380
+msgid "Can't create catalog!"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "DVD-ROM"
-msgstr "DVD-ROM"
+#: ../../standalone/drakbackup_.c:1490 ../../standalone/drakbackup_.c:1501
+#: ../../standalone/drakfont_.c:946
+#, fuzzy
+msgid "File Selection"
+msgstr "Paket Qrup Seçkisi"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Gürcü dili (\"Latın\" sırası)"
+#: ../../standalone/drakbackup_.c:1529
+msgid "Select the files or directories and click on 'Add'"
+msgstr ""
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid "Get the best items with Mandrake Linux Strategic partners"
-msgstr "Mandrake Linuks Stratejik Ortaqları ilə ən yaxşı dərəcələrə malik olun"
+#: ../../standalone/drakbackup_.c:1573
+msgid ""
+"\n"
+"Please check all options that you need.\n"
+msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1574
msgid ""
-"You may now provide options to module %s.\n"
-"Note that any address should be entered with the prefix 0x like '0x123'"
+"These options can backup and restore all files in your /etc directory.\n"
msgstr ""
-"Siz indi %s moduluna seçimlə ötürə bilərsiniz.\n"
-"Qeyd edin ki bütün ünvanlar 0x şəkilçisi ilə daxil edilməlidir, mis: '0x123'"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kenya"
-msgstr "Kenya"
+#: ../../standalone/drakbackup_.c:1575
+#, fuzzy
+msgid "Backup your System files. (/etc directory)"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``Unmount'' first"
-msgstr "Əvvəlcə ``Ayır'-ı işlət"
+#: ../../standalone/drakbackup_.c:1576
+msgid "Use incremental backup (do not replace old backups)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing mtools packages..."
-msgstr "mtools paketləri qurulur..."
+#: ../../standalone/drakbackup_.c:1577
+msgid "Do not include critical files (passwd, group, fstab)"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a root partition"
-msgstr "Kök bölməsini müəyyən etməlisiniz"
+#: ../../standalone/drakbackup_.c:1578
+msgid ""
+"With this option you will be able to restore any version\n"
+" of your /etc directory."
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "first step creation"
-msgstr "ilk addım yaradılışı"
+#: ../../standalone/drakbackup_.c:1595
+#, fuzzy
+msgid "Please check all users that you want to include in your backup."
+msgstr "Xahiş edirik qurmaq istədiyiniz paketləri seçin."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Shift keys simultaneously"
-msgstr "Eyni zamanda iki Shift düyməsi "
+#: ../../standalone/drakbackup_.c:1622
+msgid "Do not include the browser cache"
+msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-" --id <id_label> - load the html help page which refers to id_label\n"
+#: ../../standalone/drakbackup_.c:1623 ../../standalone/drakbackup_.c:1647
+msgid "Use Incremental Backups (do not replace old backups)"
msgstr ""
-" --id <id_etiketi> - id_label'a istiqamətləndirən html yardım "
-"səhifəsini yüklə\n"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Select a scanner model"
-msgstr "Darayıcı modelini seçin"
+#: ../../standalone/drakbackup_.c:1645 ../../standalone/drakfont_.c:1000
+#, fuzzy
+msgid "Remove Selected"
+msgstr "Növbəni sil"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Accept/Refuse bogus IPv4 error messages."
-msgstr "Səhv IPv4 xəta ismarışlarını qəbul et/etmə"
+#: ../../standalone/drakbackup_.c:1679
+#, fuzzy
+msgid "Windows (FAT32)"
+msgstr "\"Windows\"u sil"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng - LPR New Generation"
-msgstr "LPRng - LPR Yeni Nəsil"
+#: ../../standalone/drakbackup_.c:1714
+#, fuzzy
+msgid "Users"
+msgstr "İstifadəçi adı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup Configuration"
-msgstr "Drakbackup Quraşdırılması"
+#: ../../standalone/drakbackup_.c:1740
+#, fuzzy
+msgid "Use network connection to backup"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Save as.."
-msgstr "Fərqli qeyd et..."
+#: ../../standalone/drakbackup_.c:1742
+msgid "Net Method:"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea (North)"
-msgstr "Koreya (Şimal)"
+#: ../../standalone/drakbackup_.c:1746
+msgid "Use Expect for SSH"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1747
msgid ""
-"This interface has not been configured yet.\n"
-"Launch the configuration wizard in the main window"
+"Create/Transfer\n"
+"backup keys for SSH"
msgstr ""
-"BU ara üz hələlik quraşdırılmayıb.\n"
-"Ana pəncərədə quraşdırma sehirbazını işə salın"
-
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System configuration"
-msgstr "Sistem quraşdırılması"
-#: ../../any.pm:1 ../../security/l10n.pm:1
-#, c-format
-msgid "Autologin"
-msgstr "Avtomatik Giriş"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin Password"
-msgstr "Domen İdarəçi Şifrəsi"
-
-#: ../advertising/05-desktop.pl:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1748
msgid ""
-"Perfectly adapt your computer to your needs thanks to the 11 available "
-"Mandrake Linux user interfaces which can be fully modified: KDE 3.1, GNOME "
-"2.2, Window Maker, ..."
+" Transfer \n"
+"Now"
msgstr ""
-"Mandrake Linuksun GNOME 2.4, KDE 3.1, Window Maker kimi mövcud 11 istifadəçi "
-"ara üzləri ilə kompüterinizi ehtiyaclarınıza tamamiylə uyğunlaşdırın."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer ..."
-msgstr "Çapçı quraşdırılır ..."
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1749
msgid ""
-"To ensure data integrity after resizing the partition(s), \n"
-"filesystem checks will be run on your next boot into Windows(TM)"
+"Other (not drakbackup)\n"
+"keys in place already"
msgstr ""
-"Bölmə(lər)in böyüklüyünün dəyişdirilməsindən sonra mə'lumat \n"
-"bütövlüyünü qorumaq üçün fayl sistemi yoxlamaları bir sonrakı\n"
-"Windows(TM) açılışınızda işə salınacaq."
-#: ../../common.pm:1
-#, c-format
-msgid "MB"
-msgstr "MB"
+#: ../../standalone/drakbackup_.c:1753
+#, fuzzy
+msgid "Please enter the host name or IP."
+msgstr "Xahiş edirik siçanınızı seçin"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run some checks against the rpm database."
+#: ../../standalone/drakbackup_.c:1758
+msgid ""
+"Please enter the directory (or module) to\n"
+" put the backup on this host."
msgstr ""
-"Əgər bəli seçilidirsə, rpm mə'lumat bazasına qarşı bir neçə sınaq işə sal."
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (British)"
-msgstr "Virgin Adaları (Britaniya)"
+#: ../../standalone/drakbackup_.c:1763
+#, fuzzy
+msgid "Please enter your login"
+msgstr "Xahiş edirik təkrar sınayın"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bermuda"
-msgstr "Bermuda"
+#: ../../standalone/drakbackup_.c:1768
+#, fuzzy
+msgid "Please enter your password"
+msgstr "Xahiş edirik təkrar sınayın"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "click here if you are sure."
-msgstr "əminsəniz buraya basın."
+#: ../../standalone/drakbackup_.c:1774
+#, fuzzy
+msgid "Remember this password"
+msgstr "Parolsuz"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"No configuration file found \n"
-"please click Wizard or Advanced."
+#: ../../standalone/drakbackup_.c:1785
+msgid "Need hostname, username and password!"
msgstr ""
-"Quraşdırma faylı tapıla bilmədi \n"
-"Xahiş edirik, Sehirbaz ya da Mütəxəssis düymələrindən birinə basın."
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Listed here are the existing Linux partitions detected on your hard drive.\n"
-"You can keep the choices made by the wizard, since they are good for most\n"
-"common installations. If you make any changes, you must at least define a\n"
-"root partition (\"/\"). Do not choose too small a partition or you will not\n"
-"be able to install enough software. If you want to store your data on a\n"
-"separate partition, you will also need to create a \"/home\" partition\n"
-"(only possible if you have more than one Linux partition available).\n"
-"\n"
-"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
-"\n"
-"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc."
+#: ../../standalone/drakbackup_.c:1879
+msgid "Use CD/DVDROM to backup"
msgstr ""
-"Burada sürücünüzdə tapılan Linuks bölmələri sıralanıb.\n"
-"Sehirbazın məsləhətlərinə qulaq asın, onlar çox vaxt işə yarayır.\n"
-"Əgər hər hansı bir dəyişiklik etsəniz ən azından kök bölməsini (\"/\") "
-"müəyyən\n"
-"etməlisiniz. Çox kiçik bölmə seçməyin, yoxsa kifayət qədər proqram "
-"tə'minatı\n"
-"qura bilməyəcəksiniz. Əgər mə'lumatlarınızı başqa bölmədə tutmaq "
-"istəyirsinizsə,\n"
-"o zaman bir də \"/home\" bölməsi yaratmalısınız (yalnız birdən çox Linuks\n"
-"bölməniz var isə mümkündür).\n"
-"\n"
-"Hər bölmə bu cür sıralanıb; \"Ad\",\"Həcm\".\n"
-"\n"
-"\"Ad\" bu cür qurulub: \"sabit disk növü\", \"sabit disk nömrəsi\",\n"
-"\"bölmə nömrəsi\" (məsələn, \"hda1\").\n"
-"\n"
-"\"Sabit disk növü\" diskiniz IDE sürücüsü isə \"hd\"dir, SCSI sürücüsü isə\n"
-"\"sd\"dir.\n"
-"\n"
-"\"Sabit disk nömrəsi\" həmişə \"hd\" və ya \"sd\"dən sonrakı rəqəmdir. IDE \n"
-"sürücülər üçün:\n"
-"\n"
-"* \"a\" mə'nası \"birinci IDE idarəçisində ali (master) sürücü\",\n"
-"\n"
-"* \"b\" mə'nası \"birinci IDE idarəçisində qul (slave) sürücü\",\n"
-"\n"
-"* \"c\" mə'nası \"ikinci IDE idarəçisində ali (master) sürücü\",\n"
-"\n"
-"* \"d\" mə'nası \"ikinci IDE idarəçisində qul (slave) sürücü\".\n"
-"\n"
-"\n"
-"SCSI sürücülərində, \"a\"nın mə'nası \"ən düşük SCSI ID\",\n"
-"\"b\"nin mə'nası \"ikinci ən düşük SCSI ID\"dir, vs..."
-
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Remove"
-msgstr "Sil"
-#: ../../lang.pm:1
-#, c-format
-msgid "Lesotho"
-msgstr "Lesoto"
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "utopia 25"
-msgstr "utopia 25"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Pipe job into a command"
-msgstr "Vəzifəni əmrin içinə borula"
+#: ../../standalone/drakbackup_.c:1882
+msgid ""
+"Please choose your CD/DVD device\n"
+"(Press Enter to propogate settings to other fields.\n"
+"This field isn't necessary, only a tool to fill in the form.)"
+msgstr ""
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Remove system config files"
-msgstr "Loopback faylı silinsin?"
+#: ../../standalone/drakbackup_.c:1887
+#, fuzzy
+msgid "Please choose your CD/DVD media size (Mb)"
+msgstr "Klaviatura quruluşunu seçiniz."
-#: ../../lang.pm:1
-#, c-format
-msgid "Cote d'Ivoire"
-msgstr "Kot Divuar"
+#: ../../standalone/drakbackup_.c:1893
+#, fuzzy
+msgid "Please check for multisession CD"
+msgstr "Xahiş edirik bir bölmə üstünə tıqlayın"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "new dynamic device name generated by core kernel devfs"
-msgstr "əsas çəyirdək devfs tərəfindən yaradılan yeni dinamik avadanlıq adı"
+#: ../../standalone/drakbackup_.c:1899
+#, fuzzy
+msgid "Please check if you are using CDRW media"
+msgstr "Xahiş edirik bir bölmə üstünə tıqlayın"
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/drakgw:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Yes"
-msgstr "Bəli"
+#: ../../standalone/drakbackup_.c:1905
+#, fuzzy
+msgid "Please check if you want to erase your RW media (1st Session)"
+msgstr "Xahiş edirik bir bölmə üstünə tıqlayın"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which protocol do you want to use?"
-msgstr "Hansı protokolu istifadə etmək istəyirsiniz?"
+#: ../../standalone/drakbackup_.c:1906
+msgid " Erase Now "
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Progress"
-msgstr "İrəliləməni Geri Yüklə"
+#: ../../standalone/drakbackup_.c:1912
+#, fuzzy
+msgid "Please check if you are using a DVDR device"
+msgstr "Xahiş edirik bir bölmə üstünə tıqlayın"
-#: ../../lang.pm:1
-#, c-format
-msgid "Estonia"
-msgstr "Estoniya"
+#: ../../standalone/drakbackup_.c:1918
+#, fuzzy
+msgid "Please check if you are using a DVDRAM device"
+msgstr "Xahiş edirik bir bölmə üstünə tıqlayın"
-#: ../../partition_table.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1931
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."
+"Please enter your CD Writer device name\n"
+" ex: 0,1,0"
msgstr ""
-"Bölmə cədvəlinizdə bir boşluq var, amma o da işlədilə bilmir.\n"
-"Bu boşluğu, genişlədilmiş bölmənin yanına daşımaq üçünbirinci bölmənizi "
-"daşımalısınız."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Choose the host on which the local scanners should be made available:"
-msgstr "Yerli darayıcıların istifadəyə hansı qovşaqlarda açıq olacağını seçin:"
+#: ../../standalone/drakbackup_.c:1964
+#, fuzzy
+msgid "No CD device defined!"
+msgstr "Fayl seç"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Channel"
-msgstr "Kanal"
+#: ../../standalone/drakbackup_.c:2012
+#, fuzzy
+msgid "Use tape to backup"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Add"
-msgstr "Əlavə et"
+#: ../../standalone/drakbackup_.c:2015
+msgid "Please enter the device name to use for backup"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Error while sending mail. \n"
-msgstr "Poçt göndərilərkən xəta oldu.\n"
+#: ../../standalone/drakbackup_.c:2021
+#, fuzzy
+msgid "Please check if you want to use the non-rewinding device."
+msgstr "Xahiş edirik qurmaq istədiyiniz paketləri seçin."
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Keyboard"
-msgstr "Klaviatura"
+#: ../../standalone/drakbackup_.c:2027
+#, fuzzy
+msgid "Please check if you want to erase your tape before the backup."
+msgstr "Xahiş edirik qurmaq istədiyiniz paketləri seçin."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Insert the CD with volume label %s\n"
-" in the CD drive under mount point /mnt/cdrom"
-msgstr ""
-"Etiketi %s olan CD'ni /mnt/cdrom\n"
-" bağlama nöqtəsi altına sürücüyə yerləşdirin"
+#: ../../standalone/drakbackup_.c:2033
+#, fuzzy
+msgid "Please check if you want to eject your tape after the backup."
+msgstr "Xahiş edirik qurmaq istədiyiniz paketləri seçin."
-#: ../../network/network.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2039 ../../standalone/drakbackup_.c:2112
+#: ../../standalone/drakbackup_.c:3068
msgid ""
-"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
-"enough '0' (zeroes)."
+"Please enter the maximum size\n"
+" allowed for Drakbackup"
msgstr ""
-"Sıxlığın yanına k, M ya da G şəkilçisi qoyulmalıdır (misal üçün, 11M üçün "
-"\"11M\" ), ya da lazım olan qədər '0' (sıfır) əlavə edin."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the connection you want to configure"
-msgstr "Qurğulamaq istədiyiniz bağlantını seçin"
+#: ../../standalone/drakbackup_.c:2103
+#, fuzzy
+msgid "Please enter the directory to save to:"
+msgstr "Xahiş edirik siçanınızı seçin"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security level..."
-msgstr "Xahiş edirik, gözləyin, təhlükəsizlik səviyyəsi seçilir..."
+#: ../../standalone/drakbackup_.c:2118 ../../standalone/drakbackup_.c:3074
+#, fuzzy
+msgid "Use quota for backup files."
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Configuring network device %s"
-msgstr "%s şəbəkə avadanlığı qurulur"
+#: ../../standalone/drakbackup_.c:2180
+#, fuzzy
+msgid "Network"
+msgstr "Şəbəkə ara üzü"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "activated"
-msgstr "fəal"
+#: ../../standalone/drakbackup_.c:2185
+msgid "CDROM / DVDROM"
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Please choose which network interface will be used for the dhcp server."
-msgstr "dhcp vericisi üçün hansı şəbəkə ara üzünün istifadə ediləcəyini seçin."
+#: ../../standalone/drakbackup_.c:2190
+msgid "HardDrive / NFS"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Finding packages to upgrade..."
-msgstr "Güncəllənəcək paketlar tapılır"
+#: ../../standalone/drakbackup_.c:2195
+#, fuzzy
+msgid "Tape"
+msgstr "Növ"
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount point: "
-msgstr "Bağlama nöqtəsi: "
+#: ../../standalone/drakbackup_.c:2208 ../../standalone/drakbackup_.c:2212
+#: ../../standalone/drakbackup_.c:2216
+msgid "hourly"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "parse all fonts"
-msgstr "bütün yazı növlərini oxu"
+#: ../../standalone/drakbackup_.c:2209 ../../standalone/drakbackup_.c:2213
+#: ../../standalone/drakbackup_.c:2216
+msgid "daily"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid direct root login."
-msgstr "Birbaşa ali istifadəçinin girişinə icazə ver/vermə"
+#: ../../standalone/drakbackup_.c:2210 ../../standalone/drakbackup_.c:2214
+#: ../../standalone/drakbackup_.c:2216
+msgid "weekly"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid " Accept/Refuse broadcasted icmp echo."
-msgstr " Translasiya edilən icmp echo'sunu Qəbul Et/Rədd Et"
+#: ../../standalone/drakbackup_.c:2211 ../../standalone/drakbackup_.c:2215
+#: ../../standalone/drakbackup_.c:2216
+msgid "monthly"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With X"
-msgstr "X ilə"
+#: ../../standalone/drakbackup_.c:2229
+#, fuzzy
+msgid "Use daemon"
+msgstr "İstifadəçi adı"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Multi-head configuration"
-msgstr "Çoxlu Başlıq quraşdırılması"
+#: ../../standalone/drakbackup_.c:2234
+#, fuzzy
+msgid ""
+"Please choose the time \n"
+"interval between each backup"
+msgstr "Xahiş edirik qurmaq istədiyiniz paketləri seçin."
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "No browser available! Please install one"
-msgstr "Heç qurulu səyyar yoxdur! Xahiş edirik, birini qurun"
+#: ../../standalone/drakbackup_.c:2240
+#, fuzzy
+msgid ""
+"Please choose the\n"
+"media for backup."
+msgstr "Xahiş edirik istifadə üçün bir dil seçin."
-#: ../../Xconfig/main.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2247
msgid ""
-"Keep the changes?\n"
-"The current configuration is:\n"
+"Please be sure that the cron daemon is included in your services. \n"
"\n"
-"%s"
+"Note that currently all 'net' medias also use the hard drive."
msgstr ""
-"Dəyişikliklər saxlansın?\n"
-"Hazırkı qurğular belədir:\n"
-"\n"
-"%s"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "32MB'dən kiçik disk bölmələrində ReiserFS istifadə edə bilməzsiniz"
+#: ../../standalone/drakbackup_.c:2283
+msgid "Send mail report after each backup to:"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-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)."
+#: ../../standalone/drakbackup_.c:2289
+msgid "Delete Hard Drive tar files after backup to other media."
msgstr ""
-"rwho protokolu, uzaq istifadəçilərin, rwho vasitəsi işlədən bir kompüterdə\n"
-"olan bütün istifadəçiləri görmələrina imkan verər."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Domain name"
-msgstr "Domen adı"
+#: ../../standalone/drakbackup_.c:2324
+msgid "What"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Sharing of local printers"
-msgstr "Yerli çapçıların bölüşülməsi"
+#: ../../standalone/drakbackup_.c:2329
+#, fuzzy
+msgid "Where"
+msgstr "Çərx"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable libsafe if libsafe is found on the system."
-msgstr "Sistemdə libsafe tapılsa, libsafe Fəal/Qeyri-Fəal edilsin."
+#: ../../standalone/drakbackup_.c:2334
+#, fuzzy
+msgid "When"
+msgstr "Çərx"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Available printers"
-msgstr "Mövcud çapçılar"
+#: ../../standalone/drakbackup_.c:2339
+#, fuzzy
+msgid "More Options"
+msgstr "Modul seçənəkləri:"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "NO"
-msgstr " XEYİR"
+#: ../../standalone/drakbackup_.c:2358 ../../standalone/drakbackup_.c:4444
+#, fuzzy
+msgid "Drakbackup Configuration"
+msgstr "Şəbəkə quraşdırılması"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Empty"
-msgstr "Boş"
+#: ../../standalone/drakbackup_.c:2376
+#, fuzzy
+msgid "Please choose where you want to backup"
+msgstr "Xahiş edirik qurmaq istədiyiniz paketləri seçin."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text width"
-msgstr "mətn eni"
+#: ../../standalone/drakbackup_.c:2378
+msgid "on Hard Drive"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "%s avadanlığını haraya bağlamaq istəyirsiniz?"
+#: ../../standalone/drakbackup_.c:2388
+msgid "across Network"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The default lease (in seconds)"
-msgstr "Əsas icarə (saniyə olaraq)"
+#: ../../standalone/drakbackup_.c:2398
+msgid "on CDROM"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"We are now going to configure the %s connection.\n"
-"\n"
-"\n"
-"Press \"%s\" to continue."
+#: ../../standalone/drakbackup_.c:2406
+msgid "on Tape Device"
msgstr ""
-"İndi %s bağlantısı qurğulanacaq.\n"
-"\n"
-"\n"
-"Davam etmək üçün \"%s\" düyməsinə basın."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Interface \"%s\""
-msgstr "\"%s\" ara üzü"
+#: ../../standalone/drakbackup_.c:2449
+#, fuzzy
+msgid "Please choose what you want to backup"
+msgstr "Xahiş edirik qurmaq istədiyiniz paketləri seçin."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With basic documentation (recommended!)"
-msgstr "Əsas sənədlərlə birlikdə (məsləhət edilən!)"
+#: ../../standalone/drakbackup_.c:2450
+#, fuzzy
+msgid "Backup system"
+msgstr "Fayl sistemi qurğuları"
-#: ../../mouse.pm:1
-#, c-format
-msgid "1 button"
-msgstr "1 düymə"
+#: ../../standalone/drakbackup_.c:2451
+msgid "Backup Users"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2454
+msgid "Select user manually"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:2537
msgid ""
"\n"
-"There are %d unknown printers directly connected to your system"
+"Backup Sources: \n"
msgstr ""
-"\n"
-"Sisteminizə birbaşa bağlı ilan %d namə'lum çapçı mövcuddur"
-
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Test"
-msgstr "Sına"
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea"
-msgstr "Koreya"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default `%s'%s) "
-msgstr "Seçiminiz? (əsas `%s'%s) "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer"
-msgstr "Xam çapçı"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "official vendor name of the cpu"
-msgstr "cpu'nun rəsmi e'maltçısı"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Useless without Terminal Server"
-msgstr "Terminal Server olmadan faydasızdır"
-
-#: ../../Xconfig/monitor.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Vendor"
-msgstr "E'malatçı"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s"
-msgstr "Ara üz %s"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure mouse"
-msgstr "Siçan qurğuları"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the mount points"
-msgstr "Bağlama nöqtələrini seçin"
-
-#: ../../help.pm:1 ../../standalone/drakTermServ:1 ../../standalone/drakfont:1
-#, c-format
-msgid "OK"
-msgstr "Oldu"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Yugoslavian (latin)"
-msgstr "Yugoslav (latın)"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing"
-msgstr "Qurulur"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan with Wheel emulation"
-msgstr "Çərx emulyasiyalı Logitech MouseMan"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Launch userdrake"
-msgstr "Userdrake'ni başlat"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Is this an install or an upgrade?"
-msgstr "Bu bir qurulum, yoxsa yeniləmədir?"
-
-#: ../../help.pm:1
-#, c-format
-msgid "ISDN card"
-msgstr "ISDN kartı"
-
-#: ../advertising/02-community.pl:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2538
msgid ""
-"To share your own knowledge and help build Linux software, join our "
-"discussion forums on our \"Community\" webpages."
+"\n"
+"- System Files:\n"
msgstr ""
-"Öz biliklərinizi bölüşmək və Linuks tə'minatları inşa etməkdə yardım etmək "
-"üçün \"Community\" veb səhifələrindəki müzakirə forumlarına qoşulun."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Hard drive.\n"
-msgstr "\t-Sabit disk.\n"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2540
msgid ""
-"This step is activated only if an old GNU/Linux partition has been found on\n"
-"your machine.\n"
-"\n"
-"DrakX now needs to know if you want to perform a new install or an upgrade\n"
-"of an existing Mandrake Linux system:\n"
-"\n"
-" * \"%s\": For the most part, this completely wipes out the old system. If\n"
-"you wish to change how your hard drives are partitioned, or change the file\n"
-"system, you should use this option. However, depending on your partitioning\n"
-"scheme, you can prevent some of your existing data from being over-written.\n"
-"\n"
-" * \"%s\": this installation class allows you to update the packages\n"
-"currently installed on your Mandrake Linux system. Your current\n"
-"partitioning scheme and user data is not altered. Most of other\n"
-"configuration steps remain available, similar to a standard installation.\n"
-"\n"
-"Using the ``Upgrade'' option should work fine on Mandrake Linux systems\n"
-"running version \"8.1\" or later. Performing an Upgrade on versions prior\n"
-"to Mandrake Linux version \"8.1\" is not recommended."
-msgstr ""
-"Bu addım, yalnız sisteminizdə daha əvvəldən qurulu olan GNU/Linuks bölməsi\n"
-"tapılanda fəal olur.\n"
-"\n"
-"DrakX indi mövcud Mandrake Linuks sisteminizi yeniləmək mi, yoxsa yenidən\n"
-"qurmaq mı istədiyinizi bilməlidir.\n"
-"\n"
-" * \"%s\": Bu seçim köhnə sistemi tamamilə siləcək. Əgər sabit "
-"disklərinizin\n"
-"bölmələndirilməsini dəyişdirmək ya da fayl sistemini dəyişdirmək "
-"istəyirsinizsə\n"
-"bu seçimi seçin. Yalnız, bölmələndirmə sxeminizdən aslı olaraq bə'zi mövcud\n"
-"mə'lumatlarınızın üstündən yazılmasının qabağını ala bilərsiniz.\n"
-"\n"
-" * \"%s\": Hazırkı Mandrake Linuks sisteminizdə qurulu olan paketləri "
-"yeniləmə\n"
-"imkanı verir. Qurulum hazırkı bölmələmə sxemi və istifadəçi mə'lumat və "
-"sənədlərinə\n"
-"dəyməyəcək və dəyişdirməyəcək. Digər qurulum addımlarının çoxu isə standart\n"
-"qurulumdakının eynisi olacaq. Bu seçimi \"8.1\" versiyasından əvvəlki "
-"Mandrake Linukslarda\n"
-"tədbiq etmək uyğun görülmür."
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid ""
-"\n"
-" Copyright (C) 2001-2002 by MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
+"- User Files:\n"
msgstr ""
-"\n"
-" Tə'lif Hüququ (C) 2001-2002 MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on remote CUPS server"
-msgstr "Uzaq CUPS vericisi üstündəki çapçı"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2542
msgid ""
-"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
+"\n"
+"- Other Files:\n"
msgstr ""
-"\"%s\" çapçısının Star Office/OpenOffice.org/GIMP proqramlarından "
-"çıxardılması bacarılmadı."
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "here if no."
-msgstr "yoxdursa, burada."
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "DHCP host name"
-msgstr "DHCP qovşaq adı"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The maximum lease (in seconds)"
-msgstr "Maksimal icarə (saniyə olaraq)"
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose which serial port your mouse is connected to."
-msgstr "Siçanınızın bağlı olduğu serial qapını seçin."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Did it work properly?"
-msgstr "Düzgün işlədi?"
-#: ../../fs.pm:1
+#: ../../standalone/drakbackup_.c:2544
#, c-format
-msgid "Mount the file system read-only."
-msgstr "Fayl sistemini ancaq oxuna bilən şəkildə bağla."
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Poor"
-msgstr "Zəif"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result by mail"
-msgstr "Yoxlama nəticəsini poçt ilə raport et"
+msgid ""
+"\n"
+"- Save on Hard drive on path: %s\n"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Grenada"
-msgstr "Qrenada"
+#: ../../standalone/drakbackup_.c:2547
+msgid ""
+"\n"
+"- Delete hard drive tar files after backup.\n"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP start range"
-msgstr "The DHCP başlama aralığı"
+#: ../../standalone/drakbackup_.c:2553
+msgid ""
+"\n"
+"- Burn to CD"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Unsafe"
-msgstr "E'tibarsız"
+#: ../../standalone/drakbackup_.c:2554
+msgid "RW"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../standalone/drakbackup_.c:2555
#, fuzzy, c-format
-msgid "SSH server"
-msgstr "SSH Vericisi"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s sektor"
-
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "No"
-msgstr "Xeyir"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guadeloupe"
-msgstr "Quadelup"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Kannada"
-msgstr "Kanada"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font.\n"
-msgstr "heç yazı növü tapıla bilmədi.\n"
-
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Konsolda BackSpace'in Silmə funksyasını görməyini istəyirmisiniz?"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Vertical refresh rate"
-msgstr "Şaquli yeniləmə sür'əti"
-
-#: ../../install_steps_auto_install.pm:1 ../../install_steps_stdio.pm:1
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Başlanğıc addımı `%s'\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Niger"
-msgstr "Niger"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing %s ..."
-msgstr "%s silinir ..."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No printer"
-msgstr "Çapçı yoxdur"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "alert configuration"
-msgstr "Xəbərdarlıq quraşdırılması"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NetWare Printer Options"
-msgstr "NetWare Çapçı Qurğuları"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "%s BootSplash (%s) preview"
-msgstr "%s Açılış Ekranı (%s) nümayişi"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "February"
-msgstr "Fevral"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "General"
-msgstr "Ümumi"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "/etc/issue* exist"
-msgstr "/etc/issue* mövcuddur"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Add a user"
-msgstr "İstifadəçi əlavə edilməsi"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Şəbəkə quraşdırılması (%d adapter)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "April"
-msgstr "Aprel"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Deactivate now"
-msgstr "İndi qeyri-fəallaşdır"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "Mandatory package %s is missing"
-msgstr "Vacib olan %s paketi əksikdir"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Philippines"
-msgstr "Filippin"
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakperm:1
-#: ../../standalone/draksec:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Ok"
-msgstr "Oldu"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "drakTermServ Overview"
-msgstr "drakTermServ İcmalı"
+msgid " on device: %s"
+msgstr "Siçan avadanlığı: %s\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print Queue Name"
-msgstr "Çapçı Növbə Adı"
+#: ../../standalone/drakbackup_.c:2556
+msgid " (multi-session)"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:2557
#, c-format
-msgid "Do you want to use aboot?"
-msgstr "aboot istifadə etmək istəyirsiniz?"
+msgid ""
+"\n"
+"- Save to Tape on device: %s"
+msgstr ""
-#: ../../keyboard.pm:1
+#: ../../standalone/drakbackup_.c:2558
#, c-format
-msgid "Belarusian"
-msgstr "Belarus dili"
+msgid "\t\tErase=%s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2561
#, c-format
msgid ""
-"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
-"printers.\n"
+"\n"
+"- Save via %s on host: %s\n"
msgstr ""
-"PDQ yalnız yerli çapçıları, uzaq LPD çapçıları, və Socket/TCP çapçılarını "
-"dəstəkləyir.\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move files to the new partition"
-msgstr "Faylları yeni bölməyə daşı"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2562
#, c-format
msgid ""
-"Add here the CUPS servers whose printers you want to use. You only need to "
-"do this if the servers do not broadcast their printer information into the "
-"local network."
+"\t\t user name: %s\n"
+"\t\t on path: %s \n"
msgstr ""
-"Çapçılarını itifadə etmək istədiyiniz CUPS vericilərini buraya əlavə edin. "
-"Bunu sadəcə olaraq vericilərin çapçı mə'lumatlarını yerli şəbəkəyə yaymaması "
-"vəziyyətində etməlisiniz."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2563
+#, fuzzy
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"- Options:\n"
+msgstr "Seçənəklər"
+
+#: ../../standalone/drakbackup_.c:2564
+msgid "\tDo not include System Files\n"
msgstr ""
-"\n"
-"Çapçı Quraşdırma Sehirbazına Xoş Gəldiniz\n"
-"\n"
-"Bu sehirbaz kompüterinizə bağlı olan çapçı ya da çapçıları quraşdırmaqda "
-"sizə yardım edəcək.\n"
-"\n"
-"Xahiş edirik, bu kompüterə bağlı olan bütün çapçıları açın ki avtomatik "
-"aşkar edilə bilsinlər.\n"
-"\n"
-" Hazır olanda \"Sonrakı\" düyməsinə, çapçılarınızı indi quraşdırmaq "
-"istəmirsinizsə\"Ləğv Et\" düyməsinə basın."
-#: ../../lang.pm:1
-#, c-format
-msgid "Pitcairn"
-msgstr "Pitkairn"
+#: ../../standalone/drakbackup_.c:2567
+msgid "\tBackups use tar and bzip2\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From Catalog"
-msgstr "Kataloqdan Geri Yüklə"
+#: ../../standalone/drakbackup_.c:2569
+msgid "\tBackups use tar and gzip\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:2572
#, c-format
-msgid "IDE"
-msgstr "IDE"
+msgid ""
+"\n"
+"- Daemon (%s) include:\n"
+msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "mounting partition %s in directory %s failed"
-msgstr "%s bolməsini %s cərgəsinə bağlama bacarılmadı"
+#: ../../standalone/drakbackup_.c:2573
+msgid "\t-Hard drive.\n"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo screen"
-msgstr "Lilo ekranı"
+#: ../../standalone/drakbackup_.c:2574
+msgid "\t-CDROM.\n"
+msgstr ""
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with graphical menu"
-msgstr "Qrafiki menyulu LILO"
+#: ../../standalone/drakbackup_.c:2575
+msgid "\t-Tape \n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Estimating"
-msgstr "Təxmini olaraq hesaplanır"
+#: ../../standalone/drakbackup_.c:2576
+msgid "\t-Network by FTP.\n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It is already installed"
-msgstr "Bu paketi sistemdən çıxarda bilməzsınız. Artıq qurulmuşdur."
+#: ../../standalone/drakbackup_.c:2577
+msgid "\t-Network by SSH.\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on SMB/Windows server \"%s\""
-msgstr ", çapçı \"%s\" SMB/Windows vericisi \"%s\" üstündə"
+#: ../../standalone/drakbackup_.c:2578
+msgid "\t-Network by rsync.\n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Go on anyway?"
-msgstr "Yenə də davam edək?"
+#: ../../standalone/drakbackup_.c:2579
+msgid "\t-Network by webdav.\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages and rebuilding rpm database..."
+#: ../../standalone/drakbackup_.c:2581
+msgid "No configuration, please click Wizard or Advanced.\n"
msgstr ""
-"Mövcud paketlər axtarılır və rpm mə'lumat bazası yenidən inşa edilir..."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2587
msgid ""
+"List of data to restore:\n"
"\n"
-" DrakBackup Report \n"
msgstr ""
-"\n"
-" DrakBackup Raportu \n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Does not appear to be recordable media!"
-msgstr "Bu yazıla bilən mediyaya oxşamır!"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Specify options"
-msgstr "Seçimləri müəyyən et"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Vanuatu"
-msgstr "Vanuatu"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "New user list:\n"
-msgstr "Yeni istifadəçi siyahısı:\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Either the server name or the server's IP must be given!"
-msgstr "Ya verici adı ya da IP'si verilməlidir!"
-#: ../../any.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2754
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"
+"List of data corrupted:\n"
"\n"
-"If you want to create a bootdisk for your system, insert a floppy in the "
-"first\n"
-"drive and press \"Ok\"."
msgstr ""
-"Xüsusi bir açılış disketi, Linuks sisteminizin normal bir sistem yükləyiciyə "
-"lüzüm\n"
-"olmadan açılmasına imkan verər. Əgə sisteminizə lilo (ya da grub) "
-"qurmayacaqsanız,\n"
-"ya da başqa bir əməliyyat sistemi liloyu silərsa ya da lilo "
-"avadanlığınızlaişləməzsə\n"
-"bu disket sizə yardımçi olacaqdır. Sonradan Mandrake qurtarma disketi "
-"rəsmini\n"
-"istifadə edərək də bu disket yaradıla bilər.\n"
-"Açılış disketi yaratmaq istəyirsiniz?\n"
-"Açılış disketi yaratmaq istəyirsinizsə, birinci disket sürücüyə disket "
-"yerləşdirin\n"
-"və \"OLDU\" basın."
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use an encrypted file system for mount point %s"
-msgstr ""
-"%s bağlama nöqtəsi üçün şifrələnmiş fayl sistemi istifadə edə bilməzsiniz"
+#: ../../standalone/drakbackup_.c:2756
+#, fuzzy
+msgid "Please uncheck or remove it on next time."
+msgstr "Modeminizin hansı serial qapıya bağlı olduğunu seçiniz"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the password history length to prevent password reuse."
+#: ../../standalone/drakbackup_.c:2766
+msgid "Backup files are corrupted"
msgstr ""
-"Şifrələrin yenidən istifadə edilməsinin qabağını almaq üçün şifrə keçmişi "
-"uzunluğunu müəyyən edin."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Norfolk Island"
-msgstr "Norfolk Adaları"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Theme installation failed!"
-msgstr "Örtük qurulumu bacarılmadı!"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Nothing to do"
-msgstr "Ediləcək heçnə yoxdur"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Use for loopback"
-msgstr "Loopback üçün istifadə et"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Bug Report Tool"
-msgstr "Mandrake Xəta Raportlama Vasitəsi"
+#: ../../standalone/drakbackup_.c:2787
+msgid " All of your selected data have been "
+msgstr ""
-#: ../../standalone/printerdrake:1
+#: ../../standalone/drakbackup_.c:2788
#, c-format
-msgid "Apply filter"
-msgstr "Filtri tətbiq et"
+msgid " Successfuly Restored on %s "
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pppoe"
-msgstr "pppoe istifadə et"
+#: ../../standalone/drakbackup_.c:2906
+#, fuzzy
+msgid " Restore Configuration "
+msgstr "Şəbəkə quraşdırılması"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving files to the new partition"
-msgstr "Fayllar yeni bölməyə daşınır"
+#: ../../standalone/drakbackup_.c:2924
+msgid "OK to restore the other files."
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "SINAQ MƏRHƏLƏSİNDƏKİ 3D sür'ətləndirmə dəstəkli XFree %s"
+#: ../../standalone/drakbackup_.c:2941
+msgid "User list to restore (only the most recent date per user is important)"
+msgstr ""
-#: ../../help.pm:1 ../../interactive.pm:1
-#, c-format
-msgid "Advanced"
-msgstr "Ətraflı"
+#: ../../standalone/drakbackup_.c:3019
+#, fuzzy
+msgid "Backup the system files before:"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer"
-msgstr "Transfer Et"
+#: ../../standalone/drakbackup_.c:3021
+#, fuzzy
+msgid "please choose the date to restore"
+msgstr "Xahiş edirik siçanınızın növünü seçin."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Swedish)"
-msgstr "Dvorak (İsveç)"
+#: ../../standalone/drakbackup_.c:3057
+#, fuzzy
+msgid "Use Hard Disk to backup"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Afghanistan"
-msgstr "Əfqanıstan"
+#: ../../standalone/drakbackup_.c:3060
+#, fuzzy
+msgid "Please enter the directory to save:"
+msgstr "Xahiş edirik siçanınızı seçin"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "More Options"
-msgstr "Əlavə Seçimlər"
+#: ../../standalone/drakbackup_.c:3103
+#, fuzzy
+msgid "FTP Connection"
+msgstr "Yerli Şəbəkə quraşdırılması"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Delete Hard Drive tar files after backup to other media."
-msgstr "Diqər mediyaya ehtiyatlamadan sonra Sabit Diskdəki tar fayllrını sil."
+#: ../../standalone/drakbackup_.c:3110
+#, fuzzy
+msgid "Secure Connection"
+msgstr "Çap Edici Bağlantısı Seçin"
-#: ../../lang.pm:1
-#, c-format
-msgid "Burundi"
-msgstr "Burundi"
+#: ../../standalone/drakbackup_.c:3134
+#, fuzzy
+msgid "Restore from Hard Disk."
+msgstr "Disketdən geri çağır"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../standalone/drakbackup_.c:3136
+msgid "Please enter the directory where backups are stored"
msgstr ""
-"cron, istifadəçilərə xüsusi əmrləri periodik olaraq işə sala bilən\n"
-"standart bir UNIX proqramıdır. vixie cron, standart cron'a əlavə edilmiş bir "
-"çox\n"
-"yeni xüsusiyyət daxildir."
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add Client -->"
-msgstr "Alıcı Əlavə Et -->"
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read carefully!"
-msgstr "Diqqətlə oxuyun!"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "RW"
-msgstr "RW"
+#: ../../standalone/drakbackup_.c:3204
+#, fuzzy
+msgid "Select another media to restore from"
+msgstr "Xahiş edirik siçanınızın növünü seçin."
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid ""
-"Please,\n"
-"type in your tv norm and country"
-msgstr ""
-"Xahiş edirik,\n"
-"televiziya normunuzu və ölkənizi girin"
+#: ../../standalone/drakbackup_.c:3206
+#, fuzzy
+msgid "Other Media"
+msgstr "Digər"
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Port"
-msgstr "Qapı"
+#: ../../standalone/drakbackup_.c:3211
+#, fuzzy
+msgid "Restore system"
+msgstr "Sistemi qur"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "No (experts only)"
-msgstr "Xeyir (ancaq mütəxəssislər)"
+#: ../../standalone/drakbackup_.c:3212
+#, fuzzy
+msgid "Restore Users"
+msgstr "Fayldan geri çağır"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No kernel selected!"
-msgstr "Heç bir çəyirdək seçilməyib!"
+#: ../../standalone/drakbackup_.c:3213
+#, fuzzy
+msgid "Restore Other"
+msgstr "Fayldan geri çağır"
-# 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:1
-#, c-format
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Secili emeliyyat sistemini acmaq ucun entere,"
+#: ../../standalone/drakbackup_.c:3215
+#, fuzzy
+msgid "select path to restore (instead of /)"
+msgstr "Xahiş edirik siçanınızın növünü seçin."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-GID"
-msgstr "Set-GID"
+#: ../../standalone/drakbackup_.c:3219
+msgid "Do new backup before restore (only for incremental backups.)"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The encryption keys do not match"
-msgstr "Şifrələmə açarları uyğun gəlmir"
+#: ../../standalone/drakbackup_.c:3221
+msgid "Remove user directories before restore."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:3334
msgid ""
-"For a multisession CD, only the first session will erase the cdrw. Otherwise "
-"the cdrw is erased before each backup."
+"Restore Selected\n"
+"Catalog Entry"
msgstr ""
-"Çox iclaslı CD üçün yalnız birinci iclas cdrw'ı siləcək. Əks halda cdrw hər "
-"ehtiyatlamadan əvvəl silinir."
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "USB printer"
-msgstr "USB çapçı"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right \"Windows\" key"
-msgstr "Sağ \"Windows\" düyməsi"
+#: ../../standalone/drakbackup_.c:3344
+#, fuzzy
+msgid ""
+"Restore Selected\n"
+"Files"
+msgstr "Növbəni sil"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check empty password in /etc/shadow."
-msgstr "əgər bəli seçilidirsə, /etc/shadow'dakı boş şifrəni yoxla."
+#: ../../standalone/drakbackup_.c:3361
+#, fuzzy
+msgid ""
+"Change\n"
+"Restore Path"
+msgstr "Fayldan geri çağır"
-#: ../../help.pm:1
+#: ../../standalone/drakbackup_.c:3427
#, c-format
-msgid ""
-"Before continuing, you should carefully read the terms of the license. It\n"
-"covers the entire Mandrake Linux distribution. If you do agree with all the\n"
-"terms in it, check the \"%s\" box. If not, simply turn off your computer."
+msgid "Backup files not found at %s."
msgstr ""
-"Davam etmədən əvvəl, diqqətlə lisenziyanın qaydalarını oxumalısınız. O,\n"
-"bütün Mandrake Linuks distribusiyasını əhatə edir. Əgər lisenziyadakı bütün\n"
-"qaydalarla razısınızsa, qutusunu \"%s\" işarələyin. Əgər razı deyilsəniz, "
-"sadəcə olaraq kompüterinizi bağlayın."
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3440
#, c-format
msgid ""
-"Here is a list of the available printing options for the current printer:\n"
-"\n"
+"Insert the CD with volume label %s\n"
+" in the CD drive under mount point /mnt/cdrom"
msgstr ""
-"Hazırkı çapçı üçün mövcud olan çap seçimləri siyahısı:\n"
-"\n"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolutions"
-msgstr "Həlledilirliklər"
+#: ../../standalone/drakbackup_.c:3440
+#, fuzzy
+msgid "Restore From CD"
+msgstr "Disketdən geri çağır"
-#: ../../network/drakfirewall.pm:1
+#: ../../standalone/drakbackup_.c:3442
#, c-format
-msgid ""
-"drakfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Mandrake Linux machine.\n"
-"For a powerful and dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
+msgid "Not the correct CD label. Disk is labelled %s."
msgstr ""
-"drakfirewall quraşdırıcısı\n"
-"\n"
-"Bu, Linuks Mandrake sisteminiz üçün şəxsi bir atəş divarını quraşdıracaq.\n"
-"Daha güclü və e'tibarlı sistem üçün xahiş edirik, xüsusi MandrakeSecurity\n"
-"Firewall buraxılışı ilə maraqlanın."
-#: ../../diskdrake/smbnfs_gtk.pm:1
+#: ../../standalone/drakbackup_.c:3452
#, c-format
msgid ""
-"Please enter your username, password and domain name to access this host."
+"Insert the tape with volume label %s\n"
+" in the tape drive device %s"
msgstr ""
-"Xahiş edirik, bu qovşağa yetişə bilmək üçün istifadəçi adını, şifrəni və "
-"domen adını girin."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Remove selected host"
-msgstr "Seçili qovşağı sil"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Network configuration"
-msgstr "Şəbəkə quraşdırılması"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _jaz drives"
-msgstr "/_jaz sürücülərini avtomatik təsbit et"
-#: ../../any.pm:1
-#, c-format
-msgid "No sharing"
-msgstr "Bölüşmə yoxdur"
+#: ../../standalone/drakbackup_.c:3452
+#, fuzzy
+msgid "Restore From Tape"
+msgstr "Bölmə cədvəlini qurtar"
-#: ../../standalone/drakperm:1
+#: ../../standalone/drakbackup_.c:3454
#, c-format
-msgid "Move selected rule down one level"
-msgstr "Seçili qaydanı bir səviyyə aşağı daşı"
+msgid "Not the correct tape label. Tape is labelled %s."
+msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "TB"
-msgstr "TB"
+#: ../../standalone/drakbackup_.c:3474
+#, fuzzy
+msgid "Restore Via Network"
+msgstr "Fayldan geri çağır"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:3474
#, c-format
-msgid "FATAL"
-msgstr "AĞIR"
+msgid "Restore Via Network Protocol: %s"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh the list"
-msgstr "Siyahını təzələ"
+#: ../../standalone/drakbackup_.c:3475
+#, fuzzy
+msgid "Host Name"
+msgstr "Ev sahibi adı"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Per client %s:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tdrakTermServ will help create these files."
-msgstr ""
-" - Alıcı başına %s:\n"
-" \t\tclusternfs ilə, hər disksiz alıcının vericinin kök fayl "
-"sistemində özünə məxsus\n"
-" \t\tquraşdırma faylları ola bilər. Yerli alıcı "
-"avadanlığıquraşdırmasına icazə verərək, \n"
-" \t\tdrakTermServ bu faylları yaratmaqda yardımçı olacaq."
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"The DHCP server will allow other computer to boot using PXE in the given "
-"range of address.\n"
-"\n"
-"The network address is %s using a netmask of %s.\n"
-"\n"
+#: ../../standalone/drakbackup_.c:3476
+msgid "Host Path or Module"
msgstr ""
-"DHCP vericisi, başqa kompüterə, verilən ünvan aralıqlarında PXE "
-"işlədərəkaçılış etmə imkanı verəcək.\n"
-"\n"
-"Şəbəkə ünvanı %s , işlədilən netmask isə %s.\n"
-"\n"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Delete"
-msgstr "Sil"
+#: ../../standalone/drakbackup_.c:3483
+#, fuzzy
+msgid "Password required"
+msgstr "Parol"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"I can setup your computer to automatically start the graphical interface "
-"(XFree) upon booting.\n"
-"Would you like XFree to start when you reboot?"
-msgstr ""
-"Kompüterinizi avtomatik olaraq X ilə açılması üçün qura bilərəm.\n"
-"Açılışda X Window ilə başlamaq istəyirsiniz?"
+#: ../../standalone/drakbackup_.c:3489
+#, fuzzy
+msgid "Username required"
+msgstr "İstifadəçi adı"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Build the disk"
-msgstr "Diski inşa et"
+#: ../../standalone/drakbackup_.c:3492
+#, fuzzy
+msgid "Hostname required"
+msgstr "Ev sahibi adı:"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnect %s"
-msgstr "%s bağlantısını kəs"
+#: ../../standalone/drakbackup_.c:3497
+msgid "Path or Module required"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Status:"
-msgstr "Vəziyyət:"
+#: ../../standalone/drakbackup_.c:3510
+msgid "Files Restored..."
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "HTTP proxy"
-msgstr "HTTP vəkil verici"
+#: ../../standalone/drakbackup_.c:3513
+#, fuzzy
+msgid "Restore Failed..."
+msgstr "Fayldan geri çağır"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "SSH Server"
-msgstr "SSH Vericisi"
+#: ../../standalone/drakbackup_.c:3751
+msgid "Restore all backups"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by rsync.\n"
-msgstr "\t-sync şəbəkəsi.\n"
+#: ../../standalone/drakbackup_.c:3760
+#, fuzzy
+msgid "Custom Restore"
+msgstr "Xüsusi"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol"
-msgstr "Avrupa protokolu"
+#: ../../standalone/drakbackup_.c:3804
+msgid "CD in place - continue."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on server \"%s\""
-msgstr ", \"%2$s\" vericisi üstündəki \"%1$s\" çapçı"
+#: ../../standalone/drakbackup_.c:3810
+msgid "Browse to new restore repository."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Note that currently all 'net' media also use the hard drive."
-msgstr ""
-"Qeyd edin ki hazırda bütün 'net' mediyaları da eyni zamanda sabit disk "
-"işlədir."
-
-#: ../../fsedit.pm:1 ../../install_steps_interactive.pm:1
-#: ../../install_steps.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakboot:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/draksplash:1 ../../../move/move.pm:1
-#, c-format
-msgid "Error"
-msgstr "Xəta"
+#: ../../standalone/drakbackup_.c:3813
+#, fuzzy
+msgid "Restore From Catalog"
+msgstr "Bölmə cədvəlini qurtar"
-#: ../../any.pm:1
-#, c-format
-msgid "allow \"su\""
-msgstr "\"su\" icazəsi ver"
+#: ../../standalone/drakbackup_.c:3841
+#, fuzzy
+msgid "Restore Progress"
+msgstr "Fayldan geri çağır"
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Australia"
-msgstr "Avstraliya"
+#: ../../standalone/drakbackup_.c:3883 ../../standalone/drakbackup_.c:3916
+#: ../../standalone/drakbackup_.c:3942 ../../standalone/drakbackup_.c:3969
+#: ../../standalone/drakbackup_.c:3996 ../../standalone/drakbackup_.c:4056
+#: ../../standalone/drakbackup_.c:4083 ../../standalone/drakbackup_.c:4113
+#: ../../standalone/drakbackup_.c:4139
+#, fuzzy
+msgid "Previous"
+msgstr "<- Əvvəlki"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "please wait during ttmkfdir..."
-msgstr "ttmkfdir fəaliyyətdədir, xahiş edirik, gözləyin..."
+#: ../../standalone/drakbackup_.c:3887 ../../standalone/drakbackup_.c:3973
+#: ../../standalone/logdrake_.c:203
+#, fuzzy
+msgid "Save"
+msgstr "Hal:"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure only card \"%s\"%s"
-msgstr "Yalniz \"%s\"%s kartını quraşdır"
+#: ../../standalone/drakbackup_.c:3946
+#, fuzzy
+msgid "Build Backup"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Level"
-msgstr "Səviyyə"
+#: ../../standalone/drakbackup_.c:4000 ../../standalone/drakbackup_.c:4544
+#, fuzzy
+msgid "Restore"
+msgstr "Fayldan geri çağır"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Change the printing system"
-msgstr "Çap sistemini dəyişdir"
+#: ../../standalone/drakbackup_.c:4189
+msgid ""
+"Error during sendmail.\n"
+" Your report mail was not sent.\n"
+" Please configure sendmail"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4195
msgid ""
-"Your system supports multiple head configuration.\n"
-"What do you want to do?"
+"Error during sending file via FTP.\n"
+" Please correct your FTP configuration."
msgstr ""
-"Sisteminiz çoxlu başlıq quraşdırmasını dəstəkləyir.\n"
-"Nə etmək istəyirsiniz?"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "mount failed: "
-msgstr "bağlama bacarılmadı: "
+#: ../../standalone/drakbackup_.c:4209
+#, fuzzy
+msgid ""
+"The following packages need to be installed:\n"
+" @list_of_rpm_to_install"
+msgstr "Aşağıdakı paketlər qurulacaqdır"
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure services"
-msgstr "Xidmətləri quraşdır"
+#: ../../standalone/drakbackup_.c:4232
+#, fuzzy
+msgid "Please select data to restore..."
+msgstr "Xahiş edirik istifadə üçün bir dil seçin."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Broadcast Address:"
-msgstr "Translyasiya Ünvanı:"
+#: ../../standalone/drakbackup_.c:4267
+#, fuzzy
+msgid "Please select media for backup..."
+msgstr "Xahiş edirik istifadə üçün bir dil seçin."
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4275
+#, fuzzy
+msgid "Please select data to backup..."
+msgstr "Xahiş edirik istifadə üçün bir dil seçin."
+
+#: ../../standalone/drakbackup_.c:4293 ../../standalone/drakbackup_.c:4304
msgid ""
-"the GNU/Linux kernel needs to run a calculation loop at boot time to "
-"initialize a timer counter. Its result is stored as bogomips as a way to "
-"\"benchmark\" the cpu."
+"No configuration file found \n"
+"please click Wizard or Advanced."
msgstr ""
-"GNU/Linuks çəyirdəyi açılışda dönmə hesablaması yerinə gətirir və onun "
-"nəticələri cpu \"sür'ət yoxlaması\" edə bilmək üçün boqomips olaraq saxlanır."
-#: ../../any.pm:1
-#, c-format
-msgid "Image"
-msgstr "Əks"
-
-#: ../../services.pm:1
-#, c-format
-msgid "Remote Administration"
-msgstr "Uzaqdan İdarə"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
+#: ../../standalone/drakbackup_.c:4308
+msgid "Under Devel ... please wait."
msgstr ""
-"\"%s\" çapçısı Star Office/OpenOffice.org/GIMP proqramlarına əlavə edilə "
-"bilmədi."
-#: ../../modules.pm:1
-#, c-format
-msgid ""
-"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
-msgstr ""
-"PCMCIA dəstəyi artıq 2.2 çəyirdəkləri üçün mövcud deyil. Xahiş edirik, 2.4 "
-"çəyirdəyini işlədin."
+#: ../../standalone/drakbackup_.c:4382
+#, fuzzy
+msgid "Backup system files"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Selected All"
-msgstr "Hamısı Seçildi"
+#: ../../standalone/drakbackup_.c:4384
+#, fuzzy
+msgid "Backup user files"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "CUPS - Common Unix Printing System"
-msgstr "CUPS - Ümumi Unix Çap Sistemi"
+#: ../../standalone/drakbackup_.c:4386
+#, fuzzy
+msgid "Backup other files"
+msgstr "Xətalı yedəkləmə faylı"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Webmin Service"
-msgstr "Webmin Xidməti"
+#: ../../standalone/drakbackup_.c:4388 ../../standalone/drakbackup_.c:4421
+msgid "Total Progress"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "device"
-msgstr "avadanlıq"
+#: ../../standalone/drakbackup_.c:4412
+msgid "files sending by FTP"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save to:"
-msgstr "Qeyd cərgəsini daxil edin:"
+#: ../../standalone/drakbackup_.c:4416
+#, fuzzy
+msgid "Sending files..."
+msgstr "Fayla qeyd et"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Greece"
-msgstr "Yunanıstan"
+#: ../../standalone/drakbackup_.c:4500
+#, fuzzy
+msgid "Backup Now from configuration file"
+msgstr "Şəbəkə quraşdırılması"
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "All"
-msgstr "Hamısı"
+#: ../../standalone/drakbackup_.c:4505
+#, fuzzy
+msgid "View Backup Configuration."
+msgstr "Şəbəkə quraşdırılması"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printing system (spooler) do you want to use?"
-msgstr "Hansı çapçı sistemi (spooler) istifadə etmək istəyirsiniz?"
+#: ../../standalone/drakbackup_.c:4526
+#, fuzzy
+msgid "Wizard Configuration"
+msgstr "Yerli Şəbəkə Quraşdırılması"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "July"
-msgstr "İyul"
+#: ../../standalone/drakbackup_.c:4531
+#, fuzzy
+msgid "Advanced Configuration"
+msgstr "Yerli Şəbəkə Quraşdırılması"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Prints into %s"
-msgstr "%s'a çap edir"
+#: ../../standalone/drakbackup_.c:4536
+#, fuzzy
+msgid "Backup Now"
+msgstr "Fayl sistemi qurğuları"
-#: ../../install_steps_interactive.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid "An error occurred"
-msgstr "Bir xəta oldu"
+#: ../../standalone/drakbackup_.c:4576
+msgid "Drakbackup"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4624
msgid ""
-"This package must be upgraded.\n"
-"Are you sure you want to deselect it?"
+"options description:\n"
+"\n"
+" In this step Drakbackup allow you to change:\n"
+"\n"
+" - The compression mode:\n"
+" \n"
+" If you check bzip2 compression, you will compress\n"
+" your data better than gzip (about 2-10 %).\n"
+" This option is not checked by default because\n"
+" this compression mode needs more time (about 1000% more).\n"
+" \n"
+" - The update mode:\n"
+"\n"
+" This option will update your backup, but this\n"
+" option is not really useful because you need to\n"
+" decompress your backup before you can update it.\n"
+" \n"
+" - the .backupignore mode:\n"
+"\n"
+" Like with cvs, Drakbackup will ignore all references\n"
+" included in .backupignore files in each directories.\n"
+" ex: \n"
+" /*> cat .backupignore*/\n"
+" *.o\n"
+" *~\n"
+" ...\n"
+" \n"
+"\n"
msgstr ""
-"Bu paket yenilənməlidir\n"
-"Sistemdən çıxarmaq mövzusunda ciddisiniz?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (Typewriter-layout)"
-msgstr "Tamil dili (Yazı makinası düzülüşü)"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Use password to authenticate users."
-msgstr "İstifadəçiləri səlahiyyətləndirmək üçün şifrə işlət."
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4654
msgid ""
-"Allow/Forbid the list of users on the system on display managers (kdm and "
-"gdm)."
+"\n"
+" Some errors during sendmail are caused by \n"
+" a bad configuration of postfix. To solve it you have to\n"
+" set myhostname or mydomain in /etc/postfix/main.cf\n"
+"\n"
msgstr ""
-"Sistemdəki ekran idarəçilərində (gdm və kdm) istifadəçilərin siyahısının "
-"göstərilməsinə icazə Ver/Vermə."
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "manual"
-msgstr "əllə"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Filename text to search for:"
-msgstr "Axtarılacaq fayl adı mətni:"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model, driver"
-msgstr "Çapçı e'malatçısı, modeli, sürücüsü"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4662
msgid ""
-"There is no medium or it is write-protected for device %s.\n"
-"Please insert one."
+"options description:\n"
+"\n"
+" - Backup system files:\n"
+" \n"
+"\tThis option allows you to backup your /etc directory,\n"
+"\twhich contains all configuration files. Please be\n"
+"\tcareful during the restore step to not overwrite:\n"
+"\t\t/etc/passwd \n"
+"\t\t/etc/group \n"
+"\t\t/etc/fstab\n"
+"\n"
+" - Backup User files: \n"
+"\n"
+"\tThis option allows you select all users that you want \n"
+"\tto backup.\n"
+"\tTo preserve disk space, it is recommended that you \n"
+"\tdo not include web browser's cache.\n"
+"\n"
+" - Backup Other files: \n"
+"\n"
+"\tThis option allows you to add more data to save.\n"
+"\tWith the other backup it's not possible at the \n"
+"\tmoment to select incremental backup.\t\t\n"
+" \n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption for backup. This option allows you \n"
+"\tto backup all your data the first time, and \n"
+"\tonly the changed afterward.\n"
+"\tThen you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
msgstr ""
-"Mediya yoxdur, ya da %s avadanlığına yazmaya qarşı qorumalıdır.\n"
-"Xahiş edirik, birini taxın."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4701
msgid ""
-"Directory %s already contains data\n"
-"(%s)"
+"restore description:\n"
+" \n"
+"Only the most recent date will be used, because with incremental \n"
+"backups it is necessary to restore one by one each older backup.\n"
+"\n"
+"So if you don't want to restore a user please unselect all their\n"
+"check boxes.\n"
+"\n"
+"Otherwise, you are able to select only one of these.\n"
+"\n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption to use. This option allows you to \n"
+"\tbackup all of your data the first time, and \n"
+"\tonly the changed data after.\n"
+"\tSo you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
+"\n"
msgstr ""
-"%s cərgəsi onsuzda mə'lumat daxil edir\n"
-"(%s)"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on NetWare server"
-msgstr "NetWare Vericisi üstündəki çapçı"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Give the ram size in MB"
-msgstr "Yaddaş miqdarını MB cinsindən verin"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Friday"
-msgstr "Cümə"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet complete."
-msgstr "İnternet bağlantısını tamamilə kəs."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Real name"
-msgstr "Həqiqi ad"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "done"
-msgstr "qurtardı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please uncheck or remove it on next time."
-msgstr "Xahiş edirik, bir sonrakı dəfə onun işarəsini silin."
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Higher"
-msgstr "Daha Yüksək"
+#: ../../standalone/drakbackup_.c:4727
+msgid ""
+" Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s\\@epita."
+"fr>"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the partitions you want to format"
-msgstr "Şəkilləndirmək istədiyiniz bölmələrini seçin"
+#: ../../standalone/drakbackup_.c:4729
+msgid ""
+" updates 2002 MandrakeSoft by Stew Benedict <sbenedict\\@mandrakesoft.com>"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4732
msgid ""
-"No TV Card has been detected on your machine. Please verify that a Linux-"
-"supported Video/TV Card is correctly plugged in.\n"
+"Description:\n"
"\n"
+" Drakbackup is used to backup your system.\n"
+" During the configuration you can select: \n"
+"\t- System files, \n"
+"\t- Users files, \n"
+"\t- Other files.\n"
+"\tor All your system ... and Other (like Windows Partitions)\n"
"\n"
-"You can visit our hardware database at:\n"
+" Drakbackup allows you to backup your system on:\n"
+"\t- Harddrive.\n"
+"\t- NFS.\n"
+"\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
+"\t- FTP.\n"
+"\t- Rsync.\n"
+"\t- Webdav.\n"
+"\t- Tape.\n"
"\n"
+" Drakbackup allows you to restore your system to\n"
+" a user selected directory.\n"
"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-msgstr ""
-"Sisteminizdə heç bit Televiziya Kartı aşkar edilmədi. Xahiş edirik, Linuks "
-"dəstəkli Televiziya Kartının düzgün taxıldığını yoxlayın.\n"
+" Per default all backup will be stored on your\n"
+" /var/lib/drakbackup directory\n"
"\n"
+" Configuration file:\n"
+"\t/etc/drakconf/drakbackup/drakbakup.conf\n"
"\n"
-"Avadanlıq mə'lumat bazamızı bu ünvandan ziyarət edə bilərsiniz:\n"
+"Restore Step:\n"
+" \n"
+" During the restore step, DrakBackup will remove \n"
+" your original directory and verify that all \n"
+" backup files are not corrupted. It is recommended \n"
+" you do a last backup before restoring.\n"
"\n"
"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't find %s on %s"
-msgstr "%s, %s üstündə tapıla bilmir"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Japanese 106 keys"
-msgstr "Yapon dili 106 düyməli"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Could not install the packages needed to share your scanner(s)."
msgstr ""
-"Darayıcı(ları)nızı bölüşdürmək üçün lazım olan paket(lər) qurula bilmədi."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "This will take a few minutes."
-msgstr "Bu bir neçə dəqiqə sürəcək."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Burkina Faso"
-msgstr "Burkina Faso"
+#: ../../standalone/drakbackup_.c:4769
+msgid ""
+"options description:\n"
+"\n"
+"Please be careful when you are using ftp backup, because only \n"
+"backups that are already built are sent to the server.\n"
+"So at the moment, you need to build the backup on your hard \n"
+"drive before sending it to the server.\n"
+"\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "June"
-msgstr "İyun"
+#: ../../standalone/drakbackup_.c:4778
+msgid ""
+"\n"
+"Restore Backup Problems:\n"
+"\n"
+"During the restore step, Drakbackup will verify all your\n"
+"backup files before restoring them.\n"
+"Before the restore, Drakbackup will remove \n"
+"your original directory, and you will loose all your \n"
+"data. It is important to be careful and not modify the \n"
+"backup data files by hand.\n"
+msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/drakboot_.c:50
#, c-format
-msgid "Use scanners on remote computers"
-msgstr "Uzaq kompüterlərdəki darayıcıları işlət"
+msgid "Installation of %s failed. The following error occured:"
+msgstr "%s qurulumu iflas etdi. Olan xəta:"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Delete selected rule"
-msgstr "Seçili qaydanı sil"
+#: ../../standalone/drakbug_.c:45
+msgid "Mandrake Bug Report Tool"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Accessing printers on remote CUPS servers"
-msgstr "Uzaq CUPS vericilərindəki çapçılara yetişin"
+#: ../../standalone/drakbug_.c:50
+msgid "First Time Wizard"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Insert a floppy in %s"
-msgstr "%s sürücüsünə bir disket taxın"
+#: ../../standalone/drakbug_.c:51
+msgid "Synchronization tool"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Maldives"
-msgstr "Maldiv"
+#: ../../standalone/drakbug_.c:52 ../../standalone/drakbug_.c:66
+#: ../../standalone/drakbug_.c:133 ../../standalone/drakbug_.c:135
+#: ../../standalone/drakbug_.c:139
+#, fuzzy
+msgid "Standalone Tools"
+msgstr "Konsol Vasitələri"
-#: ../../any.pm:1
-#, c-format
-msgid "compact"
-msgstr "kompakt"
+#: ../../standalone/drakbug_.c:53
+msgid "HardDrake"
+msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "1 minute"
-msgstr "1 dəqiqə"
+#: ../../standalone/drakbug_.c:54
+#, fuzzy
+msgid "Mandrake Online"
+msgstr "İdarə Mərkəzi"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: fat"
-msgstr "növ: fat"
+#: ../../standalone/drakbug_.c:55
+#, fuzzy
+msgid "Menudrake"
+msgstr "Usta"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "on channel %d id %d\n"
-msgstr "%d kanalında, %d id'li\n"
+#: ../../standalone/drakbug_.c:56
+#, fuzzy
+msgid "Msec"
+msgstr "Siçan"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device"
-msgstr ", çox funksiyalı avadanlıq"
+#: ../../standalone/drakbug_.c:57
+#, fuzzy
+msgid "Remote Control"
+msgstr "Uzaq Çap Edici"
-#: ../../lang.pm:1
-#, c-format
-msgid "Laos"
-msgstr "Laos"
+#: ../../standalone/drakbug_.c:58
+#, fuzzy
+msgid "Software Manager"
+msgstr "Paylaşdırma adı"
-#: ../advertising/04-configuration.pl:1
-#, c-format
-msgid ""
-"Mandrake Linux 9.2 provides you with the Mandrake Control Center, a powerful "
-"tool to fully adapt your computer to the use you make of it. Configure and "
-"customize elements such as the security level, the peripherals (screen, "
-"mouse, keyboard...), the Internet connection and much more!"
+#: ../../standalone/drakbug_.c:59
+msgid "Urpmi"
msgstr ""
-"Mandrake Linuks 9.2 sizə, kompüterinizi tamamilə idarə altına almaq və ondan "
-"ən ə'la keyfiyyət əldə etmək üçün Mandrake İdarə Mərkəzini daxil edir. "
-"Təhlükəsizlik səviyyəsi, avadanlıq (ekran, siçan, klaviatura kimi), İnternet "
-"bağlantısı və daha bir çox səciyyəvi elementi buradan asanlıqla quraşdırın "
-"və xüsusiləşdirin! "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Activate/Disable ethernet cards promiscuity check."
+#: ../../standalone/drakbug_.c:60
+msgid "Windows Migration tool"
msgstr ""
-"Eternet kartlarının nizamsızlıq yoxlamasını Fəallaşdır/Qeyri-Fəallaşdır."
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to resize (or not enough space left)"
-msgstr "Ölçüləndiriləcək FAT bölməsi mövcud deyil (ya da lazımi yer yoxdur)"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Up"
-msgstr "Yuxarı"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Firewall"
-msgstr "Atəş Divarı"
+#: ../../standalone/drakbug_.c:61
+#, fuzzy
+msgid "Userdrake"
+msgstr "Çap Edici"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Area:"
-msgstr "Sahə:"
+#: ../../standalone/drakbug_.c:62
+#, fuzzy
+msgid "Configuration Wizards"
+msgstr "Şəbəkə Quraşdırılması Sehirbazı"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "(E)IDE/ATA controllers"
-msgstr "(E)IDE/ATA idarəçiləri"
+#: ../../standalone/drakbug_.c:75
+#, fuzzy
+msgid "Application:"
+msgstr "Tanıtma"
-#: ../../fs.pm:1
-#, c-format
-msgid "All I/O to the file system should be done synchronously."
-msgstr "Fayl sisteminə bütün G/Ç'lar sinxron olaraq yerinə gətirilməlidir."
+#: ../../standalone/drakbug_.c:76
+#, fuzzy
+msgid "Package: "
+msgstr "Paket Qrup Seçkisi"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Server"
-msgstr "Çapçı Vericisi"
+#: ../../standalone/drakbug_.c:77
+msgid "Kernel:"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Custom configuration"
-msgstr "Xüsusi quraşdırma"
+#: ../../standalone/drakbug_.c:78
+#, fuzzy
+msgid "Release: "
+msgstr "Xahiş edirik gözləyin"
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakbug_.c:93
msgid ""
-"Please indicate where the installation image will be available.\n"
-"\n"
-"If you do not have an existing directory, please copy the CD or DVD "
-"contents.\n"
"\n"
-msgstr ""
-"Xahiş edirik, qurulum görüntüsünün harda mövcud olacağını göstərin.\n"
"\n"
-"Əgər mövcud cərgəniz yoxdursa, xahiş edirik, CD ya da DVD məzmununuköçürün.\n"
+"To submit a bug report, click on the button report.\n"
+"This will open a web browser window on https://drakbug.mandrakesoft.com\n"
+" where you'll find a form to fill in.The information displayed above will "
+"be \n"
+"transferred to that server\n"
"\n"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Pierre and Miquelon"
-msgstr "Müqəddəs Pyer və Migelion"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "September"
-msgstr "Sentyabr"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "saving Bootsplash theme..."
-msgstr "Açılış örtüyü qeyd edilir..."
+#: ../../standalone/drakbug_.c:112
+#, fuzzy
+msgid "Report"
+msgstr "Qapı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Portugal"
-msgstr "Portuqaliya"
+#: ../../standalone/drakbug_.c:148
+#, fuzzy
+msgid "Not installed"
+msgstr "Qurulumdan çıx"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have another one?"
-msgstr "Başqası var?"
+#: ../../standalone/drakbug_.c:160
+#, fuzzy
+msgid "Package not installed"
+msgstr "Qurulumdan çıx"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", printing to %s"
-msgstr ", %s'a çap edilir"
+#: ../../standalone/drakbug_.c:173
+msgid "connecting to Bugzilla wizard ..."
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Assign host name from DHCP address"
-msgstr "DHCP ünvanı üçün qovşaq adı tə'yin edin"
+#: ../../standalone/drakbug_.c:180
+#, fuzzy
+msgid "No browser available! Please install one"
+msgstr "Qurulumdan sonra istifadə edə biləcəyiniz başqa dillər seçə bilərsiniz"
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakconnect_.c:75
#, c-format
-msgid "Toggle to normal mode"
-msgstr "Normal moda keç"
+msgid "Network configuration (%d adapters)"
+msgstr "Şəbəkə quraşdırılması (%d adapter)"
-#: ../../mouse.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Generic"
-msgstr "Ümumi"
+#: ../../standalone/drakconnect_.c:83 ../../standalone/drakconnect_.c:591
+msgid "Profile: "
+msgstr "Profil: "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Cylinder %d to %d\n"
-msgstr "Silindr %d'dən silindr %d'yə\n"
+#: ../../standalone/drakconnect_.c:91
+msgid "Del profile..."
+msgstr "Profili sil..."
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "YOUR TEXT HERE"
-msgstr "BURADA MƏTNİNİZ YER ALACAQ"
+#: ../../standalone/drakconnect_.c:97
+msgid "Profile to delete:"
+msgstr "Silinəcək profil:"
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../standalone/drakconnect_.c:125
msgid "New profile..."
msgstr "Yeni profil..."
-#: ../../modules/interactive.pm:1 ../../standalone/draksec:1
-#, c-format
-msgid "NONE"
-msgstr "YOXDUR"
+#: ../../standalone/drakconnect_.c:131
+msgid ""
+"Name of the profile to create (the new profile is created as a copy of the "
+"current one) :"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which disk do you want to move it to?"
-msgstr "Hansı diskə daşımaq istəyirsiniz?"
+#: ../../standalone/drakconnect_.c:157
+msgid "Hostname: "
+msgstr "Ev sahibi adı:"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Display logo on Console"
-msgstr "Konsolda loqonu göstər"
+#: ../../standalone/drakconnect_.c:164
+msgid "Internet access"
+msgstr "İnternet imkanı"
-#: ../../any.pm:1
-#, c-format
-msgid "Windows Domain"
-msgstr "Windows Domeni"
+#: ../../standalone/drakconnect_.c:177
+msgid "Type:"
+msgstr "Növ: "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Saami (norwegian)"
-msgstr "Saami (Norveç dili)"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Gateway:"
+msgstr "Keçit:"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Interface %s (on network %s)"
-msgstr "Ara Üz %s (%s şəbəkəsində)"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Interface:"
+msgstr "Ara üz"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "INFO"
-msgstr "MƏ'LUMAT"
+#: ../../standalone/drakconnect_.c:191
+msgid "Status:"
+msgstr "Hal:"
-#: ../../lang.pm:1
-#, c-format
-msgid "Wallis and Futuna"
-msgstr "Vallis və Futuna"
+#: ../../standalone/drakconnect_.c:198 ../../standalone/net_monitor_.c:145
+msgid "Wait please"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Need to create /etc/dhcpd.conf first!"
-msgstr "Əvvəlcə /etc/dhcpd.conf yaradılmalıdır!"
+#: ../../standalone/drakconnect_.c:216
+msgid "Configure Internet Access..."
+msgstr "İnternet keçişini Qur..."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Is FPU present"
-msgstr "FPU mövcud isə"
+#: ../../standalone/drakconnect_.c:223 ../../standalone/drakconnect_.c:445
+msgid "LAN configuration"
+msgstr "Yerli Şəbəkə quraşdırılması"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"No additional information\n"
-"about this service, sorry."
-msgstr ""
-"Bu xidmət haqqında təəsüf ki,\n"
-"əlavə mə'lumat yoxdur."
+#: ../../standalone/drakconnect_.c:228
+msgid "Driver"
+msgstr "Sürücü"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "There are no scanners found which are available on your system.\n"
-msgstr "Sisteminizdə darayı tapıla bilmədi.\n"
+#: ../../standalone/drakconnect_.c:228
+msgid "Interface"
+msgstr "Ara üz"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Single NIC -->"
-msgstr "Yeganə NIC İnşa Et -->"
+#: ../../standalone/drakconnect_.c:228
+msgid "Protocol"
+msgstr "Protokol"
-#: ../../lang.pm:1
-#, c-format
-msgid "Marshall Islands"
-msgstr "Marşal Adaları"
+#: ../../standalone/drakconnect_.c:228
+#, fuzzy
+msgid "State"
+msgstr "Hal:"
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Is this correct?"
-msgstr "Bu düzdür?"
+#: ../../standalone/drakconnect_.c:240
+msgid "Configure Local Area Network..."
+msgstr "Yerli Şəbəkəni Quraşdır..."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Windows (FAT32)"
-msgstr "Windows (FAT32)"
+#: ../../standalone/drakconnect_.c:252
+msgid "Click here to launch the wizard ->"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Root password"
-msgstr "Ali istifadəçi şifrəsi"
+#: ../../standalone/drakconnect_.c:253
+msgid "Wizard..."
+msgstr "Sehirbaz..."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build All Kernels -->"
-msgstr "Bütün Çəyirdəkləri İnşa Et -->"
+#: ../../standalone/drakconnect_.c:279
+msgid "Apply"
+msgstr "Əlavə Et"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVDRAM device"
-msgstr "DVDRAM avadanlığı"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Connected"
+msgstr "Bağlandı"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report unowned files."
-msgstr "əgər bəli seçilidirsə, yiyələnməmiş faylları raport et"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Not connected"
+msgstr "Bağlı deyil"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Connect..."
+msgstr "Bağlan..."
+
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Disconnect..."
+msgstr "Bağlantını Kəs..."
+
+#: ../../standalone/drakconnect_.c:400
msgid ""
-"You don't have a swap partition.\n"
-"\n"
-"Continue anyway?"
+"Warning, another Internet connection has been detected, maybe using your "
+"network"
msgstr ""
-"Dəyiş-toqquş sahəniz yoxdur\n"
-"Davam edilsin?"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Version: "
-msgstr "Buraxılış: "
+#: ../../standalone/drakconnect_.c:427
+msgid ""
+"You don't have any configured interface.\n"
+"Configure them first by clicking on 'Configure'"
+msgstr ""
+"Qurulu ara üzünüz yoxdure.\n"
+"Əvvəlcə onları 'Quraşdır'a basaraq qurun"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Server IP missing!"
-msgstr "Verici IP'si əksikdir!"
+#: ../../standalone/drakconnect_.c:449
+msgid "LAN Configuration"
+msgstr "Yerli Şəbəkə Quraşdırılması"
-#: ../../lang.pm:1
+#: ../../standalone/drakconnect_.c:460
#, c-format
-msgid "Suriname"
-msgstr "Surinam"
+msgid "Adapter %s: %s"
+msgstr "%s Adapteri: %s"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Use a floppy"
-msgstr "Disket işlət"
+#: ../../standalone/drakconnect_.c:466
+msgid "Boot Protocol"
+msgstr "Açılış Protokolu"
-#: ../../any.pm:1
-#, c-format
-msgid "Enable ACPI"
-msgstr "ACPI'ni Fəallaşdır"
+#: ../../standalone/drakconnect_.c:467
+msgid "Started on boot"
+msgstr "Açılışda başladılır"
-#: ../../fs.pm:1
-#, c-format
-msgid "Give write access to ordinary users"
-msgstr "Sıravi istifadəçilərə yazma səlahiyyəti ver"
+#: ../../standalone/drakconnect_.c:468
+msgid "DHCP client"
+msgstr "DHCP alıcısı"
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Environment"
-msgstr "Qrafiki Mühit"
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+#, fuzzy
+msgid "activate now"
+msgstr "Fəal"
-#: ../../lang.pm:1
-#, c-format
-msgid "Gibraltar"
-msgstr "Gibraltar"
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+#, fuzzy
+msgid "deactivate now"
+msgstr "Fəal"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Do nothing"
-msgstr "Heç bir şey etmə"
+#: ../../standalone/drakconnect_.c:499
+msgid ""
+"This interface has not been configured yet.\n"
+"Launch the configuration wizard in the main window"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Delete Client"
-msgstr "Alıcını Sil"
+#: ../../standalone/drakconnect_.c:556
+msgid ""
+"You don't have any internet connection.\n"
+"Create one first by clicking on 'Configure'"
+msgstr ""
+"Heç İnternet bağlantınız yoxdur.\n"
+"Əvvəlcə onları 'Quraşdır'a basaraq qurun"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem type: "
-msgstr "Fayl sistemi növü: "
+#: ../../standalone/drakconnect_.c:580
+msgid "Internet connection configuration"
+msgstr "İnternet bağlantısı quraşdırılması"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting network..."
-msgstr "Şəbəkə başladılır..."
+#: ../../standalone/drakconnect_.c:584
+msgid "Internet Connection Configuration"
+msgstr "İnternet Bağlantısı Quraşdırılması"
-#: ../../lang.pm:1
-#, c-format
-msgid "Vietnam"
-msgstr "Vyetnam"
+#: ../../standalone/drakconnect_.c:593 ../../standalone/net_monitor_.c:94
+msgid "Connection type: "
+msgstr "Bağlantı növü:"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/_Fields description"
-msgstr "/_Sahənin izahatı"
+#: ../../standalone/drakconnect_.c:599
+msgid "Parameters"
+msgstr "Parametrlər"
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid "Optimize your security by using Mandrake Linux"
-msgstr "Mandrake Linuks istifadə edərək təhlükəsizliyinizi münasibləşdirin"
+#: ../../standalone/drakconnect_.c:618
+msgid "Gateway"
+msgstr "Keçit"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-" Thanks:\n"
-"\t- LTSP Project http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-" Minnəttarlıq:\n"
-"\t- LTSP Layihəsi http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
-"\n"
+#: ../../standalone/drakconnect_.c:627
+msgid "Ethernet Card"
+msgstr "Eternet Kartı"
-#: ../../install_steps_gtk.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../interactive/gtk.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakconnect:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Help"
-msgstr "Yardım"
+#: ../../standalone/drakconnect_.c:628
+msgid "DHCP Client"
+msgstr "DHCP Alıcısı"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check if the network devices are in promiscuous mode"
-msgstr "Şəbəkə avadanlıqlarının nizamsız modda olub olmadığını yoxla"
+#: ../../standalone/drakfloppy_.c:39
+msgid "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
+msgstr "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Your personal phone number"
-msgstr "Şəxsi telefon nömrəniz"
+#: ../../standalone/drakfloppy_.c:40
+msgid "Module name"
+msgstr "Modul adı"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which size do you want to keep for Windows on"
-msgstr "Windows üçün hansı böyüklüyü saxlamaq istəyirsiniz"
+#: ../../standalone/drakfloppy_.c:40
+msgid "Size"
+msgstr "Böyüklük"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-msgstr ""
-"Sınaq səhifə(lər)si çapçıya göndərildi.\n"
-"Çapçının işləməyə başlaması üçün bir az vaxt lazım ola bilər.\n"
+#: ../../standalone/drakfloppy_.c:45
+msgid "drakfloppy"
+msgstr "drakfloppy"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Username required"
-msgstr "İstifadəçi adı məcburidir"
+#: ../../standalone/drakfloppy_.c:63
+msgid "boot disk creation"
+msgstr "açılış disketi yaradılması"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Device"
-msgstr "Avadanlıq"
+#: ../../standalone/drakfloppy_.c:71 ../../standalone/drakfloppy_.c:84
+msgid "default"
+msgstr "əsas"
-#: ../../help.pm:1
+#: ../../standalone/drakfloppy_.c:87
#, c-format
-msgid ""
-"Depending on the default language you chose in Section , DrakX will\n"
-"automatically select a particular type of keyboard configuration. However,\n"
-"you may not have a keyboard that corresponds exactly to your language: for\n"
-"example, if you are an English speaking Swiss person, you may have a Swiss\n"
-"keyboard. Or if you speak English but are located in Quebec, you may find\n"
-"yourself in the same situation where your native language and keyboard do\n"
-"not match. In either case, this installation step will allow you to select\n"
-"an appropriate keyboard from a list.\n"
-"\n"
-"Click on the \"%s\" button to be presented with the complete list of\n"
-"supported keyboards.\n"
-"\n"
-"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
-"dialog will allow you to choose the key binding that will switch the\n"
-"keyboard between the Latin and non-Latin layouts."
-msgstr ""
-"Bölümdə seçdiyiniz dilə bağlı olaraq, DrakX uyğun gələn klaviatura növü\n"
-"quraşdırmasını seçəcək. Yalnız, dilinizə tam uyğun olmayan klaviatura "
-"yiyəsi\n"
-"də ola bilərsiniz: misal üçün Azərbaycanda yaşayan Rus dilli şəxs isəniz\n"
-"klaviaturanızı Rus dilində istifadə etmək istəyəcəksiniz, ya da Rusiyada "
-"yaşayan\n"
-"Azərbaycanlı isəniz klaviaturanızı Rus dilində yox Azərbaycan dilində "
-"istifadə\n"
-"etmək istəyə bilərsiniz. İki vəziyyətdə də istədiyiniz klaviaturlarını "
-"siyahıdan seçə\n"
-"bilərsiniz.\n"
-"\n"
-"Dəstəklənən klaviaturaların tam siyahısını görmək üçün \"%s\" \n"
-"düyməsinə basın\n"
-"\n"
-"Əgər Latın əlifbası əsasında olmayan klaviatura düzülüşü seçsəniz, növbəti\n"
-"dialoq sizə Latın və Latın olmayan düzülüşlər arasında keçiş üçün\n"
-"qısa yol seçmə imkanı verəcək."
+msgid "DrakFloppy Error: %s"
+msgstr "DrakFloppy xətası: %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "SMB (Windows 9x/NT) Çapçı Seçimləri"
+#: ../../standalone/drakfloppy_.c:98
+msgid "kernel version"
+msgstr "çəyirdək buraxılışı"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "URI: %s"
-msgstr "URI: %s"
+#: ../../standalone/drakfloppy_.c:104
+msgid "General"
+msgstr "Ümumi"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Valid user list changed, rewriting config file."
-msgstr "Hökmlü istifadəçi siyahısı dəyişdirilib, qurğu faylı yenidən yazılır."
+#: ../../standalone/drakfloppy_.c:109
+msgid "Expert Area"
+msgstr "Ustaların Sahəsi"
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/drakfloppy_.c:112
msgid "mkinitrd optional arguments"
msgstr "mkinitrdin arzuya bağlı olan arqumentləri"
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid ""
-"Surf the Web with Mozilla or Konqueror, read your mail with Evolution or "
-"Kmail, create your documents with OpenOffice.org."
-msgstr ""
-"Mozilla, Epiphany ya da Konqueror ilə vebi gəzin, poçtlarınızı Evolution, "
-"Balsa ya da Kmail ilə oxuyun, OpenOffice.org ilə sənədlərinizi yaradın."
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Protocol for the rest of the world"
-msgstr "Dünyanın geri qalanı üçün protokol"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print test pages"
-msgstr "Sınaq səhifələri çap et"
+#: ../../standalone/drakfloppy_.c:113
+msgid "Add a module"
+msgstr "Modul əlavə et"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Activate now"
-msgstr "İndi fəallaşdır"
+#: ../../standalone/drakfloppy_.c:133
+msgid "force"
+msgstr "zorla"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "64 MB or more"
-msgstr "64 MB və ya daha çox"
+#: ../../standalone/drakfloppy_.c:134
+msgid "if needed"
+msgstr "lazım olarsa"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Please select the test pages you want to print.\n"
-"Note: the photo test page can take a rather long time to get printed and on "
-"laser printers with too low memory it can even not come out. In most cases "
-"it is enough to print the standard test page."
-msgstr ""
-"Xahiş edirik, çap etmək istədiyiniz sınaq səhifələrini seçin.\n"
-"Qeyd: foto sınaq səhifəsinin çapı uzun müddət ala bilər və alçaq yaddaşı "
-"olan lazer çapçılarda heç çıxmaya da bilər. Çox vaxt standart sınaq "
-"səhifəsini çap etmək kifayətdir."
+#: ../../standalone/drakfloppy_.c:135
+msgid "omit scsi modules"
+msgstr "scsi modulları keç"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Please select the device where your %s is attached"
-msgstr "Xahiş edirik, %s'ın bağlı olduğu avadanlığı seçin"
+#: ../../standalone/drakfloppy_.c:136
+msgid "omit raid modules"
+msgstr "raid modulları keç"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Not formatted\n"
-msgstr "Şəkilləndirilməmiş\n"
+#: ../../standalone/drakfloppy_.c:172
+msgid "Remove a module"
+msgstr "Modulu çıxart"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Periodic Checks"
-msgstr "Peryodik Yoxlamalar"
+#: ../../standalone/drakfloppy_.c:194
+msgid "Output"
+msgstr "Nəticə"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "PXE Server Configuration"
-msgstr "PXE Vericisi Quraşdırılması"
+#: ../../standalone/drakfloppy_.c:206
+msgid "Build the disk"
+msgstr "Diski yarat"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakfloppy_.c:336
#, c-format
-msgid "Backup the system files before:"
-msgstr "Sistem fayllarının ehtiyat nüsxəsini bundan əvvəl al:"
+msgid "Be sure a media is present for the device %s"
+msgstr "%s avadanlığında medya olduğundan əmin olun"
-#: ../../security/level.pm:1
-#, c-format
+#: ../../standalone/drakfloppy_.c:341
+#, fuzzy, c-format
msgid ""
-"This is the standard security recommended for a computer that will be used "
-"to connect to the Internet as a client."
+"There is no medium or it is write-protected for device %s.\n"
+"Please insert one."
msgstr ""
-"Bu, İnternetə bağlı olan bir kompüter üçün standart və məsləhət edilən bir "
-"təhlükəsizlik səviyyəsidir."
-
-#: ../../any.pm:1
-#, c-format
-msgid "First floppy drive"
-msgstr "İlk disket sürücü"
-
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Quit"
-msgstr "/Fayl/_Çıx"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak"
-msgstr "Dvorak"
+"%s avadanlığında medya yoxdur.\n"
+"Xahiş edirik. birini taxın."
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakfloppy_.c:344
#, c-format
-msgid "Choose the new size"
-msgstr "Yeni böyüklüyü seçin"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Media class"
-msgstr "Mediya sinifi"
+msgid "Unable to fork: %s"
+msgstr "Fork edilə bilmir: %s"
-#: ../../standalone/XFdrake:1
+#: ../../standalone/drakfloppy_.c:349
#, c-format
-msgid "You need to log out and back in again for changes to take effect"
+msgid ""
+"Unable to close properly mkbootdisk: \n"
+" %s \n"
+" %s"
msgstr ""
-"Dəyişikliklərin fəal olması üçün hesabdan çıxış edib, yenidən girməlisiniz."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not known by this version of Scannerdrake."
-msgstr "%s, Scannerdrake'nın bu buraxılışı tərəfindən tanınmır. "
+"Düzgün mkbootdisk aparıla bilmir: \n"
+" %s \n"
+" %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Faroe Islands"
-msgstr "Faro Adaları"
+#: ../../standalone/drakfont_.c:213
+msgid "Search installed fonts"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Restart XFS"
-msgstr "XFS'ni yenidən başlat"
+#: ../../standalone/drakfont_.c:215
+msgid "Unselect fonts installed"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add host/network"
-msgstr "Qovşaq/şəbəkə əlavə et"
+#: ../../standalone/drakfont_.c:239
+msgid "parse all fonts"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake will not be started now."
-msgstr "Scannerdrake indi başladılmayacaq."
+#: ../../standalone/drakfont_.c:242
+#, fuzzy
+msgid "no fonts found"
+msgstr "şəbəkə kartı tapılmadı"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Model name"
-msgstr "Model adı"
+#: ../../standalone/drakfont_.c:251 ../../standalone/drakfont_.c:305
+#: ../../standalone/drakfont_.c:361 ../../standalone/drakfont_.c:454
+#: ../../standalone/drakfont_.c:466 ../../standalone/drakfont_.c:493
+#: ../../standalone/drakfont_.c:514 ../../standalone/drakfont_.c:532
+#, fuzzy
+msgid "done"
+msgstr "Qurtardı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Albania"
-msgstr "Albaniya"
+#: ../../standalone/drakfont_.c:257
+msgid "could not find any font in your mounted partitions"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "British Indian Ocean Territory"
-msgstr "Britaniya Hind Okeanı Sahəsi"
+#: ../../standalone/drakfont_.c:303
+msgid "Reselect correct fonts"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Normal Mode"
-msgstr "Normal Mod"
+#: ../../standalone/drakfont_.c:307
+msgid "could not find any font.\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD-R/DVD-R in drive!"
-msgstr "Sürücüdə CDR/DVDR yoxdur!"
+#: ../../standalone/drakfont_.c:331
+msgid "Search fonts in installed list"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer connection type"
-msgstr "Çapçı bağlantı növü"
+#: ../../standalone/drakfont_.c:359
+msgid "Fonts copy"
+msgstr ""
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "No network adapter on your system!"
-msgstr "Siseminizdə şəbəkə adapteri yoxdur!"
+#: ../../standalone/drakfont_.c:363
+#, fuzzy
+msgid "True Type fonts installation"
+msgstr "Qurulum hazırlanır"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network %s"
-msgstr "Şəbəkə %s"
+#: ../../standalone/drakfont_.c:371
+msgid "please wait during ttmkfdir..."
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Malayalam"
-msgstr "Malayalam dili"
+#: ../../standalone/drakfont_.c:377
+msgid "True Type install done"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s out of range!"
-msgstr "%s qurğusu əhatə xaricindədir!"
+#: ../../standalone/drakfont_.c:386 ../../standalone/drakfont_.c:413
+msgid "Fonts conversion"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connect %s"
-msgstr "Bağlan %s"
+#: ../../standalone/drakfont_.c:392 ../../standalone/drakfont_.c:417
+#: ../../standalone/drakfont_.c:450
+msgid "type1inst building"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting CUPS..."
-msgstr "CUPS yenidən başladılır..."
+#: ../../standalone/drakfont_.c:403 ../../standalone/drakfont_.c:427
+msgid "Ghostscript referencing"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning/Photo Cards on \"%s\""
-msgstr "\"%s\" üstündə Çap/Darama/Foto Kartları"
+#: ../../standalone/drakfont_.c:437
+msgid "ttf fonts conversion"
+msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Continue without USB key"
+#: ../../standalone/drakfont_.c:444
+msgid "pfm fonts conversion"
msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "%s bağlama nöqtəsini ikiləşdir"
+#: ../../standalone/drakfont_.c:456
+msgid "Suppress temporary Files"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run chkrootkit checks."
-msgstr "Əgər bəli seçilidirsə, chkrootkit yoxlamalarını icra et."
+#: ../../standalone/drakfont_.c:459
+#, fuzzy
+msgid "Restart XFS"
+msgstr "məhdudlaşdır"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Connection Configuration"
-msgstr "Bağlantı quraşdırılması"
+#: ../../standalone/drakfont_.c:512 ../../standalone/drakfont_.c:526
+msgid "Suppress Fonts Files"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|Generic"
-msgstr "Namə'lum|Ümumi"
+#: ../../standalone/drakfont_.c:528
+#, fuzzy
+msgid "xfs restart"
+msgstr "məhdudlaşdır"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:536 ../../standalone/drakfont_.c:902
msgid ""
-"At the time you are installing Mandrake Linux, it is likely that some\n"
-"packages have been updated since the initial release. Bugs may have been\n"
-"fixed, security issues resolved. To allow you to benefit from these\n"
-"updates, you are now able to download them from the Internet. Check \"%s\"\n"
-"if you have a working Internet connection, or \"%s\" if you prefer to\n"
-"install updated packages later.\n"
-"\n"
-"Choosing \"%s\" will display a list of places from which updates can be\n"
-"retrieved. You should choose one nearer to you. A package-selection tree\n"
-"will appear: review the selection, and press \"%s\" to retrieve and install\n"
-"the selected package(s), or \"%s\" to abort."
-msgstr ""
-"Mandrake Linuksu qurduğunuz vaxtda çox güman ki bə'zi paketlər \n"
-"ilk çıxışlarından sonra yenilənmiş ola bilər. Bunlarla bir çox xəta "
-"düzəldilmiş\n"
-"ya da təhlükəsizlik qüvvətləndirilmiş ola bilər. Bu yeniləmələrdən istifadə\n"
-"etmək üçün indi siz İnternetdən endirmə əməliyyatına başlaya bilərsiniz.\n"
-"Əgər fəal internet bağlantınız varsa \"%s\", yoxsa, yenilənmiş paketləri\n"
-"daha sonra qurmaq üçün \"%s\" düyməsinə basın.\n"
-"\n"
-"\"%s\" seçilərsə, yeniləmələrin endirilə biləcəyi yerlərin siyahı "
-"göstəriləcək.\n"
-"Sizə ən yaxın olanı seçməlisiniz. Paket seçim ağacı göstəriləcək, bu bölümü\n"
-"gözdən keçirin və paketləri endirib qurmaq üçün \"%s\" düyməsinə basın.\n"
-"Ləğv etmək üçün isə \"%s\" düyməsindən istifadə edə bilərsiniz."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Myanmar"
-msgstr "Myanmar"
-
-#: ../../install_steps_interactive.pm:1 ../../Xconfig/main.pm:1
-#: ../../diskdrake/dav.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/draksplash:1 ../../standalone/harddrake2:1
-#: ../../standalone/logdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Quit"
-msgstr "Çıx"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Auto allocate"
-msgstr "Avtomatik ayır"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Check bad blocks?"
-msgstr "Xətalı bloklar sınansınmı?"
+"Before installing any fonts, be sure that you have the right to use and "
+"install them on your system.\n"
+"\n"
+"-You can install the fonts using the normal way. In rare cases, bogus fonts "
+"may hang up your X Server."
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Other MultiMedia devices"
-msgstr "Digər Multimediya avadanlıqları"
+#: ../../standalone/drakfont_.c:621
+#, fuzzy
+msgid "Fonts Importation"
+msgstr "Bölmə şəkilləndirilməsi"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "burner"
-msgstr "yazıcı"
+#: ../../standalone/drakfont_.c:650
+msgid "Get Windows Fonts"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Bug Description/System Information"
-msgstr "Xəta İzahatı/Sistem Mə'lumatı"
+#: ../../standalone/drakfont_.c:658
+msgid "Uninstall Fonts"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (Default is all users)"
-msgstr " (Əsası bütün istifadəçilərdir)"
+#: ../../standalone/drakfont_.c:669
+#, fuzzy
+msgid "Advanced Options"
+msgstr "Yerli Şəbəkə Quraşdırılması"
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "No remote machines"
-msgstr "Uzaq sistem yoxdur"
+#: ../../standalone/drakfont_.c:677
+#, fuzzy
+msgid "Font List"
+msgstr "Bağlama nöqtəsi"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:737
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
+" Copyright (C) 2001-2002 by MandrakeSoft \n"
+"\tDUPONT Sebastien sdupont\\@mandrakesoft.com\n"
"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected.\n"
+" This program is free software; you can redistribute it and/or modify\n"
+" it under the terms of the GNU General Public License as published by\n"
+" the Free Software Foundation; either version 2, or (at your option)\n"
+" any later version.\n"
"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
+" This program is distributed in the hope that it will be useful,\n"
+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+" GNU General Public License for more details.\n"
"\n"
-"Çapçı Quraşdırma Sehirbazına Xoş Gəldiniz\n"
+" You should have received a copy of the GNU General Public License\n"
+" along with this program; if not, write to the Free Software\n"
+" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
"\n"
-"Bu sehirbaz kompüterinizə bağlı olan çapçı ya da çapçıları quraşdırmaqda "
-"sizə yardım edəcək.\n"
+" Thanks:\n"
+" - pfm2afm: \n"
+"\t by Ken Borgendale:\n"
+"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
+" - type1inst:\n"
+"\t by James Macnicol: \n"
+"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
+" - ttf2pt1: \n"
+"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
+" Convert ttf font files to afm and pfb fonts\n"
"\n"
-"Xahiş edirik, bu kompüterə bağlı olan bütün çapçıları açın ki avtomatik "
-"aşkar edilə bilsinlər.\n"
"\n"
-" Hazır olanda \"Sonrakı\" düyməsinə, çapçılarınızı indi quraşdırmaq "
-"istəmirsinizsə\"Ləğv Et\" düyməsinə basın."
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication NIS"
-msgstr "Səlahiyyətləndirmə NIS"
+#: ../../standalone/drakfont_.c:793
+msgid ""
+"drakfont Future Overview\n"
+" - Fonts import:\n"
+" pfb ( Adobe Type 1 binary )\n"
+" pfa ( Adobe Type 1 ASCII )\n"
+" ttf ( True-Type )\n"
+" pcf.gz\n"
+" Speedo\n"
+" and Bitmap (PCF, BDF, and SNF)\n"
+" - Features\n"
+" - Install fonts from any directory\n"
+" - Get windows fonts on any vfat partitions\n"
+" - Get fonts on any partitions.\n"
+" - UN-installation of any fonts (even if not installed "
+"through drakfont)\n"
+" - Support\n"
+" - Xfs\n"
+" - ghostscript & printer\n"
+" - Staroffice & printer\n"
+" - abiword\n"
+"\t - netscape\n"
+" - Koffice, Gnumeric, ... studying\n"
+" - all fonts supported by printer\n"
+" - anti-aliases by RENDER in Xfree86 .... \n"
+"\t\t\t\tsupported by KDE.\n"
+"\t\t\t\twill be supported by gnome 1.2.\n"
+"Visual Interface:\n"
+" Window interface:\n"
+" - Fontselectiondialog widget\n"
+" - Command buttons under Fontselectiondialog (like the actual "
+"frontend).\n"
+" Commands buttons:\n"
+" - import from windows partition.\n"
+" import from all fat32 partitions and look for winnt/windows/"
+"font\n"
+" and import all (delete doublon) but don't import if already "
+"exist.\n"
+" - import from directory\n"
+" look for if it exist before for each font and not delete the "
+"original.\n"
+" (replace all, no, none)\n"
+" expert options:\n"
+" ask the directory, and look for if it exist before\n"
+" if it exist ask: (replace all, no, none)\n"
+" - uninstall with list per font type\n"
+" Expert additional switch\n"
+" - option support: ghostscript, Staroffice, etc...\n"
+" check-button. (by default all check)\n"
+" - Printer Application Fonts Support...\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../../standalone/drakfont_.c:862
+#, fuzzy
+msgid "Choose the applications that will support the fonts:"
+msgstr "Şəkilləndiriləcək disk bölmələrini seçin"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
+#: ../../standalone/drakfont_.c:870
+msgid "Ghostscript"
msgstr ""
-"``Əmr sətiri seçimlərini məhdudlaşdır`` seçimi şifrəsiz bir işə yaramaz"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently enabled"
-msgstr "İnternet Bağlantısı Bölüşdürülməsi fəallaşdırıldı"
+#: ../../standalone/drakfont_.c:877
+#, fuzzy
+msgid "StarOffice"
+msgstr "İş Yeri"
-#: ../../lang.pm:1
-#, c-format
-msgid "United Arab Emirates"
-msgstr "Birləşmiş Ərəb Əmirlikləri"
+#: ../../standalone/drakfont_.c:884
+#, fuzzy
+msgid "Abiword"
+msgstr "Dayandır"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_0"
-msgstr "Kart IO_0"
+#: ../../standalone/drakfont_.c:891
+#, fuzzy
+msgid "Generic Printers"
+msgstr "Çap Edici"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Local Config"
-msgstr "Yerli Qurğuları Qeyri-fəallaşdır"
+#: ../../standalone/drakfont_.c:958
+msgid "Select the font file or directory and click on 'Add'"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Thailand"
-msgstr "Tayland"
+#: ../../standalone/drakfont_.c:1005
+#, fuzzy
+msgid "Install List"
+msgstr "Sistemi qur"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_1"
-msgstr "Kart IO_1"
+#: ../../standalone/drakfont_.c:1048
+msgid "click here if you are sure."
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Search:"
-msgstr "Axtar:"
+#: ../../standalone/drakfont_.c:1055
+msgid "here if no."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kazakhstan"
-msgstr "Qazaxstan"
+#: ../../standalone/drakfont_.c:1112
+msgid "Unselected All"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Routers:"
-msgstr "Routerlər:"
+#: ../../standalone/drakfont_.c:1116
+#, fuzzy
+msgid "Selected All"
+msgstr "Fayl seç"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Write"
-msgstr "Yaz"
+#: ../../standalone/drakfont_.c:1120
+#, fuzzy
+msgid "Remove List"
+msgstr "Uzaq Çap Edici"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Display all available remote CUPS printers"
-msgstr "Mövcud olan bütün uzaq CUPS çapçılarını göstər"
+#: ../../standalone/drakfont_.c:1142 ../../standalone/drakfont_.c:1175
+#, fuzzy
+msgid "Initials tests"
+msgstr "İnit İsmarıcı"
-#: ../../install_steps_newt.pm:1
-#, c-format
-msgid "Mandrake Linux Installation %s"
-msgstr "Mandrake Linuks Qurulumu %s"
+#: ../../standalone/drakfont_.c:1145
+#, fuzzy
+msgid "Copy fonts on your system"
+msgstr "Siseminizdə şəbəkə adapteri yoxdur!"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Unknown driver"
-msgstr "Namə'lum sürücü"
+#: ../../standalone/drakfont_.c:1149
+msgid "Install & convert Fonts"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Thai keyboard"
-msgstr "Tay klaviaturası"
+#: ../../standalone/drakfont_.c:1153
+#, fuzzy
+msgid "Post Install"
+msgstr "Qurulum"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bouvet Island"
-msgstr "Buvet Adası"
+#: ../../standalone/drakfont_.c:1178
+#, fuzzy
+msgid "Remove fonts on your system"
+msgstr "Siseminizdə şəbəkə adapteri yoxdur!"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Dialup options"
-msgstr "Çevirmə seçimləri"
+#: ../../standalone/drakfont_.c:1182
+#, fuzzy
+msgid "Post Uninstall"
+msgstr "Qurulumdan çıx"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If no port is given, 631 will be taken as default."
-msgstr "Əgər qapı nömrəsi verilməszə, əsas olaraq 631 alınacaq."
+#: ../../standalone/drakgw_.c:42 ../../standalone/drakgw_.c:182
+msgid "Internet Connection Sharing"
+msgstr "İnternet Bağlantısı Bölüşdürülməsi"
-# needs editing (Metin)
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Per client system configuration files:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tclients can customize files such as /etc/modules.conf, /etc/"
-"sysconfig/mouse, \n"
-" \t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root "
-"login to the terminal \n"
-" server on each client machine that has this feature enabled. Local "
-"configuration can be\n"
-" turned back off, retaining the configuration files, once the client "
-"machine is configured."
-msgstr ""
-" - Per client system configuration files:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tclients can customize files such as /etc/modules.conf, /etc/"
-"sysconfig/mouse, \n"
-" \t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root "
-"login to the terminal \n"
-" server on each client machine that has this feature enabled. Local "
-"configuration can be\n"
-" turned back off, retaining the configuration files, once the client "
-"machine is configured."
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, 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."
+#: ../../standalone/drakgw_.c:114
+msgid "Sorry, we support only 2.4 kernels."
msgstr ""
-"CD-Rom'u dəyişdirin!\n"
-"\n"
-"Xahiş edirik, \"%s\" adlı CD-Rom'u sürücünüzə yerləşdirin və Oldu düyməsinə "
-"basın.\n"
-"Əgər CD-Rom əlinizdə deyilsə, bu CD-Rom'dan qurmamaq üçün Ləğv Et düyməsinə "
-"basın."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish"
-msgstr "Polyak dili"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Online"
-msgstr "Mandrake Onlayn"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by webdav.\n"
-msgstr "\t-webdav şəbəkəsi.\n"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on a parallel port"
-msgstr ", paralel qapıdakı çox funksiyalı avadanlıq"
+#: ../../standalone/drakgw_.c:125
+msgid "Internet Connection Sharing currently enabled"
+msgstr "İnternet Bağlantısı Bölüşdürülməsi fəallaşdırıldı"
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakgw_.c:126
msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently enabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-"Sisteminizdə şəbəkə kartı tapıla bilməyib.Avadanlığı quran vasitəni işə "
-"salın."
-
-#: ../../network/network.pm:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Netmask"
-msgstr "Netmask"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "No hard drives found"
-msgstr "Sabit disk(lər) tapıla bilmədi"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "2 buttons"
-msgstr "2 düyməli"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind is your ISDN connection?"
-msgstr "ISDN bağlantınızın növü nədir?"
+"İnternet Bağlantısı Bölüşdürülməsi qurulması artıq bitdi.\n"
+"Və artıq fəallaşdırılmışdır.\n"
+"\n"
+"Nə etmək istəyirsiniz?"
-#: ../../any.pm:1
-#, c-format
-msgid "Label"
-msgstr "Etiket"
+#: ../../standalone/drakgw_.c:130
+msgid "disable"
+msgstr "passivləşdir"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save on floppy"
-msgstr "Disketə qeyd et"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "dismiss"
+msgstr "keç"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check open ports"
-msgstr "Açıq qapıları yoxla"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "reconfigure"
+msgstr "yenidən quraşdır"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Edit selected printer"
-msgstr "Seçili vericini düzəlt"
+#: ../../standalone/drakgw_.c:133
+msgid "Disabling servers..."
+msgstr "Vericilər bağlanır..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection"
-msgstr "Çapçının avtomatik aşkar edilməsi"
+#: ../../standalone/drakgw_.c:142
+msgid "Internet connection sharing is now disabled."
+msgstr "İnternet Bağlantısı Bölüşdürülməsi indi bağlandı"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which of the following is your ISDN card?"
-msgstr "Hansı sizin ISDN kartınızdır?"
+#: ../../standalone/drakgw_.c:149
+msgid "Internet Connection Sharing currently disabled"
+msgstr "İnternet Bağlantısı Bölüşdürülməsi passivləşdirildi"
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:150
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."
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently disabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-"NFS TCP/IP şəbəkələrində fayl bölüşülməsi üçün istifadə edilən məşhur bir "
-"protokoldur.\n"
-"Bu xidmət, /etc/exports faylında qurğuları olan NFS vericisinin\n"
-"istifadəsinə imkan verər."
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Msec"
-msgstr "Msec"
+"İnternet Bağlantısı Bölüşdürülməsi qurulması artıq bitdi.\n"
+"Və artıq passivləşdirilmişdir.\n"
+"\n"
+"Nə etmək istəyirsiniz?"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid ""
-"=> Notice, a label changed:\n"
-"%s"
-msgstr ""
-"=> Diqqət edin, etiket dəyişdi:\n"
-"%s"
+#: ../../standalone/drakgw_.c:154
+msgid "enable"
+msgstr "fəallaşdır"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Number of capture buffers:"
-msgstr "Yaxalama bufferlərinin ədədi:"
+#: ../../standalone/drakgw_.c:161
+msgid "Enabling servers..."
+msgstr "Xidmətlər fəallaşdırılır..."
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (0/1, default `%s') "
-msgstr "Seçkiniz? (0/1, əsas `%s') "
+#: ../../standalone/drakgw_.c:166
+msgid "Internet connection sharing is now enabled."
+msgstr "İnternet Bağlantısı Bölüşdürülməsi indi açıldı"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:183
+#, fuzzy
msgid ""
-"Any partitions that have been newly defined must be formatted for use\n"
-"(formatting means creating a file system).\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to\n"
-"erase any data they contain. If you wish to do that, please select those\n"
-"partitions as well.\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing\n"
-"partitions. You must reformat the partitions containing the operating\n"
-"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
-"reformat partitions containing data that you wish to keep (typically\n"
-"\"/home\").\n"
-"\n"
-"Please be careful when selecting partitions. After formatting, all data on\n"
-"the selected partitions will be deleted and you will not be able to recover\n"
-"it.\n"
-"\n"
-"Click on \"%s\" when you are ready to format partitions.\n"
+"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"
-"Click on \"%s\" if you want to choose another partition for your new\n"
-"Mandrake Linux operating system installation.\n"
+"Make sure you have configured your Network/Internet access using drakconnect "
+"before going any further.\n"
"\n"
-"Click on \"%s\" if you wish to select partitions that will be checked for\n"
-"bad blocks on the disk."
+"Note: you need a dedicated Network Adapter to set up a Local Area Network "
+"(LAN)."
msgstr ""
-"Yeni yaradılan bütün bölmələr şəkilləndirilməlidir\n"
-"(şəkilləndirmək, fayl sistemini yaratmaq deməkdir - format).\n"
-"\n"
-"Bu arada var olan hazır bölmələri də üstündəkiləri silmək üçün yenidən\n"
-"şəkilləndirmək istəyə bilərsiniz.\n"
-"Bunu istəyirsinizsə xahiş edirik, bu bölmələri də seçin.\n"
-"\n"
-"Ağlınızda tutun ki var olan bütün bölmələri şəkilləndirmək\n"
-"məcburi deyil. Əməliyyat sistəmini əmələ gətirən bölmələri\n"
-"(yəni \"/\", \"usr\" və ya \"var\"ı yenidən şəkilləndirmək üçün\n"
-"seçə bilərsiniz. Mə'lumatlar olan \"home\"u isə toxunmadan\n"
-"saxlaya bilərsiniz).\n"
-"\n"
-"Bölmələri seçərkən diqqətli olun. Şəkilləndirdiyiniz bölmələrdəki\n"
-"mə'lumatlar itiriləcək və geri gəlməyəcək.\n"
-"\n"
-"Bölmələri şəkilləndirməyə hazır olanda \"%s\" düyməsini basın.\n"
-"\n"
-"Yeni Linuks Mandrake sisteminizi qurmaq üçün başqa bölmə seçmək\n"
-"istəyirsinizsə \"%s\" düyməsinə basın.\n"
+"Kompüterınızi İnternet bağlantısını bölüşdürmək üçün quraşdırırsınız.\n"
+"Bu seçənəklə yerli şəbəkənizdəki başqa kompüterlər sizin İnternet "
+"bağlantınızdan faydalana biləcəklər.\n"
"\n"
-"Üstündəki xəsərli blokların yoxlanmasını istədiyiniz bölmələri seçmək\n"
-"üçün \"%s\" düyməsinə basın."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "French"
-msgstr "Fransızca"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTY)"
-msgstr "Çex dili (QWERTY)"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Allow X Window connections"
-msgstr "X Window bağlantılarına icazə ver"
+"Xəbədarlıq: Yerli Şəbəkə (LAN) qurmaq üçün uyğun Şəbəkə Adapterinə "
+"ehtiyacınız var."
-#: ../../standalone/service_harddrake:1
+#: ../../standalone/drakgw_.c:211
#, c-format
-msgid "Hardware probing in progress"
-msgstr "Avadanlıq sınaması fəaliyyətdədir"
+msgid "Interface %s (using module %s)"
+msgstr "Ara Üz %s (%s modulu işlədilir)"
-#: ../../network/shorewall.pm:1 ../../standalone/drakgw:1
+#: ../../standalone/drakgw_.c:212
#, c-format
-msgid "Net Device"
-msgstr "Şəbəkə Avadanlığı"
+msgid "Interface %s"
+msgstr "Ara üz %s"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Summary"
-msgstr "İcmal"
+#: ../../standalone/drakgw_.c:220
+msgid "No network adapter on your system!"
+msgstr "Siseminizdə şəbəkə adapteri yoxdur!"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:221
msgid ""
-" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
-"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
+"No ethernet network adapter has been detected on your system. Please run the "
+"hardware configuration tool."
msgstr ""
-" (Paralel Qapılar: /dev/lp0, /dev/lp1, ..., bunlara bərabərdir LPT1:, "
-"LPT2:, ..., 1ci USB çapçı: /dev/usb/lp0, 2ci USB çapçı: /dev/usb/lp1, ...)."
-
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Next"
-msgstr "Sonrakı"
-
-#: ../../bootloader.pm:1
-#, c-format
-msgid "You can't install the bootloader on a %s partition\n"
-msgstr "Sistem yükləyicisini %s bölməsinə qura bilməzsiniz\n"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "CHAP"
-msgstr "CHAP"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Puerto Rico"
-msgstr "Porto Riko"
+"Sisteminizdə şəbəkə kartı tapıla bilməyib.Avadanlığı quran vasitəni işə "
+"salın."
-#: ../../network/network.pm:1
-#, c-format
-msgid "(bootp/dhcp/zeroconf)"
-msgstr "(bootp/dhcp/zeroconf)"
+#: ../../standalone/drakgw_.c:227
+msgid "Network interface"
+msgstr "Şəbəkə ara üzü"
-#: ../../standalone/drakautoinst:1
+#: ../../standalone/drakgw_.c:228
#, c-format
msgid ""
+"There is only one configured network adapter on your system:\n"
"\n"
-"Welcome.\n"
+"%s\n"
"\n"
-"The parameters of the auto-install are available in the sections on the left"
+"I am about to setup your Local Area Network with that adapter."
msgstr ""
+"Sistemnizdə bir dənə qurulmuş şəbəkə adapteri var:\n"
"\n"
-"Xoş Gəldiniz.\n"
+"%s\n"
"\n"
-"Avtomatik qurulumun parametrləri soldakı qisimlərdə mövcuddur"
+"Yerli Şəbəkə adapterinizi qurmaq üzərəyəm?"
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone/drakgw_.c:235
msgid ""
-"package 'ImageMagick' is required to be able to complete configuration.\n"
-"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
-msgstr ""
-"Quraşdırmanı tamamlamaq üçün 'ImageMagick' paketi məcburidir.\n"
-"'ImageMagick' paketini qurmaq üçün \"Oldu\", ləğv etmək üçün \"Ləğv Et\" "
-"düyməsinə basın"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Telnet server"
-msgstr "X verici"
+"Please choose what network adapter will be connected to your Local Area "
+"Network."
+msgstr "Sizi Yerli Şəbəkəyə bağlayacaq adapteri seçin"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Litvanya dili \"number row\" QWERTY"
+#: ../../standalone/drakgw_.c:261
+#, fuzzy
+msgid "Network interface already configured"
+msgstr "Monitor qurulmayıb"
-#: ../../install_any.pm:1
+#: ../../standalone/drakgw_.c:262
#, c-format
msgid ""
-"The following packages will be removed to allow upgrading your system: %s\n"
+"Warning, the network adapter (%s) is already configured.\n"
"\n"
+"Do you want an automatic re-configuration?\n"
"\n"
-"Do you really want to remove these packages?\n"
+"You can do it manually but you need to know what you're doing."
msgstr ""
-"Sisteminizin yenilənməsi üçün bu paketlər silinəcək: %s\n"
-"\n"
-"\n"
-"Bu paketləri həqiqətən də silmək istəyirsiniz?\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Anguilla"
-msgstr "Anquilla"
+#: ../../standalone/drakgw_.c:267
+#, fuzzy
+msgid "Automatic reconfiguration"
+msgstr "Qurulum Tərzi Quraşdırılması"
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Domain"
-msgstr "NIS sahəsi"
+#: ../../standalone/drakgw_.c:267
+msgid "No (experts only)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Antarctica"
-msgstr "Antarktika"
+#: ../../standalone/drakgw_.c:268
+#, fuzzy
+msgid "Show current interface configuration"
+msgstr "İnternet qurğuları"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakgw_.c:269
+#, fuzzy
+msgid "Current interface configuration"
+msgstr "İnternet qurğuları"
+
+#: ../../standalone/drakgw_.c:270
#, c-format
msgid ""
+"Current configuration of `%s':\n"
"\n"
-"- User Files:\n"
+"Network: %s\n"
+"IP address: %s\n"
+"IP attribution: %s\n"
+"Driver: %s"
msgstr ""
-"\n"
-"- İstifadəçi Faylları:\n"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount options"
-msgstr "Bağlama seçimləri"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Jamaica"
-msgstr "Yamayka"
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:283
msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle or DVD players"
+"I can keep your current configuration and assume you already set up a DHCP "
+"server; in that case please verify I correctly read the Network that you use "
+"for your local network; I will not reconfigure it and I will not touch your "
+"DHCP server configuration.\n"
+"\n"
+"The default DNS entry is the Caching Nameserver configured on the firewall. "
+"You can replace that with your ISP DNS IP, for example.\n"
+"\t\t \n"
+"Else, I can reconfigure your interface and (re)configure a DHCP server for "
+"you.\n"
+"\n"
msgstr ""
-"Oracle ya da DVD çalğıcılar kimi tə'minatların istifadəsi üçün xam\n"
-"avadanlıqları blok avadanlıqlara tə'yin et (sabit disk bölmələrikimi)"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Please wait, preparing installation..."
-msgstr "Xahiş edirik, gözləyin, qurulum hazırlanır"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTZ)"
-msgstr "Çex dili (QWERTZ)"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Track network card id (useful for laptops)"
-msgstr "Şəbəkə kartının id'sini izlə (laptoplar üçün faydalıdır)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The port number should be an integer!"
-msgstr "Qapı nömrəsi ədəd olmalıdır!"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "You must choose an image file first!"
-msgstr "Əvvəlcə rəsm faylını seçməlisiniz!"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore from Hard Disk."
-msgstr "Sabit Diskdən Geri Yüklə"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to LVM"
-msgstr "LVMə əlavə et"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server"
-msgstr "DNS verici"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Trinidad and Tobago"
-msgstr "Trinidad və Tobaqo"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "LPD and LPRng do not support IPP printers.\n"
-msgstr "LPD və LPRng IPP çapçılarını dəstəkləmir.\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host name or IP."
-msgstr "Qovşaq adı ya da IP."
+#: ../../standalone/drakgw_.c:290
+#, fuzzy
+msgid "Local Network adress"
+msgstr "şəbəkə kartı tapılmadı"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Edit"
-msgstr "/_Düzəlt"
+#: ../../standalone/drakgw_.c:294
+msgid ""
+"DHCP Server Configuration.\n"
+"\n"
+"Here you can select different options for the DHCP server configuration.\n"
+"If you don't know the meaning of an option, simply leave it as it is.\n"
+"\n"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "simple"
-msgstr "bəsit"
+#: ../../standalone/drakgw_.c:300
+#, fuzzy
+msgid "(This) DHCP Server IP"
+msgstr "CUPS verici IP"
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Clear all"
-msgstr "Hamısını təmizlə"
+#: ../../standalone/drakgw_.c:301
+#, fuzzy
+msgid "The DNS Server IP"
+msgstr "CUPS verici IP"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No test pages"
-msgstr "Sınaq səhifələri yoxdur"
+#: ../../standalone/drakgw_.c:302
+#, fuzzy
+msgid "The internal domain name"
+msgstr "Çap Edicisiz"
-#: ../../lang.pm:1
-#, c-format
-msgid "Falkland Islands (Malvinas)"
-msgstr "Fokland Adaları (Malvin)"
+#: ../../standalone/drakgw_.c:303
+msgid "The DHCP start range"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Adapter %s: %s"
-msgstr "%s Adapteri: %s"
+#: ../../standalone/drakgw_.c:304
+msgid "The DHCP end range"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Boot disk creation"
-msgstr "Açılış disketi yaradılması"
+#: ../../standalone/drakgw_.c:305
+msgid "The default lease (in seconds)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Monday"
-msgstr "Bazar ertəsi"
+#: ../../standalone/drakgw_.c:306
+msgid "The maximum lease (in seconds)"
+msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Unknown model"
-msgstr "Namə'lum model"
+#: ../../standalone/drakgw_.c:307
+msgid "Re-configure interface and DHCP server"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check files/directories writable by everybody."
+#: ../../standalone/drakgw_.c:314
+msgid "The Local Network did not finish with `.0', bailing out."
msgstr ""
-"Əgər bəli seçilidirsə, hərkəs tərəfindən yazıla bilən fayl/cərgələri yoxla."
-#: ../../help.pm:1
+#: ../../standalone/drakgw_.c:325
#, c-format
-msgid "authentication"
-msgstr "səlahiyyətləndirmə"
+msgid "Potential LAN address conflict found in current config of %s!\n"
+msgstr "%s quğusunda dəyəsən bir LAN ünvan çaxışması tapıldı!\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now"
-msgstr "Ehtiyat Nüsxəsini İndi Çıxart"
+#: ../../standalone/drakgw_.c:335
+msgid "Configuring..."
+msgstr "Quraşdırılır..."
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_File"
-msgstr "/_Fayl"
+#: ../../standalone/drakgw_.c:336
+msgid "Configuring scripts, installing software, starting servers..."
+msgstr "Skriptlə qurulur, proqram tə'minatı qurulur, xidmətlər başladılır..."
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakgw_.c:372
#, c-format
-msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
-msgstr "Çapçı Office/OpenOffice.org/GIMP proqramlarından çıxardılır"
+msgid "Problems installing package %s"
+msgstr "%s paketi qurulurkən xəta oldu"
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:505
msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
+"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 ""
-"Linuks 2.2 seriyası çəyirdəklərində atəş divarı\n"
-"qurmaq üçün paket süzülməsini başlat."
+"Hər şey quruldu.\n"
+"İndi isə İnternet bağlantınızı yerli şəbəkədəkı başqa kompüterlər ilə "
+"bölüşdürə bilərsiniz, bunun üçün isə avtomatik şəbəkə quraşdırılması (DHCP) "
+"işlədilir."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Editable"
-msgstr "Dəyişdirilə bilən"
+#: ../../standalone/drakgw_.c:523
+msgid "The setup has already been done, but it's currently disabled."
+msgstr "Quraşdırma artıq qurtarıbdır, amma fəaliyyəti dayandırılıb."
-#: ../../network/ethernet.pm:1
-#, c-format
-msgid "Which dhcp client do you want to use ? (default is dhcp-client)"
-msgstr "Hansı dhcp alıcısını istifadə edəcəksiniz? Əsası dhcp-client'dir"
+#: ../../standalone/drakgw_.c:524
+msgid "The setup has already been done, and it's currently enabled."
+msgstr "Quraşdırma artıq qurtarıbdır və fəaliyyətdədir."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (ISCII-layout)"
-msgstr "Tamil (ISCII-ldüzülüşü)"
+#: ../../standalone/drakgw_.c:525
+msgid "No Internet Connection Sharing has ever been configured."
+msgstr "İnternet Bağlantısı Bölüşdürmə Quraşdırması aparılmayıb."
-#: ../../lang.pm:1
-#, c-format
-msgid "Mayotte"
-msgstr "Mayot"
+#: ../../standalone/drakgw_.c:531
+msgid "Internet connection sharing configuration"
+msgstr "İnternet bağlantısı bölüşdürülməsi quraşdırılması"
-#: ../../security/help.pm:1
+#: ../../standalone/drakgw_.c:539
#, c-format
-msgid "Set shell commands history size. A value of -1 means unlimited."
+msgid ""
+"Welcome to the Internet Connection Sharing utility!\n"
+"\n"
+"%s\n"
+"\n"
+"Click on Configure to launch the setup wizard."
msgstr ""
-"Qabıq əmrlərinin keçmiş böyüklüyünü müəyyən et. -1 qiyməti sonsuz mə'nasına "
-"gəlir."
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "%d KB\n"
-msgstr "%d KB\n"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Creating auto install floppy..."
-msgstr "Avtomatik qurulum disketi hazırlanır"
+"İnternet Bağlantısı Bölüşdürmə vasitəsinə Xoş Gəldiniz!\n"
+"\n"
+"%s\n"
+"\n"
+"Quraşdırma sehirbazını açmaq üçün Quraşdıra tıqlayın."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for scanners ..."
-msgstr "Darayıcılar axtarılır..."
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "group"
+msgstr "İş qrupu"
-#: ../../lang.pm:1
-#, c-format
-msgid "Russia"
-msgstr "Rusiya"
+#: ../../standalone/drakperm_.c:36
+msgid "path"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Partitioning"
-msgstr "Bölmələndirmə"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "permissions"
+msgstr "bölmə %s"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ethernet card(s) detected"
-msgstr "eternet kart tapıldı"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "user"
+msgstr "İstifadəçi adı"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Syslog"
-msgstr "Syslog"
+#: ../../standalone/drakperm_.c:43
+msgid "Up"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create catalog!"
-msgstr "Kataloq yaradıla bilmir!"
+#: ../../standalone/drakperm_.c:44
+#, fuzzy
+msgid "delete"
+msgstr "Sil"
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid ""
-"Complete your security setup with this very easy-to-use software which "
-"combines high performance components such as a firewall, a virtual private "
-"network (VPN) server and client, an intrusion detection system and a traffic "
-"manager."
+#: ../../standalone/drakperm_.c:45
+msgid "edit"
msgstr ""
-"Təhlükəsizlik qurğularınızı bu istifadəsi asan olan və atəş divarı, şəxsi "
-"özəl şəbəkə (VPN) verici və alıcısı, müdaxilə aşkar sistemi və traffik "
-"idarəçisikimi yüksək keyfiyyətli tərkib hissələrini daxil edən tə'minat ilə "
-"sağlamlaşdırın."
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Not enough free space for auto-allocating"
-msgstr "Avtomatik yerləşdirmə üçün kifayət qədər boş sahə yoxdur"
+#: ../../standalone/drakperm_.c:46
+#, fuzzy
+msgid "Down"
+msgstr "Qurtardı"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password"
-msgstr "Ali istifadəçi şifrəsini tə'yin et"
+#: ../../standalone/drakperm_.c:47
+#, fuzzy
+msgid "add a rule"
+msgstr "Modul əlavə et"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable IP spoofing protection"
-msgstr "IP gizləmə qorumasını fəallaşdır"
+#: ../../standalone/drakperm_.c:48
+msgid "select perm file to see/edit"
+msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../standalone/drakperm_.c:51
msgid ""
-"There's no free driver for your sound card (%s), but there's a proprietary "
-"driver at \"%s\"."
+"Drakperm is used to see files to use in order to fix permissions, owners, "
+"and groups via msec.\n"
+"You can also edit your own rules which will owerwrite the default rules."
msgstr ""
-"(%s) səs kartınız üçün pulsuz sürücü mövcud deyil, ancaq \"%s\" ünvanında "
-"lazım olan sürücünü tapa bilərsiniz."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Group :"
-msgstr "Qrup :"
+#: ../../standalone/drakperm_.c:56
+#, fuzzy
+msgid "Add a new rule at the end"
+msgstr "Çap Edicisiz"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
+#: ../../standalone/drakperm_.c:57
+msgid "Edit curent rule"
msgstr ""
-"%s bölməsinin ölçüləndirildikdən sonra bu bölmədəki bütün mə'lumatlar itəcək"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet connection configuration"
-msgstr "İnternet bağlantısının quraşdırılması"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Add the name as an exception to the handling of password aging by msec."
+#: ../../standalone/drakperm_.c:58
+msgid "Up selected rule one level"
msgstr ""
-"msec tərəfindən şifrə vaxtının keçirilməsinə istisna olaraq ad əlavə et."
-
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "USB"
-msgstr "LSB"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels"
-msgstr "Televiziya kanalları axtarılır"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Kernel:"
-msgstr "Çəyirdək:"
-
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_About..."
-msgstr "/_Haqqında..."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bengali"
-msgstr "Benqal dili"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Preference: "
-msgstr "Seçim: "
-
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services: %d activated for %d registered"
-msgstr "Xidmətlər: %d fəal, %d qeydli"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Create a bootdisk"
-msgstr "Açılış disketi yarat"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Solomon Islands"
-msgstr "Solomon Adaları"
-
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please test your mouse:"
-msgstr "Xahiş edirik, siçanınızı sınayın:"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "(module %s)"
-msgstr "(modul %s)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Workgroup"
-msgstr "İş qrupu"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP"
-msgstr "Çapçı qovşaq adı ya da IP"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "down"
-msgstr "qurtardı"
+#: ../../standalone/drakperm_.c:59
+msgid "Down selected rule one level"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Path or Module"
-msgstr "Qovşaq Cığırı ya da Modul"
+#: ../../standalone/drakperm_.c:60
+#, fuzzy
+msgid "Delete selected rule"
+msgstr "Növbəni sil"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer should contain only letters, numbers and the underscore"
-msgstr "Çapçı adı ancaq hərf, rəqəm və alt xətt daxil edə bilər"
+#: ../../standalone/drakperm_.c:224
+msgid "browse"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Show current interface configuration"
-msgstr "Hazırkı ara üz qurğusunu göstər"
+#: ../../standalone/drakperm_.c:231
+#, fuzzy
+msgid "Current user"
+msgstr "İstifadəçini qəbul et"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Add Printer"
-msgstr "Çapçı Əlavə Et"
+#: ../../standalone/drakperm_.c:236
+#, fuzzy
+msgid "Permissions"
+msgstr "Buraxılış: %s\n"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"The argument specifies if clients are authorized to connect\n"
-"to the X server from the network on the tcp port 6000 or not."
+#: ../../standalone/drakperm_.c:237
+msgid "Path"
msgstr ""
-"Bu arqument alıcıların X vericisinə 6000cı qapıdan bağlanma\n"
-"icazələrinin olub olmamasını müəyyən edir."
-
-#: ../../help.pm:1
-#, c-format
-msgid "Development"
-msgstr "İnkişaf"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Done"
-msgstr "Qurtardı"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Web Server"
-msgstr "Veb Vericisi"
+#: ../../standalone/drakperm_.c:238
+#, fuzzy
+msgid "Property"
+msgstr "Qapı"
-#: ../../lang.pm:1
-#, c-format
-msgid "Chile"
-msgstr "Çili"
+#: ../../standalone/drakperm_.c:240
+msgid "sticky-bit"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tDo not include System Files\n"
-msgstr "\tSistem Fayllarını daxil etmə\n"
+#: ../../standalone/drakperm_.c:241
+msgid "Set-UID"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The inkjet printer drivers provided by Lexmark only support local printers, "
-"no printers on remote machines or print server boxes. Please connect your "
-"printer to a local port or configure it on the machine where it is connected "
-"to."
+#: ../../standalone/drakperm_.c:242
+msgid "Set-GID"
msgstr ""
-"Lexmark tərəfindən verilən inkjet çapçı sürücüləri ilə çapçı yalnız yerli, "
-"sistemdə quraşdırıla bilər, yəni şəbəkədəki başqa bir çapçıya bu sürücülərlə "
-"yetişə bilməzsiniz. Xahiş edirik, çapçınızı sisteminizə bağlayın ya da bu "
-"sürücüləri çapçının bağlı olduğu kompüterdə qurun."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakperm_.c:296
msgid ""
-"Your multi-function device was configured automatically to be able to scan. "
-"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
-"scanner when you have more than one) from the command line or with the "
-"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
-"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
-"\" menu. Call also \"man scanimage\" on the command line to get more "
-"information.\n"
-"\n"
-"Do not use \"scannerdrake\" for this device!"
+"Used for directory:\n"
+" only owner of directory or file in this directory can delete it"
msgstr ""
-"Çox-funksiyalı avadanlığınız avtomatik daraya bilmək üçün quraşdırılıb. İndi "
-"siz əmr sətirindən \"scanimage\" ilə (birdən çox darayıcınız varsa,"
-"\"scanimage -d hp:%s\" ilə darayıcınızı bildirin) ya da qrafiki ara üzdə "
-"işləyən\"xscanimage\" ya da \"xsane\" proqramlarıyla darama edə bilərsiniz. "
-"Əgər GIMP işlədirsinizsə, eyni zamanda \"Fayl\"/\"Al\" menyusundan bunu "
-"həyata keçirə bilərsiniz. Ətraflı mə'lumat üçün əmr sətirindəya da fayl "
-"idarəçinizdə \"man scanimage\" əmrini verin.\n"
-"Bu avadanlıq üçün \"scannerdrake\"ni işlətməyin!"
-
-#: ../../any.pm:1
-#, c-format
-msgid "(already added %s)"
-msgstr "(%s artıq əlavə edilmişdir)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation in progress"
-msgstr "Açılış yükləyicisi qurulumu fəaliyyətdədir"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", using command %s"
-msgstr ", %s əmri ilə"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Alt and Shift keys simultaneously"
-msgstr "Eyni zamanda Alt və Shift düymələri"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Flags"
-msgstr "Bayraqlar"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Users"
-msgstr "İstifadəçi əlavə et/sil"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host/network IP address missing."
-msgstr "Qovşaq/şəbəkə IP ünvanı əksikdir."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "weekly"
-msgstr "hər həftə"
-
-#: ../../standalone/logdrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Settings"
-msgstr "Qurğular"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered host/network IP is not correct.\n"
-msgstr "Daxil edilən qovşaq/şəbəkə IP ünvanı düzgün deyil.\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Create/Transfer backup keys for SSH"
-msgstr "SSH üçün ehtiyat açarları yarat/transfer et"
-#: ../../any.pm:1
-#, c-format
-msgid "Here is the full list of available countries"
-msgstr "Bütün mövcud ölkələrinn siyahısı"
+#: ../../standalone/drakperm_.c:297
+#, fuzzy
+msgid "Use owner id for execution"
+msgstr "Avtomatik təsbit işlət"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (A4)"
-msgstr "Alternativ sınaq səhifəsi (A4)"
+#: ../../standalone/drakperm_.c:298
+#, fuzzy
+msgid "Use group id for execution"
+msgstr "Avtomatik təsbit işlət"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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."
+#: ../../standalone/drakperm_.c:299
+msgid "when checked, owner and group won't be changed"
msgstr ""
-"Aşağıdakı siyahıdakı bütün CD'lərə sahib isəniz, OLDU'ya basın.\n"
-"CD'lərin heç birinə sahib deyilsəniz, İMTİNA ET'ə basın.\n"
-"CD'lərdən bə'ziləi əksik isə, onları seçili vəziyyətdən çıxardıb OLDU'ya "
-"basın."
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please"
-msgstr "Xahiş edirik, gözləyin"
+#: ../../standalone/drakperm_.c:304
+#, fuzzy
+msgid "Path selection"
+msgstr "Paket seçkilərini saxla"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "PAP"
-msgstr "PAP"
+#: ../../standalone/drakperm_.c:350
+#, fuzzy
+msgid "user :"
+msgstr "İstifadəçi adı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup user files"
-msgstr "İstifadəçi fayllarının ehtiyat nüsxəsini çıxart"
+#: ../../standalone/drakperm_.c:352
+#, fuzzy
+msgid "group :"
+msgstr "İş qrupu"
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "New"
-msgstr "Yeni"
+#: ../../standalone/draksound_.c:46
+#, fuzzy
+msgid "No Sound Card detected!"
+msgstr "Bağlı deyil"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/draksound_.c:47
msgid ""
-"This is the most crucial decision point for the security of your GNU/Linux\n"
-"system: you have to enter the \"root\" password. \"Root\" is the system\n"
-"administrator and is the only user authorized to make updates, add users,\n"
-"change the overall system configuration, and so on. In short, \"root\" can\n"
-"do everything! That is why you must choose a password that is difficult to\n"
-"guess - DrakX will tell you if the password that you chose too easy. As you\n"
-"can see, you are not forced to enter a password, but we strongly advise you\n"
-"against this. GNU/Linux is just as prone to operator error as any other\n"
-"operating system. Since \"root\" can overcome all limitations and\n"
-"unintentionally erase all data on partitions by carelessly accessing the\n"
-"partitions themselves, it is important that it be difficult to become\n"
-"\"root\".\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. Never write down the \"root\" password -- it makes it far\n"
-"too easy to compromise a system.\n"
+"No Sound Card has been detected on your machine. Please verify that a Linux-"
+"supported Sound Card is correctly plugged in.\n"
"\n"
-"One caveat -- do not make the password too long or complicated because you\n"
-"must be able to remember it!\n"
"\n"
-"The password will not be displayed on screen as you type it in. To reduce\n"
-"the chance of a blind typing error you will need to enter the password\n"
-"twice. If you do happen to make the same typing error twice, this\n"
-"``incorrect'' password will be the one you will have use the first time you\n"
-"connect.\n"
+"You can visit our hardware database at:\n"
"\n"
-"If you wish access to this computer to be controlled by an authentication\n"
-"server, click the \"%s\" button.\n"
"\n"
-"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
-"services, select the appropriate one for \"%s\". If you do not know which\n"
-"one to use, you should ask your network administrator.\n"
-"\n"
-"If you happen to have problems with remembering passwords, if your computer\n"
-"will never be connected to the internet or that you absolutely trust\n"
-"everybody who uses your computer, you can choose to have \"%s\"."
-msgstr ""
-"Bu, GNU/Linuks sisteminizin təhlükəsizliyi üçün ən əsas mərhələdir.\n"
-"\"Ali istifadəçi (root)\" şifərsini daxil edəcəksiniz. \"Ali istifadəçi\" "
-"sistemin\n"
-"idarəçisidir və yalnız o yeniləmələri, istifadəçiləri əlavə edib/silməyi\n"
-"sistemin bütün qurğularını dəyişdirə bilər. Qısaca, \"ali istifadəçi\" hər\n"
-"şeyi edə bilər! Buna görə də tapılması çətin olan bir şifrə seçməlisiniz.\n"
-"DrakX seçdiyiniz şifrənin asan olub olmadığını sizə bildirəcək. Görüdüyünüz\n"
-"kimi, şifrə müəyyən etməkdə məcbur deyilsiniz, yalnız bunu sizə şiddətlə\n"
-"məsləhət etmirik. GNU/Linuks da diqər əməliyyat sistemləri kimi "
-"istifadəçinin\n"
-"xətasından çox tə'sir ala bilər. \"Ali istifadəçi\" bütün həddləri keçərək\n"
-"bütün bölmələrdəki bütün mə'lumatları silə bilər. Ona görə də ali "
-"istifadəçi\n"
-"olma imkanını olduqca çətinləşdirməlisiniz.\n"
-"\n"
-"Şifrəniz ədəd və hərflərin qarışığı olmalıdır və 8 hərfdən qısa "
-"olmamalıdır.\n"
-"Şifrəni heçvaxt başqa bir yerə qeyd etməyin.\n"
-"\n"
-"Yalnız şifrəni çox uzun ya da çətin də seçməyin ona görə ki onu əzbərləmək\n"
-"məcburiyyətindəsiniz!\n"
-"\n"
-"Şifrənizi yazarkən ekranda göstərilməyəcək. Xəta riskini azaltmaq üçün\n"
-"şifrəni iki dəfə daxil edəcəksiniz. Burada diqqətli olun və eyni xətanı\n"
-"iki dəfə etməyin.\n"
-"\n"
-"Əgər bu kompüterə yetişmənin səlahiyyət vericisi tərəfindən idarə "
-"edilməsini\n"
-"istəyirsinizsə, \"%s\" düyməsinə basın.\n"
-"\n"
-"Əgər şəbəkəniz LDAP, NIS, ya da PDC Windows Domain authentication\n"
-"xidmətlərindən birisini işlədirsə, \"%s\" üçün uyğun gələnini seçin. Əgər\n"
-"hansını işlədəcəyinizi bilmirsinizsə, şəbəkə idarəçinizdən soruşun.\n"
-"\n"
-"Əgər şifrələri yadda saxlamaqda çətinlik çəkirsinizsə, internetə heç\n"
-"vaxt bağlanmayacaqsanızsa ya da kompüterini işlədən hamıya e'tibar\n"
-"edirsinizsə \"%s\" seçimini seçə bilərsiniz."
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Name resolution spoofing protection"
-msgstr "Ad həlledilirliyini gizlətmə qoruması"
+"http://www.linux-mandrake.com/en/hardware.php3"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/draksound_.c:54
msgid ""
-"At this point, DrakX will allow you to choose the security level desired\n"
-"for the machine. As a rule of thumb, the security level should be set\n"
-"higher if the machine will contain crucial data, or if it will be a machine\n"
-"directly exposed to the Internet. The trade-off of a higher security level\n"
-"is generally obtained at the expense of ease of use.\n"
"\n"
-"If you do not know what to choose, stay with the default option."
-msgstr ""
-"Bu nöqtədə, DrakX sizə sisteminiz üçün təhlükəsizlik səvissəyini seçmə\n"
-"imkanını təqdim edəcək. Qayda olaraq, əgər kompüter vacib mə'lumat daxil\n"
-"edir ya da internetə birbaşa açıq sistem olacaqsa təhlükəsizlik səviyyəsi\n"
-"yüksək seçilməlidir. Bunun gətirdiyi əlverişsiz şərait isə sistemin "
-"istifadəsinin\n"
-"daha çətin olmasıdır.\n"
"\n"
-"Əgər nə seçəcəyinizi bilmirsinizsə, seçili qurğuları olduğu kimi saxlayın."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Load from floppy"
-msgstr "Disketdən yüklə"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The following printer was auto-detected. "
-msgstr "Aşağıdakı çapçı avtomatik olaraq aşkar edildi."
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Uses command %s"
-msgstr "%s əmrini işlət"
+"\n"
+"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
+"program. Just type \"sndconfig\" in a console."
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot Floppy"
-msgstr "Açılış Disketi"
+#: ../../standalone/draksplash_.c:21
+msgid ""
+"package 'ImageMagick' is required for correct working.\n"
+"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Norwegian"
-msgstr "Norveç dili"
+#: ../../standalone/draksplash_.c:67
+#, fuzzy
+msgid "first step creation"
+msgstr "açılış disketi yaradılması"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for new scanners ..."
-msgstr "Yeni darayıcılar axtarılır..."
+#: ../../standalone/draksplash_.c:70
+#, fuzzy
+msgid "final resolution"
+msgstr "Rezolyusiya"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Apache World Wide Web Server"
-msgstr "Apache World Wide Web Vericisi"
+#: ../../standalone/draksplash_.c:71 ../../standalone/draksplash_.c:163
+#, fuzzy
+msgid "choose image file"
+msgstr "Monitorunuzu seçin"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "stepping of the cpu (sub model (generation) number)"
-msgstr "cpu addımlaması"
+#: ../../standalone/draksplash_.c:72
+#, fuzzy
+msgid "Theme name"
+msgstr "Paylaşdırma adı"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "select path to restore (instead of /)"
-msgstr "geri yüklənəcək cığırı seçin (/ yerinə)"
+#: ../../standalone/draksplash_.c:77
+msgid "Browse"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone/draksplash_.c:87 ../../standalone/draksplash_.c:153
+#, fuzzy
msgid "Configure bootsplash picture"
-msgstr "Açılış rəsmini quraşdır"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Georgia"
-msgstr "Gürcüstan"
+msgstr "Xidmətləri qur"
-#: ../../lang.pm:1
-#, c-format
-msgid "China"
-msgstr "Çin"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Make sure that all your printers are connected and turned on).\n"
-msgstr " (Bütün çapçılarınızın açıq və fəal olduğundan əmin olun).\n"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Reading data of installed printers..."
-msgstr "Qurulu çapçılar haqqında mə'lumat alınır..."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Erase Now "
-msgstr " İndi Sil"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "server"
-msgstr "verici"
-
-#: ../../install_any.pm:1
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "%s sürücüsünə FAT şəkilləndirilmiş bir disket taxın"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the processor has an arithmetic coprocessor"
-msgstr "bəli, işlədicinin arifmetik ko-işlədicisi olduğu mə'nasına gəlir"
-
-#: ../../harddrake/sound.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Please Wait... Applying the configuration"
-msgstr "Xahiş edirik, gözləyin... Qurğular tətbiq edilir"
-
-# 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:1
-#, c-format
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "GRUB emeliyyat sistemi secicisine xos geldiniz!"
-
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SCSI controllers"
-msgstr "SCSI idarəçiləri"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on LPD server \"%s\", printer \"%s\""
-msgstr " \"%s\" LPD vericisi üstündə, \"%s\" çapçısı"
-
-#: ../../standalone/drakedm:1
-#, c-format
-msgid "Choosing a display manager"
-msgstr "Displey idarəçisi seçilir"
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf Host name"
-msgstr "Zeroconf Qovşaq adı"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom setup/crontab entry:"
-msgstr "Xüsusi setup/crontab girişi:"
-
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP ünvanı 1.2.3.4 şəklində olmalıdır"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Configure CUPS printing system"
-msgstr "CUPS çap sistemini quraşdır"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ecuador"
-msgstr "Ekvador"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Add an item"
-msgstr "Üzv əlavə et"
+#: ../../standalone/draksplash_.c:90
+msgid ""
+"x coordinate of text box\n"
+"in number of character"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printers on this machine are available to other computers"
-msgstr "Bu sistemdəki çapçılar diqər sistemlər üçün də açıqdır"
+#: ../../standalone/draksplash_.c:91
+msgid ""
+"y coordinate of text box\n"
+"in number of character"
+msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "China (Hong Kong)"
-msgstr "Honq Konq"
+#: ../../standalone/draksplash_.c:92
+msgid "text width"
+msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "I can't find needed image file `%s'."
-msgstr "Lazım olan `%s' görüntüsü tapıla bilmir."
+#: ../../standalone/draksplash_.c:93
+msgid "text box height"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No sound card detected. Try \"harddrake\" after installation"
-msgstr "Səs kartı tapılmadı. Qurulumdan sonra \"harddrake\"ni işə salın"
+#: ../../standalone/draksplash_.c:94
+msgid ""
+"the progress bar x coordinate\n"
+"of its upper left corner"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:95
msgid ""
-"Invalid port given: %s.\n"
-"The proper format is \"port/tcp\" or \"port/udp\", \n"
-"where port is between 1 and 65535."
+"the progress bar y coordinate\n"
+"of its upper left corner"
msgstr ""
-"Hökmsüz qapı daxil edildi: %s.\n"
-"Düzgün şəkil \"port/tcp\" ya da \"port/udp\"dır, \n"
-"burada qapı 1 və 65535 arası ədəddir."
-#: ../../any.pm:1
-#, c-format
-msgid "Shell"
-msgstr "Qabıq"
+#: ../../standalone/draksplash_.c:96
+msgid "the width of the progress bar"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Sao Tome and Principe"
-msgstr "Sao Tome və Prinsip"
+#: ../../standalone/draksplash_.c:97
+msgid "the heigth of the progress bar"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "PCI"
-msgstr "PCI"
+#: ../../standalone/draksplash_.c:98
+msgid "the color of the progress bar"
+msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Can't login using username %s (bad password?)"
-msgstr "%s istifadəçi adı ilə giriş edilə bilmir (şifrəniz səhvdir?)"
+#: ../../standalone/draksplash_.c:113
+#, fuzzy
+msgid "Preview"
+msgstr "avadanlıq"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Azerbaidjani (latin)"
-msgstr "Azərbaycanca (latın)"
+#: ../../standalone/draksplash_.c:115
+#, fuzzy
+msgid "Save theme"
+msgstr "Sistemi qur"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package not installed"
-msgstr "Paket qurulmayıb"
+#: ../../standalone/draksplash_.c:116
+#, fuzzy
+msgid "Choose color"
+msgstr "Monitorunuzu seçin"
-#: ../../lang.pm:1
-#, c-format
-msgid "American Samoa"
-msgstr "Amerikan Samoa"
+#: ../../standalone/draksplash_.c:119
+msgid "Display logo on Console"
+msgstr ""
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid "Become a MandrakeExpert"
-msgstr "MandrakeExpert olun"
+#: ../../standalone/draksplash_.c:120
+msgid "Make kernel message quiet by default"
+msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../standalone/draksplash_.c:156 ../../standalone/draksplash_.c:321
#, c-format
-msgid "Protocol"
-msgstr "Protokol"
+msgid "This theme haven't yet any bootsplash in %s !"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Copy fonts on your system"
-msgstr "Siseminizdəki yazı növlərini köçürdün"
+#: ../../standalone/draksplash_.c:205
+msgid "saving Bootsplash theme..."
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake help"
-msgstr "Harddrake yardımı"
+#: ../../standalone/draksplash_.c:428
+#, fuzzy
+msgid "ProgressBar color selection"
+msgstr "Çap Edici Bağlantısı"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bogomips"
-msgstr "Boqomiplər"
+#: ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "You must choose an image file first!"
+msgstr "Çap Edici avadanlığı URI"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Mandrake Terminal Server Configuration"
-msgstr "Mandrake Terminal Server Quraşdırılması"
+#: ../../standalone/draksplash_.c:458
+#, fuzzy
+msgid "Generating preview ..."
+msgstr "Avadanlıqlar tanınır..."
-#: ../../standalone/drakbackup:1
+#. -PO First %s is theme name, second %s (in parenthesis) is resolution
+#: ../../standalone/draksplash_.c:506
#, c-format
+msgid "%s BootSplash (%s) preview"
+msgstr ""
+
+#: ../../standalone/drakxtv_.c:46
msgid ""
+"XawTV isn't installed!\n"
"\n"
-" DrakBackup Report Details\n"
"\n"
+"If you do have a TV card but DrakX has neither detected it (no bttv nor "
+"saa7134\n"
+"module in \"/etc/modules\") nor installed xawtv, please send the\n"
+"results of \"lspcidrake -v -f\" to \"install\\@mandrakesoft.com\"\n"
+"with subject \"undetected TV card\".\n"
"\n"
-msgstr ""
"\n"
-" DrakBackup Raportu Təfərruatları\n"
-"\n"
-"\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore all backups"
-msgstr "Bütün ehtiyat nüsxələri geri yüklə"
+"You can install it by typing \"urpmi xawtv\" as root, in a console."
+msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on parallel port #%s"
-msgstr " %s paralel qapısında"
+#: ../../standalone/drakxtv_.c:63
+#, fuzzy
+msgid "Canada (cable)"
+msgstr "Fransızca (Kanada/Quebec)"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Set the password minimum length and minimum number of digit and minimum "
-"number of capitalized letters."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (broadcast)"
msgstr ""
-"Şifrənin minimal uzunluğunu, minimal rəqəm və minimal böyük hərf miqdarını "
-"seçin."
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check open ports."
-msgstr "əgər bəli seçilidirsə, açıq qapıları yoxla."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to erase the media."
-msgstr "Mediyanı silmək bir az vaxt ala bilər."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable-hrc)"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't select/unselect this package"
-msgstr "Bu paketi seçə bilməzsiniz/sistemdən çıxarda bilməzsınız"
+#: ../../standalone/drakxtv_.c:64
+msgid "China (broadcast)"
+msgstr ""
-#: ../../keyboard.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../harddrake/sound.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Warning"
-msgstr "Xəbərdarlıq"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (broadcast)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Other Files:\n"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (cable)"
msgstr ""
-"\n"
-"- Başqa Fayllar:\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name"
-msgstr "Uzaq qovşaq adı"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "East Europe"
+msgstr "Avropa"
-#: ../../any.pm:1
-#, c-format
-msgid "access to X programs"
-msgstr "X proqramlarına yetişmə icazəsi"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "France [SECAM]"
+msgstr "Fransızca"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Computing the size of the Windows partition"
-msgstr "Windows bölməsin böyüklüyü hesablanır"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Ireland"
+msgstr "İzlandiya dili"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Refresh"
-msgstr "/_Yenilə"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "West Europe"
+msgstr "Avropa"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Italy"
-msgstr "İtaliya"
+#: ../../standalone/drakxtv_.c:66
+#, fuzzy
+msgid "Australia"
+msgstr "serial"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cayman Islands"
-msgstr "Kayman Adaları"
+#: ../../standalone/drakxtv_.c:66
+msgid "Newzealand"
+msgstr ""
-#: ../../fs.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "%s ayrılırkən xəta oldu: %s"
+#: ../../standalone/drakxtv_.c:67
+msgid "South Africa"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer"
-msgstr "Çapçı adı"
+#: ../../standalone/drakxtv_.c:68
+msgid "Argentina"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "disable"
-msgstr "passivləşdir"
+#: ../../standalone/drakxtv_.c:69
+msgid "Australian Optus cable TV"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do it!"
-msgstr "Bunu et!"
+#: ../../standalone/drakxtv_.c:102
+msgid ""
+"Please,\n"
+"type in your tv norm and country"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s not responding"
-msgstr "%s cavab vermir"
+#: ../../standalone/drakxtv_.c:104
+msgid "TV norm:"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select model manually"
-msgstr "Modeli əllə seç"
+#: ../../standalone/drakxtv_.c:105
+msgid "Area:"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Format"
-msgstr "Şəkilləndir"
+#: ../../standalone/drakxtv_.c:109
+msgid "Scanning for TV channels in progress ..."
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
+#: ../../standalone/drakxtv_.c:116
+msgid "Scanning for TV channels"
msgstr ""
-"ADSL ilə internetə bağlanmanın ən yaxşı yolu pppoe'dur.\n"
-"Bəzi bağlantılar pptp istifadə edir, çox azı isə dhcp işlədir.\n"
-"Bilmirsiniz isə 'pppop istifadə et'i seçin"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Various"
-msgstr "Müxtəlif"
+#: ../../standalone/drakxtv_.c:120
+#, fuzzy
+msgid "There was an error while scanning for TV channels"
+msgstr "Paketlər qurulurkən bir xəta oldu:"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Zip"
-msgstr "Zip"
+#: ../../standalone/drakxtv_.c:121
+msgid "XawTV isn't installed!"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Alt key"
-msgstr "Sol Alt düyməsi"
+#: ../../standalone/drakxtv_.c:124
+msgid "Have a nice day!"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Load setting"
-msgstr "Qurğunu yüklə"
+#: ../../standalone/drakxtv_.c:125
+msgid "Now, you can run xawtv (under X Window!) !\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakxtv_.c:147
+msgid "No TV Card detected!"
+msgstr ""
+
+#: ../../standalone/drakxtv_.c:148
msgid ""
+"No TV Card has been detected on your machine. Please verify that a Linux-"
+"supported Video/TV Card is correctly plugged in.\n"
"\n"
"\n"
-"Printerdrake could not determine which model your printer %s is. Please "
-"choose the correct model from the list."
-msgstr ""
-"\n"
+"You can visit our hardware database at:\n"
"\n"
-"Printerdrake %s çapçınızın modelini aşkar edə bilmədi. Xahiş edirik, "
-"siyahıdan düzgün modeli seçin."
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Set selected printer as the default printer"
-msgstr "Seçili olan çapçını əsas olaraq tə'yin et"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
"\n"
-"Mark the printers which you want to transfer and click \n"
-"\"Transfer\"."
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-"\n"
-"Transfer etmək istədiyiniz çapçıları işarələyin və \n"
-"\"Transfer Et\" düyməsinə basın."
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ"
-msgstr "PDQ"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Albanian"
-msgstr "Albanca"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lithuania"
-msgstr "Litva"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Compact"
-msgstr "Yığcam"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected model: %s %s"
-msgstr "Aşkar edilən model: %s %s"
-
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid "MandrakeSoft has selected the best software for you"
-msgstr "MandrakeSoft sizin üçün ən yaxşı tə'minatları seçib"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Local files"
-msgstr "Yerli fayllar"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "maybe"
-msgstr "bəlkə"
+#: ../../standalone/harddrake2_.c:17
+#, fuzzy
+msgid "Alternative drivers"
+msgstr "Sınaq səhifəsi çap edilir..."
-#: ../../lang.pm:1
-#, c-format
-msgid "Panama"
-msgstr "Panama"
+#: ../../standalone/harddrake2_.c:18
+msgid "the list of alternative drivers for this sound card"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Can't open %s!"
-msgstr "%s açıla bilmir!"
+#: ../../standalone/harddrake2_.c:20
+msgid "Bus"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:21
msgid ""
-"Your graphic card seems to have a TV-OUT connector.\n"
-"It can be configured to work using frame-buffer.\n"
-"\n"
-"For this you have to plug your graphic card to your TV before booting your "
-"computer.\n"
-"Then choose the \"TVout\" entry in the bootloader\n"
-"\n"
-"Do you have this feature?"
+"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
msgstr ""
-"Görünən odur ki qrafika kartınızın TV-OUT konnektoru var.\n"
-"O, frame-buffer işlədilərək işləməsi üçün quraşdırıla bilər.\n"
-"\n"
-"Bunun üçün qrafika kartınızı kompüterinizi başlatmadan əvvəl Televizorunuz "
-"ilə bağlamalısınız.\n"
-"Daha sonra açılış yükləyicisində \"TVout\" girişini seçin\n"
-"\n"
-"Bu xüsusiyyətə maliksiniz?"
-#: ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Monitor"
-msgstr "Monitor"
+#: ../../standalone/harddrake2_.c:22
+#, fuzzy
+msgid "Channel"
+msgstr "Ləğv et"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to set up printing to a Windows account with password. Due to "
-"a fault in the architecture of the Samba client software the password is put "
-"in clear text into the command line of the Samba client used to transmit the "
-"print job to the Windows server. So it is possible for every user on this "
-"machine to display the password on the screen by issuing commands as \"ps "
-"auxwww\".\n"
-"\n"
-"We recommend to make use of one of the following alternatives (in all cases "
-"you have to make sure that only machines from your local network have access "
-"to your Windows server, for example by means of a firewall):\n"
-"\n"
-"Use a password-less account on your Windows server, as the \"GUEST\" account "
-"or a special account dedicated for printing. Do not remove the password "
-"protection from a personal account or the administrator account.\n"
-"\n"
-"Set up your Windows server to make the printer available under the LPD "
-"protocol. Then set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+#: ../../standalone/harddrake2_.c:22
+msgid "EIDE/SCSI channel"
msgstr ""
-"Şifrəli Windows hesabı üçün çap sistemini quraşdırmaq üzrəsiniz. Samba "
-"alıcısındakı bir xətaya görə Samba çap vəzifəsini Windows vericisinə "
-"daşırkən şifrəni xam mətn formatında ötürür. Ona görə də bu sistemdəkihər "
-"istifadəçi \"ps auxwww\" kimi əmrlə şifrənin ekranda göstərilməsini zorlaya "
-"bilər.\n"
-"\n"
-"Sizə bu alternativləri işlətməyi məsləhət edirik: (bütün hallarda "
-"Windowsvericinizə yalnız yerli şəbəkənizdəki sistemlərin yetişmə səlahiyyəti "
-"olmasındanəmin olun, misal üçün atəş divarı mə'nasında):\n"
-"\n"
-"Windows vericinizdə şifrəsi olmayan hesabı işlədin, misal üçün \"GUEST\" ya "
-"daçap üçün xüsusuiylə yaradılmış başqa bir hesab. Şəxsi və administrator "
-"hesablarının şifrəsini qətiyyən silməyin.\n"
-"\n"
-"Windows vericinizi, çapçını LPD protokolu altında mövcud etməsi üçün "
-"quraşdırın.Daha sonra bu sistemdə, Printerdrake'də bağlantı növü \"%s\" olan "
-"çap sisteminiquraşdırın.\n"
-"\n"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "65 thousand colors (16 bits)"
-msgstr "65 min rəng (16 bits)"
+#: ../../standalone/harddrake2_.c:23
+msgid "Bogomips"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/harddrake2_.c:23
msgid ""
-"\n"
-"- Save on Hard drive on path: %s\n"
+"The GNU/Linux kernel needs to do run a calculation loop at boot time\n"
+"\t to initialize a timer counter. Its result is stored as bogomips as a way "
+"to \"benchmark\" the cpu."
msgstr ""
-"\n"
-"- Sabit diskdəki cığıra qeyd et: %s\n"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove fonts on your system"
-msgstr "Siseminizdəki yazı növlərini silin"
+#: ../../standalone/harddrake2_.c:26
+#, fuzzy
+msgid "Bus identification"
+msgstr "Tanıtma"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../standalone/harddrake2_.c:27
msgid ""
-"Warning, the network adapter (%s) is already configured.\n"
-"\n"
-"Do you want an automatic re-configuration?\n"
-"\n"
-"You can do it manually but you need to know what you're doing."
+"- PCI and USB devices: this list the vendor, device, subvendor and subdevice "
+"PCI/USB ids"
msgstr ""
-"Diqqət, (%s) şəbəkə avadanlığı onsuzda quraşdırılıb.\n"
-"\n"
-"Onun avtomatik yenidən quraşdırılmasını istəyirsiniz?\n"
-"\n"
-"Bunu əllə də edə bilərsiniz, yalnız nə etdiyinizi bilməlisiniz."
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphical interface at startup"
-msgstr "X ilə Açılış"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " adsl"
-msgstr " adsl"
-
-#: ../../raid.pm:1
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "%d səviyyə RAID üçün çatmayan sayda disk bölməsi\n"
+#: ../../standalone/harddrake2_.c:29
+msgid "Location on the bus"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "format of floppies supported by the drive"
-msgstr "sürücü tərəfindən dəstəklənən disket şəkli"
+#: ../../standalone/harddrake2_.c:30
+msgid ""
+"- pci devices: this gives the PCI slot, device and function of this card\n"
+"- eide devices: the device is either a slave or a master device\n"
+"- scsi devices: the scsi bus and the scsi device ids"
+msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy failed, file %s not found"
-msgstr "Firmware köçürülməsi bacarılmadı, %s faylı tapılmadı"
+#: ../../standalone/harddrake2_.c:33
+#, fuzzy
+msgid "Cache size"
+msgstr "parça böyüklüyü"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: true"
-msgstr "yerli qurğu: düz"
+#: ../../standalone/harddrake2_.c:33
+msgid "Size of the (second level) cpu cache"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The following printers are configured. Double-click on a printer to change "
-"its settings; to make it the default printer; or to view information about "
-"it."
+#: ../../standalone/harddrake2_.c:34
+msgid "Coma bug:"
msgstr ""
-"Aşağıdakı çapçılar quraşdırılıb. Qurğularını dəyişdirmək üçün, mə'lumatı "
-"görmək üçün ya da onu əsas çapçı seçmək üçün çapçıya cüt tıqlayın."
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connected"
-msgstr "Bağlandı"
+#: ../../standalone/harddrake2_.c:34
+msgid "Does this cpu has Cyrix 6x86 Coma bug ?"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Macedonian"
-msgstr "Makedoniya dili"
+#: ../../standalone/harddrake2_.c:35
+msgid "Cpuid family"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mali"
-msgstr "Mali"
+#: ../../standalone/harddrake2_.c:35
+msgid "Family of the cpu (eg: 6 for i686 class)"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Bridges and system controllers"
-msgstr "Körpülər və sistem idarəçiləri"
+#: ../../standalone/harddrake2_.c:36
+#, fuzzy
+msgid "Cpuid level"
+msgstr "Təhlükəsizlik səviyyəsinin quraşdırılması"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Save"
-msgstr "/Fayl/_Qeyd Et"
+#: ../../standalone/harddrake2_.c:36
+msgid "Information level that can be obtained through the cpuid instruction"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "No details"
-msgstr "Təfsilatsız"
+#: ../../standalone/harddrake2_.c:37
+msgid "Frequency (MHz)"
+msgstr ""
-#: ../../pkgs.pm:1
-#, c-format
-msgid "very nice"
-msgstr "çox ə'la"
+#: ../../standalone/harddrake2_.c:37
+msgid ""
+"The cpu frequency in Mhz (Mega herz which in first approximation may be "
+"coarsely assimilated to number of instructions the cpu is able to execute "
+"per second)"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Preview"
-msgstr "Nümayiş"
+#: ../../standalone/harddrake2_.c:38
+msgid "This field describes the device"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Remote Control"
-msgstr "Uzaqdan İdarə"
+#: ../../standalone/harddrake2_.c:39
+#, fuzzy
+msgid "Old device file"
+msgstr "Fayl seç"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select media for backup..."
-msgstr "Ehtiyat nüsxəsi alınacaq mediyanı seçin..."
+#: ../../standalone/harddrake2_.c:40
+msgid "old static device name used in dev package"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Wrong email"
-msgstr "Səhv epoçt"
+#: ../../standalone/harddrake2_.c:41
+#, fuzzy
+msgid "New devfs device"
+msgstr "Keçit avadanlığı"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 verici: %s\n"
+#: ../../standalone/harddrake2_.c:42
+msgid "new dinamic device name generated by incore kernel devfs"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Allow Thin Clients"
-msgstr "Zəyif Alıcılara İcazə Ver"
+#: ../../standalone/harddrake2_.c:43
+#, fuzzy
+msgid "Module"
+msgstr "Siçan"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Gürcü dili (\"Rus\" sırası)"
+#: ../../standalone/harddrake2_.c:43
+msgid "the module of the GNU/Linux kernel that handle that device"
+msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Options"
-msgstr "/_Seçimlər"
+#: ../../standalone/harddrake2_.c:44
+msgid "CPU flags reported by the kernel"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Your printer model"
-msgstr "Çapçınızın modeli"
+#: ../../standalone/harddrake2_.c:44
+msgid "Flags"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"(WARNING! You're using XFS for your root partition,\n"
-"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
-"because XFS needs a very large driver)."
+#: ../../standalone/harddrake2_.c:45
+msgid "Fdiv bug"
msgstr ""
-"\n"
-"\n"
-"(XƏBƏRDARLIQ! Kök bölməniz üçün XFS işlədirsiniz,\n"
-"1.44 Mb'lıq disket üstündə açılış disketi yarada bilməyəcəksiniz,\n"
-"ona görə ki XFS daha böyük disk həcmi stəyir)."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/harddrake2_.c:46
msgid ""
-"\n"
-"- Delete hard drive tar files after backup.\n"
+"Early Intel Pentium chips manufactured have a bug in their floating point "
+"processor which did not achieve the attended precision when performing a "
+"Floating point DIVision (FDIV)"
msgstr ""
-"\n"
-"- Ehtiyatlamadan sonra sabit diskdəki tar fayllarını sil.\n"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"No CD or DVD image found, please copy the installation program and rpm files."
+#: ../../standalone/harddrake2_.c:49
+msgid "Is FPU present"
msgstr ""
-"Heç bir CD ya da DVD görünüşü tapıla bilmədi, xahiş edirik, qurulum "
-"proqramını və rpm fayllarını köçürün."
-#: ../advertising/04-configuration.pl:1
-#, c-format
-msgid "Mandrake's multipurpose configuration tool"
-msgstr "Mandrakenin çox məqsədli quraşdırma vasitəsi"
+#: ../../standalone/harddrake2_.c:49
+msgid "yes means the processor has an arithmetic coprocessor"
+msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Save"
-msgstr "Qeyd Et"
+#: ../../standalone/harddrake2_.c:50
+msgid "Does FPU have an irq vector"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is unsupported"
-msgstr "%s dəstəklənmir"
+#: ../../standalone/harddrake2_.c:50
+msgid "yes means the arithmetic coprocessor has an exception vector attached"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Load the drivers for your usb devices."
-msgstr "USB avadanlığınız üçün sürücüləri yükləyin."
+#: ../../standalone/harddrake2_.c:51
+msgid "Early pentium were buggy and freezed when decoding the F00F bytecode"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Disk"
-msgstr "Disk"
+#: ../../standalone/harddrake2_.c:51
+msgid "F00f bug"
+msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter a printer device URI"
-msgstr "Çapçı avadanlığı URI'sini girin"
+#: ../../standalone/harddrake2_.c:52
+msgid "Halt bug"
+msgstr ""
-#: ../advertising/01-thanks.pl:1
-#, c-format
+#: ../../standalone/harddrake2_.c:53
msgid ""
-"The success of MandrakeSoft is based upon the principle of Free Software. "
-"Your new operating system is the result of collaborative work of the "
-"worldwide Linux Community."
+"Some of the early i486DX-100 chips cannot reliably return to operating mode "
+"after the \"halt\" instruction is used"
msgstr ""
-"MandrakeSoft'un müvəffəqiyyəti Sərbəst Tə'minat prinsipinə bağlıdır. Yeni "
-"əməliyyat sisteminiz ümumdünya Linuks Cəmiyyətinin birgə işinin nəticəsidir."
-#: ../../lang.pm:1
-#, c-format
-msgid "Israel"
-msgstr "İsrail"
+#: ../../standalone/harddrake2_.c:55
+#, fuzzy
+msgid "Floppy format"
+msgstr "Şəkilləndir"
-#: ../../lang.pm:1
-#, c-format
-msgid "French Guiana"
-msgstr "Fransız Gvineyası"
+#: ../../standalone/harddrake2_.c:55
+msgid "Format of floppies the drive accept"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "default:LTR"
-msgstr "default:LTR"
+#: ../../standalone/harddrake2_.c:56
+#, fuzzy
+msgid "Level"
+msgstr "səviyyə"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A command line must be entered!"
-msgstr "Əmr sətiri daxil edilməlidir!"
+#: ../../standalone/harddrake2_.c:56
+msgid "Sub generation of the cpu"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select user manually"
-msgstr "İstifadəçiləri əllə seç"
+#: ../../standalone/harddrake2_.c:57
+msgid "Media class"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer printer configuration"
-msgstr "Çapçı qurğularını transfer et"
+#: ../../standalone/harddrake2_.c:57
+msgid "class of hardware device"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you want to enable printing on the printers mentioned above?\n"
-msgstr "Yuxarıdakı çapçılar ilə çap etməyi fəallaşdırmaq istəyirsiniz?\n"
+#: ../../standalone/harddrake2_.c:58 ../../standalone/harddrake2_.c:59
+#, fuzzy
+msgid "Model"
+msgstr "Siçan"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of suid root files"
-msgstr "suid ali istifadəçi fayllarının əlavələrini/silinənlərini yoxla"
+#: ../../standalone/harddrake2_.c:58
+#, fuzzy
+msgid "hard disk model"
+msgstr "Kart mem (DMA)"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"For this to work for a W2K PDC, you will probably need to have the admin "
-"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
-"add and reboot the server.\n"
-"You will also need the username/password of a Domain Admin to join the "
-"machine to the Windows(TM) domain.\n"
-"If networking is not yet enabled, Drakx will attempt to join the domain "
-"after the network setup step.\n"
-"Should this setup fail for some reason and domain authentication is not "
-"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
-"Domain, and Admin Username/Password, after system boot.\n"
-"The command 'wbinfo -t' will test whether your authentication secrets are "
-"good."
+#: ../../standalone/harddrake2_.c:59
+msgid "Generation of the cpu (eg: 8 for PentiumIII, ...)"
msgstr ""
-"W2K PDC üçün bunun işləməsi üçün, idarəçi C:\\>net localgroup \"Pre-Windows "
-"2000 Compatible Access\" everyone /əmrini verib vericini yenidən "
-"başlatmalıdır.\n"
-"Onun, eyni zamanda sistemi Windows(TM) domeninə calamaq üçün Domen "
-"İdarəçisinin istifadəçi adı/şifrəsinə ehtiyacı olacaq.\n"
-"Əgər şəbəkə hələ quraşdırılmayıbsa DrakX şəbəkəni quraşdırdıqdan sonra "
-"domenə calama üçün cəhd edəcək.\n"
-"Əgər bu qurğu ya da domen səlahiyyətləndirilməsi işləməzsə, sistemin yenidən "
-"başladılmasından sonra Windows(tm) Domeninizi və İdarəçi istifadəçi adı/"
-"şifrəsini işlədərək'smbpasswd -j DOMEN -U İSTİFADƏÇİ%%ŞİFRƏ' əmrini icra "
-"edin.\n"
-"'wbinfo -t' əmri səlahiyyət sirrlərinin düzgün olub olmamasını yoxlayacaq."
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "%s (Port %s)"
-msgstr "%s (Qapı %s)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use network connection to backup"
-msgstr "Ehtiyat nüsxəsi almaq üçün şəbəkə bağlantısını işlət"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Kernel version"
-msgstr "Çəyirdək buraxılışı"
+#: ../../standalone/harddrake2_.c:60
+#, fuzzy
+msgid "Model name"
+msgstr "Modul adı"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"It is now time to specify which programs you wish to install on your\n"
-"system. There are thousands of packages available for Mandrake Linux, and\n"
-"to make it simpler to manage the packages have been placed into groups of\n"
-"similar applications.\n"
-"\n"
-"Packages are sorted into groups corresponding to a particular use of your\n"
-"machine. Mandrake Linux has four predefined installations available. You\n"
-"can think of these installation classes as containers for various packages.\n"
-"You can mix and match applications from the various groups, so a\n"
-"``Workstation'' installation can still have applications from the\n"
-"``Development'' group installed.\n"
-"\n"
-" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
-"more of the applications that are in the workstation group.\n"
-"\n"
-" * \"%s\": if plan on using your machine for programming, choose the\n"
-"appropriate packages from that group.\n"
-"\n"
-" * \"%s\": if your machine is intended to be a server, select which of the\n"
-"more common services you wish to install on your machine.\n"
-"\n"
-" * \"%s\": this is where you will choose your preferred graphical\n"
-"environment. At least one must be selected if you want to have a graphical\n"
-"interface available.\n"
-"\n"
-"Moving the mouse cursor over a group name will display a short explanatory\n"
-"text about that group. If you unselect all groups when performing a regular\n"
-"installation (as opposed to an upgrade), a dialog will pop up proposing\n"
-"different options for a minimal installation:\n"
-"\n"
-" * \"%s\": install the minimum number of packages possible to have a\n"
-"working graphical desktop.\n"
-"\n"
-" * \"%s\": installs the base system plus basic utilities and their\n"
-"documentation. This installation is suitable for setting up a server.\n"
-"\n"
-" * \"%s\": will install the absolute minimum number of packages necessary\n"
-"to get a working Linux system. With this installation you will only have a\n"
-"command line interface. The total size of this installation is about 65\n"
-"megabytes.\n"
-"\n"
-"You can check the \"%s\" box, which is useful if you are familiar with the\n"
-"packages being offered or if you want to have total control over what will\n"
-"be installed.\n"
-"\n"
-"If you started the installation in \"%s\" mode, you can unselect all groups\n"
-"to avoid installing any new package. This is useful for repairing or\n"
-"updating an existing system."
+#: ../../standalone/harddrake2_.c:60
+msgid "Official vendor name of the cpu"
msgstr ""
-"İndi sisteminizə qurmaq istədiyiniz proqramları müəyyən etmə vaxtıdır.\n"
-"Mandrake Linuks daxilində minlərcə proqram mövcuddur və idarələrinin\n"
-"asan olması üçün onlar bənzər paketlər qruplarına ayrılıblar.\n"
-"\n"
-"Paketlər sisteminizin xüsusui istifadə sahəsinə görə qruplanıb. Mandrake\n"
-"Linuksda dörd əvvəldən müəyyən edilmiş qurulum növü mövcuddur.\n"
-"Yalnız siz bu qrupları yenə də qarışdıra bilərsiniz və istədiyiniz əlavə.\n"
-"proqramları seçə bilərsiniz. Misal üçün ''İş Stansiyası'' qurulumu\n"
-"``İnkişaf'' qurulumundakı proqramları daxil edə bilər.\n"
-"\n"
-" * \"%s\": əgər sisteminiz iş stansiyası olaraq istifadə ediləcəksə, bu\n"
-"qrupda yer alan bir ya da daha çox proqramı seçin.\n"
-"\n"
-" * \"%s\": əgər sisteminizi proqramlaşdırma və inkişaf üçün işlədəcəksəniz,\n"
-"bu qrupdakı proqramları seçə bilərsiniz.\n"
-"\n"
-" * \"%s\": əgər sisteminiz verici olacaqsa, sisteminizə hansı xidmətləri\n"
-"qurmaq istədiyinizi buradan seçin.\n"
-"\n"
-" * \"%s\": qrafiki istifadəçi mühidini burada seçəcəksiniz. Əgər "
-"sisteminizdə\n"
-"qrafiki mühit işlətmək istəyirsinizsə ən az birisi seçilməlidir.\n"
-"\n"
-"Siçanın oxu qrup adının üstünə gələndə o qrup haqqında qısa izahat\n"
-"göstəriləcək. Əgər sistemi qurarkən bu qruplardan heç birini seçməsəniz\n"
-"minimal qurulum üçün fərqli seçimləri təqdim edən bir pəncərə\n"
-"göstəriləcək:\n"
-"\n"
-" * \"%s\": minimal ədəddə paket qur, işləyən qrafiki ara üzə malik\n"
-"olma mümkündür.\n"
-"\n"
-" * \"%s\": sistem bazası və əsas tə'minatlar və sənədləri qurulacaq.\n"
-"Bu qurulum növü verici quraşdırmaq üçün uyğundur.\n"
-"\n"
-" * \"%s\": işləyən Linuks sistemi üçün lazım olan ən minimal paketlər\n"
-"qurulacaq. Bu qurulum ilə yalnız əmr sətirinə malik olacaqsınız.\n"
-"Qurulumun ümumi böyüklüyü təqribən 65 meqabayt olacaq.\n"
-"\n"
-"Təklif edilən paketləri tanıyırsınızsa ya da qurulan hər paket üstündə\n"
-"tam idarə sahibi olmaq istəyirsinizsə\"%s\" qutusunu işarələyə bilərsiniz\n"
-"\n"
-"Əgər qurulumu \"%s\" modunda başlatmışsınızsa, yeni paketlərin\n"
-"qurulmasının qabağını almaq üçün bütün qrupların seçimini silə\n"
-"bilərsiniz. Bu əsasən sistem tə'mir edilirkən ya da yenilənirkən\n"
-"sərfəlidir."
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Accept user"
-msgstr "İstifadəçini qəbul et"
+#: ../../standalone/harddrake2_.c:61
+#, fuzzy
+msgid "Number of buttons"
+msgstr "2 düyməli"
-#: ../../help.pm:1 ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server"
-msgstr "Verici"
+#: ../../standalone/harddrake2_.c:62
+#, fuzzy
+msgid "Name"
+msgstr "Ad: "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Shift key"
-msgstr "Sol Shift düyməsi"
+#: ../../standalone/harddrake2_.c:63
+#, fuzzy
+msgid "network printer port"
+msgstr "Şəbəkə Çap Edicisi (soket) "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " local network"
-msgstr " yerli şəbəkə"
+#: ../../standalone/harddrake2_.c:64
+msgid "Processor ID"
+msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Bad choice, try again\n"
-msgstr "Xətalı seçim, yenidən sınayın\n"
+#: ../../standalone/harddrake2_.c:64
+msgid "the number of the processor"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Syslog reports to console 12"
-msgstr "Sysloq 12 konsola raport göndərir"
+#: ../../standalone/harddrake2_.c:65
+#, fuzzy
+msgid "Model stepping"
+msgstr "Şəkilləndirilir"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search new servers"
-msgstr "Yeni vericiləri axtar"
+#: ../../standalone/harddrake2_.c:65
+msgid "Stepping of the cpu (sub model (generation) number)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Heard and McDonald Islands"
-msgstr "Hird Adası və Mkdonald Adaları"
+#: ../../standalone/harddrake2_.c:66
+#, fuzzy
+msgid "The type of bus on which the mouse is connected"
+msgstr "Siçanınızın bağlı olduğu serial Qapıyı seçin."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No alternative driver"
-msgstr "Alternativ sürücü yoxdur"
+#: ../../standalone/harddrake2_.c:67
+msgid "the vendor name of the device"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to expert mode"
-msgstr "Mütəxəssis moduna keç"
+#: ../../standalone/harddrake2_.c:68
+msgid "the vendor name of the processor"
+msgstr ""
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on this machine)"
-msgstr "(bu sistem üstündə)"
+#: ../../standalone/harddrake2_.c:82
+#, fuzzy
+msgid "/_Quit"
+msgstr "Çıx"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway address should be in format 1.2.3.4"
-msgstr "Şəbəkə keçişi ünvanı 1.2.3.4 şəklində olmalıdır"
+#: ../../standalone/harddrake2_.c:83
+#, fuzzy
+msgid "/Autodetect _printers"
+msgstr "Avtomatik təsbit işlət"
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"\"%s\" based winmodem detected, do you want to install needed software ?"
-msgstr ""
-"\"%s\" əsaslı winmodem aşkar edildi, lazım olan tə'minatı qurmaq "
-"istəyirsiniz?"
+#: ../../standalone/harddrake2_.c:83 ../../standalone/harddrake2_.c:85
+#: ../../standalone/logdrake_.c:81
+msgid "/_Options"
+msgstr "/_Seçənəklər"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking at packages already installed..."
-msgstr "Qurulu olan paketlər yoxlanır..."
+#: ../../standalone/harddrake2_.c:85
+#, fuzzy
+msgid "/Autodetect _modems"
+msgstr "Avtomatik təsbit işlət"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Differential Backups"
-msgstr "Diferensial Ehtiyatları İşlət"
+#: ../../standalone/harddrake2_.c:87 ../../standalone/harddrake2_.c:89
+#: ../../standalone/harddrake2_.c:100 ../../standalone/harddrake2_.c:102
+#: ../../standalone/logdrake_.c:83
+msgid "/_Help"
+msgstr "/_Kömək"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Driver"
-msgstr "Sürücü"
+#: ../../standalone/harddrake2_.c:89
+#, fuzzy
+msgid "/_Help..."
+msgstr "/_Kömək"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
+#: ../../standalone/harddrake2_.c:92
+msgid "Harddrake help"
msgstr ""
-"Linuxconf sistem qurğularınızı idarə edən proqramları,\n"
-"müxtəlif vəzifələri açılışda icra edər."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVD-R device"
-msgstr "DVD-R avadanlığı"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on remote lpd server"
-msgstr "Uzaq lpd vericisi üstündəki çapçı"
-
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/harddrake2_.c:93
msgid ""
-"Before installing any fonts, be sure that you have the right to use and "
-"install them on your system.\n"
+"Description of the fields:\n"
"\n"
-"-You can install the fonts the normal way. In rare cases, bogus fonts may "
-"hang up your X Server."
msgstr ""
-"Yazı növlərini normal yolla qura bilərsiniz. Çox nadir də olsa, saxta və "
-"qondarma yazı növləri\n"
-"X Vericinizi dondura bilər. Bu vəziyyətdə, Ctrl+Alt+Backspace düymələrinə "
-"eyni anda basın."
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:96
msgid ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
-"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
-"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
-"to hold this information.\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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
-"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
-"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
-"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
+"Once you've selected a device, you'll be able to see explanations on fields "
+"displayed on the right frame (\"Information\")"
msgstr ""
-"Yaboot NewWorld Macintosh avadalığı üçün açılış idarəçisidir. Ayrıca\n"
-"GNU/Linuks, MacOS, və ya MacOSX sistemlərini kompüterinizdə varsa, \n"
-"açacaqdır.\n"
-"Normalda, bu əməliyyat sistemləri düzgün tapılıb qurula bilərlər\n"
-"Əgər belə olmazsa, bu ekrandan əllə lazımi qurğuları girə bilərsiniz.\n"
-"Düzgün parametrləri girib girmədiyinizi yaxşıca yoxlayın.\n"
-"\n"
-"Yaboot ana seçimləri:\n"
-"\n"
-" * Init İsmarışı: açılışdan əvvəl göstərilən sadə bir ismarış.\n"
-"\n"
-"\n"
-" * Açılış Avadanlığı: GNU/Linuksu açmaq üçün lazım olan mə'lumatı hara\n"
-"yerləşdirmək istədiyinizi bildirir. Ümumiyyətlə bu mə'lumatı daha əvvəl \n"
-"\"bootstrap\" quraşdırılması sırasında bildirmiş olacaqsınız.\n"
-"\n"
-" * Açıq Firmware Gecikməsi: LILO'dan fərqli olaraq, yaboot'da iki dənə "
-"gecikmə var. Birinci gecikmə saniyələrlə ölçülür və bu arada siz\n"
-"CD, OF açılışı, MacOS və ya Linuks arasında seçki aparmalısınız.\n"
-"\n"
-" * Çəyirdək Açılış Vaxt Dolması: Bu vaxt dolması LILO açılış gecikməsinə\n"
-"uyğun gəlir. Linuksu seçdikdən sonra ana çəyirdək parametri olaraq bu\n"
-"gecikmə 0.1 saniyə olaraq qurulu olacaqdır.\n"
-"\n"
-" * CD Açılışı Fəallaşdırılsın?: Bu seçimlə CD'dən açılışı timsal edən "
-"``C'' \n"
-"hərfini ilk açılışda seçə biləcəksiniz.\n"
-"\n"
-" * OF Açılışı Fəallaşdırılsın?: Bu seçimlə OF'dən (Open Firmware) açılışı\n"
-"timsal edən 'N' hərfini ilk açılışda seçə biləcəksiniz.\n"
-"\n"
-" * Ana ƏS: OF gecikməsi müddəti dolduğu vaxt hansı əməliyyat sisteminin \n"
-"açılacağını göstərir."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wednesday"
-msgstr "Çərşənbə"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Germany"
-msgstr "Almanya"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Austria"
-msgstr "Avstriya"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "No mouse"
-msgstr "Siçansız"
+#: ../../standalone/harddrake2_.c:96
+#, fuzzy
+msgid "Select a device !"
+msgstr "Ekran kartınızı seçin"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Choose your CD/DVD media size (MB)"
-msgstr "CD/DVD mediyanızın böyüklüyünü (MB) seçin"
+#: ../../standalone/harddrake2_.c:100
+msgid "/_Report Bug"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check permissions of files in the users' home"
-msgstr "İstifadəçilərin ev cərgələrindəki faylların səlahiyyətlərini yoxla"
+#: ../../standalone/harddrake2_.c:102
+#, fuzzy
+msgid "/_About..."
+msgstr "/Kömək/_Haqqında..."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Run \"sndconfig\" after installation to configure your sound card"
+#: ../../standalone/harddrake2_.c:104
+msgid "About Harddrake"
msgstr ""
-"Qurulumdan sonra səs kartınızı qurğulamaq üçün \"sndconfig\" əmrini icra edin"
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Collapse Tree"
-msgstr "Ağacı Bağla"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Auto Install Configurator"
-msgstr "Avtomatik Qurulum Quraşdırıcısı"
+#: ../../standalone/harddrake2_.c:105
+msgid ""
+"This is HardDrake, a Mandrake hardware configuration tool.\n"
+"Version:"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure networking"
-msgstr "Şəbəkənin quraşdırılması"
+#: ../../standalone/harddrake2_.c:106
+#, fuzzy
+msgid "Author:"
+msgstr "Avtomatik yoxla"
-#: ../../any.pm:1
-#, c-format
-msgid "Where do you want to install the bootloader?"
-msgstr "Sistem yükləyicisini hara qurmaq istəyirsiniz?"
+#: ../../standalone/harddrake2_.c:113
+#, fuzzy
+msgid "Detection in progress"
+msgstr "%s qapısında tapıldı"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Your choice of preferred language will affect the language of the\n"
-"documentation, the installer and the system in general. Select first the\n"
-"region you are located in, and then the language you speak.\n"
-"\n"
-"Clicking on the \"%s\" button will allow you to select other languages to\n"
-"be installed on your workstation, thereby installing the language-specific\n"
-"files for system documentation and applications. For example, if you will\n"
-"host users from Spain on your machine, select English as the default\n"
-"language in the tree view and \"%s\" in the Advanced section.\n"
-"\n"
-"Note that you're not limited to choosing a single additional language. You\n"
-"may choose several ones, or even install them all by selecting the \"%s\"\n"
-"box. Selecting support for a language means translations, fonts, spell\n"
-"checkers, etc. for that language will be installed. Additionally, the\n"
-"\"%s\" checkbox allows you to force the system to use unicode (UTF-8). Note\n"
-"however that this is an experimental feature. If you select different\n"
-"languages requiring different encoding the unicode support will be\n"
-"installed anyway.\n"
-"\n"
-"To switch between the various languages installed on the system, you can\n"
-"launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n"
-"language used by the entire system. Running the command as a regular user\n"
-"will only change the language settings for that particular user."
-msgstr ""
-"Seçdiyiniz dil, sənədlər , qurulum və ümumi sistemə tə'sir edəcəkdir.\n"
-"İlk olaraq qaldığınız yerin coğrafi bölgəsini seçin, daha sonra\n"
-"istifadə etdiyiniz dili seçin.\n"
-"\"%s\" düyməsi əlavə dilləri seçmə imkanı verəcəkdir. Bu imkan\n"
-"fərqli bir dili də eyni zamanda istifadə etmə imkanı verəcək. Bu qurğunu\n"
-"\"%s\" ətraflı menyusundan həyata keçirə bilərsiniz.\n"
-"Qeyd: Əlavə dil seçməkdə bir dil ilə məhdud deyilsiniz. \"%s\" "
-"qutusundanistədiyiniz qədər dil seçə bilərsiniz. \n"
-"Bir dil seçimi bərabərində tərcümələr, yazı növləri və\n"
-"imla yoxlayıcıları kimi bə'zi üstünlükləri gətirəcəkdir.\n"
-"Ayrıca \"%s\" qutusundan sistemi UTF-8 (yunikod) kodlamasını işlətmək\n"
-"üçün zorlaya bilərsiniz.\n"
-"Qurduğunuz dillər arasında keçiş etmək üçün ali istifadəçi səlahiyyətləri\n"
-"ilə konsolda \"/usr/sbin/localedrake\" əmrini verə bilər ya da menyunuzdan\n"
-" \"localedrake\"'i seçərək dəyişdirə bilərsiniz. Bu, bütün sisteminya da\n"
-"yalnız bir istifadəçinin bütün dil qurğularını dəyişdirmə imkanı verir.\n"
-"Əgər bunları sıravi istifadəçi olaraq həyata keçirsəniz yalnız öz xüsusi\n"
-"dil qurğularınızı dəyişdirəcəksiniz."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not supported by this version of Mandrake Linux."
-msgstr "%s Mandrake Linuksun bu buraxılışı tərəfindən dəstəklənmir."
+#: ../../standalone/harddrake2_.c:119
+#, fuzzy
+msgid "Harddrake2 version "
+msgstr "Sabit disk seçkisi"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "tape"
-msgstr "kaset"
+#: ../../standalone/harddrake2_.c:126
+#, fuzzy
+msgid "Detected hardware"
+msgstr "Avadanlıq mə'lumatına bax"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP client"
-msgstr "DHCP alıcısı"
+#: ../../standalone/harddrake2_.c:129
+#, fuzzy
+msgid "Information"
+msgstr "Mə'lumatı göstər"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "List users on display managers (kdm and gdm)"
-msgstr "Ekran idarəçilərində (kdm və gdm) istifadəçiləri göstər"
+#: ../../standalone/harddrake2_.c:131
+#, fuzzy
+msgid "Configure module"
+msgstr "Siçan qurğuları"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech mouse (serial ya da köhnə C7 növü)"
+#: ../../standalone/harddrake2_.c:137
+msgid "Run config tool"
+msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "%s faylından geri yükləmə xətası: %s"
+#: ../../standalone/harddrake2_.c:143
+#, fuzzy, c-format
+msgid "Running \"%s\" ..."
+msgstr "CUPS sürücü datası oxunur..."
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:159
msgid ""
-"I can't read the partition table of device %s, it's too corrupted for me :(\n"
-"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to not allow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to lose all the partitions?\n"
+"Click on a device in the left tree in order to get its information displayed "
+"here."
msgstr ""
-"%s avadanlığının bölmə cədvəli oxuna bilmir, dəyəsən biraz xarab olub.\n"
-"Xarab olmuş bolmələr düzəldilməyə cəhd ediləcək, ancaq bütün mə'lumatlar\n"
-"itəcək. Başqa bir yol isə DrakX'ə bölmə cədvəllərini yoxlama icazəsi "
-"verməməkdir.\n"
-"(xəta %s)\n"
-"\n"
-"Bütün bölmələri itirmək işinizə gəlir?\n"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Find Package"
-msgstr "Paketi Tap"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Are you sure that you want to set up printing on this machine?\n"
-msgstr "Həqiqətən də bu sistemdə çap sistemini quraşdırmaq istəyirsiniz?\n"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "New devfs device"
-msgstr "Yeni devfs avadanlığı"
+#: ../../standalone/harddrake2_.c:231
+msgid "primary"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "ERROR: Cannot spawn %s."
-msgstr "XƏTA: %s törədilə bilmir."
+#: ../../standalone/harddrake2_.c:231
+#, fuzzy
+msgid "secondary"
+msgstr "%d saniyə sonra çıxılacaq"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Boot Style Configuration"
-msgstr "Açılış Tərzi Quraşdırılması"
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect modems"
+msgstr "Avtomatik təsbit işlət"
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic time synchronization"
-msgstr "Avtomatik zaman sinxronlaşdırılması"
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect printers"
+msgstr "Avtomatik təsbit işlət"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files not found at %s."
-msgstr "%s mövqeyində ehtiyat faylları tapıla bilmədi."
+#: ../../standalone/harddrake2_.c:261
+#, fuzzy
+msgid "/Options"
+msgstr "/_Seçənəklər"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (phonetic)"
-msgstr "Ermenicə (fonetik)"
+#: ../../standalone/keyboarddrake_.c:26
+msgid "Please, choose your keyboard layout."
+msgstr "Klaviatura quruluşunu seçiniz."
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Card model:"
-msgstr "Kart modeli:"
+#: ../../standalone/keyboarddrake_.c:35
+msgid "Do you want the BackSpace to return Delete in console?"
+msgstr "Konsolda BackSpace'in Silmə funksyasını görməyini istəyirmisiniz?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Thin Client"
-msgstr "Zəyif Alıcı"
+#: ../../standalone/livedrake_.c:18
+msgid "Change Cd-Rom"
+msgstr "Cd-Romu dəyişdir"
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Thank you for choosing Mandrake Linux 9.2"
-msgstr "Mandrake Linuksu seçdiyiniz üçün sağolun!"
+#: ../../standalone/livedrake_.c:19
+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 sürücünüzə taxın və OLDUya basın.\n"
+"Əgər Cd-Rom əlinizdə yox isə, bu Cd-Rom-dan qurmamaq üçün RƏDD ETə basın."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Start Server"
-msgstr "Vericini Başlat"
+#: ../../standalone/livedrake_.c:29
+msgid "Unable to start live upgrade !!!\n"
+msgstr "Təkmilləşdirmə işi başlaya bilmir !!!\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkmenistan"
-msgstr "Türkmənistan"
+#: ../../standalone/localedrake_.c:34
+msgid "The change is done, but to be effective you must logout"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "All remote machines"
-msgstr "Bütün uzaq sistemlər"
+#: ../../standalone/logdrake_.c:56 ../../ugtk.pm_.c:284 ../../ugtk2.pm_.c:350
+msgid "logdrake"
+msgstr "logdrake"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Install themes"
-msgstr "Örtükləri qur"
+#: ../../standalone/logdrake_.c:68
+#, fuzzy
+msgid "Show only for the selected day"
+msgstr "Təkcə bu gününkünü göstər"
-#: ../../help.pm:1
-#, c-format
-msgid "Espanol"
-msgstr "İspanca"
+#: ../../standalone/logdrake_.c:75
+msgid "/File/_New"
+msgstr "/Fayl/_Təze"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing installation"
-msgstr "Qurulum hazırlanır"
+#: ../../standalone/logdrake_.c:75
+msgid "<control>N"
+msgstr "<control>N"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected host/network"
-msgstr "Seçili qovşaq/şəbəkəni dəyişdir"
+#: ../../standalone/logdrake_.c:76
+msgid "/File/_Open"
+msgstr "/Fayl/_Aç"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add User -->"
-msgstr "İstifadəçi əlavə et -->"
+#: ../../standalone/logdrake_.c:76
+msgid "<control>O"
+msgstr "<control>O"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nauru"
-msgstr "Nauru"
+#: ../../standalone/logdrake_.c:77
+msgid "/File/_Save"
+msgstr "/Fayl/_Qeyd Et"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type fonts installation"
-msgstr "True Type yazı növlərinin qurulumu"
+#: ../../standalone/logdrake_.c:77
+msgid "<control>S"
+msgstr "<control>S"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected directly to the local network"
-msgstr "Yerli şəbəkəyə birbaşa bağlı olan çapçıları avtomatik aşkar et"
+#: ../../standalone/logdrake_.c:78
+msgid "/File/Save _As"
+msgstr "/Fayl/_Fərqli Qeyd Et"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN configuration"
-msgstr "Yerli Şəbəkə (lAN) quraşdırılması"
+#: ../../standalone/logdrake_.c:79
+msgid "/File/-"
+msgstr "/Fayl/-"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "hard disk model"
-msgstr "sabit disk modeli"
+#: ../../standalone/logdrake_.c:82
+msgid "/Options/Test"
+msgstr "/Seçənəklər/Sınaq"
-# needs editing (Metin)
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain /etc/exports:\n"
-" \tClusternfs allows export of the root filesystem to diskless "
-"clients. drakTermServ\n"
-" \tsets up the correct entry to allow anonymous access to the root "
-"filesystem from\n"
-" \tdiskless clients.\n"
-"\n"
-" \tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t/\t\t\t\t\t(ro,all_squash)\n"
-" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-" \tWith SUBNET/MASK being defined for your network."
-msgstr ""
-" - Maintain /etc/exports:\n"
-" \tClusternfs allows export of the root filesystem to diskless "
-"clients. drakTermServ\n"
-" \tsets up the correct entry to allow anonymous access to the root "
-"filesystem from\n"
-" \tdiskless clients.\n"
-"\n"
-" \tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t/\t\t\t\t\t(ro,all_squash)\n"
-" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-" \tWith SUBNET/MASK being defined for your network."
+#: ../../standalone/logdrake_.c:84
+msgid "/Help/_About..."
+msgstr "/Kömək/_Haqqında..."
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr "%s bağlama nöqtəsi üçün LVM Məntiqi Həcmini istifadə edə bilməzsiniz"
+#: ../../standalone/logdrake_.c:145
+#, fuzzy
+msgid "User"
+msgstr "İstifadəçi adı"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Get Windows Fonts"
-msgstr "Windows Yazı Növlərini Al"
+#: ../../standalone/logdrake_.c:146
+#, fuzzy
+msgid "Messages"
+msgstr "ismarıclar"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Mouse Systems"
-msgstr "Siçan Sistemləri"
+#: ../../standalone/logdrake_.c:147
+#, fuzzy
+msgid "Syslog"
+msgstr "sistem qeydi"
-#: ../../standalone/drakclock:1
-#, c-format
-msgid ""
-"Your computer can synchronize its clock\n"
-" with a remote time server using NTP"
+#: ../../standalone/logdrake_.c:148
+msgid "Mandrake Tools Explanations"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Iranian"
-msgstr "Farsca"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Croatia"
-msgstr "Xırvatıstan"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway:"
-msgstr "Şəbəkə Keçidi:"
+#: ../../standalone/logdrake_.c:151
+msgid "search"
+msgstr "axtar"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add server"
-msgstr "Verici əlavə et"
+#: ../../standalone/logdrake_.c:161
+msgid "A tool to monitor your logs"
+msgstr "Qeydlərinizə baxan vasitə"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name"
-msgstr "Uzaq çapçı adı"
+#: ../../standalone/logdrake_.c:162 ../../standalone/net_monitor_.c:91
+msgid "Settings"
+msgstr "Qurğular"
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid ""
-"MandrakeSoft has designed exclusive tools to create the most secured Linux "
-"version ever: Draksec, a system security management tool, and a strong "
-"firewall are teamed up together in order to highly reduce hacking risks."
-msgstr ""
-"MandrakeSoft ən e'tibarlı Linuks yaratmaq üçün ekskluziv vasitələri tərtib "
-"edib: Draksec, sistem təhlükəsizliyi idarə vasitəsi və güclü atəş divarının "
-"birgə işi ilə, xaricdən müdaxilə və xaklanma təhlükəsi olduqca azalır."
+#: ../../standalone/logdrake_.c:167
+msgid "matching"
+msgstr "oxşayır"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Device: "
-msgstr "Avadanlıq: "
+#: ../../standalone/logdrake_.c:168
+msgid "but not matching"
+msgstr "amma oxşamır"
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Printerdrake"
-msgstr "Printerdrake"
+#: ../../standalone/logdrake_.c:172
+msgid "Choose file"
+msgstr "Fayl seç"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "License agreement"
-msgstr "Lisenziya razılığı"
+#: ../../standalone/logdrake_.c:181
+msgid "Calendar"
+msgstr "Təqvim"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "System Options"
-msgstr "Sistem Seçimləri"
+#: ../../standalone/logdrake_.c:191
+msgid "Content of the file"
+msgstr "Fayl məzmunu"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Please choose the desired security level"
-msgstr "Xahiş edirik, uyğun təhlükəsizlik səviyyəsini seçin"
+#: ../../standalone/logdrake_.c:195 ../../standalone/logdrake_.c:375
+msgid "Mail alert"
+msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/logdrake_.c:245
#, c-format
-msgid "This host is already in the list, it cannot be added again.\n"
-msgstr "Bu qovşaq onsuzda siyahıdadır, yenidən əlavə edilə bilməz.\n"
+msgid "please wait, parsing file: %s"
+msgstr "xahiş edirik, gözləyin, fayl daranır: %s"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", USB printer"
-msgstr ", USB çapçı"
+#: ../../standalone/logdrake_.c:392
+#, fuzzy
+msgid "Mail alert configuration"
+msgstr "Yerli Şəbəkə quraşdırılması"
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/logdrake_.c:393
msgid ""
-"Unable to properly close mkbootdisk:\n"
+"Welcome to the mail configuration utility.\n"
"\n"
-"<span foreground=\"Red\"><tt>%s</tt></span>"
+"Here, you'll be able to set up the alert system.\n"
msgstr ""
-"mkbootdisk düzgün bağlana bilmədi:\n"
-"\n"
-"<span foreground=\"Red\"><tt>%s</tt></span>"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Incremental backups only save files that have changed or are new since the "
-"last backup."
+#: ../../standalone/logdrake_.c:400
+msgid "Apache World Wide Web Server"
msgstr ""
-"Artan ehtiyatlar yalnız son ehtiyatlamadan sonra dəyişdirilən və yaranan "
-"faylları qeyd edər."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Choose the applications that will support the fonts:"
-msgstr "Yazı növlərini dəstəkləyəcək proqramları seçin:"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure X"
-msgstr "X quraşdırılması"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hd"
-msgstr "hd"
+#: ../../standalone/logdrake_.c:401
+#, fuzzy
+msgid "Domain Name Resolver"
+msgstr "Sahə(domain) adı"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Türkcə (ənənəvi \"F\" klaviatura)"
+#: ../../standalone/logdrake_.c:402
+#, fuzzy
+msgid "Ftp Server"
+msgstr "NIS Verici"
-#: ../../standalone/drakautoinst:1 ../../standalone/drakgw:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Congratulations!"
-msgstr "Təbriklər!"
+#: ../../standalone/logdrake_.c:403
+#, fuzzy
+msgid "Postfix Mail Server"
+msgstr "Postfix məktub vericisi, Inn xəbər vericisi"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use owner id for execution"
-msgstr "İcra üçün yiyə id'sini işlət"
+#: ../../standalone/logdrake_.c:404
+#, fuzzy
+msgid "Samba Server"
+msgstr "NIS Verici"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Allow remote root login"
-msgstr "Uzaq ali istifadəçi girişinə icazə ver"
+#: ../../standalone/logdrake_.c:405
+#, fuzzy
+msgid "SSH Server"
+msgstr "NIS Verici"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Down"
-msgstr "Aşağı"
+#: ../../standalone/logdrake_.c:406
+#, fuzzy
+msgid "Webmin Service"
+msgstr "avadanlıq"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer (No driver)"
-msgstr "Adi çapçı (Sürücüsüz)"
+#: ../../standalone/logdrake_.c:407
+#, fuzzy
+msgid "Xinetd Service"
+msgstr "Çap Edici Vericisi"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Install rpm"
-msgstr "rpm'i qur"
+#: ../../standalone/logdrake_.c:414
+#, fuzzy
+msgid "service setting"
+msgstr "avadanlıq"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/logdrake_.c:415
msgid ""
-"To print a file from the command line (terminal window) you can either use "
-"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
-"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
-"to modify the option settings easily.\n"
+"You will receive an alert if one of the selected services is no more running"
msgstr ""
-"Əmr sətirindən faylı çap etmək üçün (terminal pəncərəsi) bu əmri işlədin: \"%"
-"s <fayl>\" Qrafiki çap vasitəsi ilə isə əmr belə verilməlidir: \"xpp <fayl>"
-"\" ya da \"kprinter <fayl>\". Qrafiki fasitələr sizə çapçını və qurğuları "
-"asanlıqla seçməyə icazə verir.\n"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Time remaining "
-msgstr "Qalan müddət"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "UK keyboard"
-msgstr "İngiliz (UK) klaviaturası"
+#: ../../standalone/logdrake_.c:428
+#, fuzzy
+msgid "load setting"
+msgstr "Şəkilləndirilir"
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Unmount"
-msgstr "Ayır"
+#: ../../standalone/logdrake_.c:429
+msgid "You will receive an alert if the load is higher than this value"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft Explorer"
-msgstr "Microsoft Explorer"
+#: ../../standalone/logdrake_.c:444
+#, fuzzy
+msgid "alert configuration"
+msgstr "Quraşdırma"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Uninstall Fonts"
-msgstr "Yazı Növlərini Sil"
+#: ../../standalone/logdrake_.c:445
+#, fuzzy
+msgid "Please enter your email address below "
+msgstr "Xahiş edirik təkrar sınayın"
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Please wait, detecting and configuring devices..."
-msgstr "Xahiş edirik, gözləyin, təhlükəsizlik səviyyəsi seçilir..."
+#: ../../standalone/logdrake_.c:486
+msgid "Save as.."
+msgstr "Fərqli qeyd et..."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German (no dead keys)"
-msgstr "Almanca (ölü düymələr olmasın)"
+#: ../../standalone/mousedrake_.c:37
+msgid "Please, choose the type of your mouse."
+msgstr "Xahiş edirik siçanınızın növünü seçin."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tSend mail to %s\n"
-msgstr "\t%s ünvanına poçt göndər\n"
+#: ../../standalone/mousedrake_.c:50
+msgid "Emulate third button?"
+msgstr "3 düymə emulasiyası"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transferring %s..."
-msgstr "%s daşınır..."
+#: ../../standalone/net_monitor_.c:53 ../../standalone/net_monitor_.c:87
+#, fuzzy
+msgid "Network Monitoring"
+msgstr "Şəbəkə quraşdırılması"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "32 thousand colors (15 bits)"
-msgstr "32 min rəng (15 bits)"
+#: ../../standalone/net_monitor_.c:96
+#, fuzzy
+msgid "Profile "
+msgstr "Profil: "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"You can export using NFS or Samba. Please select which you'd like to use."
+#: ../../standalone/net_monitor_.c:99
+msgid "Statistics"
msgstr ""
-"NFS ya da Samba işlədərək ixrac edə bilərsiniz. Xahiş edirik, işlətmək "
-"istədiyinizi seçin."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Gambia"
-msgstr "Qambiya"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Control Center"
-msgstr "Mandrake İdarə Mərkəzi"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Reboot"
-msgstr "Yenidən başlat"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device"
-msgstr "Çox funksiyalı avadanlıq"
+#: ../../standalone/net_monitor_.c:103
+#, fuzzy
+msgid "Sending Speed:"
+msgstr "Fayla qeyd et"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"You can enter miscellaneous ports. \n"
-"Valid examples are: 139/tcp 139/udp.\n"
-"Have a look at /etc/services for information."
+#: ../../standalone/net_monitor_.c:104
+msgid "Receiving Speed:"
msgstr ""
-"Müxtəlif qapılar daxil edə bilərsiniz. \n"
-"Hökmlü nümunələr: 139/tcp 139/udp.\n"
-"Mə'lumat üçün /etc/services'a baxın."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Tape \n"
-msgstr "\t-Kaset \n"
+#: ../../standalone/net_monitor_.c:106
+#, fuzzy
+msgid "Connection Time: "
+msgstr "Bağlantı növü:"
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-"No browser is installed on your system, Please install one if you want to "
-"browse the help system"
+#: ../../standalone/net_monitor_.c:113
+msgid "Logs"
msgstr ""
-"Sisteminizdə heç bir səyyah qurulu deyil. Yardım sistemini gəzmək "
-"istəyirsinizsə, xahiş edirik, birini qurun. Gnome işlədirsinizsə Epiphany, "
-"KDE işlədirsinizsə Konqueror proqramını qura bilərsiniz."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remember this password"
-msgstr "Bu şifrəni yadında saxla"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "due to unsatisfied %s"
-msgstr ""
+#: ../../standalone/net_monitor_.c:147
+#, fuzzy
+msgid "Wait please, testing your connection..."
+msgstr "Bağlantınız sınanır..."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now enabled."
-msgstr "İnternet Bağlantısı Bölüşdürülməsi indi açıldı"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Connecting to Internet "
+msgstr "İnternetə bağlan"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by SSH.\n"
-msgstr "\t-Şəbəkə SSH tərəfindən.\n"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Disconnecting from Internet "
+msgstr "İnternetə bağlan"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-" If the desired printer was auto-detected, simply choose it from the list "
-"and then add user name, password, and/or workgroup if needed."
+#: ../../standalone/net_monitor_.c:222
+msgid "Disconnection from Internet failed."
msgstr ""
-" Əgər çapçı avtomatik aşkar edilibsə, onu siyahıdan seçin və sonralazımdırsa "
-"istifadəçi adı, şifrə və/ya da iş qrupu adını əlavə edin."
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " cable"
-msgstr " kabel"
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use the free space on the Windows partition"
-msgstr "Windows bölməsindəki boş sahəni işlət"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s found on %s, configure it automatically?"
-msgstr "%2$s üstündə %1$s tapıldı, avtomatik quraşdırılsın?"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 sürücü: %s\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This host/network is already in the list, it cannot be added again.\n"
-msgstr "Bu qovşaq/şəbəkə onsuzda siyahıdadır, yenidən əlavə edilə bilməz.\n"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the packages you want to install"
-msgstr "Qurmaq istədiyiniz paketləri seçin"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Papua New Guinea"
-msgstr "Papua Yeni Qvineya"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on a parallel port"
-msgstr "Paralel qapıdakı çox funksiyalı avadanlıq"
-
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "Busy files"
-msgstr "Sistem fayllarının ehtiyat nüsxəsini çıxart"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Serbian (cyrillic)"
-msgstr "Serbcə (kiril)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory where backups are stored"
-msgstr "Ehtiyatların saxlandığı cərgəni daxil edin"
+#: ../../standalone/net_monitor_.c:223
+msgid "Disconnection from Internet complete."
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Make kernel message quiet by default"
-msgstr "Çəyirdək ismarışlarını əsas olaraq göstərmə"
+#: ../../standalone/net_monitor_.c:225
+#, fuzzy
+msgid "Connection complete."
+msgstr "Bağlantı növü:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/net_monitor_.c:226
msgid ""
-"Do you want to set this printer (\"%s\")\n"
-"as the default printer?"
+"Connection failed.\n"
+"Verify your configuration in the Mandrake Control Center."
msgstr ""
-"(\"%s\") çapçısını əsas çapçı olaraq\n"
-"tə'yin etmək istəyirsiniz?"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP end range"
-msgstr "DHCP son silsiləsi"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Creating bootdisk..."
-msgstr "Açılış disketi yaradılır"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please, testing your connection..."
-msgstr "Xahiş edirik, gözləyin, bağlantınız sınanır..."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing down the network"
-msgstr "Şəbəkə dayandırılır"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Login ID"
-msgstr "Giriş adı"
+#: ../../standalone/net_monitor_.c:330
+#, fuzzy
+msgid "Color configuration"
+msgstr "Quraşdırma"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
+#: ../../standalone/net_monitor_.c:383 ../../standalone/net_monitor_.c:403
+msgid "sent: "
msgstr ""
-"NFS TCP/IP şəbəkələrində fayl bölüşülməsi üçün istifadə edilən məşhur bir \n"
-"protokoldur. Bu xidmət NFS fayl qıfılı istifadəsinə imkan verər."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP Client"
-msgstr "DHCP Alıcısı"
+#: ../../standalone/net_monitor_.c:390 ../../standalone/net_monitor_.c:407
+msgid "received: "
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"This is HardDrake, a Mandrake hardware configuration tool.\n"
-"<span foreground=\"royalblue3\">Version:</span> %s\n"
-"<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud &lt;"
-"tvignaud@mandrakesoft.com&gt;\n"
-"\n"
+#: ../../standalone/net_monitor_.c:397
+msgid "average"
msgstr ""
-"Bu HardDrake'dir, Mandrake avadanlıq quraşdırma vasitəsi.\n"
-"<span foreground=\"royalblue3\">Buraxılış:</span> %s\n"
-"<span foreground=\"royalblue3\">Müəllif:</span> Thierry Vignaud &lt;"
-"tvignaud@mandrakesoft.com&gt;\n"
-"\n"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "dismiss"
-msgstr "keç"
+#: ../../standalone/net_monitor_.c:400
+#, fuzzy
+msgid "Local measure"
+msgstr "Yerli Çap Edici"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning on \"%s\""
-msgstr "\"%s\" üstündə çap etmə/darama"
+#: ../../standalone/net_monitor_.c:432
+msgid "transmitted"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit raid modules"
-msgstr "raid modulları keç"
+#: ../../standalone/net_monitor_.c:433
+msgid "received"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/net_monitor_.c:453
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)."
+"Warning, another internet connection has been detected, maybe using your "
+"network"
msgstr ""
-"lpd, lpr'nin düzgün olaraq işləməsi üçün lazımi çapçıi vasitəsidir.\n"
-"lpd əsasən, çap vəzifələrini idarə edən və onları çapçıya göndərən vericidir."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Irish"
-msgstr "İrlandiya Dili"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sunday"
-msgstr "Bazar"
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Connect %s"
+msgstr "Bağlan"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet Connection Configuration"
-msgstr "İnternet Bağlantısı Quraşdırılması"
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Disconnect %s"
+msgstr "Bağlantını kəs"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated numbers"
-msgstr "verqüllə ayrılmış ədədlər"
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Reading printer data ..."
+msgstr "CUPS sürücü datası oxunur..."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Once you've selected a device, you'll be able to see the device information "
-"in fields displayed on the right frame (\"Information\")"
-msgstr ""
-"Avadanlığı seçdiyiniz vaxt, onun mə'lumatını sağ çərçivədəki sahədə "
-"görəcəksiniz."
+#: ../../standalone/scannerdrake_.c:39
+#, fuzzy
+msgid "Detecting devices ..."
+msgstr "Avadanlıqlar tanınır..."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule up one level"
-msgstr "Seçili qaydanı bir səviyyə üstə daşı"
+#: ../../standalone/scannerdrake_.c:39
+msgid "Test ports"
+msgstr "Qapıları sına"
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/scannerdrake_.c:51 ../../standalone/scannerdrake_.c:66
+#: ../../standalone/scannerdrake_.c:79
#, c-format
-msgid ""
-"The following scanner\n"
-"\n"
-"%s\n"
-"is available on your system.\n"
+msgid "The %s is not supported by this version of Mandrake Linux."
msgstr ""
-"Açağıdakı darayıcı\n"
-"\n"
-"%s\n"
-"sisteminizdə mövcuddur.\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you really want to remove the printer \"%s\"?"
-msgstr "Həqiqətən də \"%s\" çapçısını silmək istəyirsiniz?"
+#: ../../standalone/scannerdrake_.c:54
+#, fuzzy, c-format
+msgid "%s found on %s, configure it?"
+msgstr "Bir çap edici qurmaq istəyirsiniz?"
-#: ../../install_interactive.pm:1
+#: ../../standalone/scannerdrake_.c:57
#, c-format
-msgid "I can't find any room for installing"
-msgstr "Artıq bölmə əlavə edilə bilməz"
+msgid "%s is not in the scanner database, configure it manually?"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Default printer"
-msgstr "Əsas çapçıi"
+#: ../../standalone/scannerdrake_.c:63
+#, fuzzy
+msgid "Select a scanner"
+msgstr "Ekran kartınızı seçin"
-#: ../../network/netconnect.pm:1
+#: ../../standalone/scannerdrake_.c:91
#, c-format
-msgid ""
-"You have configured multiple ways to connect to the Internet.\n"
-"Choose the one you want to use.\n"
-"\n"
+msgid "This %s scanner is unsupported"
msgstr ""
-"Siz İnternetə bağlanmanın bir neçə yöntəmini quraşdırmışsınız.\n"
-"İstifadə etmək istədiyinizi seçin.\n"
-"\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Modify RAID"
-msgstr "RAIDi dəyişdir"
-
-#: ../../network/isdn.pm:1
+#: ../../standalone/scannerdrake_.c:105
#, c-format
msgid ""
-"I have detected an ISDN PCI card, but I don't know its type. Please select a "
-"PCI card on the next screen."
+"Scannerdrake was not able to detect your %s scanner.\n"
+"Please select the device where your scanner is plugged"
msgstr ""
-"ISDN PCI kart tapdım, amma növünü bilmirəm. Xahiş edirik, sonrakı ekrandakı "
-"kartlardan birini seçin."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Add user"
-msgstr "İstifadəçini əlavə et"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-diskləri %s\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Liberia"
-msgstr "Liberiya"
+#: ../../standalone/scannerdrake_.c:107
+#, fuzzy
+msgid "choose device"
+msgstr "Açılış avadanlığı"
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/scannerdrake_.c:113
#, c-format
msgid ""
-"Could not install the packages needed to set up a scanner with Scannerdrake."
+"This %s scanner must be configured by printerdrake.\n"
+"You can launch printerdrake from the Mandrake Control Center in Hardware "
+"section."
msgstr ""
-"Scannderdrake ilə darayıcını quraşdırmaq üçün lazım olan paketlər qurula "
-"bilmədi."
-#: ../../standalone/drakgw:1
+#: ../../standalone/scannerdrake_.c:118
#, c-format
msgid ""
-"Please enter the name of the interface connected to the internet.\n"
-"\n"
-"Examples:\n"
-"\t\tppp+ for modem or DSL connections, \n"
-"\t\teth0, or eth1 for cable connection, \n"
-"\t\tippp+ for a isdn connection.\n"
+"Your %s scanner has been configured.\n"
+"You may now scan documents using ``XSane'' from Multimedia/Graphics in the "
+"applications menu."
msgstr ""
-"Xahiş edirik, internetə bağlı olan ara üzün adını dirin.\n"
-"\n"
-"Nömunələr:\n"
-"\t\tppp+ modem ya da DSL bağlantıları üçün, \n"
-"\t\teth0, ya da eth1 kabel bağlantıları üçün, \n"
-"\t\tippp+ isdn bağlantısı üçün.\n"
-#: ../../steps.pm:1
+#: ../../standalone/service_harddrake_.c:44
#, c-format
-msgid "Choose your keyboard"
-msgstr "Klaviatura seçimi"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Format partitions"
-msgstr "Bölmələrin şəkilləndirilməsi"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatic correction of CUPS configuration"
-msgstr "CUPS quraşdırılmasının avtomatik düzəldilməsi"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Running \"%s\" ..."
-msgstr "\"%s\" icra edilir ..."
+msgid "Some devices in the \"%s\" hardware class were removed:\n"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "enable radio support"
-msgstr "radio dəstəyini fəallaşdır"
+#: ../../standalone/service_harddrake_.c:48
+msgid "Some devices were added:\n"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing to hosts: "
-msgstr "Qovşaqlar üçün darayıcı bölüşməsi:"
+#: ../../standalone/service_harddrake_.c:64
+#, fuzzy
+msgid "Hardware probing in progress"
+msgstr "%s qapısında tapıldı"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Loopback faylı adı: %s"
+#: ../../steps.pm_.c:14
+msgid "Choose your language"
+msgstr "İşlətdiyiniz dili seçin"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the printer to which the print jobs should go."
-msgstr "Çap vəzifələrinin hansı çapçıya gedəcəyini seçin."
+#: ../../steps.pm_.c:15
+msgid "Select installation class"
+msgstr "Quruluş sinifini seçin"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not transfer printers"
-msgstr "Çapçıları qətiyyən daşıma"
+#: ../../steps.pm_.c:16
+msgid "Hard drive detection"
+msgstr "Sabit disk seçkisi"
-#: ../../help.pm:1
-#, c-format
-msgid "Delay before booting the default image"
-msgstr "Əsas görünüşü açmadan fasilə ver"
+#: ../../steps.pm_.c:17
+msgid "Configure mouse"
+msgstr "Siçan qurğuları"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Hard Disk to backup"
-msgstr "Ehtiyatlama üçün Sabit Diski işlət"
+#: ../../steps.pm_.c:18
+msgid "Choose your keyboard"
+msgstr "Klaviaturanızı seçin"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Configure"
-msgstr "Qur"
+#: ../../steps.pm_.c:19
+msgid "Security"
+msgstr "Təhlükəsizlik"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake"
-msgstr "Scannerdrake"
+#: ../../steps.pm_.c:20
+msgid "Setup filesystems"
+msgstr "Fayl sistemi qurğuları"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"Warning, another Internet connection has been detected, maybe using your "
-"network"
-msgstr ""
-"Diqqət, başqa internet bağlantısı aşkar edildi, güman ki şəbəkənizi istifadə "
-"edir"
+#: ../../steps.pm_.c:21
+msgid "Format partitions"
+msgstr "Bölmə şəkilləndirilməsi"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Users"
-msgstr "İstifadəçilərin Ehtiyat Nüsxəsi Al"
+#: ../../steps.pm_.c:22
+msgid "Choose packages to install"
+msgstr "Qurulacaq paketləri seçin"
-#: ../../network/network.pm:1
-#, c-format
-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, kompüterinizn adını girin.\n"
-"Məsələn``kompüteradı.sahəadı.com''.\n"
-"Əgər şəbəkə keçidi istifadə edirsinizsə bunun da IP nömrəsini girməlisiniz."
+#: ../../steps.pm_.c:23
+msgid "Install system"
+msgstr "Sistemi qur"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Spooler"
-msgstr "Çap Sistemini Seçin"
+#: ../../steps.pm_.c:25
+msgid "Add a user"
+msgstr "İstifadəçi əlavə et"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Create new theme"
-msgstr "Yeni örtük yarat"
+#: ../../steps.pm_.c:26
+msgid "Configure networking"
+msgstr "Şəbəkəni qur"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mandrake Tools Explanation"
-msgstr "Mandrake Vasitələrinin İzahatı"
+#: ../../steps.pm_.c:28
+msgid "Configure services"
+msgstr "Xidmətləri qur"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "No image found"
-msgstr "Rəsm tapıla bilmədi"
+#: ../../steps.pm_.c:29
+msgid "Install bootloader"
+msgstr "Sistem yükləyicini qur"
-#: ../../install_steps.pm:1
-#, c-format
-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 ""
-"Bə'zi paketlər doğru olaraq qurulumu bitirmədi.\n"
-"Cdrom sürücünüz ya da cdromunuz düzgün işləmir.\n"
-"Əvvəldən Linuks qurulu bir sistemdə \"rpm -qpl Mandrake/RPMS/*.rpm\"\n"
-"əmrini istifadə edərək Cd-Rom'u yoxlayın.\n"
+#: ../../steps.pm_.c:31
+msgid "Create a bootdisk"
+msgstr "Açılış disketi yarat"
-#: ../advertising/06-development.pl:1
-#, c-format
-msgid "Mandrake Linux 9.2: the ultimate development platform"
-msgstr "Mandrake Linuks 9.2: böyük inkişaf platformu"
+#: ../../steps.pm_.c:33
+msgid "Configure X"
+msgstr "X qur"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Detected model: %s"
-msgstr "Aşkar edilən model: %s"
+#: ../../steps.pm_.c:34
+#, fuzzy
+msgid "Install system updates"
+msgstr "Sistemi qur"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "\"%s\" is not a valid email!"
-msgstr "\"%s\" hökmlü bir epoçt deyil!"
+#: ../../steps.pm_.c:35
+msgid "Exit install"
+msgstr "Qurulumdan çıx"
-#: ../../standalone/drakedm:1
-#, c-format
-msgid ""
-"X11 Display Manager allows you to graphically log\n"
-"into your system with the X Window System running and supports running\n"
-"several different X sessions on your local machine at the same time."
+#: ../../ugtk.pm_.c:636
+msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
msgstr ""
-"X11 Displey İdarəçisi sizə, X Pəncərə sistemi fəal olan bir sistemə\n"
-"qrafiki olaraq giriş etmə və birdən çox X iclasını eyni anda işlətmə\n"
-"imkanı verir."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run the daily security checks."
-msgstr "əgər bəli seçilidirsə, günlük təhlükəsizlik yoxlamalarını icra et"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Azerbaijan"
-msgstr "Azərbaycan"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Device name to use for backup"
-msgstr "Ehtiyatlama üçün istifadə ediləcək avadanlıq adı"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No tape in %s!"
-msgstr "%s içində kaset yoxdur!"
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-" --doc <link> - link to another web page ( for WM welcome "
-"frontend)\n"
+#: ../../ugtk2.pm_.c:711
+msgid "utopia 25"
msgstr ""
-" --doc <körpü> - başqa bir veb səhifəsinə körpü (WM xoş gəldin ara üzü "
-"üçün)\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
+#: ../../share/compssUsers:999
+msgid "Web/FTP"
+msgstr "Verici, Veb/FTP"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
-msgstr "bu, avadanlığın taxılı olduğu fiziki yoldur (mis: PCI, USB, ...)"
+#: ../../share/compssUsers:999
+msgid "Network Computer (client)"
+msgstr "Şəbəkə Kompüteri (alıcı)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "How is the printer connected?"
-msgstr "Çapçınız hansı şəkildə bağlıdır?"
+#: ../../share/compssUsers:999
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS vericisi, SMB vericisi, SSH vericisi, Vəkil Verici"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security level"
-msgstr "Təhlükəsizlik səviyyəsi"
+#: ../../share/compssUsers:999
+msgid "Office"
+msgstr "İş Yeri"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "final resolution"
-msgstr "son həlledilirlik"
+#: ../../share/compssUsers:999
+msgid "Gnome Workstation"
+msgstr "Gnome iş stansiyası"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services"
-msgstr "Xidmətlər"
+#: ../../share/compssUsers:999
+msgid "Tools for your Palm Pilot or your Visor"
+msgstr "Palm Pilot və ya Visorunuz üçün vasitələr"
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Auto configuration"
-msgstr "Xüsusi quraşdırma"
+#: ../../share/compssUsers:999
+msgid "Workstation"
+msgstr "Masa üstü"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "4 MB"
-msgstr "4 MB"
+#: ../../share/compssUsers:999
+msgid "Firewall/Router"
+msgstr "Verici, Firewall/Ruter"
#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr "Ofis İş Stansiyası"
+msgid "Domain Name and Network Information Server"
+msgstr "Domeyn Ad bə Şəbəkə Mə'lumat Vericisi"
#: ../../share/compssUsers:999
msgid ""
@@ -21019,68 +13964,78 @@ msgstr ""
"göstəriciləri, vs."
#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr "Oyun stansiyası"
+msgid "Audio-related tools: mp3 or midi players, mixers, etc"
+msgstr ""
+"Səs ilə əlaqədər vasitələr: mp3 və ya midi çalğıçılar, qarışdırıçılar, vs."
#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Məzəli proqramlar: arkad, lövhə oyunları, strategiya, vs"
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr "Multimedya stansiyası"
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linuks və pulsuz proqram tə'minatıları Kitablar və Howtoları"
#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Səs və video çalınması/düzəliş proqramları"
+msgid "KDE Workstation"
+msgstr "KDE iş stansiyası"
#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr "İnternet stansiyası"
+msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, vs."
#: ../../share/compssUsers:999
-#, fuzzy
-msgid ""
-"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
-"Web"
-msgstr ""
-"Elektronik məktub və xəbər oxuyucusu (pine, mutt, tin..) və Web səyyahları"
+msgid "Multimedia - Video"
+msgstr "Multimedya - Video"
#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr "Şəbəkə Kompüteri (alıcı)"
+msgid "Set of tools for mail, news, web, file transfer, and chat"
+msgstr "Məktub, xəbərlər, fayl daşınması, chat vasitələri"
#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr "SSH daxil bir çox protokolların alıcıları"
+msgid "Database"
+msgstr "Databeyz"
#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Quraşdırma"
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL və ya MySQL databeyz vericisi"
#: ../../share/compssUsers:999
msgid "Tools to ease the configuration of your computer"
msgstr "Kompüter qurğularını asandlaşdıran vasitələr"
#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr "Elmi iş stansiyası"
+msgid "Multimedia - Sound"
+msgstr "Multimedya - Səs"
#: ../../share/compssUsers:999
-msgid "Scientific applications such as gnuplot"
-msgstr "gnuplot kimi elmi tə'minatlar"
+msgid "Documentation"
+msgstr "Sənədlər"
#: ../../share/compssUsers:999
msgid "Console Tools"
msgstr "Konsol Vasitələri"
#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Editorlar, rəflər, fayl vasitələri, terminallar"
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix məktub vericisi, Inn xəbər vericisi"
#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE iş stansiyası"
+msgid "Internet station"
+msgstr "İnternet stansiyası"
+
+#: ../../share/compssUsers:999
+msgid "Multimedia station"
+msgstr "Multimedya stansiyası"
+
+#: ../../share/compssUsers:999
+#, fuzzy
+msgid "Configuration"
+msgstr "Yerli Şəbəkə Quraşdırılması"
+
+#: ../../share/compssUsers:999
+msgid "More Graphical Desktops (Gnome, IceWM)"
+msgstr "Başqa qrafiki ara üzlər (Gnome, IceWM)"
#: ../../share/compssUsers:999
msgid ""
@@ -21089,126 +14044,262 @@ msgid ""
msgstr "KDE, əsas qrafiki ara üz və yardımçi proqramlar kolleksiyası"
#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome iş stansiyası"
+msgid "Graphical Environment"
+msgstr "Qrafiki Ara Üz"
#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-"İstifadəçi dostu proqram və masa üstü ilə bərabər qrafiki ara üz vasitələri"
+msgid "Development"
+msgstr "Təcrübi"
#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Başqa qrafiki ara üzlər"
+msgid "Apache, Pro-ftpd"
+msgstr "Apache və Pro-ftpd"
#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm, vs."
+msgid "Tools to create and burn CD's"
+msgstr "CD yazmaq və yandırmaq proqramları"
+
+#: ../../share/compssUsers:999
+msgid "Office Workstation"
+msgstr "İş Yeri Stansiyası"
+
+#: ../../share/compssUsers:999
+msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Gnome, IceWM, Windows Maker, Enlightement, Fvwm, vs."
+
+#: ../../share/compssUsers:999
+msgid "Graphics programs such as The Gimp"
+msgstr "Qrafika proqramları, məsələn The Gimp"
+
+#: ../../share/compssUsers:999
+msgid "DNS/NIS "
+msgstr "DNS/NIS "
#: ../../share/compssUsers:999
msgid "C and C++ development libraries, programs and include files"
msgstr "C və C++ inkişaf kitabxanaları, proqramları və daxil ediləcək fayllar"
#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Sənədlər"
+msgid "Network Computer server"
+msgstr "Şəbəkə Kompüteri vericisi"
#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "Linuks və sərbəst proqram tə'minatı haqqında Kitablar və Howtolar"
+msgid "Mail/Groupware/News"
+msgstr "Verici, ePoçt/Groupware/Xəbərlər"
#: ../../share/compssUsers:999
-msgid "LSB"
-msgstr "LSB"
+msgid "Game station"
+msgstr "Oyun stansiyası"
#: ../../share/compssUsers:999
-msgid "Linux Standard Base. Third party applications support"
-msgstr "Linux Standartları Bazası. Üçüncü partiya tə'minat dəstəyi"
+msgid "Video players and editors"
+msgstr "Video çalğıçıları və editorları"
#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Veb/FTP"
+msgid "Multimedia - Graphics"
+msgstr "Multimedya - Qrafika"
#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache, Pro-ftpd"
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Məzəli proqramlar: arkad, lövhə oyunları, strategiya, vs"
#: ../../share/compssUsers:999
-msgid "Mail"
-msgstr "Poçt"
+msgid ""
+"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
+"browse the Web"
+msgstr ""
+"Elektronik məktub və xəbər oxuyucusu (pine, mutt, tin..) və Web səyyahları"
#: ../../share/compssUsers:999
-msgid "Postfix mail server"
-msgstr "Postfix poçt vericisi"
+msgid "Personal Finance"
+msgstr "Şəxsi Maliyyə"
#: ../../share/compssUsers:999
-msgid "Database"
-msgstr "Mə'lumat Bazası"
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"İstifadəçi dostu proqram və masa üstü ilə bərabər qrafiki ara üz vasitələri"
#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "PostgreSQL ya da MySQL mə'lumat bazası vericisi"
+msgid "Clients for different protocols including ssh"
+msgstr "SSH daxil bir çox protokolların alıcıları"
#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr "Atəş Divarı/İstiqamətləndirici"
+msgid "LSB"
+msgstr ""
#: ../../share/compssUsers:999
msgid "Internet gateway"
-msgstr "İnternet keçidi"
+msgstr "İnternet keçişı"
#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS "
+msgid "Sound and video playing/editing programs"
+msgstr "Səs və video çalınması/düzəliş proqramları"
#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr "Domen Adı bə Şəbəkə Mə'lumat Vericisi"
+msgid "Other Graphical Desktops"
+msgstr "Başqa qrafiki ara üzlər"
#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr "Şəbəkə Kompüter vericisi"
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editorlar, rəflər, fayl vasitələri, terminallar"
#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS vericisi, SMB vericisi, Vəkil vericisi, SSH verici"
+msgid "Programs to manage your finance, such as gnucash"
+msgstr "Şəxsi maliyyə idarəçiləri, məsələn gnucash"
#: ../../share/compssUsers:999
-msgid "Set of tools to read and send mail and news and to browse the Web"
-msgstr "Poçt və xəbər alıb göndərmək üçün və vebi gəzmək üçün vasitələr dəsti"
+msgid "Personal Information Management"
+msgstr "Şəxsi Mə'lumat İdarəçisi"
-#~ msgid "The setup has already been done, and it's currently enabled."
-#~ msgstr "Quraşdırma artıq başa çatıb və hazırda fəaldır."
+#: ../../share/compssUsers:999
+msgid "Multimedia - CD Burning"
+msgstr "Multimedya - CD Yandırma"
-#~ msgid "Logs"
-#~ msgstr "Qeydlər"
+#: ../../share/compssUsers:999
+msgid "Scientific Workstation"
+msgstr "Elmi iş stansiyası"
-#~ msgid "The setup has already been done, but it's currently disabled."
-#~ msgstr "Quraşdırma onsuzda edilib, amma hazırda qeyri-fəaldır."
+#~ msgid "can not open /etc/inittab for reading: %s"
+#~ msgstr "/etc/inittab oxunmaq üçün açıla bilmir: %s"
-#~ msgid "Profile "
-#~ msgstr "Profil"
+#, fuzzy
+#~ msgid "cpu number "
+#~ msgstr "Telefon nömrəsi"
#~ msgid ""
-#~ "Welcome to the Internet Connection Sharing utility!\n"
+#~ "You now have the opportunity to download encryption software.\n"
#~ "\n"
-#~ "%s\n"
+#~ "WARNING:\n"
#~ "\n"
-#~ "Click on Configure to launch the setup wizard."
+#~ "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 ""
-#~ "İnternet Bağlantısı Bölüşdürmə vasitəsinə Xoş Gəldiniz!\n"
+#~ "İndi şifrləmə üçün istifadə ediləcək tə'minatı endirə bilərsiniz.\n"
+#~ "DİQQƏT:\n"
+#~ "\n"
+#~ "Bu tə'minata bə'zi fərqli ümumi ehtiyaclardan və müxtəlif\n"
+#~ "mühakəmə haqlarından ötrü, bu tə'minatın son istifadəçisi, qanunların ona "
+#~ "bu\n"
+#~ "tə'minatı internetdən endirmə və saxlama haqqını verdiyindən əmin "
+#~ "olmalıdır.\n"
+#~ "\n"
+#~ "Əlavə olaraq, müşdəri va/və ya son istifadəçi xüsusilə, yerləşdiyi "
+#~ "mühakəmə yerinin\n"
+#~ "qanunlarını çeynəmədiyindən əmin olmalıdır. Müşdəri və/və ya son "
+#~ "istifadəçi\n"
+#~ "qanunların əmr etdiyi şərtləri pozduğu zaman ciddi cəzalara\n"
+#~ "mə'ruz qalacaqdır.\n"
#~ "\n"
-#~ "%s\n"
+#~ "Xüsusi ya da dolaylı zərərlərə (gəlir azalması, işin pozulması, ticari "
+#~ "mə'lumat\n"
+#~ "itkisi və digər maddi itkilər) yol açan heç bir hadisədə nə Mandrakesoft, "
+#~ "nə də \n"
+#~ "istehsalatçıları və/va ya qaynaq vericiləri məs'ul tutulmazlar. Bu "
+#~ "tə'minatı\n"
+#~ "internetden endirirkən son istifadəçi bu sözləşməyi qəbul etdiyini \n"
+#~ "bəyan etmiş sayılır.\n"
#~ "\n"
-#~ "Quraşdırma sehirbazını açmaq üçün Quraşdır düyməsinə tıqlayın."
+#~ "\n"
+#~ "Bu sözləşməylə əlaqədər hər cür sual üçün xahiş edirik\n"
+#~ "Mandrakesoft, Inc.\n"
+#~ "2400 N. Lincoln Avenue Suite 243\n"
+#~ "Altadena California 91001\n"
+#~ "USA\n"
+#~ "ünvanına yazınız."
+
+#, fuzzy
+#~ msgid "Proxy configuration"
+#~ msgstr "Vəkil vericilər quraşdırılması"
+
+#, fuzzy
+#~ msgid "port"
+#~ msgstr "Qapı"
+
+#, fuzzy
+#~ msgid "Url should begin with 'http:'"
+#~ msgstr "Vəkil verici http://... şəklində olmalıdır."
-#~ msgid "Internet Connection Sharing configuration"
-#~ msgstr "İnternet bağlantısı bölüşdürülməsi quraşdırılması"
+#, fuzzy
+#~ msgid "The port part should be numeric"
+#~ msgstr "Qapı nömrəsi rəqəmlə yazılmalıdır"
+
+#, fuzzy
+#~ msgid "login"
+#~ msgstr "Avtomatik Giriş"
+
+#, fuzzy
+#~ msgid "password"
+#~ msgstr "Parol"
+
+#, fuzzy
+#~ msgid "re-type password"
+#~ msgstr "Parolsuz"
+
+#, fuzzy
+#~ msgid "The passwords don't match. Try again!"
+#~ msgstr "Parollar uyğun gəlmir"
+
+#~ msgid "Can't write file %s"
+#~ msgstr "%s faylına yazıla bilinmədi"
+
+#~ msgid "-misc-fixed-medium-r-*-*-*-100-*-*-*-*-*-*,*"
+#~ msgstr "-misc-fixed-medium-r-*-*-*-100-*-*-*-*-*-*,*"
+
+#~ msgid "-misc-fixed-bold-r-*-*-*-100-*-*-*-*-*-*,*"
+#~ msgstr "-misc-fixed-bold-r-*-*-*-100-*-*-*-*-*-*,*"
+
+#~ msgid "no help implemented yet.\n"
+#~ msgstr "hələlik yardım sistemi mövcud deyildir.\n"
+
+#, fuzzy
+#~ msgid "Please click on a medium"
+#~ msgstr "Xahiş edirik bir bölmə üstünə tıqlayın"
+
+#~ msgid "usage: drakfloppy\n"
+#~ msgstr "istifadə qaydası: drakfloppy\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Usage: harddrake [-h|--help] [--test]\n"
+#~ msgstr "istifadə qaydası: keyboarddrake [--expert] [klavatura]\n"
-#~ msgid "No Internet Connection Sharing has ever been configured."
-#~ msgstr "İnternet Bağlantısı Bölüşdürmə Quraşdırması aparılmayıb."
+#~ msgid "usage: keyboarddrake [--expert] [keyboard]\n"
+#~ msgstr "istifadə qaydası: keyboarddrake [--expert] [klavatura]\n"
-#~ msgid "when checked, owner and group won't be changed"
-#~ msgstr "seçilidirsə, yiyə və qrup dəyişdirilməyəcək"
+#~ msgid "detected on interface %s"
+#~ msgstr "%s ara üzündə tapıldı"
diff --git a/perl-install/share/po/be.po b/perl-install/share/po/be.po
index 1e196f5de..cf55bebf4 100644
--- a/perl-install/share/po/be.po
+++ b/perl-install/share/po/be.po
@@ -5,4558 +5,3219 @@
msgid ""
msgstr ""
"Project-Id-Version: DrakX VERSION\n"
-"POT-Creation-Date: 2003-12-03 03:09+0100\n"
+"POT-Creation-Date: 2002-12-05 19:52+0100\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=UTF-8\n"
+"Content-Type: text/plain; charset=windows-1251\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of suid root files."
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, "
-"0/1 for Local Config...\n"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Configuration changed - restart clusternfs/dhcpd?"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t\tErase=%s"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Differential backups only save files that have changed or are new since the "
-"original 'base' backup."
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "network printer port"
-msgstr "Сеткавы прынтэр (TCP/Socket)"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Please insert floppy disk:"
-msgstr "Устаўце дыскету ў дыскавод %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "DrakTermServ"
-msgstr ""
+#: ../../Xconfig/card.pm_.c:16
+msgid "256 kB"
+msgstr "256 "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "PCMCIA"
-msgstr "PCMCIA"
+#: ../../Xconfig/card.pm_.c:17
+msgid "512 kB"
+msgstr "512 "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"Таблiца размяшчэння рэзервовага дыску мае iншы памер\n"
-"Працягваць далей?"
+#: ../../Xconfig/card.pm_.c:18
+msgid "1 MB"
+msgstr "1 "
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Which username"
-msgstr "Iмя карыстальнiку:"
+#: ../../Xconfig/card.pm_.c:19
+msgid "2 MB"
+msgstr "2 "
-#: ../../any.pm:1
-#, c-format
-msgid "Which type of entry do you want to add?"
-msgstr "Якi тып пункта жадаеце дадаць?"
+#: ../../Xconfig/card.pm_.c:20
+msgid "4 MB"
+msgstr "4 "
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Restore partition table"
-msgstr "Дадатковая таблiца раздзелаў"
+#: ../../Xconfig/card.pm_.c:21
+msgid "8 MB"
+msgstr "8 "
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Configure hostname..."
-msgstr "Настройка мышы"
+#: ../../Xconfig/card.pm_.c:22
+msgid "16 MB"
+msgstr "16 "
-#: ../../printer/cups.pm:1
-#, fuzzy, c-format
-msgid "On CUPS server \"%s\""
-msgstr "IP сервера SMB"
+#: ../../Xconfig/card.pm_.c:23
+msgid "32 MB"
+msgstr "32 "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Post-install configuration"
-msgstr "Настройка пасля ўсталявання"
+#: ../../Xconfig/card.pm_.c:24
+msgid "64 MB or more"
+msgstr "64 i "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid ""
-"The current security level is %s\n"
-"Select permissions to see/edit"
-msgstr ""
+#: ../../Xconfig/card.pm_.c:203
+msgid "Choose a X server"
+msgstr " X "
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Выкарыстоўвайце ``%s'' замест"
+#: ../../Xconfig/card.pm_.c:203
+msgid "X server"
+msgstr "X "
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Type"
-msgstr "Тып"
+#: ../../Xconfig/card.pm_.c:230
+#, fuzzy
+msgid "Multi-head configuration"
+msgstr " i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../Xconfig/card.pm_.c:231
msgid ""
-"\n"
-"Also printers configured with the PPD files provided by their manufacturers "
-"or with native CUPS drivers cannot be transferred."
+"Your system support multiple head configuration.\n"
+"What do you want to do?"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Sri Lanka"
-msgstr "Шры Ланка"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr "У вашай сістэме няма нiводнага сеткавага адаптара!"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Central African Republic"
-msgstr "Цэнтральная Афрыканская Рэспубліка"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway device"
-msgstr "Прылада-шлюз"
-
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Advanced preferences"
-msgstr "Заканчэнне настройкi"
+#: ../../Xconfig/card.pm_.c:288
+msgid "Select the memory size of your graphics card"
+msgstr " ii"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Net Method:"
-msgstr ""
+#: ../../Xconfig/card.pm_.c:349
+msgid "XFree configuration"
+msgstr " XFree"
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Ethernetcard"
-msgstr "цiкава"
+#: ../../Xconfig/card.pm_.c:351
+msgid "Which configuration of XFree do you want to have?"
+msgstr " i XFree ?"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "If set, send the mail report to this email address else send it to root"
+#: ../../Xconfig/card.pm_.c:383
+msgid "Configure all heads independently"
msgstr ""
-#: ../../modules/interactive.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Parameters"
+#: ../../Xconfig/card.pm_.c:384
+msgid "Use Xinerama extension"
msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "no"
-msgstr "Iнфармацыя"
-
-#: ../../harddrake/v4l.pm:1
+#: ../../Xconfig/card.pm_.c:389
#, fuzzy, c-format
-msgid "Auto-detect"
-msgstr "Аддалены прынтэр"
+msgid "Configure only card \"%s\"%s"
+msgstr "i "
-#: ../../standalone/drakconnect:1
+#: ../../Xconfig/card.pm_.c:401 ../../Xconfig/card.pm_.c:402
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Interface:"
-msgstr ""
+msgid "XFree %s"
+msgstr " XFree86 %s"
-#: ../../steps.pm:1
+#: ../../Xconfig/card.pm_.c:413 ../../Xconfig/card.pm_.c:439
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Select installation class"
-msgstr "Клас усталявання"
+msgid "XFree %s with 3D hardware acceleration"
+msgstr "XFree %s 3D-"
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
+#: ../../Xconfig/card.pm_.c:416
+#, c-format
msgid ""
-"The system doesn't seem to be connected to the Internet.\n"
-"Try to reconfigure your connection."
+"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"
-"Вы можаце адключыцца ці пераканфігураваць вашае злучэнне."
+" 3D- XFree %s.\n"
+"XFree %s 2D- ."
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:418 ../../Xconfig/card.pm_.c:441
#, c-format
-msgid ""
-"Connect your printer to a Linux server and let your Windows machine(s) "
-"connect to it as a client.\n"
-"\n"
-"Do you really want to continue setting up this printer as you are doing now?"
+msgid "Your card can have 3D hardware acceleration support with XFree %s."
msgstr ""
+" i 3D-, i i XFree %"
+"s."
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Belarus"
-msgstr "Беларускі"
-
-#: ../../partition_table.pm:1
+#: ../../Xconfig/card.pm_.c:426 ../../Xconfig/card.pm_.c:447
#, c-format
-msgid "Error writing to file %s"
-msgstr "Памылка запiсу ў файл %s"
+msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
+msgstr "XFree %s 3D-"
-#: ../../security/l10n.pm:1
+#: ../../Xconfig/card.pm_.c:429
#, c-format
-msgid "Report check result to syslog"
+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-."
-#: ../../services.pm:1
+#: ../../Xconfig/card.pm_.c:432 ../../Xconfig/card.pm_.c:449
#, c-format
msgid ""
-"apmd is used for monitoring battery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
+"Your card can have 3D hardware acceleration support with XFree %s,\n"
+"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
msgstr ""
-"ampd выкарыстоўваецца для адслежвання статусу батарэi i вядзення "
-"статыстыкi.\n"
-"Яго можна выкарыстоўваць для выключэння машыны пры нiзкiм зарадзе батарэi."
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use tape to backup"
-msgstr "Дрэнны файл рэзервовай копii"
+" i 3D-, i i XFree %"
+"s.\n"
+" , I I \n"
+"I '."
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be installed"
-msgstr "Наступныя пакеты будуць даданы да сiстэмы"
+#: ../../Xconfig/card.pm_.c:455
+msgid "Xpmac (installation display driver)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "CUPS configuration"
-msgstr "Настройка"
+#: ../../Xconfig/main.pm_.c:76 ../../Xconfig/main.pm_.c:77
+#: ../../Xconfig/monitor.pm_.c:96 ../../any.pm_.c:961
+msgid "Custom"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Total progress"
-msgstr "Праверка партоў"
+#: ../../Xconfig/main.pm_.c:102
+#, fuzzy
+msgid "Graphic Card"
+msgstr "i"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Not enough free space to allocate new partitions"
-msgstr "Не хапае прасторы для стварэння новых раздзелаў"
+#: ../../Xconfig/main.pm_.c:105 ../../Xconfig/monitor.pm_.c:93
+msgid "Monitor"
+msgstr "i"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving"
-msgstr "Пераносім"
+#: ../../Xconfig/main.pm_.c:108 ../../Xconfig/resolution_and_depth.pm_.c:210
+msgid "Resolution"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via %s:\n"
-"\n"
+#: ../../Xconfig/main.pm_.c:113
+msgid "Test"
msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "yes"
-msgstr "Так"
+#: ../../Xconfig/main.pm_.c:118 ../../diskdrake/dav.pm_.c:67
+#: ../../diskdrake/interactive.pm_.c:393 ../../diskdrake/removable.pm_.c:25
+#: ../../diskdrake/smbnfs_gtk.pm_.c:86
+msgid "Options"
+msgstr "i"
+
+#: ../../Xconfig/main.pm_.c:122 ../../Xconfig/resolution_and_depth.pm_.c:269
+#: ../../install_gtk.pm_.c:86 ../../install_steps_gtk.pm_.c:274
+#: ../../interactive.pm_.c:127 ../../interactive.pm_.c:142
+#: ../../interactive.pm_.c:345 ../../interactive/http.pm_.c:104
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../interactive/stdio.pm_.c:144 ../../my_gtk.pm_.c:159
+#: ../../my_gtk.pm_.c:287 ../../my_gtk.pm_.c:310 ../../security/main.pm_.c:181
+#: ../../standalone/drakbackup_.c:3920 ../../standalone/drakbackup_.c:4015
+#: ../../standalone/drakbackup_.c:4034 ../../ugtk2.pm_.c:435
+#: ../../ugtk2.pm_.c:926 ../../ugtk2.pm_.c:949
+msgid "Ok"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "("
-msgstr ""
+#: ../../Xconfig/main.pm_.c:122 ../../diskdrake/dav.pm_.c:28
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/draksplash_.c:114
+#: ../../standalone/harddrake2_.c:152 ../../standalone/logdrake_.c:204
+msgid "Quit"
+msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../Xconfig/main.pm_.c:145
#, c-format
msgid ""
-"Welcome to The Network Configuration Wizard.\n"
+"Keep the changes?\n"
+"The current configuration is:\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 ""
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ")"
+"%s"
msgstr ""
+"ֳ ?\n"
+" :\n"
+"\n"
+"%s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Lebanon"
-msgstr "Лібанон"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
-
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Stop"
-msgstr "Сектар"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Edit selected host"
-msgstr "Выдалiць чаргу друку"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "No CD device defined!"
-msgstr "Абярыце файл"
+#: ../../Xconfig/monitor.pm_.c:93
+msgid "Choose a monitor"
+msgstr " i"
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid ""
-"Please enter the name of the interface connected to the "
-"internet. \n"
-" \n"
-"Examples:\n"
-" ppp+ for modem or DSL connections, \n"
-" eth0, or eth1 for cable connection, \n"
-" ippp+ for a isdn connection.\n"
+#: ../../Xconfig/monitor.pm_.c:97
+msgid "Plug'n Play"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "\tUse .backupignore files\n"
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../Xconfig/monitor.pm_.c:98 ../../mouse.pm_.c:46
+msgid "Generic"
+msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Bulgarian (phonetic)"
-msgstr "Армянскi (фанетычны)"
+#: ../../Xconfig/monitor.pm_.c:99 ../../standalone/harddrake2_.c:67
+#: ../../standalone/harddrake2_.c:68
+#, fuzzy
+msgid "Vendor"
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP start ip"
+#: ../../Xconfig/monitor.pm_.c:109
+msgid "Plug'n Play probing failed. Please choose a precise monitor"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "256 kB"
-msgstr "256 Кб"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Don't rewind tape after backup"
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader main options"
-msgstr "Галоўныя опцыi пачатковага загрузчыку"
-
-#: ../../standalone.pm:1
-#, c-format
+#: ../../Xconfig/monitor.pm_.c:114
msgid ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
+"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."
-#: ../../harddrake/data.pm:1 ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Tape"
-msgstr "Тып: "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Malaysia"
-msgstr "Малазыя"
+#: ../../Xconfig/monitor.pm_.c:121
+msgid "Horizontal refresh rate"
+msgstr " i"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Scanning network..."
-msgstr "Якi тып вашага ISDN злучэння?"
+#: ../../Xconfig/monitor.pm_.c:122
+msgid "Vertical refresh rate"
+msgstr " i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"With this option you will be able to restore any version\n"
-" of your /etc directory."
-msgstr ""
+#: ../../Xconfig/resolution_and_depth.pm_.c:12
+msgid "256 colors (8 bits)"
+msgstr "256 (8 i)"
-#: ../../standalone/drakedm:1
-#, fuzzy, c-format
-msgid "The change is done, do you want to restart the dm service ?"
-msgstr "Выбар пакетаў для ўсталявання"
+#: ../../Xconfig/resolution_and_depth.pm_.c:13
+msgid "32 thousand colors (15 bits)"
+msgstr "32 (15 i)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (French layout)"
-msgstr "Швейцарскi (Французская раскладка)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:14
+msgid "65 thousand colors (16 bits)"
+msgstr "65 (16 i)"
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid не працаздольны (можа raid прылады адсутнiчаюць?)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:15
+msgid "16 million colors (24 bits)"
+msgstr "16 i (24 i)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "August"
-msgstr "Жнівень"
+#: ../../Xconfig/resolution_and_depth.pm_.c:16
+msgid "4 billion colors (32 bits)"
+msgstr "4 ii (24 i)"
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "FTP server"
-msgstr "NIS сервер:"
+#: ../../Xconfig/resolution_and_depth.pm_.c:130
+msgid "Resolutions"
+msgstr " "
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Webcam"
-msgstr ""
+#: ../../Xconfig/resolution_and_depth.pm_.c:255
+msgid "Choose the resolution and the color depth"
+msgstr " i ii "
-#: ../../standalone/harddrake2:1
+#: ../../Xconfig/resolution_and_depth.pm_.c:256
#, c-format
-msgid "size of the (second level) cpu cache"
-msgstr ""
+msgid "Graphics card: %s"
+msgstr "i: %s"
+
+#: ../../Xconfig/resolution_and_depth.pm_.c:269 ../../any.pm_.c:1001
+#: ../../bootlook.pm_.c:336 ../../diskdrake/smbnfs_gtk.pm_.c:87
+#: ../../install_steps_gtk.pm_.c:405 ../../install_steps_gtk.pm_.c:463
+#: ../../interactive.pm_.c:142 ../../interactive.pm_.c:345
+#: ../../interactive/http.pm_.c:105 ../../interactive/newt.pm_.c:194
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../my_gtk.pm_.c:158 ../../my_gtk.pm_.c:162 ../../my_gtk.pm_.c:287
+#: ../../network/netconnect.pm_.c:39 ../../printer/printerdrake.pm_.c:2055
+#: ../../security/main.pm_.c:228 ../../standalone/drakautoinst_.c:198
+#: ../../standalone/drakbackup_.c:3874 ../../standalone/drakbackup_.c:3907
+#: ../../standalone/drakbackup_.c:3933 ../../standalone/drakbackup_.c:3960
+#: ../../standalone/drakbackup_.c:3987 ../../standalone/drakbackup_.c:4047
+#: ../../standalone/drakbackup_.c:4074 ../../standalone/drakbackup_.c:4104
+#: ../../standalone/drakbackup_.c:4130 ../../standalone/drakconnect_.c:112
+#: ../../standalone/drakconnect_.c:144 ../../standalone/drakconnect_.c:286
+#: ../../standalone/drakconnect_.c:534 ../../standalone/drakconnect_.c:677
+#: ../../standalone/drakfloppy_.c:207 ../../standalone/drakfont_.c:918
+#: ../../standalone/drakgw_.c:557 ../../standalone/logdrake_.c:204
+#: ../../standalone/net_monitor_.c:337 ../../ugtk.pm_.c:295
+#: ../../ugtk2.pm_.c:362 ../../ugtk2.pm_.c:434 ../../ugtk2.pm_.c:438
+#: ../../ugtk2.pm_.c:926
+msgid "Cancel"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Soundcard"
-msgstr "Стандартны"
+#: ../../Xconfig/test.pm_.c:29
+msgid "Test of the configuration"
+msgstr " i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Month"
-msgstr "Месяц"
+#: ../../Xconfig/test.pm_.c:30
+msgid "Do you want to test the configuration?"
+msgstr "i i i?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Search for files to restore"
-msgstr "калi ласка, пазначце тып вашай мышы."
+#: ../../Xconfig/test.pm_.c:30
+#, fuzzy
+msgid "Warning: testing this graphic card may freeze your computer"
+msgstr ": i i "
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:29
#, c-format
-msgid "Luxembourg"
-msgstr "Люксембург"
+msgid "Keyboard layout: %s\n"
+msgstr " i: %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/various.pm_.c:30
#, c-format
-msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\".\n"
-msgstr ""
+msgid "Mouse type: %s\n"
+msgstr " : %s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../Xconfig/various.pm_.c:31
#, c-format
-msgid "Level %s\n"
-msgstr "Узровень %s\n"
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Syriac (phonetic)"
-msgstr "Армянскi (фанетычны)"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Iran"
-msgstr "Iранскi"
+msgid "Mouse device: %s\n"
+msgstr ": %s\n"
-#: ../../standalone/harddrake2:1
+#: ../../Xconfig/various.pm_.c:32
#, c-format
-msgid "Bus"
-msgstr "Прац."
+msgid "Monitor: %s\n"
+msgstr "i: %s\n"
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:33
#, c-format
-msgid "Iraq"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "connecting to %s ..."
-msgstr "Чытаю базу дадзеных драйвероў CUPS"
+msgid "Monitor HorizSync: %s\n"
+msgstr " .. i: %s\n"
-#: ../../standalone/drakgw:1
+#: ../../Xconfig/various.pm_.c:34
#, c-format
-msgid "Potential LAN address conflict found in current config of %s!\n"
-msgstr "Патэнцыйны адрас ЛВС канфлiктуе з бягучай канфiгурацыяй %s!\n"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Configuring..."
-msgstr "Настройка IDE"
+msgid "Monitor VertRefresh: %s\n"
+msgstr " .. i: %s\n"
-#: ../../harddrake/v4l.pm:1
+#: ../../Xconfig/various.pm_.c:35
#, c-format
-msgid ""
-"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
-"detect the rights parameters.\n"
-"If your card is misdetected, you can force the right tuner and card types "
-"here. Just select your tv card parameters if needed."
-msgstr ""
+msgid "Graphics card: %s\n"
+msgstr "i: %s\n"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
+#: ../../Xconfig/various.pm_.c:36
#, c-format
-msgid "Password (again)"
-msgstr "Паўтарыце пароль"
+msgid "Graphics memory: %s kB\n"
+msgstr "i: %s \n"
-#: ../../standalone/drakfont:1
+#: ../../Xconfig/various.pm_.c:38
#, c-format
-msgid "Search installed fonts"
-msgstr ""
-
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Default desktop"
-msgstr "Па дамаўленню"
+msgid "Color depth: %s\n"
+msgstr " ii : %s\n"
-#: ../../standalone/drakbug:1
+#: ../../Xconfig/various.pm_.c:39
#, c-format
-msgid ""
-"To submit a bug report, click on the button report.\n"
-"This will open a web browser window on %s\n"
-" where you'll find a form to fill in. The information displayed above will "
-"be \n"
-"transferred to that server."
-msgstr ""
+msgid "Resolution: %s\n"
+msgstr " : %s\n"
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:41
#, c-format
-msgid "Venezuela"
-msgstr "Венэсуэла"
+msgid "XFree86 server: %s\n"
+msgstr " XFree86: %s\n"
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakconnect:1
+#: ../../Xconfig/various.pm_.c:42
#, c-format
-msgid "IP address"
-msgstr "IP адрас"
+msgid "XFree86 driver: %s\n"
+msgstr " XFree86: %s\n"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Choose the sizes"
-msgstr "Выбар памераў"
+#: ../../Xconfig/various.pm_.c:61
+msgid "Graphical interface at startup"
+msgstr " X i"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:62
msgid ""
-"List of data corrupted:\n"
-"\n"
+"I can setup your computer to automatically start the graphical interface "
+"(XFree) upon booting.\n"
+"Would you like XFree to start when you reboot?"
msgstr ""
+" i i X i.\n"
+", X ?"
-#: ../../fs.pm:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:73
msgid ""
-"Can only be mounted explicitly (i.e.,\n"
-"the -a option will not cause the file system to be mounted)."
+"Your graphic card seems to have a TV-OUT connector.\n"
+"It can be configured to work using frame-buffer.\n"
+"\n"
+"For this you have to plug your graphic card to your TV before booting your "
+"computer.\n"
+"Then choose the \"TVout\" entry in the bootloader\n"
+"\n"
+"Do you have this feature?"
msgstr ""
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"Your modem isn't supported by the system.\n"
-"Take a look at http://www.linmodems.org"
-msgstr ""
+#: ../../Xconfig/various.pm_.c:85
+#, fuzzy
+msgid "What norm is your TV using?"
+msgstr "i ISDN ?"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Choose another partition"
-msgstr "Стварэнне новага раздзелу"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132
+msgid "First sector of boot partition"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Current user"
-msgstr "Прыняць карыстальнiка"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132 ../../any.pm_.c:209
+msgid "First sector of drive (MBR)"
+msgstr " (MBR)"
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Username"
-msgstr "Iмя карыстальнiку:"
+#: ../../any.pm_.c:111
+msgid "SILO Installation"
+msgstr " SILO"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left \"Windows\" key"
-msgstr ""
+#: ../../any.pm_.c:112 ../../any.pm_.c:125
+msgid "Where do you want to install the bootloader?"
+msgstr " ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Guyana"
-msgstr "Гайяна"
+#: ../../any.pm_.c:124
+msgid "LILO/grub Installation"
+msgstr " LILO/GRUB"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "dhcpd Server Configuration"
-msgstr "Заканчэнне настройкi"
+#: ../../any.pm_.c:136 ../../any.pm_.c:150
+msgid "SILO"
+msgstr "SILO"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid ""
-"Used for directory:\n"
-" only owner of directory or file in this directory can delete it"
+#: ../../any.pm_.c:138
+msgid "LILO with text menu"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on Novell server \"%s\", printer \"%s\""
+#: ../../any.pm_.c:139 ../../any.pm_.c:150
+msgid "LILO with graphical menu"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Printer Name"
-msgstr "Iмя чаргi друку"
+#: ../../any.pm_.c:142
+msgid "Grub"
+msgstr "Grub"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Setting up USB key"
+#: ../../any.pm_.c:146
+msgid "Boot from DOS/Windows (loadlin)"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Remove a module"
-msgstr "Адваротны парадак старонак"
+#: ../../any.pm_.c:148 ../../any.pm_.c:150
+msgid "Yaboot"
+msgstr "Yaboot"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../network/modem.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Password"
-msgstr "Пароль"
+#: ../../any.pm_.c:158 ../../any.pm_.c:189
+msgid "Bootloader main options"
+msgstr " i "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Advanced Configuration"
-msgstr "Заканчэнне настройкi"
+#: ../../any.pm_.c:159 ../../any.pm_.c:190
+#, fuzzy
+msgid "Bootloader to use"
+msgstr " i "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Scanning on your HP multi-function device"
-msgstr ""
+#: ../../any.pm_.c:161
+msgid "Bootloader installation"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Root"
-msgstr "Root"
+#: ../../any.pm_.c:163 ../../any.pm_.c:192
+msgid "Boot device"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing RAID to add to"
-msgstr "Абярыце iснуючы RAID для дадання"
+#: ../../any.pm_.c:164
+msgid "Compact"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Турэцкi (сучасная \"Q\" мадэль)"
+#: ../../any.pm_.c:164
+msgid "compact"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo message not found"
-msgstr ""
+#: ../../any.pm_.c:165 ../../any.pm_.c:289
+msgid "Video mode"
+msgstr "i-"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
+#: ../../any.pm_.c:167
+msgid "Delay before booting default image"
+msgstr " "
+
+#: ../../any.pm_.c:169 ../../any.pm_.c:772
+#: ../../diskdrake/smbnfs_gtk.pm_.c:179
+#: ../../install_steps_interactive.pm_.c:1077 ../../network/modem.pm_.c:71
+#: ../../printer/printerdrake.pm_.c:803 ../../printer/printerdrake.pm_.c:916
+#: ../../standalone/drakbackup_.c:3478 ../../standalone/drakconnect_.c:622
+#: ../../standalone/drakconnect_.c:647
+msgid "Password"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "if needed"
-msgstr ""
+#: ../../any.pm_.c:170 ../../any.pm_.c:773
+#: ../../install_steps_interactive.pm_.c:1078
+msgid "Password (again)"
+msgstr " "
-#: ../../standalone/drakclock:1
-#, c-format
-msgid ""
-"We need to install ntp package\n"
-" to enable Network Time Protocol"
-msgstr ""
+#: ../../any.pm_.c:171
+msgid "Restrict command line options"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Failed..."
-msgstr "Аднаўленне з файлу"
+#: ../../any.pm_.c:171
+msgid "restrict"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Store the password for this system in drakbackup configuration."
-msgstr ""
+#: ../../any.pm_.c:173
+msgid "Clean /tmp at each boot"
+msgstr " /tmp "
-#: ../../install_messages.pm:1
+#: ../../any.pm_.c:174
#, c-format
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Mandrake "
-"Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read this document carefully. 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 "
-"occurence 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 Mandrake Linux 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\", \"Mandrake Linux\" 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 ""
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr " RAM ( %d M)"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Default user"
-msgstr "Лакальны прынтэр"
+#: ../../any.pm_.c:176
+msgid "Enable multi profiles"
+msgstr " i"
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../any.pm_.c:180
+msgid "Give the ram size in MB"
+msgstr " RAM M"
+
+#: ../../any.pm_.c:182
msgid ""
-"the progress bar x coordinate\n"
-"of its upper left corner"
+"Option ``Restrict command line options'' is of no use without a password"
msgstr ""
+" `` '' "
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Current interface configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../diskdrake/interactive.pm_.c:1204
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "Please try again"
+msgstr " "
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD - Line Printer Daemon"
-msgstr ""
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "The passwords do not match"
+msgstr "i "
-#: ../../network/isdn.pm:1
-#, c-format
-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"
+#: ../../any.pm_.c:191
+msgid "Init Message"
msgstr ""
-"\n"
-"Калi вы маеце ISA карту, велiчынi на наступным экране павiнны быць "
-"сапраўднымi.\n"
-"\n"
-"Калi вы маеце PCMCIA карту, вы павiнны ведаць irq i io вашай карты.\n"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Do not print any test page"
-msgstr "Друк тэставых старонак"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gurmukhi"
+#: ../../any.pm_.c:193
+msgid "Open Firmware Delay"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s already in use\n"
+#: ../../any.pm_.c:194
+msgid "Kernel Boot Timeout"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Force No APIC"
+#: ../../any.pm_.c:195
+msgid "Enable CD Boot?"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "This password is too short (it must be at least %d characters long)"
+#: ../../any.pm_.c:196
+msgid "Enable OF Boot?"
msgstr ""
-"Гэты пароль занадта просты (яго даўжыня павiнна быць не меней за %d лiтараў)"
-
-#: ../../standalone.pm:1
-#, fuzzy, c-format
-msgid "[keyboard]"
-msgstr "Клавiятура"
-#: ../../network/network.pm:1
-#, c-format
-msgid "FTP proxy"
-msgstr "FTP proxy"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Install List"
-msgstr "Усталяванне сiстэмы"
+#: ../../any.pm_.c:197
+#, fuzzy
+msgid "Default OS?"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
+#: ../../any.pm_.c:231
msgid ""
-"Change\n"
-"Restore Path"
-msgstr "Аднаўленне з файлу"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Show only for the selected day"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tLimit disk usage to %s MB\n"
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "512 kB"
-msgstr "512 Кб"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "(Note: Parallel ports cannot be auto-detected)"
+#: ../../any.pm_.c:247
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can add some more or change the existing ones."
msgstr ""
+" .\n"
+" , i i."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>N"
-msgstr ""
+#: ../../any.pm_.c:257 ../../standalone/drakbackup_.c:1531
+#: ../../standalone/drakbackup_.c:1644 ../../standalone/drakfont_.c:953
+#: ../../standalone/drakfont_.c:996
+msgid "Add"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind of card do you have?"
-msgstr "Якi тып карты вы маеце?"
+#: ../../any.pm_.c:257 ../../any.pm_.c:760 ../../diskdrake/dav.pm_.c:68
+#: ../../diskdrake/hd_gtk.pm_.c:156 ../../diskdrake/removable.pm_.c:27
+#: ../../diskdrake/smbnfs_gtk.pm_.c:88 ../../interactive/http.pm_.c:153
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/drakbackup_.c:2726
+msgid "Done"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>O"
-msgstr ""
+#: ../../any.pm_.c:257
+#, fuzzy
+msgid "Modify"
+msgstr "i RAID"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, fuzzy, c-format
-msgid "Security"
-msgstr "кучаравы"
+#: ../../any.pm_.c:265
+msgid "Which type of entry do you want to add?"
+msgstr "i ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can also use the graphical interface \"xpdq\" for setting options and "
-"handling printing jobs.\n"
-"If you are using KDE as desktop environment you have a \"panic button\", an "
-"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
-"jobs immediately when you click it. This is for example useful for paper "
-"jams.\n"
-msgstr ""
+#: ../../any.pm_.c:266 ../../standalone/drakbackup_.c:1674
+msgid "Linux"
+msgstr "Linux"
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "<control>Q"
-msgstr "<control>Q"
+#: ../../any.pm_.c:266
+msgid "Other OS (SunOS...)"
+msgstr "I (SunOS,...)"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Unable to find backups to restore...\n"
-msgstr "Калi ласка, абярыце мову для карыстання."
+#: ../../any.pm_.c:267
+msgid "Other OS (MacOS...)"
+msgstr "I (MacOS,...)"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Unknown"
-msgstr "Агульны"
+#: ../../any.pm_.c:267
+msgid "Other OS (windows...)"
+msgstr "I (windows...)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This server is already in the list, it cannot be added again.\n"
-msgstr ""
+#: ../../any.pm_.c:285
+msgid "Image"
+msgstr ""
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Network Configuration"
-msgstr "Канфiгурацыя сеткi"
+#: ../../any.pm_.c:286 ../../any.pm_.c:297
+msgid "Root"
+msgstr "Root"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>S"
-msgstr ""
+#: ../../any.pm_.c:287 ../../any.pm_.c:315
+msgid "Append"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid ""
-"Protocol for the rest of the world\n"
-"No D-Channel (leased lines)"
-msgstr ""
-"Падключэнне \n"
-" не праз D-канал (вылучаныя каналы)"
+#: ../../any.pm_.c:291
+msgid "Initrd"
+msgstr "Initrd"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - /etc/xinetd.d/tftp:\n"
-" \tdrakTermServ will configure this file to work in conjunction with "
-"the images created\n"
-" \tby mkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
-"the boot image to \n"
-" \teach diskless client.\n"
-"\n"
-" \tA typical tftp configuration file looks like:\n"
-" \t\t\n"
-" \tservice tftp\n"
-"\t\t\t{\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t}\n"
-" \t\t\n"
-" \tThe changes here from the default installation are changing the "
-"disable flag to\n"
-" \t'no' and changing the directory path to /var/lib/tftpboot, where "
-"mkinitrd-net\n"
-" \tputs its images."
-msgstr ""
+#: ../../any.pm_.c:292
+msgid "Read-write"
+msgstr "-i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be a number!"
-msgstr ""
+#: ../../any.pm_.c:299
+msgid "Table"
+msgstr "i"
-#: ../../standalone/drakboot:1 ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Notice"
-msgstr "гальштук"
+#: ../../any.pm_.c:300
+msgid "Unsafe"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "You have not configured X. Are you sure you really want this?"
-msgstr ""
+#: ../../any.pm_.c:307 ../../any.pm_.c:312 ../../any.pm_.c:314
+msgid "Label"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The configuration of the printer will work fully automatically. If your "
-"printer was not correctly detected or if you prefer a customized printer "
-"configuration, turn on \"Manual configuration\"."
-msgstr ""
+#: ../../any.pm_.c:309 ../../any.pm_.c:319 ../../harddrake/v4l.pm_.c:215
+msgid "Default"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "What type of partitioning?"
-msgstr "Якi тып друкаркi вы маеце?"
+#: ../../any.pm_.c:316
+#, fuzzy
+msgid "Initrd-size"
+msgstr "Initrd"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"file list sent by FTP: %s\n"
-" "
+#: ../../any.pm_.c:318
+msgid "NoVideo"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Interface"
-msgstr "Сеткавы iнтэрфейс"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Multisession CD"
-msgstr "Мультымедыя - гук"
+#: ../../any.pm_.c:326
+msgid "Remove entry"
+msgstr "i i"
-#: ../../modules/parameters.pm:1
-#, fuzzy, c-format
-msgid "comma separated strings"
-msgstr "Фарматаванне раздзелаў"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "These are the machines from which the scanners should be used:"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Messages"
-msgstr "Праверка партоў"
+#: ../../any.pm_.c:329
+msgid "Empty label not allowed"
+msgstr " "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH06X (bt878) [many vendors]"
+#: ../../any.pm_.c:330
+msgid "You must specify a kernel image"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "POP and IMAP Server"
-msgstr "сервер"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Mexico"
-msgstr "Порт мышы"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Model stepping"
-msgstr "фарматаванне"
+#: ../../any.pm_.c:330
+#, fuzzy
+msgid "You must specify a root partition"
+msgstr " i swap"
-#: ../../lang.pm:1
-#, c-format
-msgid "Rwanda"
-msgstr "Руанда"
+#: ../../any.pm_.c:331
+msgid "This label is already used"
+msgstr " "
-#: ../../lang.pm:1
+#: ../../any.pm_.c:640
#, c-format
-msgid "Switzerland"
-msgstr "Щвэйцарыя"
+msgid "Found %s %s interfaces"
+msgstr " %s %s i"
-#: ../../lang.pm:1
-#, c-format
-msgid "Brunei Darussalam"
-msgstr "Брунэі Дурасалям"
+#: ../../any.pm_.c:641
+msgid "Do you have another one?"
+msgstr "i i?"
-#: ../../modules/interactive.pm:1
+#: ../../any.pm_.c:642
#, c-format
msgid "Do you have any %s interfaces?"
-msgstr "Цi ёсць у вас %s iнтэрфейс?"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "You must be root to read configuration file. \n"
-msgstr "Канфiгурацыя сеткi"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote lpd Printer Options"
-msgstr "Опцыi аддаленага прынтэру lpd"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"GNU/Linux is a multi-user system, meaning each user may have their own\n"
-"preferences, their own files and so on. You can read the ``Starter Guide''\n"
-"to learn more about multi-user systems. But unlike \"root\", who is the\n"
-"system administrator, the users you add at this point will not be\n"
-"authorized to change anything except their own files and their own\n"
-"configurations, protecting the system from unintentional or malicious\n"
-"changes that impact on the system as a whole. You will have to create at\n"
-"least one regular user for yourself -- this is the account which you should\n"
-"use for routine, day-to-day use. Although it is very easy to log in as\n"
-"\"root\" to do anything and everything, it may also be very dangerous! A\n"
-"very simple mistake could mean that your system will not work any more. If\n"
-"you make a serious mistake as a regular user, the worst that will happen is\n"
-"that you will lose some information, but not affect the entire system.\n"
-"\n"
-"The first field asks you for a real name. Of course, this is not mandatory\n"
-"-- you can actually enter whatever you like. DrakX will use the first word\n"
-"you typed in this field and copy it to the \"%s\" field, which is the name\n"
-"this user will enter to log onto the system. If you like, you may override\n"
-"the default and change the username. The next step is to enter a password.\n"
-"From a security point of view, a non-privileged (regular) user password is\n"
-"not as crucial as the \"root\" password, but that is no reason to neglect\n"
-"it by making it blank or too simple: after all, your files could be the\n"
-"ones at risk.\n"
-"\n"
-"Once you click on \"%s\", you can add other users. Add a user for each one\n"
-"of your friends: your father or your sister, for example. Click \"%s\" when\n"
-"you have finished adding users.\n"
-"\n"
-"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
-"that user (bash by default).\n"
-"\n"
-"When you have finished adding users, you will be asked to choose a user\n"
-"that can automatically log into the system when the computer boots up. If\n"
-"you are interested in that feature (and do not care much about local\n"
-"security), choose the desired user and window manager, then click \"%s\".\n"
-"If you are not interested in this feature, uncheck the \"%s\" box."
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Configure Internet Access..."
-msgstr "Настройка службаў"
+msgstr "i %s i?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please choose the time interval between each backup"
-msgstr "Выбар пакетаў для ўсталявання"
+#: ../../any.pm_.c:644 ../../any.pm_.c:807 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../ugtk2.pm_.c:925
+msgid "No"
+msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Norway"
-msgstr "Нарвежскi"
+#: ../../any.pm_.c:644 ../../any.pm_.c:806 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../standalone/drakgw_.c:258
+#: ../../standalone/drakgw_.c:259 ../../standalone/drakgw_.c:267
+#: ../../standalone/drakgw_.c:277 ../../ugtk2.pm_.c:925
+msgid "Yes"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Delete profile"
-msgstr "Абярыце файл"
+#: ../../any.pm_.c:645
+msgid "See hardware info"
+msgstr ". i "
-#: ../../keyboard.pm:1
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: ../../any.pm_.c:662
#, c-format
-msgid "Danish"
-msgstr "Дацкi"
+msgid "Installing driver for %s card %s"
+msgstr " %s %s"
-#: ../../services.pm:1
+#: ../../any.pm_.c:663
#, c-format
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
+msgid "(module %s)"
+msgstr "( %s)"
-#: ../../network/network.pm:1
+#: ../../any.pm_.c:674
#, c-format
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)."
+"You may now provide its options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
msgstr ""
-"Калi ласка, увядзiце IP канфiгурацыю для вашай машыны.\n"
-"Кожны пункт павiнен быць запоўнены як IP адрас ў дзесяткова-кропкавай \n"
-"натацыi (напрыклад, 1.2.3.4)."
-#: ../../help.pm:1
+#: ../../any.pm_.c:680
#, c-format
msgid ""
-"The Mandrake Linux installation is distributed on several CD-ROMs. DrakX\n"
-"knows if a selected package is located on another CD-ROM so it will eject\n"
-"the current CD and ask you to insert the correct CD as required."
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "When checked, owner and group won't be changed"
+"You may now provide 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''"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Bulgaria"
-msgstr "Мадьярскi"
+#: ../../any.pm_.c:682
+msgid "Module options:"
+msgstr "i :"
-#: ../../standalone/drakbackup:1
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: ../../any.pm_.c:694
#, c-format
-msgid "Tuesday"
-msgstr "Аўторак"
+msgid "Which %s driver should I try?"
+msgstr "i %s ?"
-#: ../../harddrake/data.pm:1
+#: ../../any.pm_.c:703
#, c-format
-msgid "Processors"
+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 ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Svalbard and Jan Mayen Islands"
-msgstr ""
+#: ../../any.pm_.c:707
+msgid "Autoprobe"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "No NIC selected!"
-msgstr "Размеркаванне"
+#: ../../any.pm_.c:707
+msgid "Specify options"
+msgstr " "
-#: ../../network/netconnect.pm:1
+#: ../../any.pm_.c:719
#, c-format
msgid ""
-"Problems occured during configuration.\n"
-"Test your connection via net_monitor or mcc. If your connection doesn't "
-"work, you might want to relaunch the configuration."
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
msgstr ""
+" %s .\n"
+" ii i?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "partition %s is now known as %s"
+#: ../../any.pm_.c:734
+msgid "access to X programs"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup Other files..."
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Kinshasa)"
+#: ../../any.pm_.c:735
+msgid "access to rpm tools"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server IP"
-msgstr "IP сервера SMB"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr "Таблiца размяшчэння прылады %s будзе запiсана на дыск!"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing HPOJ package..."
-msgstr "Усталяванне пакету %s"
-
-#: ../../any.pm:1
-#, c-format
-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?\n"
-"%s"
+#: ../../any.pm_.c:736
+msgid "allow \"su\""
msgstr ""
-"З дапамогай загрузачнага дыску вы зможаце загружаць Linux таксама як i \n"
-"стандартным загрузчыкам. Гэта можа быць якасна, калi вы не жадаеце \n"
-"ўсталёўваць LILO (цi Grub), калi iншая аперацыйная сiстэма выдаляе LILO,\n"
-"цi LILO не можа працаваць у вашай канфiгурацыi. Загрузачны дыск таксама "
-"можа\n"
-"быць выкарыстаны сумесна з рамонтнай дыскетай Mandrake Linux, якая вельмi \n"
-"палегчыць выратаванне сiстэмы пасля збою.\n"
-"\n"
-"Жадаеце стварыць загрузачны дыск зараз?\n"
-"%s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" DrakBackup Daemon Report\n"
+#: ../../any.pm_.c:737
+msgid "access to administrative files"
msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Latvian"
-msgstr "Размеркаванне"
+#: ../../any.pm_.c:738
+msgid "access to network tools"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "monthly"
+#: ../../any.pm_.c:739
+msgid "access to compilation tools"
msgstr ""
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Retry"
-msgstr "Аднаўленне з файлу"
+#: ../../any.pm_.c:744
+#, c-format
+msgid "(already added %s)"
+msgstr "( %s)"
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Module name"
-msgstr "Опцыi модулю:"
+#: ../../any.pm_.c:749
+msgid "This password is too simple"
+msgstr " "
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Start at boot"
-msgstr "Стварыць загр. дыск"
+#: ../../any.pm_.c:750
+msgid "Please give a user name"
+msgstr "i , i i i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental Backups"
+#: ../../any.pm_.c:751
+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:1
-#, c-format
-msgid "First sector of drive (MBR)"
-msgstr "Першы сектар прылады (MBR)"
+#: ../../any.pm_.c:752
+#, fuzzy
+msgid "The user name is too long"
+msgstr " i i "
-#: ../../lang.pm:1
-#, c-format
-msgid "El Salvador"
-msgstr "Эль Сальвадор"
+#: ../../any.pm_.c:753
+msgid "This user name is already added"
+msgstr " i i "
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Joystick"
-msgstr ""
+#: ../../any.pm_.c:757
+msgid "Add user"
+msgstr " i"
-#: ../../standalone/harddrake2:1
+#: ../../any.pm_.c:758
#, c-format
-msgid "DVD"
+msgid ""
+"Enter a user\n"
+"%s"
msgstr ""
+"i i i\n"
+"%s"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Use Unicode by default"
-msgstr ""
+#: ../../any.pm_.c:759
+msgid "Accept user"
+msgstr " i"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the module of the GNU/Linux kernel that handles the device"
-msgstr ""
+#: ../../any.pm_.c:770
+msgid "Real name"
+msgstr " i"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Is your hardware clock set to GMT?"
-msgstr "Ваш сiстэмны гадзiннiк усталяваны на GMT?"
+#: ../../any.pm_.c:771 ../../printer/printerdrake.pm_.c:802
+#: ../../printer/printerdrake.pm_.c:915
+msgid "User name"
+msgstr "I i:"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Trying to rescue partition table"
-msgstr "Паспрабуем выратаваць таблiцу раздзелаў"
+#: ../../any.pm_.c:774
+msgid "Shell"
+msgstr ":"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be an integer number!"
-msgstr ""
+#: ../../any.pm_.c:776
+msgid "Icon"
+msgstr "i"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Use password to authenticate users"
-msgstr ""
+#: ../../any.pm_.c:803
+msgid "Autologin"
+msgstr " i"
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../any.pm_.c:804
+#, fuzzy
msgid ""
-"Entries you'll have to fill:\n"
-"%s"
+"I can set up your computer to automatically log on one user.\n"
+"Do you want to use this feature?"
msgstr ""
+" i i i \n"
+" i. i , ii \"\"."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"For backups to other media, files are still created on the hard drive, then "
-"moved to the other media. Enabling this option will remove the hard drive "
-"tar files after the backup."
-msgstr ""
+#: ../../any.pm_.c:808
+msgid "Choose the default user:"
+msgstr " i:"
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Unable to start live upgrade !!!\n"
-msgstr "Немагчыма запусціць live upgrade !!!\n"
+#: ../../any.pm_.c:809
+msgid "Choose the window manager to run:"
+msgstr " :"
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Name: "
-msgstr "Iмя: "
+#: ../../any.pm_.c:824
+#, fuzzy
+msgid "Please choose a language to use."
+msgstr "i , ."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "up"
-msgstr ""
+#: ../../any.pm_.c:826
+msgid ""
+"Mandrake Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr " , i "
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "16 million colors (24 bits)"
-msgstr "16 мiльёнаў колераў (24 бiты)"
+#: ../../any.pm_.c:840 ../../install_steps_interactive.pm_.c:697
+#: ../../standalone/drakxtv_.c:70
+msgid "All"
+msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
+#: ../../any.pm_.c:961
+#, fuzzy
msgid "Allow all users"
-msgstr "Дадаць карыстальнiка"
+msgstr " i"
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid "The official MandrakeSoft Store"
-msgstr ""
+#: ../../any.pm_.c:961
+#, fuzzy
+msgid "No sharing"
+msgstr ""
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resizing"
-msgstr "Змяненне памераў"
+#: ../../any.pm_.c:971 ../../install_any.pm_.c:1207 ../../standalone.pm_.c:185
+#, fuzzy, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:973
msgid ""
-"Enter the maximum size\n"
-" allowed for Drakbackup (MB)"
+"You can export using NFS or Samba. Please select which you'd like to use."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Cable connection"
-msgstr "Злучэнне прынтэру"
-
-#: ../../standalone/drakperm:1 ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "User"
-msgstr "Iмя карыстальнiку:"
-
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:981 ../../install_any.pm_.c:1212 ../../standalone.pm_.c:190
#, c-format
-msgid "Do new backup before restore (only for incremental backups.)"
+msgid "Mandatory package %s is missing"
msgstr ""
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed"
-msgstr "mkraid не працаздольны"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Name"
-msgstr "Iмя: "
+#: ../../any.pm_.c:987
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 3 Emulation"
+#: ../../any.pm_.c:1001
+msgid "Launch userdrake"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of sgid files"
+#: ../../any.pm_.c:1003
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user in this group."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Sending files..."
-msgstr "Захаванне ў файл"
+#: ../../any.pm_.c:1053 ../../security/level.pm_.c:7
+msgid "Welcome To Crackers"
+msgstr " Crackers"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli (Phonetic)"
-msgstr "Iўрыт (фанетычны)"
+#: ../../any.pm_.c:1054 ../../security/level.pm_.c:8
+msgid "Poor"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "access to rpm tools"
-msgstr ""
+#: ../../any.pm_.c:1055 ../../mouse.pm_.c:31 ../../security/level.pm_.c:9
+msgid "Standard"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "You must choose/enter a printer/device!"
-msgstr "URI прынтэру"
+#: ../../any.pm_.c:1056 ../../security/level.pm_.c:10
+msgid "High"
+msgstr "i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission problem accessing CD."
-msgstr ""
+#: ../../any.pm_.c:1057 ../../security/level.pm_.c:11
+#, fuzzy
+msgid "Higher"
+msgstr "i"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Phone number"
-msgstr "Нумар тэлефону"
+#: ../../any.pm_.c:1058 ../../security/level.pm_.c:12
+msgid "Paranoid"
+msgstr "i"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Error: The \"%s\" driver for your sound card is unlisted"
+#: ../../any.pm_.c:1061
+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. "
+"."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer name, description, location"
-msgstr "Злучэнне прынтэру"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (broadcast)"
+#: ../../any.pm_.c:1064
+msgid ""
+"Password are now enabled, but use as a networked computer is still not "
+"recommended."
msgstr ""
+" , ' i \n"
+" ."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Use Xinerama extension"
+#: ../../any.pm_.c:1065
+#, fuzzy
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
msgstr ""
+" i, i ',\n"
+"i Internet i i. i\n"
+"i."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback"
-msgstr "Вiртуальная файлавая сiстэма (loopback)"
-
-#: ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "West Europe"
-msgstr "Еўропа"
+#: ../../any.pm_.c:1066
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On CD-R"
+#: ../../any.pm_.c:1067
+#, fuzzy
+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 can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
msgstr ""
+" i i i\n"
+". i i \n"
+", i i iii ii."
-#: ../../standalone.pm:1
-#, c-format
+#: ../../any.pm_.c:1070
+#, fuzzy
msgid ""
-"[OPTIONS] [PROGRAM_NAME]\n"
-"\n"
-"OPTIONS:\n"
-" --help - print this help message.\n"
-" --report - program should be one of mandrake tools\n"
-" --incident - program should be one of mandrake tools"
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
msgstr ""
+" ii 4 , i .\n"
+" i i."
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Harddrake2 version %s"
-msgstr "Вызначэнне жорсткага дыску"
+#: ../../any.pm_.c:1076
+#, fuzzy
+msgid "DrakSec Basic Options"
+msgstr "i"
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Preferences"
-msgstr "Параметры: "
+#: ../../any.pm_.c:1077
+#, fuzzy
+msgid "Please choose the desired security level"
+msgstr " i"
-#: ../../lang.pm:1
-#, c-format
-msgid "Swaziland"
-msgstr "Швазіланд"
+#: ../../any.pm_.c:1080
+#, fuzzy
+msgid "Security level"
+msgstr "i i"
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominican Republic"
-msgstr "Дамініканская Рэспубліка"
+#: ../../any.pm_.c:1082
+#, fuzzy
+msgid "Use libsafe for servers"
+msgstr " i "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Copying %s"
+#: ../../any.pm_.c:1083
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Choose color"
-msgstr "Абярыце манiтор"
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Syriac"
-msgstr "паслядоўная"
+#: ../../any.pm_.c:1084
+msgid "Security Administrator (login or email)"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-UID"
+#: ../../any.pm_.c:1166
+msgid ""
+"Here you can choose the key or key combination that will \n"
+"allow switching between the different keyboard layouts\n"
+"(eg: latin and non latin)"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: ../../bootloader.pm_.c:436
+#, c-format
msgid ""
-"Choose the hard drive you want to erase in order to install your new\n"
-"Mandrake Linux partition. Be careful, all data present on this partition\n"
-"will be lost and will not be recoverable!"
+"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 ""
-"Абярыце жорскі дыск які жадаеце ачысціць для ўсталявання\n"
-"новага раздзелу Mandrake Linux. Будзце ўважлівыя, усе дадзеныя на дыску "
-"будуць\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:1
+#: ../../bootloader.pm_.c:983
+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:986
#, 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."
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 2 Button Mouse"
-msgstr "Звычайная мыш з 2 кнопкамі"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to execute the file"
-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:989
+msgid "Press enter to boot the selected OS, 'e' to edit the"
+msgstr "Press enter to boot the selected OS, 'e' to edit the"
-#: ../../lvm.pm:1
-#, c-format
-msgid "Remove the logical volumes first\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:992
+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:1
+#: ../../bootloader.pm_.c:995
#, c-format
msgid "The highlighted entry will be booted automatically in %d seconds."
msgstr "The highlighted entry will be booted automatically in %d seconds."
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Can't write /etc/sysconfig/bootsplash\n"
-"File not found."
-msgstr ""
+#: ../../bootloader.pm_.c:999
+msgid "not enough room in /boot"
+msgstr " /boot"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet access"
-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:1099
+msgid "Desktop"
+msgstr " "
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"y coordinate of text box\n"
-"in number of characters"
-msgstr ""
+#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
+#: ../../bootloader.pm_.c:1101
+msgid "Start Menu"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To get a list of the options available for the current printer click on the "
-"\"Print option list\" button."
-msgstr ""
+#: ../../bootloader.pm_.c:1120
+#, fuzzy, c-format
+msgid "You can't install the bootloader on a %s partition\n"
+msgstr " ?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Enabling servers..."
-msgstr ""
+#: ../../bootlook.pm_.c:53
+#, fuzzy
+msgid "Boot Style Configuration"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing test page(s)..."
-msgstr "Друк тэставых старонак"
+#: ../../bootlook.pm_.c:70 ../../standalone/drakfloppy_.c:54
+#: ../../standalone/harddrake2_.c:81 ../../standalone/harddrake2_.c:82
+#: ../../standalone/logdrake_.c:74
+#, fuzzy
+msgid "/_File"
+msgstr ":\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Transfer successful\n"
-"You may want to verify you can login to the server with:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"without being prompted for a password."
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/logdrake_.c:80
+msgid "/File/_Quit"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr "Ужо ёсць раздзел з пунктам манцiравання %s\n"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable msec hourly security check."
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/harddrake2_.c:82 ../../standalone/logdrake_.c:80
+msgid "<control>Q"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid ""
-"At this point, you need to decide where you want to install the Mandrake\n"
-"Linux operating system on your hard drive. If your hard drive is empty or\n"
-"if an existing operating system is using all the available space you will\n"
-"have to partition the drive. Basically, partitioning a hard drive consists\n"
-"of logically dividing it to create the space needed to install your new\n"
-"Mandrake Linux system.\n"
-"\n"
-"Because the process of partitioning a hard drive is usually irreversible\n"
-"and can lead to lost data if there is an existing operating system already\n"
-"installed on the drive, partitioning can be intimidating and stressful if\n"
-"you are an inexperienced user. Fortunately, DrakX includes a wizard which\n"
-"simplifies this process. Before continuing with this step, read through the\n"
-"rest of this section and above all, take your time.\n"
-"\n"
-"Depending on your hard drive configuration, several options are available:\n"
-"\n"
-" * \"%s\": this option will perform an automatic partitioning of your blank\n"
-"drive(s). If you use this option there will be no further prompts.\n"
-"\n"
-" * \"%s\": the wizard has detected one or more existing Linux partitions on\n"
-"your hard drive. If you want to use them, choose this option. You will then\n"
-"be asked to choose the mount points associated with each of the partitions.\n"
-"The legacy mount points are selected by default, and for the most part it's\n"
-"a good idea to keep them.\n"
-"\n"
-" * \"%s\": if Microsoft Windows is installed on your hard drive and takes\n"
-"all the space available on it, you will have to create free space for\n"
-"Linux. To do so, you can delete your Microsoft Windows partition and data\n"
-"(see ``Erase entire disk'' solution) or resize your Microsoft Windows FAT\n"
-"partition. Resizing can be performed without the loss of any data, provided\n"
-"you have previously defragmented the Windows partition and that it uses the\n"
-"FAT format. Backing up your data is strongly recommended.. Using this\n"
-"option is recommended if you want to use both Mandrake Linux and Microsoft\n"
-"Windows on the same computer.\n"
-"\n"
-" Before choosing this option, please understand that after this\n"
-"procedure, the size of your Microsoft Windows partition will be smaller\n"
-"then when you started. You will have less free space under Microsoft\n"
-"Windows to store your data or to install new software.\n"
-"\n"
-" * \"%s\": if you want to delete all data and all partitions present on\n"
-"your hard drive and replace them with your new Mandrake Linux system,\n"
-"choose this option. Be careful, because you will not be able to undo your\n"
-"choice after you confirm.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be deleted. !!\n"
-"\n"
-" * \"%s\": this will simply erase everything on the drive and begin fresh,\n"
-"partitioning everything from scratch. All data on your disk will be lost.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be lost. !!\n"
-"\n"
-" * \"%s\": choose this option if you want to manually partition your hard\n"
-"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
-"easily lose all your data. That's why this option is really only\n"
-"recommended if you have done something like this before and have some\n"
-"experience. For more instructions on how to use the DiskDrake utility,\n"
-"refer to the ``Managing Your Partitions '' section in the ``Starter\n"
-"Guide''."
-msgstr ""
-"У гэтым пункце, вы павінны абраць дзе на вашым жорскім \n"
-"дыску усталяваць аперацыйную сістэму Mandrake Linux. Калі дыск пусты\n"
-"альбо ўсталываная аперацыйная аперацыйная сістэма выкарыстоўвае ўсю\n"
-"дыскавую прастору, вы павінны разьбіць яго на раздзелы. У асноўным,\n"
-"разбіццё раздзелаў жорскага дыску складаецца з лагічнага дзялення яго\n"
-"дыскавай прасторы дзеля ўсталявання вашай новай сістэмы Mandrake Linux.\n"
-"\n"
-"Таму як вынікі разбіцця раздзелаў звычайна незваротныя, гэты працэс \n"
-"можа быць пужаючым і напружаным, калі вы невопытны карыстальнік. Гэты\n"
-"майстар спрашчае гэты працэс. Перад тым як пачаць звярніцеся, калі\n"
-"ласка, да даведкі.\n"
-"\n"
-"Вам патрэбна, сама мала, два раздзелы. Першы непасрэдна для аперацыйнай\n"
-"сістэмы, і другі для віртуальнай памяці (Swap - раздзел).\n"
-"\n"
-"Калі раздзелы ўжо вызначаны (у папярэдняе ўсталяванне ці іншым \n"
-"інструмантам вызначэння раздзелаў), вы павінны абраць тыя, якія жадаеце\n"
-"выкарыстоўваць для ўсталявання сістэмы.\n"
-"\n"
-"\n"
-"Калі раздзелы не былі вызначаны, вы павінны іх стварыць. Каб зрабіць \n"
-"гэта, скарыстайце майстра, даступнага вышэй. У залежнасці ад \n"
-"канфігурацыі жорсткага дыску, могжа быць зроблена наступнае:\n"
-"\n"
-"* Выкарыстанне існуючага раздзелу: майстар знайшоў адзін ці некалькі.\n"
-"існуючых раздзелаў на вашым жорскім дыску. Калі вы жадаеце іх захаваць,\n"
-"абярыце гетую опцыю.\n"
-"\n"
-"\n"
-"* Поўная ачыстка дыску: абярыце гэта, калі вы жадаеце выдаліць уседадзеныя і "
-"раздзелы якія існуюць\n"
-" на вашым дыску і замяніць на Mandrake Linux. Будзце уважлівы з гэтайопцыяй, "
-"бо гэты працэс незваротны.\n"
-"\n"
-"\n"
-"* Выкарыстанне вольнай прасторы на раздзеле Windows: калі MicrosoftWindows "
-"усталявана на вашым жорскім\n"
-" дыску і выкарыстоўвае ўсю даступную прастору, вы павінны стварыцьвольную "
-"прастору для дадзеных Linux\n"
-"Каб зрабіць гэта, вы можаце выдаляць ваш раздзел Windows і дадзеныя(гл."
-"\"Ачыстка усяго дыску\" альбо\n"
-" \"Рэжым эксперту\") альбо змяніць памеры вашага раздзелу WindowsЗмяненне "
-"памераў можа быць выканана\n"
-" без страты дадзеных. Гэтая опцыя рэкамендуецца, калі вы "
-"жадаецевыкарыстоўваць Mandrake Linux і\n"
-" Microsoft Windows на адным і тым жа камп'ютэры.\n"
-"\n"
-" Перад выбарам гэтага, калі ласка, зьвярніце ўвагу, на тое, штоколькасьць "
-"даступнай вольнай\n"
-" прасторы пад Microsoft Windows зменшыцца.\n"
-"\n"
-"\n"
-"* Рэжым эксперту: вы можаце абраць гэтую опцыю, калі вы жадаецеразбіць "
-"раздзелы уласна рукамі.\n"
-" Будзце ўважлівыя абіраючы гэта. Гэтая опцыя магутная але даволінебяспечная, "
-"вы можаце\n"
-" лёгка згубіць свае дадзеныя. Таму не абірайце гэтую опцыю калі выне ведаеце "
-"што робіце."
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Ukraine"
-msgstr "Украiнскi"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Application:"
-msgstr "Размеркаванне"
-
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "External ISDN modem"
-msgstr "Унутраная ISDN карта"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result by mail."
+#: ../../bootlook.pm_.c:82
+msgid "NewStyle Categorizing Monitor"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Ваш выбар? (змоўчанне %s) "
+#: ../../bootlook.pm_.c:83
+#, fuzzy
+msgid "NewStyle Monitor"
+msgstr "i"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Trouble shooting"
-msgstr ""
+#: ../../bootlook.pm_.c:84
+#, fuzzy
+msgid "Traditional Monitor"
+msgstr "i i"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
+#: ../../bootlook.pm_.c:85
+msgid "Traditional Gtk+ Monitor"
msgstr ""
-"Тэставыя старонкi адпраўлены дэману друку.\n"
-"Перад тым, як прынтэр запрацуе, можа прайсцi пэўны час.\n"
-"Статус друку:\n"
-"%s\n"
-"\n"
-"Ён працуе нармальна?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "daily"
+#: ../../bootlook.pm_.c:86
+msgid "Launch Aurora at boot time"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "and one unknown printer"
-msgstr "Iмя друкаркi"
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "Ireland"
-msgstr "Iсландскi"
+#: ../../bootlook.pm_.c:89
+#, fuzzy
+msgid "Lilo/grub mode"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " Restore Configuration "
-msgstr "Канфiгурацыя сеткi"
+#: ../../bootlook.pm_.c:89
+#, fuzzy
+msgid "Yaboot mode"
+msgstr " "
-#: ../../Xconfig/test.pm:1
-#, fuzzy, c-format
-msgid "Is this the correct setting?"
-msgstr "Гэта дакладна?"
+#: ../../bootlook.pm_.c:138
+#, fuzzy
+msgid "Install themes"
+msgstr " i"
-#: ../../help.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:139
msgid ""
-"You will now set up your Internet/network connection. If you wish to\n"
-"connect your computer to the Internet or to a local network, click \"%s\".\n"
-"Mandrake Linux will attempt to autodetect network devices and modems. If\n"
-"this detection fails, uncheck the \"%s\" box. You may also choose not to\n"
-"configure the network, or to do it later, in which case clicking the \"%s\"\n"
-"button will take you to the next step.\n"
-"\n"
-"When configuring your network, the available connections options are:\n"
-"traditional modem, ISDN modem, ADSL connection, cable modem, and finally a\n"
-"simple LAN connection (Ethernet).\n"
-"\n"
-"We will not detail each configuration option - just make sure that you have\n"
-"all the parameters, such as IP address, default gateway, DNS servers, etc.\n"
-"from your Internet Service Provider or system administrator.\n"
-"\n"
-"You can consult the ``Starter Guide'' chapter about Internet connections\n"
-"for details about the configuration, or simply wait until your system is\n"
-"installed and use the program described there to configure your connection."
+"Display theme\n"
+"under console"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Wizard Configuration"
-msgstr "Настройка"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Autoprobe"
-msgstr "Аўтапошук"
+#: ../../bootlook.pm_.c:140
+#, fuzzy
+msgid "Create new theme"
+msgstr " "
-#: ../../security/help.pm:1
+#: ../../bootlook.pm_.c:184
#, c-format
-msgid ""
-"if set to yes, check for :\n"
-"\n"
-"- empty passwords,\n"
-"\n"
-"- no password in /etc/shadow\n"
-"\n"
-"- for users with the 0 id other than root."
+msgid "Backup %s to %s.old"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../bootlook.pm_.c:187
#, c-format
-msgid "Backup system files..."
+msgid "Copy %s to %s"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Can't use broadcast with no NIS domain"
-msgstr "Немагчыма выкарыстоўваць broadcast без дамена NIS"
+#: ../../bootlook.pm_.c:192 ../../bootlook.pm_.c:222 ../../bootlook.pm_.c:224
+#: ../../bootlook.pm_.c:234 ../../bootlook.pm_.c:243 ../../bootlook.pm_.c:250
+#: ../../diskdrake/dav.pm_.c:77 ../../diskdrake/hd_gtk.pm_.c:119
+#: ../../diskdrake/interactive.pm_.c:216 ../../diskdrake/interactive.pm_.c:352
+#: ../../diskdrake/interactive.pm_.c:367 ../../diskdrake/interactive.pm_.c:481
+#: ../../diskdrake/interactive.pm_.c:486 ../../diskdrake/smbnfs_gtk.pm_.c:45
+#: ../../fsedit.pm_.c:239 ../../install_steps.pm_.c:75
+#: ../../install_steps_interactive.pm_.c:67 ../../interactive/http.pm_.c:119
+#: ../../interactive/http.pm_.c:120 ../../standalone/draksplash_.c:21
+msgid "Error"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Removing printer \"%s\"..."
-msgstr "Чытаю базу дадзеных драйвероў CUPS"
+#: ../../bootlook.pm_.c:192
+msgid "Lilo message not found"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell history size"
+#: ../../bootlook.pm_.c:222
+msgid "Can't write /etc/sysconfig/bootsplash."
msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../bootlook.pm_.c:222
#, fuzzy, c-format
-msgid "drakfloppy"
-msgstr "Аднаўленне з дыскеты"
+msgid "Write %s"
+msgstr " XFree86 %s"
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../bootlook.pm_.c:224
msgid ""
-"Please indicate where the auto_install.cfg file is located.\n"
-"\n"
-"Leave it blank if you do not want to set up automatic installation mode.\n"
-"\n"
+"Can't write /etc/sysconfig/bootsplash\n"
+"File not found."
msgstr ""
-#: ../../printer/cups.pm:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configured on other machines"
-msgstr "Настройка службаў"
-
-#: ../../standalone/harddrake2:1
+#: ../../bootlook.pm_.c:235
#, c-format
-msgid "information level that can be obtained through the cpuid instruction"
+msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
msgstr ""
-#: ../../lang.pm:1
+#: ../../bootlook.pm_.c:238
#, c-format
-msgid "Peru"
-msgstr "Перу"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " on device: %s"
-msgstr "Мыш: %s\n"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Remove Windows(TM)"
-msgstr "Выдалiць Windows(TM)"
-
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr "Запускае i прыпыняе X Font Server пры загрузцы i выключэннi."
+msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../bootlook.pm_.c:244
msgid ""
-"Most of these values were extracted\n"
-"from your running system.\n"
-"You can modify as needed."
+"Can't relaunch LiLo!\n"
+"Launch \"lilo\" as root in command line to complete LiLo theme installation."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Select the font file or directory and click on 'Add'"
+#: ../../bootlook.pm_.c:248
+msgid "Relaunch 'lilo'"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Madagascar"
-msgstr "Мадагаскар"
+#: ../../bootlook.pm_.c:250 ../../standalone/draksplash_.c:156
+#: ../../standalone/draksplash_.c:321 ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "Notice"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Urpmi"
+#: ../../bootlook.pm_.c:251
+msgid "LiLo and Bootsplash themes installation successfull"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Cron not available yet as non-root"
-msgstr ""
+#: ../../bootlook.pm_.c:251
+#, fuzzy
+msgid "Theme installation failed!"
+msgstr " "
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#: ../../standalone/drakbackup:1
+#: ../../bootlook.pm_.c:259
#, fuzzy, c-format
-msgid "System"
-msgstr "Mouse Systems"
+msgid ""
+"You are currently using %s as your boot manager.\n"
+"Click on Configure to launch the setup wizard."
+msgstr " I-"
-#: ../../any.pm:1 ../../help.pm:1
-#, fuzzy, c-format
-msgid "Do you want to use this feature?"
-msgstr "Вы жадаеце выкарыстоўваць aboot?"
+#: ../../bootlook.pm_.c:261 ../../standalone/drakbackup_.c:2380
+#: ../../standalone/drakbackup_.c:2390 ../../standalone/drakbackup_.c:2400
+#: ../../standalone/drakbackup_.c:2408 ../../standalone/drakgw_.c:551
+#, fuzzy
+msgid "Configure"
+msgstr " X Window"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Arabic"
-msgstr ""
+#: ../../bootlook.pm_.c:268
+#, fuzzy
+msgid "Splash selection"
+msgstr "i "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
+#: ../../bootlook.pm_.c:271
+#, fuzzy
+msgid "Themes"
+msgstr ""
+
+#: ../../bootlook.pm_.c:273
msgid ""
"\n"
-"- Options:\n"
-msgstr "Опцыi"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Password required"
-msgstr "Пароль"
-
-#: ../../common.pm:1
-#, c-format
-msgid "%d minutes"
-msgstr "%d хвiлiн"
+"Select theme for\n"
+"lilo and bootsplash,\n"
+"you can choose\n"
+"them separatly"
+msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Graphics card: %s"
-msgstr "Вiдэакарта: %s"
+#: ../../bootlook.pm_.c:276
+msgid "Lilo screen"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WebDAV transfer failed!"
+#: ../../bootlook.pm_.c:281
+msgid "Bootsplash"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree configuration"
-msgstr "Настройка XFree"
+#: ../../bootlook.pm_.c:316
+msgid "System mode"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Choose action"
-msgstr "Абярыце дзеянне"
+#: ../../bootlook.pm_.c:318
+msgid "Launch the graphical environment when your system starts"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "French Polynesia"
-msgstr "Француская Палінэзыя"
+#: ../../bootlook.pm_.c:323
+msgid "No, I don't want autologin"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Usually, DrakX has no problems detecting the number of buttons on your\n"
-"mouse. If it does, it assumes you have a two-button mouse and will\n"
-"configure it for third-button emulation. The third-button mouse button of a\n"
-"two-button mouse can be ``pressed'' by simultaneously clicking the left and\n"
-"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
-"a PS/2, serial or USB interface.\n"
-"\n"
-"If for some reason you wish to specify a different type of mouse, select it\n"
-"from the list provided.\n"
-"\n"
-"If you choose a mouse other than the default, a test screen will be\n"
-"displayed. Use the buttons and wheel to verify that the settings are\n"
-"correct and that the mouse is working correctly. If the mouse is not\n"
-"working well, press the space bar or [Return] key to cancel the test and to\n"
-"go back to the list of choices.\n"
-"\n"
-"Wheel mice are occasionally not detected automatically, so you will need to\n"
-"select your mouse from a list. Be sure to select the one corresponding to\n"
-"the port that your mouse is attached to. After selecting a mouse and\n"
-"pressing the \"%s\" button, a mouse image is displayed on-screen. Scroll\n"
-"the mouse wheel to ensure that it is activated correctly. Once you see the\n"
-"on-screen scroll wheel moving as you scroll your mouse wheel, test the\n"
-"buttons and check that the mouse pointer moves on-screen as you move your\n"
-"mouse."
+#: ../../bootlook.pm_.c:325
+msgid "Yes, I want autologin with this (user, desktop)"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Support the OKI 4w and compatible winprinters."
+#: ../../bootlook.pm_.c:335 ../../network/netconnect.pm_.c:96
+#: ../../standalone/drakTermServ_.c:222 ../../standalone/drakTermServ_.c:355
+#: ../../standalone/drakbackup_.c:4139 ../../standalone/drakbackup_.c:4797
+#: ../../standalone/drakconnect_.c:105 ../../standalone/drakconnect_.c:137
+#: ../../standalone/drakconnect_.c:293 ../../standalone/drakconnect_.c:432
+#: ../../standalone/drakconnect_.c:518 ../../standalone/drakconnect_.c:561
+#: ../../standalone/drakconnect_.c:665 ../../standalone/drakfont_.c:604
+#: ../../standalone/drakfont_.c:783 ../../standalone/drakfont_.c:911
+#: ../../standalone/net_monitor_.c:336 ../../ugtk.pm_.c:288
+#: ../../ugtk2.pm_.c:355
+msgid "OK"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Files or wildcards listed in a .backupignore file at the top of a directory "
-"tree will not be backed up."
+#: ../../common.pm_.c:107
+msgid "GB"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+#: ../../common.pm_.c:107
+msgid "KB"
msgstr ""
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "Усталяванне драйверу для %s карты %s"
+#: ../../common.pm_.c:107
+msgid "MB"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You have transferred your former default printer (\"%s\"), Should it be also "
-"the default printer under the new printing system %s?"
+#: ../../common.pm_.c:115
+msgid "TB"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Enable Server"
-msgstr "Сервер друку"
-
-#: ../../keyboard.pm:1
+#: ../../common.pm_.c:123
#, c-format
-msgid "Ukrainian"
-msgstr "Украiнскi"
+msgid "%d minutes"
+msgstr "%d ii"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The network access was not running and could not be started. Please check "
-"your configuration and your hardware. Then try to configure your remote "
-"printer again."
-msgstr ""
+#: ../../common.pm_.c:125
+msgid "1 minute"
+msgstr "1 ii"
-#: ../../standalone/drakperm:1
+#: ../../common.pm_.c:127
#, c-format
-msgid "Enable \"%s\" to write the file"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Please insert the Boot floppy used in drive %s"
-msgstr "Устаўце дыскету ў дыскавод %s"
+msgid "%d seconds"
+msgstr "%d "
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Local network(s)"
-msgstr "сеткавая карта не знойдзена"
+#: ../../common.pm_.c:172
+#, fuzzy
+msgid "Can't make screenshots before partitioning"
+msgstr " "
-#: ../../help.pm:1
+#: ../../common.pm_.c:179
#, fuzzy, c-format
-msgid "Remove Windows"
-msgstr "Выдалiць Windows(TM)"
+msgid "Screenshots will be available after install in %s"
+msgstr " , i "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Your %s has been configured.\n"
-"You may now scan documents using \"XSane\" from Multimedia/Graphics in the "
-"applications menu."
-msgstr ""
+#: ../../crypto.pm_.c:14 ../../crypto.pm_.c:28 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:127
+msgid "France"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Firewire controllers"
+#: ../../crypto.pm_.c:15
+msgid "Costa Rica"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid ""
-"After you have configured the general bootloader parameters, the list of\n"
-"boot options that will be available at boot time will be displayed.\n"
-"\n"
-"If there are other operating systems installed on your machine they will\n"
-"automatically be added to the boot menu. You can fine-tune the existing\n"
-"options by clicking \"%s\" to create a new entry; selecting an entry and\n"
-"clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your\n"
-"changes.\n"
-"\n"
-"You may also not want to give access to these other operating systems to\n"
-"anyone who goes to the console and reboots the machine. You can delete the\n"
-"corresponding entries for the operating systems to remove them from the\n"
-"bootloader menu, but you will need a boot disk in order to boot those other\n"
-"operating systems!"
-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цца!"
+#: ../../crypto.pm_.c:16 ../../crypto.pm_.c:29 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:130
+#, fuzzy
+msgid "Belgium"
+msgstr "ii"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "System mode"
+#: ../../crypto.pm_.c:17 ../../crypto.pm_.c:30
+msgid "Czech Republic"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"To print on 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."
-msgstr ""
-"Для друку на прынтэры NetWare неабходна пазначыць iмя серверу друку NetWare "
-"(не заўсёды супадае з iменем у сетцы TCP/IP) i iмя чаргi друку, якая "
-"адпавядае абранаму прынтэру, а таксама iмя карыстальнiку i пароль."
+#: ../../crypto.pm_.c:18 ../../crypto.pm_.c:31
+msgid "Germany"
+msgstr "i"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Netmask:"
-msgstr "Маска сеткi"
+#: ../../crypto.pm_.c:19 ../../crypto.pm_.c:32
+#, fuzzy
+msgid "Greece"
+msgstr "i"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Do it later"
-msgstr ""
+#: ../../crypto.pm_.c:20 ../../crypto.pm_.c:33
+#, fuzzy
+msgid "Norway"
+msgstr "i"
-#: ../../any.pm:1
-#, c-format
-msgid "Append"
-msgstr "Далучыць"
+#: ../../crypto.pm_.c:21 ../../crypto.pm_.c:34
+#, fuzzy
+msgid "Sweden"
+msgstr "."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refresh printer list (to display all available remote CUPS printers)"
+#: ../../crypto.pm_.c:22 ../../crypto.pm_.c:36 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:128
+msgid "Netherlands"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"When this option is turned on, on every startup of CUPS it is automatically "
-"made sure that\n"
-"\n"
-"- if LPD/LPRng is installed, /etc/printcap will not be overwritten by CUPS\n"
-"\n"
-"- if /etc/cups/cupsd.conf is missing, it will be created\n"
-"\n"
-"- when printer information is broadcasted, it does not contain \"localhost\" "
-"as the server name.\n"
-"\n"
-"If some of these measures lead to problems for you, turn this option off, "
-"but then you have to take care of these points."
-msgstr ""
+#: ../../crypto.pm_.c:23 ../../crypto.pm_.c:37 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:129 ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Italy"
+msgstr "Ii"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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 ""
+#: ../../crypto.pm_.c:24 ../../crypto.pm_.c:38
+#, fuzzy
+msgid "Austria"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Network printer \"%s\", port %s"
-msgstr "Сеткавы прынтэр (TCP/Socket)"
+#: ../../crypto.pm_.c:35 ../../crypto.pm_.c:61 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:131
+msgid "United States"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../diskdrake/dav.pm_.c:19
msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
msgstr ""
-"Калi ласка, абярыце сеткавы адаптар, які будзе выкарыстаны для далучэння да "
-"вашай лакальнай сеткi."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "OK to restore the other files."
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:27
+msgid "New"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Please choose your keyboard layout."
-msgstr "Калi ласка, абярыце тып клавiятуры."
+#: ../../diskdrake/dav.pm_.c:63 ../../diskdrake/interactive.pm_.c:400
+#: ../../diskdrake/smbnfs_gtk.pm_.c:81
+msgid "Unmount"
+msgstr "i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Device URI"
-msgstr "URI прынтэру"
+#: ../../diskdrake/dav.pm_.c:64 ../../diskdrake/interactive.pm_.c:397
+#: ../../diskdrake/smbnfs_gtk.pm_.c:82
+msgid "Mount"
+msgstr "i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not erasable media!"
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:65
+#, fuzzy
+msgid "Server"
+msgstr ""
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Terminal-based"
-msgstr "на аснове тэрмiналу"
+#: ../../diskdrake/dav.pm_.c:66 ../../diskdrake/interactive.pm_.c:391
+#: ../../diskdrake/interactive.pm_.c:580 ../../diskdrake/interactive.pm_.c:607
+#: ../../diskdrake/removable.pm_.c:24 ../../diskdrake/smbnfs_gtk.pm_.c:85
+msgid "Mount point"
+msgstr " i"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable IP spoofing protection."
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:85
+#, fuzzy
+msgid "Please enter the WebDAV server URL"
+msgstr " , ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing a printing system in the %s security level"
+#: ../../diskdrake/dav.pm_.c:88
+msgid "The URL must begin with http:// or https://"
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "The user name is too long"
-msgstr "Гэта iмя карыстальнiку ўжо дададзена"
+#: ../../diskdrake/dav.pm_.c:109
+#, fuzzy
+msgid "Server: "
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (windows...)"
-msgstr "Iншая АС (windows...)"
+#: ../../diskdrake/dav.pm_.c:110 ../../diskdrake/interactive.pm_.c:452
+#: ../../diskdrake/interactive.pm_.c:1102
+#: ../../diskdrake/interactive.pm_.c:1177
+msgid "Mount point: "
+msgstr " i:"
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/dav.pm_.c:111 ../../diskdrake/interactive.pm_.c:1183
#, c-format
-msgid "WebDAV remote site already in sync!"
-msgstr ""
+msgid "Options: %s"
+msgstr "i: %s"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Reading printer database..."
-msgstr "Чытаю базу дадзеных драйвероў CUPS"
+#: ../../diskdrake/hd_gtk.pm_.c:97
+msgid "Please make a backup of your data first"
+msgstr "-, i i "
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Generate auto install floppy"
-msgstr "Стварэнне дыскеты для ўсталявання"
+#: ../../diskdrake/hd_gtk.pm_.c:97 ../../diskdrake/interactive.pm_.c:946
+#: ../../diskdrake/interactive.pm_.c:956
+#: ../../diskdrake/interactive.pm_.c:1022
+msgid "Read carefully!"
+msgstr " i!"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:100
msgid ""
-"\t\t user name: %s\n"
-"\t\t on path: %s \n"
+"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 "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Somalia"
-msgstr "NIS Domain"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No open source driver"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:154
+msgid "Wizard"
+msgstr " "
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Def."
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:187
+msgid "Choose action"
+msgstr " "
-#: ../../security/level.pm:1
-#, fuzzy, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:191
msgid ""
-"This is similar to the previous level, but the system is entirely closed and "
-"security features are at their maximum."
+"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 4 узроўня, але зараз сiстэма поўнасцю зачынена.\n"
-"Параметры бяспекi ўстаноўлены на максiмум."
+" i i ii FAT\n"
+"( MS Dos/Windows).\n"
+", -, i \n"
+"(ii , \" \")"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nicaragua"
-msgstr "Нікарагуа"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "New Caledonia"
-msgstr "Новая Калядонія"
+#: ../../diskdrake/hd_gtk.pm_.c:194
+msgid "Please click on a partition"
+msgstr " "
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "European protocol (EDSS1)"
-msgstr "Еўропа (EDSS1)"
+#: ../../diskdrake/hd_gtk.pm_.c:208 ../../diskdrake/smbnfs_gtk.pm_.c:69
+#: ../../install_steps_gtk.pm_.c:464
+msgid "Details"
+msgstr "i"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Delete"
-msgstr "/_Выдаліць"
+#: ../../diskdrake/hd_gtk.pm_.c:254
+#, fuzzy
+msgid "No hard drives found"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Video mode"
-msgstr "Вiдэа-рэжым"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Ext2"
+msgstr "Ext2"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Oman"
-msgstr "NIS Domain"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "FAT"
+msgstr "FAT"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Please enter your email address below "
-msgstr "Паспрабуйце яшчэ раз"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "HFS"
+msgstr "HFS"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Network Monitoring"
-msgstr "Канфiгурацыя сеткi"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+#, fuzzy
+msgid "Journalised FS"
+msgstr " i"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:325
msgid "SunOS"
msgstr "SunOS"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "New size in MB: "
-msgstr "Памер у Мб:"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Swap"
+msgstr "Swap"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Тып таблiцы раздзелаў: %s\n"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../diskdrake/interactive.pm_.c:1118
+msgid "Empty"
+msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Authentication Windows Domain"
-msgstr "Аўтэнтыфiкацыя"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../install_steps_gtk.pm_.c:324
+#: ../../install_steps_gtk.pm_.c:382 ../../mouse.pm_.c:165
+#: ../../services.pm_.c:162 ../../standalone/drakbackup_.c:1719
+msgid "Other"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard"
-msgstr "US клавiятура"
+#: ../../diskdrake/hd_gtk.pm_.c:330
+msgid "Filesystem types:"
+msgstr " i:"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Buttons emulation"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:414
+msgid "Create"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", network printer \"%s\", port %s"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:392
+#: ../../diskdrake/interactive.pm_.c:543 ../../diskdrake/removable.pm_.c:26
+#: ../../diskdrake/removable.pm_.c:49 ../../standalone/harddrake2_.c:66
+msgid "Type"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/hd_gtk.pm_.c:349
#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via tape:\n"
-"\n"
-msgstr ""
+msgid "Use ``%s'' instead"
+msgstr " ``%s'' "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" FTP connection problem: It was not possible to send your backup files by "
-"FTP.\n"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:349 ../../diskdrake/interactive.pm_.c:401
+msgid "Delete"
+msgstr "i"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Sending Speed:"
-msgstr "Захаванне ў файл"
+#: ../../diskdrake/hd_gtk.pm_.c:353
+msgid "Use ``Unmount'' first"
+msgstr " i ``Unmount''"
-#: ../../harddrake/sound.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:354 ../../diskdrake/interactive.pm_.c:530
#, c-format
msgid ""
-"The classic bug sound tester is to run the following commands:\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
-"by default\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" will tell you what driver it\n"
-"currently uses\n"
-"\n"
-"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-"loaded or not\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
-"tell you if sound and alsa services're configured to be run on\n"
-"initlevel 3\n"
-"\n"
-"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Halt bug"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Mail alert configuration"
-msgstr "Настройка ADSL"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tokelau"
-msgstr "Такелаў"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Matching"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Bosnian"
-msgstr "Эстонскi"
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr " %s "
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Release: "
-msgstr "Калi ласка, пачакайце"
+#: ../../diskdrake/interactive.pm_.c:177
+#, fuzzy
+msgid "Choose a partition"
+msgstr " "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Connection speed"
-msgstr "Iмя злучэння"
+#: ../../diskdrake/interactive.pm_.c:177
+#, fuzzy
+msgid "Choose another partition"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Namibia"
-msgstr "Намібія"
+#: ../../diskdrake/interactive.pm_.c:202
+#, fuzzy
+msgid "Exit"
+msgstr "Ext2"
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Database Server"
-msgstr "Сервер друку"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to expert mode"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "special capacities of the driver (burning ability and or DVD support)"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to normal mode"
+msgstr " "
-#: ../../raid.pm:1
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr "Не атрымлiваецца дадаць раздзел на _адфармацiраваны_ RAID md%d"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Undo"
+msgstr ""
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Network Time Protocol"
-msgstr "Сеткавы iнтэрфейс"
+#: ../../diskdrake/interactive.pm_.c:247
+msgid "Continue anyway?"
+msgstr " ?"
-#: ../../Xconfig/card.pm:1
-#, 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-паскарэннем."
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without saving"
+msgstr "i "
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Please wait, setting security options..."
-msgstr "Падрыхтоўка ўсталяваньня"
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without writing the partition table?"
+msgstr "i i i "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH05X (bt878) [many vendors]"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:257
+#, fuzzy
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "i i i?"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Launch the graphical environment when your system starts"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:271
+msgid "Clear all"
+msgstr "i "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hourly"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:272
+msgid "Auto allocate"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Shift key"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:273
+#: ../../install_steps_interactive.pm_.c:220
+#, fuzzy
+msgid "More"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Successfuly Restored on %s "
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:278
+#, fuzzy
+msgid "Hard drive information"
+msgstr "I"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Making printer port available for CUPS..."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:310
+msgid "All primary partitions are used"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Antigua and Barbuda"
-msgstr "Анцігуа і Барбуда"
+#: ../../diskdrake/interactive.pm_.c:311
+msgid "I can't add any more partition"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:312
msgid ""
-"!!! Indicates the password in the system database is different than\n"
-" the one in the Terminal Server database.\n"
-"Delete/re-add the user to the Terminal Server to enable login."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Spanish"
-msgstr "Iспанскi"
-
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Start"
-msgstr "Стартавае меню"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Direct root login"
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
msgstr ""
+" i , i i i "
+"(extended)"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configuring applications..."
-msgstr "Настройка прынтэру"
+#: ../../diskdrake/interactive.pm_.c:322
+#, fuzzy
+msgid "Save partition table"
+msgstr "i i "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer, connected directly to the network or to a remote Windows machine.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected. Also your network printer(s) and your Windows "
-"machines must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network and/or Windows-hosted printers when you don't need "
-"it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:323
+#, fuzzy
+msgid "Restore partition table"
+msgstr " i "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Normal modem connection"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:324
+msgid "Rescue partition table"
+msgstr " i "
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "File Selection"
-msgstr "Выбар групы пакетаў"
+#: ../../diskdrake/interactive.pm_.c:326
+#, fuzzy
+msgid "Reload partition table"
+msgstr " i "
-#: ../../help.pm:1 ../../printer/cups.pm:1 ../../printer/data.pm:1
-#, c-format
-msgid "CUPS"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:331
+#, fuzzy
+msgid "Removable media automounting"
+msgstr "i "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Erase tape before backup"
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../diskdrake/interactive.pm_.c:340 ../../diskdrake/interactive.pm_.c:360
+msgid "Select file"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Run config tool"
+#: ../../diskdrake/interactive.pm_.c:347
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
msgstr ""
+"i i \n"
+" ?"
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation"
-msgstr "Усталяванне загрузчыку"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Root partition size in MB: "
-msgstr "Каранёвы раздзел ў Mб: "
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Гэта абавязковы пакет, яго вылучэнне нельга адмянiць"
+#: ../../diskdrake/interactive.pm_.c:361 ../../harddrake/sound.pm_.c:202
+#: ../../network/modem.pm_.c:95
+msgid "Warning"
+msgstr "!"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:362
msgid ""
-" - Create etherboot floppies/CDs:\n"
-" \tThe diskless client machines need either ROM images on the NIC, or "
-"a boot floppy\n"
-" \tor CD to initate the boot sequence. drakTermServ will help "
-"generate these\n"
-" \timages, based on the NIC in the client machine.\n"
-" \t\t\n"
-" \tA basic example of creating a boot floppy for a 3Com 3c509 "
-"manually:\n"
-" \t\t\n"
-" \tcat /usr/lib/etherboot/boot1a.bin \\\n"
-" \t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0"
+"Insert a floppy in drive\n"
+"All data on this floppy will be lost"
msgstr ""
+" \n"
+" "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot ISO image is %s"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:373
+msgid "Trying to rescue partition table"
+msgstr " i "
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
-"names to IP addresses."
-msgstr ""
-"named (BIND) - гэта сервер даменных iмёнаў, якi выкарыстоўваецца для\n"
-"перакладання iмён вузлоў у IP адрасы."
+#: ../../diskdrake/interactive.pm_.c:379
+#, fuzzy
+msgid "Detailed information"
+msgstr "I"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Lucia"
-msgstr "Санта Лючыя"
+#: ../../diskdrake/interactive.pm_.c:394 ../../diskdrake/interactive.pm_.c:674
+msgid "Resize"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "November"
-msgstr "Лістапад"
+#: ../../diskdrake/interactive.pm_.c:395 ../../diskdrake/interactive.pm_.c:727
+msgid "Move"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Disconnect..."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:396
+msgid "Format"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Report"
-msgstr "Порт"
+#: ../../diskdrake/interactive.pm_.c:398
+msgid "Add to RAID"
+msgstr " RAID"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palau"
-msgstr "Палаў"
+#: ../../diskdrake/interactive.pm_.c:399
+msgid "Add to LVM"
+msgstr " LVM"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "level"
-msgstr "узровень"
+#: ../../diskdrake/interactive.pm_.c:402
+msgid "Remove from RAID"
+msgstr "i RAID"
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid ""
-"All incidents will be followed up by a single qualified MandrakeSoft "
-"technical expert."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:403
+msgid "Remove from LVM"
+msgstr "i LVM"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package Group Selection"
-msgstr "Выбар групы пакетаў"
+#: ../../diskdrake/interactive.pm_.c:404
+msgid "Modify RAID"
+msgstr "i RAID"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid ""
-"Allow local hardware\n"
-"configuration."
-msgstr "Настройка мадэму"
+#: ../../diskdrake/interactive.pm_.c:405
+msgid "Use for loopback"
+msgstr " i i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network Protocol: %s"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:445
+msgid "Create a new partition"
+msgstr " "
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "You can configure each parameter of the module here."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:448
+msgid "Start sector: "
+msgstr " :"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Choose the resolution and the color depth"
-msgstr "Выбар памераў экрану i глыбiнi колеру"
+#: ../../diskdrake/interactive.pm_.c:450 ../../diskdrake/interactive.pm_.c:827
+msgid "Size in MB: "
+msgstr " :"
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Emulate third button?"
-msgstr "Эмуляваць трэцюю кнопку?"
+#: ../../diskdrake/interactive.pm_.c:451 ../../diskdrake/interactive.pm_.c:828
+msgid "Filesystem type: "
+msgstr " i:"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:456
+msgid "Preference: "
+msgstr ": "
+
+#: ../../diskdrake/interactive.pm_.c:481
msgid ""
"You can't create a new partition\n"
"(since you reached the maximal number of primary partitions).\n"
"First remove a primary partition and create an extended partition."
msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount"
-msgstr "Манцiраванне"
-
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Creating auto install floppy"
-msgstr "Стварэнне дыскеты для ўсталявання"
-
-#: ../../steps.pm:1
-#, fuzzy, c-format
-msgid "Install updates"
-msgstr "Усталяванне сiстэмы"
+#: ../../diskdrake/interactive.pm_.c:511
+#, fuzzy
+msgid "Remove the loopback file?"
+msgstr " i %s"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text box height"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:541
+msgid "Change partition type"
+msgstr "i "
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "State"
-msgstr "Стартавае меню"
+#: ../../diskdrake/interactive.pm_.c:542 ../../diskdrake/removable.pm_.c:48
+#, fuzzy
+msgid "Which filesystem do you want?"
+msgstr " i ?"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Be sure a media is present for the device %s"
+#: ../../diskdrake/interactive.pm_.c:548
+msgid "Switching from ext2 to ext3"
msgstr ""
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:578
#, c-format
-msgid "Enable multiple profiles"
-msgstr "Даступна шмат профiляў"
+msgid "Where do you want to mount loopback file %s?"
+msgstr " i i %s?"
-#: ../../fs.pm:1
+#: ../../diskdrake/interactive.pm_.c:579
#, c-format
-msgid "Do not interpret character or block special devices on the file system."
-msgstr ""
+msgid "Where do you want to mount device %s?"
+msgstr " i %s?"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:585
msgid ""
-"These options can backup and restore all files in your /etc directory.\n"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Local printer"
-msgstr "Лакальны прынтэр"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Files Restored..."
+"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"
-#: ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:606
#, fuzzy, c-format
-msgid "Package selection"
-msgstr "Выбар групы пакетаў"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritania"
-msgstr "Маўрытанія"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"I can keep your current configuration and assume you already set up a DHCP "
-"server; in that case please verify I correctly read the Network that you use "
-"for your local network; I will not reconfigure it and I will not touch your "
-"DHCP server configuration.\n"
-"\n"
-"The default DNS entry is the Caching Nameserver configured on the firewall. "
-"You can replace that with your ISP DNS IP, for example.\n"
-"\t\t \n"
-"Otherwise, I can reconfigure your interface and (re)configure a DHCP server "
-"for you.\n"
-"\n"
-msgstr ""
+msgid "Where do you want to mount %s?"
+msgstr " i %s?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"No local printer found! To manually install a printer enter a device name/"
-"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
-"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
-"printer: /dev/usb/lp1, ...)."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:630
+msgid "Computing FAT filesystem bounds"
+msgstr " i FAT"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All primary partitions are used"
-msgstr "Усе першасныя раздзелы выкарыстаны"
+#: ../../diskdrake/interactive.pm_.c:630 ../../diskdrake/interactive.pm_.c:689
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing"
+msgstr " "
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "LPD server \"%s\", printer \"%s\""
-msgstr "Адлучэнне ад сеткi"
+#: ../../diskdrake/interactive.pm_.c:662
+#, fuzzy
+msgid "This partition is not resizeable"
+msgstr " i?"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"After this is done, we recommend that you restart your X environment to "
-"avoid any hostname-related problems."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:667
+msgid "All data on this partition should be backed-up"
+msgstr " i i"
-#: ../../services.pm:1
+#: ../../diskdrake/interactive.pm_.c:669
#, c-format
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr ""
-
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Installation Server Configuration"
-msgstr "Заканчэнне настройкi"
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr " %s "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring IDE"
-msgstr "Настройка IDE"
+#: ../../diskdrake/interactive.pm_.c:674
+msgid "Choose the new size"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Network functionality not configured"
-msgstr "Манiтор пакуль не настроены"
+#: ../../diskdrake/interactive.pm_.c:675
+#, fuzzy
+msgid "New size in MB: "
+msgstr " :"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Configure module"
-msgstr "Настройка мышы"
+#: ../../diskdrake/interactive.pm_.c:728
+msgid "Which disk do you want to move it to?"
+msgstr " i ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cocos (Keeling) Islands"
-msgstr "Какосавыя выспы"
+#: ../../diskdrake/interactive.pm_.c:729
+msgid "Sector"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "You'll need to reboot before the modification can take place"
-msgstr "Каб змяненнi ўступiлi ў дзеянне, необходна перазагрузiцца"
+#: ../../diskdrake/interactive.pm_.c:730
+msgid "Which sector do you want to move it to?"
+msgstr " i ?"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider phone number"
-msgstr "Нумар тэлефону правайдара"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving"
+msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Host %s"
-msgstr "Iмя машыны"
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving partition..."
+msgstr " ..."
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Fiji"
-msgstr "Фiнскi"
+#: ../../diskdrake/interactive.pm_.c:750
+msgid "Choose an existing RAID to add to"
+msgstr " i RAID "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Armenia"
-msgstr "Армянскi (стары)"
+#: ../../diskdrake/interactive.pm_.c:751 ../../diskdrake/interactive.pm_.c:768
+msgid "new"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Second floppy drive"
-msgstr "Другi дыскавод"
+#: ../../diskdrake/interactive.pm_.c:766
+msgid "Choose an existing LVM to add to"
+msgstr " i LVM "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "About Harddrake"
+#: ../../diskdrake/interactive.pm_.c:771
+msgid "LVM name?"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize TCP connections to X Window"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:812
+msgid "This partition can't be used for loopback"
+msgstr " i i"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Drive capacity"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:825
+msgid "Loopback"
+msgstr "i i (loopback)"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-"Устаўце дыскету ў дыскавод\n"
-"Усе дадзеныя на гэтай дыскеце будуць страчаны"
+#: ../../diskdrake/interactive.pm_.c:826
+msgid "Loopback file name: "
+msgstr "I i "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s"
-msgstr "Памер: %s"
+#: ../../diskdrake/interactive.pm_.c:831
+#, fuzzy
+msgid "Give a file name"
+msgstr " i"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Control and Shift keys simultaneously"
+#: ../../diskdrake/interactive.pm_.c:834
+msgid "File already used by another loopback, choose another one"
msgstr ""
+" i i i. i , \n"
+" i "
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "secondary"
-msgstr "%d секундаў"
+#: ../../diskdrake/interactive.pm_.c:835
+msgid "File already exists. Use it?"
+msgstr " i. ?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "View Backup Configuration."
-msgstr "Канфiгурацыя сеткi"
+#: ../../diskdrake/interactive.pm_.c:858
+#, fuzzy
+msgid "Mount options"
+msgstr "i :"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result to syslog."
+#: ../../diskdrake/interactive.pm_.c:865
+msgid "Various"
msgstr ""
-#. -PO: keep this short or else the buttons will not fit in the window
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No password"
-msgstr "Няма паролю"
+#: ../../diskdrake/interactive.pm_.c:929 ../../standalone/drakfloppy_.c:76
+msgid "device"
+msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Nigeria"
-msgstr "паслядоўная"
+#: ../../diskdrake/interactive.pm_.c:930
+msgid "level"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires hostname...\n"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:931
+msgid "chunk size"
+msgstr " "
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no existing partition to use"
-msgstr "Няма iснуючых раздзелаў, якiя можна выкарыстаць"
+#: ../../diskdrake/interactive.pm_.c:947
+msgid "Be careful: this operation is dangerous."
+msgstr " i. i"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid ""
-"The following scanners\n"
-"\n"
-"%s\n"
-"are available on your system.\n"
-msgstr "У вашай сістэме няма нiводнага сеткавага адаптара!"
+#: ../../diskdrake/interactive.pm_.c:962
+#, fuzzy
+msgid "What type of partitioning?"
+msgstr "i i ?"
-#: ../../printer/main.pm:1
+#: ../../diskdrake/interactive.pm_.c:978
#, fuzzy, c-format
-msgid "Multi-function device on parallel port #%s"
-msgstr "Iмя прынтэру"
+msgid "The package %s is needed. Install it?"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../diskdrake/interactive.pm_.c:992
msgid ""
-"To print to a TCP or socket printer, you need to provide the host name or IP "
-"of the printer and optionally the port number (default is 9100). On HP "
-"JetDirect servers the port number is usually 9100, on other servers it can "
-"vary. See the manual of your hardware."
+"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 ""
-"Каб друкаваць праз сокет друкаркi, вам неабходна забяспечыць\n"
-"iмя прынтэру i магчыма яго нумар порту."
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Hard drive information"
-msgstr "Iнфармацыя"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian"
-msgstr "Рускi"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Jordan"
-msgstr "Iранскi"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Hide files"
-msgstr "mkraid не працаздольны"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Auto-detect printers connected to this machine"
-msgstr "Аддалены прынтэр"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Sorry, no floppy drive available"
-msgstr "Выбачайце, але дыскавод недаступны"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bolivia"
-msgstr "Балівія"
+", /boot ( i > 1024).\n"
+" LILO - , LILO "
+", /boot ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:996
msgid ""
-"Set up your Windows server to make the printer available under the IPP "
-"protocol and set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+"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"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Bad package"
-msgstr "Дрэнны пакет"
-
-#: ../advertising/07-server.pl:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1002
msgid ""
-"Transform your computer into a powerful Linux server: Web server, mail, "
-"firewall, router, file and print server (etc.) are just a few clicks away!"
+"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 ."
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid "DrakSec Basic Options"
-msgstr "Опцыi"
-
-#: ../../standalone/draksound:1
+#: ../../diskdrake/interactive.pm_.c:1022
#, c-format
-msgid ""
-"\n"
-"\n"
-"\n"
-"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
-"program. Just type \"sndconfig\" in a console."
-msgstr ""
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Romania"
-msgstr "NIS Domain"
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "i %s i !"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Group"
-msgstr "Працоўная група"
+#: ../../diskdrake/interactive.pm_.c:1026
+msgid "You'll need to reboot before the modification can take place"
+msgstr " i ii , i"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Canada"
-msgstr "Канадскi (Квебэк)"
+#: ../../diskdrake/interactive.pm_.c:1037
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr " %s "
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "choose device"
-msgstr "Загрузачная прылада"
+#: ../../diskdrake/interactive.pm_.c:1039
+msgid "Formatting"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1040
#, c-format
-msgid "Remove from LVM"
-msgstr "Выдалiць з LVM"
+msgid "Formatting loopback file %s"
+msgstr " i %s"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1041
+#: ../../install_steps_interactive.pm_.c:466
#, c-format
-msgid "Timezone"
-msgstr ""
+msgid "Formatting partition %s"
+msgstr " %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German"
-msgstr "Нямецкi"
+#: ../../diskdrake/interactive.pm_.c:1052
+#, fuzzy
+msgid "Hide files"
+msgstr "mkraid "
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Next ->"
-msgstr "Далей ->"
+#: ../../diskdrake/interactive.pm_.c:1052
+#, fuzzy
+msgid "Move files to the new partition"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1053
#, c-format
msgid ""
-"Turning on this allows to print plain text files in japanese language. Only "
-"use this function if you really want to print text in japanese, if it is "
-"activated you cannot print accentuated characters in latin fonts any more "
-"and you will not be able to adjust the margins, the character size, etc. "
-"This setting only affects printers defined on this machine. If you want to "
-"print japanese text on a printer set up on a remote machine, you have to "
-"activate this function on that remote machine."
+"Directory %s already contains data\n"
+"(%s)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition. You should\n"
-"probably leave it alone.\n"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1064
+#, fuzzy
+msgid "Moving files to the new partition"
+msgstr " "
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1068
#, c-format
-msgid "Guinea-Bissau"
+msgid "Copying %s"
msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Horizontal refresh rate"
-msgstr "Часціня гарызантальный разгорткi"
-
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1072
#, fuzzy, c-format
-msgid "Edit"
-msgstr "Ext2"
+msgid "Removing %s"
+msgstr " : %s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1082
#, c-format
-msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
+msgid "partition %s is now known as %s"
msgstr ""
-"Нельга ўсталяваць пункт манцiравання, таму што раздел выкарыстоўваецца для\n"
-"вiртуальнай файлавай сiстэмы.\n"
-"Спачатку выдалiце вiртуальную сiстэму"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The network configuration done during the installation cannot be started "
-"now. Please check whether the network is accessable after booting your "
-"system and correct the configuration using the Mandrake Control Center, "
-"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
-"printer, also using the Mandrake Control Center, section \"Hardware\"/"
-"\"Printer\""
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1103
+#: ../../diskdrake/interactive.pm_.c:1162
+msgid "Device: "
+msgstr ":"
-#: ../../harddrake/data.pm:1
+#: ../../diskdrake/interactive.pm_.c:1104
#, c-format
-msgid "USB controllers"
-msgstr ""
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "i DOS-: %s ()\n"
-#: ../../Xconfig/various.pm:1
-#, fuzzy, c-format
-msgid "What norm is your TV using?"
-msgstr "Якi тып вашага ISDN злучэння?"
+#: ../../diskdrake/interactive.pm_.c:1108
+#: ../../diskdrake/interactive.pm_.c:1116
+#: ../../diskdrake/interactive.pm_.c:1181
+msgid "Type: "
+msgstr ": "
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Type:"
-msgstr "Тып: "
+#: ../../diskdrake/interactive.pm_.c:1112
+msgid "Name: "
+msgstr "I: "
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1120
#, c-format
-msgid "Share name"
-msgstr "Iмя для размеркаванага рэсурсу"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "enable"
-msgstr "Таблiца"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid ""
-"Contacting Mandrake Linux web site to get the list of available mirrors..."
-msgstr "Сувязь з люрам для атрымання спiсу даступных пакетаў"
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Цi жадаеце пратэсцiраваць настройкi?"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Remove the loopback file?"
-msgstr "Фарматаванне вiртуальнага раздзелу %s"
+msgid "Start: sector %s\n"
+msgstr ": %s\n"
-#: ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1121
#, c-format
-msgid "Selected size is larger than available space"
-msgstr ""
+msgid "Size: %s"
+msgstr ": %s"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1123
#, c-format
-msgid "NCP server name missing!"
-msgstr ""
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Please choose your country."
-msgstr "калi ласка, пазначце тып вашай мышы."
+msgid ", %s sectors"
+msgstr ", %s "
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:1125
#, fuzzy, c-format
-msgid "Hard Disk Backup files..."
-msgstr "Дрэнны файл рэзервовай копii"
+msgid "Cylinder %d to %d\n"
+msgstr "i %d %d\n"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Laotian"
-msgstr "Размеркаванне"
+#: ../../diskdrake/interactive.pm_.c:1126
+msgid "Formatted\n"
+msgstr "\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Samoa"
-msgstr "Самоа"
+#: ../../diskdrake/interactive.pm_.c:1127
+msgid "Not formatted\n"
+msgstr " \n"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../diskdrake/interactive.pm_.c:1128
+msgid "Mounted\n"
+msgstr "i\n"
-#: ../../standalone/scannerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1129
#, c-format
-msgid "Re-generating list of configured scanners ..."
-msgstr ""
-
-#: ../../modules/interactive.pm:1
-#, fuzzy, c-format
-msgid "Module configuration"
-msgstr "Настройка"
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Scanner"
-msgstr "Абярыце вiдэакарту"
+msgid "RAID md%s\n"
+msgstr "RAID md%s\n"
-#: ../../Xconfig/test.pm:1
+#: ../../diskdrake/interactive.pm_.c:1131
#, fuzzy, c-format
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr "Папярэджанне: тэсцiраванне на гэтай вiдэакарце небяспечна"
-
-#: ../../any.pm:1
-#, c-format
msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
-msgstr ""
-"Iмя карыстальнiку павiнна змяшчаць лiтары толькi на нiжнiм рэгiстры, \n"
-"лiчбы, `-' i `_'"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Menudrake"
-msgstr "абавязкова"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Welcome To Crackers"
-msgstr "Сардэчна запрашаем у Crackers"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module options:"
-msgstr "Опцыi модулю:"
-
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "Secure your networks with the Multi Network Firewall"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Go on without configuring the network"
-msgstr "Настройка сеткi"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Abort"
-msgstr "Адмянiць"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No password prompt on %s at port %s"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Kensington Thinking Mouse with Wheel emulation"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Usage of remote scanners"
-msgstr "Выкарыстоўваць незанятую прастору"
+"Loopback file(s):\n"
+" %s\n"
+msgstr "() i i: %s\n"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1132
msgid ""
-"Your Windows partition is too fragmented. Please reboot your computer under "
-"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
-"installation."
-msgstr ""
-"Ваш раздзел з Windows занадта фрагментаваны. \n"
-"Рэкамендуем спачатку запусцiць праграму ``defrag''"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Нарвежскi)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup Progress..."
-msgstr ""
-
-#: ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Unable to fork: %s"
-msgstr "Зрабiць неактыўным сеткавае злучэнне"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Type: "
-msgstr "Тып: "
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Edit Client"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "no fonts found"
-msgstr "Не знайшлi %s"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Mouse"
-msgstr "Порт мышы"
-
-#: ../../bootloader.pm:1
-#, c-format
-msgid "not enough room in /boot"
-msgstr "Не хапае дыскавай прасторы ў /boot"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "trying to promote %s"
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
msgstr ""
+" \n"
+" ( i MS-DOS, lilo)\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Liechtenstein"
-msgstr "Ліхтэнштайн"
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../diskdrake/interactive.pm_.c:1134
#, c-format
-msgid "Host name"
-msgstr "Iмя машыны"
+msgid "Level %s\n"
+msgstr " %s\n"
-#: ../../standalone/draksplash:1
+#: ../../diskdrake/interactive.pm_.c:1135
#, c-format
-msgid "the color of the progress bar"
-msgstr ""
+msgid "Chunk size %s\n"
+msgstr " %s\n"
-#: ../../standalone/drakfont:1
+#: ../../diskdrake/interactive.pm_.c:1136
#, c-format
-msgid "Suppress Fonts Files"
-msgstr ""
+msgid "RAID-disks %s\n"
+msgstr "RAID-i %s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1138
#, c-format
-msgid "Add to RAID"
-msgstr "Дадаць да RAID"
+msgid "Loopback file name: %s"
+msgstr "I i i: %s"
-#: ../../help.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1141
msgid ""
-"You can add additional entries in yaboot for other operating systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"For other OSs, the entry consists only of a label and the \"root\"\n"
-"partition.\n"
-"\n"
-"For Linux, there are a few possible options:\n"
-"\n"
-" * Label: this is the name you will have to type at the yaboot prompt to\n"
-"select this boot option.\n"
-"\n"
-" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n"
-"variation of vmlinux with an extension.\n"
-"\n"
-" * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-"\n"
-" * Append: on Apple hardware, the kernel append option is often used to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button\n"
-"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n"
-"The following are some examples:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: this option can be used either to load initial modules before\n"
-"the boot device is available, or to load a ramdisk image for an emergency\n"
-"boot situation.\n"
"\n"
-" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n"
-"need to allocate a large ramdisk, this option can be used to specify a\n"
-"ramdisk larger than the default.\n"
-"\n"
-" * Read-write: normally the \"root\" partition is initially mounted as\n"
-"read-only, to allow a file system check before the system becomes ``live''.\n"
-"You can override the default with this option.\n"
-"\n"
-" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-"problematic, you can select this option to boot in ``novideo'' mode, with\n"
-"native frame buffer support.\n"
-"\n"
-" * Default: selects this entry as being the default Linux selection,\n"
-"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n"
-"highlighted with a ``*'' if you press [Tab] to see the boot selections."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
+"Chances are, this partition is\n"
+"a Driver partition, you should\n"
+"probably leave it alone.\n"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "No floppy drive available!"
-msgstr "Дыскавод недаступны"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1144
msgid ""
-"To know about the options available for the current printer read either the "
-"list shown below or click on the \"Print option list\" button.%s%s%s\n"
"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saudi Arabia"
-msgstr "Савудаўская Арабія"
-
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Internet"
-msgstr "цiкава"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Continue anyway?"
-msgstr "Сапраўды працягваць?"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"If your printer is not listed, choose a compatible (see printer manual) or a "
-"similar one."
+#: ../../diskdrake/interactive.pm_.c:1163
+msgid "Read-only"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1 ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1164
#, c-format
-msgid "Printer"
-msgstr "Прынтэр"
-
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices were added:\n"
-msgstr ""
+msgid "Size: %s\n"
+msgstr ": %s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1165
#, c-format
msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Геаметрыя: %s цылiндраў, %s галовак, %s сектараў\n"
+msgstr ": %s i, %s , %s \n"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printing on the printer \"%s\""
-msgstr "Адлучэнне ад сеткi"
+#: ../../diskdrake/interactive.pm_.c:1166
+msgid "Info: "
+msgstr "I: "
-#: ../../standalone/drakTermServ:1
+#: ../../diskdrake/interactive.pm_.c:1167
#, c-format
-msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore From Tape"
-msgstr "Дадатковая таблiца раздзелаў"
+msgid "LVM-disks %s\n"
+msgstr "LVM-i %s\n"
-#: ../../standalone/drakbug:1
+#: ../../diskdrake/interactive.pm_.c:1168
#, c-format
-msgid ""
-"To submit a bug report, click the report button, which will open your "
-"default browser\n"
-"to Anthill where you will be able to upload the above information as a bug "
-"report."
-msgstr ""
+msgid "Partition table type: %s\n"
+msgstr " i : %s\n"
-#: ../../network/netconnect.pm:1
+#: ../../diskdrake/interactive.pm_.c:1169
#, fuzzy, c-format
-msgid "Choose the profile to configure"
-msgstr "Абярыце асноўнага карыстальнiка:"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Password minimum length and number of digits and upcase letters"
-msgstr ""
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Enter a Zeroconf host name without any dot if you don't\n"
-"want to use the default host name."
-msgstr ""
+msgid "on channel %d id %d\n"
+msgstr " %d id %d\n"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup Now from configuration file"
-msgstr "Канфiгурацыя сеткi"
+#: ../../diskdrake/interactive.pm_.c:1199
+#, fuzzy
+msgid "Filesystem encryption key"
+msgstr " i:"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points should contain only alphanumerical characters"
+#: ../../diskdrake/interactive.pm_.c:1200
+msgid "Choose your filesystem encryption key"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1203
#, fuzzy, c-format
-msgid "Restarting printing system..."
-msgstr "Якую сiстэму друку Вы жадаеце выкарыстоўваць?"
-
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "You can only run with no CDROM support"
+msgid "This encryption key is too simple (must be at least %d characters long)"
msgstr ""
+" ( i %d i)"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "See hardware info"
-msgstr "Гл. апiсанне абсталявання"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Day"
-msgstr "Дзень"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of boot partition"
-msgstr "Першы сектар загрузачнага раздзелу"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1204
+#, fuzzy
+msgid "The encryption keys do not match"
+msgstr "i "
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ - Print, Don't Queue"
+#: ../../diskdrake/interactive.pm_.c:1207
+msgid "Encryption key"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires "
-"username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, "
-"nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, "
-"IP, nbi image name)"
+#: ../../diskdrake/interactive.pm_.c:1208
+msgid "Encryption key (again)"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet Mask:"
-msgstr ""
+#: ../../diskdrake/removable.pm_.c:47
+#, fuzzy
+msgid "Change type"
+msgstr "i "
-#: ../../security/l10n.pm:1
+#: ../../diskdrake/smbnfs_gtk.pm_.c:162
#, c-format
-msgid "Set password expiration and account inactivation delays"
+msgid "Can't login using username %s (bad password?)"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"_: load here is a noun, the load of the system\n"
-"Load"
-msgstr ""
+#: ../../diskdrake/smbnfs_gtk.pm_.c:166 ../../diskdrake/smbnfs_gtk.pm_.c:175
+#, fuzzy
+msgid "Domain Authentication Required"
+msgstr "i"
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-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"
-"часціня гарызантальнай сiнхранiзацыi разгорткi, цi часціня вываду\n"
-"радкоў экрану.\n"
-"\n"
-"ВЕЛЬМI ВАЖНА, каб абраны вамi манiтор меў часціню сiнхранiзацыi, якая\n"
-"не перавышае фактычныя магчымасцi вашага манiтору: у процiлеглым выпадку\n"
-"вы можаце сапсаваць манiтор.\n"
-"Калi вы сумняваецеся, абярыце кансерватыўныя настройкi."
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Another one"
+msgstr "i"
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, fuzzy, c-format
-msgid "Modify"
-msgstr "Змянiць RAID"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Which username"
+msgstr "I i:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/smbnfs_gtk.pm_.c:176
msgid ""
-"\n"
-"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
-"a particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\".\n"
+"Please enter your username, password and domain name to access this host."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Need hostname, username and password!"
-msgstr ""
+#: ../../diskdrake/smbnfs_gtk.pm_.c:178 ../../standalone/drakbackup_.c:3477
+#, fuzzy
+msgid "Username"
+msgstr "I i:"
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Insert floppy"
-msgstr "Устаўце дыскету ў дыскавод %s"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:180
+#, fuzzy
+msgid "Domain"
+msgstr "NIS Domain"
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid ""
-"WebDAV is a protocol that allows you to mount a web server's directory\n"
-"locally, and treat it like a local filesystem (provided the web server is\n"
-"configured as a WebDAV server). If you would like to add WebDAV mount\n"
-"points, select \"New\"."
-msgstr ""
+#: ../../diskdrake/smbnfs_gtk.pm_.c:200
+#, fuzzy
+msgid "Search servers"
+msgstr "DNS "
-#: ../../standalone/drakbug:1
+#: ../../fs.pm_.c:547 ../../fs.pm_.c:557 ../../fs.pm_.c:561 ../../fs.pm_.c:565
+#: ../../fs.pm_.c:569 ../../fs.pm_.c:573
#, c-format
-msgid "HardDrake"
-msgstr ""
+msgid "%s formatting of %s failed"
+msgstr "%s %s"
-#: ../../diskdrake/interactive.pm:1
+#: ../../fs.pm_.c:610
#, c-format
-msgid "new"
-msgstr "новы"
+msgid "I don't know how to format %s in type %s"
+msgstr " %s %s"
-#: ../../security/help.pm:1
+#: ../../fs.pm_.c:684 ../../fs.pm_.c:727
#, c-format
-msgid "Enable/Disable syslog reports to console 12"
+msgid "mounting partition %s in directory %s failed"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Would you like to try again?"
-msgstr "Жадаеце настроiць прынтэр?"
-
-#: ../../help.pm:1 ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Wizard"
-msgstr "Майстар стварэння"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Edit selected server"
-msgstr "Выдалiць чаргу друку"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please choose where you want to backup"
-msgstr "Выбар пакетаў для ўсталявання"
-
-#: ../../install_steps_interactive.pm:1
+#: ../../fs.pm_.c:742 ../../partition_table.pm_.c:599
#, c-format
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr "Каб мадыфiкацыя таблiцы раздзелаў здейснiлася, патрэбна перазагрузка."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include the browser cache"
-msgstr ""
+msgid "error unmounting %s: %s"
+msgstr " i %s: %s"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
-"you can lose data)"
+#: ../../fsedit.pm_.c:21
+msgid "simple"
msgstr ""
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Please, choose your keyboard layout."
-msgstr "Калi ласка, абярыце тып клавiятуры."
-
-#: ../../mouse.pm:1 ../../security/level.pm:1
-#, c-format
-msgid "Standard"
-msgstr "Стандартны"
-
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose your mouse type."
-msgstr "калi ласка, пазначце тып вашай мышы."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Connect..."
+#: ../../fsedit.pm_.c:25
+msgid "with /usr"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Failed to configure printer \"%s\"!"
-msgstr "Настройка прынтэру"
+#: ../../fsedit.pm_.c:30
+msgid "server"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
+#: ../../fsedit.pm_.c:240
#, fuzzy, c-format
-msgid "not configured"
-msgstr "Настройка X Window"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
+msgid ""
+"I can't read the partition table of device %s, it's too corrupted for me :(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow 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"
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "About"
-msgstr "Адмянiць"
+#: ../../fsedit.pm_.c:501
+#, fuzzy
+msgid "You can't use JFS for partitions smaller than 16MB"
+msgstr " i , i 16 "
-#: ../../mouse.pm:1
-#, c-format
-msgid "GlidePoint"
-msgstr "GlidePoint"
+#: ../../fsedit.pm_.c:502
+msgid "You can't use ReiserFS for partitions smaller than 32MB"
+msgstr " i , i 32 "
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxies configuration"
-msgstr "Настройка proxy кэшуючых сервераў"
+#: ../../fsedit.pm_.c:521
+msgid "Mount points must begin with a leading /"
+msgstr " i i /"
-#: ../../diskdrake/interactive.pm:1
+#: ../../fsedit.pm_.c:522
#, c-format
-msgid "Start: sector %s\n"
-msgstr "Пачатак: сектар %s\n"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "No Mask"
-msgstr "Дрэнны пакет"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Network interface already configured"
-msgstr "Манiтор пакуль не настроены"
+msgid "There is already a partition with mount point %s\n"
+msgstr " i %s\n"
-#: ../../standalone/drakTermServ:1
+#: ../../fsedit.pm_.c:526
#, c-format
-msgid "Couldn't access the floppy!"
+msgid "You can't use a LVM Logical Volume for mount point %s"
msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:528
+msgid "This directory should remain within the root filesystem"
+msgstr " "
+
+#: ../../fsedit.pm_.c:530
+#, fuzzy
msgid ""
-"Warning: Free Software may not necessarily be patent free, and some Free\n"
-"Software included may be covered by patents in your country. For example, "
-"the\n"
-"MP3 decoders included may require a licence for further usage (see\n"
-"http://www.mp3licensing.com for more details). If you are unsure if a "
-"patent\n"
-"may be applicable to you, check your local laws."
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
msgstr ""
+" i i (ext2, reiserfs)\n"
+" i i\n"
-#: ../../network/drakfirewall.pm:1
+#: ../../fsedit.pm_.c:532
#, fuzzy, c-format
-msgid "Mail Server"
-msgstr "Сервер друку"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please click on a partition"
-msgstr "Націсніце на раздзел"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on HP JetDirect"
+msgid "You can't use an encrypted file system for mount point %s"
msgstr ""
+" i i (ext2, reiserfs)\n"
+" i i\n"
-#: ../../any.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Linux"
-msgstr "Linux"
+#: ../../fsedit.pm_.c:599
+#, fuzzy
+msgid "Not enough free space for auto-allocating"
+msgstr " "
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Have a nice day!"
+#: ../../fsedit.pm_.c:601
+msgid "Nothing to do"
msgstr ""
-#: ../../help.pm:1
+#: ../../fsedit.pm_.c:694
#, c-format
-msgid "/dev/fd0"
-msgstr "/dev/fd0"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Upgrade %s"
-msgstr "Раздзел %s"
+msgid "Error opening %s for writing: %s"
+msgstr " %s i: %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Connection"
-msgstr "Выбар тыпу злучэння прынтэру"
+#: ../../harddrake/data.pm_.c:71
+msgid "cpu /* "
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels in progress ..."
+#: ../../harddrake/sound.pm_.c:170
+msgid "No alternative driver"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../harddrake/sound.pm_.c:171
#, c-format
msgid ""
-"Error during sending file via FTP.\n"
-" Please correct your FTP configuration."
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range Start:"
-msgstr ""
+#: ../../harddrake/sound.pm_.c:173
+#, fuzzy
+msgid "Sound configuration"
+msgstr ""
-#: ../../services.pm:1
+#: ../../harddrake/sound.pm_.c:174
#, c-format
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я ён адказвае."
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the height of the progress bar"
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../harddrake/sound.pm_.c:176
#, c-format
msgid ""
"\n"
-"- Save via %s on host: %s\n"
-msgstr ""
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Argentina"
-msgstr "Аргенціна"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Domain Name Server"
-msgstr "Iмя дамену"
-
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Security Level:"
-msgstr "Настройкi ўзроўня бяспекi"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points must begin with a leading /"
-msgstr "Пункт манцiравання павiнен пачынацца з /"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Choose your CD/DVD device"
-msgstr "Калi ласка, абярыце тып клавiятуры."
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "CUPS server"
-msgstr "DNS сервер"
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Postfix Mail Server"
-msgstr "Сервер друку"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without saving"
-msgstr "Выйсцi без захавання"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Yemen"
-msgstr "Йемен"
-
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "This product is available on the MandrakeStore Web site."
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "=> There are many things to choose from (%s).\n"
+#: ../../harddrake/sound.pm_.c:178
+#, fuzzy
+msgid "Driver:"
+msgstr ""
+
+#: ../../harddrake/sound.pm_.c:183 ../../standalone/drakTermServ_.c:303
+#: ../../standalone/drakbackup_.c:3878 ../../standalone/drakbackup_.c:3911
+#: ../../standalone/drakbackup_.c:3937 ../../standalone/drakbackup_.c:3964
+#: ../../standalone/drakbackup_.c:3991 ../../standalone/drakbackup_.c:4030
+#: ../../standalone/drakbackup_.c:4051 ../../standalone/drakbackup_.c:4078
+#: ../../standalone/drakbackup_.c:4108 ../../standalone/drakbackup_.c:4134
+#: ../../standalone/drakbackup_.c:4157 ../../standalone/drakfont_.c:690
+msgid "Help"
msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "GMT - DrakClock"
+#: ../../harddrake/sound.pm_.c:185
+msgid "Switching between ALSA and OSS help"
msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../harddrake/sound.pm_.c:186
msgid ""
-"An error occurred:\n"
-"\n"
-"\n"
-"%s\n"
+"OSS (Open Sound System) was the first sound API. It's an OS independant "
+"sound API (it's available on most unices systems) but it's a very basic and "
+"limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
"\n"
-"This may come from corrupted system configuration files\n"
-"on the USB key, in this case removing them and then\n"
-"rebooting Mandrake Move would fix the problem. To do\n"
-"so, click on the corresponding button.\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
"\n"
+"It also provides a much higher API than OSS.\n"
"\n"
-"You may also want to reboot and remove the USB key, or\n"
-"examine its contents under another OS, or even have\n"
-"a look at log files in console #3 and #4 to try to\n"
-"guess what's happening."
-msgstr ""
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Hard drive detection"
-msgstr "Вызначэнне жорсткага дыску"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"You haven't selected any group of packages.\n"
-"Please choose the minimal installation you want:"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
msgstr ""
-#: ../../network/adsl.pm:1
+#: ../../harddrake/sound.pm_.c:202
#, c-format
msgid ""
-"You need the Alcatel microcode.\n"
-"You can provide it now via a floppy or your windows partition,\n"
-"or skip and do it later."
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oopses the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver'll only be used on next bootstrap."
msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, fuzzy, c-format
-msgid "Please enter the WebDAV server URL"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tajikistan"
-msgstr "Такжыкістан"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Accept"
-msgstr "Прыняць"
+#: ../../harddrake/sound.pm_.c:205 ../../standalone/drakconnect_.c:298
+#, fuzzy
+msgid "Please Wait... Applying the configuration"
+msgstr " i"
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Description"
-msgstr "Апiсанне"
+#: ../../harddrake/sound.pm_.c:205 ../../interactive.pm_.c:382
+#: ../../standalone/drakxtv_.c:108 ../../standalone/harddrake2_.c:113
+#: ../../standalone/service_harddrake_.c:64
+msgid "Please wait"
+msgstr "i , "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Please enter summary text."
+#: ../../harddrake/sound.pm_.c:210
+msgid "No known driver"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr "Памылка адкрыцця %s для запiсу: %s"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Тып мышы: %s\n"
-
-#: ../../Xconfig/card.pm:1
+#: ../../harddrake/sound.pm_.c:211
#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
+msgid "There's no known driver for your sound card (%s)"
msgstr ""
-"Ваша вiдэакарта можа мець 3D-паскарэнне, якое падтрымлiваецца толькi XFree %"
-"s."
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Choose a monitor"
-msgstr "Абярыце манiтор"
-#: ../../any.pm:1
-#, c-format
-msgid "Empty label not allowed"
-msgstr "Пустая метка не дазваляецца"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (UK)"
+#: ../../harddrake/sound.pm_.c:214
+msgid "Unkown driver"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "I can't add any more partition"
-msgstr "Дадаць раздзел немагчыма"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size in MB: "
-msgstr "Памер у Мб:"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Remote printer"
-msgstr "Аддалены прынтэр"
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Please choose a language to use."
-msgstr "Калi ласка, абярыце мову для карыстання."
-
-#: ../../network/network.pm:1
+#: ../../harddrake/sound.pm_.c:215
#, c-format
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 ""
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "I can set up your computer to automatically log on one user."
+"The \"%s\" driver for your sound card is unlisted\n"
+"\n"
+"Please send the output of the \"lspcidrake -v\" command to\n"
+"<install at mandrakesoft dot com>\n"
+"with subject: unlisted sound driver \"%s\""
msgstr ""
-"Можна настроiць сiстэму для аўтаматычнага ўваходу ў сiстэму для\n"
-"аднаго карыстальнiка. Калi Вы не жадаеце гэтага, нацiснiце \"Адмена\"."
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Floppy format"
-msgstr "Фарматаванне"
+#: ../../harddrake/v4l.pm_.c:14 ../../harddrake/v4l.pm_.c:64
+#, fuzzy
+msgid "Auto-detect"
+msgstr " "
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Generic Printers"
-msgstr "Прынтэр"
+#: ../../harddrake/v4l.pm_.c:65 ../../harddrake/v4l.pm_.c:198
+#, fuzzy
+msgid "Unknown|Generic"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Please choose the printer to which the print jobs should go or enter a "
-"device name/file name in the input line"
+#: ../../harddrake/v4l.pm_.c:97
+msgid "Unknown|CPH05X (bt878) [many vendors]"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The scanners on this machine are available to other computers"
+#: ../../harddrake/v4l.pm_.c:98
+msgid "Unknown|CPH06X (bt878) [many vendors]"
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "First sector of the root partition"
-msgstr "Першы сектар загрузачнага раздзелу"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Alternative drivers"
-msgstr "Друк тэставых старонак"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../harddrake/v4l.pm_.c:224
msgid ""
-"\n"
-"Please check all options that you need.\n"
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd"
-msgstr "Initrd"
+#: ../../harddrake/v4l.pm_.c:227
+#, fuzzy
+msgid "Card model:"
+msgstr " (DMA)"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Cape Verde"
-msgstr "Згарнуць дрэва"
+#: ../../harddrake/v4l.pm_.c:228
+#, fuzzy
+msgid "Tuner type:"
+msgstr "i "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "whether this cpu has the Cyrix 6x86 Coma bug"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "Number of capture buffers:"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Loading printer configuration... Please wait"
-msgstr "Настройка злучэння з Iнтэрнэтам"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "early pentiums were buggy and freezed when decoding the F00F bytecode"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "number of capture buffers for mmap'ed capture"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Guam"
-msgstr "Забавы"
+#: ../../harddrake/v4l.pm_.c:231
+#, fuzzy
+msgid "PLL setting:"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Please choose the port that your printer is connected to or enter a device "
-"name/file name in the input line"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "Radio support:"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Options/Test"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "enable radio support"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:13
+msgid ""
+"GNU/Linux is a multiuser system, and this means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more this concept. But unlike \"root\", which is the\n"
+"administrator, the users you add here will not be entitled to change\n"
+"anything except their own files and their own configurations. You will have\n"
+"to create at least one regular user for yourself. That account is where you\n"
+"should log in for routine use. Although it is very practical to log in as\n"
+"\"root\" everyday, it may also be very dangerous! The slightest mistake\n"
+"could mean that your system would not work any more. If you make a serious\n"
+"mistake as a regular user, you may only lose some information, but not the\n"
+"entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course\n"
+"-- as you can actually enter whatever you want. DrakX will then take the\n"
+"first word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as the \"root\"\n"
+"one from a security point of view, but that is no reason to neglect it:\n"
+"after all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of the people meant to use that computer. When you are\n"
+"finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"Advanced\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default).\n"
+"\n"
+"When you are finished adding all users, you will be proposed to choose a\n"
+"user which can automatically log into the system when the computer boots\n"
+"up. If you are interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click \"Yes\".\n"
+"If you are not interested in this feature, click \"No\"."
+msgstr ""
+
+#: ../../help.pm_.c:48
+#, fuzzy
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."
+"Listed above are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
msgstr ""
-"Гэты узровень неабходна выкарыстоўваць з асцярогай. Сiстэма будзе прасцей\n"
-"у карыстаннi, але i больш чутнай: гэты узровень бяспекi нельга "
-"выкарыстоўваць\n"
-"на машынах, якiя далучаны да сеткi цi да Internet. Уваход не абаронены "
-"паролем."
-
-#: ../../fs.pm:1
-#, fuzzy, c-format
-msgid "Mounting partition %s"
-msgstr "Фарматаванне раздзелу %s"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "User name"
-msgstr "Iмя карыстальнiку:"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Userdrake"
-msgstr "Выкарыстоўваць DiskDrake"
-
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Памеры якога раздзела вы жадаеце змянiць?"
+" 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\" - \" "
+" \", .."
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "due to missing %s"
+#: ../../help.pm_.c:79
+msgid ""
+"The Mandrake Linux installation is spread out over several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Test pages"
-msgstr "Праверка партоў"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Logical volume name "
-msgstr "Лакальны прынтэр"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:84
msgid ""
-"List of data to restore:\n"
+"It is now time to specify which programs you wish to install on your\n"
+"system. There are thousands of packages available for Mandrake Linux, and\n"
+"you are not supposed to know them all by heart.\n"
+"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
+"\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
+"\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you unselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewest packages possible to have a working\n"
+"graphical desktop;\n"
+"\n"
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
+"\n"
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
+"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
+"\n"
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful to repair or\n"
+"update an existing system."
msgstr ""
-#: ../../fs.pm:1
-#, fuzzy, c-format
-msgid "Checking %s"
-msgstr "Памеры экрану: %s\n"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "TCP/Socket Printer Options"
-msgstr "Опцыi сокету прынтэру"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card mem (DMA)"
-msgstr "Адрасы памяці карты (DMA)"
-
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Disconnecting from Internet "
-msgstr "Далучэнне да Iнтэрнэту"
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "France"
-msgstr "Францыя"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "browse"
+#: ../../help.pm_.c:135
+msgid ""
+"Finally, depending on whether or not you chose to be able to select\n"
+"individual packages, you will be presented a tree containing all packages\n"
+"classified by groups and subgroups. While browsing the tree, you can select\n"
+"entire groups, subgroups, or individual packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An installation time estimate is displayed\n"
+"on the screen, to help you gauge if there is sufficient time to enjoy a cup\n"
+"of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mandrake Linux, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mandrake Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
+"\n"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of the previous step on how to\n"
+"create such a floppy disk."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking installed software..."
+#: ../../help.pm_.c:171
+msgid ""
+"You are now able to set up your Internet/network connection. If you wish to\n"
+"connect your computer to the Internet or to a local network, click \"OK\".\n"
+"The autodetection of network devices and modem will be launched. If this\n"
+"detection fails, uncheck the \"Use auto-detection\" box next time. You may\n"
+"also choose not to configure the network, or do it later; in that case,\n"
+"simply click the \"Cancel\" button.\n"
+"\n"
+"Available connections are: traditional modem, ISDN modem, ADSL connection,\n"
+"cable modem, and finally a simple LAN connection (Ethernet).\n"
+"\n"
+"Here, we will not detail each configuration. Simply make sure that you have\n"
+"all the parameters from your Internet Service Provider or system\n"
+"administrator.\n"
+"\n"
+"You can consult the ``Starter Guide'' chapter about Internet connections\n"
+"for details about the configuration, or simply wait until your system is\n"
+"installed and use the program described there to configure your connection.\n"
+"\n"
+"If you wish to configure the network later after installation, or if you\n"
+"are finished configuring your network connection, click \"Cancel\"."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remote printer name missing!"
-msgstr "Аддалены вузел"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Do you want to enable printing on printers in the local network?\n"
-msgstr "Жадаеце пратэсцiраваць друк?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkey"
-msgstr "Турцыя"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Alcatel speedtouch usb"
+#: ../../help.pm_.c:193
+msgid ""
+"You may now choose which services you wish to start at boot time.\n"
+"\n"
+"Here are listed all the services available with the current installation.\n"
+"Review them carefully and uncheck those which are not always needed at boot\n"
+"time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Number of buttons"
-msgstr "2 кнопкi"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Вьетнамскi \"нумар радка\" QWERTY"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Module"
-msgstr "Порт мышы"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:210
msgid ""
-"In addition, queues not created with this program or \"foomatic-configure\" "
-"cannot be transferred."
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by unselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware"
+#: ../../help.pm_.c:224
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandrake Linux rely.\n"
+"\n"
+"You will be presented the list of available resolutions and color depth\n"
+"available for your hardware. Choose the one that best suit your needs (you\n"
+"will be able to change that after installation though). When you are\n"
+"satisfied with the sample shown in the monitor, click \"OK\". A window will\n"
+"then appear and ask you if you can see it.\n"
+"\n"
+"If you are doing an \"Expert\" installation, you will enter the X\n"
+"configuration wizard. See the corresponding section of the manual for more\n"
+"information about this wizard.\n"
+"\n"
+"If you can see the message during the test, and answer \"Yes\", then DrakX\n"
+"will proceed to the next step. If you cannot see the message, it simply\n"
+"means that the configuration was wrong and the test will automatically end\n"
+"after 10 seconds, restoring the screen. Refer then to the video\n"
+"configuration section of the user guide for more information on how to\n"
+"configure your display."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ctrl and Alt keys simultaneously"
+#: ../../help.pm_.c:246
+msgid ""
+"Finally, you will be asked whether you want to see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United States"
-msgstr "Злучаныя Штаты"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "User umask"
-msgstr "Iмя карыстальнiку:"
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Default OS?"
-msgstr "Па дамаўленню"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (German layout)"
-msgstr "Швейцарскi (Нямецкая раскладка)"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure all heads independently"
+#: ../../help.pm_.c:253
+msgid ""
+"The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it by\n"
+"booting from the CD-ROM, press the >>F1<< key at boot and type >>rescue<<\n"
+"at the prompt. But in case your computer cannot boot from the CD-ROM, you\n"
+"should come back to this step for help in at least two situations:\n"
+"\n"
+" * when installing the bootloader, DrakX will rewrite the boot sector (\n"
+"MBR) of your main disk (unless you are using another boot manager), to\n"
+"allow you to start up with either Windows or GNU/Linux (assuming you have\n"
+"Windows in your system). If you need to reinstall Windows, the Microsoft\n"
+"install process will rewrite the boot sector, and then you will not be able\n"
+"to start GNU/Linux!\n"
+"\n"
+" * if a problem arises and you cannot start up GNU/Linux from the hard\n"
+"disk, this floppy disk will be the only means of starting up GNU/Linux. It\n"
+"contains a fair number of system tools for restoring a system, which has\n"
+"crashed due to a power failure, an unfortunate typing error, a typo in a\n"
+"password, or any other reason.\n"
+"\n"
+"If you say \"Yes\", you will be asked to enter a disk inside the drive. The\n"
+"floppy disk you will insert must be empty or contain data which you do not\n"
+"need. You will not have to format it since DrakX will rewrite the whole\n"
+"disk."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:277
+#, fuzzy
msgid ""
-"Please choose the printer you want to set up. The configuration of the "
-"printer will work fully automatically. If your printer was not correctly "
-"detected or if you prefer a customized printer configuration, turn on "
-"\"Manual configuration\"."
+"You now need to choose where you want to install the Mandrake Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space, you will need\n"
+"to partition it. Basically, partitioning a hard drive consists of logically\n"
+"dividing it to create space to install your new Mandrake Linux system.\n"
+"\n"
+"Because the partitioning process' effects are usually irreversible,\n"
+"partitioning can be intimidating and stressful if you are an inexperienced\n"
+"user. Fortunately, there is a wizard which simplifies this process. Before\n"
+"beginning, please consult the manual and take your time.\n"
+"\n"
+"If you are running the installation in Expert mode, you will enter\n"
+"DiskDrake, the Mandrake Linux partitioning tool, which allows you to\n"
+"fine-tune your partitions. See the DiskDrake section in the ``Starter\n"
+"Guide''. From the installation interface, you can use the wizards as\n"
+"described here by clicking the dialog's \"Wizard\" button.\n"
+"\n"
+"If partitions have already been defined, either from a previous\n"
+"installation or from another partitioning tool, simply select those to\n"
+"install your Linux system.\n"
+"\n"
+"If partitions are not defined, you will need to create them using the\n"
+"wizard. Depending on your hard drive configuration, several options are\n"
+"available.\n"
+"\n"
+" * \"Use free space\": this option will simply lead to an automatic\n"
+"partitioning of your blank drive(s). You will not be prompted further;\n"
+"\n"
+" * \"Use existing partition\": the wizard has detected one or more existing\n"
+"Linux partitions on your hard drive. If you want to use them, choose this\n"
+"option. You will then be asked to choose the mount points associated to\n"
+"each of the partitions. The legacy mount points are selected by default,\n"
+"and you should generally keep them.\n"
+"\n"
+" * \"Use the free space on the Windows partition\": if Microsoft Windows is\n"
+"installed on your hard drive and takes all the space available on it, you\n"
+"have to create free space for Linux data. To do so, you can delete your\n"
+"Microsoft Windows partition and data (see ``Erase entire disk'' or ``Expert\n"
+"mode'' solutions) or resize your Microsoft Windows partition. Resizing can\n"
+"be performed without the loss of any data, provided you previously\n"
+"defragment the Windows partition. Backing up your data won't hurt either..\n"
+"This solution is recommended if you want to use both Mandrake Linux and\n"
+"Microsoft Windows on the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than at the present time. You will have less free space under Microsoft\n"
+"Windows to store your data or to install new software;\n"
+"\n"
+" * \"Erase entire disk\": if you want to delete all data and all partitions\n"
+"present on your hard drive and replace them with your new Mandrake Linux\n"
+"system, choose this option. Be careful with this solution because you will\n"
+"not be able to revert your choice after you confirm;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Remove Windows\": this will simply erase everything on the drive and\n"
+"begin fresh, partitioning everything from scratch. All data on your disk\n"
+"will be lost;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Expert mode\": choose this option if you want to manually partition\n"
+"your hard drive. Be careful -- it is a powerful but dangerous option. You\n"
+"can very easily lose all your data. Hence, do not choose this unless you\n"
+"know what you are doing. To know how to use the DiskDrake utility used\n"
+"here, refer to the section ``Managing Your Partitions'' of the ````Starter\n"
+"Guide''''"
msgstr ""
+" , \n"
+" Mandrake Linux. \n"
+" \n"
+" , . ,\n"
+" \n"
+" Mandrake Linux.\n"
+"\n"
+" , \n"
+" , . \n"
+" . , \n"
+", .\n"
+"\n"
+" , , . \n"
+", (Swap - ).\n"
+"\n"
+" ( \n"
+" ), , \n"
+" .\n"
+"\n"
+"\n"
+" , . \n"
+", , . \n"
+" , :\n"
+"\n"
+"* : .\n"
+" . ,\n"
+" .\n"
+"\n"
+"\n"
+"* : , "
+" \n"
+" Mandrake Linux. , "
+" .\n"
+"\n"
+"\n"
+"* Windows: MicrosoftWindows "
+" \n"
+" , "
+" Linux\n"
+" , Windows (."
+"\" \" \n"
+" \" \") Windows "
+" \n"
+" . , "
+" Mandrake Linux \n"
+" Microsoft Windows '.\n"
+"\n"
+" , , , , "
+" \n"
+" Microsoft Windows .\n"
+"\n"
+"\n"
+"* : , "
+" .\n"
+" . , "
+" \n"
+" . "
+" ."
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "NTP Server"
-msgstr "NIS сервер:"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Sulogin(8) in single user level"
+#: ../../help.pm_.c:347
+msgid ""
+"There you are. Installation is now completed and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
+"\n"
+"The \"Advanced\" button (in Expert mode only) shows two more buttons to:\n"
+"\n"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Load/Save on floppy"
-msgstr "Захаванне на дыскету"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "This theme does not yet have a bootsplash in %s !"
+#: ../../help.pm_.c:378
+#, fuzzy
+msgid ""
+"Any partitions that have been newly defined must be formatted for use\n"
+"(formatting means creating a filesystem on it).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mandrake Linux operating system installation.\n"
+"\n"
+"Click on \"Advanced\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
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"
+" Mandrake Linux."
-#: ../../pkgs.pm:1
-#, c-format
-msgid "nice"
-msgstr "добра"
-
-#: ../../Xconfig/test.pm:1
-#, fuzzy, c-format
-msgid "Leaving in %d seconds"
-msgstr "%d секундаў"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Да якога паслядоўнага порту далучаны мадэм?"
-
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Property"
-msgstr "Порт"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript"
+#: ../../help.pm_.c:404
+#, fuzzy
+msgid ""
+"Your new Mandrake Linux operating system is currently being installed.\n"
+"Depending on the number of packages you will be installing and the speed of\n"
+"your computer, this operation could take from a few minutes to a\n"
+"significant amount of time.\n"
+"\n"
+"Please be patient."
msgstr ""
+" Mandrake Linux 븢.\n"
+" ( "
+"\n"
+" ') .\n"
+"\n"
+"\n"
+" , ."
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "LAN Configuration"
-msgstr "Настройка"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ghana"
-msgstr "Гана"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Path or Module required"
+#: ../../help.pm_.c:412
+msgid ""
+"At the time you are installing Mandrake Linux, it is likely that some\n"
+"packages have been updated since the initial release. Some bugs may have\n"
+"been fixed, and security issues solved. To allow you to benefit from these\n"
+"updates, you are now able to download them from the Internet. Choose\n"
+"\"Yes\" if you have a working Internet connection, or \"No\" if you prefer\n"
+"to install updated packages later.\n"
+"\n"
+"Choosing \"Yes\" displays a list of places from which updates can be\n"
+"retrieved. Choose the one nearest you. Then a package-selection tree\n"
+"appears: review the selection, and press \"Install\" to retrieve and\n"
+"install the selected package(s), or \"Cancel\" to abort."
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Advanced Options"
-msgstr "Заканчэнне настройкi"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "View Configuration"
-msgstr "Настройка"
+#: ../../help.pm_.c:425
+msgid ""
+"Before continuing, you should read carefully the terms of the license. It\n"
+"covers the whole Mandrake Linux distribution, and if you do not agree with\n"
+"all the terms included in it, click on the \"Refuse\" button which will\n"
+"immediately terminate the installation. To continue with the installation,\n"
+"click on the \"Accept\" button."
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Coma bug"
+#: ../../help.pm_.c:432
+msgid ""
+"At this point, it is time to choose the security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"ease of use. Refer to the \"msec\" chapter of the ``Reference Manual'' to\n"
+"get more information about the meaning of these levels.\n"
+"\n"
+"If you do not know what to choose, keep the default option."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:442
msgid ""
"At this point, you need to choose which partition(s) will be used for the\n"
"installation of your Mandrake Linux system. If partitions have already been\n"
-"defined, either from a previous installation of GNU/Linux or by another\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
"partitions must be defined.\n"
"\n"
@@ -4566,7537 +3227,5995 @@ msgid ""
"\n"
"To partition the selected hard drive, you can use these options:\n"
"\n"
-" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
"\n"
-" * \"%s\": this option enables you to automatically create ext3 and swap\n"
-"partitions in the free space of your hard drive\n"
+" * \"Auto allocate\": this option enables to automatically create ext3 and\n"
+"swap partitions on your hard drive's free space;\n"
"\n"
-"\"%s\": gives access to additional features:\n"
+"\"More\": gives access to additional features:\n"
"\n"
-" * \"%s\": saves the partition table to a floppy. Useful for later\n"
-"partition-table recovery if necessary. It is strongly recommended that you\n"
-"perform this step.\n"
+" * \"Save partition table\": saves the partition table to a floppy. Useful\n"
+"for later partition-table recovery, if necessary. It is strongly\n"
+"recommended to perform this step;\n"
"\n"
-" * \"%s\": allows you to restore a previously saved partition table from a\n"
-"floppy disk.\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from a floppy disk;\n"
"\n"
-" * \"%s\": if your partition table is damaged, you can try to recover it\n"
-"using this option. Please be careful and remember that it doesn't always\n"
-"work.\n"
+" * \"Rescue partition table\": if your partition table is damaged, you can\n"
+"try to recover it using this option. Please be careful and remember that it\n"
+"can fail;\n"
"\n"
-" * \"%s\": discards all changes and reloads the partition table that was\n"
-"originally on the hard drive.\n"
+" * \"Reload partition table\": discards all changes and loads your initial\n"
+"partition table;\n"
"\n"
-" * \"%s\": unchecking this option will force users to manually mount and\n"
-"unmount removable media such as floppies and CD-ROMs.\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
"\n"
-" * \"%s\": use this option if you wish to use a wizard to partition your\n"
-"hard drive. This is recommended if you do not have a good understanding of\n"
-"partitioning.\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard drive. This is recommended if you do not have a good knowledge of\n"
+"partitioning;\n"
"\n"
-" * \"%s\": use this option to cancel your changes.\n"
+" * \"Undo\": use this option to cancel your changes;\n"
"\n"
-" * \"%s\": allows additional actions on partitions (type, options, format)\n"
-"and gives more information about the hard drive.\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
"\n"
-" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+" * \"Done\": when you are finished partitioning your hard drive, this will\n"
"save your changes back to disk.\n"
"\n"
-"When defining the size of a partition, you can finely set the partition\n"
-"size by using the Arrow keys of your keyboard.\n"
-"\n"
"Note: you can reach any option using the keyboard. Navigate through the\n"
-"partitions using [Tab] and the [Up/Down] arrows.\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
"\n"
"When a partition is selected, you can use:\n"
"\n"
-" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
"\n"
-" * Ctrl-d to delete a partition\n"
+" * Ctrl-d to delete a partition;\n"
"\n"
-" * Ctrl-m to set the mount point\n"
+" * Ctrl-m to set the mount point.\n"
"\n"
-"To get information about the different file system types available, please\n"
+"To get information about the different filesystem types available, please\n"
"read the ext2FS chapter from the ``Reference Manual''.\n"
"\n"
"If you are installing on a PPC machine, you will want to create a small HFS\n"
-"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"``bootstrap'' partition of at least 1MB, which will be used by the yaboot\n"
"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
"may find it a useful place to store a spare kernel and ramdisk images for\n"
"emergency boot situations."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:513
+#, fuzzy
msgid ""
-"Graphic Card\n"
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mandrake Linux operating system.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error installing packages:"
-msgstr "Атрымалася памылка ўпарадкавання пакетаў:"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Lexmark inkjet configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Undo"
-msgstr "Адкат"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Save partition table"
-msgstr "Запiс таблiцы раздзелаў"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Finnish"
-msgstr "Фiнскi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Macedonia"
-msgstr "Македонія"
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The per-user sharing uses the group \"fileshare\". \n"
-"You can use userdrake to add a user to this group."
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
msgstr ""
+" \n"
+"Windows. , , , "
+"\n"
+" Mandrake Linux.\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:\")."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovenian"
-msgstr "Славенскi"
+#: ../../help.pm_.c:544
+msgid "Please be patient. This operation can take several minutes."
+msgstr " , . ."
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:547
+#, fuzzy
msgid ""
-"Authorize:\n"
+"DrakX now needs to know if you want to perform a default (\"Recommended\")\n"
+"installation or if you want to have greater control (\"Expert\") over your\n"
+"installation. You can also choose to do a new installation or upgrade your\n"
+"existing Mandrake Linux system:\n"
+"\n"
+" * \"Install\": completely wipes out the old system. However, depending on\n"
+"what is currently installed on your machine, you may be able to keep some\n"
+"old partitions (Linux or otherwise) unchanged;\n"
+"\n"
+" * \"Upgrade\": this installation class allows to simply update the\n"
+"packages currently installed on your Mandrake Linux system. It keeps your\n"
+"hard drives' current partitions as well as user configurations. All other\n"
+"configuration steps remain available, similar to a normal installation;\n"
"\n"
-"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
-"set to \"ALL\",\n"
+" * \"Upgrade Packages Only\": this new installation class allows you to\n"
+"upgrade an existing Mandrake Linux system while keeping all system\n"
+"configurations unchanged. Adding new packages to the current installation\n"
+"is also possible.\n"
"\n"
-"- only local ones if set to \"LOCAL\"\n"
+"Upgrades should work fine on Mandrake Linux systems using version \"8.1\"\n"
+"or later.\n"
"\n"
-"- none if set to \"NONE\".\n"
+"Depending on your GNU/Linux knowledge, select one of the following choices:\n"
"\n"
-"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
-"(5))."
+" * Recommended: choose this if you have never installed a GNU/Linux\n"
+"operating system. The installation will be very easy and you will only be\n"
+"asked a few questions;\n"
+"\n"
+" * Expert: if you have a good GNU/Linux understanding, you may wish to\n"
+"perform a highly customized installation. Some of the decisions you will\n"
+"have to make may be difficult if you do not have good GNU/Linux knowledge,\n"
+"so it is not recommended that those without a fair amount of experience\n"
+"select this installation class."
msgstr ""
+" , \"븢\" "
+"Mandrake Linux\n"
+" .\n"
+"\n"
+"\n"
+" GNU/Linux, "
+", 븢 \n"
+" Mandrake Linux:\n"
+"\n"
+"* : , 븢GNU/Linux. "
+" ,\n"
+" .\n"
+"\n"
+"\n"
+"* : GNU/Linux, "
+" \n"
+" , , . "
+" \n"
+" \"\", , GNU/Linux, "
+" .\n"
+"\n"
+"\n"
+"* : , GNU/"
+"Linux. \n"
+" \"\", "
+" , ,\n"
+" . , "
+". \n"
+" . "
+" , GNU/Linux.\n"
+" , , ."
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Libya"
-msgstr "Лібэрыя"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr "Канфігурацыя сцэнараў, усталяванне ПЗ, запуск службаў..."
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer on parallel port #%s"
-msgstr "Iмя прынтэру"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:582
msgid ""
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen). However, you might not have a keyboard that\n"
+"corresponds exactly to your language: for example, if you are an English\n"
+"speaking Swiss person, you may still want your keyboard to be a Swiss\n"
+"keyboard. Or if you speak English but are located in Quebec, you may find\n"
+"yourself in the same situation. In both cases, you will have to go back to\n"
+"this installation step and select an appropriate keyboard from the list.\n"
"\n"
-"- Burn to CD"
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-latin alphabet, you will be\n"
+"asked in the next dialog to choose the key binding that will switch the\n"
+"keyboard layout between the latin and non-latin layouts."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Table"
-msgstr "Таблiца"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "Не ведаю як адфарматаваць %s з тыпам %s"
-
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Model"
-msgstr "Порт мышы"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "USB printer #%s"
-msgstr "Iмя друкаркi"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Stop Server"
-msgstr "NIS сервер:"
-
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../help.pm_.c:598
msgid ""
+"The first step is to choose your preferred language.\n"
"\n"
-"Select the theme for\n"
-"lilo and bootsplash,\n"
-"you can choose\n"
-"them separately"
+"Please choose your preferred language for installation and system usage.\n"
+"\n"
+"Clicking on the \"Advanced\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you host users from Spain on your machine,\n"
+"select English as the main language in the tree view and in the Advanced\n"
+"section, click on the box corresponding to \"Spanish|Spain\".\n"
+"\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.\n"
+"\n"
+"To switch from one language to the other, you can launch the\n"
+"\"/usr/sbin/localedrake\" command as \"root\" to change the whole system\n"
+"language, or as a simple user to only change that user's default language."
msgstr ""
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Modem"
-msgstr "Порт мышы"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tuvalu"
-msgstr "Тувалю"
-
-#: ../../help.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Use auto detection"
+#: ../../help.pm_.c:617
+msgid ""
+"DrakX generally detects the number of buttons your mouse possesses. If not,\n"
+"it assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
+"\n"
+"If you wish to specify a different type of mouse, select the appropriate\n"
+"type from the provided list.\n"
+"\n"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.\n"
+"\n"
+"Sometimes, wheel mouses are not automatically detected. You will need to\n"
+"manually select it in the list. Be sure to select the one corresponding to\n"
+"the correct port it is attached to. After you have pressed the \"OK\"\n"
+"button, a mouse image will be displayed. You then need to move the wheel of\n"
+"your mouse to activate it correctly. Then test that all buttons and\n"
+"movements are correct."
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:638
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."
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
msgstr ""
-"GPM дадае падтрымку мышы да праграмаў, якiя працуюць у тэкставым рэжыме,\n"
-"такiх як Midnight Commander. Гэта дазваляе выкарыстоўваць мыш пры "
-"капiраваннi i ўстаўцы,\n"
-"i ўключае падтрымку ўсплываючых (pop-up) меню ў тэкставым рэжыме."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Started on boot"
+#: ../../help.pm_.c:642
+msgid ""
+"This is the most crucial decision in regards with the security of your\n"
+"GNU/Linux system: you have to enter the \"root\" password. \"Root\" is the\n"
+"system administrator and is the only one authorized to make updates, add\n"
+"users, change the overall system configuration, and so on. In short,\n"
+"\"root\" can do everything! That is why you must choose a password that is\n"
+"difficult to guess -- DrakX will tell you if it is too easy. As you can\n"
+"see, you can choose not to enter a password, but we strongly advise you\n"
+"against this if only for one reason: do not think that because you booted\n"
+"GNU/Linux that your other operating systems are safe from mistakes. Since\n"
+"\"root\" can overcome all limitations and unintentionally erase all data on\n"
+"partitions by carelessly accessing the partitions themselves, it is\n"
+"important for it to be difficult to become \"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it too\n"
+"easy to compromise a system.\n"
+"\n"
+"However, please do not make the password too long or complicated because\n"
+"you must be able to remember it without too much effort.\n"
+"\n"
+"The password will not be displayed on screen as you type it in. Hence, you\n"
+"will have to type the password twice to reduce the chance of a typing\n"
+"error. If you do happen to make the same typing error twice, this\n"
+"``incorrect'' password will have to be used the first time you connect.\n"
+"\n"
+"In Expert mode, you will be asked if you will be connecting to an\n"
+"authentication server, like NIS or LDAP.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one as \"authentication\". If you have no\n"
+"clue, ask your network administrator.\n"
+"\n"
+"If your computer is not connected to any administrated network, you will\n"
+"want to choose \"Local files\" for authentication."
msgstr ""
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
+#: ../../help.pm_.c:678
msgid ""
-"Join the MandrakeSoft support teams and the Linux Community online to share "
-"your knowledge and help others by becoming a recognized Expert on the online "
-"technical support website:"
+"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
+"automated. In fact, DrakX analyzes the disk boot sector and acts\n"
+"accordingly, depending on what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
+"boot sector. Hence, you will be able to load either GNU/Linux or another\n"
+"OS;\n"
+"\n"
+" * if a grub or LILO boot sector is found, it will replace it with a new\n"
+"one.\n"
+"\n"
+"if in doubt, DrakX will display a dialog with various options.\n"
+"\n"
+" * \"Bootloader to use\": you have three choices:\n"
+"\n"
+" * \"GRUB\": if you prefer grub (text menu);\n"
+"\n"
+" * \"LILO with graphical menu\": if you prefer LILO with its graphical\n"
+"interface;\n"
+"\n"
+" * \"LILO with text menu\": if you prefer LILO with its text menu\n"
+"interface.\n"
+"\n"
+" * \"Boot device\": in most cases, you will not change the default\n"
+"(\"/dev/hda\"), but if you prefer, the bootloader can be installed on the\n"
+"second hard drive (\"/dev/hdb\"), or even on a floppy disk (\"/dev/fd0\");\n"
+"\n"
+" * \"Delay before booting the default image\": when rebooting the computer,\n"
+"this is the delay granted to the user to choose -- in the bootloader menu,\n"
+"another boot entry than the default one.\n"
+"\n"
+"!! Beware that if you choose not to install a bootloader (by selecting\n"
+"\"Cancel\" here), you must ensure that you have a way to boot your Mandrake\n"
+"Linux system! Also, be sure you know what you do before changing any of the\n"
+"options. !!\n"
+"\n"
+"Clicking the \"Advanced\" button in this dialog will offer many advanced\n"
+"options, which are reserved for the expert user."
msgstr ""
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "No password aging for"
-msgstr "Няма паролю"
-
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../help.pm_.c:718
+#, fuzzy
msgid ""
-"The following options can be set to customize your\n"
-"system security. If you need an explanation, look at the help tooltip.\n"
+"After you have configured the general bootloader parameters, the list of\n"
+"boot options which will be available at boot time will be displayed.\n"
+"\n"
+"If there is another operating system installed on your machine, it will\n"
+"automatically be added to the boot menu. Here, you can choose to fine-tune\n"
+"the existing options. Select an entry and click \"Modify\" to modify or\n"
+"remove it. \"Add\" creates a new entry. and \"Done\" goes on to the next\n"
+"installation step.\n"
+"\n"
+"You may also not want to give access to these other operating systems to\n"
+"anyone. In which case, you can delete the corresponding entries. But then,\n"
+"you will need a boot disk in order to boot those other operating systems!"
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!"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatically find available printers on remote machines"
+#: ../../help.pm_.c:732
+#, fuzzy
+msgid ""
+"You must indicate where you wish to place the information required to boot\n"
+"GNU/Linux.\n"
+"\n"
+"Unless you know exactly what you are doing, choose \"First sector of drive\n"
+"(MBR)\"."
msgstr ""
+" , i i, \n"
+" i Linux.\n"
+"\n"
+"\n"
+"i , i, \n"
+" \" (MBR)\"."
-#: ../../lang.pm:1
-#, c-format
-msgid "East Timor"
-msgstr "Усходні Тымор"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "On Tape Device"
-msgstr "Порт прынтэру"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:739
msgid ""
+"Here, we select a printing system for your computer. Other OSes may offer\n"
+"you one, but Mandrake Linux offers two.\n"
"\n"
-"- Save to Tape on device: %s"
+" * \"pdq\" -- which means ``print, don't queue'', is the choice if you have\n"
+"a direct connection to your printer and you want to be able to panic out of\n"
+"printer jams, and you do not have networked printers. It will handle only\n"
+"very simple network cases and is somewhat slow for networks. Pick \"pdq\"\n"
+"if this is your first voyage to GNU/Linux. You can change your choices\n"
+"after installation by running PrinterDrake from the Mandrake Control Center\n"
+"and clicking the expert button.\n"
+"\n"
+" * \"CUPS\" -- ``Common Unix Printing System'', is excellent at printing to\n"
+"your local printer and also halfway-around the planet. It is simple and can\n"
+"act as a server or a client for the ancient \"lpd\" printing system. Hence,\n"
+"it is compatible with the systems that went before. It can do many tricks,\n"
+"but the basic setup is almost as easy as \"pdq\". If you need this to\n"
+"emulate an \"lpd\" server, you must turn on the \"cups-lpd\" daemon. It has\n"
+"graphical front-ends for printing or choosing printer options."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Login name"
-msgstr "Iмя дамену"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report unowned files"
+#: ../../help.pm_.c:759
+msgid ""
+"DrakX now detects any IDE device present in your computer. It will also\n"
+"scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented with a list of SCSI cards to choose from. Click \"No\" if you\n"
+"have no SCSI hardware. If you are unsure, you can check the list of\n"
+"hardware detected in your machine by selecting \"See hardware info\" and\n"
+"clicking \"OK\". Examine the hardware list and then click on the \"OK\"\n"
+"button to return to the SCSI interface question.\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\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
+"\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to manually provide options to the driver."
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Del profile..."
+#: ../../help.pm_.c:781
+msgid ""
+"You can add additional entries for yaboot, either for other operating\n"
+"systems, alternate kernels, or for an emergency boot image.\n"
+"\n"
+"For other OSes, the entry consists only of a label and the \"root\"\n"
+"partition.\n"
+"\n"
+"For Linux, there are a few possible options:\n"
+"\n"
+" * Label: this is simply the name you will have to type at the yaboot\n"
+"prompt to select this boot option;\n"
+"\n"
+" * Image: this would be the name of the kernel to boot. Typically, vmlinux\n"
+"or a variation of vmlinux with an extension;\n"
+"\n"
+" * Root: the \"root\" device or ``/'' for your Linux installation;\n"
+"\n"
+" * Append: on Apple hardware, the kernel append option is used quite often\n"
+"to assist in initializing video hardware, or to enable keyboard mouse\n"
+"button emulation for the often lacking 2nd and 3rd mouse buttons on a stock\n"
+"Apple mouse. The following are some examples:\n"
+"\n"
+" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
+"hda=autotune\n"
+"\n"
+" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
+"\n"
+" * Initrd: this option can be used either to load initial modules, before\n"
+"the boot device is available, or to load a ramdisk image for an emergency\n"
+"boot situation;\n"
+"\n"
+" * Initrd-size: the default ramdisk size is generally 4,096 bytes. If you\n"
+"need to allocate a large ramdisk, this option can be used;\n"
+"\n"
+" * Read-write: normally the \"root\" partition is initially brought up in\n"
+"read-only, to allow a filesystem check before the system becomes ``live''.\n"
+"Here, you can override this option;\n"
+"\n"
+" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
+"problematic, you can select this option to boot in ``novideo'' mode, with\n"
+"native frame buffer support;\n"
+"\n"
+" * Default: selects this entry as being the default Linux selection,\n"
+"selectable by just pressing ENTER at the yaboot prompt. This entry will\n"
+"also be highlighted with a ``*'', if you press [Tab] to see the boot\n"
+"selections."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing Foomatic..."
-msgstr "Усталяванне пакету %s"
-
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Калi ласка, выйдзiце, а потым скарыстайце Ctrl-Alt-BackSpace"
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "detected"
-msgstr "Аддалены прынтэр"
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "The network needs to be restarted. Do you want to restart it ?"
-msgstr "Выбар пакетаў для ўсталявання"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Package: "
-msgstr "Пакет"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't write /etc/sysconfig/bootsplash."
+#: ../../help.pm_.c:828
+msgid ""
+"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able to boot\n"
+"either GNU/Linux, MacOS or MacOSX if present on your computer. Normally,\n"
+"these other operating systems are correctly detected and installed. If this\n"
+"is not the case, you can add an entry by hand in this screen. Be careful to\n"
+"choose the correct parameters.\n"
+"\n"
+"Yaboot's main options are:\n"
+"\n"
+" * Init Message: a simple text message displayed before the boot prompt;\n"
+"\n"
+" * Boot Device: indicates where you want to place the information required\n"
+"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
+"to hold this information;\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"
+" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
+"After selecting Linux, you will have this delay in 0.1 second before your\n"
+"default kernel description is selected;\n"
+"\n"
+" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
+"at the first boot prompt;\n"
+"\n"
+" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
+"Open Firmware at the first boot prompt;\n"
+"\n"
+" * Default OS: you can select which OS will boot by default when the Open\n"
+"Firmware Delay expires."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SECURITY WARNING!"
+#: ../../help.pm_.c:860
+msgid ""
+"Here are presented various parameters concerning your machine. Depending on\n"
+"your installed hardware, you may (or may not), see the following entries:\n"
+"\n"
+" * \"Mouse\": check the current mouse configuration and click on the button\n"
+"to change it if necessary;\n"
+"\n"
+" * \"Keyboard\": check the current keyboard map configuration and click on\n"
+"the button to change that if necessary;\n"
+"\n"
+" * \"Timezone\": DrakX, by default, guesses your time zone from the\n"
+"language you have chosen. But here again, as for the choice of a keyboard,\n"
+"you may not be in the country for which the chosen language should\n"
+"correspond. Hence, you may need to click on the \"Timezone\" button in\n"
+"order to configure the clock according to the time zone you are in;\n"
+"\n"
+" * \"Printer\": clicking on the \"No Printer\" button will open the printer\n"
+"configuration wizard. Consult the correpsonding chapter of the ``Starter\n"
+"Guide'' for more information on how to setup a new printer. The interface\n"
+"presented there is similar to the one used at installation time;\n"
+"\n"
+" * \"Sound card\": if a sound card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"TV card\": if a TV card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"ISDN card\": if an ISDN card is detected on your system, it will be\n"
+"displayed here. You can click on the button to change the parameters\n"
+"associated to it."
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "StarOffice"
-msgstr "добра"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "No, I don't want autologin"
+#: ../../help.pm_.c:891
+#, fuzzy
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandrake Linux partition. Be careful, all data present on it will be lost\n"
+"and will not be recoverable!"
msgstr ""
+" \n"
+" Mandrake Linux. , "
+"\n"
+" ."
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Windows Migration tool"
-msgstr "Навуковыя прыкладанні"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, fuzzy, c-format
-msgid "All languages"
-msgstr "Выбар мовы"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Removing %s"
-msgstr "Памеры экрану: %s\n"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "%s not found...\n"
-msgstr "Не знайшлi %s"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Testing your connection..."
-msgstr "Якi тып вашага ISDN злучэння?"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Cache size"
-msgstr "памер блоку"
-
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:896
+#, fuzzy
msgid ""
-"Passwords are now enabled, but use as a networked computer is still not "
-"recommended."
+"Click on \"OK\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"OK\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to stop this operation without losing any data and\n"
+"partitions present on this hard drive."
msgstr ""
-"Пароль зараз уключаны, але выкарыстанне камп'ютэру ў якасцi сеткавага\n"
-"таксама не рэкамендавана."
+" \"\", \n"
+" . , \n"
+"\n"
+" , Windows\n"
+"\n"
+"\n"
+" \"\" "
-#: ../../diskdrake/interactive.pm:1
+#: ../../install2.pm_.c:111
#, c-format
-msgid "Start sector: "
-msgstr "Пачатковы сектар:"
+msgid ""
+"Can't access kernel modules corresponding to your kernel (file %s is "
+"missing), this generally means your boot floppy in not in sync with the "
+"Installation medium (please create a newer boot floppy)"
+msgstr ""
-#: ../../lang.pm:1
+#: ../../install2.pm_.c:167
#, c-format
-msgid "Congo (Brazzaville)"
+msgid "You must also format %s"
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Read"
-msgstr "Перазагрузiць"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, fuzzy, c-format
-msgid "The package %s needs to be installed. Do you want to install it?"
-msgstr "Выбар пакетаў для ўсталявання"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Seychelles"
-msgstr "Абалонка:"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../install_any.pm_.c:423
#, c-format
msgid ""
-"Printerdrake has compared the model name resulting from the printer auto-"
-"detection with the models listed in its printer database to find the best "
-"match. This choice can be wrong, especially when your printer is not listed "
-"at all in the database. So check whether the choice is correct and click "
-"\"The model is correct\" if so and if not, click \"Select model manually\" "
-"so that you can choose your printer model manually on the next screen.\n"
+"You have selected the following server(s): %s\n"
"\n"
-"For your printer Printerdrake has found:\n"
"\n"
-"%s"
+"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 ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Bad password on %s"
-msgstr "Няма паролю"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../install_any.pm_.c:441
#, c-format
msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
"\n"
-"There is one unknown printer directly connected to your system"
+"\n"
+"Do you really want to remove these packages?\n"
msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Right Control key"
-msgstr "Аддалены прынтэр"
+#: ../../install_any.pm_.c:471
+msgid "Can't use broadcast with no NIS domain"
+msgstr " broadcast NIS"
-#: ../../network/tools.pm:1
+#: ../../install_any.pm_.c:879
#, fuzzy, c-format
-msgid ""
-"Insert a FAT formatted floppy in drive %s with %s in root directory and "
-"press %s"
-msgstr "Устаўце дыскету ў дыскавод %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Zambia"
-msgstr "Замбія"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security Administrator (login or email)"
-msgstr ""
+msgid "Insert a FAT formatted floppy in drive %s"
+msgstr " %s"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Sorry, we support only 2.4 kernels."
+#: ../../install_any.pm_.c:883
+msgid "This floppy is not FAT formatted"
msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Romanian (qwerty)"
-msgstr "Рускi (Я-В-Е-Р-Т-И)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Under Devel ... please wait."
+#: ../../install_any.pm_.c:895
+msgid ""
+"To use this saved packages selection, boot installation with ``linux "
+"defcfg=floppy''"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Egypt"
-msgstr "Пуста"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
+#: ../../install_any.pm_.c:918 ../../partition_table.pm_.c:767
#, c-format
-msgid "Czech Republic"
-msgstr "Чэская Рэспубліка"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Sound card"
-msgstr "Стандартны"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Import Fonts"
-msgstr "Фарматаванне раздзелаў"
+msgid "Error reading file %s"
+msgstr " %s"
-#: ../../diskdrake/hd_gtk.pm:1
-#, fuzzy, c-format
+#: ../../install_any.pm_.c:1040
msgid ""
-"You have one big MicroSoft Windows partition.\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-"Зараз вы маеце толькi адзiн вялiкi раздзел FAT\n"
-"(які звычайна выкарыстоўвае MS Dos/Windows).\n"
-"Прапаную, па-першае, змянiць памеры раздзела\n"
-"(клiкнiце на яго, а потым на \"змяненне памераў\")"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Temporary Files"
+"An error 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 ."
-#: ../../network/netconnect.pm:1
+#: ../../install_interactive.pm_.c:21
#, c-format
msgid ""
-"Congratulations, the network and Internet configuration is finished.\n"
-"\n"
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
msgstr ""
+" .\n"
+" : %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Change partition type"
-msgstr "Змянiць тып раздзелу"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:56
msgid ""
-"Resolution\n"
-"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor."
+"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 `/'"
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Network Options"
-msgstr "Опцыi модулю:"
+#: ../../install_interactive.pm_.c:61
+msgid "You must have a swap partition"
+msgstr " i swap"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable msec hourly security check"
-msgstr ""
-
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../install_interactive.pm_.c:62
msgid ""
-"Display theme\n"
-"under console"
+"You don't have a swap partition.\n"
+"\n"
+"Continue anyway?"
msgstr ""
+" swap.\n"
+"\n"
+" ?"
-#: ../../printer/cups.pm:1
-#, fuzzy, c-format
-msgid "(on %s)"
-msgstr "(модуль %s)"
+#: ../../install_interactive.pm_.c:65 ../../install_steps.pm_.c:169
+#, fuzzy
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr " i swap"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM Series"
-msgstr "MM Series"
+#: ../../install_interactive.pm_.c:90
+msgid "Use free space"
+msgstr " "
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"A library which defends against buffer overflow and format string attacks."
-msgstr ""
+#: ../../install_interactive.pm_.c:92
+msgid "Not enough free space to allocate new partitions"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "average"
-msgstr ""
+#: ../../install_interactive.pm_.c:100
+msgid "Use existing partitions"
+msgstr " i "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "New printer name"
-msgstr "Iмя друкаркi"
+#: ../../install_interactive.pm_.c:102
+msgid "There is no existing partition to use"
+msgstr " i , i "
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Allow an ordinary user to mount the file system. The\n"
-"name of the mounting user is written to mtab so that he can unmount the "
-"file\n"
-"system again. This option implies the options noexec, nosuid, and nodev\n"
-"(unless overridden by subsequent options, as in the option line\n"
-"user,exec,dev,suid )."
-msgstr ""
+#: ../../install_interactive.pm_.c:109
+msgid "Use the Windows partition for loopback"
+msgstr " Windows i i"
-#: ../../lang.pm:1
-#, c-format
-msgid "Equatorial Guinea"
-msgstr "Экватарыяльная Гвінэя"
+#: ../../install_interactive.pm_.c:112
+#, fuzzy
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr " i?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup System"
-msgstr "Настр. файлавых сiстэмаў"
+#: ../../install_interactive.pm_.c:114
+msgid "Choose the sizes"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Build Backup"
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../install_interactive.pm_.c:115
+msgid "Root partition size in MB: "
+msgstr " M: "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\" or \"%s <file>\".\n"
-msgstr ""
+#: ../../install_interactive.pm_.c:116
+msgid "Swap partition size in MB: "
+msgstr " swap M:"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Currently, no alternative possibility is available"
-msgstr ""
+#: ../../install_interactive.pm_.c:126
+msgid "Use the free space on the Windows partition"
+msgstr " Windows"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Romanian (qwertz)"
-msgstr "Рускi (Я-В-Е-Р-Т-И)"
+#: ../../install_interactive.pm_.c:129
+msgid "Which partition do you want to resize?"
+msgstr " i?"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Write Config"
-msgstr "Настройка X Window"
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing Windows partition"
+msgstr "i i Windows"
-#: ../../services.pm:1
+#: ../../install_interactive.pm_.c:134
#, c-format
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."
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occured: %s"
msgstr ""
-"Дэман маршрутызацыi дазваляе дынамiчным таблiцам IP маршрутызацыi\n"
-"аднаўляцца праз RIP пратакол. RIP выкарыстоўваецца ў малых сетках, больш\n"
-"складаныя пратаколы маршрутызацыi - у вялiкiх сетках."
+" FAT \n"
+" , : %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kiribati"
-msgstr "Кірыбаці"
-
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Logitech Mouse (serial, old C7 type) with Wheel emulation"
-msgstr "Logitech Mouse (паслядоўная, стары тып C7)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other (not drakbackup) keys in place already"
+#: ../../install_interactive.pm_.c:137
+msgid ""
+"Your Windows partition is too fragmented. Please reboot your computer under "
+"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
+"installation."
msgstr ""
+" Windows . \n"
+" i ``defrag''"
-#: ../../help.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:138
+#, fuzzy
msgid ""
-"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
-"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
-"WindowMaker, etc.) bundled with Mandrake Linux rely upon.\n"
-"\n"
-"You will be presented with a list of different parameters to change to get\n"
-"an optimal graphical display: Graphic Card\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
-"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs.\n"
-"\n"
-"\n"
-"\n"
-"Monitor\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer.\n"
-"\n"
-"\n"
-"\n"
-"Resolution\n"
-"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor.\n"
-"\n"
-"\n"
-"\n"
-"Test\n"
-"\n"
-" the system will try to open a graphical screen at the desired\n"
-"resolution. If you can see the message during the test and answer \"%s\",\n"
-"then DrakX will proceed to the next step. If you cannot see the message, it\n"
-"means that some part of the autodetected configuration was incorrect and\n"
-"the test will automatically end after 12 seconds, bringing you back to the\n"
-"menu. Change settings until you get a correct graphical display.\n"
-"\n"
-"\n"
-"\n"
-"Options\n"
+"WARNING!\n"
"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+"DrakX will now resize your Windows partition. Be careful:\n"
+"this operation is dangerous. If you have not already done\n"
+"so, you should first exit the installation, run scandisk\n"
+"under Windows (and optionally run defrag), then restart the\n"
+"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."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Browse"
-msgstr "Прагляд"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CDROM"
-msgstr ""
+#: ../../install_interactive.pm_.c:148
+msgid "Which size do you want to keep for Windows on"
+msgstr " Windows?"
-#: ../../network/tools.pm:1
+#: ../../install_interactive.pm_.c:149
#, c-format
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Цi жадаеце зараз паспрабаваць далучыцца да Iнтэрнэту?"
+msgid "partition %s"
+msgstr " %s"
-#: ../../keyboard.pm:1
+#: ../../install_interactive.pm_.c:156
#, c-format
-msgid "Belgian"
-msgstr "Бельгiйскi"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Do you have an ISA sound card?"
-msgstr "Цi ёсць у вас iншы?"
+msgid "FAT resizing failed: %s"
+msgstr " FAT %s"
-#: ../../network/ethernet.pm:1
-#, fuzzy, c-format
+#: ../../install_interactive.pm_.c:171
msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
+"There is no FAT partition to resize or to use as loopback (or not enough "
+"space left)"
msgstr ""
-"Нi водны ethernet сеткавы адаптар у вашай сiстэме не вызначаны. Калi ласка, "
-"скарыстайце канфiгурацыйны iнструмэнт."
+" FAT \n"
+" i i i (i )"
-#: ../../diskdrake/hd_gtk.pm:1
-#, fuzzy, c-format
-msgid "Windows"
-msgstr "Навуковыя прыкладанні"
+#: ../../install_interactive.pm_.c:177
+msgid "Erase entire disk"
+msgstr "i i "
-#: ../../common.pm:1
-#, fuzzy, c-format
-msgid "Can't make screenshots before partitioning"
-msgstr "Дадаць раздзел немагчыма"
+#: ../../install_interactive.pm_.c:177
+msgid "Remove Windows(TM)"
+msgstr "i Windows(TM)"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Host Name"
-msgstr "Iмя машыны"
+#: ../../install_interactive.pm_.c:180
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr " i i Linux?"
-#: ../../standalone/logdrake:1
+#: ../../install_interactive.pm_.c:183
#, c-format
-msgid "/File/Save _As"
-msgstr ""
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr " i %s i i "
+
+#: ../../install_interactive.pm_.c:191
+#, fuzzy
+msgid "Custom disk partitioning"
+msgstr " i "
+
+#: ../../install_interactive.pm_.c:195
+msgid "Use fdisk"
+msgstr " fdisk"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_interactive.pm_.c:198
#, c-format
msgid ""
-"To get access to printers on remote CUPS servers in your local network you "
-"only need to turn on the \"Automatically find available printers on remote "
-"machines\" option; the CUPS servers inform your machine automatically about "
-"their printers. All printers currently known to your machine are listed in "
-"the \"Remote printers\" section in the main window of Printerdrake. If your "
-"CUPS server(s) is/are not in your local network, you have to enter the IP "
-"address(es) and optionally the port number(s) here to get the printer "
-"information from the server(s)."
+"You can now partition %s.\n"
+"When you are done, don't forget to save using `w'"
msgstr ""
+" i %s\n"
+" i i, `w'"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s is not in the scanner database, configure it manually?"
-msgstr ""
+#: ../../install_interactive.pm_.c:227
+#, fuzzy
+msgid "You don't have enough free space on your Windows partition"
+msgstr " Windows"
-#: ../../any.pm:1
-#, c-format
-msgid "Delay before booting default image"
-msgstr "Затрымка перад загрузкай вобразу па дамаўленню"
+#: ../../install_interactive.pm_.c:243
+#, fuzzy
+msgid "I can't find any room for installing"
+msgstr " "
-#: ../../any.pm:1
+#: ../../install_interactive.pm_.c:246
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr " i DrakX :"
+
+#: ../../install_interactive.pm_.c:250
#, c-format
-msgid "Restrict command line options"
-msgstr "Абмежаванне опцыяў каманднага радка"
+msgid "Partitioning failed: %s"
+msgstr " : %s"
-#: ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "East Europe"
-msgstr "Еўропа"
+#: ../../install_interactive.pm_.c:260
+msgid "Bringing up the network"
+msgstr " i"
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use free space"
-msgstr "Выкарыстоўваць незанятую прастору"
+#: ../../install_interactive.pm_.c:265
+msgid "Bringing down the network"
+msgstr " i"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use dhcp"
+#: ../../install_steps.pm_.c:76
+msgid ""
+"An error occurred, but I don't know how to handle it nicely.\n"
+"Continue at your own risk."
msgstr ""
+"i , ,\n"
+" ."
-#: ../../standalone/logdrake:1
+#: ../../install_steps.pm_.c:211
#, c-format
-msgid "Mail alert"
+msgid "Duplicate mount point %s"
+msgstr " i %s"
+
+#: ../../install_steps.pm_.c:380
+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"
-#: ../../network/tools.pm:1
+#: ../../install_steps.pm_.c:450
#, c-format
-msgid "Internet configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+msgid "Welcome to %s"
+msgstr "Сардэчна запрашаем у %s"
-#: ../../lang.pm:1
+#: ../../install_steps.pm_.c:543 ../../install_steps.pm_.c:769
+msgid "No floppy drive available"
+msgstr " "
+
+#: ../../install_steps_auto_install.pm_.c:76
+#: ../../install_steps_stdio.pm_.c:22
#, c-format
-msgid "Uzbekistan"
-msgstr "Узбэкістан"
+msgid "Entering step `%s'\n"
+msgstr " `%s'\n"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Detected %s"
-msgstr "Дубляванне пункту манцiравання %s"
+#: ../../install_steps_gtk.pm_.c:146
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandrake Linux. 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 Mandrake Linux. \n"
+" . ii `F1' i, \n"
+" `text' i ii <ENTER>."
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/Autodetect _printers"
-msgstr "Аддалены прынтэр"
+#: ../../install_steps_gtk.pm_.c:157 ../../install_steps_interactive.pm_.c:237
+msgid "Install Class"
+msgstr " "
-#: ../../interactive.pm:1 ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#, fuzzy, c-format
-msgid "Finish"
-msgstr "Фiнскi"
+#: ../../install_steps_gtk.pm_.c:160
+#, fuzzy
+msgid "Please choose one of the following classes of installation:"
+msgstr "i , i :"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Show automatically selected packages"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:236 ../../install_steps_interactive.pm_.c:683
+msgid "Package Group Selection"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Togo"
-msgstr "Тога"
+#: ../../install_steps_gtk.pm_.c:269 ../../install_steps_interactive.pm_.c:698
+msgid "Individual package selection"
+msgstr "i "
-#: ../../standalone/harddrake2:1
+#: ../../install_steps_gtk.pm_.c:292 ../../install_steps_interactive.pm_.c:621
#, c-format
-msgid "CPU flags reported by the kernel"
-msgstr ""
+msgid "Total size: %d / %d MB"
+msgstr " : %d / %d M"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Something went wrong! - Is mkisofs installed?"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:334
+msgid "Bad package"
+msgstr " "
-#: ../../Xconfig/card.pm:1
+#: ../../install_steps_gtk.pm_.c:335
#, c-format
-msgid "16 MB"
-msgstr "16 Мб"
+msgid "Name: %s\n"
+msgstr "I: %s\n"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
+#: ../../install_steps_gtk.pm_.c:336
#, c-format
-msgid "Please try again"
-msgstr "Паспрабуйце яшчэ раз"
+msgid "Version: %s\n"
+msgstr "i: %s\n"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "The model is correct"
-msgstr "Гэта дакладна?"
-
-#: ../../install_interactive.pm:1
+#: ../../install_steps_gtk.pm_.c:337
#, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Аўтазмяненне памераў не атрымалася для раздзелу FAT %s"
+msgid "Size: %d KB\n"
+msgstr ": %d K\n"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1
+#: ../../install_steps_gtk.pm_.c:338
#, c-format
-msgid "Individual package selection"
-msgstr "Асабiсты выбар пакетаў"
+msgid "Importance: %s\n"
+msgstr ": %s\n"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "This partition is not resizeable"
-msgstr "Памеры якога раздзела вы жадаеце змянiць?"
+#: ../../install_steps_gtk.pm_.c:360
+msgid ""
+"You can't select this package as there is not enough space left to install it"
+msgstr ""
+" , "
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Location"
-msgstr "Размеркаванне"
+#: ../../install_steps_gtk.pm_.c:365
+msgid "The following packages are going to be installed"
+msgstr " i"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable-hrc)"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:366
+msgid "The following packages are going to be removed"
+msgstr " "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Guatemala"
-msgstr "Шлюз"
+#: ../../install_steps_gtk.pm_.c:378
+msgid "You can't select/unselect this package"
+msgstr " "
-#: ../../diskdrake/hd_gtk.pm:1
-#, fuzzy, c-format
-msgid "Journalised FS"
-msgstr "памылка манцiравання"
+#: ../../install_steps_gtk.pm_.c:390
+msgid "This is a mandatory package, it can't be unselected"
+msgstr " , i"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Ethernet cards promiscuity check"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:392
+msgid "You can't unselect this package. It is already installed"
+msgstr " i . "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "This machine"
+#: ../../install_steps_gtk.pm_.c:395
+msgid ""
+"This package must be upgraded.\n"
+"Are you sure you want to deselect it?"
msgstr ""
+" i \n"
+" , i ?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Лiтара для DOS-дыску: %s (наўгад)\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahrain"
-msgstr "Бахрэйн"
+#: ../../install_steps_gtk.pm_.c:398
+msgid "You can't unselect this package. It must be upgraded"
+msgstr " i . i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select the files or directories and click on 'OK'"
+#: ../../install_steps_gtk.pm_.c:403
+msgid "Show automatically selected packages"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "omit scsi modules"
-msgstr "Рэжым злучэння"
+#: ../../install_steps_gtk.pm_.c:404 ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#: ../../standalone/drakbackup_.c:4211
+msgid "Install"
+msgstr "븢"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "family of the cpu (eg: 6 for i686 class)"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:407
+#, fuzzy
+msgid "Load/Save on floppy"
+msgstr " "
-#: ../../network/netconnect.pm:1
-#, c-format
-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 ""
+#: ../../install_steps_gtk.pm_.c:408
+#, fuzzy
+msgid "Updating package selection"
+msgstr "i "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run the daily security checks"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:413
+#, fuzzy
+msgid "Minimal install"
+msgstr "i i"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Тып клавiятуры: %s\n"
+#: ../../install_steps_gtk.pm_.c:428 ../../install_steps_interactive.pm_.c:529
+msgid "Choose the packages you want to install"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here you can choose whether the printers connected to this machine should be "
-"accessable by remote machines and by which remote machines."
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:444 ../../install_steps_interactive.pm_.c:767
+msgid "Installing"
+msgstr "븢"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (US)"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:450
+msgid "Estimating"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "The creation of the boot floppy has been successfully completed \n"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:457
+msgid "Time remaining "
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-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равання."
+#: ../../install_steps_gtk.pm_.c:469
+#, fuzzy
+msgid "Please wait, preparing installation..."
+msgstr " "
-#: ../../standalone/drakconnect:1
+#: ../../install_steps_gtk.pm_.c:551
#, c-format
-msgid "Launch the wizard"
-msgstr ""
+msgid "%d packages"
+msgstr "%d "
-#: ../../harddrake/data.pm:1
+#: ../../install_steps_gtk.pm_.c:556
#, c-format
-msgid "Tvcard"
-msgstr ""
+msgid "Installing package %s"
+msgstr " %s"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Toggle between normal/expert mode"
-msgstr "Звычайны рэжым"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+#: ../../standalone/drakautoinst_.c:197
+msgid "Accept"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Size"
-msgstr "Памер: %s"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+msgid "Refuse"
+msgstr ""
-#: ../../help.pm:1
+#: ../../install_steps_gtk.pm_.c:594 ../../install_steps_interactive.pm_.c:792
#, c-format
-msgid "GRUB"
+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."
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Greenland"
-msgstr "Iсландскi"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_gtk.pm_.c:612
+#: ../../install_steps_interactive.pm_.c:804
+#: ../../install_steps_interactive.pm_.c:808
+msgid "Go on anyway?"
+msgstr " ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Thursday"
-msgstr "Чацьвер"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_interactive.pm_.c:804
+msgid "There was an error ordering packages:"
+msgstr " :"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct tape label. Tape is labelled %s."
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:612 ../../install_steps_interactive.pm_.c:808
+msgid "There was an error installing packages:"
+msgstr " :"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:10
msgid ""
-"The setup of Internet Connection Sharing has already been done.\n"
-"It's currently enabled.\n"
"\n"
-"What would you like to do?"
+"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 ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Delete All NBIs"
-msgstr "Абярыце файл"
+#: ../../install_steps_interactive.pm_.c:67
+msgid "An error occurred"
+msgstr " "
-#: ../../help.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:85
+#, fuzzy
+msgid "Do you really want to leave the installation?"
+msgstr "i i i?"
+
+#: ../../install_steps_interactive.pm_.c:112
+msgid "License agreement"
+msgstr "˳ "
+
+#: ../../install_steps_interactive.pm_.c:113
msgid ""
-"This dialog allows you to fine tune your bootloader:\n"
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandrake "
+"Linux 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 Mandrake Linux distribution.\n"
"\n"
-" * \"%s\": there are three choices for your bootloader:\n"
"\n"
-" * \"%s\": if you prefer grub (text menu).\n"
+"1. License Agreement\n"
"\n"
-" * \"%s\": if you prefer LILO with its text menu interface.\n"
+"Please read this document carefully. 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"
-" * \"%s\": if you prefer LILO with its graphical interface.\n"
"\n"
-" * \"%s\": in most cases, you will not change the default (\"%s\"), but if\n"
-"you prefer, the bootloader can be installed on the second hard drive\n"
-"(\"%s\"), or even on a floppy disk (\"%s\");\n"
+"2. Limited Warranty\n"
"\n"
-" * \"%s\": after a boot or a reboot of the computer, this is the delay\n"
-"given to the user at the console to select a boot entry other than the\n"
-"default.\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 "
+"occurence of such \n"
+"damages.\n"
"\n"
-"!! Beware that if you choose not to install a bootloader (by selecting\n"
-"\"%s\"), you must ensure that you have a way to boot your Mandrake Linux\n"
-"system! Be sure you know what you are doing before changing any of the\n"
-"options. !!\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 Mandrake Linux 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"
-"Clicking the \"%s\" button in this dialog will offer advanced options which\n"
-"are normally reserved for the expert user."
+"\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\", \"Mandrake Linux\" 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 ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"if set, send the mail report to this email address else send it to root."
+#: ../../install_steps_interactive.pm_.c:197
+msgid "Are you sure you refuse the licence?"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Якую канфiгурацыю XFree вы жадаеце атрымаць?"
+#: ../../install_steps_interactive.pm_.c:217
+#: ../../install_steps_interactive.pm_.c:995
+#: ../../standalone/keyboarddrake_.c:25
+msgid "Keyboard"
+msgstr "i"
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "More"
-msgstr "Перанос"
+#: ../../install_steps_interactive.pm_.c:218
+#, fuzzy
+msgid "Please choose your keyboard layout."
+msgstr "i , i."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"This uses the same syntax as the command line program 'cdrecord'. 'cdrecord -"
-"scanbus' would also show you the device number."
+#: ../../install_steps_interactive.pm_.c:219
+msgid "Here is the full list of keyboards available"
msgstr ""
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-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 can "
-"accept\n"
-"connections from many clients. Note: if your machine is only a client on the "
-"Internet, you should choose a lower level."
-msgstr ""
-"На гэтам узроўне бяспекi магчыма выкарыстанне сiстэмы ў якасцi\n"
-"серверу. Узровень бяспекi дастаткова высокi для работы\n"
-"серверу, якi дапускае злучэннi са шматлiкiмi клiентамi."
+#: ../../install_steps_interactive.pm_.c:237
+msgid "Which installation class do you want?"
+msgstr "i ?"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Server Name"
-msgstr "сервер"
+#: ../../install_steps_interactive.pm_.c:241
+#, fuzzy
+msgid "Install/Update"
+msgstr "븢"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Password"
-msgstr "Пароль для ўваходу"
+#: ../../install_steps_interactive.pm_.c:241
+#, fuzzy
+msgid "Is this an install or an update?"
+msgstr " i "
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-"%s cannot be displayed \n"
-". No Help entry of this type\n"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:250
+msgid "Recommended"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"You decided to install the bootloader on a partition.\n"
-"This implies you already have a bootloader on the hard drive you boot (eg: "
-"System Commander).\n"
-"\n"
-"On which drive are you booting?"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:253
+#: ../../install_steps_interactive.pm_.c:256
+msgid "Expert"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this\n"
-"operation is dangerous. If you have not already done so, you\n"
-"first need to exit the installation, run \"chkdsk c:\" from a\n"
-"Command Prompt under Windows (beware, running graphical program\n"
-"\"scandisk\" is not enough, be sure to use \"chkdsk\" in a\n"
-"Command Prompt!), optionally run defrag, then restart the\n"
-"installation. You should also backup your data.\n"
-"When sure, press Ok."
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+msgid "Upgrade"
msgstr ""
-"УВАГА!\n"
-"\n"
-"DrakX зараз павiнен змянiць памер вашага раздзела Windows.\n"
-"Будзьце ўважлiвы: гэтая аперацыя небяспечна. Калi вы яшчэ не зрабiлi \n"
-"рэзервовую копiю дадзеных, то спачатку пакiньце праграму ўсталявання,"
-"выканайце scandisk i defrag на гэтым разделе, зрабiце рэзервовую копiю\n"
-"дадзеных i толькi потым зноў вярнiцеся да праграмы ўсталявання.\n"
-"Калi падрыхтавалiся, нацiснiце Ok."
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Tajik keyboard"
-msgstr "Тайская клавiятура"
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#, fuzzy
+msgid "Upgrade packages only"
+msgstr "i "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can copy the printer configuration which you have done for the spooler %"
-"s to %s, your current spooler. All the configuration data (printer name, "
-"description, location, connection type, and default option settings) is "
-"overtaken, but jobs will not be transferred.\n"
-"Not all queues can be transferred due to the following reasons:\n"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:282
+#, fuzzy
+msgid "Please choose the type of your mouse."
+msgstr "i , ."
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Font List"
-msgstr "Кропка манцiравання"
+#: ../../install_steps_interactive.pm_.c:288 ../../standalone/mousedrake_.c:52
+msgid "Mouse Port"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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 %s,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:289 ../../standalone/mousedrake_.c:53
+msgid "Please choose on which serial port your mouse is connected to."
+msgstr "i , , ."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"You appear to have an OldWorld or Unknown\n"
-" machine, the yaboot bootloader will not work for you.\n"
-"The install will continue, but you'll\n"
-" need to use BootX or some other means to boot your machine"
+#: ../../install_steps_interactive.pm_.c:297
+msgid "Buttons emulation"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Select file"
-msgstr "Абярыце файл"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Choose the network or host on which the local printers should be made "
-"available:"
+#: ../../install_steps_interactive.pm_.c:299
+msgid "Button 2 Emulation"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"These commands you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications, but here do not supply the file name "
-"because the file to print is provided by the application.\n"
+#: ../../install_steps_interactive.pm_.c:300
+msgid "Button 3 Emulation"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Japan"
-msgstr "Японія"
+#: ../../install_steps_interactive.pm_.c:321
+msgid "Configuring PCMCIA cards..."
+msgstr " PCMCIA ..."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Print option list"
-msgstr "Опцыi прынтэру"
+#: ../../install_steps_interactive.pm_.c:321
+msgid "PCMCIA"
+msgstr "PCMCIA"
-#: ../../standalone/localedrake:1
-#, c-format
-msgid "The change is done, but to be effective you must logout"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:328
+msgid "Configuring IDE"
+msgstr " IDE"
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Country / Region"
-msgstr "Памеры экрану"
+#: ../../install_steps_interactive.pm_.c:328
+msgid "IDE"
+msgstr "IDE"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Search servers"
-msgstr "DNS сервер"
+#: ../../install_steps_interactive.pm_.c:345
+msgid "No partition available"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP queue name missing!"
+#: ../../install_steps_interactive.pm_.c:348
+msgid "Scanning partitions to find mount points"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:356
+msgid "Choose the mount points"
+msgstr " i"
+
+#: ../../install_steps_interactive.pm_.c:386
msgid ""
-"Warning, another internet connection has been detected, maybe using your "
-"network"
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom пазначаны \"%s\""
+#: ../../install_steps_interactive.pm_.c:395
+#, fuzzy
+msgid "No root partition found to perform an upgrade"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CDRW media"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:396
+msgid "Root Partition"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-"Захаваць i аднавiць сiстэмны энтрапiйны пул для высокай якасцi\n"
-"генерацыі выпадковых лікаў."
-
-#: ../advertising/07-server.pl:1
-#, c-format
-msgid "Turn your computer into a reliable server"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:397
+msgid "What is the root partition (/) of your system?"
+msgstr "i (/) i?"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check empty password in /etc/shadow"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:411
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr " i i i, ."
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid " (driver %s)"
-msgstr "Сервер XFree86: %s\n"
+#: ../../install_steps_interactive.pm_.c:435
+msgid "Choose the partitions you want to format"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-msgid "Start when requested"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:436
+msgid "Check bad blocks?"
+msgstr " ?"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid ""
-"Loopback file(s):\n"
-" %s\n"
-msgstr "Файл(ы) вiртуальнай файлавай сiстэмы: %s\n"
+#: ../../install_steps_interactive.pm_.c:463
+msgid "Formatting partitions"
+msgstr " "
-#: ../../network/isdn.pm:1
+#: ../../install_steps_interactive.pm_.c:465
#, c-format
-msgid "I don't know"
-msgstr "Не вядома"
+msgid "Creating and formatting file %s"
+msgstr " i %s"
-#: ../../printer/main.pm:1
+#: ../../install_steps_interactive.pm_.c:470
#, c-format
-msgid ", TCP/IP host \"%s\", port %s"
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can loose data)"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid ""
-"You are about to configure an Auto Install floppy. This feature is somewhat "
-"dangerous and must be used circumspectly.\n"
-"\n"
-"With that feature, you will be able to replay the installation you've "
-"performed on this computer, being interactively prompted for some steps, in "
-"order to change their values.\n"
-"\n"
-"For maximum safety, the partitioning and formatting will never be performed "
-"automatically, whatever you chose during the install of this computer.\n"
-"\n"
-"Do you want to continue?"
+#: ../../install_steps_interactive.pm_.c:472
+msgid "Not enough swap space to fulfill installation, please add some"
msgstr ""
+" i (swap) , i ."
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Telugu"
-msgstr "Бельгiйскi"
+#: ../../install_steps_interactive.pm_.c:479
+#, fuzzy
+msgid "Looking for available packages and rebuilding rpm database..."
+msgstr " "
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Your card currently use the %s\"%s\" driver (default driver for your card is "
-"\"%s\")"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:480
+msgid "Looking for available packages..."
+msgstr " "
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Post Uninstall"
-msgstr "Заканчэнне ўсталявання"
+#: ../../install_steps_interactive.pm_.c:483
+#, fuzzy
+msgid "Looking at packages already installed..."
+msgstr " i . "
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connecting to Internet "
-msgstr "Далучэнне да Iнтэрнэту"
+#: ../../install_steps_interactive.pm_.c:487
+msgid "Finding packages to upgrade..."
+msgstr " "
-#: ../../standalone/scannerdrake:1
+#: ../../install_steps_interactive.pm_.c:505
#, c-format
-msgid " ("
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%d "
+"> %d)"
msgstr ""
+" i i (%d > %d)"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Cpuid level"
-msgstr "Настройкi ўзроўня бяспекi"
+#: ../../install_steps_interactive.pm_.c:541
+msgid ""
+"Please choose load or save package selection on floppy.\n"
+"The format is the same as auto_install generated floppies."
+msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Novell server \"%s\", printer \"%s\""
-msgstr "Сеткавы прынтэр (TCP/Socket)"
+#: ../../install_steps_interactive.pm_.c:543
+#, fuzzy
+msgid "Load from floppy"
+msgstr " "
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Mongolian (cyrillic)"
-msgstr "Азербайджанскі (кірыліца)"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Save on floppy"
+msgstr " "
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Add a module"
-msgstr "Дадаць карыстальнiка"
+#: ../../install_steps_interactive.pm_.c:547
+#, fuzzy
+msgid "Loading from floppy"
+msgstr " "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile to delete:"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:547
+#, fuzzy
+msgid "Package selection"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Local measure"
-msgstr "Лакальны прынтэр"
+#: ../../install_steps_interactive.pm_.c:552
+#, fuzzy
+msgid "Insert a floppy containing package selection"
+msgstr " %s"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Warning : IP address %s is usually reserved !"
+#: ../../install_steps_interactive.pm_.c:634
+msgid "Selected size is larger than available space"
msgstr ""
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "busmouse"
-msgstr "Няма мышы"
+#: ../../install_steps_interactive.pm_.c:649
+#, fuzzy
+msgid "Type of install"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:650
msgid ""
-" - Create Etherboot Enabled Boot Images:\n"
-" \tTo boot a kernel via etherboot, a special kernel/initrd image must "
-"be created.\n"
-" \tmkinitrd-net does much of this work and drakTermServ is just a "
-"graphical \n"
-" \tinterface to help manage/customize these images. To create the "
-"file \n"
-" \t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an "
-"include in \n"
-" \tdhcpd.conf, you should create the etherboot images for at least "
-"one full kernel."
-msgstr ""
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Login (user name)"
-msgstr "Iмя для ўваходу (iмя карыстальнiку)"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Fdiv bug"
+"You haven't selected any group of packages.\n"
+"Please choose the minimal installation you want:"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"drakfirewall configurator\n"
-"\n"
-"Make sure you have configured your Network/Internet access with\n"
-"drakconnect before going any further."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:653
+#, fuzzy
+msgid "With X"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept broadcasted icmp echo"
+#: ../../install_steps_interactive.pm_.c:655
+msgid "With basic documentation (recommended!)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Uruguay"
-msgstr "Уругвай"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Benin"
-msgstr "Бельгiйскi"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "SMB/Windows server \"%s\", share \"%s\""
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Path selection"
-msgstr "Асабiсты выбар пакетаў"
+#: ../../install_steps_interactive.pm_.c:656
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Name/IP address of host:"
+#: ../../install_steps_interactive.pm_.c:741
+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 ."
-#: ../../Xconfig/various.pm:1
+#: ../../install_steps_interactive.pm_.c:746
#, c-format
-msgid "Monitor: %s\n"
-msgstr "Манiтор: %s\n"
+msgid "Cd-Rom labeled \"%s\""
+msgstr "Cd-Rom \"%s\""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Custom & system settings"
-msgstr "Выкарыстоўваць iснуючы раздзел"
+#: ../../install_steps_interactive.pm_.c:767
+msgid "Preparing installation"
+msgstr " "
-#: ../../partition_table/raw.pm:1
+#: ../../install_steps_interactive.pm_.c:776
#, c-format
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, corrupted "
-"data."
+"Installing package %s\n"
+"%d%%"
msgstr ""
+" %s\n"
+"%d%%"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:822
+msgid "Post-install configuration"
+msgstr " "
+
+#: ../../install_steps_interactive.pm_.c:828
#, fuzzy, c-format
-msgid "Printer host name or IP missing!"
-msgstr "Iмя прынтэру"
+msgid "Please insert the Boot floppy used in drive %s"
+msgstr " %s"
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:834
#, fuzzy, c-format
-msgid "Please check all users that you want to include in your backup."
-msgstr "Выбар пакетаў для ўсталявання"
+msgid "Please insert the Update Modules floppy in drive %s"
+msgstr " %s"
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:861
msgid ""
-"The %s must be configured by printerdrake.\n"
-"You can launch printerdrake from the Mandrake Control Center in Hardware "
-"section."
-msgstr ""
-
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Key isn't writable"
+"You now have the opportunity to download updated packages. These packages\n"
+"have been released after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates ?"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bangladesh"
-msgstr "Бангладэш"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (cable)"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:876
+#, fuzzy
+msgid ""
+"Contacting Mandrake Linux web site to get the list of available mirrors..."
+msgstr " i "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Initial tests"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:881
+msgid "Choose a mirror from which to get the packages"
+msgstr " "
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Continue"
-msgstr "Працягнуць"
+#: ../../install_steps_interactive.pm_.c:890
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr " i "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Custom Restore"
-msgstr "Па выбару"
+#: ../../install_steps_interactive.pm_.c:918
+msgid "Which is your timezone?"
+msgstr "i ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Saturday"
-msgstr "Субота"
+#: ../../install_steps_interactive.pm_.c:923
+#, fuzzy
+msgid "Hardware clock set to GMT"
+msgstr " i ii GMT?"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"\"%s\": if a sound card is detected on your system, it is displayed here.\n"
-"If you notice the sound card displayed is not the one that is actually\n"
-"present on your system, you can click on the button and choose another\n"
-"driver."
+#: ../../install_steps_interactive.pm_.c:924
+msgid "Automatic time synchronization (using NTP)"
msgstr ""
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Set the root umask."
-msgstr "Пароль для root"
-
-#: ../../install_any.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "Error reading file %s"
-msgstr "Памылка чытання файлу %s"
+#: ../../install_steps_interactive.pm_.c:931
+#, fuzzy
+msgid "NTP Server"
+msgstr "NIS :"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Script-based"
-msgstr "на аснове скрыпту"
+#: ../../install_steps_interactive.pm_.c:965
+#: ../../install_steps_interactive.pm_.c:972
+msgid "Remote CUPS server"
+msgstr " CUPS"
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "PLL setting:"
-msgstr "фарматаванне"
+#: ../../install_steps_interactive.pm_.c:966
+#, fuzzy
+msgid "No printer"
+msgstr "I i"
-#: ../../install_interactive.pm:1 ../../install_steps.pm:1
-#, fuzzy, c-format
-msgid "You must have a FAT partition mounted in /boot/efi"
-msgstr "Вы павiнны мець раздзел swap"
+#: ../../install_steps_interactive.pm_.c:982
+#, fuzzy
+msgid "Do you have an ISA sound card?"
+msgstr "i i?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on "
+#: ../../install_steps_interactive.pm_.c:984
+msgid "Run \"sndconfig\" after installation to configure your sound card"
msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "The URL must begin with http:// or https://"
+#: ../../install_steps_interactive.pm_.c:986
+msgid "No sound card detected. Try \"harddrake\" after installation"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can specify directly the URI to access the printer. The URI must fulfill "
-"either the CUPS or the Foomatic specifications. Note that not all URI types "
-"are supported by all the spoolers."
+#: ../../install_steps_interactive.pm_.c:991 ../../steps.pm_.c:27
+msgid "Summary"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (SunOS...)"
-msgstr "Iншая АС (SunOS,...)"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Install/Upgrade"
-msgstr "Усталёўка"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "%d packages"
-msgstr "%d пакетаў"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Costa Rica"
-msgstr "Коста-Рыка"
+#: ../../install_steps_interactive.pm_.c:994
+#, fuzzy
+msgid "Mouse"
+msgstr " "
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X "
-"users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
+#: ../../install_steps_interactive.pm_.c:996
+msgid "Timezone"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Domain Authentication Required"
-msgstr "Аўтэнтыфiкацыя"
+#: ../../install_steps_interactive.pm_.c:997
+#: ../../printer/printerdrake.pm_.c:2759 ../../printer/printerdrake.pm_.c:2844
+msgid "Printer"
+msgstr ""
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid "Use libsafe for servers"
-msgstr "Абярыце дадатковыя настройкi для сервера"
+#: ../../install_steps_interactive.pm_.c:999
+#, fuzzy
+msgid "ISDN card"
+msgstr " ISDN "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Icelandic"
-msgstr "Iсландскi"
+#: ../../install_steps_interactive.pm_.c:1003
+#: ../../install_steps_interactive.pm_.c:1009
+#, fuzzy
+msgid "Sound card"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
+#: ../../install_steps_interactive.pm_.c:1012
+msgid "TV card"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Maximum size\n"
-" allowed for Drakbackup (MB)"
+#: ../../install_steps_interactive.pm_.c:1055
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1084
+msgid "LDAP"
msgstr ""
-#: ../../loopback.pm:1
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Манцiраванне дыску %s\n"
+#: ../../install_steps_interactive.pm_.c:1056
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1093
+#, fuzzy
+msgid "NIS"
+msgstr " NIS"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Lilo/grub mode"
-msgstr "Рэжым злучэння"
+#: ../../install_steps_interactive.pm_.c:1057
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1101
+#: ../../install_steps_interactive.pm_.c:1107
+#, fuzzy
+msgid "Windows Domain"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Martinique"
-msgstr "Марцінік"
+#: ../../install_steps_interactive.pm_.c:1058
+#: ../../install_steps_interactive.pm_.c:1080
+#, fuzzy
+msgid "Local files"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "HardDrive / NFS"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1067
+#: ../../install_steps_interactive.pm_.c:1068 ../../steps.pm_.c:24
+msgid "Set root password"
+msgstr " root"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Old user list:\n"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1069
+msgid "No password"
+msgstr " "
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:1074
#, c-format
-msgid "Search Backups"
+msgid "This password is too short (it must be at least %d characters long)"
msgstr ""
+" ( i %d i)"
-#: ../../modules/parameters.pm:1
-#, fuzzy, c-format
-msgid "a number"
-msgstr "Нумар тэлефону"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swedish"
-msgstr "Швецкi"
+#: ../../install_steps_interactive.pm_.c:1080 ../../network/modem.pm_.c:72
+#: ../../standalone/drakconnect_.c:623 ../../standalone/logdrake_.c:144
+msgid "Authentication"
+msgstr "i"
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Якi драйвер %s паспрабаваць?"
+#: ../../install_steps_interactive.pm_.c:1088
+#, fuzzy
+msgid "Authentication LDAP"
+msgstr "i"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"You will receive an alert if one of the selected services is no longer "
-"running"
+#: ../../install_steps_interactive.pm_.c:1089
+msgid "LDAP Base dn"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Weekday"
-msgstr "Серада"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Filesystem types:"
-msgstr "Тыпы файлавых сiстэмаў:"
+#: ../../install_steps_interactive.pm_.c:1090
+#, fuzzy
+msgid "LDAP Server"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Northern Mariana Islands"
-msgstr "Выспы Паўночнае Мар'яны"
+#: ../../install_steps_interactive.pm_.c:1096
+#, fuzzy
+msgid "Authentication NIS"
+msgstr "i NIS"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on HP JetDirect"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1097
+msgid "NIS Domain"
+msgstr "NIS Domain"
-#: ../../mouse.pm:1
-#, c-format
-msgid "none"
-msgstr "няма"
+#: ../../install_steps_interactive.pm_.c:1098
+msgid "NIS Server"
+msgstr "NIS :"
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1104
msgid ""
-"Name of the profile to create (the new profile is created as a copy of the "
-"current one) :"
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
msgstr ""
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Floppy"
-msgstr "Захаванне на дыскету"
+#: ../../install_steps_interactive.pm_.c:1106
+#, fuzzy
+msgid "Authentication Windows Domain"
+msgstr "i"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript referencing"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1108
+#, fuzzy
+msgid "Domain Admin User Name"
+msgstr "I "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Bootloader"
-msgstr "Галоўныя опцыi пачатковага загрузчыку"
+#: ../../install_steps_interactive.pm_.c:1109
+#, fuzzy
+msgid "Domain Admin Password"
+msgstr "i "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize all services controlled by tcp_wrappers"
+#: ../../install_steps_interactive.pm_.c:1144
+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"
+" Mandrake Linux, i \n"
+" i .\n"
+"\n"
+"i , \n"
+" i ii \"Ok\"."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move"
-msgstr "Перанос"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, fuzzy, c-format
-msgid "Bootloader to use"
-msgstr "Галоўныя опцыi пачатковага загрузчыку"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server host"
-msgstr "Iмя серверу SMB"
+#: ../../install_steps_interactive.pm_.c:1160
+msgid "First floppy drive"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Name Servers:"
-msgstr "NIS сервер:"
+#: ../../install_steps_interactive.pm_.c:1161
+msgid "Second floppy drive"
+msgstr "i "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Minute"
-msgstr "Хвіліны"
+#: ../../install_steps_interactive.pm_.c:1162
+#: ../../printer/printerdrake.pm_.c:2397
+msgid "Skip"
+msgstr "i"
-#: ../../install_messages.pm:1
+#: ../../install_steps_interactive.pm_.c:1167
#, c-format
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?\n"
+"%s"
+msgstr ""
+" Linux i \n"
+" . , i \n"
+"븢 LILO (i Grub), i i i LILO,\n"
+"i LILO ii. "
+"\n"
+" Mandrake Linux, i \n"
+" i .\n"
"\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"
+"%s"
+
+#: ../../install_steps_interactive.pm_.c:1173
+msgid ""
"\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"
+"(WARNING! You're using XFS for your root partition,\n"
+"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
+"because XFS needs a very large driver)."
msgstr ""
-#: ../../standalone/printerdrake:1
+#: ../../install_steps_interactive.pm_.c:1181
+msgid "Sorry, no floppy drive available"
+msgstr ", "
+
+#: ../../install_steps_interactive.pm_.c:1185
+msgid "Choose the floppy drive you want to use to make the bootdisk"
+msgstr " , i "
+
+#: ../../install_steps_interactive.pm_.c:1189
#, fuzzy, c-format
-msgid "/_Expert mode"
-msgstr "Эксперт"
+msgid "Insert a floppy in %s"
+msgstr " %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
+#: ../../install_steps_interactive.pm_.c:1192
+msgid "Creating bootdisk..."
+msgstr " "
+
+#: ../../install_steps_interactive.pm_.c:1199
+msgid "Preparing bootloader..."
+msgstr " "
+
+#: ../../install_steps_interactive.pm_.c:1210
+msgid ""
+"You appear to have an OldWorld or Unknown\n"
+" machine, the yaboot bootloader will not work for you.\n"
+"The install will continue, but you'll\n"
+" need to use BootX to boot your machine"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1216
+msgid "Do you want to use aboot?"
+msgstr " aboot?"
+
+#: ../../install_steps_interactive.pm_.c:1219
msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
msgstr ""
+" boot, \n"
+" 븢, ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Micronesia"
-msgstr "Мікранэзыян"
+#: ../../install_steps_interactive.pm_.c:1226
+#, fuzzy
+msgid "Installing bootloader"
+msgstr " "
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "4 billion colors (32 bits)"
-msgstr "4 мiлiярда колераў (24 бiты)"
+#: ../../install_steps_interactive.pm_.c:1232
+msgid "Installation of bootloader failed. The following error occured:"
+msgstr " . i :"
-#: ../../steps.pm:1
+#: ../../install_steps_interactive.pm_.c:1240
#, c-format
-msgid "License"
+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 %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:1274
+#: ../../standalone/drakautoinst_.c:76
#, c-format
-msgid "This may take a moment to generate the keys."
+msgid "Insert a blank floppy in drive %s"
+msgstr " %s"
+
+#: ../../install_steps_interactive.pm_.c:1278
+msgid "Creating auto install floppy..."
+msgstr " "
+
+#: ../../install_steps_interactive.pm_.c:1289
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
msgstr ""
+" i .\n"
+" i ?"
-#: ../../standalone/draksec:1
+#: ../../install_steps_interactive.pm_.c:1300
#, c-format
msgid ""
-"Here, you can setup the security level and administrator of your machine.\n"
-"\n"
-"\n"
-"The Security Administrator is the one who will receive security alerts if "
-"the\n"
-"'Security Alerts' option is set. It can be a username or an email.\n"
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press return to reboot.\n"
"\n"
"\n"
-"The Security Level menu allows you to select one of the six preconfigured "
-"security levels\n"
-"provided with msec. These levels range from poor security and ease of use, "
-"to\n"
-"paranoid config, suitable for very sensitive server applications:\n"
+"For information on fixes which are available for this release of Mandrake "
+"Linux,\n"
+"consult the Errata available from:\n"
"\n"
"\n"
-"<span foreground=\"royalblue3\">Poor</span>: This is a totally unsafe but "
-"very\n"
-"easy to use security level. It should only be used for machines not "
-"connected to\n"
-"any network and that are not accessible to everybody.\n"
+"%s\n"
"\n"
"\n"
-"<span foreground=\"royalblue3\">Standard</span>: This is the standard "
-"security\n"
-"recommended for a computer that will be used to connect to the Internet as "
-"a\n"
-"client.\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandrake Linux User's Guide."
+msgstr ""
+"i, .\n"
+"i i ii enter i.\n"
"\n"
"\n"
-"<span foreground=\"royalblue3\">High</span>: There are already some\n"
-"restrictions, and more automatic checks are run every night.\n"
+" i i Mandrake Linux,\n"
+" \n"
"\n"
"\n"
-"<span foreground=\"royalblue3\">Higher</span>: The security is now high "
-"enough\n"
-"to use the system as a server which can accept connections from many "
-"clients. If\n"
-"your machine is only a client on the Internet, you should choose a lower "
-"level.\n"
+"%s\n"
"\n"
"\n"
-"<span foreground=\"royalblue3\">Paranoid</span>: This is similar to the "
-"previous\n"
-"level, but the system is entirely closed and security features are at their\n"
-"maximum"
-msgstr ""
+"I i -\n"
+" i i i Mandrake Linux."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
+#: ../../install_steps_interactive.pm_.c:1313
+msgid "http://www.mandrakelinux.com/en/90errata.php3"
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using pppoa) usb"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1318
+#, fuzzy
+msgid "Generate auto install floppy"
+msgstr " "
-#: ../../install_any.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1320
msgid ""
-"An error occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
+"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 ""
-"Памылка: для стварэння новых файлавых сiстэмаў не знайдзены адпаведныя \n"
-"прылады. Праверце абсталяванне для пошуку iмавернай прычыны."
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Starting the printing system at boot time"
-msgstr "Якую сiстэму друку Вы жадаеце выкарыстоўваць?"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Do you want to start the connection at boot?"
-msgstr "Вы жадаеце, каб гэтае злучэнне стартавала пры загрузцы?"
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Automated"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Processor ID"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1325
+#, fuzzy
+msgid "Replay"
+msgstr "i"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound trouble shooting"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1328
+#, fuzzy
+msgid "Save packages selection"
+msgstr "i "
-#: ../../keyboard.pm:1
+#: ../../install_steps_newt.pm_.c:20
#, c-format
-msgid "Polish (qwerty layout)"
-msgstr "Польскi (стандартная раскладка)"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/_Add Printer"
-msgstr "Прынтэр"
+msgid "Mandrake Linux Installation %s"
+msgstr " Mandrake Linux %s"
-#: ../../standalone/drakbackup:1
-#, c-format
+#. -PO This string must fit in a 80-char wide text screen
+#: ../../install_steps_newt.pm_.c:33
msgid ""
-"\n"
-"Drakbackup activities via CD:\n"
-"\n"
+" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
msgstr ""
+" <Tab>/<Alt-Tab> i i | <Space> | <F12> "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to install the printing system %s on a system running in the %"
-"s security level.\n"
-"\n"
-"This printing system runs a daemon (background process) which waits for "
-"print jobs and handles them. This daemon is also accessable by remote "
-"machines through the network and so it is a possible point for attacks. "
-"Therefore only a few selected daemons are started by default in this "
-"security level.\n"
-"\n"
-"Do you really want to configure printing on this machine?"
+#: ../../interactive.pm_.c:87
+msgid "kdesu missing"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host \"%s\", port %s"
+#: ../../interactive.pm_.c:89 ../../interactive.pm_.c:100
+msgid "consolehelper missing"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition can't be used for loopback"
-msgstr "Гэты раздзел не можа быць выкарыстаны пад вiртуальную файлавую сiстэму"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File already exists. Use it?"
-msgstr "Файл ужо iснуе. Выкарыстаць яго?"
+#: ../../interactive.pm_.c:152
+#, fuzzy
+msgid "Choose a file"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received: "
+#: ../../interactive.pm_.c:318
+msgid "Advanced"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Alt key"
+#: ../../interactive.pm_.c:319 ../../security/main.pm_.c:117
+msgid "Basic"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the list of alternative drivers for this sound card"
+#: ../../interactive/newt.pm_.c:194 ../../my_gtk.pm_.c:158
+#: ../../printer/printerdrake.pm_.c:2055 ../../ugtk2.pm_.c:434
+msgid "<- Previous"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway"
-msgstr "Шлюз"
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../standalone/drakbackup_.c:4060 ../../standalone/drakbackup_.c:4087
+#: ../../standalone/drakbackup_.c:4117 ../../standalone/drakbackup_.c:4143
+#, fuzzy
+msgid "Next"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tonga"
-msgstr "Тонга"
+#: ../../interactive/stdio.pm_.c:29 ../../interactive/stdio.pm_.c:149
+msgid "Bad choice, try again\n"
+msgstr " , \n"
-#: ../../lang.pm:1
+#: ../../interactive/stdio.pm_.c:30 ../../interactive/stdio.pm_.c:150
#, c-format
-msgid "Tunisia"
-msgstr "Тунісія"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Scanner sharing"
-msgstr "Прынтэр"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Profile: "
-msgstr "памылка манцiравання: "
+msgid "Your choice? (default %s) "
+msgstr " ? ( %s) "
-#: ../../standalone/harddrake2:1
+#: ../../interactive/stdio.pm_.c:54
#, c-format
msgid ""
-"Click on a device in the left tree in order to display its information here."
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid autologin."
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "XawTV isn't installed!"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include critical files (passwd, group, fstab)"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "old static device name used in dev package"
+"Entries you'll have to fill:\n"
+"%s"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable the logging of IPv4 strange packets"
-msgstr ""
+#: ../../interactive/stdio.pm_.c:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr " ? ( %s) "
-#: ../../any.pm:1
-#, c-format
-msgid "This label is already used"
-msgstr "Гэтая метка ўжо выкарыстоўваецца"
+#: ../../interactive/stdio.pm_.c:95
+#, fuzzy, c-format
+msgid "Button `%s': %s"
+msgstr "i: %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer or connected directly to the network.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected. Also "
-"your network printer(s) must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network printers when you don't need it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
+#: ../../interactive/stdio.pm_.c:96
+#, fuzzy
+msgid "Do you want to click on this button?"
+msgstr " aboot?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek (polytonic)"
+#: ../../interactive/stdio.pm_.c:105
+msgid " enter `void' for void entry"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr "Усе дадзеные ў раздзеле %s будуць страчаны пасля фарматавання"
-
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connection Time: "
-msgstr "Iмя злучэння"
-
-#: ../../standalone/livedrake:1
+#: ../../interactive/stdio.pm_.c:105
#, fuzzy, c-format
-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 нацiснiце Oк "
-"пасля.\n"
-"Калi вы не маеце яго, нацiснiце Адмянiць, каб адмянiць усталяванне з гэтага "
-"Cd."
+msgid "Your choice? (default `%s'%s) "
+msgstr " ? ( %s) "
-#: ../../standalone/drakperm:1
+#: ../../interactive/stdio.pm_.c:123
#, c-format
-msgid "Use group id for execution"
+msgid "=> There are many things to choose from (%s).\n"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the default user:"
-msgstr "Абярыце асноўнага карыстальнiка:"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Gabon"
-msgstr "Габон"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../interactive/stdio.pm_.c:126
msgid ""
-"\n"
-"Printers on remote CUPS servers do not need to be configured here; these "
-"printers will be automatically detected."
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
msgstr ""
-"Аддалены CUPS сервер не патрабуе ад Вас настройкі прынтэру\n"
-"на гэтай машыне, ён будзе знойдзены аўтаматычна.\n"
-"Калі Вы не ўпэўнены, абярыце \"Аддалены сервер CUPS\"."
-#: ../../any.pm:1
+#: ../../interactive/stdio.pm_.c:139
#, c-format
msgid ""
-"Mandrake Linux can support multiple languages. Select\n"
-"the languages you would like to install. They will be available\n"
-"when your installation is complete and you restart your system."
-msgstr "Вы можаце абраць іншыя мовы, якiя будуць даступны пасля ўсталявання"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Directory (or module) to put the backup on this host."
+"=> Notice, a label changed:\n"
+"%s"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Domain"
-msgstr "NIS Domain"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Пазначце дакладны памер RAM (знойдзена %d Mб)"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
-"automated. DrakX will analyze the disk boot sector and act according to\n"
-"what it finds there:\n"
-"\n"
-" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
-"boot sector. This way you will be able to load either GNU/Linux or another\n"
-"OS.\n"
-"\n"
-" * if a grub or LILO boot sector is found, it will replace it with a new\n"
-"one.\n"
-"\n"
-"If it cannot make a determination, DrakX will ask you where to place the\n"
-"bootloader."
+#: ../../interactive/stdio.pm_.c:146
+msgid "Re-submit"
msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Provider dns 2 (optional)"
-msgstr "DNS 2 правайдару"
+#: ../../keyboard.pm_.c:153 ../../keyboard.pm_.c:188
+msgid "Czech (QWERTZ)"
+msgstr "i (QWERTZ)"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Boot device"
-msgstr "Загрузачная прылада"
+#: ../../keyboard.pm_.c:154 ../../keyboard.pm_.c:190
+msgid "German"
+msgstr "i"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to resize?"
-msgstr "Памеры якога раздзела вы жадаеце змянiць?"
+#: ../../keyboard.pm_.c:155
+msgid "Dvorak"
+msgstr "Dvorak"
-#: ../../lang.pm:1
-#, c-format
-msgid "United States Minor Outlying Islands"
-msgstr "Няістотна блізкія да Злучаных штатаў выспы"
+#: ../../keyboard.pm_.c:156 ../../keyboard.pm_.c:198
+msgid "Spanish"
+msgstr "Ii"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Djibouti"
-msgstr "Адмянiць"
+#: ../../keyboard.pm_.c:157 ../../keyboard.pm_.c:199
+msgid "Finnish"
+msgstr "ii"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "A tool to monitor your logs"
-msgstr ""
+#: ../../keyboard.pm_.c:158 ../../keyboard.pm_.c:200
+msgid "French"
+msgstr "i"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr "Дубляванне пункту манцiравання %s"
+#: ../../keyboard.pm_.c:159 ../../keyboard.pm_.c:233
+msgid "Norwegian"
+msgstr "i"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD"
-msgstr ""
+#: ../../keyboard.pm_.c:160
+msgid "Polish"
+msgstr "i"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics card: %s\n"
-msgstr "Вiдэакарта: %s\n"
+#: ../../keyboard.pm_.c:161 ../../keyboard.pm_.c:241
+msgid "Russian"
+msgstr "i"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/Set as _Default"
-msgstr " (Па дамаўленню)"
+#: ../../keyboard.pm_.c:163 ../../keyboard.pm_.c:243
+msgid "Swedish"
+msgstr "i"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept icmp echo"
-msgstr ""
+#: ../../keyboard.pm_.c:164 ../../keyboard.pm_.c:259
+msgid "UK keyboard"
+msgstr "UK i"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Yaboot"
-msgstr "Yaboot"
+#: ../../keyboard.pm_.c:165 ../../keyboard.pm_.c:260
+msgid "US keyboard"
+msgstr "US i"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Logitech CC Series with Wheel emulation"
-msgstr "Logitech CC Series"
+#: ../../keyboard.pm_.c:167
+#, fuzzy
+msgid "Albanian"
+msgstr "Ii"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Extended partition not supported on this platform"
-msgstr "Пашыраны раздзел не падтрымлiваецца гэтай платформай"
+#: ../../keyboard.pm_.c:168
+msgid "Armenian (old)"
+msgstr "i ()"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Splash selection"
-msgstr "Асабiсты выбар пакетаў"
+#: ../../keyboard.pm_.c:169
+msgid "Armenian (typewriter)"
+msgstr "i (typewriter)"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISDN Configuration"
-msgstr "Настройка ISDN"
+#: ../../keyboard.pm_.c:170
+msgid "Armenian (phonetic)"
+msgstr "i ()"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "high"
-msgstr "Высокi"
+#: ../../keyboard.pm_.c:175
+msgid "Azerbaidjani (latin)"
+msgstr " (latin)"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing"
-msgstr "Сумеснае Iнтэрнэт-злучэнне"
+#: ../../keyboard.pm_.c:177
+msgid "Belgian"
+msgstr "ii"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Choose file"
-msgstr ""
+#: ../../keyboard.pm_.c:178
+#, fuzzy
+msgid "Bengali"
+msgstr "i"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Summary: "
-msgstr "Агульныя зьвесткі"
+#: ../../keyboard.pm_.c:179
+#, fuzzy
+msgid "Bulgarian (phonetic)"
+msgstr "i ()"
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fixes after installation."
-msgstr ""
-"Увага! Знойдзена існуючая сiстэма сеткавай бяспекi (firewall). Вам магчыма "
-"спатрэбіцца скарэктаваць яе пасля ўсталявання."
+#: ../../keyboard.pm_.c:180
+#, fuzzy
+msgid "Bulgarian (BDS)"
+msgstr "i"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printing/Photo Card Access on \"%s\""
-msgstr "Адлучэнне ад сеткi"
+#: ../../keyboard.pm_.c:181
+msgid "Brazilian (ABNT-2)"
+msgstr "ii (ABNT-2)"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Daily security check"
-msgstr ""
+#: ../../keyboard.pm_.c:184
+#, fuzzy
+msgid "Bosnian"
+msgstr "i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Do you want to enable printing on the printers mentioned above or on "
-"printers in the local network?\n"
-msgstr ""
+#: ../../keyboard.pm_.c:185
+msgid "Belarusian"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer default settings"
-msgstr "Злучэнне прынтэру"
+#: ../../keyboard.pm_.c:186
+msgid "Swiss (German layout)"
+msgstr "i ( )"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Звычайная мыш з 2 кнопкамі"
+#: ../../keyboard.pm_.c:187
+msgid "Swiss (French layout)"
+msgstr "i ( )"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"the WP flag in the CR0 register of the cpu enforce write proctection at the "
-"memory page level, thus enabling the processor to prevent unchecked kernel "
-"accesses to user memory (aka this is a bug guard)"
-msgstr ""
+#: ../../keyboard.pm_.c:189
+msgid "Czech (QWERTY)"
+msgstr "i (QWERTY)"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Removing old printer \"%s\"..."
-msgstr "Чытаю базу дадзеных драйвероў CUPS"
+#: ../../keyboard.pm_.c:191
+msgid "German (no dead keys)"
+msgstr "i ( i i)"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Select a device !"
-msgstr "Абярыце вiдэакарту"
+#: ../../keyboard.pm_.c:192
+msgid "Devanagari"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remove selected server"
-msgstr "Выдалiць чаргу друку"
+#: ../../keyboard.pm_.c:193
+msgid "Danish"
+msgstr "i"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using dhcp) usb"
-msgstr ""
+#: ../../keyboard.pm_.c:194
+msgid "Dvorak (US)"
+msgstr "Dvorak (US)"
-#: ../../lang.pm:1
-#, c-format
-msgid "French Southern Territories"
-msgstr "Паўднёвыя Францускія Тэрыторыі"
+#: ../../keyboard.pm_.c:195
+msgid "Dvorak (Norwegian)"
+msgstr "Dvorak (i)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the processor"
-msgstr ""
+#: ../../keyboard.pm_.c:196
+#, fuzzy
+msgid "Dvorak (Swedish)"
+msgstr "Dvorak (US)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain %s:\n"
-" \tFor users to be able to log into the system from a diskless "
-"client, their entry in\n"
-" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n"
-" \thelps in this respect by adding or removing system users from this "
-"file."
-msgstr ""
+#: ../../keyboard.pm_.c:197
+msgid "Estonian"
+msgstr "i"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All data on this partition should be backed-up"
-msgstr "Усе дадзеныя ў гэтым раздзеле павiнны быць зархiваваныя"
+#: ../../keyboard.pm_.c:201
+msgid "Georgian (\"Russian\" layout)"
+msgstr "ii (\"\" )"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Installing package %s"
-msgstr "Усталяванне пакету %s"
+#: ../../keyboard.pm_.c:202
+msgid "Georgian (\"Latin\" layout)"
+msgstr "ii (\"i\" )"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking device and configuring HPOJ..."
-msgstr ""
+#: ../../keyboard.pm_.c:203
+msgid "Greek"
+msgstr "i"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
+#: ../../keyboard.pm_.c:204
+msgid "Gujarati"
msgstr ""
-"Каб зрабiць больш разделаў, выдалiце адзiн i стварыце пашыраны раздзел "
-"(extended)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Your printer was configured automatically to give you access to the photo "
-"card drives from your PC. Now you can access your photo cards using the "
-"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
-"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
-"\"man mtools\" on the command line for more info). You find the card's file "
-"system under the drive letter \"p:\", or subsequent drive letters when you "
-"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
-"can switch between drive letters with the field at the upper-right corners "
-"of the file lists."
+#: ../../keyboard.pm_.c:205
+msgid "Gurmukhi"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose packages to install"
-msgstr "Выбар пакетаў"
+#: ../../keyboard.pm_.c:206
+msgid "Hungarian"
+msgstr "i"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr "Усе iснуючыя раздзелы на дыску %s i дадзеныя на iх будуць страчаны"
+#: ../../keyboard.pm_.c:207
+msgid "Croatian"
+msgstr "i"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Your system does not have enough space left for installation or upgrade (%d "
-"> %d)"
-msgstr ""
-"Ваша сiстэма не мае дастакова месца для ўсталявання цi абнаўлення (%d > %d)"
+#: ../../keyboard.pm_.c:208
+msgid "Israeli"
+msgstr "I"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Every printer needs a name (for example \"printer\"). The Description and "
-"Location fields do not need to be filled in. They are comments for the users."
-msgstr ""
+#: ../../keyboard.pm_.c:209
+msgid "Israeli (Phonetic)"
+msgstr "I ()"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
-"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
-"information on how to setup a new printer. The interface presented there is\n"
-"similar to the one used during installation."
-msgstr ""
+#: ../../keyboard.pm_.c:210
+msgid "Iranian"
+msgstr "Ii"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bhutan"
-msgstr "Бутан"
+#: ../../keyboard.pm_.c:211
+msgid "Icelandic"
+msgstr "Ii"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface"
-msgstr "Сеткавы iнтэрфейс"
+#: ../../keyboard.pm_.c:212
+msgid "Italian"
+msgstr "Ii"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Disconnection from Internet failed."
-msgstr "Далучэнне да Iнтэрнэту"
+#: ../../keyboard.pm_.c:213
+msgid "Inuktitut"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Reading printer data..."
-msgstr "Чытаю базу дадзеных драйвероў CUPS"
+#: ../../keyboard.pm_.c:214
+msgid "Japanese 106 keys"
+msgstr "i 106 i"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
+#: ../../keyboard.pm_.c:217
+#, fuzzy
msgid "Korean keyboard"
-msgstr "UK клавiятура"
-
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Not connected"
-msgstr "Размеркаванне"
-
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "No internet connection configured"
-msgstr "Iнтэрнэт злучэнне i канфiгурацыя"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek"
-msgstr "Грэчаскi"
+msgstr "UK i"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Kitts and Nevis"
-msgstr ""
+#: ../../keyboard.pm_.c:218
+msgid "Latin American"
+msgstr "i-i"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Generic 3 Button Mouse with Wheel emulation"
-msgstr "Звычайная мыш з 3 кнопкамі"
+#: ../../keyboard.pm_.c:219
+#, fuzzy
+msgid "Laotian"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Enable OF Boot?"
-msgstr ""
+#: ../../keyboard.pm_.c:220
+msgid "Lithuanian AZERTY (old)"
+msgstr "ii AZERTY ()"
-#: ../../fsedit.pm:1
-#, fuzzy, c-format
-msgid "You can't use JFS for partitions smaller than 16MB"
-msgstr "Вы не можаце разбiваць на разделы, памер якiх меней за 16 Мб"
+#: ../../keyboard.pm_.c:222
+msgid "Lithuanian AZERTY (new)"
+msgstr "ii AZERTY ()"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Erase your RW media (1st Session)"
-msgstr "Націсніце на раздзел"
+#: ../../keyboard.pm_.c:223
+msgid "Lithuanian \"number row\" QWERTY"
+msgstr "ii \" \" QWERTY"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "Часціня верт.разг. манiтору: %s\n"
+#: ../../keyboard.pm_.c:224
+msgid "Lithuanian \"phonetic\" QWERTY"
+msgstr "ii \"\" QWERTY"
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount point"
-msgstr "Кропка манцiравання"
+#: ../../keyboard.pm_.c:225
+#, fuzzy
+msgid "Latvian"
+msgstr ""
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid ""
-"An error occurred:\n"
-"%s\n"
-"Try to change some parameters"
+#: ../../keyboard.pm_.c:226
+msgid "Malayalam"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "TCP/IP host \"%s\", port %s"
+#: ../../keyboard.pm_.c:227
+msgid "Macedonian"
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "User :"
-msgstr "Iмя карыстальнiку:"
+#: ../../keyboard.pm_.c:228
+msgid "Myanmar (Burmese)"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore system"
-msgstr "Усталяванне сiстэмы"
+#: ../../keyboard.pm_.c:229
+#, fuzzy
+msgid "Mongolian (cyrillic)"
+msgstr " ()"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"These are the machines on which the locally connected scanner(s) should be "
-"available:"
+#: ../../keyboard.pm_.c:230
+msgid "Maltese (UK)"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP end ip"
+#: ../../keyboard.pm_.c:231
+msgid "Maltese (US)"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Another one"
-msgstr "цiкава"
+#: ../../keyboard.pm_.c:232
+msgid "Dutch"
+msgstr "i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup"
-msgstr ""
+#: ../../keyboard.pm_.c:234
+msgid "Polish (qwerty layout)"
+msgstr "i ( )"
-#: ../../lang.pm:1
-#, c-format
-msgid "Colombia"
-msgstr "Калюмбія"
+#: ../../keyboard.pm_.c:235
+msgid "Polish (qwertz layout)"
+msgstr "i (qwertz )"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Current configuration of `%s':\n"
-"\n"
-"Network: %s\n"
-"IP address: %s\n"
-"IP attribution: %s\n"
-"Driver: %s"
-msgstr ""
+#: ../../keyboard.pm_.c:236
+msgid "Portuguese"
+msgstr "i"
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play"
-msgstr ""
+#: ../../keyboard.pm_.c:237
+msgid "Canadian (Quebec)"
+msgstr "i ()"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Reunion"
-msgstr "Памеры экрану"
+#: ../../keyboard.pm_.c:239
+#, fuzzy
+msgid "Romanian (qwertz)"
+msgstr "i (-----)"
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Details"
-msgstr "Падрабязнасцi"
+#: ../../keyboard.pm_.c:240
+#, fuzzy
+msgid "Romanian (qwerty)"
+msgstr "i (-----)"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "For security reasons, it will be disconnected now."
-msgstr ""
+#: ../../keyboard.pm_.c:242
+msgid "Russian (Yawerty)"
+msgstr "i (-----)"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Synchronization tool"
-msgstr ""
+#: ../../keyboard.pm_.c:244
+msgid "Slovenian"
+msgstr "i"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Checking your system..."
-msgstr "Якую сiстэму друку Вы жадаеце выкарыстоўваць?"
+#: ../../keyboard.pm_.c:245
+msgid "Slovakian (QWERTZ)"
+msgstr "i (QWERTZ)"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Print"
-msgstr "Прынтэр"
+#: ../../keyboard.pm_.c:246
+msgid "Slovakian (QWERTY)"
+msgstr "i (QWERTY)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Insert the tape with volume label %s\n"
-" in the tape drive device %s"
-msgstr ""
+#: ../../keyboard.pm_.c:248
+#, fuzzy
+msgid "Serbian (cyrillic)"
+msgstr " ()"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mongolia"
-msgstr "Манголія"
+#: ../../keyboard.pm_.c:250
+#, fuzzy
+msgid "Tamil (Unicode)"
+msgstr "i18n ()"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mounted\n"
-msgstr "Заманцiравана\n"
+#: ../../keyboard.pm_.c:251
+msgid "Tamil (TSCII)"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configure CUPS"
-msgstr "Настройка X Window"
+#: ../../keyboard.pm_.c:252
+msgid "Thai keyboard"
+msgstr " i"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Graphical Interface"
-msgstr "Запуск X пры старце сiстэмы"
+#: ../../keyboard.pm_.c:254
+#, fuzzy
+msgid "Tajik keyboard"
+msgstr " i"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Users"
-msgstr "Аднаўленне з файлу"
+#: ../../keyboard.pm_.c:255
+msgid "Turkish (traditional \"F\" model)"
+msgstr "i ( \"F\" )"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Encryption key for %s"
-msgstr "Паролi не супадаюць"
+#: ../../keyboard.pm_.c:256
+msgid "Turkish (modern \"Q\" model)"
+msgstr "i ( \"Q\" )"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Do you want to recover your system?"
-msgstr "Вы жадаеце выкарыстоўваць aboot?"
+#: ../../keyboard.pm_.c:258
+msgid "Ukrainian"
+msgstr "ii"
-#: ../../services.pm:1
-#, c-format
-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"
-"выкарыстоўваюцца такiмi пратаколамi як NFS i NIS. Portmap сервер павiнен "
-"выконвацца\n"
-"на машынах якiя працуюць як серверы для пратаколаў, якiя скарыстоўваюць RPC."
+#: ../../keyboard.pm_.c:261
+msgid "US keyboard (international)"
+msgstr "US i (i)"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Detected hardware"
-msgstr "Гл. апiсанне абсталявання"
+#: ../../keyboard.pm_.c:262
+msgid "Vietnamese \"numeric row\" QWERTY"
+msgstr "i \" \" QWERTY"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritius"
-msgstr "Марыціўс"
+#: ../../keyboard.pm_.c:263
+#, fuzzy
+msgid "Yugoslavian (latin)"
+msgstr " (latin)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Myanmar (Burmese)"
+#: ../../keyboard.pm_.c:270
+msgid "Right Alt key"
msgstr ""
-#: ../../fs.pm:1
-#, fuzzy, c-format
-msgid "Enabling swap partition %s"
-msgstr "Фарматаванне раздзелу %s"
+#: ../../keyboard.pm_.c:271
+msgid "Both Shift keys simultaneously"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "There is no FAT partition to use as loopback (or not enough space left)"
+#: ../../keyboard.pm_.c:272
+msgid "Control and Shift keys simultaneously"
msgstr ""
-"Не знойдзена раздзелаў FAT для змянення памераў альбо выкарыстання\n"
-"ў якасцi вiртуальнай файлавай сiстэмы (цi недастаткова прасторы на дыску)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (old)"
-msgstr "Армянскi (стары)"
+#: ../../keyboard.pm_.c:273
+msgid "CapsLock key"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"A printer named \"%s\" already exists under %s. \n"
-"Click \"Transfer\" to overwrite it.\n"
-"You can also type a new name or skip this printer."
+#: ../../keyboard.pm_.c:274
+msgid "Ctrl and Alt keys simultaneously"
msgstr ""
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid ""
-"Find the solutions of your problems via MandrakeSoft's online support "
-"platform."
+#: ../../keyboard.pm_.c:275
+msgid "Alt and Shift keys simultaneously"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", host \"%s\", port %s"
+#: ../../keyboard.pm_.c:276
+msgid "\"Menu\" key"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Monaco"
-msgstr "Манiтор"
+#: ../../keyboard.pm_.c:277
+msgid "Left \"Windows\" key"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr "Падрыхтоўка разделаў не ўдалася: %s"
+#: ../../keyboard.pm_.c:278
+msgid "Right \"Windows\" key"
+msgstr ""
-#: ../../fs.pm:1 ../../swap.pm:1
+#: ../../loopback.pm_.c:32
#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s памылка фарматавання %s"
-
-#: ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "Canada (cable)"
-msgstr "Канадскi (Квебэк)"
-
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Floppy creation completed"
-msgstr "Iмя злучэння"
-
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Upgrade"
-msgstr "Раздзел %s"
+msgid "Circular mounts %s\n"
+msgstr "i %s\n"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Workstation"
-msgstr "Навуковыя прыкладанні"
+#: ../../lvm.pm_.c:103
+msgid "Remove the logical volumes first\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../modules.pm_.c:290
msgid ""
-"Installing package %s\n"
-"%d%%"
+"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
msgstr ""
-"Усталяванне пакету %s\n"
-"%d%%"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kyrgyzstan"
-msgstr "Кыргізтан"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on USB"
+#: ../../modules/interactive.pm_.c:16
+msgid "You can configure each parameter of the module here."
msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid ""
-"We didn't detect any USB key on your system. If you\n"
-"plug in an USB key now, Mandrake Move will have the ability\n"
-"to transparently save the data in your home directory and\n"
-"system wide configuration, for next boot on this computer\n"
-"or another one. Note: if you plug in a key now, wait several\n"
-"seconds before detecting again.\n"
-"\n"
-"\n"
-"You may also proceed without an USB key - you'll still be\n"
-"able to use Mandrake Move as a normal live Mandrake\n"
-"Operating System."
-msgstr ""
+#: ../../modules/parameters.pm_.c:18
+#, fuzzy
+msgid "modinfo is not available"
+msgstr " "
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "With basic documentation"
-msgstr "Аўтэнтыфiкацыя"
+#: ../../modules/parameters.pm_.c:50
+#, fuzzy
+msgid "a number"
+msgstr " "
-#: ../../services.pm:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "Anacron is a periodic command scheduler."
-msgstr "Anacron, перыядычны камандны планавальнiк."
+msgid "%d comma separated numbers"
+msgstr ""
-#: ../../install_interactive.pm:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-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 `/'"
+msgid "%d comma separated strings"
msgstr ""
-"Вы павiнны мець каранёвы раздзел.\n"
-"Для гэтага стварыце раздзел (альбо адзначце ўжо iснуючы).\n"
-"Потым абярыце ``Кропка манцiравання'' i ўстанавiце яе ў `/'"
-#: ../../lang.pm:1
-#, c-format
-msgid "Western Sahara"
-msgstr "Заходняя Сахара"
+#: ../../modules/parameters.pm_.c:54
+msgid "comma separated numbers"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxy should be http://..."
-msgstr "Proxy павiнен быць http://..."
+#: ../../modules/parameters.pm_.c:54
+#, fuzzy
+msgid "comma separated strings"
+msgstr " "
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "South Africa"
-msgstr "Паўднёвая Афрыка"
+#: ../../mouse.pm_.c:25
+msgid "Sun - Mouse"
+msgstr "Sun - "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Eject tape after the backup"
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../mouse.pm_.c:32
+msgid "Logitech MouseMan+"
+msgstr "Logitech MouseMan+"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Etherboot Floppy/ISO"
-msgstr "Стварыць загр. дыск"
+#: ../../mouse.pm_.c:33
+#, fuzzy
+msgid "Generic PS2 Wheel Mouse"
+msgstr " 2 "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Modify printer configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+#: ../../mouse.pm_.c:34
+msgid "GlidePoint"
+msgstr "GlidePoint"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Choose a partition"
-msgstr "Абярыце дзеянне"
+#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:65
+msgid "Kensington Thinking Mouse"
+msgstr "Kensington Thinking Mouse"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Edit current rule"
-msgstr ""
+#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:61
+msgid "Genius NetMouse"
+msgstr "Genius NetMouse"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s"
-msgstr ""
+#: ../../mouse.pm_.c:38
+msgid "Genius NetScroll"
+msgstr "Genius NetScroll"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Please test the mouse"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
+#: ../../mouse.pm_.c:39 ../../mouse.pm_.c:48
+#, fuzzy
+msgid "Microsoft Explorer"
+msgstr "Microsoft IntelliMouse"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Do not update inode access times on this file system\n"
-"(e.g, for faster access on the news spool to speed up news servers)."
-msgstr ""
+#: ../../mouse.pm_.c:44 ../../mouse.pm_.c:70
+#, fuzzy
+msgid "1 button"
+msgstr "2 i"
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons with Wheel emulation"
-msgstr ""
+#: ../../mouse.pm_.c:45 ../../mouse.pm_.c:53
+msgid "Generic 2 Button Mouse"
+msgstr " 2 "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Sticky-bit"
-msgstr ""
+#: ../../mouse.pm_.c:47
+msgid "Wheel"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Other Media"
-msgstr "Іншыя"
+#: ../../mouse.pm_.c:51
+msgid "serial"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
+#: ../../mouse.pm_.c:54
+msgid "Generic 3 Button Mouse"
+msgstr " 3 "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup system files"
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../mouse.pm_.c:55
+msgid "Microsoft IntelliMouse"
+msgstr "Microsoft IntelliMouse"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Sector"
-msgstr "Сектар"
+#: ../../mouse.pm_.c:56
+msgid "Logitech MouseMan"
+msgstr "Logitech MouseMan"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Qatar"
-msgstr "Стартавае меню"
+#: ../../mouse.pm_.c:57
+msgid "Mouse Systems"
+msgstr "Mouse Systems"
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Base dn"
-msgstr ""
+#: ../../mouse.pm_.c:59
+msgid "Logitech CC Series"
+msgstr "Logitech CC Series"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid ""
-"You can't select this package as there is not enough space left to install it"
-msgstr ""
-"Вы не можаце выбраць гэты пакет, таму як не хапае месца для яго ўсталявання"
+#: ../../mouse.pm_.c:60
+msgid "Logitech MouseMan+/FirstMouse+"
+msgstr "Logitech MouseMan+/FirstMouse+"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "generate auto-install floppy"
-msgstr "Стварэнне дыскеты для ўсталявання"
+#: ../../mouse.pm_.c:62
+msgid "MM Series"
+msgstr "MM Series"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Dialing mode"
-msgstr "Рэжым злучэння"
+#: ../../mouse.pm_.c:63
+msgid "MM HitTablet"
+msgstr "MM HitTablet"
-#: ../../services.pm:1
-#, c-format
-msgid "File sharing"
-msgstr ""
+#: ../../mouse.pm_.c:64
+msgid "Logitech Mouse (serial, old C7 type)"
+msgstr "Logitech Mouse (, C7)"
-#: ../../any.pm:1
-#, c-format
-msgid "Clean /tmp at each boot"
-msgstr "Ачышчаць /tmp пры кожнай загрузцы"
+#: ../../mouse.pm_.c:68
+#, fuzzy
+msgid "busmouse"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Malawi"
-msgstr "Маляві"
+#: ../../mouse.pm_.c:71
+msgid "2 buttons"
+msgstr "2 i"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "local config: false"
-msgstr "Лакальны прынтэр"
+#: ../../mouse.pm_.c:72
+msgid "3 buttons"
+msgstr "3 i"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "System settings"
-msgstr "Выкарыстоўваць iснуючы раздзел"
+#: ../../mouse.pm_.c:75
+msgid "none"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Please choose your type of mouse."
-msgstr "калi ласка, пазначце тып вашай мышы."
+#: ../../mouse.pm_.c:77
+msgid "No mouse"
+msgstr " "
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "running"
-msgstr "Увага!"
+#: ../../mouse.pm_.c:490
+msgid "Please test the mouse"
+msgstr " , ."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "class of hardware device"
-msgstr ""
+#: ../../mouse.pm_.c:491
+#, fuzzy
+msgid "To activate the mouse,"
+msgstr " , ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"These are the machines and networks on which the locally connected printer"
-"(s) should be available:"
+#: ../../mouse.pm_.c:492
+msgid "MOVE YOUR WHEEL!"
+msgstr " !"
+
+#: ../../my_gtk.pm_.c:65
+msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
msgstr ""
-#: ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United Kingdom"
-msgstr "Злучанае Каралеўства"
+#: ../../my_gtk.pm_.c:159 ../../ugtk2.pm_.c:435
+#, fuzzy
+msgid "Finish"
+msgstr "ii"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Indonesia"
-msgstr "няма"
+#: ../../my_gtk.pm_.c:159 ../../printer/printerdrake.pm_.c:2057
+#: ../../ugtk2.pm_.c:435
+msgid "Next ->"
+msgstr " ->"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "default"
-msgstr "Па дамаўленню"
+#: ../../my_gtk.pm_.c:287 ../../ugtk2.pm_.c:926
+msgid "Is this correct?"
+msgstr " ?"
-#: ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "France [SECAM]"
-msgstr "Францыя"
+#: ../../my_gtk.pm_.c:359 ../../services.pm_.c:227 ../../ugtk2.pm_.c:1011
+msgid "Info"
+msgstr "I"
-#: ../../any.pm:1
-#, c-format
-msgid "restrict"
-msgstr "абмежаванне"
+#: ../../my_gtk.pm_.c:380 ../../ugtk2.pm_.c:1036
+msgid "Expand Tree"
+msgstr " "
-#: ../../pkgs.pm:1
-#, c-format
-msgid "must have"
-msgstr "павiнны мець"
+#: ../../my_gtk.pm_.c:381 ../../ugtk2.pm_.c:1037
+msgid "Collapse Tree"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"CUPS does not support printers on Novell servers or printers sending the "
-"data into a free-formed command.\n"
-msgstr ""
+#: ../../my_gtk.pm_.c:382 ../../ugtk2.pm_.c:1038
+msgid "Toggle between flat and group sorted"
+msgstr " i i "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Senegal"
-msgstr "Таблiца"
+#: ../../network/adsl.pm_.c:23
+msgid "use pppoe"
+msgstr " pppoe"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Command line"
-msgstr "Iмя дамену"
+#: ../../network/adsl.pm_.c:24
+#, fuzzy
+msgid "use pptp"
+msgstr " pppoe"
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid ""
-"Our full range of Linux solutions, as well as special offers on products and "
-"other \"goodies\", are available on our e-store:"
+#: ../../network/adsl.pm_.c:25
+msgid "use dhcp"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "March"
-msgstr "Сакавік"
+#: ../../network/adsl.pm_.c:26
+msgid "Alcatel speedtouch usb"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "access to administrative files"
+#: ../../network/adsl.pm_.c:27
+msgid "Sagem (using pppoe) usb"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/adsl.pm_.c:29 ../../network/ethernet.pm_.c:36
+msgid "Connect to the Internet"
+msgstr " I"
+
+#: ../../network/adsl.pm_.c:30
msgid ""
-"Error during sendmail.\n"
-" Your report mail was not sent.\n"
-" Please configure sendmail"
+"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 ""
-#: ../../fs.pm:1
-#, c-format
+#: ../../network/adsl.pm_.c:166
msgid ""
-"Do not allow set-user-identifier or set-group-identifier\n"
-"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
-"have suidperl(1) installed.)"
+"You need the alcatel microcode.\n"
+"Download it at\n"
+"http://www.speedtouchdsl.com/dvrreg_lx.htm\n"
+"and copy the mgmt.o in /usr/share/speedtouch"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Montserrat"
-msgstr "Порт мышы"
+#: ../../network/drakfirewall.pm_.c:12
+#, fuzzy
+msgid "Web Server"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic dependencies"
-msgstr ""
+#: ../../network/drakfirewall.pm_.c:17
+#, fuzzy
+msgid "Domain Name Server"
+msgstr "I "
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Swap"
-msgstr "Swap"
+#: ../../network/drakfirewall.pm_.c:32
+#, fuzzy
+msgid "Mail Server"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Custom settings"
-msgstr "Выкарыстоўваць iснуючы раздзел"
+#: ../../network/drakfirewall.pm_.c:37
+#, fuzzy
+msgid "POP and IMAP Server"
+msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:111
+#, fuzzy
+msgid "No network card"
+msgstr " "
+
+#: ../../network/drakfirewall.pm_.c:129
msgid ""
-"The USB key seems to have write protection enabled, but we can't safely\n"
-"unplug it now.\n"
-"\n"
+"drakfirewall configurator\n"
"\n"
-"Click the button to reboot the machine, unplug it, remove write protection,\n"
-"plug the key again, and launch Mandrake Move again."
+"This configures a personal firewall for this Mandrake Linux machine.\n"
+"For a powerful dedicated firewall solution, please look to the\n"
+"specialized MandrakeSecurity Firewall distribution."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Other"
-msgstr "Аднаўленне з файлу"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "TV card"
+#: ../../network/drakfirewall.pm_.c:135
+msgid ""
+"drakfirewall configurator\n"
+"\n"
+"Make sure you have configured your Network/Internet access with\n"
+"drakconnect before going any further."
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Printer on SMB/Windows 95/98/NT server"
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/_Configure CUPS"
-msgstr "Настройка X Window"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ", "
-msgstr ", "
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit lspci"
+#: ../../network/drakfirewall.pm_.c:152
+msgid "Which services would you like to allow the Internet to connect to?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remove selected host/network"
-msgstr "Выдалiць чаргу друку"
-
-#: ../../services.pm:1
-#, fuzzy, c-format
+#: ../../network/drakfirewall.pm_.c:153
msgid ""
-"Postfix is a Mail Transport Agent, which is the program that moves mail from "
-"one machine to another."
+"You can enter miscellaneous ports. \n"
+"Valid examples are: 139/tcp 139/udp.\n"
+"Have a look at /etc/services for information."
msgstr ""
-"Postfix - гэта паштовы транспартны агент, праграма, якая\n"
-"перамяшчае пошту з адной машыны на йншую."
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Uzbek (cyrillic)"
-msgstr "Азербайджанскі (кірыліца)"
-#: ../../keyboard.pm:1
+#: ../../network/drakfirewall.pm_.c:159
#, c-format
msgid ""
-"Here you can choose the key or key combination that will \n"
-"allow switching between the different keyboard layouts\n"
-"(eg: latin and non latin)"
+"Invalid port given: %s.\n"
+"The proper format is \"port/tcp\" or \"port/udp\", \n"
+"where port is between 1 and 65535."
msgstr ""
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Network Hotplugging"
-msgstr "Канфiгурацыя сеткi"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, reports check result to tty."
-msgstr ""
+#: ../../network/drakfirewall.pm_.c:167
+#, fuzzy
+msgid "Everything (no firewall)"
+msgstr " i!"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore From CD"
-msgstr "Аднаўленне з дыскеты"
+#: ../../network/drakfirewall.pm_.c:169
+#, fuzzy
+msgid "Other ports"
+msgstr "I i"
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
+#: ../../network/ethernet.pm_.c:37
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"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
+"Which dhcp client do you want to use?\n"
+"Default is dhcp-client"
msgstr ""
-"Ваш камп'ютар можа быць сканфігураваны на сумеснае выкарыстанне\n"
-" Інтэрнэту (Internet Connection Sharing)?\n"
-"\n"
-"Заўвага: вам патрэбны сеткавы адаптар для падключэння да ЛВС.\n"
-"\n"
-"Вы жадаеце усталяваць сумесны доступ да Internet?"
+"i dhcp i ?\n"
+" , dhcp-client"
-#: ../../network/ethernet.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:88
+#, fuzzy
msgid ""
-"Please choose which network adapter you want to use to connect to Internet."
+"No ethernet network adapter has been detected on your system.\n"
+"I cannot set up this connection type."
msgstr ""
-"Калi ласка, пазначце сеткавы адаптар, якi плануеце выкарыстоўваць для "
-"далучэння да iнтэрнэт"
+"i ethernet i . i , "
+" i i."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo memory card access on your HP multi-function device"
-msgstr ""
+#: ../../network/ethernet.pm_.c:92 ../../standalone/drakgw_.c:234
+msgid "Choose the network interface"
+msgstr " i"
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
+#: ../../network/ethernet.pm_.c:93
msgid ""
-"Enhance your computer performance with the help of a selection of partners "
-"offering professional solutions compatible with Mandrake Linux"
+"Please choose which network adapter you want to use to connect to Internet"
msgstr ""
+"i , , i "
+" i"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Authors: "
-msgstr "Аўтары: "
+#: ../../network/ethernet.pm_.c:176
+msgid "no network card found"
+msgstr " "
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Internet Connection Sharing is now disabled."
-msgstr "Сумеснае Iнтэрнэт-злучэнне зараз забаронена"
+#: ../../network/ethernet.pm_.c:200 ../../network/network.pm_.c:349
+msgid "Configuring network"
+msgstr " i"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, verify checksum of the suid/sgid files."
+#: ../../network/ethernet.pm_.c:201
+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 ."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latin American"
-msgstr "Лацiна-Амерыканскi"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Japanese text printing mode"
-msgstr "Настройка сеткi"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Old device file"
-msgstr "Абярыце файл"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Info: "
-msgstr "Iнфармацыя: "
-
-#: ../../interactive/stdio.pm:1
-#, fuzzy, c-format
-msgid "Button `%s': %s"
-msgstr "Опцыi: %s"
-
-#: ../../any.pm:1 ../../interactive.pm:1 ../../harddrake/sound.pm:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakxtv:1 ../../standalone/harddrake2:1
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Please wait"
-msgstr "Калi ласка, пачакайце"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "None"
-msgstr "Зроблена"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "The entered IP is not correct.\n"
-msgstr "Гэта дакладна?"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please be sure that the cron daemon is included in your services."
-msgstr "Выбар пакетаў для ўсталявання"
+#: ../../network/ethernet.pm_.c:205 ../../network/network.pm_.c:354
+msgid "Host name"
+msgstr "I "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Ethernet Card"
-msgstr ""
+#: ../../network/isdn.pm_.c:21 ../../network/isdn.pm_.c:44
+#: ../../network/netconnect.pm_.c:89 ../../network/netconnect.pm_.c:103
+#: ../../network/netconnect.pm_.c:156 ../../network/netconnect.pm_.c:171
+#: ../../network/netconnect.pm_.c:222 ../../network/netconnect.pm_.c:245
+#: ../../network/netconnect.pm_.c:253
+#, fuzzy
+msgid "Network Configuration Wizard"
+msgstr "i i"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Delete selected printer"
-msgstr "Выдалiць чаргу друку"
+#: ../../network/isdn.pm_.c:22
+#, fuzzy
+msgid "External ISDN modem"
+msgstr " ISDN "
-#: ../../services.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Info"
-msgstr "Iнфармацыя"
+#: ../../network/isdn.pm_.c:22
+msgid "Internal ISDN card"
+msgstr " ISDN "
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Install"
-msgstr "Усталёўка"
+#: ../../network/isdn.pm_.c:22
+msgid "What kind is your ISDN connection?"
+msgstr "i ISDN ?"
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../network/isdn.pm_.c:45
msgid ""
-"Click on \"%s\" if you want to delete all data and partitions present on\n"
-"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
-"to recover any data and partitions present on this hard drive, including\n"
-"any Windows data.\n"
+"Which ISDN configuration do you prefer?\n"
"\n"
-"Click on \"%s\" to stop this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-"Націсніце \"Так\", калі жадаеце выдаліць усе дадзеныя\n"
-"і раздзелы на гэтым дыску. Будзце уважлівыя, пасля гэтай аперацыі вы не\n"
+"* The Old configuration uses isdn4net. It contains powerful\n"
+" tools, but is tricky to configure, and not standard.\n"
"\n"
-"здолееце аднавіць любыя дадзеныя і раздзелы, улічваючы і дадзеныя Windows\n"
+"* The New configuration is easier to understand, more\n"
+" standard, but with less tools.\n"
"\n"
-"\n"
-"Націсніце \"Адмена\" каб адмяніць аперацыю без страты дадзеных і раздзелаў"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Exit install"
-msgstr "Заканчэнне ўсталявання"
-
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Need a key to save your data"
+"We recommand the light configuration.\n"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-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)."
+#: ../../network/isdn.pm_.c:54
+#, fuzzy
+msgid "New configuration (isdn-light)"
+msgstr " (firewall)!"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Remote CUPS server"
-msgstr "Аддалены сервер CUPS"
+#: ../../network/isdn.pm_.c:54
+#, fuzzy
+msgid "Old configuration (isdn4net)"
+msgstr " (firewall)!"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Sun - Mouse"
-msgstr "Sun - Мыш"
+#: ../../network/isdn.pm_.c:166 ../../network/isdn.pm_.c:184
+#: ../../network/isdn.pm_.c:196 ../../network/isdn.pm_.c:202
+#: ../../network/isdn.pm_.c:209 ../../network/isdn.pm_.c:219
+msgid "ISDN Configuration"
+msgstr " ISDN"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../network/isdn.pm_.c:166
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."
+"Select your provider.\n"
+"If it isn't listed, choose Unlisted."
msgstr ""
+" .\n"
+"i i, ``I''"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit cpuinfo"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Minimal install"
-msgstr "Выдалiць з сiстэмы"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Ethiopia"
-msgstr "Эстонскi"
+#: ../../network/isdn.pm_.c:179
+#, fuzzy
+msgid "Europe protocol (EDSS1)"
+msgstr "Ţ (EDSS1)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "YES"
-msgstr ""
+#: ../../network/isdn.pm_.c:181
+#, fuzzy
+msgid "Protocol for the rest of the world"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable \"crontab\" and \"at\" for users"
+#: ../../network/isdn.pm_.c:181
+#, fuzzy
+msgid ""
+"Protocol for the rest of the world\n"
+"No D-Channel (leased lines)"
msgstr ""
+" \n"
+" D- ( )"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Devanagari"
-msgstr ""
+#: ../../network/isdn.pm_.c:185
+msgid "Which protocol do you want to use?"
+msgstr "i ?"
-#: ../../standalone/harddrake2:1
+#: ../../network/isdn.pm_.c:196
#, c-format
-msgid ""
-"- pci devices: this gives the PCI slot, device and function of this card\n"
-"- eide devices: the device is either a slave or a master device\n"
-"- scsi devices: the scsi bus and the scsi device ids"
+msgid "Found \"%s\" interface do you want to use it ?"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Агульны памер: %d / %d Mб"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "disabled"
-msgstr "Таблiца"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Search for new scanners"
-msgstr "Даступныя пакеты"
+#: ../../network/isdn.pm_.c:203
+msgid "What kind of card do you have?"
+msgstr "i ?"
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Disabling servers..."
-msgstr "Вызначэнне прыладаў..."
+#: ../../network/isdn.pm_.c:204
+msgid "I don't know"
+msgstr " "
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Installation of %s failed. The following error occured:"
-msgstr "Усталяванне %s не атрымалася. Узнiкла наступная памылка:"
+#: ../../network/isdn.pm_.c:204
+msgid "ISA / PCMCIA"
+msgstr "ISA / PCMCIA"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
-msgstr ""
+#: ../../network/isdn.pm_.c:204
+msgid "PCI"
+msgstr "PCI"
-#: ../../install_any.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:210
msgid ""
-"You have selected the following server(s): %s\n"
"\n"
+"If you have an ISA card, the values on the next screen should be right.\n"
"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new ones could be found. In that case, you must make sure\n"
-"to upgrade as soon as possible.\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"
-"Do you really want to install these servers?\n"
-msgstr ""
+"i PCMCIA , i irq i io .\n"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network printer (TCP/Socket)"
-msgstr "Сеткавы прынтэр (TCP/Socket)"
+#: ../../network/isdn.pm_.c:214
+msgid "Abort"
+msgstr "i"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup User files..."
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../network/isdn.pm_.c:214
+msgid "Continue"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install system"
-msgstr "Усталяванне сiстэмы"
+#: ../../network/isdn.pm_.c:220
+msgid "Which is your ISDN card?"
+msgstr " ISDN ?"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "First DNS Server (optional)"
-msgstr "Першы сервер DNS"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:239
msgid ""
-"Alternatively, you can specify a device name/file name in the input line"
+"I have detected an ISDN PCI card, but I don't know its type. Please select a "
+"PCI card on the next screen."
msgstr ""
+" ISDN PCI , . i , PCI "
+" ."
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
-"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
-"symlink /etc/security/msec/server to point to\n"
-"/etc/security/msec/server.<SERVER_LEVEL>.\n"
-"\n"
-"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
-"add a service if it is present in the file during the installation of\n"
-"packages."
-msgstr ""
+#: ../../network/isdn.pm_.c:248
+msgid "No ISDN PCI card found. Please select one on the next screen."
+msgstr " ISDN PCI . i , ."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian (Phonetic)"
-msgstr "Рускi (фанетычны)"
+#: ../../network/modem.pm_.c:57
+msgid "Please choose which serial port your modem is connected to."
+msgstr " ?"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "dhcpd Config..."
-msgstr "Настройка IDE"
+#: ../../network/modem.pm_.c:67
+msgid "Dialup options"
+msgstr " (Dialup)"
-#: ../../any.pm:1
-#, c-format
-msgid "LILO/grub Installation"
-msgstr "Усталяванне LILO/GRUB"
+#: ../../network/modem.pm_.c:68 ../../standalone/drakconnect_.c:619
+msgid "Connection name"
+msgstr "I "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli"
-msgstr "Iўрыт"
+#: ../../network/modem.pm_.c:69 ../../standalone/drakconnect_.c:620
+msgid "Phone number"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer \"%s\" on server \"%s\""
-msgstr "Адлучэнне ад сеткi"
+#: ../../network/modem.pm_.c:70 ../../standalone/drakconnect_.c:621
+msgid "Login ID"
+msgstr "I (login ID)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Floppy can be removed now"
-msgstr ""
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "CHAP"
+msgstr "CHAP"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Truly minimal install"
-msgstr "Выдалiць з сiстэмы"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "PAP"
+msgstr "PAP"
-#: ../../lang.pm:1
-#, c-format
-msgid "Denmark"
-msgstr "Данія"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Script-based"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving partition..."
-msgstr "Пераносіцца раздзел..."
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Terminal-based"
+msgstr " i"
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "(This) DHCP Server IP"
-msgstr "IP сервера SMB"
+#: ../../network/modem.pm_.c:73 ../../standalone/drakconnect_.c:624
+msgid "Domain name"
+msgstr "I "
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Test of the configuration"
-msgstr "Праверка параметраў настройкi"
+#: ../../network/modem.pm_.c:74 ../../standalone/drakconnect_.c:625
+#, fuzzy
+msgid "First DNS Server (optional)"
+msgstr " DNS"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing %s ..."
-msgstr "Усталяванне пакету %s"
+#: ../../network/modem.pm_.c:75 ../../standalone/drakconnect_.c:626
+#, fuzzy
+msgid "Second DNS Server (optional)"
+msgstr "i DNS:"
-#: ../../help.pm:1
-#, c-format
+#: ../../network/modem.pm_.c:95
msgid ""
-"If you told the installer that you wanted to individually select packages,\n"
-"it will present a tree containing all packages classified by groups and\n"
-"subgroups. While browsing the tree, you can select entire groups,\n"
-"subgroups, or individual packages.\n"
-"\n"
-"Whenever you select a package on the tree, a description appears on the\n"
-"right to let you know the purpose of the package.\n"
-"\n"
-"!! If a server package has been selected, either because you specifically\n"
-"chose the individual package or because it was part of a group of packages,\n"
-"you will be asked to confirm that you really want those servers to be\n"
-"installed. By default Mandrake Linux will automatically start any installed\n"
-"services at boot time. Even if they are safe and have no known issues at\n"
-"the time the distribution was shipped, it is entirely possible that that\n"
-"security holes were discovered after this version of Mandrake Linux was\n"
-"finalized. If you do not know what a particular service is supposed to do\n"
-"or why it is being installed, then click \"%s\". Clicking \"%s\" will\n"
-"install the listed services and they will be started automatically by\n"
-"default during boot. !!\n"
-"\n"
-"The \"%s\" option is used to disable the warning dialog which appears\n"
-"whenever the installer automatically selects a package to resolve a\n"
-"dependency issue. Some packages have relationships between each other such\n"
-"that installation of a package requires that some other program is also\n"
-"rerquired to be installed. The installer can determine which packages are\n"
-"required to satisfy a dependency to successfully complete the installation.\n"
-"\n"
-"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
-"package list created during a previous installation. This is useful if you\n"
-"have a number of machines that you wish to configure identically. Clicking\n"
-"on this icon will ask you to insert a floppy disk previously created at the\n"
-"end of another installation. See the second tip of last step on how to\n"
-"create such a floppy."
+"Your modem isn't supported by the system.\n"
+"Take a look at http://www.linmodems.org"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../network/modem.pm_.c:97
#, c-format
-msgid "Choose your filesystem encryption key"
+msgid ""
+"\"%s\" based winmodem detected, do you want to install needed software ?"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Sierra Leone"
-msgstr "С'ера Ліонэ"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Botswana"
-msgstr "Эстонскi"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Andorra"
-msgstr "Адкат"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Do nothing"
+msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "(default value: %s)"
-msgstr " ? (змоўчанне %s) "
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Install rpm"
+msgstr "븢"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
-msgstr ""
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Title"
+msgstr "i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (Letter)"
+#: ../../network/netconnect.pm_.c:29
+msgid ""
+"\n"
+"You can disconnect or reconfigure your connection."
msgstr ""
+"\n"
+" ."
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../network/netconnect.pm_.c:29 ../../network/netconnect.pm_.c:32
+#, fuzzy
msgid ""
-"DHCP Server Configuration.\n"
-"\n"
-"Here you can select different options for the DHCP server configuration.\n"
-"If you don't know the meaning of an option, simply leave it as it is.\n"
"\n"
+"You can reconfigure your connection."
msgstr ""
+"\n"
+" ."
-#: ../../Xconfig/card.pm:1
-#, fuzzy, c-format
-msgid "Choose an X server"
-msgstr "Абярыце X сервер"
+#: ../../network/netconnect.pm_.c:29
+#, fuzzy
+msgid "You are currently connected to internet."
+msgstr " I?"
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "Copying to memory to allow removing the CDROM"
+#: ../../network/netconnect.pm_.c:32
+#, fuzzy
+msgid ""
+"\n"
+"You can connect to Internet or reconfigure your connection."
msgstr ""
+"\n"
+" ."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Swap partition size in MB: "
-msgstr "Памер swap раздзелу ў Mб:"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "No changes to backup!"
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Formatted\n"
-msgstr "Фарматаванне\n"
+#: ../../network/netconnect.pm_.c:32
+#, fuzzy
+msgid "You are not currently connected to Internet."
+msgstr " I?"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Type of install"
-msgstr "Выбар пакетаў для усталявання"
+#: ../../network/netconnect.pm_.c:36
+#, fuzzy
+msgid "Connect"
+msgstr "I "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer \"%s\" on SMB/Windows server \"%s\""
-msgstr "SMB/Windows 95/98/NT"
+#: ../../network/netconnect.pm_.c:37
+#, fuzzy
+msgid "Disconnect"
+msgstr " ISDN"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated numbers"
-msgstr ""
+#: ../../network/netconnect.pm_.c:38
+#, fuzzy
+msgid "Configure the connection"
+msgstr " i"
-#: ../../services.pm:1
-#, c-format
-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 працуе на машынах ў сетцы."
+#: ../../network/netconnect.pm_.c:41
+msgid "Internet connection & configuration"
+msgstr "I i i"
-#: ../../standalone/drakautoinst:1
+#: ../../network/netconnect.pm_.c:94
#, fuzzy, c-format
-msgid "Automatic Steps Configuration"
-msgstr "Настройка мадэму"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Barbados"
-msgstr "Барбадос"
-
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid ""
-"Want to know more and to contribute to the Open Source community? Get "
-"involved in the Free Software world!"
+msgid "We are now going to configure the %s connection."
msgstr ""
+"\n"
+" ."
-#: ../../standalone/drakbackup:1
+#: ../../network/netconnect.pm_.c:103
#, fuzzy, c-format
-msgid "Please select data to backup..."
-msgstr "Калi ласка, абярыце мову для карыстання."
-
-#: ../../standalone/net_monitor:1
-#, c-format
msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
+"\n"
+"\n"
+"\n"
+"We are now going to configure the %s connection.\n"
+"\n"
+"\n"
+"Press OK to continue."
msgstr ""
+"\n"
+" ."
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received"
-msgstr ""
+#: ../../network/netconnect.pm_.c:132 ../../network/netconnect.pm_.c:272
+#: ../../network/netconnect.pm_.c:292 ../../network/tools.pm_.c:77
+msgid "Network Configuration"
+msgstr "i i"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable su only from the wheel group members or for any user"
+#: ../../network/netconnect.pm_.c:133
+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 ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_New"
+#: ../../network/netconnect.pm_.c:157
+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 ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "The DNS Server IP"
-msgstr "IP сервера SMB"
+#: ../../network/netconnect.pm_.c:163
+#, fuzzy
+msgid "Choose the profile to configure"
+msgstr " i:"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range End:"
+#: ../../network/netconnect.pm_.c:164
+msgid "Use auto detection"
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "High"
-msgstr "Высокi"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Add a new printer to the system"
-msgstr "Дадаць карыстальніка ў сыстэму"
-
-#: ../../any.pm:1
-#, c-format
-msgid "NoVideo"
-msgstr ""
+#: ../../network/netconnect.pm_.c:165 ../../printer/printerdrake.pm_.c:2966
+#: ../../standalone/drakconnect_.c:271 ../../standalone/drakconnect_.c:274
+#: ../../standalone/drakfloppy_.c:118
+#, fuzzy
+msgid "Expert Mode"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "this field describes the device"
-msgstr ""
+#: ../../network/netconnect.pm_.c:171 ../../printer/printerdrake.pm_.c:364
+msgid "Detecting devices..."
+msgstr " ..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
+#: ../../network/netconnect.pm_.c:214
+msgid "Normal modem connection"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Local Printers"
-msgstr "Лакальны прынтэр"
-
-#: ../../standalone/drakpxe:1
+#: ../../network/netconnect.pm_.c:214
#, fuzzy, c-format
-msgid "Installation image directory"
-msgstr "Заканчэнне настройкi"
+msgid "detected on port %s"
+msgstr " i %s"
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Server"
-msgstr "NIS сервер:"
+#: ../../network/netconnect.pm_.c:215
+#, fuzzy
+msgid "Winmodem connection"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Port: %s"
-msgstr "Порт"
+#: ../../network/netconnect.pm_.c:215 ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "detected"
+msgstr " "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Spain"
-msgstr "Iспанскi"
+#: ../../network/netconnect.pm_.c:216
+#, fuzzy
+msgid "ISDN connection"
+msgstr " ISDN"
-#: ../../standalone/drakTermServ:1
+#: ../../network/netconnect.pm_.c:216
#, c-format
-msgid "local config: %s"
+msgid "detected %s"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "This user name has already been added"
-msgstr "Гэта iмя карыстальнiку ўжо дададзена"
-
-#: ../../interactive.pm:1
-#, fuzzy, c-format
-msgid "Choose a file"
-msgstr "Абярыце дзеянне"
+#: ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "ADSL connection"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Apply"
-msgstr "Применить"
+#: ../../network/netconnect.pm_.c:218
+#, fuzzy
+msgid "Cable connection"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Auto-detect available ports"
-msgstr "Аддалены прынтэр"
+#: ../../network/netconnect.pm_.c:218
+#, fuzzy
+msgid "cable connection detected"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "San Marino"
-msgstr "Сан Марына"
+#: ../../network/netconnect.pm_.c:219
+#, fuzzy
+msgid "LAN connection"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently disabled"
-msgstr "Сумеснае Iнтэрнэт-злучэнне зараз забаронена"
+#: ../../network/netconnect.pm_.c:219
+msgid "ethernet card(s) detected"
+msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Belgium"
-msgstr "Бельгiйскi"
+#: ../../network/netconnect.pm_.c:222
+#, fuzzy
+msgid "Choose the connection you want to configure"
+msgstr " i, i "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Kuwait"
-msgstr "Выхад"
+#: ../../network/netconnect.pm_.c:246
+msgid ""
+"You have configured multiple ways to connect to the Internet.\n"
+"Choose the one you want to use.\n"
+"\n"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the window manager to run:"
-msgstr "Абярыце мэнэджар вокнаў:"
+#: ../../network/netconnect.pm_.c:247
+#, fuzzy
+msgid "Internet connection"
+msgstr " I-"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "December"
-msgstr "Сьнежань"
+#: ../../network/netconnect.pm_.c:253
+msgid "Do you want to start the connection at boot?"
+msgstr " , ?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "sub generation of the cpu"
-msgstr ""
+#: ../../network/netconnect.pm_.c:267
+#, fuzzy
+msgid "Network configuration"
+msgstr "i i"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "First Time Wizard"
+#: ../../network/netconnect.pm_.c:268
+msgid "The network needs to be restarted"
msgstr ""
-#: ../../lang.pm:1
+#: ../../network/netconnect.pm_.c:272
#, fuzzy, c-format
-msgid "Taiwan"
-msgstr "Размеркаванне"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Pakistan"
-msgstr "Пакістан"
+msgid ""
+"A problem occured while restarting the network: \n"
+"\n"
+"%s"
+msgstr "i i i?"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "please wait, parsing file: %s"
+#: ../../network/netconnect.pm_.c:282
+msgid ""
+"Congratulations, the network and Internet configuration is finished.\n"
+"The configuration will now be applied to your system.\n"
+"\n"
msgstr ""
-#: ../../install_steps.pm:1 ../../../move/move.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:286
msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
+"After this is done, we recommend that you restart your X environment to "
+"avoid any hostname-related problems."
msgstr ""
-"Узнiкла памылка, якую не атрымліваецца карэктна апрацаваць,\n"
-"таму працягвайце на сваю рызыку."
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Importance: "
-msgstr "Значнасць: %s\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:287
msgid ""
-"To be able to print with your Lexmark inkjet and this configuration, you "
-"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
-"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
-"\"Linux\" as operating system. The drivers come as RPM packages or shell "
-"scripts with interactive graphical installation. You do not need to do this "
-"configuration by the graphical frontends. Cancel directly after the license "
-"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
-"adjust the head alignment settings with this program."
+"Problems occured during configuration.\n"
+"Test your connection via net_monitor or mcc. If your connection doesn't "
+"work, you might want to relaunch the configuration."
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Permissions"
-msgstr "Версiя: %s\n"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider name (ex provider.net)"
-msgstr "Iмя правайдару, напрыклад правайдар.net"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
+#: ../../network/network.pm_.c:278
msgid ""
-"Your system is low on resources. You may have some problem installing\n"
-"Mandrake Linux. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
+"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 ""
-"У Вашай сiстэме маецца недахоп рэсурсаў, таму магчымы праблемы\n"
-"пры ўсталяваннi Mandrake Linux. У гэтым выпадку паспрабуйце тэкставую\n"
-"праграму ўсталявання. Для гэтага нацiснiце `F1' у час загрузкi, а потым\n"
-"набярыце `text' i нацiснiце <ENTER>."
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use the Windows partition for loopback"
-msgstr "Выкарыстоўваць раздзел Windows для вiртуальнай файлавай сiстэмы"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (typewriter)"
-msgstr "Армянскi (typewriter)"
-
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connection type: "
-msgstr "Iмя злучэння"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Graphical interface"
-msgstr "Запуск X пры старце сiстэмы"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Chad"
-msgstr "Чад"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "India"
-msgstr "Iранскi"
+#: ../../network/network.pm_.c:283
+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)."
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
+#: ../../network/network.pm_.c:293 ../../network/network.pm_.c:294
#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s з падтрымкай 3D-паскарэння"
+msgid "Configuring network device %s"
+msgstr " %s"
-#: ../../lang.pm:1
+#: ../../network/network.pm_.c:294
#, fuzzy, c-format
-msgid "Slovakia"
-msgstr "Славенскi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Singapore"
-msgstr "Сынгапур"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cambodia"
-msgstr "Камбоджа"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "Часціня гар.разг. манiтору: %s\n"
+msgid " (driver %s)"
+msgstr " XFree86: %s\n"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path"
-msgstr ""
+#: ../../network/network.pm_.c:296 ../../standalone/drakconnect_.c:228
+#: ../../standalone/drakconnect_.c:464
+msgid "IP address"
+msgstr "IP "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "NOT FOUND"
-msgstr ""
+#: ../../network/network.pm_.c:297 ../../standalone/drakconnect_.c:465
+#: ../../standalone/drakgw_.c:291
+msgid "Netmask"
+msgstr " i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here you can specify any arbitrary command line into which the job should be "
-"piped instead of being sent directly to a printer."
-msgstr ""
+#: ../../network/network.pm_.c:298
+msgid "(bootp/dhcp)"
+msgstr "(bootp/dhcp)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printing system (%s) will not be started automatically when the machine "
-"is booted.\n"
-"\n"
-"It is possible that the automatic starting was turned off by changing to a "
-"higher security level, because the printing system is a potential point for "
-"attacks.\n"
-"\n"
-"Do you want to have the automatic starting of the printing system turned on "
-"again?"
-msgstr ""
+#: ../../network/network.pm_.c:298
+msgid "Automatic IP"
+msgstr " IP"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"Printer %s\n"
-"What do you want to modify on this printer?"
-msgstr "Цi жадаеце пратэсцiраваць настройкi?"
+#: ../../network/network.pm_.c:299
+#, fuzzy
+msgid "Start at boot"
+msgstr " . "
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Add host"
-msgstr "Дадаць карыстальнiка"
+#: ../../network/network.pm_.c:320 ../../printer/printerdrake.pm_.c:812
+msgid "IP address should be in format 1.2.3.4"
+msgstr "IP i 1.2.3.4"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/network.pm_.c:326
msgid ""
-"If you really think that you know which driver is the right one for your "
-"card\n"
-"you can pick one in the above list.\n"
-"\n"
-"The current driver for your \"%s\" sound card is \"%s\" "
+"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
+"frequency), or add enough '0'."
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../network/network.pm_.c:330
msgid ""
-"Would you like to allow users to share some of their directories?\n"
-"Allowing this will permit users to simply click on \"Share\" in konqueror "
-"and nautilus.\n"
-"\n"
-"\"Custom\" permit a per-user granularity.\n"
+"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
+"enough '0'."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../network/network.pm_.c:350
msgid ""
-"Please choose load or save package selection on floppy.\n"
-"The format is the same as auto_install generated floppies."
+"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 ."
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "No CDROM support"
-msgstr ""
+#: ../../network/network.pm_.c:355
+msgid "DNS server"
+msgstr "DNS "
-#: ../../standalone/drakxtv:1
+#: ../../network/network.pm_.c:356
#, c-format
-msgid "China (broadcast)"
+msgid "Gateway (e.g. %s)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use quota for backup files."
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configuring printer \"%s\"..."
-msgstr "Настройка прынтэру"
+#: ../../network/network.pm_.c:358
+msgid "Gateway device"
+msgstr "-"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Do not allow execution of any binaries on the mounted\n"
-"file system. This option might be useful for a server that has file systems\n"
-"containing binaries for architectures other than its own."
-msgstr ""
+#: ../../network/network.pm_.c:363
+#, fuzzy
+msgid "DNS server address should be in format 1.2.3.4"
+msgstr "IP i 1.2.3.4"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Internet connection"
-msgstr "Сумеснае Iнтэрнэт-злучэнне"
+#: ../../network/network.pm_.c:367
+#, fuzzy
+msgid "Gateway address should be in format 1.2.3.4"
+msgstr "IP i 1.2.3.4"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
-msgstr ""
-"Загрузка модулю %s не прайшла.\n"
-"Жадаеце паспрабаваць з iншымi параметрамi?"
+#: ../../network/network.pm_.c:381
+msgid "Proxies configuration"
+msgstr " proxy "
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Welcome to the Open Source world."
-msgstr ""
+#: ../../network/network.pm_.c:382
+msgid "HTTP proxy"
+msgstr "HTTP proxy"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bosnia and Herzegovina"
-msgstr ""
+#: ../../network/network.pm_.c:383
+msgid "FTP proxy"
+msgstr "FTP proxy"
-#: ../../fsedit.pm:1
-#, fuzzy, c-format
-msgid ""
-"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
-"point\n"
+#: ../../network/network.pm_.c:384
+msgid "Track network card id (useful for laptops)"
msgstr ""
-"Вам неабходна задаць правiльны тып файлавай сiстэмы (ext2, reiserfs)\n"
-"для гэтай кропкi манцiравання\n"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "You must enter a host name or an IP address.\n"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Netherlands"
-msgstr "Нідэрлянды"
+#: ../../network/network.pm_.c:387
+msgid "Proxy should be http://..."
+msgstr "Proxy i http://..."
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Sending files by FTP"
-msgstr "Захаванне ў файл"
+#: ../../network/network.pm_.c:388
+#, fuzzy
+msgid "Url should begin with 'ftp:' or 'http:'"
+msgstr "Proxy i http://..."
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Internal ISDN card"
-msgstr "Унутраная ISDN карта"
+#: ../../network/shorewall.pm_.c:26
+msgid "Firewalling configuration detected!"
+msgstr " (firewall)!"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/shorewall.pm_.c:27
msgid ""
-"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
-"currently uses \"%s\""
+"Warning! An existing firewalling configuration has been detected. You may "
+"need some manual fix after installation."
msgstr ""
+"! i i (firewall). "
+" ."
-#: ../../network/modem.pm:1
-#, fuzzy, c-format
-msgid "Title"
-msgstr "Таблiца"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install & convert Fonts"
-msgstr ""
+#: ../../network/tools.pm_.c:57
+msgid "Internet configuration"
+msgstr " I"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WARNING"
-msgstr ""
+#: ../../network/tools.pm_.c:58
+msgid "Do you want to try to connect to the Internet now?"
+msgstr "i I?"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Installing bootloader"
-msgstr "Усталяванне загрузчыку"
+#: ../../network/tools.pm_.c:61 ../../standalone/drakconnect_.c:193
+#, fuzzy
+msgid "Testing your connection..."
+msgstr "i ISDN ?"
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "replay"
-msgstr "Перазагрузiць"
+#: ../../network/tools.pm_.c:70
+#, fuzzy
+msgid "The system is now connected to Internet."
+msgstr " I?"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected %s"
+#: ../../network/tools.pm_.c:71
+msgid "For security reason, it will be disconnected now."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/tools.pm_.c:72
+#, fuzzy
msgid ""
-"Expect is an extension to the Tcl scripting language that allows interactive "
-"sessions without user intervention."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (U.S.)"
+"The system doesn't seem to be connected to internet.\n"
+"Try to reconfigure your connection."
msgstr ""
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Bad backup file"
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../standalone/drakgw:1
-#, c-format
-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 ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter IP address and port of the host whose printers you want to use."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Pipe into command"
-msgstr ""
+" ."
-#: ../../install_interactive.pm:1
-#, 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"
+#: ../../network/tools.pm_.c:96
+msgid "Connection Configuration"
+msgstr " I"
-#: ../../lang.pm:1
-#, c-format
-msgid "Haiti"
-msgstr "Гаіці"
+#: ../../network/tools.pm_.c:97
+msgid "Please fill or check the field below"
+msgstr "i , i i i"
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detecting devices..."
-msgstr "Вызначэнне прыладаў..."
+#: ../../network/tools.pm_.c:99 ../../standalone/drakconnect_.c:605
+msgid "Card IRQ"
+msgstr "IRQ "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Custom allows you to specify your own day and time. The other options use "
-"run-parts in /etc/crontab."
-msgstr ""
+#: ../../network/tools.pm_.c:100 ../../standalone/drakconnect_.c:606
+msgid "Card mem (DMA)"
+msgstr " (DMA)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Description of the fields:\n"
-"\n"
-msgstr ""
+#: ../../network/tools.pm_.c:101 ../../standalone/drakconnect_.c:607
+msgid "Card IO"
+msgstr "IO "
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Basic options"
-msgstr "Опцыi"
+#: ../../network/tools.pm_.c:102 ../../standalone/drakconnect_.c:608
+msgid "Card IO_0"
+msgstr "IO_0 "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the name of the CPU"
-msgstr ""
+#: ../../network/tools.pm_.c:103 ../../standalone/drakconnect_.c:609
+msgid "Card IO_1"
+msgstr "IO_1 "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept bogus IPv4 error messages"
-msgstr ""
+#: ../../network/tools.pm_.c:104 ../../standalone/drakconnect_.c:610
+msgid "Your personal phone number"
+msgstr " i "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Refreshing printer data..."
-msgstr "Чытаю базу дадзеных драйвероў CUPS"
+#: ../../network/tools.pm_.c:105 ../../standalone/drakconnect_.c:611
+msgid "Provider name (ex provider.net)"
+msgstr "I , .net"
-#: ../../install2.pm:1
-#, c-format
-msgid "You must also format %s"
-msgstr ""
+#: ../../network/tools.pm_.c:106 ../../standalone/drakconnect_.c:612
+msgid "Provider phone number"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Be careful: this operation is dangerous."
-msgstr "Будзьце уважлiвы. Гэтую аперацыю нельга адмянiць"
+#: ../../network/tools.pm_.c:107 ../../standalone/drakconnect_.c:613
+#, fuzzy
+msgid "Provider dns 1 (optional)"
+msgstr "DNS 1 "
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Insert a floppy containing package selection"
-msgstr "Устаўце дыскету ў дыскавод %s"
+#: ../../network/tools.pm_.c:108 ../../standalone/drakconnect_.c:614
+#, fuzzy
+msgid "Provider dns 2 (optional)"
+msgstr "DNS 2 "
-#: ../../diskdrake/dav.pm:1
-#, fuzzy, c-format
-msgid "Server: "
-msgstr "сервер"
+#: ../../network/tools.pm_.c:109
+#, fuzzy
+msgid "Choose your country"
+msgstr " i"
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Security Alerts:"
-msgstr "Настройкi ўзроўня бяспекi"
+#: ../../network/tools.pm_.c:110 ../../standalone/drakconnect_.c:617
+msgid "Dialing mode"
+msgstr " "
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Sweden"
-msgstr "Гл."
+#: ../../network/tools.pm_.c:111 ../../standalone/drakconnect_.c:629
+#, fuzzy
+msgid "Connection speed"
+msgstr "I "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Expect for SSH"
-msgstr ""
+#: ../../network/tools.pm_.c:112 ../../standalone/drakconnect_.c:630
+#, fuzzy
+msgid "Connection timeout (in sec)"
+msgstr "I "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Poland"
-msgstr "Iсландскi"
+#: ../../network/tools.pm_.c:113 ../../standalone/drakconnect_.c:615
+msgid "Account Login (user name)"
+msgstr "I (i i)"
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Other ports"
-msgstr "Iншыя краiны"
+#: ../../network/tools.pm_.c:114 ../../standalone/drakconnect_.c:616
+#: ../../standalone/drakconnect_.c:647
+msgid "Account Password"
+msgstr " "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "number of capture buffers for mmap'ed capture"
+#: ../../network/tools.pm_.c:118 ../../network/tools.pm_.c:132
+msgid "United Kingdom"
msgstr ""
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid " - detected"
-msgstr "Аддалены прынтэр"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SMBus controllers"
-msgstr ""
+#: ../../partition_table.pm_.c:603
+msgid "mount failed: "
+msgstr " i: "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Connection timeout (in sec)"
-msgstr "Iмя злучэння"
+#: ../../partition_table.pm_.c:667
+msgid "Extended partition not supported on this platform"
+msgstr " i "
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../partition_table.pm_.c:685
msgid ""
-"Some of the early i486DX-100 chips cannot reliably return to operating mode "
-"after the \"halt\" instruction is used"
+"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) "
-#: ../../keyboard.pm:1
+#: ../../partition_table.pm_.c:774
#, c-format
-msgid "Croatian"
-msgstr "Харвацкi"
-
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Use existing partition"
-msgstr "Выкарыстоўваць iснуючы раздзел"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Unable to contact mirror %s"
-msgstr "Зрабiць неактыўным сеткавае злучэнне"
+msgid "Restoring from file %s failed: %s"
+msgstr " %s : %s"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Help/_About..."
-msgstr ""
+#: ../../partition_table.pm_.c:776
+msgid "Bad backup file"
+msgstr " ii"
-#: ../../standalone/drakbackup:1
+#: ../../partition_table.pm_.c:796
#, c-format
-msgid "Remove user directories before restore."
-msgstr ""
+msgid "Error writing to file %s"
+msgstr " i %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../partition_table/raw.pm_.c:192
msgid ""
-"You are going to configure a remote printer. This needs working network "
-"access, but your network is not configured yet. If you go on without network "
-"configuration, you will not be able to use the printer which you are "
-"configuring now. How do you want to proceed?"
+"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 ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "CUPS printer configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font in your mounted partitions"
-msgstr ""
+#: ../../pkgs.pm_.c:26
+msgid "must have"
+msgstr "i "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "F00f bug"
-msgstr ""
+#: ../../pkgs.pm_.c:27
+msgid "important"
+msgstr ""
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s"
-msgstr "Сервер XFree86 %s"
+#: ../../pkgs.pm_.c:28
+msgid "very nice"
+msgstr "i "
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Domain Name:"
-msgstr "Iмя дамену"
+#: ../../pkgs.pm_.c:29
+msgid "nice"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Root umask"
-msgstr "Пароль для root"
+#: ../../pkgs.pm_.c:30
+msgid "maybe"
+msgstr " "
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "On Floppy"
-msgstr "Захаванне на дыскету"
+#: ../../printer/data.pm_.c:18
+msgid "PDQ - Print, Don't Queue"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Reboot by the console user"
+#: ../../printer/data.pm_.c:19
+msgid "PDQ"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore"
-msgstr "Аднаўленне з файлу"
+#: ../../printer/data.pm_.c:30
+msgid "LPD - Line Printer Daemon"
+msgstr ""
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Server:"
-msgstr "сервер"
+#: ../../printer/data.pm_.c:31
+msgid "LPD"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check if the network devices are in promiscuous mode."
+#: ../../printer/data.pm_.c:51
+msgid "LPRng - LPR New Generation"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages..."
-msgstr "Прагляд даступных пакетаў"
+#: ../../printer/data.pm_.c:52
+msgid "LPRng"
+msgstr ""
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Please wait, setting up system configuration files on USB key..."
-msgstr "Настройкi ўзроўня бяспекi"
+#: ../../printer/data.pm_.c:75
+msgid "CUPS - Common Unix Printing System"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Init Message"
+#: ../../printer/data.pm_.c:76 ../../printer/main.pm_.c:677
+msgid "CUPS"
msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Rescue partition table"
-msgstr "Дадатковая таблiца раздзелаў"
+#: ../../printer/detect.pm_.c:80 ../../printer/detect.pm_.c:213
+#: ../../printer/detect.pm_.c:250
+msgid "Unknown Model"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cyprus"
-msgstr "Кіпар"
+#: ../../printer/main.pm_.c:26
+msgid "Local printer"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connection complete."
-msgstr "Iмя злучэння"
+#: ../../printer/main.pm_.c:27
+msgid "Remote printer"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from RAID"
-msgstr "Выдалiць з RAID"
+#: ../../printer/main.pm_.c:28
+#, fuzzy
+msgid "Printer on remote CUPS server"
+msgstr " CUPS"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "This encryption key is too simple (must be at least %d characters long)"
-msgstr ""
-"Гэты пароль занадта просты (яго даўжыня павiнна быць не меней за %d лiтараў)"
+#: ../../printer/main.pm_.c:29 ../../printer/printerdrake.pm_.c:835
+#, fuzzy
+msgid "Printer on remote lpd server"
+msgstr " lpd"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Configuration Wizards"
-msgstr "Канфiгурацыя сеткi"
+#: ../../printer/main.pm_.c:30
+msgid "Network printer (TCP/Socket)"
+msgstr " (TCP/Socket)"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "ISDN connection"
-msgstr "Настройка ISDN"
+#: ../../printer/main.pm_.c:31
+#, fuzzy
+msgid "Printer on SMB/Windows 95/98/NT server"
+msgstr "SMB/Windows 95/98/NT"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD-R / DVD-R"
-msgstr ""
+#: ../../printer/main.pm_.c:32
+#, fuzzy
+msgid "Printer on NetWare server"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "primary"
-msgstr ""
+#: ../../printer/main.pm_.c:33 ../../printer/printerdrake.pm_.c:839
+#, fuzzy
+msgid "Enter a printer device URI"
+msgstr "URI "
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on SMB/Windows server \"%s\", share \"%s\""
+#: ../../printer/main.pm_.c:34
+msgid "Pipe job into a command"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"This dialog is used to choose which services you wish to start at boot\n"
-"time.\n"
-"\n"
-"DrakX will list all the services available on the current installation.\n"
-"Review each one carefully and uncheck those which are not needed at boot\n"
-"time.\n"
-"\n"
-"A short explanatory text will be displayed about a service when it is\n"
-"selected. However, if you are not sure whether a service is useful or not,\n"
-"it is safer to leave the default behavior.\n"
-"\n"
-"!! At this stage, be very careful if you intend to use your machine as a\n"
-"server: you will probably not want to start any services that you do not\n"
-"need. Please remember that several services can be dangerous if they are\n"
-"enabled on a server. In general, select only the services you really need.\n"
-"!!"
+#: ../../printer/main.pm_.c:290 ../../printer/main.pm_.c:478
+#: ../../printer/main.pm_.c:794 ../../printer/printerdrake.pm_.c:3228
+msgid "Unknown model"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Niue"
-msgstr "гальштук"
+#: ../../printer/main.pm_.c:317
+#, fuzzy
+msgid "Local Printers"
+msgstr " "
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Skip"
-msgstr "Прапусцiць"
+#: ../../printer/main.pm_.c:319 ../../printer/main.pm_.c:678
+#, fuzzy
+msgid "Remote Printers"
+msgstr " "
-#: ../../services.pm:1
+#: ../../printer/main.pm_.c:326 ../../printer/printerdrake.pm_.c:381
#, c-format
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
+msgid " on parallel port \\/*%s"
msgstr ""
-"Актывiзаваць/дэактывiзаваць усе сеткавыя iнтэрфейсы, сканфiгураваныя для\n"
-"старту пры загрузцы сiстэмы."
-#: ../../standalone/harddrake2:1
+#: ../../printer/main.pm_.c:329 ../../printer/printerdrake.pm_.c:383
#, c-format
-msgid ""
-"the CPU frequency in MHz (Megahertz which in first approximation may be "
-"coarsely assimilated to number of instructions the cpu is able to execute "
-"per second)"
+msgid ", USB printer \\/*%s"
msgstr ""
-#: ../../pkgs.pm:1
+#: ../../printer/main.pm_.c:334
#, c-format
-msgid "important"
-msgstr "важна"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Mandrake Linux Printer Management Tool"
-msgstr "Дастасаваньне для кіраваньня карыстальнікамі Mandrake Linux"
+msgid ", multi-function device on parallel port \\/*%s"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total Progress"
+#: ../../printer/main.pm_.c:337
+msgid ", multi-function device on USB"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"DrakX will first detect any IDE devices present in your computer. It will\n"
-"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
-"found, DrakX will automatically install the appropriate driver.\n"
-"\n"
-"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
-"your hard drives. If so, you'll have to specify your hardware by hand.\n"
-"\n"
-"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
-"want to configure options for it. You should allow DrakX to probe the\n"
-"hardware for the card-specific options which are needed to initialize the\n"
-"adapter. Most of the time, DrakX will get through this step without any\n"
-"issues.\n"
-"\n"
-"If DrakX is not able to probe for the options to automatically determine\n"
-"which parameters need to be passed to the hardware, you'll need to manually\n"
-"configure the driver."
+#: ../../printer/main.pm_.c:339
+msgid ", multi-function device on HP JetDirect"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Aruba"
-msgstr "Grub"
+#: ../../printer/main.pm_.c:341
+msgid ", multi-function device"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/main.pm_.c:344
#, fuzzy, c-format
-msgid "Users"
-msgstr "Iмя карыстальнiку:"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing bootloader..."
-msgstr "Падрыхтоўка загрузчыка"
+msgid ", printing to %s"
+msgstr " i %s"
-#: ../../../move/move.pm:1
+#: ../../printer/main.pm_.c:346
#, c-format
-msgid "Enter your user information, password will be used for screensaver"
+msgid " on LPD server \"%s\", printer \"%s\""
msgstr ""
-#: ../../network/network.pm:1
+#: ../../printer/main.pm_.c:348
#, c-format
-msgid "Gateway (e.g. %s)"
+msgid ", TCP/IP host \"%s\", port %s"
msgstr ""
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
+#: ../../printer/main.pm_.c:352
#, c-format
-msgid "The passwords do not match"
-msgstr "Паролi не супадаюць"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Examples for correct IPs:\n"
+msgid " on SMB/Windows server \"%s\", share \"%s\""
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please choose the media for backup."
-msgstr "Калi ласка, абярыце мову для карыстання."
-
-#: ../../standalone/harddrake2:1
+#: ../../printer/main.pm_.c:356
#, c-format
-msgid "Frequency (MHz)"
+msgid " on Novell server \"%s\", printer \"%s\""
msgstr ""
-#: ../../install_any.pm:1
+#: ../../printer/main.pm_.c:358
#, c-format
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
+msgid ", using command %s"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the number of the processor"
+#: ../../printer/main.pm_.c:475 ../../printer/printerdrake.pm_.c:1603
+msgid "Raw printer (No driver)"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../printer/main.pm_.c:647
#, fuzzy, c-format
-msgid "Hardware clock set to GMT"
-msgstr "Ваш сiстэмны гадзiннiк усталяваны на GMT?"
-
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "Do you want to start a new configuration ?"
-msgstr "Цi жадаеце пратэсцiраваць настройкi?"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Give a file name"
-msgstr "Уласнае iмя"
+msgid "(on %s)"
+msgstr "( %s)"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Please choose the port that your printer is connected to."
-msgstr "Да якога паслядоўнага порту далучаны мадэм?"
+#: ../../printer/main.pm_.c:649
+msgid "(on this machine)"
+msgstr ""
-#: ../../standalone/livedrake:1
+#: ../../printer/main.pm_.c:674
#, fuzzy, c-format
-msgid "Change Cd-Rom"
-msgstr "Змянiць памеры экрану"
+msgid "On CUPS server \"%s\""
+msgstr "IP SMB"
-#: ../../lang.pm:1
-#, c-format
-msgid "Paraguay"
-msgstr "Парагвай"
+#: ../../printer/main.pm_.c:680 ../../printer/printerdrake.pm_.c:2888
+#: ../../printer/printerdrake.pm_.c:2899 ../../printer/printerdrake.pm_.c:3120
+#: ../../printer/printerdrake.pm_.c:3171 ../../printer/printerdrake.pm_.c:3197
+#: ../../printer/printerdrake.pm_.c:3352 ../../printer/printerdrake.pm_.c:3354
+msgid " (Default)"
+msgstr " ( )"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Configuration is complete, do you want to apply settings ?"
-msgstr "Якую канфiгурацыю XFree вы жадаеце атрымаць?"
+#: ../../printer/printerdrake.pm_.c:27
+msgid "Select Printer Connection"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental/Differential Backups (do not replace old backups)"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:28
+msgid "How is the printer connected?"
+msgstr " ?"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:30
+#, fuzzy
msgid ""
-" - Maintain /etc/dhcpd.conf:\n"
-" \tTo net boot clients, each client needs a dhcpd.conf entry, "
-"assigning an IP \n"
-" \taddress and net boot images to the machine. drakTermServ helps "
-"create/remove \n"
-" \tthese entries.\n"
-"\t\t\t\n"
-" \t(PCI cards may omit the image - etherboot will request the correct "
-"image. \n"
-"\t\t\tYou should also consider that when etherboot looks for the images, it "
-"expects \n"
-"\t\t\tnames like boot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
-"\t\t\t \n"
-" \tA typical dhcpd.conf stanza to support a diskless client looks "
-"like:"
+"\n"
+"Printers on remote CUPS servers you do not have to configure here; these "
+"printers will be automatically detected."
msgstr ""
+" CUPS \n"
+" , .\n"
+" , \" CUPS\"."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no known driver for your sound card (%s)"
+#: ../../printer/printerdrake.pm_.c:38
+msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "force"
-msgstr "Перанос"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Exit"
-msgstr "Ext2"
+#: ../../printer/printerdrake.pm_.c:81 ../../printer/printerdrake.pm_.c:2950
+#, fuzzy
+msgid "CUPS configuration"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"NOTE: Depending on the printer model and the printing system up to %d MB of "
-"additional software will be installed."
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:82 ../../printer/printerdrake.pm_.c:2951
+#, fuzzy
+msgid "Specify CUPS server"
+msgstr " CUPS"
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:83
msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
+"To get access to printers on remote CUPS servers in your local network you "
+"do not have to configure anything; the CUPS servers inform your machine "
+"automatically about their printers. All printers currently known to your "
+"machine are listed in the \"Remote printers\" section in the main window of "
+"Printerdrake. When your CUPS server is not in your local network, you have "
+"to enter the CUPS server IP address and optionally the port number to get "
+"the printer information from the server, otherwise leave these fields blank."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Estonian"
-msgstr "Эстонскi"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:84
msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+"\n"
+"Normally, CUPS is automatically configured according to your network "
+"environment, so that you can access the printers on the CUPS servers in your "
+"local network. If this does not work correctly, turn off \"Automatic CUPS "
+"configuration\" and edit your file /etc/cups/cupsd.conf manually. Do not "
+"forget to restart CUPS afterwards (command: \"service cups restart\")."
msgstr ""
-"Apache - гэта World Wide Web сервер. Ён выкарыстоўзваеца для абслугоўвання\n"
-"HTML файлаў i CGI."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Enter your CD Writer device name\n"
-" ex: 0,1,0"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:88
+#, fuzzy
+msgid "The IP address should look like 192.168.1.20"
+msgstr "IP i 1.2.3.4"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ALL"
+#: ../../printer/printerdrake.pm_.c:92 ../../printer/printerdrake.pm_.c:1041
+msgid "The port number should be an integer!"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Clients"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:99
+#, fuzzy
+msgid "CUPS server IP"
+msgstr "IP SMB"
-#: ../../network/ethernet.pm:1 ../../standalone/drakgw:1
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Choose the network interface"
-msgstr "Пазначце сеткавы iнтэрфейс"
+#: ../../printer/printerdrake.pm_.c:100 ../../printer/printerdrake.pm_.c:1061
+#: ../../standalone/harddrake2_.c:63
+msgid "Port"
+msgstr ""
-#: ../../printer/detect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Unknown Model"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:102
+#, fuzzy
+msgid "Automatic CUPS configuration"
+msgstr " "
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CD/DVD burners"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:159
+#, fuzzy
+msgid "Checking your system..."
+msgstr " i ?"
+
+#: ../../printer/printerdrake.pm_.c:159 ../../printer/printerdrake.pm_.c:226
+#: ../../printer/printerdrake.pm_.c:1477 ../../printer/printerdrake.pm_.c:1481
+#: ../../printer/printerdrake.pm_.c:1598 ../../printer/printerdrake.pm_.c:2133
+#: ../../printer/printerdrake.pm_.c:2284 ../../printer/printerdrake.pm_.c:2343
+#: ../../printer/printerdrake.pm_.c:2415 ../../printer/printerdrake.pm_.c:2436
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2630
+#: ../../printer/printerdrake.pm_.c:2636 ../../printer/printerdrake.pm_.c:2701
+#: ../../printer/printerdrake.pm_.c:2720 ../../printer/printerdrake.pm_.c:2731
+#: ../../printer/printerdrake.pm_.c:2764 ../../printer/printerdrake.pm_.c:2809
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:2911
+#: ../../printer/printerdrake.pm_.c:2989 ../../printer/printerdrake.pm_.c:3281
+#: ../../printer/printerdrake.pm_.c:3328 ../../printer/printerdrake.pm_.c:3369
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Printerdrake"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:167
msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-"Загрузачны раздзел па дамаўленню\n"
-" (для загрузкi MS-DOS, а не для lilo)\n"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to read the file"
+"There are no printers found which are directly connected to your machine"
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "choose image"
-msgstr "Абярыце дзеянне"
-
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid "Firewalling configuration detected!"
-msgstr "Знойдзена сістэма сеткавай бяспекі (firewall)!"
+#: ../../printer/printerdrake.pm_.c:179
+#, fuzzy
+msgid ""
+"The following printers\n"
+"\n"
+msgstr " "
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection name"
-msgstr "Iмя злучэння"
+#: ../../printer/printerdrake.pm_.c:180
+#, fuzzy
+msgid ""
+"The following printer\n"
+"\n"
+msgstr " "
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:182
msgid ""
-"x coordinate of text box\n"
-"in number of characters"
+"\n"
+"and one unknown printer are "
msgstr ""
-#: ../../fsedit.pm:1
+#: ../../printer/printerdrake.pm_.c:184
#, c-format
msgid ""
-"You may not be able to install lilo (since lilo doesn't handle a LV on "
-"multiple PVs)"
+"\n"
+"and %d unknown printers are "
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Updating package selection"
-msgstr "Асабiсты выбар пакетаў"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Where do you want to mount the loopback file %s?"
-msgstr "Куды вы жадаеце манцiраваць вiртуальную прыладу %s?"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:187
msgid ""
-"The floppy has been successfully generated.\n"
-"You may now replay your installation."
+"\n"
+"are "
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use CD-R/DVD-R to backup"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"is "
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "the number of buttons the mouse has"
-msgstr "2 кнопкi"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Replay"
-msgstr "Перазагрузiць"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup other files"
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../install_steps.pm:1
-#, c-format
-msgid "No floppy drive available"
-msgstr "Дыскавод недаступны"
+#: ../../printer/printerdrake.pm_.c:189
+#, fuzzy
+msgid "directly connected to your system"
+msgstr " i !"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files are corrupted"
+#: ../../printer/printerdrake.pm_.c:192
+msgid ""
+"\n"
+"There is one unknown printer directly connected to your system"
msgstr ""
-#: ../../standalone/drakxtv:1
+#: ../../printer/printerdrake.pm_.c:194
#, c-format
-msgid "TV norm:"
+msgid ""
+"\n"
+"There are %d unknown printers directly connected to your system"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid family"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:200
+#, fuzzy
+msgid " (Make sure that all your printers are connected and turned on).\n"
+msgstr " ?"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "32 MB"
-msgstr "32 Мб"
+#: ../../printer/printerdrake.pm_.c:214
+msgid ""
+"Do you want to enable printing on the printers mentioned above or on "
+"printers in the local network?\n"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "type: thin"
-msgstr "Тып: "
+#: ../../printer/printerdrake.pm_.c:215
+#, fuzzy
+msgid "Do you want to enable printing on printers in the local network?\n"
+msgstr " i ?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (new)"
-msgstr "Лiтоўскi AZERTY (новы)"
+#: ../../printer/printerdrake.pm_.c:217
+#, fuzzy
+msgid "Do you want to enable printing on the printers mentioned above?\n"
+msgstr " , ?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the arithmetic coprocessor has an exception vector attached"
+#: ../../printer/printerdrake.pm_.c:218
+msgid "Are you sure that you want to set up printing on this machine?\n"
msgstr ""
-#: ../../fsedit.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:219
+#, c-format
msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"Please be sure to add a /boot partition"
+"NOTE: Depending on the printer model and the printing system up to %d MB of "
+"additional software will be installed."
msgstr ""
-"Вы абралi RAID раздзел як каранёвы.\n"
-"Няма загрузчыку, якi б загрузiўся без /boot раздзела.\n"
-"Дадайце раздел /boot, калi ласка."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (MacOS...)"
-msgstr "Iншая АС (MacOS,...)"
-
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "To activate the mouse,"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing up the network"
-msgstr "Далучэнне да сеткi"
-#: ../../common.pm:1
-#, fuzzy, c-format
-msgid "Screenshots will be available after install in %s"
-msgstr "Вы можаце абраць іншыя мовы, якiя будуць даступны пасля ўсталявання"
+#: ../../printer/printerdrake.pm_.c:258 ../../printer/printerdrake.pm_.c:270
+#: ../../printer/printerdrake.pm_.c:328 ../../printer/printerdrake.pm_.c:2933
+#: ../../printer/printerdrake.pm_.c:3060
+#, fuzzy
+msgid "Add a new printer"
+msgstr "I i"
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:259
msgid ""
-"More than one Microsoft partition has been detected on your hard drive.\n"
-"Please choose which one you want to resize in order to install your new\n"
-"Mandrake Linux operating system.\n"
"\n"
-"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
-"\"Capacity\".\n"
-"\n"
-"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
-"hard drives:\n"
+"This wizard allows you to install local or remote printers to be used from "
+"this machine and also from other machines in the network.\n"
"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"It asks you for all necessary information to set up the printer and gives "
+"you access to all available printer drivers, driver options, and printer "
+"connection types."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:272
+msgid ""
"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer, connected directly to the network or to a remote Windows machine.\n"
"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) and you Windows machines must be connected and "
+"turned on.\n"
"\n"
-"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc.\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network and/or Windows-hosted printers when you don't need "
+"it.\n"
"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
-"disk or partition is called \"C:\")."
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-"На вашым дыску было знойдзена болей за адзін раздзел\n"
-"Windows. Калі ласка, абярыце той, памер якога жадаеце змяніць, "
-"кабусталяваць\n"
-"сістэму Mandrake Linux.\n"
+
+#: ../../printer/printerdrake.pm_.c:281 ../../printer/printerdrake.pm_.c:298
+msgid ""
"\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-"Для iфармацыі, кожны раздзел адзначаны як: \"Linux імя\", \"Windows\n"
-"імя\" \"Cвойствы\".\n"
-"\"Linux Імя\" кадавана так - \"тып дыску\", \"нумар дыску\",\"нумар "
-"раздзелу\n"
-"(напрыклад, \"hda1\").\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer.\n"
"\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected.\n"
"\n"
-"\"Тып дыску\" кадаваны як \"hd\", калі гэта IDE, і \"sd\" калі SCSI.\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:289
+msgid ""
"\n"
-"\"Нумар дыску\" - сімвал пасля \"hd\" ці \"sd\". Для IDE дыскаў:\n"
-" * \"а\" \"master\" на першасным канале IDE \n"
-" * \"b\" \"slave\" на першасным канале IDE\n"
-" * \"c\" \"master\" на другасным канале IDE\n"
-" * \"d\" \"slave\" на другасным канале IDE\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer or connected directly to the network.\n"
+"\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) must be connected and turned on.\n"
"\n"
-"Для SCSI дыскаў - \"a\" гэта \"першасны жорскі дыск\", \"b\" - \"другасны "
-"жорскі дыск\", і г.д.\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network printers when you don't need it.\n"
"\n"
-"\"Windows Імя\" сімвал вашага дыску ў Windows (першы дыск ці\n"
-"раздзел пазначаецца як \"C:\")."
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tanzania"
+#: ../../printer/printerdrake.pm_.c:307
+#, fuzzy
+msgid "Auto-detect printers connected to this machine"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:310
+msgid "Auto-detect printers connected directly to the local network"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Computing FAT filesystem bounds"
-msgstr "Падлік межаў файлавай сiстэмы FAT"
+#: ../../printer/printerdrake.pm_.c:313
+msgid "Auto-detect printers connected to machines running Microsoft Windows"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:329
msgid ""
"\n"
-"Backup Sources: \n"
+"Congratulations, your printer is now installed and configured!\n"
+"\n"
+"You can print using the \"Print\" command of your application (usually in "
+"the \"File\" menu).\n"
+"\n"
+"If you want to add, remove, or rename a printer, or if you want to change "
+"the default option settings (paper input tray, printout quality, ...), "
+"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
+"Center."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "custom"
-msgstr "Па выбару"
+#: ../../printer/printerdrake.pm_.c:364 ../../printer/printerdrake.pm_.c:538
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Printer auto-detection"
+msgstr " "
-#: ../../standalone/logdrake:1
+#: ../../printer/printerdrake.pm_.c:385
#, c-format
-msgid "Content of the file"
+msgid ", network printer \"%s\", port %s"
msgstr ""
-#: ../../any.pm:1
+#: ../../printer/printerdrake.pm_.c:387
#, fuzzy, c-format
-msgid "Authentication LDAP"
-msgstr "Аўтэнтыфiкацыя"
+msgid ", printer \"%s\" on SMB/Windows server \"%s\""
+msgstr "SMB/Windows 95/98/NT"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "in order to keep %s"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:391
+#, fuzzy, c-format
+msgid "Detected %s"
+msgstr " i %s"
-#: ../../harddrake/sound.pm:1
+#: ../../printer/printerdrake.pm_.c:395 ../../printer/printerdrake.pm_.c:423
+#: ../../printer/printerdrake.pm_.c:440
#, c-format
-msgid "Let me pick any driver"
+msgid "Printer on parallel port \\/*%s"
msgstr ""
-#: ../../standalone/net_monitor:1
+#: ../../printer/printerdrake.pm_.c:397 ../../printer/printerdrake.pm_.c:425
+#: ../../printer/printerdrake.pm_.c:443
#, c-format
-msgid "transmitted"
+msgid "USB printer \\/*%s"
msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:399
#, fuzzy, c-format
-msgid "Palestine"
-msgstr "Асабiсты выбар пакетаў"
+msgid "Network printer \"%s\", port %s"
+msgstr " (TCP/Socket)"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
+#: ../../printer/printerdrake.pm_.c:401
+#, fuzzy, c-format
+msgid "Printer \"%s\" on SMB/Windows server \"%s\""
+msgstr "SMB/Windows 95/98/NT"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated strings"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:525 ../../printer/printerdrake.pm_.c:547
+#, fuzzy
+msgid "Local Printer"
+msgstr " "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " isdn"
+#: ../../printer/printerdrake.pm_.c:526
+msgid ""
+"No local printer found! To manually install a printer enter a device name/"
+"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
+"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
+"printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Here is the full list of keyboards available"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:530
+#, fuzzy
+msgid "You must enter a device or file name!"
+msgstr "URI "
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Theme name"
-msgstr "Iмя для размеркаванага рэсурсу"
+#: ../../printer/printerdrake.pm_.c:539
+#, fuzzy
+msgid "No printer found!"
+msgstr " "
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Help"
-msgstr "/_Дапамога"
+#: ../../printer/printerdrake.pm_.c:548
+#, fuzzy
+msgid "Available printers"
+msgstr " "
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Choosing an arbitrary driver"
+#: ../../printer/printerdrake.pm_.c:552
+msgid ""
+"The following printer was auto-detected, if it is not the one you want to "
+"configure, enter a device name/file name in the input line"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cook Islands"
-msgstr "Выспы Кука"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:553
msgid ""
-"Here you can choose whether the scanners connected to this machine should be "
-"accessable by remote machines and by which remote machines."
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up or enter a device name/file name in the input line"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the width of the progress bar"
+#: ../../printer/printerdrake.pm_.c:555
+msgid ""
+"The following printer was auto-detected. The configuration of the printer "
+"will work fully automatically. If your printer was not correctly detected or "
+"if you prefer a customized printer configuration, turn on \"Manual "
+"configuration\"."
msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "Formatting partition %s"
-msgstr "Фарматаванне раздзелу %s"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Hostname required"
-msgstr "Iмя машыны"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselect fonts installed"
+#: ../../printer/printerdrake.pm_.c:556
+msgid ""
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up. The configuration of the printer will work fully "
+"automatically. If your printer was not correctly detected or if you prefer a "
+"customized printer configuration, turn on \"Manual configuration\"."
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Wheel"
-msgstr "З колам"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Submit kernel version"
-msgstr "Настройка злучэння з Iнтэрнэтам"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakautoinst:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/logdrake:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Cancel"
-msgstr "Адмена"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Searching for configured scanners ..."
-msgstr "Даступныя пакеты"
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Videocard"
-msgstr "Вiдэа-рэжым"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and bzip2\n"
+#: ../../printer/printerdrake.pm_.c:558
+msgid ""
+"Please choose the port where your printer is connected to or enter a device "
+"name/file name in the input line"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Remove Selected"
-msgstr "Выдалiць чаргу друку"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/Autodetect _modems"
-msgstr "Аддалены прынтэр"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remove printer"
-msgstr "Аддалены прынтэр"
+#: ../../printer/printerdrake.pm_.c:559
+#, fuzzy
+msgid "Please choose the port where your printer is connected to."
+msgstr " ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Last Log"
+#: ../../printer/printerdrake.pm_.c:561
+msgid ""
+" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
+"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Which services would you like to allow the Internet to connect to?"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:565
+#, fuzzy
+msgid "You must choose/enter a printer/device!"
+msgstr "URI "
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Connection Type"
-msgstr "Iмя злучэння"
+#: ../../printer/printerdrake.pm_.c:584
+#, fuzzy
+msgid "Manual configuration"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:633
+msgid "Remote lpd Printer Options"
+msgstr "i lpd"
+
+#: ../../printer/printerdrake.pm_.c:634
+#, fuzzy
msgid ""
-"Welcome to the mail configuration utility.\n"
-"\n"
-"Here, you'll be able to set up the alert system.\n"
+"To use a remote lpd printer, you need to supply the hostname of the printer "
+"server and the printer name on that server."
msgstr ""
+" i i \n"
+" i i i i ,\n"
+" i."
-#: ../../install_steps_gtk.pm:1 ../../mouse.pm:1 ../../services.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Other"
-msgstr "Іншыя"
+#: ../../printer/printerdrake.pm_.c:635
+#, fuzzy
+msgid "Remote host name"
+msgstr " "
-#: ../../any.pm:1 ../../harddrake/v4l.pm:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Default"
-msgstr "Па дамаўленню"
+#: ../../printer/printerdrake.pm_.c:636
+#, fuzzy
+msgid "Remote printer name"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 2 Emulation"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:639
+#, fuzzy
+msgid "Remote host name missing!"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:643
+#, fuzzy
+msgid "Remote printer name missing!"
+msgstr " "
-#: ../../standalone/drakbug:1
+#: ../../printer/printerdrake.pm_.c:665 ../../printer/printerdrake.pm_.c:1170
#, fuzzy, c-format
-msgid "Please enter a package name."
-msgstr "Калi ласка, увядзiце iмя карыстальнiку"
+msgid "Detected model: %s %s"
+msgstr " i %s"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run chkrootkit checks"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Scanning network..."
+msgstr "i ISDN ?"
-#: ../../standalone/drakfont:1
+#: ../../printer/printerdrake.pm_.c:751 ../../printer/printerdrake.pm_.c:772
#, c-format
-msgid "type1inst building"
+msgid ", printer \"%s\" on server \"%s\""
msgstr ""
-#: ../../standalone/drakfont:1
+#: ../../printer/printerdrake.pm_.c:754 ../../printer/printerdrake.pm_.c:775
#, fuzzy, c-format
-msgid "Abiword"
-msgstr "Адмянiць"
+msgid "Printer \"%s\" on server \"%s\""
+msgstr " i"
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "choose image file"
-msgstr "Абярыце дзеянне"
+#: ../../printer/printerdrake.pm_.c:795
+msgid "SMB (Windows 9x/NT) Printer Options"
+msgstr "i SMB (Windows 9x/NT)"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "X server"
-msgstr "X сервер"
+#: ../../printer/printerdrake.pm_.c:796
+#, fuzzy
+msgid ""
+"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."
+msgstr ""
+" SMB i SMB ( "
+" i TCP/IP) i IP , i "
+", i , i i, i "
+"i ."
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Domain Admin User Name"
-msgstr "Iмя дамену"
+#: ../../printer/printerdrake.pm_.c:797
+msgid ""
+" If the desired printer was auto-detected, simply choose it from the list "
+"and then add user name, password, and/or workgroup if needed."
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "There was an error while scanning for TV channels"
-msgstr "Атрымалася памылка ўпарадкавання пакетаў:"
+#: ../../printer/printerdrake.pm_.c:799
+msgid "SMB server host"
+msgstr "I SMB"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard (international)"
-msgstr "US клавiятура (мiжнародная)"
+#: ../../printer/printerdrake.pm_.c:800
+msgid "SMB server IP"
+msgstr "IP SMB"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Not installed"
-msgstr "Заканчэнне ўсталявання"
+#: ../../printer/printerdrake.pm_.c:801
+msgid "Share name"
+msgstr "I "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Alt keys simultaneously"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:804
+msgid "Workgroup"
+msgstr " "
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "LAN connection"
-msgstr "Размеркаванне"
+#: ../../printer/printerdrake.pm_.c:806
+#, fuzzy
+msgid "Auto-detected"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/-"
+#: ../../printer/printerdrake.pm_.c:816
+msgid "Either the server name or the server's IP must be given!"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Italian"
-msgstr "Iтальянскi"
-
-#: ../../interactive.pm:1
-#, c-format
-msgid "Basic"
-msgstr "Простые"
-
-#: ../../install_messages.pm:1
-#, c-format
-msgid "http://www.mandrakelinux.com/en/92errata.php3"
+#: ../../printer/printerdrake.pm_.c:820
+msgid "Samba share name missing!"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Honduras"
-msgstr "Гандурас"
-
-#: ../../help.pm:1
-#, c-format
-msgid "pdq"
+#: ../../printer/printerdrake.pm_.c:826
+msgid "SECURITY WARNING!"
msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO"
-msgstr "IO карты"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Samba server"
-msgstr "NIS сервер:"
-
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:827
#, c-format
msgid ""
+"You are about to set up printing to a Windows account with password. Due to "
+"a fault in the architecture of the Samba client software the password is put "
+"in clear text into the command line of the Samba client used to transmit the "
+"print job to the Windows server. So it is possible for every user on this "
+"machine to display the password on the screen by issuing commands as \"ps "
+"auxwww\".\n"
+"\n"
+"We recommend to make use of one of the following alternatives (in all cases "
+"you have to make sure that only machines from your local network have access "
+"to your Windows server, for example by means of a firewall):\n"
+"\n"
+"Use a password-less account on your Windows server, as the \"GUEST\" account "
+"or a special account dedicated for printing. Do not remove the password "
+"protection from a personal account or the administrator account.\n"
+"\n"
+"Set up your Windows server to make the printer available under the LPD "
+"protocol. Then set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
msgstr ""
-#: ../../standalone/drakautoinst:1
+#: ../../printer/printerdrake.pm_.c:837
#, c-format
msgid ""
-"Please choose for each step whether it will replay like your install, or it "
-"will be manual"
+"Set up your Windows server to make the printer available under the IPP "
+"protocol and set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:840
msgid ""
-"You can also decide here whether scanners on remote machines should be made "
-"available on this machine."
+"Connect your printer to a Linux server and let your Windows machine(s) "
+"connect to it as a client.\n"
+"\n"
+"Do you really want to continue setting up this printer as you are doing now?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by FTP.\n"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:911
+msgid "NetWare Printer Options"
+msgstr "i NetWare"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Reports check result to tty"
+#: ../../printer/printerdrake.pm_.c:912
+#, fuzzy
+msgid ""
+"To print on 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."
msgstr ""
+" NetWare i NetWare "
+"( i TCP/IP) i i i , "
+" , i i i ."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "You must enter a device or file name!"
-msgstr "URI прынтэру"
+#: ../../printer/printerdrake.pm_.c:913
+msgid "Printer Server"
+msgstr " "
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/_Quit"
-msgstr "Выхад"
+#: ../../printer/printerdrake.pm_.c:914
+msgid "Print Queue Name"
+msgstr "I i "
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics memory: %s kB\n"
-msgstr "Вiдэапамяць: %s Кб\n"
+#: ../../printer/printerdrake.pm_.c:919
+msgid "NCP server name missing!"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+#: ../../printer/printerdrake.pm_.c:923
+msgid "NCP queue name missing!"
msgstr ""
-#: ../../any.pm:1
+#: ../../printer/printerdrake.pm_.c:987 ../../printer/printerdrake.pm_.c:1007
#, c-format
-msgid "access to compilation tools"
+msgid ", host \"%s\", port %s"
msgstr ""
-#: ../../standalone/net_monitor:1
+#: ../../printer/printerdrake.pm_.c:990 ../../printer/printerdrake.pm_.c:1010
#, c-format
-msgid "Global statistics"
+msgid "Host \"%s\", port %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please select data to restore..."
-msgstr "Калi ласка, абярыце мову для карыстання."
+#: ../../printer/printerdrake.pm_.c:1030
+#, fuzzy
+msgid "TCP/Socket Printer Options"
+msgstr "i "
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1032
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"
+"Choose one of the auto-detected printers from the list or enter the hostname "
+"or IP and the optional port number (default is 9100) into the input fields."
msgstr ""
-"Калi вы плануеце выкарыстоўваць boot вобласць, тады размясцiце яе\n"
-" не далей за 2048 сектароў ад пачатку дыска"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Standard test page"
-msgstr "Стандартны"
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Time Zone"
-msgstr "Iмя для размеркаванага рэсурсу"
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create"
-msgstr "Стварыць"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "What"
-msgstr "Чакайце"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error ordering packages:"
-msgstr "Атрымалася памылка ўпарадкавання пакетаў:"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Bulgarian (BDS)"
-msgstr "Балгарскi"
+#: ../../printer/printerdrake.pm_.c:1033
+#, fuzzy
+msgid ""
+"To print to a TCP or socket printer, you need to provide the host name or IP "
+"of the printer and optionally the port number (default is 9100). On HP "
+"JetDirect servers the port number is usually 9100, on other servers it can "
+"vary. See the manual of your hardware."
+msgstr ""
+" i, \n"
+"i i ."
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Disable Server"
-msgstr "Сервер друку"
+#: ../../printer/printerdrake.pm_.c:1037
+#, fuzzy
+msgid "Printer host name or IP missing!"
+msgstr "I "
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Filesystem encryption key"
-msgstr "Тып файлавай сiстэмы:"
+#: ../../printer/printerdrake.pm_.c:1059
+#, fuzzy
+msgid "Printer host name or IP"
+msgstr "I "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gujarati"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1107 ../../printer/printerdrake.pm_.c:1109
+msgid "Printer Device URI"
+msgstr "URI "
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1108
msgid ""
-" While you can use a pool of IP addresses, rather than setup a "
-"specific entry for\n"
-" a client machine, using a fixed address scheme facilitates using the "
-"functionality\n"
-" of client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-" Note: The '#type' entry is only used by drakTermServ. Clients can "
-"either be 'thin'\n"
-" or 'fat'. Thin clients run most software on the server via xdmcp, "
-"while fat clients run \n"
-" most software on the client machine. A special inittab, %s is\n"
-" written for thin clients. System config files xdm-config, kdmrc, and "
-"gdm.conf are \n"
-" modified if thin clients are used, to enable xdmcp. Since there are "
-"security issues in \n"
-" using xdmcp, hosts.deny and hosts.allow are modified to limit access "
-"to the local\n"
-" subnet.\n"
-"\t\t\t\n"
-" Note: The '#hdw_config' entry is also only used by drakTermServ. "
-"Clients can either \n"
-" be 'true' or 'false'. 'true' enables root login at the client "
-"machine and allows local \n"
-" hardware configuration of sound, mouse, and X, using the 'drak' "
-"tools. This is enabled \n"
-" by creating separate config files associated with the client's IP "
-"address and creating \n"
-" read/write mount points to allow the client to alter the file. Once "
-"you are satisfied \n"
-" with the configuration, you can remove root login privileges from "
-"the client.\n"
-"\t\t\t\n"
-" Note: You must stop/start the server after adding or changing "
-"clients."
+"You can specify directly the URI to access the printer. The URI must fulfill "
+"either the CUPS or the Foomatic specifications. Note that not all URI types "
+"are supported by all the spoolers."
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid ""
-"Please choose the first number of the 10-range you wish to edit,\n"
-"or just hit Enter to proceed.\n"
-"Your choice? "
+#: ../../printer/printerdrake.pm_.c:1123
+msgid "A valid URI must be entered!"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1463
msgid ""
-"\n"
-" Copyright (C) 2002 by MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
-"\n"
+"Every printer needs a name (for example \"printer\"). The Description and "
+"Location fields do not need to be filled in. They are comments for the users."
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Save theme"
-msgstr "Усталяванне сiстэмы"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Brazil"
-msgstr "Бразылія"
+#: ../../printer/printerdrake.pm_.c:1464
+msgid "Name of printer"
+msgstr "I i"
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Auto Install"
-msgstr "Усталёўка"
+#: ../../printer/printerdrake.pm_.c:1465 ../../standalone/harddrake2_.c:38
+msgid "Description"
+msgstr "i"
-#: ../../network/isdn.pm:1 ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Network Configuration Wizard"
-msgstr "Канфiгурацыя сеткi"
+#: ../../printer/printerdrake.pm_.c:1466
+msgid "Location"
+msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Removable media automounting"
-msgstr "Аўтаманцiраванне зменных назапашвальнікаў"
+#: ../../printer/printerdrake.pm_.c:1478 ../../printer/printerdrake.pm_.c:1599
+#, fuzzy
+msgid "Reading printer database..."
+msgstr " CUPS"
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Printing"
-msgstr "Прынтэр"
+#: ../../printer/printerdrake.pm_.c:1482
+#, fuzzy
+msgid "Preparing printer database..."
+msgstr " CUPS"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Enter the directory to save:"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
+#: ../../printer/printerdrake.pm_.c:1578
+#, fuzzy
+msgid "Your printer model"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:1579
#, c-format
msgid ""
-"There are no printers found which are directly connected to your machine"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create a new partition"
-msgstr "Стварэнне новага раздзелу"
-
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
-msgid "Driver:"
-msgstr "сервер"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "unknown"
+"Printerdrake has compared the model name resulting from the printer auto-"
+"detection with the models listed in its printer database to find the best "
+"match. This choice can be wrong, especially when your printer is not listed "
+"at all in the database. So check whether the choice is correct and click "
+"\"The model is correct\" if so and if not, click \"Select model manually\" "
+"so that you can choose your printer model manually on the next screen.\n"
+"\n"
+"For your printer Printerdrake has found:\n"
+"\n"
+"%s"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use fdisk"
-msgstr "Выкарыстоўваць fdisk"
+#: ../../printer/printerdrake.pm_.c:1584 ../../printer/printerdrake.pm_.c:1587
+#, fuzzy
+msgid "The model is correct"
+msgstr " ?"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MOVE YOUR WHEEL!"
-msgstr "Рушце колам мышы!"
+#: ../../printer/printerdrake.pm_.c:1585 ../../printer/printerdrake.pm_.c:1586
+#: ../../printer/printerdrake.pm_.c:1589
+#, fuzzy
+msgid "Select model manually"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "sent: "
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1606
+#, fuzzy
+msgid "Printer model selection"
+msgstr " "
-#: ../../network/network.pm:1
-#, c-format
-msgid "Automatic IP"
-msgstr "Аўтаматычны IP"
+#: ../../printer/printerdrake.pm_.c:1607
+#, fuzzy
+msgid "Which printer model do you have?"
+msgstr "i i ?"
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1608
msgid ""
-"There you are. Installation is now complete and your GNU/Linux system is\n"
-"ready to use. Just click \"%s\" to reboot the system. The first thing you\n"
-"should see after your computer has finished doing its hardware tests is the\n"
-"bootloader menu, giving you the choice of which operating system to start.\n"
-"\n"
-"The \"%s\" button shows two more buttons to:\n"
-"\n"
-" * \"%s\": to create an installation floppy disk that will automatically\n"
-"perform a whole installation without the help of an operator, similar to\n"
-"the installation you just configured.\n"
-"\n"
-" Note that two different options are available after clicking the button:\n"
"\n"
-" * \"%s\". This is a partially automated installation. The partitioning\n"
-"step is the only interactive procedure.\n"
"\n"
-" * \"%s\". Fully automated installation: the hard disk is completely\n"
-"rewritten, all data is lost.\n"
-"\n"
-" This feature is very handy when installing a number of similar machines.\n"
-"See the Auto install section on our web site for more information.\n"
-"\n"
-" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
-"To use this selection with another installation, insert the floppy and\n"
-"start the installation. At the prompt, press the [F1] key and type >>linux\n"
-"defcfg=\"floppy\" <<.\n"
-"\n"
-"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
-"\"mformat a:\")"
+"Please check whether Printerdrake did the auto-detection of your printer "
+"model correctly. Search the correct model in the list when the cursor is "
+"standing on a wrong model or on \"Raw printer\"."
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Moldova"
-msgstr "Панядзелак"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington Thinking Mouse"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configuration of a remote printer"
-msgstr "Настройка прынтэру"
-
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "An online platform to respond to enterprise support needs."
+#: ../../printer/printerdrake.pm_.c:1611
+msgid ""
+"If your printer is not listed, choose a compatible (see printer manual) or a "
+"similar one."
msgstr ""
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "URL should begin with 'ftp:' or 'http:'"
-msgstr "Proxy павiнен быць http://..."
+#: ../../printer/printerdrake.pm_.c:1697
+#, fuzzy
+msgid "OKI winprinter configuration"
+msgstr " I"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Oriya"
+#: ../../printer/printerdrake.pm_.c:1698
+msgid ""
+"You are configuring an OKI laser winprinter. These printers\n"
+"use a very special communication protocol and therefore they work only when "
+"connected to the first parallel port. When your printer is connected to "
+"another port or to a print server box please connect the printer to the "
+"first parallel port before you print a test page. Otherwise the printer will "
+"not work. Your connection type setting will be ignored by the driver."
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Add a new rule at the end"
-msgstr "Iмя друкаркi"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "LiLo and Bootsplash themes installation successful"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1718 ../../printer/printerdrake.pm_.c:1745
+#, fuzzy
+msgid "Lexmark inkjet configuration"
+msgstr " I"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1719
msgid ""
-"You can also decide here whether printers on remote machines should be "
-"automatically made available on this machine."
+"The inkjet printer drivers provided by Lexmark only support local printers, "
+"no printers on remote machines or print server boxes. Please connect your "
+"printer to a local port or configure it on the machine where it is connected "
+"to."
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1746
msgid ""
-"You may now provide 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мя=значэнне iмя2=значэнне2 ...''.\n"
-"Напрыклад, ``io=0x300 irq=7''"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without writing the partition table?"
-msgstr "Выйсцi без запiсу таблiцы раздзелаў"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Hard Drive"
+"To be able to print with your Lexmark inkjet and this configuration, you "
+"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
+"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
+"\"Linux\" as operating system. The drivers come as RPM packages or shell "
+"scripts with interactive graphical installation. You do not need to do this "
+"configuration by the graphical frontends. Cancel directly after the license "
+"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
+"adjust the head alignment settings with this program."
msgstr ""
-#: ../../standalone.pm:1
-#, fuzzy, c-format
-msgid "Installing packages..."
-msgstr "Усталяванне пакету %s"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dutch"
-msgstr "Галандскi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Angola"
-msgstr "Ангола"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "The following packages need to be installed:\n"
-msgstr "Наступныя пакеты будуць даданы да сiстэмы"
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "service setting"
-msgstr "прылада"
-
-#: ../../any.pm:1 ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Custom"
-msgstr "Па выбару"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Latvia"
-msgstr "Размеркаванне"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "File is already used by another loopback, choose another one"
+#: ../../printer/printerdrake.pm_.c:1749
+msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
msgstr ""
-"Файл ужо выкарыстоўваецца iншай вiртуальнай сiстэмай. Калi ласка, \n"
-"абярыце iншую назву"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read-only"
+#: ../../printer/printerdrake.pm_.c:1750
+msgid ""
+"Your printer belongs to the group of GDI laser printers (winprinters) sold "
+"by different manufacturers which uses the Zenographics ZJ-stream raster "
+"format for the data sent to the printer. The driver for these printers is "
+"still in a very early development stage and so it will perhaps not always "
+"work properly. Especially it is possible that the printer only works when "
+"you choose the A4 paper size.\n"
+"\n"
+"Some of these printers, as the HP LaserJet 1000, for which this driver was "
+"originally created, need their firmware to be uploaded to them after they "
+"are turned on. In the case of the HP LaserJet 1000 you have to search the "
+"printer's Windows driver CD or your Windows partition for the file "
+"\"sihp1000.img\" and upload the file to the printer with one of the "
+"following commands:\n"
+"\n"
+" lpr -o raw sihp1000.img\n"
+" cat sihp1000.img > /dev/usb/lp0\n"
+"\n"
+"The first command can be given by any normal user, the second must be given "
+"as root. After having done so you can print normally.\n"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1972
msgid ""
-"Enable/Disable name resolution spoofing protection. If\n"
-"\"alert\" is true, also reports to syslog."
+"Printer default settings\n"
+"\n"
+"You should make sure that the page size and the ink type/printing mode (if "
+"available) and also the hardware configuration of laser printers (memory, "
+"duplex unit, extra trays) are set correctly. Note that with a very high "
+"printout quality/resolution printing can get substantially slower."
msgstr ""
-#: ../../harddrake/sound.pm:1
+#: ../../printer/printerdrake.pm_.c:1981
#, c-format
-msgid "No known driver"
+msgid "Option %s must be an integer number!"
msgstr ""
-#: ../../Xconfig/card.pm:1
+#: ../../printer/printerdrake.pm_.c:1985
#, c-format
-msgid "1 MB"
-msgstr "1 Мб"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"If it is not the one you want to configure, enter a device name/file name in "
-"the input line"
+msgid "Option %s must be a number!"
msgstr ""
-#: ../../standalone/draksound:1
+#: ../../printer/printerdrake.pm_.c:1989
#, c-format
-msgid ""
-"No Sound Card has been detected on your machine. Please verify that a Linux-"
-"supported Sound Card is correctly plugged in.\n"
-"\n"
-"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
+msgid "Option %s out of range!"
msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../printer/printerdrake.pm_.c:2028
#, fuzzy, c-format
-msgid "Configure Local Area Network..."
-msgstr "Настройка лакальнай сеткi"
-
-#: ../../../move/move.pm:1
-#, c-format
msgid ""
-"The USB key seems to have write protection enabled. Please\n"
-"unplug it, remove write protection, and then plug it again."
-msgstr ""
+"Do you want to set this printer (\"%s\")\n"
+"as the default printer?"
+msgstr " i ?"
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the sound system on your machine"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2051
+#, fuzzy
+msgid "Test pages"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Verify checksum of the suid/sgid files"
+#: ../../printer/printerdrake.pm_.c:2052
+msgid ""
+"Please select the test pages you want to print.\n"
+"Note: the photo test page can take a rather long time to get printed and on "
+"laser printers with too low memory it can even not come out. In most cases "
+"it is enough to print the standard test page."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run some checks against the rpm database"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2056
+#, fuzzy
+msgid "No test pages"
+msgstr ", i "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Execute"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2057
+#, fuzzy
+msgid "Print"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Preparing printer database..."
-msgstr "Чытаю базу дадзеных драйвероў CUPS"
+#: ../../printer/printerdrake.pm_.c:2114
+#, fuzzy
+msgid "Standard test page"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Information"
-msgstr "Iнфармацыя"
+#: ../../printer/printerdrake.pm_.c:2117
+msgid "Alternative test page (Letter)"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "No network card"
-msgstr "сеткавая карта не знойдзена"
+#: ../../printer/printerdrake.pm_.c:2120
+#, fuzzy
+msgid "Alternative test page (A4)"
+msgstr " "
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons"
-msgstr "3 кнопкi"
+#: ../../printer/printerdrake.pm_.c:2122
+#, fuzzy
+msgid "Photo test page"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#, fuzzy, c-format
-msgid "Which filesystem do you want?"
-msgstr "Якую сiстэму друку Вы жадаеце выкарыстоўваць?"
+#: ../../printer/printerdrake.pm_.c:2126
+#, fuzzy
+msgid "Do not print any test page"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Malta"
-msgstr "Мальта"
+#: ../../printer/printerdrake.pm_.c:2134 ../../printer/printerdrake.pm_.c:2285
+msgid "Printing test page(s)..."
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2159
#, fuzzy, c-format
-msgid "Detailed information"
-msgstr "Iнфармацыя"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
msgid ""
-"Printer default settings\n"
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+"Printing status:\n"
+"%s\n"
"\n"
-"You should make sure that the page size and the ink type/printing mode (if "
-"available) and also the hardware configuration of laser printers (memory, "
-"duplex unit, extra trays) are set correctly. Note that with a very high "
-"printout quality/resolution printing can get substantially slower."
-msgstr ""
-
-#: ../../install_any.pm:1
-#, c-format
-msgid "This floppy is not FAT formatted"
msgstr ""
+" i .\n"
+" , , i .\n"
+" :\n"
+"%s\n"
+"\n"
+" ?"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Configuring network"
-msgstr "Настройка сеткi"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2163
+#, fuzzy
msgid ""
-"This option will save files that have changed. Exact behavior depends on "
-"whether incremental or differential mode is used."
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
msgstr ""
+" i .\n"
+" , , i .\n"
+" ?"
-#: ../../Xconfig/main.pm:1
-#, fuzzy, c-format
-msgid "Graphic Card"
-msgstr "Вiдэакарта"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Resizing Windows partition"
-msgstr "Вылiчэнне межаў файлавай сiстэмы Windows"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cameroon"
-msgstr "Камэрун"
+#: ../../printer/printerdrake.pm_.c:2170
+msgid "Did it work properly?"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Provider dns 1 (optional)"
-msgstr "DNS 1 правайдару"
+#: ../../printer/printerdrake.pm_.c:2190 ../../printer/printerdrake.pm_.c:3229
+#, fuzzy
+msgid "Raw printer"
+msgstr "I i"
-#: ../../install_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2216
#, c-format
msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
+"To print a file from the command line (terminal window) you can either use "
+"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
+"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
+"to modify the option settings easily.\n"
msgstr ""
-"Вы можаце цяпер разбiць ваш дыск %s\n"
-"Па заканчэннi не забудзьцеся захаваць змяненнi, скарыстаўшы `w'"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Saami (swedish/finnish)"
+#: ../../printer/printerdrake.pm_.c:2218
+msgid ""
+"These commands you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications, but here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakfont:1 ../../standalone/net_monitor:1
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Close"
-msgstr "Порт мышы"
-
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:2221 ../../printer/printerdrake.pm_.c:2238
+#: ../../printer/printerdrake.pm_.c:2248
#, c-format
msgid ""
-"\"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list."
+"\n"
+"The \"%s\" command also allows to modify the option settings for a "
+"particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\". "
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Calendar"
-msgstr "Каляндар"
-
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2224 ../../printer/printerdrake.pm_.c:2264
#, c-format
msgid ""
-"Restore Selected\n"
-"Catalog Entry"
+"To know about the options available for the current printer read either the "
+"list shown below or click on the \"Print option list\" button.%s%s\n"
+"\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:2228
msgid ""
-"To use a remote lpd printer, you need to supply the hostname of the printer "
-"server and the printer name on that server."
-msgstr ""
-"Для настройкi аддаленай чаргi друку вам патрэбна\n"
-"пазначыць iмя аддаленага сервера i iмя чаргi друку,\n"
-"у якую аддалены сервер будзе адпраўляць заданнi."
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Iceland"
-msgstr "Iсландскi"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Network & Internet Configuration"
-msgstr "Канфiгурацыя сеткi"
-
-#: ../../common.pm:1
-#, c-format
-msgid "consolehelper missing"
+"Here is a list of the available printing options for the current printer:\n"
+"\n"
msgstr ""
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "stopped"
-msgstr "Далучыць"
-
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:2233 ../../printer/printerdrake.pm_.c:2243
#, c-format
-msgid "Whether the FPU has an irq vector"
+msgid ""
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\".\n"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Ext2"
-msgstr "Ext2"
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Expand Tree"
-msgstr "Разгарнуць дрэва"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2235 ../../printer/printerdrake.pm_.c:2245
+#: ../../printer/printerdrake.pm_.c:2255
msgid ""
-"The old \"%s\" driver is blacklisted.\n"
-"\n"
-"It has been reported to oops the kernel on unloading.\n"
-"\n"
-"The new \"%s\" driver'll only be used on next bootstrap."
+"This command you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications. But here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Expert Mode"
-msgstr "Эксперт"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer options"
-msgstr "Опцыi прынтэру"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Local Network adress"
-msgstr "сеткавая карта не знойдзена"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup your System files. (/etc directory)"
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Set the user umask."
-msgstr "Iмя карыстальнiку:"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2240 ../../printer/printerdrake.pm_.c:2250
msgid ""
-"You now have the opportunity to download updated packages. These packages\n"
-"have been updated after the distribution was released. They may\n"
-"contain security or bug fixes.\n"
-"\n"
-"To download these packages, you will need to have a working Internet \n"
-"connection.\n"
-"\n"
-"Do you want to install the updates ?"
+"To get a list of the options available for the current printer click on the "
+"\"Print option list\" button."
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Samba Server"
-msgstr "NIS сервер:"
-
-#: ../../standalone/drakxtv:1
+#: ../../printer/printerdrake.pm_.c:2253
#, c-format
-msgid "Australian Optus cable TV"
+msgid ""
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\" or \"%s <file>\".\n"
msgstr ""
-#: ../../install_steps_newt.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2257
msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
+"You can also use the graphical interface \"xpdq\" for setting options and "
+"handling printing jobs.\n"
+"If you are using KDE as desktop environment you have a \"panic button\", an "
+"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
+"jobs immediately when you click it. This is for example useful for paper "
+"jams.\n"
msgstr ""
-" <Tab>/<Alt-Tab> памiж элементамi | <Space> выбар | <F12> наступны экран "
-#: ../../standalone/drakTermServ:1
+#: ../../printer/printerdrake.pm_.c:2261
#, c-format
-msgid "Subnet:"
+msgid ""
+"\n"
+"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
+"a particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\".\n"
msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:2271
#, fuzzy, c-format
-msgid "Zimbabwe"
-msgstr "можа быць"
+msgid "Printing/Scanning/Photo Cards on \"%s\""
+msgstr " i"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2272
#, fuzzy, c-format
-msgid "When"
-msgstr "З колам"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid ""
-"You need the Alcatel microcode.\n"
-"Download it at:\n"
-"%s\n"
-"and copy the mgmt.o in /usr/share/speedtouch"
-msgstr ""
+msgid "Printing/Scanning on \"%s\""
+msgstr " i"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2274
#, fuzzy, c-format
-msgid "Hour"
-msgstr "Гадзіны"
+msgid "Printing/Photo Card Access on \"%s\""
+msgstr " i"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
+#: ../../printer/printerdrake.pm_.c:2275
#, fuzzy, c-format
-msgid "Second DNS Server (optional)"
-msgstr "Другi сервер DNS:"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Finland"
-msgstr "Фінляндыя"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Параметры глыбiнi колеру: %s\n"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It must be upgraded"
-msgstr "Вы не можаце адмянiць вылучэнне гэтага пакету. Яго патрэбна абнавiць"
+msgid "Printing on the printer \"%s\""
+msgstr " i"
+
+#: ../../printer/printerdrake.pm_.c:2278 ../../printer/printerdrake.pm_.c:2281
+#: ../../printer/printerdrake.pm_.c:2282 ../../printer/printerdrake.pm_.c:2283
+#: ../../printer/printerdrake.pm_.c:3216 ../../standalone/drakTermServ_.c:307
+#: ../../standalone/drakbackup_.c:1533 ../../standalone/drakbackup_.c:4156
+#: ../../standalone/drakbug_.c:108 ../../standalone/drakfont_.c:695
+#: ../../standalone/drakfont_.c:956 ../../standalone/net_monitor_.c:118
+#, fuzzy
+msgid "Close"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Loading from floppy"
-msgstr "Аднаўленне з дыскеты"
+#: ../../printer/printerdrake.pm_.c:2281
+#, fuzzy
+msgid "Print option list"
+msgstr "i "
-#: ../../standalone/drakclock:1
+#: ../../printer/printerdrake.pm_.c:2301
#, c-format
-msgid "Timezone - DrakClock"
+msgid ""
+"Your multi-function device was configured automatically to be able to scan. "
+"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
+"scanner when you have more than one) from the command line or with the "
+"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
+"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
+"\" menu. Call also \"man scanimage\" on the command line to get more "
+"information.\n"
+"\n"
+"Do not use \"scannerdrake\" for this device!"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable the logging of IPv4 strange packets."
+#: ../../printer/printerdrake.pm_.c:2322
+msgid ""
+"Your printer was configured automatically to give you access to the photo "
+"card drives from your PC. Now you can access your photo cards using the "
+"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
+"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
+"\"man mtools\" on the command line for more info). You find the card's file "
+"system under the drive letter \"p:\", or subsequent drive letters when you "
+"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
+"can switch between drive letters with the field at the upper-right corners "
+"of the file lists."
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Slovenia"
-msgstr "Славенскi"
+#: ../../printer/printerdrake.pm_.c:2344 ../../printer/printerdrake.pm_.c:2702
+#: ../../printer/printerdrake.pm_.c:2990
+#, fuzzy
+msgid "Reading printer data..."
+msgstr " CUPS"
-#: ../../standalone/mousedrake:1
-#, fuzzy, c-format
-msgid "Mouse test"
-msgstr "Mouse Systems"
+#: ../../printer/printerdrake.pm_.c:2364 ../../printer/printerdrake.pm_.c:2391
+#: ../../printer/printerdrake.pm_.c:2426
+#, fuzzy
+msgid "Transfer printer configuration"
+msgstr " I"
-#: ../../standalone/drakperm:1
+#: ../../printer/printerdrake.pm_.c:2365
#, c-format
msgid ""
-"Drakperm is used to see files to use in order to fix permissions, owners, "
-"and groups via msec.\n"
-"You can also edit your own rules which will owerwrite the default rules."
+"You can copy the printer configuration which you have done for the spooler %"
+"s to %s, your current spooler. All the configuration data (printer name, "
+"description, location, connection type, and default option settings) is "
+"overtaken, but jobs will not be transferred.\n"
+"Not all queues can be transferred due to the following reasons:\n"
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2368
msgid ""
-"Enter a user\n"
-"%s"
+"CUPS does not support printers on Novell servers or printers sending the "
+"data into a free-formed command.\n"
msgstr ""
-"Увядзiце iмя карыстальнiку\n"
-"%s"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2370
msgid ""
-"- PCI and USB devices: this lists the vendor, device, subvendor and "
-"subdevice PCI/USB ids"
+"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
+"printers.\n"
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "ProgressBar color selection"
-msgstr "Злучэнне прынтэру"
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Here are the entries on your boot menu so far.\n"
-"You can create additional entries or change the existing ones."
+#: ../../printer/printerdrake.pm_.c:2372
+msgid "LPD and LPRng do not support IPP printers.\n"
msgstr ""
-"У меню маюцца наступныя пункты.\n"
-"Вы можаце дадаць яшчэ, альбо змянiць iснуючыя."
-
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/hda"
-msgstr "/dev/hda"
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/hdb"
-msgstr "/dev/hdb"
-
-#: ../../standalone/drakbug:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2374
msgid ""
-"Application Name\n"
-"or Full Path:"
+"In addition, queues not created with this program or \"foomatic-configure\" "
+"cannot be transferred."
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2375
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."
+"\n"
+"Also printers configured with the PPD files provided by their manufacturers "
+"or with native CUPS drivers cannot be transferred."
msgstr ""
-"Каманды, якiя выконваюцца, фiксуюцца па камандзе i часе яе выканання\n"
-"i выконваюцца групы каманд, калi загрузка памяцi нiжэй дастатковай."
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Radio support:"
+#: ../../printer/printerdrake.pm_.c:2376
+msgid ""
+"\n"
+"Mark the printers which you want to transfer and click \n"
+"\"Transfer\"."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing SANE packages..."
-msgstr "Усталяванне пакету %s"
-
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP"
+#: ../../printer/printerdrake.pm_.c:2379
+msgid "Do not transfer printers"
msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid "SILO"
-msgstr "SILO"
-
-#: ../../diskdrake/removable.pm:1
-#, fuzzy, c-format
-msgid "Change type"
-msgstr "Змянiць тып раздзелу"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", USB printer #%s"
+#: ../../printer/printerdrake.pm_.c:2380 ../../printer/printerdrake.pm_.c:2396
+msgid "Transfer"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "SILO Installation"
-msgstr "Усталяванне SILO"
-
-#: ../../install_messages.pm:1
+#: ../../printer/printerdrake.pm_.c:2392
#, c-format
msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"\n"
-"For information on fixes which are available for this release of Mandrake "
-"Linux,\n"
-"consult the Errata available from:\n"
-"\n"
-"\n"
-"%s\n"
-"\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Mandrake Linux User's Guide."
+"A printer named \"%s\" already exists under %s. \n"
+"Click \"Transfer\" to overwrite it.\n"
+"You can also type a new name or skip this printer."
msgstr ""
-"Вiншуем, усталяванне завершана.\n"
-"Выдалiце загрузачны дыск i нацiснiце enter для перазагрузкi.\n"
-"\n"
-"\n"
-"За iнфармацыяй пра змяненнi дадзенага выпуску Mandrake Linux,\n"
-"звяртайцесь на \n"
-"\n"
-"\n"
-"%s\n"
-"\n"
-"\n"
-"Iнфармацыя па настройке вашай сiстэмы ёсть ў пасля-ўсталёвачнай\n"
-"главе вашага Дапаможнiка Карыстальнiку з Афiцыйнага Mandrake Linux."
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Enable Network Time Protocol"
+#: ../../printer/printerdrake.pm_.c:2400
+msgid "Name of printer should contain only letters, numbers and the underscore"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "paranoid"
-msgstr "Паранаiдальны"
-
-#: ../../security/l10n.pm:1
+#: ../../printer/printerdrake.pm_.c:2405
#, c-format
-msgid "Do not send mails when unneeded"
+msgid ""
+"The printer \"%s\" already exists,\n"
+"do you really want to overwrite its configuration?"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Your scanner(s) will not be available on the network."
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2413
+#, fuzzy
+msgid "New printer name"
+msgstr "I i"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2416
#, c-format
-msgid "Send mail report after each backup to:"
+msgid "Transferring %s..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2427
#, c-format
msgid ""
-"This command you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications. But here do not supply the file name "
-"because the file to print is provided by the application.\n"
+"You have transferred your former default printer (\"%s\"), Should it be also "
+"the default printer under the new printing system %s?"
msgstr ""
-#: ../../Xconfig/main.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolution"
-msgstr "Памеры экрану"
+#: ../../printer/printerdrake.pm_.c:2437
+#, fuzzy
+msgid "Refreshing printer data..."
+msgstr " CUPS"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"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."
-msgstr ""
-"Для друку на прынтэры SMB неабходна пазначыць iмя хосту SMB (не заўсёды "
-"супадае з iменем у сетцы TCP/IP) i адрас IP сервера друку, а таксама iмя "
-"рэсурсу, якi спалучаны з выбраным прынтэрам, iмя карыстальнiку, пароль i "
-"iнфармацыю аб працоўнай групе."
+#: ../../printer/printerdrake.pm_.c:2445 ../../printer/printerdrake.pm_.c:2516
+#: ../../printer/printerdrake.pm_.c:2528
+#, fuzzy
+msgid "Configuration of a remote printer"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2446
+#, fuzzy
+msgid "Starting network..."
+msgstr "i ISDN ?"
+
+#: ../../printer/printerdrake.pm_.c:2479 ../../printer/printerdrake.pm_.c:2483
+#: ../../printer/printerdrake.pm_.c:2485
+#, fuzzy
+msgid "Configure the network now"
+msgstr " i"
+
+#: ../../printer/printerdrake.pm_.c:2480
+#, fuzzy
+msgid "Network functionality not configured"
+msgstr "i "
+
+#: ../../printer/printerdrake.pm_.c:2481
msgid ""
-" Enabling su only from members of the wheel group or allow su from any user."
+"You are going to configure a remote printer. This needs working network "
+"access, but your network is not configured yet. If you go on without network "
+"configuration, you will not be able to use the printer which you are "
+"configuring now. How do you want to proceed?"
msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "reconfigure"
-msgstr "Настройка X Window"
+#: ../../printer/printerdrake.pm_.c:2484
+#, fuzzy
+msgid "Go on without configuring the network"
+msgstr " i"
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2518
msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
+"The network configuration done during the installation cannot be started "
+"now. Please check whether the network gets accessable after booting your "
+"system and correct the configuration using the Mandrake Control Center, "
+"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
+"printer, also using the Mandrake Control Center, section \"Hardware\"/"
+"\"Printer\""
msgstr ""
-"Ваша вiдэакарта можа мець 3D-паскарэнне, якое падтрымлiваецца толькi XFree %"
-"s.\n"
-"МАЙЦЕ НА ЎВАЗЕ, ШТО ГЭТА ЭКСПЕРЫМЕНТАЛЬНАЯ ПАДТРЫМКА I МОЖА ПРЫВЕСЦI ДА\n"
-"ЗАВIСАННЯ ВАШАГА КАМП'ЮТЭРУ."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell timeout"
+#: ../../printer/printerdrake.pm_.c:2519
+msgid ""
+"The network access was not running and could not be started. Please check "
+"your configuration and your hardware. Then try to configure your remote "
+"printer again."
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Xinetd Service"
-msgstr "Сервер друку"
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to network tools"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2529
+#, fuzzy
+msgid "Restarting printing system..."
+msgstr " i ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Firmware-Upload for HP LaserJet 1000"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2568
+#, fuzzy
+msgid "high"
+msgstr "i"
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid ""
-"And, of course, push multimedia to its limits with the very latest software "
-"to play videos, audio files and to handle your images or photos."
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2568
+#, fuzzy
+msgid "paranoid"
+msgstr "i"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2569
#, c-format
-msgid "Here is a list of all auto-detected printers. "
+msgid "Installing a printing system in the %s security level"
msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2570
#, c-format
msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
+"You are about to install the printing system %s on a system running in the %"
+"s security level.\n"
+"\n"
+"This printing system runs a daemon (background process) which waits for "
+"print jobs and handles them. This daemon is also accessable by remote "
+"machines through the network and so it is a possible point for attacks. "
+"Therefore only a few selected daemons are started by default in this "
+"security level.\n"
+"\n"
+"Do you really want to configure printing on this machine?"
msgstr ""
-"Памылка ўсталявання аboot, \n"
-"спрабаваць усталёўваць, негледзячы на магчымасць парушэння першага разделу?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid ""
-"Restore Selected\n"
-"Files"
-msgstr "Выдалiць чаргу друку"
+#: ../../printer/printerdrake.pm_.c:2604
+#, fuzzy
+msgid "Starting the printing system at boot time"
+msgstr " i ?"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2605
#, c-format
msgid ""
-"%s exists, delete?\n"
+"The printing system (%s) will not be started automatically when the machine "
+"is booted.\n"
"\n"
-"Warning: If you've already done this process you'll probably\n"
-" need to purge the entry from authorized_keys on the server."
+"It is possible that the automatic starting was turned off by changing to a "
+"higher security level, because the printing system is a potential point for "
+"attacks.\n"
+"\n"
+"Do you want to have the automatic starting of the printing system turned on "
+"again?"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Please fill or check the field below"
-msgstr "Калi ласка, запоўнiце цi пазначце поле нiжэй"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Do you want to save /etc/fstab modifications"
-msgstr "Цi жадаеце пратэсцiраваць настройкi?"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Boot Protocol"
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2765
+msgid "Checking installed software..."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM-дыскi %s\n"
-
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "On boot"
-msgstr "Yaboot"
-
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2630
#, fuzzy, c-format
-msgid "The package %s is needed. Install it?"
-msgstr "Выбар пакетаў для ўсталявання"
+msgid "Removing %s ..."
+msgstr " : %s\n"
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:2636
#, fuzzy, c-format
-msgid "Bus identification"
-msgstr "Аўтэнтыфiкацыя"
+msgid "Installing %s ..."
+msgstr " %s"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Vatican"
-msgstr "Размеркаванне"
+#: ../../printer/printerdrake.pm_.c:2685
+#, fuzzy
+msgid "Select Printer Spooler"
+msgstr " "
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please make a backup of your data first"
-msgstr "Па-першае, зрабiце рэзервовую копiю вашых дадзеных"
+#: ../../printer/printerdrake.pm_.c:2686
+#, fuzzy
+msgid "Which printing system (spooler) do you want to use?"
+msgstr " i ?"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "ADSL adapters"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2720
+#, fuzzy, c-format
+msgid "Configuring printer \"%s\"..."
+msgstr " "
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr "На якi з маючыхся жорсткiх дыскаў Вы жадаеце ўсталяваць Linux?"
+#: ../../printer/printerdrake.pm_.c:2731
+#, fuzzy
+msgid "Installing Foomatic..."
+msgstr " %s"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Eritrea"
-msgstr "Эксперт"
+#: ../../printer/printerdrake.pm_.c:2800 ../../printer/printerdrake.pm_.c:2838
+#: ../../printer/printerdrake.pm_.c:3230 ../../printer/printerdrake.pm_.c:3300
+msgid "Printer options"
+msgstr "i "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot ISO"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2810
+#, fuzzy
+msgid "Preparing Printerdrake..."
+msgstr " CUPS"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Firmware needed"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:3369
+#, fuzzy
+msgid "Configuring applications..."
+msgstr " "
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Remove List"
-msgstr "Аддалены прынтэр"
+#: ../../printer/printerdrake.pm_.c:2845
+#, fuzzy
+msgid "Would you like to configure printing?"
+msgstr " i ?"
-#: ../advertising/05-desktop.pl:1
-#, c-format
-msgid "A customizable environment"
+#: ../../printer/printerdrake.pm_.c:2857
+msgid "Printing system: "
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Inuktitut"
+#: ../../printer/printerdrake.pm_.c:2915
+#, fuzzy
+msgid ""
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; to view information about it; "
+"or to make a printer on a remote CUPS server available for Star Office/"
+"OpenOffice.org/GIMP."
msgstr ""
+" i .\n"
+" , i i."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2916
+#, fuzzy
msgid ""
-"Some protocols, like rsync, may be configured at the server end. Rather "
-"than using a directory path, you would use the 'module' name for the service "
-"path."
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; or to view information about "
+"it."
msgstr ""
+" i .\n"
+" , i i."
-#: ../../lang.pm:1
-#, c-format
-msgid "Morocco"
-msgstr "Марока"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Which printer model do you have?"
-msgstr "Якi тып друкаркi вы маеце?"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Add a new printer"
-msgstr "Iмя друкаркi"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " All of your selected data have been "
+#: ../../printer/printerdrake.pm_.c:2942
+msgid "Refresh printer list (to display all available remote CUPS printers)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Nepal"
-msgstr "Нэпал"
+#: ../../printer/printerdrake.pm_.c:2960
+#, fuzzy
+msgid "Change the printing system"
+msgstr " i"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "<-- Delete"
-msgstr "Знiшчыць"
+#: ../../printer/printerdrake.pm_.c:2965 ../../standalone/drakconnect_.c:274
+#, fuzzy
+msgid "Normal Mode"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "cpu # "
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3127 ../../printer/printerdrake.pm_.c:3176
+#: ../../printer/printerdrake.pm_.c:3363
+#, fuzzy
+msgid "Do you want to configure another printer?"
+msgstr "i i i?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "chunk size"
-msgstr "памер блоку"
+#: ../../printer/printerdrake.pm_.c:3211
+#, fuzzy
+msgid "Modify printer configuration"
+msgstr " I"
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:3213
+#, fuzzy, c-format
msgid ""
-"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
-"\n"
-"If set to NONE, no issues are allowed.\n"
-"\n"
-"Else only /etc/issue is allowed."
-msgstr ""
+"Printer %s\n"
+"What do you want to modify on this printer?"
+msgstr "i i i?"
-#: ../../security/help.pm:1
-#, c-format
-msgid " Enable/Disable sulogin(8) in single user level."
+#: ../../printer/printerdrake.pm_.c:3217
+msgid "Do it!"
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:1
-#, c-format
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "commands before booting, or 'c' for a command-line."
+#: ../../printer/printerdrake.pm_.c:3222 ../../printer/printerdrake.pm_.c:3271
+#, fuzzy
+msgid "Printer connection type"
+msgstr " I-"
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "Problems installing package %s"
-msgstr "Праблемы з усталяваннем пакету %s"
+#: ../../printer/printerdrake.pm_.c:3223 ../../printer/printerdrake.pm_.c:3275
+#, fuzzy
+msgid "Printer name, description, location"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "You will receive an alert if the load is higher than this value"
+#: ../../printer/printerdrake.pm_.c:3225 ../../printer/printerdrake.pm_.c:3293
+msgid "Printer manufacturer, model, driver"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add a scanner manually"
+#: ../../printer/printerdrake.pm_.c:3226 ../../printer/printerdrake.pm_.c:3294
+msgid "Printer manufacturer, model"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh"
-msgstr "Аднавіць"
+#: ../../printer/printerdrake.pm_.c:3232 ../../printer/printerdrake.pm_.c:3304
+msgid "Set this printer as the default"
+msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Reload partition table"
-msgstr "Дадатковая таблiца раздзелаў"
+#: ../../printer/printerdrake.pm_.c:3234 ../../printer/printerdrake.pm_.c:3309
+msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Yes, I want autologin with this (user, desktop)"
+#: ../../printer/printerdrake.pm_.c:3235 ../../printer/printerdrake.pm_.c:3314
+msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Selected"
-msgstr "Выдалiць чаргу друку"
+#: ../../printer/printerdrake.pm_.c:3236 ../../printer/printerdrake.pm_.c:3319
+#, fuzzy
+msgid "Print test pages"
+msgstr " "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search for fonts in installed list"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3237 ../../printer/printerdrake.pm_.c:3321
+#, fuzzy
+msgid "Know how to use this printer"
+msgstr "i i i?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The Local Network did not finish with `.0', bailing out."
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3238 ../../printer/printerdrake.pm_.c:3323
+#, fuzzy
+msgid "Remove printer"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:3282
#, fuzzy, c-format
-msgid "Boot"
-msgstr "Root"
+msgid "Removing old printer \"%s\"..."
+msgstr " CUPS"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:3307
+#, fuzzy
+msgid "Default printer"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:3308
#, c-format
-msgid " and the CD is in the drive"
+msgid "The printer \"%s\" is set as the default printer now."
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "Tuner type:"
-msgstr "Змянiць тып раздзелу"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Now, it's time to select a printing system for your computer. Other OSs may\n"
-"offer you one, but Mandrake Linux offers two. Each of the printing system\n"
-"is best suited to particular types of configuration.\n"
-"\n"
-" * \"%s\" -- which is an acronym for ``print, don't queue'', is the choice\n"
-"if you have a direct connection to your printer, you want to be able to\n"
-"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
-"will handle only very simple network cases and is somewhat slow when used\n"
-"with networks.) It's recommended that you use \"pdq\" if this is your first\n"
-"experience with GNU/Linux.\n"
-"\n"
-" * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n"
-"printing to your local printer or to one halfway around the planet. It is\n"
-"simple to configure and can act as a server or a client for the ancient\n"
-"\"lpd \" printing system, so it compatible with older operating systems\n"
-"which may still need print services. While quite powerful, the basic setup\n"
-"is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make\n"
-"sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n"
-"front-ends for printing or choosing printer options and for managing the\n"
-"printer.\n"
-"\n"
-"If you make a choice now, and later find that you don't like your printing\n"
-"system you may change it by running PrinterDrake from the Mandrake Control\n"
-"Center and clicking the expert button."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "\"Menu\" key"
+#: ../../printer/printerdrake.pm_.c:3310
+msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3312
#, c-format
msgid ""
-"\n"
-"\n"
-"Please check whether Printerdrake did the auto-detection of your printer "
-"model correctly. Find the correct model in the list when a wrong model or "
-"\"Raw printer\" is highlighted."
+"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Security Administrator:"
-msgstr "Опцыi аддаленага прынтэру lpd"
-
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:3313
#, c-format
-msgid "Set the shell timeout. A value of zero means no timeout."
+msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy succeeded"
+#: ../../printer/printerdrake.pm_.c:3315
+msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../../move/tree/mdk_totem:1
+#: ../../printer/printerdrake.pm_.c:3317
#, c-format
msgid ""
-"You can't use another CDROM when the following programs are running: \n"
-"%s"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check permissions of files in the users' home."
+"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
+"GIMP."
msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../printer/printerdrake.pm_.c:3318
#, c-format
msgid ""
-"You don't have an Internet connection.\n"
-"Create one first by clicking on 'Configure'"
+"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/drakfont:1
+#: ../../printer/printerdrake.pm_.c:3325
#, fuzzy, c-format
-msgid "Fonts copy"
-msgstr "Фарматаваць дыскету"
+msgid "Do you really want to remove the printer \"%s\"?"
+msgstr "i i i?"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automated"
-msgstr "Аўтаматычны"
+#: ../../printer/printerdrake.pm_.c:3329
+#, fuzzy, c-format
+msgid "Removing printer \"%s\"..."
+msgstr " CUPS"
-#: ../../Xconfig/test.pm:1
+#: ../../raid.pm_.c:35
#, c-format
-msgid "Do you want to test the configuration?"
-msgstr "Цi жадаеце пратэсцiраваць настройкi?"
+msgid "Can't add a partition to _formatted_ RAID md%d"
+msgstr " i _i_ RAID md%d"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
-"GIMP."
-msgstr ""
+#: ../../raid.pm_.c:137
+msgid "mkraid failed"
+msgstr "mkraid "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Save packages selection"
-msgstr "Асабiсты выбар пакетаў"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed (maybe raidtools are missing?)"
+msgstr "mkraid ( raid i?)"
-#: ../../standalone/printerdrake:1
+#: ../../raid.pm_.c:153
#, c-format
-msgid "/_Actions"
-msgstr "/_Дзеяньні"
-
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Remove the last item"
-msgstr "Фарматаванне вiртуальнага раздзелу %s"
+msgid "Not enough partitions for RAID level %d\n"
+msgstr " RAID %d\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "User list to restore (only the most recent date per user is important)"
+#: ../../security/main.pm_.c:36
+msgid ""
+"Standard: This is the standard security recommended for a computer that will "
+"be used to connect\n"
+" to the Internet as a client.\n"
+"\n"
+"High: There are already some restrictions, and more automatic checks "
+"are run every night.\n"
+"\n"
+"Higher: The security is now high enough to use the system as a server "
+"which can accept\n"
+" connections from many clients. If your machine is only a "
+"client on the Internet, you\n"
+"\t should choose a lower level.\n"
+"\n"
+"Paranoid: This is similar to the previous level, but the system is entirely "
+"closed and security\n"
+" features are at their maximum\n"
+"\n"
+"Security Administrator:\n"
+" If the 'Security Alerts' option is set, security alerts will "
+"be sent to this user (username or\n"
+"\t email)"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No net boot images created!"
-msgstr ""
+#: ../../security/main.pm_.c:66
+#, fuzzy
+msgid "Security Level:"
+msgstr "i i"
-#: ../../network/adsl.pm:1
+#: ../../security/main.pm_.c:77
#, fuzzy, c-format
-msgid "use pptp"
-msgstr "выкарыстоўваць pppoe"
+msgid " (default value: %s)"
+msgstr " ? ( %s) "
-#: ../../services.pm:1
-#, c-format
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Абярыце, якiя сервiсы запускаць аўтаматычна пры загрузцы"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check files/directories writable by everybody"
-msgstr ""
+#: ../../security/main.pm_.c:113
+#, fuzzy
+msgid "Security Alerts:"
+msgstr "i i"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Learn how to use this printer"
-msgstr "Цi жадаеце пратэсцiраваць настройкi?"
+#: ../../security/main.pm_.c:115
+#, fuzzy
+msgid "Security Administrator:"
+msgstr "i lpd"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configure the network now"
-msgstr "Настройка сеткi"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "Network Options"
+msgstr "i :"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose a mirror from which to get the packages"
-msgstr "Выбар люстра для атрымання пакетаў"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "System Options"
+msgstr "i :"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../security/main.pm_.c:133 ../../security/main.pm_.c:164
msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
+"The following options can be set to customize your\n"
+"system security. If you need explanations, click on Help.\n"
msgstr ""
-"У праграмы змены памераў раздзела FAT не атрымалася\n"
-"апрацаваць Ваш раздзел, памылка: %s"
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Size: "
-msgstr "Памер: %s"
+#: ../../security/main.pm_.c:177
+msgid "Periodic Checks"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which sector do you want to move it to?"
-msgstr "На якi сектар перанесці?"
+#: ../../security/main.pm_.c:191
+#, fuzzy
+msgid "Please wait, setting security level..."
+msgstr "i i"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahamas"
-msgstr "Багамы"
+#: ../../security/main.pm_.c:197
+#, fuzzy
+msgid "Please wait, setting security options..."
+msgstr " "
-#: ../../interactive/stdio.pm:1
-#, fuzzy, c-format
-msgid "Do you want to click on this button?"
-msgstr "Вы жадаеце выкарыстоўваць aboot?"
+#: ../../services.pm_.c:19
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Manual configuration"
-msgstr "Настройка"
+#: ../../services.pm_.c:20
+msgid "Anacron a periodic command scheduler."
+msgstr "Anacron, i."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "search"
+#: ../../services.pm_.c:21
+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:1
-#, c-format
+#: ../../services.pm_.c:23
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."
+"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ятуры як набор з\n"
-"/etc/sysconfig/keyboard. Ёна можа быць абрана таксама з дапамогай "
-"kbdconfig.\n"
-"Вы можаце зрабiць даступнай яе для шматлікіх машынаў."
+", i , i i \n"
+"i , i i i ."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Xpmac (installation display driver)"
+#: ../../services.pm_.c:25
+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."
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf host name must not contain a ."
+#: ../../services.pm_.c:28
+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) ."
-#: ../../security/help.pm:1
-#, c-format
-msgid " Accept/Refuse icmp echo."
+#: ../../services.pm_.c:31
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../services.pm_.c:33
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."
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
msgstr ""
-"Syslog - гэта сродак, з дапамогай якога многiя дэманы запiсваюць "
-"паведамленнi\n"
-"ў розныя файлы статыстыкi. Гэта вельмi добра для агляду працы розных службаў."
+"Apache - World Wide Web . \n"
+"HTML i CGI."
-#: ../../harddrake/data.pm:1 ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Unknown/Others"
-msgstr "Агульны"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "No TV Card detected!"
+#: ../../services.pm_.c:34
+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 ."
-#: ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Options"
-msgstr "Опцыi"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printer \"%s\" is set as the default printer now."
+#: ../../services.pm_.c:38
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:40
msgid ""
-"You are configuring an OKI laser winprinter. These printers\n"
-"use a very special communication protocol and therefore they work only when "
-"connected to the first parallel port. When your printer is connected to "
-"another port or to a print server box please connect the printer to the "
-"first parallel port before you print a test page. Otherwise the printer will "
-"not work. Your connection type setting will be ignored by the driver."
+"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 ."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "generation of the cpu (eg: 8 for PentiumIII, ...)"
+#: ../../services.pm_.c:43
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Auto-detected"
-msgstr "Аддалены прынтэр"
+#: ../../services.pm_.c:45
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
+#: ../../services.pm_.c:46
msgid ""
-"You are about to configure your computer to install a PXE server as a DHCP "
-"server\n"
-"and a TFTP server to build an installation server.\n"
-"With that feature, other computers on your local network will be installable "
-"using this computer as source.\n"
-"\n"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
msgstr ""
-"Ваш камп'ютар можа быць сканфігураваны на сумеснае выкарыстанне\n"
-" Інтэрнэту (Internet Connection Sharing)?\n"
-"\n"
-"Заўвага: вам патрэбны сеткавы адаптар для падключэння да ЛВС.\n"
-"\n"
-"Вы жадаеце усталяваць сумесны доступ да Internet?"
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../services.pm_.c:48
msgid ""
-"OSS (Open Sound System) was the first sound API. It's an OS independent "
-"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
-"and limited API.\n"
-"What's more, OSS drivers all reinvent the wheel.\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
-"which\n"
-"supports quite a large range of ISA, USB and PCI cards.\n"
-"\n"
-"It also provides a much higher API than OSS.\n"
-"\n"
-"To use alsa, one can either use:\n"
-"- the old compatibility OSS api\n"
-"- the new ALSA api that provides many enhanced features but requires using "
-"the ALSA library.\n"
+"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 ()."
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:50
msgid ""
-"No free space for 1MB bootstrap! Install will continue, but to boot your "
-"system, you'll need to create the bootstrap partition in DiskDrake"
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:52
+#, fuzzy
msgid ""
-"Please choose the printer you want to set up or enter a device name/file "
-"name in the input line"
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
msgstr ""
+"named (BIND) - i, i \n"
+" i IP ."
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Refuse"
-msgstr "Адказаць"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "LOCAL"
+#: ../../services.pm_.c:53
+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."
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../services.pm_.c:55
msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
msgstr ""
+"i/i i, i \n"
+" i."
-#: ../../fs.pm:1
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "Стварэнне i фарматаванне файла %s"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of sgid files."
+#: ../../services.pm_.c:57
+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 ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:60
msgid ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned "
-"on. Download the Windows driver package from the HP web site (the firmware "
-"on the printer's CD does not work) and extract the firmware file from it by "
-"uncompresing the self-extracting '.exe' file with the 'unzip' utility and "
-"searching for the 'sihp1000.img' file. Copy this file into the '/etc/"
-"printer' directory. There it will be found by the automatic uploader script "
-"and uploaded whenever the printer is connected and turned on.\n"
+"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."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing LVM to add to"
-msgstr "Выбярыце iснуючы LVM для дабаўлення"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "xfs restart"
-msgstr "абмежаванне"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:62
msgid ""
-"The printer \"%s\" already exists,\n"
-"do you really want to overwrite its configuration?"
+"Automatically switch on numlock key locker under console\n"
+"and XFree at boot."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use the scanners on hosts: "
+#: ../../services.pm_.c:64
+msgid "Support the OKI 4w and compatible winprinters."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselected All"
+#: ../../services.pm_.c:65
+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 ."
-#: ../../install_steps_interactive.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "No partition available"
-msgstr "няма даступных раздзелаў"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Printer Management \n"
-msgstr "Iмя друкаркi"
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Domain Name Resolver"
-msgstr "Iмя дамену"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key (again)"
+#: ../../services.pm_.c:68
+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."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Samba share name missing!"
+#: ../../services.pm_.c:71
+#, fuzzy
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
msgstr ""
+"Postfix - , , \n"
+" ."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type install done"
+#: ../../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"
+" ."
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Detection in progress"
-msgstr "Дубляванне пункту манцiравання %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Whole Kernel -->"
+#: ../../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 ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "modem"
-msgstr "Порт мышы"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Welcome to %s"
-msgstr "Сардэчна запрашаем у %s"
-
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../services.pm_.c:76
msgid ""
-" drakhelp 0.1\n"
-"Copyright (C) 2003 MandrakeSoft.\n"
-"This is free software and may be redistributed under the terms of the GNU "
-"GPL.\n"
-"\n"
-"Usage: \n"
+"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 ."
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Please insert the Update Modules floppy in drive %s"
-msgstr "Устаўце дыскету ў дыскавод %s"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Bootsplash"
+#: ../../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."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../services.pm_.c:81
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"is directly connected to your system"
-msgstr "У вашай сістэме няма нiводнага сеткавага адаптара!"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer sharing on hosts/networks: "
-msgstr "Прынтэр"
+"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 ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:83
msgid ""
-"\n"
-"The \"%s\" command also allows to modify the option settings for a "
-"particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\". "
+"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)."
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "DrakClock"
+#: ../../services.pm_.c:85
+msgid "Launch the sound system on your machine"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:86
msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without them. 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"
-"ў пошуках неабходнай iнфармацыi? Магчыма, тэсцiраванне прывядзе\n"
-"да спынення камп'ютэру, але яно нiчога не сапсуе."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct CD label. Disk is labelled %s."
+"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 ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Daemon, %s via:\n"
+#: ../../services.pm_.c:88
+msgid "Load the drivers for your usb devices."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cuba"
-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."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "October"
-msgstr "Кастрычнік"
+#: ../../services.pm_.c:115 ../../services.pm_.c:157
+msgid "Choose which services should be automatically started at boot time"
+msgstr ", i i "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Belize"
-msgstr "Змяненне памераў"
+#: ../../services.pm_.c:127
+#, fuzzy
+msgid "Printing"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Searching for new printers..."
-msgstr "Даступныя пакеты"
+#: ../../services.pm_.c:128
+#, fuzzy
+msgid "Internet"
+msgstr "i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (multi-session)"
+#: ../../services.pm_.c:131
+msgid "File sharing"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Kernel Boot Timeout"
-msgstr ""
+#: ../../services.pm_.c:133 ../../standalone/drakbackup_.c:1709
+#, fuzzy
+msgid "System"
+msgstr "Mouse Systems"
-#: ../../Xconfig/card.pm:1
-#, 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-паскарэнне для гэтай відэакарты."
+#: ../../services.pm_.c:138
+#, fuzzy
+msgid "Remote Administration"
+msgstr "i lpd"
-#: ../../security/help.pm:1
-#, c-format
-msgid " Activate/Disable daily security check."
-msgstr ""
+#: ../../services.pm_.c:146
+#, fuzzy
+msgid "Database Server"
+msgstr " "
-#: ../../standalone/drakbackup:1
+#: ../../services.pm_.c:175
#, c-format
-msgid "\t-CD-R.\n"
+msgid "Services: %d activated for %d registered"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable libsafe if libsafe is found on the system"
-msgstr ""
+#: ../../services.pm_.c:191
+#, fuzzy
+msgid "Services"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr "Майстар падрыхтоўкi раздзелаў DrakX знайшоў наступныя варыянты:"
+#: ../../services.pm_.c:203
+#, fuzzy
+msgid "running"
+msgstr "!"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Hungarian"
-msgstr "Мадьярскi"
+#: ../../services.pm_.c:203
+#, fuzzy
+msgid "stopped"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid ""
-"Select your provider.\n"
-"If it isn't listed, choose Unlisted."
+#: ../../services.pm_.c:217
+msgid "Services and deamons"
msgstr ""
-"Абярыце вашага правайдара.\n"
-"калi яго няма ў гэтым спiсе, абярыце тып ``Iншы''"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automatic time synchronization (using NTP)"
+#: ../../services.pm_.c:222
+msgid ""
+"No additional information\n"
+"about this service, sorry."
msgstr ""
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid "Use my Windows partition"
-msgstr "Вылiчэнне межаў файлавай сiстэмы Windows"
+#: ../../services.pm_.c:229
+#, fuzzy
+msgid "On boot"
+msgstr "Yaboot"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "8 MB"
-msgstr "8 Мб"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Start"
+msgstr " "
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "LDAP Server"
-msgstr "сервер"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Stop"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../share/advertising/01-thanks.pl_.c:9
+msgid "Thank you for choosing Mandrake Linux 9.0"
msgstr ""
-"Падтрымка PCMCIA - гэта звычайна падтрымка такiх рэчаў, як Ethernet i\n"
-"мадэмы ў наўтбуках. Вам няма неабходнасцi канфiгураваць iх, калi на вашай\n"
-"машыне iх няма, цi яна не наўтбук."
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Choose your country"
-msgstr "Выбар клавiятуры"
+#: ../../share/advertising/01-thanks.pl_.c:10
+msgid "Welcome to the Open Source world"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../share/advertising/01-thanks.pl_.c:11
msgid ""
-"\n"
-"- System Files:\n"
+"The success of MandrakeSoft is based upon the principle of Free Software. "
+"Your new operating system is the result of collaborative work on the part of "
+"the worldwide Linux Community"
msgstr ""
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Standalone Tools"
-msgstr "Кансольныя інструментальныя сродкі"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Where"
-msgstr "З колам"
+#: ../../share/advertising/02-community.pl_.c:9
+#, fuzzy
+msgid "Get involved in the Free Software world"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "but not matching"
+#: ../../share/advertising/02-community.pl_.c:10
+msgid "Want to know more about the Open Source community?"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../share/advertising/02-community.pl_.c:11
msgid ""
-"Here you can select an alternative driver (either OSS or ALSA) for your "
-"sound card (%s)."
+"To share your own knowledge and help build Linux tools, join the discussion "
+"forums you'll find on our \"Community\" webpages"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring PCMCIA cards..."
-msgstr "Настройка карт PCMCIA ..."
+#: ../../share/advertising/03-internet.pl_.c:9
+#, fuzzy
+msgid "Get the most from the Internet"
+msgstr " I"
-#: ../../common.pm:1
-#, c-format
-msgid "kdesu missing"
+#: ../../share/advertising/03-internet.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 has selected the best software for you. Surf the Web and "
+"view animations with Mozilla and Konqueror, or read your mail and handle "
+"your personal information with Evolution and Kmail"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires a username...\n"
+#: ../../share/advertising/04-multimedia.pl_.c:9
+msgid "Discover the most up-to-date graphical and multimedia tools!"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key"
+#: ../../share/advertising/04-multimedia.pl_.c:10
+msgid "Push multimedia to its limits!"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
-
-#: ../../keyboard.pm:1
-#, c-format
+#: ../../share/advertising/04-multimedia.pl_.c:11
msgid ""
-"This setting will be activated after the installation.\n"
-"During installation, you will need to use the Right Control\n"
-"key to switch between the different keyboard layouts."
+"Mandrake Linux 9.0 enables you to use the very latest software to play audio "
+"files, edit and handle your images or photos, and play videos"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Christmas Island"
-msgstr "Выспа Расства"
-
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Automatic"
-msgstr "Аўтаматычны IP"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Працэс усталявання загрузчыка не атрымаўся. Узнiкла наступная памылка:"
+#: ../../share/advertising/05-games.pl_.c:9
+msgid "Games"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "EIDE/SCSI channel"
+#: ../../share/advertising/05-games.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides the best Open Source games - arcade, action, "
+"strategy, ..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Set this printer as the default"
-msgstr ""
+#: ../../share/advertising/06-mcc.pl_.c:9 ../../standalone/drakbug_.c:49
+#, fuzzy
+msgid "Mandrake Control Center"
+msgstr " I"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Verify that %s is the correct path"
-msgstr "Гэта дакладна?"
+#: ../../share/advertising/06-mcc.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides a powerful tool to fully customize and configure "
+"your machine"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "partition %s"
-msgstr "Раздзел %s"
+#: ../../share/advertising/07-desktop.pl_.c:9
+#, fuzzy
+msgid "User interfaces"
+msgstr " i"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Paranoid"
-msgstr "Паранаiдальны"
+#: ../../share/advertising/07-desktop.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides you with 11 user interfaces that can be fully "
+"modified: KDE 3, Gnome 2, WindowMaker, ..."
+msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "NIS"
-msgstr "Выкарыстоўваць NIS"
+#: ../../share/advertising/08-development.pl_.c:9
+#, fuzzy
+msgid "Development simplified"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Del User"
+#: ../../share/advertising/08-development.pl_.c:10
+msgid "Mandrake Linux 9.0 is the ultimate development platform"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Location on the bus"
+#: ../../share/advertising/08-development.pl_.c:11
+msgid ""
+"Use the full power of the GNU gcc 3 compiler as well as the best Open Source "
+"development environments"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "No printer found!"
-msgstr "Лакальны прынтэр"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the device"
+#: ../../share/advertising/09-server.pl_.c:9
+msgid "Turn your machine into a reliable server"
msgstr ""
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Erase entire disk"
-msgstr "Сцёрцi дадзеныя на ўсiм дыску"
-
-#: ../../printer/cups.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Default)"
-msgstr " (Па дамаўленню)"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Automatic reconfiguration"
-msgstr "Настройка мадэму"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Receiving Speed:"
+#: ../../share/advertising/09-server.pl_.c:10
+msgid ""
+"Transform your machine into a powerful Linux server with a few clicks of "
+"your mouse: Web server, mail, firewall, router, file and print server, ..."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Turks and Caicos Islands"
+#: ../../share/advertising/10-mnf.pl_.c:9
+msgid "Optimize your security"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Ip"
+#: ../../share/advertising/10-mnf.pl_.c:10
+msgid ""
+"The MandrakeSecurity range includes the Multi Network Firewall product (M.N."
+"F.)"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "<- Previous"
+#: ../../share/advertising/10-mnf.pl_.c:11
+msgid ""
+"This firewall product includes network features that allow you to fulfill "
+"all your security needs"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Transfer Now"
+#: ../../share/advertising/10-mnf.pl_.c:12
+msgid "This product is available on MandrakeStore website"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password and network authentication methods"
+#: ../../share/advertising/11-mdkstore.pl_.c:9
+msgid "The official MandrakeSoft store"
msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Toggle between flat and group sorted"
-msgstr "Пераключэнне памiж упарадкаваннем па групе i асобках"
-
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Themes"
-msgstr "Дрэва"
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Options: %s"
-msgstr "Опцыi: %s"
-
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
+#: ../../share/advertising/11-mdkstore.pl_.c:10
msgid ""
-"You are currently using %s as your boot manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Сумеснае Iнтэрнэт-злучэнне"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "OKI winprinter configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Helena"
+"Our full range of Linux solutions, as well as special offers on products and "
+"other \"goodies,\" are available online on our e-store:"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Parallel port #%s"
-msgstr "Iмя прынтэру"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Security Level"
-msgstr "Настройкi ўзроўня бяспекi"
+#: ../../share/advertising/12-mdkstore.pl_.c:9
+msgid "Strategic partners"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../share/advertising/12-mdkstore.pl_.c:10
msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
+"MandrakeSoft works alongside a selection of companies offering professional "
+"solutions compatible with Mandrake Linux. A list of these partners is "
+"available on the MandrakeStore"
msgstr ""
-"Некаторыя крокi не завершаны.\n"
-"Вы сапраўды жадаеце выйсцi зараз?"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Sudan"
-msgstr "SunOS"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwertz layout)"
-msgstr "Польскi (qwertz раскладка)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Syria"
+#: ../../share/advertising/13-mdkcampus.pl_.c:9
+msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../share/advertising/13-mdkcampus.pl_.c:10
msgid ""
-"Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, "
-"LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), "
-"an HP PhotoSmart or an HP LaserJet 2200?"
+"The training program has been created to respond to the needs of both end "
+"users and experts (Network and System administrators)"
msgstr ""
-#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#: ../../bootloader.pm:1
-#, c-format
-msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system from the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
+#: ../../share/advertising/13-mdkcampus.pl_.c:11
+msgid "Certify yourself on Linux"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Portuguese"
-msgstr "Партугальскi"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: "
-msgstr "Iмя вiртуальнага раздзелу"
-
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "DNS server address should be in format 1.2.3.4"
-msgstr "IP адрас павiнен быць у фармаце 1.2.3.4"
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Left Control key"
-msgstr "Аддалены прынтэр"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Serbia"
-msgstr "паслядоўная"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Newzealand"
+#: ../../share/advertising/13-mdkcampus.pl_.c:12
+msgid ""
+"Whether you choose to teach yourself online or via our network of training "
+"partners, the Linux-Campus catalogue prepares you for the acknowledged LPI "
+"certification program (worldwide professional technical certification)"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "This directory should remain within the root filesystem"
-msgstr "Гэты каталог павінен знаходзіцца ўнутры каранёвай файлавай сістэмы"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Across Network"
-msgstr "Сетка:"
+#: ../../share/advertising/14-mdkexpert.pl_.c:9
+#, fuzzy
+msgid "Become a MandrakeExpert"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "CapsLock key"
+#: ../../share/advertising/14-mdkexpert.pl_.c:10
+msgid ""
+"Find the solutions of your problems via MandrakeSoft's online support "
+"platform"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install bootloader"
-msgstr "Усталяванне загрузчыку"
+#: ../../share/advertising/14-mdkexpert.pl_.c:11
+msgid ""
+"Join the MandrakeSoft support teams and the Linux Community online to share "
+"your knowledge and help others by becoming a recognized Expert on the online "
+"technical support website:"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Select the memory size of your graphics card"
-msgstr "Пазначце памер вiдэапамяцi"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:9
+#, fuzzy
+msgid "MandrakeExpert Corporate"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Enable/Disable crontab and at for users.\n"
-"\n"
-"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
-"and crontab(1))."
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:10
+msgid "An online platform to respond to company's specific support needs"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:11
msgid ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
-"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
+"All incidents will be followed up by a single qualified MandrakeSoft "
+"technical expert."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Dynamic IP Address Pool:"
+#: ../../share/advertising/17-mdkclub.pl_.c:9
+msgid "Discover MandrakeClub and Mandrake Corporate Club"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM name?"
+#: ../../share/advertising/17-mdkclub.pl_.c:10
+msgid ""
+"MandrakeClub and Mandrake Corporate Club were created for business and "
+"private users of Mandrake Linux who would like to directly support their "
+"favorite Linux distribution while also receiving special privileges. If you "
+"enjoy our products, if your company benefits from our products to gain a "
+"competititve edge, if you want to support Mandrake Linux development, join "
+"MandrakeClub!"
msgstr ""
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices in the \"%s\" hardware class were removed:\n"
+#: ../../standalone.pm_.c:21
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Знойдзены %s %s iнтэрфейсы"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Post Install"
-msgstr "Усталёўка"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "The internal domain name"
-msgstr "Iмя друкаркi"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IRQ"
-msgstr "IRQ карты"
+#: ../../standalone.pm_.c:40
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version name.\n"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "logdrake"
+#: ../../standalone.pm_.c:51
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of mandrake tools\n"
+" --incident - program should be one of mandrake tools"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../standalone.pm_.c:57
msgid ""
"Font Importation and monitoring "
"application \n"
@@ -12112,6826 +9231,4670 @@ msgid ""
" : and gs for ghostscript for only this one."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr "Абярыце дыскавод, у якiм будзе стварацца загрузачная дыскета"
-
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with text menu"
+#: ../../standalone.pm_.c:68
+msgid ""
+"[OPTIONS]...\n"
+"\t --debug print debugging information"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "instantaneous"
+#: ../../standalone.pm_.c:70
+msgid ""
+"[OPTIONS]...\n"
+"Mandrake Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Everything (no firewall)"
-msgstr "Ўсё сканфiгуравана!"
+#: ../../standalone.pm_.c:82
+#, fuzzy
+msgid "[keyboard]"
+msgstr "i"
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a kernel image"
+#: ../../standalone.pm_.c:83
+msgid "[--file=myfyle] [--word=myword] [--explain=regexp] [--alert]"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on USB"
+#: ../../standalone.pm_.c:84
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : don't be interactive. To be used with (dis)connect."
msgstr ""
-#: ../../interactive/newt.pm:1
-#, fuzzy, c-format
-msgid "Do"
-msgstr "Зроблена"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Contacting the mirror to get the list of available packages..."
-msgstr "Сувязь з люрам для атрымання спiсу даступных пакетаў"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (old)"
-msgstr "Лiтоўскi AZERTY (стары)"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Brazilian (ABNT-2)"
-msgstr "Бразiльскi (ABNT-2)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address of host/network:"
+#: ../../standalone.pm_.c:93
+msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone.pm_.c:94
msgid ""
-"the progress bar y coordinate\n"
-"of its upper left corner"
+"[OPTION]...\n"
+" --no-confirmation don't ask first confirmation question in "
+"MandrakeUpdate mode\n"
+" --no-verify-rpm don't verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
msgstr ""
-#: ../../install_gtk.pm:1
-#, fuzzy, c-format
-msgid "System installation"
-msgstr "Усталяванне SILO"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Vincent and the Grenadines"
+#: ../../standalone.pm_.c:99
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-usbtable] "
+"[--dynamic=dev]"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid reboot by the console user."
+#: ../../standalone.pm_.c:100
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
msgstr ""
-#: ../../standalone/logdrake:1
+#: ../../standalone.pm_.c:114
#, c-format
-msgid "/File/_Open"
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
msgstr ""
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Location of auto_install.cfg file"
-msgstr "Стварэнне дыскеты для ўсталявання"
+#: ../../standalone.pm_.c:168
+#, fuzzy
+msgid "Installing packages..."
+msgstr " %s"
-#: ../../any.pm:1
+#: ../../standalone/XFdrake_.c:138
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "i , i, Ctrl-Alt-BackSpace"
+
+#: ../../standalone/XFdrake_.c:142
#, c-format
-msgid "Open Firmware Delay"
-msgstr ""
+msgid "Please relog into %s to activate the changes"
+msgstr "i , i %s i "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Hungary"
-msgstr "Мадьярскi"
+#: ../../standalone/drakTermServ_.c:239
+#, fuzzy
+msgid "Mandrake Terminal Server Configuration"
+msgstr " I"
-#: ../../lang.pm:1
-#, c-format
-msgid "New Zealand"
-msgstr "Новая Зэляндыя"
+#: ../../standalone/drakTermServ_.c:253
+#, fuzzy
+msgid "Enable Server"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Color configuration"
-msgstr "Настройка"
+#: ../../standalone/drakTermServ_.c:260
+#, fuzzy
+msgid "Disable Server"
+msgstr " "
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"There are already some restrictions, and more automatic checks are run every "
-"night."
-msgstr ""
+#: ../../standalone/drakTermServ_.c:268
+#, fuzzy
+msgid "Start Server"
+msgstr "NIS :"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "please choose the date to restore"
-msgstr "калi ласка, пазначце тып вашай мышы."
+#: ../../standalone/drakTermServ_.c:275
+#, fuzzy
+msgid "Stop Server"
+msgstr "NIS :"
-#: ../../lang.pm:1
-#, c-format
-msgid "Netherlands Antilles"
-msgstr "Нідэрлянская Анцілія"
+#: ../../standalone/drakTermServ_.c:283
+#, fuzzy
+msgid "Etherboot Floppy/ISO"
+msgstr " . "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Switching from ext2 to ext3"
+#: ../../standalone/drakTermServ_.c:288
+msgid "Net Boot Images"
msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng"
-msgstr ""
+#: ../../standalone/drakTermServ_.c:294
+#, fuzzy
+msgid "Add/Del Users"
+msgstr " i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Browse to new restore repository."
+#: ../../standalone/drakTermServ_.c:299
+msgid "Add/Del Clients"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:328
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard allows you to install local or remote printers to be used from "
-"this machine and also from other machines in the network.\n"
+" Copyright (C) 2002 by MandrakeSoft \n"
+"\tStew Benedict sbenedict\\@mandrakesoft.com\n"
"\n"
-"It asks you for all necessary information to set up the printer and gives "
-"you access to all available printer drivers, driver options, and printer "
-"connection types."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "and %d unknown printers"
-msgstr "Iмя друкаркi"
-
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:332
msgid ""
-"Early Intel Pentium chips manufactured have a bug in their floating point "
-"processor which did not achieve the required precision when performing a "
-"Floating point DIVision (FDIV)"
+"\n"
+"\n"
+" Thanks:\n"
+"\t- LTSP Project http://www.ltsp.org\n"
+"\t- Michael Brown <mbrown\\@fensystems.co.uk>\n"
+"\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:365
msgid ""
-"Backup quota exceeded!\n"
-"%d MB used vs %d MB allocated."
+"drakTermServ Overview\n"
+"\t\t\t \n"
+" - Create Etherboot Enabled Boot Images:\n"
+" \t\tTo boot a kernel via etherboot, a special kernel/initrdrd image "
+"must be created.\n"
+" \t\tmkinitrd-net does much of this work and drakTermServ is just a "
+"graphical interface\n"
+" \t\tto help manage/customize these images.\n"
+"\n"
+" - Maintain /etc/dhcpd.conf:\n"
+" \t\tTo net boot clients, each client needs a dhcpd.conf entry, "
+"assigning an IP address\n"
+" \t\tand net boot images to the machine. drakTermServ helps create/"
+"remove these entries.\n"
+"\t\t\t\n"
+" \t\t(PCI cards may omit the image - etherboot will request the "
+"correct image. You should\n"
+" \t\talso consider that when etherboot looks for the images, it "
+"expects names like\n"
+" \t\tboot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
+"\t\t\t \n"
+" \t\tA typical dhcpd.conf stanza to support a diskless client looks "
+"like:\n"
+" \t\t\n"
+"\t\t\t\thost curly {\n"
+"\t\t\t\t\thardware ethernet 00:20:af:2f:f7:9d;\n"
+"\t\t\t\t\tfixed-address 192.168.192.3;\n"
+"\t\t\t\t\t/*type fat;*/\n"
+"\t\t\t\t\tfilename \"i386/boot/boot-3c509.2.4.18-6mdk."
+"nbi\";\n"
+"\t\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tWhile you can use a pool of IP addresses, rather than setup a specific "
+"entry for\n"
+"\t\t\ta client machine, using a fixed address scheme facilitates using the "
+"functionality\n"
+"\t\t\tof client-specific configuration files that ClusterNFS provides.\n"
+"\t\t\t\n"
+"\t\t\tNote: The \"/*type\" entry is only used by drakTermServ. Clients can "
+"either be \"thin\"*/\n"
+"\t\t\tor 'fat'. Thin clients run most software on the server via xdmcp, "
+"while fat clients run most\n"
+"\t\t\tsoftware on the client machine. A special inittab, /etc/inittab\\$\\"
+"$IP=client_ip\\$\\$ is\n"
+"\t\t\twritten for thin clients. System config files xdm-config, kdmrc, and "
+"gdm.conf are modified\n"
+"\t\t\tif thin clients are used, to enable xdmcp. Since there are security "
+"issues in using xdmcp,\n"
+"\t\t\thosts.deny and hosts.allow are modified to limit access to the local "
+"subnet.\n"
+"\t\t\t\n"
+"\t\t\tNote: You must stop/start the server after adding or changing "
+"clients.\n"
+"\t\t\t\n"
+" - Maintain /etc/exports:\n"
+" \t\tClusternfs allows export of the root filesystem to diskless "
+"clients. drakTermServ\n"
+" \t\tsets up the correct entry to allow anonymous access to the root "
+"filesystem from\n"
+" \t\tdiskless clients.\n"
+"\n"
+" \t\tA typical exports entry for clusternfs is:\n"
+" \t\t\n"
+" \t\t/ (ro,all_squash)\n"
+" \t\t/home SUBNET/MASK(rw,root_squash)\n"
+"\t\t\t\n"
+"\t\t\tWith SUBNET/MASK being defined for your network.\n"
+" \t\t\n"
+" - Maintain /etc/shadow\\$\\$CLIENT\\$\\$:\n"
+" \t\tFor users to be able to log into the system from a diskless "
+"client, their entry in\n"
+" \t\t/etc/shadow needs to be duplicated in /etc/shadow\\$\\$CLIENTS\\$"
+"\\$. drakTermServ helps\n"
+" \t\tin this respect by adding or removing system users from this "
+"file.\n"
+"\n"
+" - Per client /etc/X11XF86Config-4\\$\\$IP-ADDRESS\\$\\$:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future drakTermServ "
+"will help create these\n"
+" \t\tfiles.\n"
+"\n"
+" - Per client system configuration files:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future, "
+"drakTermServ can help create files\n"
+" \t\tsuch as /etc/modules.conf, /etc/sysconfig/mouse, /etc/sysconfig/"
+"keyboard on a per-client\n"
+" \t\tbasis.\n"
+"\n"
+" - /etc/xinetd.d/tftp:\n"
+" \t\tdrakTermServ will configure this file to work in conjunction "
+"with the images created by\n"
+" \t\tmkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
+"the boot image to each\n"
+" \t\tdiskless client.\n"
+"\n"
+" \t\tA typical tftp configuration file looks like:\n"
+" \t\t\n"
+" \t\tservice tftp\n"
+" \t\t(\n"
+" disable = no\n"
+" socket_type = dgram\n"
+" protocol = udp\n"
+" wait = yes\n"
+" user = root\n"
+" server = /usr/sbin/in.tftpd\n"
+" server_args = -s /var/lib/tftpboot\n"
+" \t\t}\n"
+" \t\t\n"
+" \t\tThe changes here from the default installation are changing the "
+"disable flag to\n"
+" \t\t'no' and changing the directory path to /var/lib/tftpboot, where "
+"mkinitrd-net\n"
+" \t\tputs it's images.\n"
+"\n"
+" - Create etherboot floppies/CDs:\n"
+" \t\tThe diskless client machines need either ROM images on the NIC, "
+"or a boot floppy\n"
+" \t\tor CD to initate the boot sequence. drakTermServ will help "
+"generate these images,\n"
+" \t\tbased on the NIC in the client machine.\n"
+" \t\t\n"
+" \t\tA basic example of creating a boot floppy for a 3Com 3c509 "
+"manually:\n"
+" \t\t\n"
+" \t\tcat /usr/lib/etherboot/boot1a.bin /\\n \t\t\t/usr/lib/"
+"etherboot/lzrom/3c509.lzrom > /dev/fd0\n"
+" \n"
+"\n"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr "Карта ISDN PCI не знойдзена. Калi ласка, пазначце на наступным экране."
-
-#: ../../common.pm:1
-#, c-format
-msgid "GB"
+#: ../../standalone/drakTermServ_.c:488
+msgid "Boot Floppy"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Please give a user name"
-msgstr "Калi ласка, увядзiце iмя карыстальнiку"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Enable CD Boot?"
+#: ../../standalone/drakTermServ_.c:490
+msgid "Boot ISO"
msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Simply reboot"
+#: ../../standalone/drakTermServ_.c:559
+msgid "Build Whole Kernel -->"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid " enter `void' for void entry"
+#: ../../standalone/drakTermServ_.c:561 ../../standalone/drakTermServ_.c:591
+msgid "This will take a few minutes."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backups on unmountable media - Use Catalog to restore"
+#: ../../standalone/drakTermServ_.c:573
+msgid "No kernel selected!"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "January"
-msgstr "Студзень"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Password history length"
-msgstr "Гэты пароль занадта просты"
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Winmodem connection"
-msgstr "Злучэнне прынтэру"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Congratulations, your printer is now installed and configured!\n"
-"\n"
-"You can print using the \"Print\" command of your application (usually in "
-"the \"File\" menu).\n"
-"\n"
-"If you want to add, remove, or rename a printer, or if you want to change "
-"the default option settings (paper input tray, printout quality, ...), "
-"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
-"Center."
+#: ../../standalone/drakTermServ_.c:576
+msgid "Build Single NIC -->"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Now, you can run xawtv (under X Window!) !\n"
-msgstr ""
+#: ../../standalone/drakTermServ_.c:587
+#, fuzzy
+msgid "No nic selected!"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Not enough swap space to fulfill installation, please add some"
+#: ../../standalone/drakTermServ_.c:590
+msgid "Build All Kernels -->"
msgstr ""
-"Не хапае месца ў буферы падкачкi (swap) для ўсталявання, павялiчце яго."
-#. -PO: example: lilo-graphic on /dev/hda1
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "%s on %s"
-msgstr "Порт"
+#: ../../standalone/drakTermServ_.c:604
+#, fuzzy
+msgid "<-- Delete"
+msgstr "i"
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Allow/Forbid remote root login."
-msgstr "Аддалены прынтэр"
+#: ../../standalone/drakTermServ_.c:611
+#, fuzzy
+msgid "Delete All NBIs"
+msgstr " "
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:668
msgid ""
-"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
-"local time according to the time zone you selected. If the clock on your\n"
-"motherboard is set to local time, you may deactivate this by unselecting\n"
-"\"%s\", which will let GNU/Linux know that the system clock and the\n"
-"hardware clock are in the same timezone. This is useful when the machine\n"
-"also hosts another operating system like Windows.\n"
-"\n"
-"The \"%s\" option will automatically regulate the clock by connecting to a\n"
-"remote time server on the Internet. For this feature to work, you must have\n"
-"a working Internet connection. It is best to choose a time server located\n"
-"near you. This option actually installs a time server that can used by\n"
-"other machines on your local network as well."
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create log file!"
+"!!! Indicates the password in the system database is different than\n"
+" the one in the Terminal Server database.\n"
+"Delete/re-add the user to the Terminal Server to enable login."
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakclock:1
-#, c-format
-msgid "Which is your timezone?"
-msgstr "Якi ваш часавы пояс?"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use .backupignore files"
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../standalone/drakTermServ_.c:673
+#, fuzzy
+msgid "Add User -->"
+msgstr " i"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Guinea"
-msgstr "Агульны"
+#: ../../standalone/drakTermServ_.c:681
+msgid "<-- Del User"
+msgstr ""
-#: ../../network/tools.pm:1
+#: ../../standalone/drakTermServ_.c:720
#, fuzzy, c-format
-msgid "The system is now connected to the Internet."
-msgstr "Як вы плануеце далучыцца да Iнтэрнэту?"
+msgid "type: %s"
+msgstr ": "
-#: ../../lang.pm:1
-#, c-format
-msgid "South Georgia and the South Sandwich Islands"
+#: ../../standalone/drakTermServ_.c:753
+msgid "No net boot images created!"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (broadcast)"
+#: ../../standalone/drakTermServ_.c:773
+msgid "Thin Client"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Monitor\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer."
+#: ../../standalone/drakTermServ_.c:775
+msgid "Allow Thin Clients"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mozambique"
-msgstr "Мазамбік"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Icon"
-msgstr "Пiктаграма"
-
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "Kill those programs"
+#: ../../standalone/drakTermServ_.c:778
+msgid "Add Client -->"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please choose what you want to backup"
-msgstr "Выбар пакетаў для ўсталявання"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "256 colors (8 bits)"
-msgstr "256 колераў (8 бiтаў)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Read-write"
-msgstr "Чытанне-запiс"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s\n"
-msgstr "Памер: %s\n"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Hostname: "
-msgstr "Iмя машыны"
+#: ../../standalone/drakTermServ_.c:821
+msgid "<-- Edit Client"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Add a rule"
-msgstr "Дадаць карыстальнiка"
+#: ../../standalone/drakTermServ_.c:837
+#, fuzzy
+msgid "Delete Client"
+msgstr "i"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Памер фрагменту %s\n"
+#: ../../standalone/drakTermServ_.c:843
+#, fuzzy
+msgid "dhcpd Config..."
+msgstr " IDE"
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid "Build the future of Linux!"
+#: ../../standalone/drakTermServ_.c:876
+msgid ""
+"Need to restart the Display Manager for full changes to take effect. \n"
+"(service dm restart - at the console)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Local Printer"
-msgstr "Лакальны прынтэр"
+#: ../../standalone/drakTermServ_.c:894
+msgid "Subnet:"
+msgstr ""
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Floppy access error, unable to mount device %s"
-msgstr "Куды вы жадаеце манцiраваць прыладу %s?"
+#: ../../standalone/drakTermServ_.c:901
+#, fuzzy
+msgid "Netmask:"
+msgstr " i"
-#: ../../standalone.pm:1
-#, c-format
-msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+#: ../../standalone/drakTermServ_.c:908
+msgid "Routers:"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "ADSL connection"
-msgstr "Размеркаванне"
+#: ../../standalone/drakTermServ_.c:915
+msgid "Subnet Mask:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No configuration, please click Wizard or Advanced.\n"
+#: ../../standalone/drakTermServ_.c:922
+msgid "Broadcast Address:"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Error!"
-msgstr "Памылка"
+#: ../../standalone/drakTermServ_.c:929
+#, fuzzy
+msgid "Domain Name:"
+msgstr "I "
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "cable connection detected"
-msgstr "Злучэнне прынтэру"
+#: ../../standalone/drakTermServ_.c:937
+#, fuzzy
+msgid "Name Servers:"
+msgstr "NIS :"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission denied transferring %s to %s"
+#: ../../standalone/drakTermServ_.c:948
+msgid "IP Range Start:"
msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Report Bug"
-msgstr "/_Паведаміць пра памылку"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Dominica"
-msgstr "NIS Domain"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resize"
-msgstr "Змяненне памераў"
+#: ../../standalone/drakTermServ_.c:949
+msgid "IP Range End:"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Памеры экрану: %s\n"
+#: ../../standalone/drakTermServ_.c:1001
+#, fuzzy
+msgid "dhcpd Server Configuration"
+msgstr " i"
-#: ../../install2.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:1002
msgid ""
-"Can't access kernel modules corresponding to your kernel (file %s is "
-"missing), this generally means your boot floppy in not in sync with the "
-"Installation medium (please create a newer boot floppy)"
+"Most of these values were extracted\n"
+"from your running system.\n"
+"You can modify as needed."
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Please select the correct port. For example, the \"COM1\" port under\n"
-"Windows is named \"ttyS0\" under GNU/Linux."
+#: ../../standalone/drakTermServ_.c:1005
+msgid "Dynamic IP Address Pool:"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be removed"
-msgstr "Наступныя пакеты будуць выдалены"
+#: ../../standalone/drakTermServ_.c:1018
+#, fuzzy
+msgid "Write Config"
+msgstr " X Window"
-#: ../../network/adsl.pm:1 ../../network/ethernet.pm:1
-#, c-format
-msgid "Connect to the Internet"
-msgstr "Далучэнне да Iнтэрнэту"
+#: ../../standalone/drakTermServ_.c:1120
+#, fuzzy
+msgid "Please insert floppy disk:"
+msgstr " %s"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use existing partitions"
-msgstr "Выкарыстоўваць iснуючы раздзел"
+#: ../../standalone/drakTermServ_.c:1124
+msgid "Couldn't access the floppy!"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Canadian (Quebec)"
-msgstr "Канадскi (Квебэк)"
+#: ../../standalone/drakTermServ_.c:1126
+msgid "Floppy can be removed now"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Мыш: %s\n"
+#: ../../standalone/drakTermServ_.c:1129
+#, fuzzy
+msgid "No floppy drive available!"
+msgstr " "
-#: ../../standalone/drakfont:1
+#: ../../standalone/drakTermServ_.c:1138
#, c-format
-msgid "Reselect correct fonts"
+msgid "Etherboot ISO image is %s"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Options\n"
-"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+#: ../../standalone/drakTermServ_.c:1140
+msgid "Something went wrong! - Is mkisofs installed?"
msgstr ""
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, fuzzy, c-format
-msgid "MandrakeExpert Corporate"
-msgstr "эксперт"
-
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-" [everything]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake resolution"
+#: ../../standalone/drakTermServ_.c:1159
+msgid "Need to create /etc/dhcpd.conf first!"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Write protection"
-msgstr "Аддалены прынтэр"
+#: ../../standalone/drakTermServ_.c:1451
+msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "You've not selected any font"
-msgstr "Выдалiць чаргу друку"
+#: ../../standalone/drakautoinst_.c:40
+#, fuzzy
+msgid "Error!"
+msgstr ""
-#: ../../steps.pm:1
+#: ../../standalone/drakautoinst_.c:41
#, c-format
-msgid "Language"
-msgstr "Выбар мовы"
+msgid "I can't find needed image file `%s'."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer model selection"
-msgstr "Злучэнне прынтэру"
+#: ../../standalone/drakautoinst_.c:43
+#, fuzzy
+msgid "Auto Install Configurator"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:44
msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
-msgstr "Усе дадзеныя ў раздзеле %s будуць страчаны пасля змены яго тыпу"
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "ISDN adapters"
-msgstr "Унутраная ISDN карта"
-
-#: ../../common.pm:1
-#, c-format
-msgid "%d seconds"
-msgstr "%d секундаў"
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Устаўце дыскету ў дыскавод %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A valid URI must be entered!"
-msgstr ""
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Found \"%s\" interface do you want to use it ?"
+"You are about to configure an Auto Install floppy. This feature is somewhat "
+"dangerous and must be used circumspectly.\n"
+"\n"
+"With that feature, you will be able to replay the installation you've "
+"performed on this computer, being interactively prompted for some steps, in "
+"order to change their values.\n"
+"\n"
+"For maximum safety, the partitioning and formatting will never be performed "
+"automatically, whatever you chose during the install of this computer.\n"
+"\n"
+"Do you want to continue?"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Re-configure interface and DHCP server"
+#: ../../standalone/drakautoinst_.c:62 ../../standalone/drakautoinst_.c:71
+msgid "manual"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
-msgid "Sound configuration"
-msgstr "Настройка"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Photo test page"
-msgstr "Друк тэставых старонак"
+#: ../../standalone/drakautoinst_.c:62
+#, fuzzy
+msgid "replay"
+msgstr "i"
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Custom disk partitioning"
-msgstr "Выкарыстоўваць iснуючы раздзел"
+#: ../../standalone/drakautoinst_.c:66
+#, fuzzy
+msgid "Automatic Steps Configuration"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter Printer Name and Comments"
+#: ../../standalone/drakautoinst_.c:67
+msgid ""
+"Please choose for each step whether it will replay like your install, or it "
+"will be manual"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakautoinst_.c:78 ../../standalone/drakautoinst_.c:79
+#, fuzzy
+msgid "Creating auto install floppy"
+msgstr " "
+
+#: ../../standalone/drakautoinst_.c:139
msgid ""
-"The following printers\n"
"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr "У вашай сістэме няма нiводнага сеткавага адаптара!"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "You don't have any winmodem"
+"Welcome.\n"
+"\n"
+"The parameters of the auto-install are available in the sections on the left"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "type: %s"
-msgstr "Тып: "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTY)"
-msgstr "Славацкi (QWERTY)"
+#: ../../standalone/drakautoinst_.c:234 ../../standalone/drakgw_.c:504
+#: ../../standalone/scannerdrake_.c:117
+msgid "Congratulations!"
+msgstr " ii!"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:235
msgid ""
-"This should be a comma-separated list of local users or email addresses that "
-"you want the backup results sent to. You will need a functioning mail "
-"transfer agent setup on your system."
+"The floppy has been successfully generated.\n"
+"You may now replay your installation."
msgstr ""
-#: ../../standalone/draksound:1
-#, fuzzy, c-format
-msgid "No Sound Card detected!"
-msgstr "Размеркаванне"
+#: ../../standalone/drakautoinst_.c:273
+#, fuzzy
+msgid "Auto Install"
+msgstr "븢"
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse Port"
-msgstr "Порт мышы"
+#: ../../standalone/drakautoinst_.c:343
+#, fuzzy
+msgid "Add an item"
+msgstr " i"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check for unsecured accounts"
-msgstr ""
+#: ../../standalone/drakautoinst_.c:350
+#, fuzzy
+msgid "Remove the last item"
+msgstr " i %s"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Need to restart the Display Manager for full changes to take effect. \n"
-"(service dm restart - at the console)"
+#: ../../standalone/drakbackup_.c:580
+msgid "Cron not available yet as non-root"
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Ftp Server"
-msgstr "NIS сервер:"
+#: ../../standalone/drakbackup_.c:690
+msgid "WARNING"
+msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Uganda"
-msgstr "Адкат"
+#: ../../standalone/drakbackup_.c:691
+#, fuzzy
+msgid "FATAL"
+msgstr "FAT"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "%s fonts conversion"
+#: ../../standalone/drakbackup_.c:692
+msgid "INFO"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "the type of bus on which the mouse is connected"
-msgstr "Калi ласка, пазначце послядоўны порт, да якога падключана вашая мыш."
-
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:704
msgid ""
-"As a review, DrakX will present a summary of information it has about your\n"
-"system. Depending on your installed hardware, you may have some or all of\n"
-"the following entries. Each entry is made up of the configuration item to\n"
-"be configured, followed by a quick summary of the current configuration.\n"
-"Click on the corresponding \"%s\" button to change that.\n"
-"\n"
-" * \"%s\": check the current keyboard map configuration and change that if\n"
-"necessary.\n"
-"\n"
-" * \"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list.\n"
-"\n"
-" * \"%s\": By default, DrakX deduces your time zone based on the country\n"
-"you have chosen. You can click on the \"%s\" button here if this is not\n"
-"correct.\n"
-"\n"
-" * \"%s\": check the current mouse configuration and click on the button to\n"
-"change it if necessary.\n"
-"\n"
-" * \"%s\": clicking on the \"%s\" button will open the printer\n"
-"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-"Guide'' for more information on how to setup a new printer. The interface\n"
-"presented there is similar to the one used during installation.\n"
-"\n"
-" * \"%s\": if a sound card is detected on your system, it is displayed\n"
-"here. If you notice the sound card displayed is not the one that is\n"
-"actually present on your system, you can click on the button and choose\n"
-"another driver.\n"
"\n"
-" * \"%s\": by default, DrakX configures your graphical interface in\n"
-"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
-"\"%s\" to reconfigure your graphical interface.\n"
+" DrakBackup Report \n"
"\n"
-" * \"%s\": if a TV card is detected on your system, it is displayed here.\n"
-"If you have a TV card and it is not detected, click on \"%s\" to try to\n"
-"configure it manually.\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:705
+msgid ""
"\n"
-" * \"%s\": if an ISDN card is detected on your system, it will be displayed\n"
-"here. You can click on \"%s\" to change the parameters associated with the\n"
-"card.\n"
+" DrakBackup Daemon Report\n"
"\n"
-" * \"%s\": If you want to configure your Internet or local network access\n"
-"now.\n"
"\n"
-" * \"%s\": this entry allows you to redefine the security level as set in a\n"
-"previous step ().\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:709
+msgid ""
"\n"
-" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
-"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
-"the corresponding section of the ``Starter Guide'' for details about\n"
-"firewall settings.\n"
+" DrakBackup Report Details\n"
"\n"
-" * \"%s\": if you wish to change your bootloader configuration, click that\n"
-"button. This should be reserved to advanced users.\n"
"\n"
-" * \"%s\": here you'll be able to fine control which services will be run\n"
-"on your machine. If you plan to use this machine as a server it's a good\n"
-"idea to review this setup."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Comoros"
-msgstr "Камарас"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "May"
-msgstr "Травень"
-
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Yaboot mode"
-msgstr "Загрузачная прылада"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse"
-msgstr "Звычайная мыш з 3 кнопкамі"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable)"
-msgstr ""
+#: ../../standalone/drakbackup_.c:730 ../../standalone/drakbackup_.c:803
+#: ../../standalone/drakbackup_.c:859
+#, fuzzy
+msgid "Total progess"
+msgstr " "
-#: ../../standalone/drakboot:1
+#: ../../standalone/drakbackup_.c:785
#, c-format
msgid ""
-"Can't relaunch LiLo!\n"
-"Launch \"lilo\" as root in command line to complete LiLo theme installation."
+"%s exists, delete?\n"
+"\n"
+"Warning: If you've already done this process you'll probably\n"
+" need to purge the entry from authorized_keys on the server."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Select another media to restore from"
-msgstr "калi ласка, пазначце тып вашай мышы."
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Software Manager"
-msgstr "Iмя для размеркаванага рэсурсу"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Re-submit"
+#: ../../standalone/drakbackup_.c:794
+msgid "This may take a moment to generate the keys."
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:801
#, c-format
-msgid "CD in place - continue."
+msgid "ERROR: Cannot spawn %s."
msgstr ""
-#: ../../common.pm:1
+#: ../../standalone/drakbackup_.c:818
#, c-format
-msgid "KB"
+msgid "No password prompt on %s at port %s"
msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:819
#, fuzzy, c-format
-msgid "Network & Internet"
-msgstr "Сеткавы iнтэрфейс"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Лiтоўскi \"фанетычны\" QWERTY"
+msgid "Bad password on %s"
+msgstr " "
-#: ../../standalone/drakTermServ:1
+#: ../../standalone/drakbackup_.c:820
#, c-format
-msgid "Net Boot Images"
+msgid "Permission denied transferring %s to %s"
msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/drakbackup_.c:821
#, fuzzy, c-format
-msgid "Sharing of local scanners"
-msgstr "Даступныя пакеты"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play probing failed. Please select the correct monitor"
-msgstr ""
+msgid "Can't find %s on %s"
+msgstr " %s i: %s"
-#: ../../../move/move.pm:1
+#: ../../standalone/drakbackup_.c:824
#, c-format
-msgid "Detect again USB key"
+msgid "%s not responding"
msgstr ""
-#: ../../services.pm:1
+#: ../../standalone/drakbackup_.c:828
#, c-format
-msgid "Services and deamons"
+msgid ""
+"Transfer successful\n"
+"You may want to verify you can login to the server with:\n"
+"\n"
+"ssh -i %s %s\\@%s\n"
+"\n"
+"without being prompted for a password."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remote host name missing!"
-msgstr "Аддалены вузел"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "with /usr"
+#: ../../standalone/drakbackup_.c:873
+msgid "WebDAV remote site already in sync!"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Network"
-msgstr "Сетка:"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected to machines running Microsoft Windows"
+#: ../../standalone/drakbackup_.c:877
+msgid "WebDAV transfer failed!"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "This password is too simple"
-msgstr "Гэты пароль занадта просты"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Chkconfig obey msec rules"
-msgstr "Настройка службаў"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTZ)"
-msgstr "Славацкi (QWERTZ)"
-
-#: ../advertising/06-development.pl:1
-#, c-format
-msgid ""
-"To modify and to create in different languages such as Perl, Python, C and C+"
-"+ has never been so easy thanks to GNU gcc 3 and the best Open Source "
-"development environments."
+#: ../../standalone/drakbackup_.c:898
+msgid "No CDR/DVDR in drive!"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "No devices found"
-msgstr "Лакальны прынтэр"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Truly minimal install (especially no urpmi)"
+#: ../../standalone/drakbackup_.c:902
+msgid "Does not appear to be recordable media!"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use daemon"
-msgstr "Iмя карыстальнiку:"
-
-#: ../../install_steps_interactive.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakconnect:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Authentication"
-msgstr "Аўтэнтыфiкацыя"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
+#: ../../standalone/drakbackup_.c:906
+msgid "Not erasable media!"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Additional CUPS servers: "
-msgstr "IP сервера SMB"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Choose one of the auto-detected printers from the list or enter the hostname "
-"or IP and the optional port number (default is 9100) in the input fields."
+#: ../../standalone/drakbackup_.c:945
+msgid "This may take a moment to erase the media."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Where do you want to mount %s?"
-msgstr "Куды вы жадаеце манцiраваць прыладу %s?"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Algeria"
-msgstr "паслядоўная"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Via Network"
-msgstr "Пераканфiгураваць лакальную сетку"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tar and bzip2 (rather than tar and gzip)"
+#: ../../standalone/drakbackup_.c:1033
+msgid "Permission problem accessing CD."
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Initrd-size"
-msgstr "Initrd"
-
-#: ../../help.pm:1
+#: ../../standalone/drakbackup_.c:1060
#, c-format
-msgid ""
-"In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
+msgid "No tape in %s!"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and gzip\n"
+#: ../../standalone/drakbackup_.c:1174 ../../standalone/drakbackup_.c:1223
+msgid "Backup system files..."
msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Set as default"
-msgstr "Па дамаўленню"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "2 MB"
-msgstr "2 Мб"
+#: ../../standalone/drakbackup_.c:1224 ../../standalone/drakbackup_.c:1291
+#, fuzzy
+msgid "Hard Disk Backup files..."
+msgstr " ii"
-#: ../../printer/main.pm:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configured on this machine"
-msgstr "Настройка мышы"
+#: ../../standalone/drakbackup_.c:1236
+#, fuzzy
+msgid "Backup User files..."
+msgstr " ii"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Control keys simultaneously"
+#: ../../standalone/drakbackup_.c:1237
+msgid "Hard Disk Backup Progress..."
msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid " --help - display this help \n"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1290
+#, fuzzy
+msgid "Backup Other files..."
+msgstr " ii"
+
+#: ../../standalone/drakbackup_.c:1296
+#, fuzzy
+msgid "No changes to backup!"
+msgstr " ii"
-#: ../../standalone.pm:1
+#: ../../standalone/drakbackup_.c:1312 ../../standalone/drakbackup_.c:1335
#, c-format
msgid ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in "
-"MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the "
-"description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+"\n"
+"Drakbackup activities via %s:\n"
+"\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Setting Default Printer..."
-msgstr "Лакальны прынтэр"
-
-#: ../../standalone/drakgw:1
+#: ../../standalone/drakbackup_.c:1319
#, c-format
-msgid "Interface %s (using module %s)"
+msgid ""
+"file list sent by FTP: %s\n"
+" "
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Generating preview ..."
-msgstr "Вызначэнне прыладаў..."
-
-#: ../../network/network.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1322
msgid ""
-"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
-"frequency), or add enough '0' (zeroes)."
+"\n"
+" FTP connection problem: It was not possible to send your backup files by "
+"FTP.\n"
msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "ignore"
-msgstr "няма"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1340
msgid ""
-"Allow/Forbid X connections:\n"
-"\n"
-"- ALL (all connections are allowed),\n"
"\n"
-"- LOCAL (only connection from local machine),\n"
+"Drakbackup activities via CD:\n"
"\n"
-"- NONE (no connection)."
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on parallel port #%s"
+#: ../../standalone/drakbackup_.c:1345
+msgid ""
+"\n"
+"Drakbackup activities via tape:\n"
+"\n"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "serial"
-msgstr "паслядоўная"
+#: ../../standalone/drakbackup_.c:1354
+#, fuzzy
+msgid " Error during mail sending. \n"
+msgstr " %s"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "DVD-ROM"
+#: ../../standalone/drakbackup_.c:1380
+msgid "Can't create catalog!"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Грузiнскi (\"Лацiнская\" раскладка)"
+#: ../../standalone/drakbackup_.c:1490 ../../standalone/drakbackup_.c:1501
+#: ../../standalone/drakfont_.c:946
+#, fuzzy
+msgid "File Selection"
+msgstr " "
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid "Get the best items with Mandrake Linux Strategic partners"
+#: ../../standalone/drakbackup_.c:1529
+msgid "Select the files or directories and click on 'Add'"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1573
msgid ""
-"You may now provide options to module %s.\n"
-"Note that any address should be entered with the prefix 0x like '0x123'"
-msgstr ""
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Kenya"
-msgstr "Клавiятура"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``Unmount'' first"
-msgstr "Спачатку зрабiце ``Unmount''"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing mtools packages..."
-msgstr "Усталяванне пакету %s"
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "You must specify a root partition"
-msgstr "Вы павiнны мець раздзел swap"
-
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "first step creation"
-msgstr "Настройка пасля ўсталявання"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Shift keys simultaneously"
+"\n"
+"Please check all options that you need.\n"
msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1574
msgid ""
-" --id <id_label> - load the html help page which refers to id_label\n"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Select a scanner model"
-msgstr "Абярыце вiдэакарту"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Accept/Refuse bogus IPv4 error messages."
-msgstr ""
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng - LPR New Generation"
+"These options can backup and restore all files in your /etc directory.\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Drakbackup Configuration"
-msgstr "Канфiгурацыя сеткi"
+#: ../../standalone/drakbackup_.c:1575
+#, fuzzy
+msgid "Backup your System files. (/etc directory)"
+msgstr " ii"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Save as.."
+#: ../../standalone/drakbackup_.c:1576
+msgid "Use incremental backup (do not replace old backups)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea (North)"
+#: ../../standalone/drakbackup_.c:1577
+msgid "Do not include critical files (passwd, group, fstab)"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1578
msgid ""
-"This interface has not been configured yet.\n"
-"Launch the configuration wizard in the main window"
+"With this option you will be able to restore any version\n"
+" of your /etc directory."
msgstr ""
-#: ../../install_gtk.pm:1
-#, fuzzy, c-format
-msgid "System configuration"
-msgstr "Настройка"
-
-#: ../../any.pm:1 ../../security/l10n.pm:1
-#, c-format
-msgid "Autologin"
-msgstr "Аўтаматычны ўваход у сiстэму"
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Domain Admin Password"
-msgstr "Падцвердзiць пароль"
+#: ../../standalone/drakbackup_.c:1595
+#, fuzzy
+msgid "Please check all users that you want to include in your backup."
+msgstr " "
-#: ../advertising/05-desktop.pl:1
-#, c-format
-msgid ""
-"Perfectly adapt your computer to your needs thanks to the 11 available "
-"Mandrake Linux user interfaces which can be fully modified: KDE 3.1, GNOME "
-"2.2, Window Maker, ..."
+#: ../../standalone/drakbackup_.c:1622
+msgid "Do not include the browser cache"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configuring printer ..."
-msgstr "Настройка прынтэру"
-
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"To ensure data integrity after resizing the partition(s), \n"
-"filesystem checks will be run on your next boot into Windows(TM)"
+#: ../../standalone/drakbackup_.c:1623 ../../standalone/drakbackup_.c:1647
+msgid "Use Incremental Backups (do not replace old backups)"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "MB"
-msgstr "Мб"
+#: ../../standalone/drakbackup_.c:1645 ../../standalone/drakfont_.c:1000
+#, fuzzy
+msgid "Remove Selected"
+msgstr "i "
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run some checks against the rpm database."
-msgstr ""
+#: ../../standalone/drakbackup_.c:1679
+#, fuzzy
+msgid "Windows (FAT32)"
+msgstr "i Windows(TM)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (British)"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1714
+#, fuzzy
+msgid "Users"
+msgstr "I i:"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Bermuda"
-msgstr "Нямецкi"
+#: ../../standalone/drakbackup_.c:1740
+#, fuzzy
+msgid "Use network connection to backup"
+msgstr " ii"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "click here if you are sure."
+#: ../../standalone/drakbackup_.c:1742
+msgid "Net Method:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"No configuration file found \n"
-"please click Wizard or Advanced."
+#: ../../standalone/drakbackup_.c:1746
+msgid "Use Expect for SSH"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakbackup_.c:1747
msgid ""
-"Listed here are the existing Linux partitions detected on your hard drive.\n"
-"You can keep the choices made by the wizard, since they are good for most\n"
-"common installations. If you make any changes, you must at least define a\n"
-"root partition (\"/\"). Do not choose too small a partition or you will not\n"
-"be able to install enough software. If you want to store your data on a\n"
-"separate partition, you will also need to create a \"/home\" partition\n"
-"(only possible if you have more than one Linux partition available).\n"
-"\n"
-"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
-"\n"
-"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc."
+"Create/Transfer\n"
+"backup keys for SSH"
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:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, fuzzy, c-format
-msgid "Remove"
-msgstr "Аддалены прынтэр"
-#: ../../lang.pm:1
-#, c-format
-msgid "Lesotho"
-msgstr "Лісота"
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "utopia 25"
+#: ../../standalone/drakbackup_.c:1748
+msgid ""
+" Transfer \n"
+"Now"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Pipe job into a command"
+#: ../../standalone/drakbackup_.c:1749
+msgid ""
+"Other (not drakbackup)\n"
+"keys in place already"
msgstr ""
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Remove system config files"
-msgstr "Фарматаванне вiртуальнага раздзелу %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cote d'Ivoire"
-msgstr "Котэ дэ Інворэ"
+#: ../../standalone/drakbackup_.c:1753
+#, fuzzy
+msgid "Please enter the host name or IP."
+msgstr " , ."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "new dynamic device name generated by core kernel devfs"
+#: ../../standalone/drakbackup_.c:1758
+msgid ""
+"Please enter the directory (or module) to\n"
+" put the backup on this host."
msgstr ""
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/drakgw:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Yes"
-msgstr "Так"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which protocol do you want to use?"
-msgstr "Якi пратакол вы жадаеце выкарыстоўваць?"
+#: ../../standalone/drakbackup_.c:1763
+#, fuzzy
+msgid "Please enter your login"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Progress"
-msgstr "Аднаўленне з файлу"
+#: ../../standalone/drakbackup_.c:1768
+#, fuzzy
+msgid "Please enter your password"
+msgstr " "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Estonia"
-msgstr "Эстонскi"
+#: ../../standalone/drakbackup_.c:1774
+#, fuzzy
+msgid "Remember this password"
+msgstr " "
-#: ../../partition_table.pm:1
-#, c-format
-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."
+#: ../../standalone/drakbackup_.c:1785
+msgid "Need hostname, username and password!"
msgstr ""
-"Вы маеце дзiрку ў таблiцы радзелаў, але я не маю магчымасцi яе скарыстаць.\n"
-"Адзiны выхад у тым, каб перамясцiць першасныя раздзелы так, каб дзiрка iшла\n"
-"адразу за пашыраным (extended) раздзелам"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Choose the host on which the local scanners should be made available:"
+#: ../../standalone/drakbackup_.c:1879
+msgid "Use CD/DVDROM to backup"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Channel"
-msgstr "Адмена"
-
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Add"
-msgstr "Дадаць"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " Error while sending mail. \n"
-msgstr "Памылка чытання файлу %s"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Keyboard"
-msgstr "Клавiятура"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1882
msgid ""
-"Insert the CD with volume label %s\n"
-" in the CD drive under mount point /mnt/cdrom"
+"Please choose your CD/DVD device\n"
+"(Press Enter to propogate settings to other fields.\n"
+"This field isn't necessary, only a tool to fill in the form.)"
msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid ""
-"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
-"enough '0' (zeroes)."
-msgstr ""
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Choose the connection you want to configure"
-msgstr "Абярыце iнструмент, якi жадаеце скарыстаць"
+#: ../../standalone/drakbackup_.c:1887
+#, fuzzy
+msgid "Please choose your CD/DVD media size (Mb)"
+msgstr "i , i."
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Please wait, setting security level..."
-msgstr "Настройкi ўзроўня бяспекi"
+#: ../../standalone/drakbackup_.c:1893
+#, fuzzy
+msgid "Please check for multisession CD"
+msgstr " "
-#: ../../network/network.pm:1
-#, c-format
-msgid "Configuring network device %s"
-msgstr "Настройка сеткавай прылады %s"
+#: ../../standalone/drakbackup_.c:1899
+#, fuzzy
+msgid "Please check if you are using CDRW media"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "activated"
-msgstr "Актыўны"
+#: ../../standalone/drakbackup_.c:1905
+#, fuzzy
+msgid "Please check if you want to erase your RW media (1st Session)"
+msgstr " "
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Please choose which network interface will be used for the dhcp server."
+#: ../../standalone/drakbackup_.c:1906
+msgid " Erase Now "
msgstr ""
-"Калi ласка, пазначце сеткавы адаптар, якi плануеце выкарыстоўваць для "
-"далучэння да iнтэрнэт"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Finding packages to upgrade..."
-msgstr "Пошук пакетаў для абнаўлення"
+#: ../../standalone/drakbackup_.c:1912
+#, fuzzy
+msgid "Please check if you are using a DVDR device"
+msgstr " "
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount point: "
-msgstr "Пункт манцiравання:"
+#: ../../standalone/drakbackup_.c:1918
+#, fuzzy
+msgid "Please check if you are using a DVDRAM device"
+msgstr " "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "parse all fonts"
+#: ../../standalone/drakbackup_.c:1931
+msgid ""
+"Please enter your CD Writer device name\n"
+" ex: 0,1,0"
msgstr ""
-#: ../../security/help.pm:1
-#, fuzzy, c-format
-msgid "Allow/Forbid direct root login."
-msgstr "Аддалены прынтэр"
+#: ../../standalone/drakbackup_.c:1964
+#, fuzzy
+msgid "No CD device defined!"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid " Accept/Refuse broadcasted icmp echo."
+#: ../../standalone/drakbackup_.c:2012
+#, fuzzy
+msgid "Use tape to backup"
+msgstr " ii"
+
+#: ../../standalone/drakbackup_.c:2015
+msgid "Please enter the device name to use for backup"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "With X"
-msgstr "Чакайце"
+#: ../../standalone/drakbackup_.c:2021
+#, fuzzy
+msgid "Please check if you want to use the non-rewinding device."
+msgstr " "
-#: ../../Xconfig/card.pm:1
-#, fuzzy, c-format
-msgid "Multi-head configuration"
-msgstr "чытанне настройкi"
+#: ../../standalone/drakbackup_.c:2027
+#, fuzzy
+msgid "Please check if you want to erase your tape before the backup."
+msgstr " "
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "No browser available! Please install one"
-msgstr "Вы можаце абраць іншыя мовы, якiя будуць даступны пасля ўсталявання"
+#: ../../standalone/drakbackup_.c:2033
+#, fuzzy
+msgid "Please check if you want to eject your tape after the backup."
+msgstr " "
-#: ../../Xconfig/main.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2039 ../../standalone/drakbackup_.c:2112
+#: ../../standalone/drakbackup_.c:3068
msgid ""
-"Keep the changes?\n"
-"The current configuration is:\n"
-"\n"
-"%s"
+"Please enter the maximum size\n"
+" allowed for Drakbackup"
msgstr ""
-"Ці жадаеце Вы захаваць змяненні?\n"
-"Бягучая канфігурацыя:\n"
-"\n"
-"%s"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr "Вы не можаце разбiваць на разделы, памер якiх меней за 32 Мб"
-#: ../../services.pm:1
-#, c-format
-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)."
+#: ../../standalone/drakbackup_.c:2103
+#, fuzzy
+msgid "Please enter the directory to save to:"
+msgstr " , ."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Domain name"
-msgstr "Iмя дамену"
+#: ../../standalone/drakbackup_.c:2118 ../../standalone/drakbackup_.c:3074
+#, fuzzy
+msgid "Use quota for backup files."
+msgstr " ii"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Sharing of local printers"
-msgstr "Даступныя пакеты"
+#: ../../standalone/drakbackup_.c:2180
+#, fuzzy
+msgid "Network"
+msgstr ":"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable libsafe if libsafe is found on the system."
+#: ../../standalone/drakbackup_.c:2185
+msgid "CDROM / DVDROM"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Available printers"
-msgstr "Даступныя пакеты"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "NO"
+#: ../../standalone/drakbackup_.c:2190
+msgid "HardDrive / NFS"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Empty"
-msgstr "Пуста"
+#: ../../standalone/drakbackup_.c:2195
+#, fuzzy
+msgid "Tape"
+msgstr ": "
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text width"
+#: ../../standalone/drakbackup_.c:2208 ../../standalone/drakbackup_.c:2212
+#: ../../standalone/drakbackup_.c:2216
+msgid "hourly"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Куды вы жадаеце манцiраваць прыладу %s?"
+#: ../../standalone/drakbackup_.c:2209 ../../standalone/drakbackup_.c:2213
+#: ../../standalone/drakbackup_.c:2216
+msgid "daily"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The default lease (in seconds)"
+#: ../../standalone/drakbackup_.c:2210 ../../standalone/drakbackup_.c:2214
+#: ../../standalone/drakbackup_.c:2216
+msgid "weekly"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid ""
-"We are now going to configure the %s connection.\n"
-"\n"
-"\n"
-"Press \"%s\" to continue."
+#: ../../standalone/drakbackup_.c:2211 ../../standalone/drakbackup_.c:2215
+#: ../../standalone/drakbackup_.c:2216
+msgid "monthly"
msgstr ""
-"\n"
-"Вы можаце адключыцца ці пераканфігураваць вашае злучэнне."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Interface \"%s\""
-msgstr "Сеткавы iнтэрфейс"
+#: ../../standalone/drakbackup_.c:2229
+#, fuzzy
+msgid "Use daemon"
+msgstr "I i:"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With basic documentation (recommended!)"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2234
+#, fuzzy
+msgid ""
+"Please choose the time \n"
+"interval between each backup"
+msgstr " "
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "1 button"
-msgstr "2 кнопкi"
+#: ../../standalone/drakbackup_.c:2240
+#, fuzzy
+msgid ""
+"Please choose the\n"
+"media for backup."
+msgstr "i , ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2247
msgid ""
+"Please be sure that the cron daemon is included in your services. \n"
"\n"
-"There are %d unknown printers directly connected to your system"
+"Note that currently all 'net' medias also use the hard drive."
msgstr ""
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Test"
-msgstr "Тэст"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Korea"
-msgstr "Перанос"
-
-#: ../../interactive/stdio.pm:1
-#, fuzzy, c-format
-msgid "Your choice? (default `%s'%s) "
-msgstr "Ваш выбар? (змоўчанне %s) "
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Raw printer"
-msgstr "Iмя друкаркi"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "official vendor name of the cpu"
+#: ../../standalone/drakbackup_.c:2283
+msgid "Send mail report after each backup to:"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Useless without Terminal Server"
+#: ../../standalone/drakbackup_.c:2289
+msgid "Delete Hard Drive tar files after backup to other media."
msgstr ""
-#: ../../Xconfig/monitor.pm:1 ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Vendor"
-msgstr "Адкат"
+#: ../../standalone/drakbackup_.c:2324
+#, fuzzy
+msgid "What"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "Сеткавы iнтэрфейс"
+#: ../../standalone/drakbackup_.c:2329
+#, fuzzy
+msgid "Where"
+msgstr " "
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure mouse"
-msgstr "Настройка мышы"
+#: ../../standalone/drakbackup_.c:2334
+#, fuzzy
+msgid "When"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the mount points"
-msgstr "Абярыце пункты манцiравання"
+#: ../../standalone/drakbackup_.c:2339
+#, fuzzy
+msgid "More Options"
+msgstr "i :"
-#: ../../help.pm:1 ../../standalone/drakTermServ:1 ../../standalone/drakfont:1
-#, c-format
-msgid "OK"
-msgstr "Так"
+#: ../../standalone/drakbackup_.c:2358 ../../standalone/drakbackup_.c:4444
+#, fuzzy
+msgid "Drakbackup Configuration"
+msgstr "i i"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Yugoslavian (latin)"
-msgstr "Азербайджанскі (latin)"
+#: ../../standalone/drakbackup_.c:2376
+#, fuzzy
+msgid "Please choose where you want to backup"
+msgstr " "
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing"
-msgstr "Усталёўваем"
+#: ../../standalone/drakbackup_.c:2378
+msgid "on Hard Drive"
+msgstr ""
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Logitech MouseMan with Wheel emulation"
-msgstr "Logitech MouseMan"
+#: ../../standalone/drakbackup_.c:2388
+#, fuzzy
+msgid "across Network"
+msgstr ":"
-#: ../../any.pm:1
-#, c-format
-msgid "Launch userdrake"
+#: ../../standalone/drakbackup_.c:2398
+msgid "on CDROM"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Is this an install or an upgrade?"
-msgstr "Абярыце ўсталяванне цi абнаўленне"
+#: ../../standalone/drakbackup_.c:2406
+#, fuzzy
+msgid "on Tape Device"
+msgstr " "
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "ISDN card"
-msgstr "Унутраная ISDN карта"
+#: ../../standalone/drakbackup_.c:2449
+#, fuzzy
+msgid "Please choose what you want to backup"
+msgstr " "
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid ""
-"To share your own knowledge and help build Linux software, join our "
-"discussion forums on our \"Community\" webpages."
+#: ../../standalone/drakbackup_.c:2450
+#, fuzzy
+msgid "Backup system"
+msgstr ". i"
+
+#: ../../standalone/drakbackup_.c:2451
+msgid "Backup Users"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Hard drive.\n"
+#: ../../standalone/drakbackup_.c:2454
+msgid "Select user manually"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2537
msgid ""
-"This step is activated only if an old GNU/Linux partition has been found on\n"
-"your machine.\n"
"\n"
-"DrakX now needs to know if you want to perform a new install or an upgrade\n"
-"of an existing Mandrake Linux system:\n"
-"\n"
-" * \"%s\": For the most part, this completely wipes out the old system. If\n"
-"you wish to change how your hard drives are partitioned, or change the file\n"
-"system, you should use this option. However, depending on your partitioning\n"
-"scheme, you can prevent some of your existing data from being over-written.\n"
-"\n"
-" * \"%s\": this installation class allows you to update the packages\n"
-"currently installed on your Mandrake Linux system. Your current\n"
-"partitioning scheme and user data is not altered. Most of other\n"
-"configuration steps remain available, similar to a standard installation.\n"
-"\n"
-"Using the ``Upgrade'' option should work fine on Mandrake Linux systems\n"
-"running version \"8.1\" or later. Performing an Upgrade on versions prior\n"
-"to Mandrake Linux version \"8.1\" is not recommended."
+"Backup Sources: \n"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2538
msgid ""
"\n"
-" Copyright (C) 2001-2002 by MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
+"- System Files:\n"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Printer on remote CUPS server"
-msgstr "Аддалены сервер CUPS"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2540
msgid ""
-"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "here if no."
-msgstr ""
-
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "DHCP host name"
-msgstr "Iмя машыны"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The maximum lease (in seconds)"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose which serial port your mouse is connected to."
-msgstr "Калi ласка, пазначце послядоўны порт, да якога падключана вашая мыш."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Did it work properly?"
+"\n"
+"- User Files:\n"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "Mount the file system read-only."
+#: ../../standalone/drakbackup_.c:2542
+msgid ""
+"\n"
+"- Other Files:\n"
msgstr ""
-#: ../../security/level.pm:1
+#: ../../standalone/drakbackup_.c:2544
#, c-format
-msgid "Poor"
-msgstr "Зусім слабы"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result by mail"
+msgid ""
+"\n"
+"- Save on Hard drive on path: %s\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Grenada"
-msgstr "Грэнада"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP start range"
+#: ../../standalone/drakbackup_.c:2547
+msgid ""
+"\n"
+"- Delete hard drive tar files after backup.\n"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Unsafe"
-msgstr "Ненадзейна"
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "SSH server"
-msgstr "NIS сервер:"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s сектараў"
-
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "No"
-msgstr "Не"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guadeloupe"
-msgstr "Гвадэлупа"
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Kannada"
-msgstr "Канадскi (Квебэк)"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font.\n"
+#: ../../standalone/drakbackup_.c:2553
+msgid ""
+"\n"
+"- Burn to CD"
msgstr ""
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr "Вы жадаеце каб BackSpace працаваў у кансолі як Delete?"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Vertical refresh rate"
-msgstr "Часціня вертыкальнай разгорткi"
-
-#: ../../install_steps_auto_install.pm:1 ../../install_steps_stdio.pm:1
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "Пераход на крок `%s'\n"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Niger"
-msgstr "Высокi"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Removing %s ..."
-msgstr "Памеры экрану: %s\n"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "No printer"
-msgstr "Iмя друкаркi"
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "alert configuration"
-msgstr "Настройка"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NetWare Printer Options"
-msgstr "Опцыi прынтэру NetWare"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "%s BootSplash (%s) preview"
+#: ../../standalone/drakbackup_.c:2554
+msgid "RW"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "February"
-msgstr "Люты"
-
-#: ../../standalone/drakfloppy:1
+#: ../../standalone/drakbackup_.c:2555
#, fuzzy, c-format
-msgid "General"
-msgstr "Агульны"
+msgid " on device: %s"
+msgstr ": %s\n"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "/etc/issue* exist"
+#: ../../standalone/drakbackup_.c:2556
+msgid " (multi-session)"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Add a user"
-msgstr "Дадаць карыстальнiка"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Канфiгурацыя сеткi"
-
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:2557
#, c-format
-msgid "April"
-msgstr "Красавік"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Deactivate now"
-msgstr "Актыўны"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "Mandatory package %s is missing"
+msgid ""
+"\n"
+"- Save to Tape on device: %s"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Philippines"
-msgstr "Хвіліпіны"
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakperm:1
-#: ../../standalone/draksec:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Ok"
-msgstr "Ок"
-
-#: ../../standalone/drakTermServ:1
+#: ../../standalone/drakbackup_.c:2558
#, c-format
-msgid "drakTermServ Overview"
+msgid "\t\tErase=%s"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print Queue Name"
-msgstr "Iмя чаргi друку"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you want to use aboot?"
-msgstr "Вы жадаеце выкарыстоўваць aboot?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belarusian"
-msgstr "Беларускі"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2561
#, c-format
msgid ""
-"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
-"printers.\n"
+"\n"
+"- Save via %s on host: %s\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Move files to the new partition"
-msgstr "Не хапае прасторы для стварэння новых раздзелаў"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2562
#, c-format
msgid ""
-"Add here the CUPS servers whose printers you want to use. You only need to "
-"do this if the servers do not broadcast their printer information into the "
-"local network."
+"\t\t user name: %s\n"
+"\t\t on path: %s \n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2563
+#, fuzzy
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Pitcairn"
-msgstr "Прынтэр"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore From Catalog"
-msgstr "Дадатковая таблiца раздзелаў"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "IDE"
-msgstr "IDE"
+"- Options:\n"
+msgstr "i"
-#: ../../fs.pm:1
-#, c-format
-msgid "mounting partition %s in directory %s failed"
+#: ../../standalone/drakbackup_.c:2564
+msgid "\tDo not include System Files\n"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo screen"
+#: ../../standalone/drakbackup_.c:2567
+msgid "\tBackups use tar and bzip2\n"
msgstr ""
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with graphical menu"
+#: ../../standalone/drakbackup_.c:2569
+msgid "\tBackups use tar and gzip\n"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Estimating"
-msgstr "Чакаецца"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It is already installed"
-msgstr "Вы не можаце адмянiць вылучэнне гэтага пакету. Ён ужо ўсталяваны"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ", printer \"%s\" on SMB/Windows server \"%s\""
-msgstr "SMB/Windows 95/98/NT"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Go on anyway?"
-msgstr "Усё роўна працягваць?"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Looking for available packages and rebuilding rpm database..."
-msgstr "Прагляд даступных пакетаў"
-
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:2572
#, c-format
msgid ""
"\n"
-" DrakBackup Report \n"
+"- Daemon (%s) include:\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Does not appear to be recordable media!"
+#: ../../standalone/drakbackup_.c:2573
+msgid "\t-Hard drive.\n"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Specify options"
-msgstr "Пазначце параметры"
+#: ../../standalone/drakbackup_.c:2574
+msgid "\t-CDROM.\n"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Vanuatu"
-msgstr "Ванааці"
+#: ../../standalone/drakbackup_.c:2575
+#, fuzzy
+msgid "\t-Tape \n"
+msgstr ": "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "New user list:\n"
+#: ../../standalone/drakbackup_.c:2576
+msgid "\t-Network by FTP.\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Either the server name or the server's IP must be given!"
+#: ../../standalone/drakbackup_.c:2577
+msgid "\t-Network by SSH.\n"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-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\"."
+#: ../../standalone/drakbackup_.c:2578
+msgid "\t-Network by rsync.\n"
msgstr ""
-"З дапамогай загрузачнага дыска вы зможаце загружаць Linux незалежна ад\n"
-" стандартнага загрузчыка. Гэта можа быць якасна, калi вы не жадаеце \n"
-"ўсталёўваць SILO, калi iншая аперацыйная сiстэма выдаляе SILO, цi SILO не \n"
-"можа працаваць у вашай канфiгурацыi. Загрузачны дыск таксама можа быць \n"
-"выкарыстан сумесна з выратавальнай дыскетай Mandrake Linux, якая вельмi \n"
-"палегчыць выратаванне сiстэмы пасля збою.\n"
-"\n"
-"Калi жадаеце стварыць загрузачны дыск зараз, устаўце дыскету ў першы\n"
-"дыскавод i нацiснiце \"Ok\"."
-#: ../../fsedit.pm:1
-#, fuzzy, c-format
-msgid "You can't use an encrypted file system for mount point %s"
+#: ../../standalone/drakbackup_.c:2579
+msgid "\t-Network by webdav.\n"
msgstr ""
-"Вам неабходна задаць правiльны тып файлавай сiстэмы (ext2, reiserfs)\n"
-"для гэтай кропкi манцiравання\n"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the password history length to prevent password reuse."
+#: ../../standalone/drakbackup_.c:2581
+msgid "No configuration, please click Wizard or Advanced.\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Norfolk Island"
-msgstr "Норфалскія выспы"
-
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Theme installation failed!"
-msgstr "Клас усталявання"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Nothing to do"
+#: ../../standalone/drakbackup_.c:2587
+msgid ""
+"List of data to restore:\n"
+"\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Use for loopback"
-msgstr "Выкарыстоўваць для вiртуальнай файлавай сiстэмы"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Bug Report Tool"
+#: ../../standalone/drakbackup_.c:2754
+msgid ""
+"List of data corrupted:\n"
+"\n"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Apply filter"
-msgstr "Ужыць фільтар"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pppoe"
-msgstr "выкарыстоўваць pppoe"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Moving files to the new partition"
-msgstr "Не хапае прасторы для стварэння новых раздзелаў"
+#: ../../standalone/drakbackup_.c:2756
+#, fuzzy
+msgid "Please uncheck or remove it on next time."
+msgstr " ?"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s з эксперыментальнай падтрымкай 3D-паскарэння"
+#: ../../standalone/drakbackup_.c:2766
+msgid "Backup files are corrupted"
+msgstr ""
-#: ../../help.pm:1 ../../interactive.pm:1
-#, c-format
-msgid "Advanced"
+#: ../../standalone/drakbackup_.c:2787
+msgid " All of your selected data have been "
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2788
#, c-format
-msgid "Transfer"
+msgid " Successfuly Restored on %s "
msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Dvorak (Swedish)"
-msgstr "Dvorak (US)"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Afghanistan"
-msgstr "Iранскi"
+#: ../../standalone/drakbackup_.c:2906
+#, fuzzy
+msgid " Restore Configuration "
+msgstr "i i"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "More Options"
-msgstr "Опцыi модулю:"
+#: ../../standalone/drakbackup_.c:2924
+msgid "OK to restore the other files."
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Delete Hard Drive tar files after backup to other media."
+#: ../../standalone/drakbackup_.c:2941
+msgid "User list to restore (only the most recent date per user is important)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Burundi"
-msgstr "Бурундзі"
+#: ../../standalone/drakbackup_.c:3019
+#, fuzzy
+msgid "Backup the system files before:"
+msgstr " ii"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../standalone/drakbackup_.c:3021
+#, fuzzy
+msgid "please choose the date to restore"
+msgstr "i , ."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add Client -->"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3057
+#, fuzzy
+msgid "Use Hard Disk to backup"
+msgstr " ii"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read carefully!"
-msgstr "Чытайце ўважлiва!"
+#: ../../standalone/drakbackup_.c:3060
+#, fuzzy
+msgid "Please enter the directory to save:"
+msgstr " , ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "RW"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3103
+#, fuzzy
+msgid "FTP Connection"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid ""
-"Please,\n"
-"type in your tv norm and country"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3110
+#, fuzzy
+msgid "Secure Connection"
+msgstr " "
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Port"
-msgstr "Порт"
+#: ../../standalone/drakbackup_.c:3134
+#, fuzzy
+msgid "Restore from Hard Disk."
+msgstr " "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "No (experts only)"
+#: ../../standalone/drakbackup_.c:3136
+msgid "Please enter the directory where backups are stored"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No kernel selected!"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3204
+#, fuzzy
+msgid "Select another media to restore from"
+msgstr "i , ."
-#. -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:1
-#, c-format
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr "Press enter to boot the selected OS, 'e' to edit the"
+#: ../../standalone/drakbackup_.c:3206
+#, fuzzy
+msgid "Other Media"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-GID"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3211
+#, fuzzy
+msgid "Restore system"
+msgstr " i"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "The encryption keys do not match"
-msgstr "Паролi не супадаюць"
+#: ../../standalone/drakbackup_.c:3212
+#, fuzzy
+msgid "Restore Users"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"For a multisession CD, only the first session will erase the cdrw. Otherwise "
-"the cdrw is erased before each backup."
-msgstr ""
+#: ../../standalone/drakbackup_.c:3213
+#, fuzzy
+msgid "Restore Other"
+msgstr " "
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "USB printer"
-msgstr "Iмя друкаркi"
+#: ../../standalone/drakbackup_.c:3215
+#, fuzzy
+msgid "select path to restore (instead of /)"
+msgstr "i , ."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right \"Windows\" key"
+#: ../../standalone/drakbackup_.c:3219
+msgid "Do new backup before restore (only for incremental backups.)"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check empty password in /etc/shadow."
+#: ../../standalone/drakbackup_.c:3221
+msgid "Remove user directories before restore."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:3334
msgid ""
-"Before continuing, you should carefully read the terms of the license. It\n"
-"covers the entire Mandrake Linux distribution. If you do agree with all the\n"
-"terms in it, check the \"%s\" box. If not, simply turn off your computer."
+"Restore Selected\n"
+"Catalog Entry"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:3344
+#, fuzzy
msgid ""
-"Here is a list of the available printing options for the current printer:\n"
-"\n"
-msgstr ""
+"Restore Selected\n"
+"Files"
+msgstr "i "
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolutions"
-msgstr "Памеры экрану"
+#: ../../standalone/drakbackup_.c:3361
+#, fuzzy
+msgid ""
+"Change\n"
+"Restore Path"
+msgstr " "
-#: ../../network/drakfirewall.pm:1
+#: ../../standalone/drakbackup_.c:3427
#, c-format
-msgid ""
-"drakfirewall configurator\n"
-"\n"
-"This configures a personal firewall for this Mandrake Linux machine.\n"
-"For a powerful and dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
+msgid "Backup files not found at %s."
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
+#: ../../standalone/drakbackup_.c:3440
#, c-format
msgid ""
-"Please enter your username, password and domain name to access this host."
+"Insert the CD with volume label %s\n"
+" in the CD drive under mount point /mnt/cdrom"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Remove selected host"
-msgstr "Выдалiць чаргу друку"
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Network configuration"
-msgstr "Канфiгурацыя сеткi"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/Autodetect _jaz drives"
-msgstr "Аддалены прынтэр"
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "No sharing"
-msgstr "Чакаецца"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule down one level"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3440
+#, fuzzy
+msgid "Restore From CD"
+msgstr " "
-#: ../../common.pm:1
+#: ../../standalone/drakbackup_.c:3442
#, c-format
-msgid "TB"
+msgid "Not the correct CD label. Disk is labelled %s."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "FATAL"
-msgstr "FAT"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh the list"
-msgstr "Аднавіць сьпіс"
-
-#: ../../standalone/drakTermServ:1
+#: ../../standalone/drakbackup_.c:3452
#, c-format
msgid ""
-" - Per client %s:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tdrakTermServ will help create these files."
+"Insert the tape with volume label %s\n"
+" in the tape drive device %s"
msgstr ""
-#: ../../standalone/drakpxe:1
+#: ../../standalone/drakbackup_.c:3452
+#, fuzzy
+msgid "Restore From Tape"
+msgstr " i "
+
+#: ../../standalone/drakbackup_.c:3454
#, c-format
-msgid ""
-"The DHCP server will allow other computer to boot using PXE in the given "
-"range of address.\n"
-"\n"
-"The network address is %s using a netmask of %s.\n"
-"\n"
+msgid "Not the correct tape label. Tape is labelled %s."
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Delete"
-msgstr "Знiшчыць"
+#: ../../standalone/drakbackup_.c:3474
+#, fuzzy
+msgid "Restore Via Network"
+msgstr "i "
-#: ../../Xconfig/various.pm:1
+#: ../../standalone/drakbackup_.c:3474
#, c-format
-msgid ""
-"I can setup your computer to automatically start the graphical interface "
-"(XFree) upon booting.\n"
-"Would you like XFree to start when you reboot?"
+msgid "Restore Via Network Protocol: %s"
msgstr ""
-"Можна настроiць сiстэму для аўтаматычнага запуску X пасля старту сiстэмы.\n"
-"Жадаеце, каб X стартаваў пры рэстарце?"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Build the disk"
+#: ../../standalone/drakbackup_.c:3475
+#, fuzzy
+msgid "Host Name"
+msgstr "I "
+
+#: ../../standalone/drakbackup_.c:3476
+msgid "Host Path or Module"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Disconnect %s"
-msgstr "Настройка ISDN"
+#: ../../standalone/drakbackup_.c:3483
+#, fuzzy
+msgid "Password required"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Status:"
-msgstr "Стан:"
+#: ../../standalone/drakbackup_.c:3489
+#, fuzzy
+msgid "Username required"
+msgstr "I i:"
-#: ../../network/network.pm:1
-#, c-format
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
+#: ../../standalone/drakbackup_.c:3492
+#, fuzzy
+msgid "Hostname required"
+msgstr "I "
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "SSH Server"
-msgstr "NIS сервер:"
+#: ../../standalone/drakbackup_.c:3497
+msgid "Path or Module required"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by rsync.\n"
+#: ../../standalone/drakbackup_.c:3510
+msgid "Files Restored..."
msgstr ""
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "European protocol"
-msgstr "Еўропа (EDSS1)"
+#: ../../standalone/drakbackup_.c:3513
+#, fuzzy
+msgid "Restore Failed..."
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on server \"%s\""
+#: ../../standalone/drakbackup_.c:3751
+msgid "Restore all backups"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Note that currently all 'net' media also use the hard drive."
-msgstr ""
+#: ../../standalone/drakbackup_.c:3760
+#, fuzzy
+msgid "Custom Restore"
+msgstr " "
-#: ../../fsedit.pm:1 ../../install_steps_interactive.pm:1
-#: ../../install_steps.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakboot:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/draksplash:1 ../../../move/move.pm:1
-#, c-format
-msgid "Error"
-msgstr "Памылка"
+#: ../../standalone/drakbackup_.c:3804
+msgid "CD in place - continue."
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "allow \"su\""
+#: ../../standalone/drakbackup_.c:3810
+msgid "Browse to new restore repository."
msgstr ""
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "Australia"
-msgstr "паслядоўная"
+#: ../../standalone/drakbackup_.c:3813
+#, fuzzy
+msgid "Restore From Catalog"
+msgstr " i "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "please wait during ttmkfdir..."
+#: ../../standalone/drakbackup_.c:3841
+#, fuzzy
+msgid "Restore Progress"
+msgstr " "
+
+#: ../../standalone/drakbackup_.c:3883 ../../standalone/drakbackup_.c:3916
+#: ../../standalone/drakbackup_.c:3942 ../../standalone/drakbackup_.c:3969
+#: ../../standalone/drakbackup_.c:3996 ../../standalone/drakbackup_.c:4056
+#: ../../standalone/drakbackup_.c:4083 ../../standalone/drakbackup_.c:4113
+#: ../../standalone/drakbackup_.c:4139
+msgid "Previous"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, fuzzy, c-format
-msgid "Configure only card \"%s\"%s"
-msgstr "Канфiгураваць маю карту"
+#: ../../standalone/drakbackup_.c:3887 ../../standalone/drakbackup_.c:3973
+#: ../../standalone/logdrake_.c:203
+#, fuzzy
+msgid "Save"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Level"
-msgstr "узровень"
+#: ../../standalone/drakbackup_.c:3946
+#, fuzzy
+msgid "Build Backup"
+msgstr " ii"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Change the printing system"
-msgstr "Настройка сеткi"
+#: ../../standalone/drakbackup_.c:4000 ../../standalone/drakbackup_.c:4544
+#, fuzzy
+msgid "Restore"
+msgstr " "
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4189
msgid ""
-"Your system supports multiple head configuration.\n"
-"What do you want to do?"
+"Error during sendmail.\n"
+" Your report mail was not sent.\n"
+" Please configure sendmail"
msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "mount failed: "
-msgstr "памылка манцiравання: "
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure services"
-msgstr "Настройка службаў"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Broadcast Address:"
+#: ../../standalone/drakbackup_.c:4195
+msgid ""
+"Error during sending file via FTP.\n"
+" Please correct your FTP configuration."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4209
+#, fuzzy
msgid ""
-"the GNU/Linux kernel needs to run a calculation loop at boot time to "
-"initialize a timer counter. Its result is stored as bogomips as a way to "
-"\"benchmark\" the cpu."
-msgstr ""
+"The following packages need to be installed:\n"
+" @list_of_rpm_to_install"
+msgstr " i"
-#: ../../any.pm:1
-#, c-format
-msgid "Image"
-msgstr "Вобраз"
+#: ../../standalone/drakbackup_.c:4232
+#, fuzzy
+msgid "Please select data to restore..."
+msgstr "i , ."
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Remote Administration"
-msgstr "Опцыi аддаленага прынтэру lpd"
+#: ../../standalone/drakbackup_.c:4267
+#, fuzzy
+msgid "Please select media for backup..."
+msgstr "i , ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
-msgstr ""
+#: ../../standalone/drakbackup_.c:4275
+#, fuzzy
+msgid "Please select data to backup..."
+msgstr "i , ."
-#: ../../modules.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4293 ../../standalone/drakbackup_.c:4304
msgid ""
-"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
+"No configuration file found \n"
+"please click Wizard or Advanced."
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Selected All"
-msgstr "Абярыце файл"
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "CUPS - Common Unix Printing System"
+#: ../../standalone/drakbackup_.c:4308
+msgid "Under Devel ... please wait."
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Webmin Service"
-msgstr "прылада"
+#: ../../standalone/drakbackup_.c:4382
+#, fuzzy
+msgid "Backup system files"
+msgstr " ii"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "device"
-msgstr "прылада"
+#: ../../standalone/drakbackup_.c:4384
+#, fuzzy
+msgid "Backup user files"
+msgstr " ii"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Enter the directory to save to:"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
+#: ../../standalone/drakbackup_.c:4386
+#, fuzzy
+msgid "Backup other files"
+msgstr " ii"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Greece"
-msgstr "Грэчаскi"
+#: ../../standalone/drakbackup_.c:4388 ../../standalone/drakbackup_.c:4421
+msgid "Total Progress"
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "All"
-msgstr "Усё"
+#: ../../standalone/drakbackup_.c:4412
+msgid "files sending by FTP"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Which printing system (spooler) do you want to use?"
-msgstr "Якую сiстэму друку Вы жадаеце выкарыстоўваць?"
+#: ../../standalone/drakbackup_.c:4416
+#, fuzzy
+msgid "Sending files..."
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "July"
-msgstr "Ліпень"
+#: ../../standalone/drakbackup_.c:4500
+#, fuzzy
+msgid "Backup Now from configuration file"
+msgstr "i i"
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Prints into %s"
-msgstr "Памылка запiсу ў файл %s"
+#: ../../standalone/drakbackup_.c:4505
+#, fuzzy
+msgid "View Backup Configuration."
+msgstr "i i"
-#: ../../install_steps_interactive.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid "An error occurred"
-msgstr "Адбылася памылка"
+#: ../../standalone/drakbackup_.c:4526
+#, fuzzy
+msgid "Wizard Configuration"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid ""
-"This package must be upgraded.\n"
-"Are you sure you want to deselect it?"
-msgstr ""
-"Гэты пакет павiнен быць абноўлены\n"
-"Вы ўпэўнены, што хочаце адмянiць вылучэнне?"
+#: ../../standalone/drakbackup_.c:4531
+#, fuzzy
+msgid "Advanced Configuration"
+msgstr " i"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Tamil (Typewriter-layout)"
-msgstr "Армянскi (typewriter)"
+#: ../../standalone/drakbackup_.c:4536
+#, fuzzy
+msgid "Backup Now"
+msgstr ". i"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Use password to authenticate users."
+#: ../../standalone/drakbackup_.c:4576
+msgid "Drakbackup"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4624
msgid ""
-"Allow/Forbid the list of users on the system on display managers (kdm and "
-"gdm)."
+"options description:\n"
+"\n"
+" In this step Drakbackup allow you to change:\n"
+"\n"
+" - The compression mode:\n"
+" \n"
+" If you check bzip2 compression, you will compress\n"
+" your data better than gzip (about 2-10 %).\n"
+" This option is not checked by default because\n"
+" this compression mode needs more time (about 1000% more).\n"
+" \n"
+" - The update mode:\n"
+"\n"
+" This option will update your backup, but this\n"
+" option is not really useful because you need to\n"
+" decompress your backup before you can update it.\n"
+" \n"
+" - the .backupignore mode:\n"
+"\n"
+" Like with cvs, Drakbackup will ignore all references\n"
+" included in .backupignore files in each directories.\n"
+" ex: \n"
+" /*> cat .backupignore*/\n"
+" *.o\n"
+" *~\n"
+" ...\n"
+" \n"
+"\n"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "manual"
+#: ../../standalone/drakbackup_.c:4654
+msgid ""
+"\n"
+" Some errors during sendmail are caused by \n"
+" a bad configuration of postfix. To solve it you have to\n"
+" set myhostname or mydomain in /etc/postfix/main.cf\n"
+"\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Filename text to search for:"
+#: ../../standalone/drakbackup_.c:4662
+msgid ""
+"options description:\n"
+"\n"
+" - Backup system files:\n"
+" \n"
+"\tThis option allows you to backup your /etc directory,\n"
+"\twhich contains all configuration files. Please be\n"
+"\tcareful during the restore step to not overwrite:\n"
+"\t\t/etc/passwd \n"
+"\t\t/etc/group \n"
+"\t\t/etc/fstab\n"
+"\n"
+" - Backup User files: \n"
+"\n"
+"\tThis option allows you select all users that you want \n"
+"\tto backup.\n"
+"\tTo preserve disk space, it is recommended that you \n"
+"\tdo not include web browser's cache.\n"
+"\n"
+" - Backup Other files: \n"
+"\n"
+"\tThis option allows you to add more data to save.\n"
+"\tWith the other backup it's not possible at the \n"
+"\tmoment to select incremental backup.\t\t\n"
+" \n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption for backup. This option allows you \n"
+"\tto backup all your data the first time, and \n"
+"\tonly the changed afterward.\n"
+"\tThen you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model, driver"
+#: ../../standalone/drakbackup_.c:4701
+msgid ""
+"restore description:\n"
+" \n"
+"Only the most recent date will be used, because with incremental \n"
+"backups it is necessary to restore one by one each older backup.\n"
+"\n"
+"So if you don't want to restore a user please unselect all their\n"
+"check boxes.\n"
+"\n"
+"Otherwise, you are able to select only one of these.\n"
+"\n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption to use. This option allows you to \n"
+"\tbackup all of your data the first time, and \n"
+"\tonly the changed data after.\n"
+"\tSo you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
+"\n"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4727
msgid ""
-"There is no medium or it is write-protected for device %s.\n"
-"Please insert one."
+" Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s\\@epita."
+"fr>"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4729
msgid ""
-"Directory %s already contains data\n"
-"(%s)"
+" updates 2002 MandrakeSoft by Stew Benedict <sbenedict\\@mandrakesoft.com>"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Printer on NetWare server"
-msgstr "Сервер друку"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Give the ram size in MB"
-msgstr "Пазначце памер RAM у Mб"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Friday"
-msgstr "Пятніца"
-
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Disconnection from Internet complete."
-msgstr "Далучэнне да Iнтэрнэту"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Real name"
-msgstr "Уласнае iмя"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "done"
-msgstr "Зроблена"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please uncheck or remove it on next time."
-msgstr "Да якога паслядоўнага порту далучаны мадэм?"
-
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid "Higher"
-msgstr "Высокi"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the partitions you want to format"
-msgstr "Выбар раздзелаў для фарматавання"
-
-#: ../../standalone/drakxtv:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4732
msgid ""
-"No TV Card has been detected on your machine. Please verify that a Linux-"
-"supported Video/TV Card is correctly plugged in.\n"
+"Description:\n"
"\n"
+" Drakbackup is used to backup your system.\n"
+" During the configuration you can select: \n"
+"\t- System files, \n"
+"\t- Users files, \n"
+"\t- Other files.\n"
+"\tor All your system ... and Other (like Windows Partitions)\n"
"\n"
-"You can visit our hardware database at:\n"
+" Drakbackup allows you to backup your system on:\n"
+"\t- Harddrive.\n"
+"\t- NFS.\n"
+"\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
+"\t- FTP.\n"
+"\t- Rsync.\n"
+"\t- Webdav.\n"
+"\t- Tape.\n"
+"\n"
+" Drakbackup allows you to restore your system to\n"
+" a user selected directory.\n"
+"\n"
+" Per default all backup will be stored on your\n"
+" /var/lib/drakbackup directory\n"
+"\n"
+" Configuration file:\n"
+"\t/etc/drakconf/drakbackup/drakbakup.conf\n"
+"\n"
+"Restore Step:\n"
+" \n"
+" During the restore step, DrakBackup will remove \n"
+" your original directory and verify that all \n"
+" backup files are not corrupted. It is recommended \n"
+" you do a last backup before restoring.\n"
"\n"
"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Can't find %s on %s"
-msgstr "Памылка адкрыцця %s для запiсу: %s"
+#: ../../standalone/drakbackup_.c:4769
+msgid ""
+"options description:\n"
+"\n"
+"Please be careful when you are using ftp backup, because only \n"
+"backups that are already built are sent to the server.\n"
+"So at the moment, you need to build the backup on your hard \n"
+"drive before sending it to the server.\n"
+"\n"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Japanese 106 keys"
-msgstr "Японскi 106 клавiш"
+#: ../../standalone/drakbackup_.c:4778
+msgid ""
+"\n"
+"Restore Backup Problems:\n"
+"\n"
+"During the restore step, Drakbackup will verify all your\n"
+"backup files before restoring them.\n"
+"Before the restore, Drakbackup will remove \n"
+"your original directory, and you will loose all your \n"
+"data. It is important to be careful and not modify the \n"
+"backup data files by hand.\n"
+msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/drakboot_.c:50
#, c-format
-msgid "Could not install the packages needed to share your scanner(s)."
+msgid "Installation of %s failed. The following error occured:"
+msgstr " %s . i :"
+
+#: ../../standalone/drakbug_.c:45
+msgid "Mandrake Bug Report Tool"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "This will take a few minutes."
+#: ../../standalone/drakbug_.c:50
+msgid "First Time Wizard"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Burkina Faso"
-msgstr "Буркіна Хвасо"
+#: ../../standalone/drakbug_.c:51
+msgid "Synchronization tool"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "June"
-msgstr "Чэрвень"
+#: ../../standalone/drakbug_.c:52 ../../standalone/drakbug_.c:66
+#: ../../standalone/drakbug_.c:133 ../../standalone/drakbug_.c:135
+#: ../../standalone/drakbug_.c:139
+#, fuzzy
+msgid "Standalone Tools"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use scanners on remote computers"
+#: ../../standalone/drakbug_.c:53
+msgid "HardDrake"
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Delete selected rule"
-msgstr "Выдалiць чаргу друку"
+#: ../../standalone/drakbug_.c:54
+#, fuzzy
+msgid "Mandrake Online"
+msgstr " I"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Accessing printers on remote CUPS servers"
-msgstr "Аддалены сервер CUPS"
+#: ../../standalone/drakbug_.c:55
+#, fuzzy
+msgid "Menudrake"
+msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Insert a floppy in %s"
-msgstr "Устаўце дыскету ў дыскавод %s"
+#: ../../standalone/drakbug_.c:56
+#, fuzzy
+msgid "Msec"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Maldives"
-msgstr "Мальды"
+#: ../../standalone/drakbug_.c:57
+#, fuzzy
+msgid "Remote Control"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "compact"
-msgstr "кампактна"
+#: ../../standalone/drakbug_.c:58
+#, fuzzy
+msgid "Software Manager"
+msgstr "I "
-#: ../../common.pm:1
-#, c-format
-msgid "1 minute"
-msgstr "1 хвiлiна"
+#: ../../standalone/drakbug_.c:59
+msgid "Urpmi"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "type: fat"
-msgstr "Тып: "
+#: ../../standalone/drakbug_.c:60
+#, fuzzy
+msgid "Windows Migration tool"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "on channel %d id %d\n"
-msgstr "на шыне %d id %d\n"
+#: ../../standalone/drakbug_.c:61
+#, fuzzy
+msgid "Userdrake"
+msgstr " DiskDrake"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device"
+#: ../../standalone/drakbug_.c:62
+#, fuzzy
+msgid "Configuration Wizards"
+msgstr "i i"
+
+#: ../../standalone/drakbug_.c:75
+#, fuzzy
+msgid "Application:"
+msgstr ""
+
+#: ../../standalone/drakbug_.c:76
+#, fuzzy
+msgid "Package: "
+msgstr ""
+
+#: ../../standalone/drakbug_.c:77
+msgid "Kernel:"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Laos"
-msgstr "Лаос"
+#: ../../standalone/drakbug_.c:78
+#, fuzzy
+msgid "Release: "
+msgstr "i , "
-#: ../advertising/04-configuration.pl:1
-#, c-format
+#: ../../standalone/drakbug_.c:93
msgid ""
-"Mandrake Linux 9.2 provides you with the Mandrake Control Center, a powerful "
-"tool to fully adapt your computer to the use you make of it. Configure and "
-"customize elements such as the security level, the peripherals (screen, "
-"mouse, keyboard...), the Internet connection and much more!"
+"\n"
+"\n"
+"To submit a bug report, click on the button report.\n"
+"This will open a web browser window on https://drakbug.mandrakesoft.com\n"
+" where you'll find a form to fill in.The information displayed above will "
+"be \n"
+"transferred to that server\n"
+"\n"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Activate/Disable ethernet cards promiscuity check."
+#: ../../standalone/drakbug_.c:112
+#, fuzzy
+msgid "Report"
+msgstr ""
+
+#: ../../standalone/drakbug_.c:148
+#, fuzzy
+msgid "Not installed"
+msgstr " "
+
+#: ../../standalone/drakbug_.c:160
+#, fuzzy
+msgid "Package not installed"
+msgstr " "
+
+#: ../../standalone/drakbug_.c:173
+msgid "connecting to Bugzilla wizard ..."
msgstr ""
-#: ../../install_interactive.pm:1
+#: ../../standalone/drakbug_.c:180
+#, fuzzy
+msgid "No browser available! Please install one"
+msgstr " , i "
+
+#: ../../standalone/drakconnect_.c:75
#, fuzzy, c-format
-msgid "There is no FAT partition to resize (or not enough space left)"
-msgstr ""
-"Не знойдзена раздзелаў FAT для змянення памераў альбо выкарыстання\n"
-"ў якасцi вiртуальнай файлавай сiстэмы (цi недастаткова прасторы на дыску)"
+msgid "Network configuration (%d adapters)"
+msgstr "i i"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Up"
-msgstr ""
+#: ../../standalone/drakconnect_.c:83 ../../standalone/drakconnect_.c:591
+#, fuzzy
+msgid "Profile: "
+msgstr " i: "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Firewall"
+#: ../../standalone/drakconnect_.c:91
+msgid "Del profile..."
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Area:"
+#: ../../standalone/drakconnect_.c:97
+msgid "Profile to delete:"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "(E)IDE/ATA controllers"
+#: ../../standalone/drakconnect_.c:125
+msgid "New profile..."
msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "All I/O to the file system should be done synchronously."
+#: ../../standalone/drakconnect_.c:131
+msgid ""
+"Name of the profile to create (the new profile is created as a copy of the "
+"current one) :"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Server"
-msgstr "Сервер друку"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Custom configuration"
-msgstr "Настройка"
+#: ../../standalone/drakconnect_.c:157
+#, fuzzy
+msgid "Hostname: "
+msgstr "I "
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"Please indicate where the installation image will be available.\n"
-"\n"
-"If you do not have an existing directory, please copy the CD or DVD "
-"contents.\n"
-"\n"
+#: ../../standalone/drakconnect_.c:164
+msgid "Internet access"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Pierre and Miquelon"
-msgstr ""
+#: ../../standalone/drakconnect_.c:177
+#, fuzzy
+msgid "Type:"
+msgstr ": "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "September"
-msgstr "Верасень"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Gateway:"
+msgstr ":"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "saving Bootsplash theme..."
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Interface:"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Portugal"
-msgstr "Порт"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have another one?"
-msgstr "Цi ёсць у вас iншы?"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid ", printing to %s"
-msgstr "Памылка запiсу ў файл %s"
+#: ../../standalone/drakconnect_.c:191
+msgid "Status:"
+msgstr ""
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Assign host name from DHCP address"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
+#: ../../standalone/drakconnect_.c:198 ../../standalone/net_monitor_.c:145
+msgid "Wait please"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to normal mode"
-msgstr "Звычайны рэжым"
+#: ../../standalone/drakconnect_.c:216
+#, fuzzy
+msgid "Configure Internet Access..."
+msgstr " "
-#: ../../mouse.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Generic"
-msgstr "Агульны"
+#: ../../standalone/drakconnect_.c:223 ../../standalone/drakconnect_.c:445
+#, fuzzy
+msgid "LAN configuration"
+msgstr " ADSL"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Cylinder %d to %d\n"
-msgstr "Цылiндры з %d па %d\n"
+#: ../../standalone/drakconnect_.c:228
+#, fuzzy
+msgid "Driver"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "YOUR TEXT HERE"
-msgstr ""
+#: ../../standalone/drakconnect_.c:228
+#, fuzzy
+msgid "Interface"
+msgstr " i"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "New profile..."
+#: ../../standalone/drakconnect_.c:228
+msgid "Protocol"
msgstr ""
-#: ../../modules/interactive.pm:1 ../../standalone/draksec:1
-#, c-format
-msgid "NONE"
-msgstr ""
+#: ../../standalone/drakconnect_.c:228
+#, fuzzy
+msgid "State"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which disk do you want to move it to?"
-msgstr "На якi дыск перанесці?"
+#: ../../standalone/drakconnect_.c:240
+#, fuzzy
+msgid "Configure Local Area Network..."
+msgstr " i"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Display logo on Console"
+#: ../../standalone/drakconnect_.c:252
+msgid "Click here to launch the wizard ->"
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Windows Domain"
-msgstr "Навуковыя прыкладанні"
+#: ../../standalone/drakconnect_.c:253
+msgid "Wizard..."
+msgstr " ..."
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Saami (norwegian)"
-msgstr "Dvorak (Нарвежскi)"
+#: ../../standalone/drakconnect_.c:279
+msgid "Apply"
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Interface %s (on network %s)"
-msgstr "Сеткавы iнтэрфейс"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+#, fuzzy
+msgid "Connected"
+msgstr "I "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "INFO"
-msgstr ""
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+#, fuzzy
+msgid "Not connected"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Wallis and Futuna"
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Connect..."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Need to create /etc/dhcpd.conf first!"
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Disconnect..."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Is FPU present"
+#: ../../standalone/drakconnect_.c:400
+msgid ""
+"Warning, another Internet connection has been detected, maybe using your "
+"network"
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:427
msgid ""
-"No additional information\n"
-"about this service, sorry."
+"You don't have any configured interface.\n"
+"Configure them first by clicking on 'Configure'"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "There are no scanners found which are available on your system.\n"
-msgstr ""
+#: ../../standalone/drakconnect_.c:449
+#, fuzzy
+msgid "LAN Configuration"
+msgstr ""
-#: ../../standalone/drakTermServ:1
+#: ../../standalone/drakconnect_.c:460
#, c-format
-msgid "Build Single NIC -->"
+msgid "Adapter %s: %s"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Marshall Islands"
-msgstr "Маршалавы выспы"
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Is this correct?"
-msgstr "Гэта дакладна?"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Windows (FAT32)"
-msgstr "Выдалiць Windows(TM)"
+#: ../../standalone/drakconnect_.c:466
+msgid "Boot Protocol"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Root password"
-msgstr "Пароль для root"
+#: ../../standalone/drakconnect_.c:467
+msgid "Started on boot"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build All Kernels -->"
+#: ../../standalone/drakconnect_.c:468
+msgid "DHCP client"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "DVDRAM device"
-msgstr "прылада"
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+#, fuzzy
+msgid "activate now"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report unowned files."
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+#, fuzzy
+msgid "deactivate now"
+msgstr ""
+
+#: ../../standalone/drakconnect_.c:499
+msgid ""
+"This interface has not been configured yet.\n"
+"Launch the configuration wizard in the main window"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:556
msgid ""
-"You don't have a swap partition.\n"
-"\n"
-"Continue anyway?"
+"You don't have any internet connection.\n"
+"Create one first by clicking on 'Configure'"
msgstr ""
-"Няма раздзела swap.\n"
-"\n"
-"Усё адно працягваць?"
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Version: "
-msgstr "Версiя: %s\n"
+#: ../../standalone/drakconnect_.c:580
+#, fuzzy
+msgid "Internet connection configuration"
+msgstr "I i i"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Server IP missing!"
-msgstr "Iмя прынтэру"
+#: ../../standalone/drakconnect_.c:584
+#, fuzzy
+msgid "Internet Connection Configuration"
+msgstr "I i i"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Suriname"
-msgstr "Iмя для размеркаванага рэсурсу"
+#: ../../standalone/drakconnect_.c:593 ../../standalone/net_monitor_.c:94
+#, fuzzy
+msgid "Connection type: "
+msgstr "I "
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid "Use a floppy"
-msgstr "Захаванне на дыскету"
+#: ../../standalone/drakconnect_.c:599
+msgid "Parameters"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Enable ACPI"
+#: ../../standalone/drakconnect_.c:618
+msgid "Gateway"
+msgstr ""
+
+#: ../../standalone/drakconnect_.c:627
+msgid "Ethernet Card"
msgstr ""
-#: ../../fs.pm:1
-#, c-format
-msgid "Give write access to ordinary users"
+#: ../../standalone/drakconnect_.c:628
+msgid "DHCP Client"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Environment"
+#: ../../standalone/drakfloppy_.c:39
+msgid "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Gibraltar"
-msgstr "Гібралтар"
+#: ../../standalone/drakfloppy_.c:40
+#, fuzzy
+msgid "Module name"
+msgstr "i :"
-#: ../../network/modem.pm:1
-#, fuzzy, c-format
-msgid "Do nothing"
-msgstr "Чакаецца"
+#: ../../standalone/drakfloppy_.c:40
+#, fuzzy
+msgid "Size"
+msgstr ": %s"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Delete Client"
-msgstr "Знiшчыць"
+#: ../../standalone/drakfloppy_.c:45
+#, fuzzy
+msgid "drakfloppy"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem type: "
-msgstr "Тып файлавай сiстэмы:"
+#: ../../standalone/drakfloppy_.c:63
+#, fuzzy
+msgid "boot disk creation"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Starting network..."
-msgstr "Якi тып вашага ISDN злучэння?"
+#: ../../standalone/drakfloppy_.c:71 ../../standalone/drakfloppy_.c:84
+msgid "default"
+msgstr " "
-#: ../../lang.pm:1
+#: ../../standalone/drakfloppy_.c:87
#, c-format
-msgid "Vietnam"
+msgid "DrakFloppy Error: %s"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/_Fields description"
-msgstr "Апiсанне"
-
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid "Optimize your security by using Mandrake Linux"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:98
+#, fuzzy
+msgid "kernel version"
+msgstr " I"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-" Thanks:\n"
-"\t- LTSP Project http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
-"\n"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:104
+#, fuzzy
+msgid "General"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../interactive/gtk.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakconnect:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Help"
-msgstr "Дапамога"
+#: ../../standalone/drakfloppy_.c:109
+#, fuzzy
+msgid "Expert Area"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check if the network devices are in promiscuous mode"
+#: ../../standalone/drakfloppy_.c:112
+msgid "mkinitrd optional arguments"
msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Your personal phone number"
-msgstr "Ваш асабiсты тэлефонны нумар"
+#: ../../standalone/drakfloppy_.c:113
+#, fuzzy
+msgid "Add a module"
+msgstr " i"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which size do you want to keep for Windows on"
-msgstr "Якую прастору захаваць для Windows?"
+#: ../../standalone/drakfloppy_.c:133
+#, fuzzy
+msgid "force"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
+#: ../../standalone/drakfloppy_.c:134
+msgid "if needed"
msgstr ""
-"Тэставыя старонкi адпраўлены дэману друку.\n"
-"Перад тым, як прынтэр запрацуе, можа прайсцi пэўны час.\n"
-"Ён працуе нармальна?"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Username required"
-msgstr "Iмя карыстальнiку:"
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Device"
-msgstr "Прылада:"
+#: ../../standalone/drakfloppy_.c:135
+#, fuzzy
+msgid "omit scsi modules"
+msgstr " "
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Depending on the default language you chose in Section , DrakX will\n"
-"automatically select a particular type of keyboard configuration. However,\n"
-"you may not have a keyboard that corresponds exactly to your language: for\n"
-"example, if you are an English speaking Swiss person, you may have a Swiss\n"
-"keyboard. Or if you speak English but are located in Quebec, you may find\n"
-"yourself in the same situation where your native language and keyboard do\n"
-"not match. In either case, this installation step will allow you to select\n"
-"an appropriate keyboard from a list.\n"
-"\n"
-"Click on the \"%s\" button to be presented with the complete list of\n"
-"supported keyboards.\n"
-"\n"
-"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
-"dialog will allow you to choose the key binding that will switch the\n"
-"keyboard between the Latin and non-Latin layouts."
+#: ../../standalone/drakfloppy_.c:136
+msgid "omit raid modules"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Опцыi прынтэру SMB (Windows 9x/NT)"
+#: ../../standalone/drakfloppy_.c:172
+#, fuzzy
+msgid "Remove a module"
+msgstr " "
-#: ../../printer/main.pm:1
-#, c-format
-msgid "URI: %s"
+#: ../../standalone/drakfloppy_.c:194
+msgid "Output"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Valid user list changed, rewriting config file."
+#: ../../standalone/drakfloppy_.c:206
+msgid "Build the disk"
msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../standalone/drakfloppy_.c:336
#, c-format
-msgid "mkinitrd optional arguments"
+msgid "Be sure a media is present for the device %s"
msgstr ""
-#: ../advertising/03-software.pl:1
+#: ../../standalone/drakfloppy_.c:341
#, c-format
msgid ""
-"Surf the Web with Mozilla or Konqueror, read your mail with Evolution or "
-"Kmail, create your documents with OpenOffice.org."
+"There is no medium or it is write-protected for device %s.\n"
+"Please insert one."
msgstr ""
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "Protocol for the rest of the world"
-msgstr "Падключэнне"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakfloppy_.c:344
#, fuzzy, c-format
-msgid "Print test pages"
-msgstr "Друк тэставых старонак"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Activate now"
-msgstr "Актыўны"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "64 MB or more"
-msgstr "64 Мб цi болей"
+msgid "Unable to fork: %s"
+msgstr "i "
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakfloppy_.c:349
#, c-format
msgid ""
-"Please select the test pages you want to print.\n"
-"Note: the photo test page can take a rather long time to get printed and on "
-"laser printers with too low memory it can even not come out. In most cases "
-"it is enough to print the standard test page."
+"Unable to close properly mkbootdisk: \n"
+" %s \n"
+" %s"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Please select the device where your %s is attached"
+#: ../../standalone/drakfont_.c:213
+msgid "Search installed fonts"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Not formatted\n"
-msgstr "Не адфарматавана\n"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Periodic Checks"
+#: ../../standalone/drakfont_.c:215
+msgid "Unselect fonts installed"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "PXE Server Configuration"
-msgstr "Заканчэнне настройкi"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup the system files before:"
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid ""
-"This is the standard security recommended for a computer that will be used "
-"to connect to the Internet as a client."
+#: ../../standalone/drakfont_.c:239
+msgid "parse all fonts"
msgstr ""
-"Гэта стандартны узровень бяспекi, якi рэкамендаваны для камп'ютэру,\n"
-"якi далучаны да Internet у якасцi клiенту. Даданыя новыя праверкi\n"
-"бяспекi."
-#: ../../any.pm:1
-#, c-format
-msgid "First floppy drive"
-msgstr "Першы дыскавод"
-
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Quit"
-msgstr ""
+#: ../../standalone/drakfont_.c:242
+#, fuzzy
+msgid "no fonts found"
+msgstr " i %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak"
-msgstr "Dvorak"
+#: ../../standalone/drakfont_.c:251 ../../standalone/drakfont_.c:305
+#: ../../standalone/drakfont_.c:361 ../../standalone/drakfont_.c:454
+#: ../../standalone/drakfont_.c:466 ../../standalone/drakfont_.c:493
+#: ../../standalone/drakfont_.c:514 ../../standalone/drakfont_.c:532
+#, fuzzy
+msgid "done"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose the new size"
-msgstr "Выбар новых памераў"
+#: ../../standalone/drakfont_.c:257
+msgid "could not find any font in your mounted partitions"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Media class"
+#: ../../standalone/drakfont_.c:303
+msgid "Reselect correct fonts"
msgstr ""
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "You need to log out and back in again for changes to take effect"
+#: ../../standalone/drakfont_.c:307
+msgid "could not find any font.\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not known by this version of Scannerdrake."
+#: ../../standalone/drakfont_.c:331
+msgid "Search fonts in installed list"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Faroe Islands"
-msgstr "Iсландскi"
+#: ../../standalone/drakfont_.c:359
+#, fuzzy
+msgid "Fonts copy"
+msgstr " "
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Restart XFS"
-msgstr "абмежаванне"
+#: ../../standalone/drakfont_.c:363
+#, fuzzy
+msgid "True Type fonts installation"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add host/network"
+#: ../../standalone/drakfont_.c:371
+msgid "please wait during ttmkfdir..."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake will not be started now."
+#: ../../standalone/drakfont_.c:377
+msgid "True Type install done"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Model name"
-msgstr "Опцыi модулю:"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Albania"
-msgstr "Iранскi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "British Indian Ocean Territory"
-msgstr "Брытанская тэрыторыя Індыйскага акіяна"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Normal Mode"
-msgstr "Звычайны"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD-R/DVD-R in drive!"
+#: ../../standalone/drakfont_.c:386 ../../standalone/drakfont_.c:413
+msgid "Fonts conversion"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer connection type"
-msgstr "Сумеснае Iнтэрнэт-злучэнне"
-
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "No network adapter on your system!"
-msgstr "У вашай сістэме няма нiводнага сеткавага адаптара!"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Network %s"
-msgstr "Сетка:"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Malayalam"
+#: ../../standalone/drakfont_.c:392 ../../standalone/drakfont_.c:417
+#: ../../standalone/drakfont_.c:450
+msgid "type1inst building"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s out of range!"
+#: ../../standalone/drakfont_.c:403 ../../standalone/drakfont_.c:427
+msgid "Ghostscript referencing"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connect %s"
-msgstr "Iмя злучэння"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Restarting CUPS..."
-msgstr "абмежаванне"
+#: ../../standalone/drakfont_.c:437
+msgid "ttf fonts conversion"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printing/Scanning/Photo Cards on \"%s\""
-msgstr "Адлучэнне ад сеткi"
+#: ../../standalone/drakfont_.c:444
+msgid "pfm fonts conversion"
+msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Continue without USB key"
+#: ../../standalone/drakfont_.c:456
+msgid "Suppress temporary Files"
msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Дубляванне пункту манцiравання %s"
+#: ../../standalone/drakfont_.c:459
+#, fuzzy
+msgid "Restart XFS"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run chkrootkit checks."
+#: ../../standalone/drakfont_.c:512 ../../standalone/drakfont_.c:526
+msgid "Suppress Fonts Files"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Connection Configuration"
-msgstr "Настройка далучэння да Iнтэрнэту"
-
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "Unknown|Generic"
-msgstr "Агульны"
+#: ../../standalone/drakfont_.c:528
+#, fuzzy
+msgid "xfs restart"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:536 ../../standalone/drakfont_.c:902
msgid ""
-"At the time you are installing Mandrake Linux, it is likely that some\n"
-"packages have been updated since the initial release. Bugs may have been\n"
-"fixed, security issues resolved. To allow you to benefit from these\n"
-"updates, you are now able to download them from the Internet. Check \"%s\"\n"
-"if you have a working Internet connection, or \"%s\" if you prefer to\n"
-"install updated packages later.\n"
+"Before installing any fonts, be sure that you have the right to use and "
+"install them on your system.\n"
"\n"
-"Choosing \"%s\" will display a list of places from which updates can be\n"
-"retrieved. You should choose one nearer to you. A package-selection tree\n"
-"will appear: review the selection, and press \"%s\" to retrieve and install\n"
-"the selected package(s), or \"%s\" to abort."
+"-You can install the fonts using the normal way. In rare cases, bogus fonts "
+"may hang up your X Server."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Myanmar"
-msgstr "Маянмар"
-
-#: ../../install_steps_interactive.pm:1 ../../Xconfig/main.pm:1
-#: ../../diskdrake/dav.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/draksplash:1 ../../standalone/harddrake2:1
-#: ../../standalone/logdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Quit"
-msgstr "Выхад"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Auto allocate"
-msgstr "Размеркаваць аўтаматычна"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Check bad blocks?"
-msgstr "Праверыць на наяўнасць дрэнных блокаў?"
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Other MultiMedia devices"
-msgstr "Іншыя"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "burner"
-msgstr "Прынтэр"
+#: ../../standalone/drakfont_.c:621
+#, fuzzy
+msgid "Fonts Importation"
+msgstr " "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Bug Description/System Information"
+#: ../../standalone/drakfont_.c:650
+msgid "Get Windows Fonts"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " (Default is all users)"
-msgstr "Лакальны прынтэр"
+#: ../../standalone/drakfont_.c:658
+#, fuzzy
+msgid "Uninstall Fonts"
+msgstr " RPM- i"
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "No remote machines"
-msgstr "Аддалены прынтэр"
+#: ../../standalone/drakfont_.c:669
+#, fuzzy
+msgid "Advanced Options"
+msgstr " i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:677
+#, fuzzy
+msgid "Font List"
+msgstr " i"
+
+#: ../../standalone/drakfont_.c:737
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
+" Copyright (C) 2001-2002 by MandrakeSoft \n"
+"\tDUPONT Sebastien sdupont\\@mandrakesoft.com\n"
"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
+" This program is free software; you can redistribute it and/or modify\n"
+" it under the terms of the GNU General Public License as published by\n"
+" the Free Software Foundation; either version 2, or (at your option)\n"
+" any later version.\n"
+"\n"
+" This program is distributed in the hope that it will be useful,\n"
+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+" GNU General Public License for more details.\n"
+"\n"
+" You should have received a copy of the GNU General Public License\n"
+" along with this program; if not, write to the Free Software\n"
+" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+" Thanks:\n"
+" - pfm2afm: \n"
+"\t by Ken Borgendale:\n"
+"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
+" - type1inst:\n"
+"\t by James Macnicol: \n"
+"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
+" - ttf2pt1: \n"
+"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
+" Convert ttf font files to afm and pfb fonts\n"
"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected.\n"
"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Authentication NIS"
-msgstr "Аўтэнтыфiкацыя NIS"
+#: ../../standalone/drakfont_.c:793
+msgid ""
+"drakfont Future Overview\n"
+" - Fonts import:\n"
+" pfb ( Adobe Type 1 binary )\n"
+" pfa ( Adobe Type 1 ASCII )\n"
+" ttf ( True-Type )\n"
+" pcf.gz\n"
+" Speedo\n"
+" and Bitmap (PCF, BDF, and SNF)\n"
+" - Features\n"
+" - Install fonts from any directory\n"
+" - Get windows fonts on any vfat partitions\n"
+" - Get fonts on any partitions.\n"
+" - UN-installation of any fonts (even if not installed "
+"through drakfont)\n"
+" - Support\n"
+" - Xfs\n"
+" - ghostscript & printer\n"
+" - Staroffice & printer\n"
+" - abiword\n"
+"\t - netscape\n"
+" - Koffice, Gnumeric, ... studying\n"
+" - all fonts supported by printer\n"
+" - anti-aliases by RENDER in Xfree86 .... \n"
+"\t\t\t\tsupported by KDE.\n"
+"\t\t\t\twill be supported by gnome 1.2.\n"
+"Visual Interface:\n"
+" Window interface:\n"
+" - Fontselectiondialog widget\n"
+" - Command buttons under Fontselectiondialog (like the actual "
+"frontend).\n"
+" Commands buttons:\n"
+" - import from windows partition.\n"
+" import from all fat32 partitions and look for winnt/windows/"
+"font\n"
+" and import all (delete doublon) but don't import if already "
+"exist.\n"
+" - import from directory\n"
+" look for if it exist before for each font and not delete the "
+"original.\n"
+" (replace all, no, none)\n"
+" expert options:\n"
+" ask the directory, and look for if it exist before\n"
+" if it exist ask: (replace all, no, none)\n"
+" - uninstall with list per font type\n"
+" Expert additional switch\n"
+" - option support: ghostscript, Staroffice, etc...\n"
+" check-button. (by default all check)\n"
+" - Printer Application Fonts Support...\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../../standalone/drakfont_.c:862
+#, fuzzy
+msgid "Choose the applications that will support the fonts:"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
+#: ../../standalone/drakfont_.c:870
+msgid "Ghostscript"
msgstr ""
-"Опцыя ``Абмежаванне опцыяў каманднага радку'' не выкарыстоўваецца без пароля"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently enabled"
-msgstr "Сумеснае Iнтэрнэт-злучэнне зараз магчыма"
+#: ../../standalone/drakfont_.c:877
+#, fuzzy
+msgid "StarOffice"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "United Arab Emirates"
-msgstr "Злучаныя Арабскія Эміраты"
+#: ../../standalone/drakfont_.c:884
+#, fuzzy
+msgid "Abiword"
+msgstr "i"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_0"
-msgstr "IO_0 карты"
+#: ../../standalone/drakfont_.c:891
+#, fuzzy
+msgid "Generic Printers"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Local Config"
+#: ../../standalone/drakfont_.c:958
+msgid "Select the font file or directory and click on 'Add'"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Thailand"
-msgstr "Тайланд"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_1"
-msgstr "IO_1 карты"
+#: ../../standalone/drakfont_.c:1005
+#, fuzzy
+msgid "Install List"
+msgstr " i"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Search:"
+#: ../../standalone/drakfont_.c:1048
+msgid "click here if you are sure."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kazakhstan"
-msgstr "Казахстан"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Routers:"
+#: ../../standalone/drakfont_.c:1055
+msgid "here if no."
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Write"
-msgstr "Эксперт"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Display all available remote CUPS printers"
+#: ../../standalone/drakfont_.c:1112
+msgid "Unselected All"
msgstr ""
-#: ../../install_steps_newt.pm:1
-#, c-format
-msgid "Mandrake Linux Installation %s"
-msgstr "Усталяванне Mandrake Linux %s"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Unknown driver"
-msgstr ""
+#: ../../standalone/drakfont_.c:1116
+#, fuzzy
+msgid "Selected All"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Thai keyboard"
-msgstr "Тайская клавiятура"
+#: ../../standalone/drakfont_.c:1120
+#, fuzzy
+msgid "Remove List"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Bouvet Island"
-msgstr "Выспа Боўвіт"
+#: ../../standalone/drakfont_.c:1142 ../../standalone/drakfont_.c:1175
+msgid "Initials tests"
+msgstr ""
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Dialup options"
-msgstr "Параметры камутаванага злучэння (Dialup)"
+#: ../../standalone/drakfont_.c:1145
+#, fuzzy
+msgid "Copy fonts on your system"
+msgstr " i !"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If no port is given, 631 will be taken as default."
+#: ../../standalone/drakfont_.c:1149
+msgid "Install & convert Fonts"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Per client system configuration files:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tclients can customize files such as /etc/modules.conf, /etc/"
-"sysconfig/mouse, \n"
-" \t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root "
-"login to the terminal \n"
-" server on each client machine that has this feature enabled. Local "
-"configuration can be\n"
-" turned back off, retaining the configuration files, once the client "
-"machine is configured."
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, 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 нацiснiце Oк "
-"пасля.\n"
-"Калi вы не маеце яго, нацiснiце Адмянiць, каб адмянiць усталяванне з гэтага "
-"Cd."
+#: ../../standalone/drakfont_.c:1153
+#, fuzzy
+msgid "Post Install"
+msgstr "븢"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish"
-msgstr "Польскi"
+#: ../../standalone/drakfont_.c:1178
+#, fuzzy
+msgid "Remove fonts on your system"
+msgstr " i !"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Mandrake Online"
-msgstr "Далучэнне да Iнтэрнэту"
+#: ../../standalone/drakfont_.c:1182
+#, fuzzy
+msgid "Post Uninstall"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by webdav.\n"
+#: ../../standalone/drakgw_.c:42 ../../standalone/drakgw_.c:182
+msgid "Internet Connection Sharing"
+msgstr " I-"
+
+#: ../../standalone/drakgw_.c:114
+msgid "Sorry, we support only 2.4 kernels."
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid ", multi-function device on a parallel port"
-msgstr "Iмя прынтэру"
+#: ../../standalone/drakgw_.c:125
+msgid "Internet Connection Sharing currently enabled"
+msgstr " I- "
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakgw_.c:126
msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently enabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-"Нi водны ethernet сеткавы адаптар у вашай сiстэме не вызначаны. Калi ласка, "
-"скарыстайце канфiгурацыйны iнструмэнт."
-
-#: ../../network/network.pm:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Netmask"
-msgstr "Маска сеткi"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, fuzzy, c-format
-msgid "No hard drives found"
-msgstr "Лакальны прынтэр"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "2 buttons"
-msgstr "2 кнопкi"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind is your ISDN connection?"
-msgstr "Якi тып вашага ISDN злучэння?"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Label"
-msgstr "Метка"
+#: ../../standalone/drakgw_.c:130
+#, fuzzy
+msgid "disable"
+msgstr "i"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save on floppy"
-msgstr "Захаванне на дыскету"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "dismiss"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Check open ports"
-msgstr "Дубляванне пункту манцiравання %s"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+#, fuzzy
+msgid "reconfigure"
+msgstr " X Window"
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Edit selected printer"
-msgstr "Выдалiць чаргу друку"
+#: ../../standalone/drakgw_.c:133
+#, fuzzy
+msgid "Disabling servers..."
+msgstr " ..."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer auto-detection"
-msgstr "Аддалены прынтэр"
+#: ../../standalone/drakgw_.c:142
+#, fuzzy
+msgid "Internet connection sharing is now disabled."
+msgstr " I- "
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "Which of the following is your ISDN card?"
-msgstr "Якая ў вас ISDN карта?"
+#: ../../standalone/drakgw_.c:149
+msgid "Internet Connection Sharing currently disabled"
+msgstr " I- "
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:150
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."
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently disabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-"NFS - гэта вядомы пратакол для доступу да файлаў праз TCP/IP сеткi.\n"
-"Гэтая служба забяспечваецца NFS серверам, якi канфiгурыруеца праз\n"
-"/etc/exports файл."
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Msec"
-msgstr "Порт мышы"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid ""
-"=> Notice, a label changed:\n"
-"%s"
-msgstr ""
+#: ../../standalone/drakgw_.c:154
+#, fuzzy
+msgid "enable"
+msgstr "i"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Number of capture buffers:"
+#: ../../standalone/drakgw_.c:161
+msgid "Enabling servers..."
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, fuzzy, c-format
-msgid "Your choice? (0/1, default `%s') "
-msgstr "Ваш выбар? (змоўчанне %s) "
+#: ../../standalone/drakgw_.c:166
+#, fuzzy
+msgid "Internet connection sharing is now enabled."
+msgstr " I- "
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakgw_.c:183
+#, fuzzy
msgid ""
-"Any partitions that have been newly defined must be formatted for use\n"
-"(formatting means creating a file system).\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to\n"
-"erase any data they contain. If you wish to do that, please select those\n"
-"partitions as well.\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing\n"
-"partitions. You must reformat the partitions containing the operating\n"
-"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
-"reformat partitions containing data that you wish to keep (typically\n"
-"\"/home\").\n"
-"\n"
-"Please be careful when selecting partitions. After formatting, all data on\n"
-"the selected partitions will be deleted and you will not be able to recover\n"
-"it.\n"
-"\n"
-"Click on \"%s\" when you are ready to format partitions.\n"
+"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"
-"Click on \"%s\" if you want to choose another partition for your new\n"
-"Mandrake Linux operating system installation.\n"
+"Make sure you have configured your Network/Internet access using drakconnect "
+"before going any further.\n"
"\n"
-"Click on \"%s\" if you wish to select partitions that will be checked for\n"
-"bad blocks on the disk."
+"Note: you need a dedicated Network Adapter to set up a Local Area Network "
+"(LAN)."
msgstr ""
-"Усе раздзелы, якія былі толькі вызначаны павінны быць\n"
-"адфарматаваны (фарматаваць - значыць стварыць файлаваю сістэму).\n"
-"\n"
-"\n"
-"У той жа час, вы можаце перафарматаваць ужо існуючыя раздзелы, каб сцёрці\n"
-"дадзеныя якія яны ўтрымліваюць. Калі вы жадаеце зрабіць гэта, абярыце "
-"раздзелы\n"
-"якія жадаеце адфарматаваць.\n"
-"\n"
-"\n"
-"Заўважце, вы павінны перафарматаваць усе створаныя раздзелы. Вы павінны\n"
-"перафарматаваць раздзелы, якія ўтрымліваюць аперацыйную сістэму (тыпу \"/"
-"\",\n"
-"\"/usr\" ці \"/var\"), але не павінны перафарматаваць раздзелы, якія "
-"утрымліваюць\n"
-"дадзеныя, якія вы жадаеце захаваць (звычайна /home).\n"
-"\n"
+" ' \n"
+" (Internet Connection Sharing)?\n"
"\n"
-"Калі ласка, будзце ўважлівыя, абіраючы раздзелы, бо пасля фарматавання\n"
-"усе дадзеныя будуць незваротна выдаленыя.\n"
+": .\n"
"\n"
-"\n"
-"Націсніце \"Так\" калі вы гатовыя фарматаваць раздзеля.\n"
-"\n"
-"\n"
-"Націсніце \"Адмена\" калі жадаеце абраць іншыя раздзелы для "
-"усталяваннявашай\n"
-"новай аперацыйнай сістэмы Mandrake Linux."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "French"
-msgstr "Французскi"
+" Internet?"
-#: ../../keyboard.pm:1
+#: ../../standalone/drakgw_.c:211
#, c-format
-msgid "Czech (QWERTY)"
-msgstr "Чешскi (QWERTY)"
-
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Allow X Window connections"
-msgstr "Злучэнне прынтэру"
-
-#: ../../standalone/service_harddrake:1
-#, fuzzy, c-format
-msgid "Hardware probing in progress"
-msgstr "Дубляванне пункту манцiравання %s"
+msgid "Interface %s (using module %s)"
+msgstr ""
-#: ../../network/shorewall.pm:1 ../../standalone/drakgw:1
+#: ../../standalone/drakgw_.c:212
#, fuzzy, c-format
-msgid "Net Device"
-msgstr "Сервер друку"
+msgid "Interface %s"
+msgstr " i"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Summary"
-msgstr "Агульныя зьвесткі"
+#: ../../standalone/drakgw_.c:220
+msgid "No network adapter on your system!"
+msgstr " i !"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:221
msgid ""
-" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
-"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
+"No ethernet network adapter has been detected on your system. Please run the "
+"hardware configuration tool."
msgstr ""
+"i ethernet i . i , "
+" i i."
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Next"
-msgstr "Далей ->"
-
-#: ../../bootloader.pm:1
-#, fuzzy, c-format
-msgid "You can't install the bootloader on a %s partition\n"
-msgstr "Куды вы жадаеце ўсталяваць пачатковы загрузчык?"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "CHAP"
-msgstr "CHAP"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Puerto Rico"
-msgstr "Пуэрта Рыка"
-
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "(bootp/dhcp/zeroconf)"
-msgstr "(bootp/dhcp)"
+#: ../../standalone/drakgw_.c:227
+msgid "Network interface"
+msgstr " i"
-#: ../../standalone/drakautoinst:1
+#: ../../standalone/drakgw_.c:228
#, c-format
msgid ""
+"There is only one configured network adapter on your system:\n"
"\n"
-"Welcome.\n"
+"%s\n"
"\n"
-"The parameters of the auto-install are available in the sections on the left"
+"I am about to setup your Local Area Network with that adapter."
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone/drakgw_.c:235
msgid ""
-"package 'ImageMagick' is required to be able to complete configuration.\n"
-"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+"Please choose what network adapter will be connected to your Local Area "
+"Network."
msgstr ""
+"i , , "
+" i."
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Telnet server"
-msgstr "X сервер"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Лiтоўскi \"нумар радка\" QWERTY"
+#: ../../standalone/drakgw_.c:261
+#, fuzzy
+msgid "Network interface already configured"
+msgstr "i "
-#: ../../install_any.pm:1
+#: ../../standalone/drakgw_.c:262
#, c-format
msgid ""
-"The following packages will be removed to allow upgrading your system: %s\n"
+"Warning, the network adapter (%s) is already configured.\n"
"\n"
+"Do you want an automatic re-configuration?\n"
"\n"
-"Do you really want to remove these packages?\n"
+"You can do it manually but you need to know what you're doing."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Anguilla"
-msgstr "Ангулла"
+#: ../../standalone/drakgw_.c:267
+#, fuzzy
+msgid "Automatic reconfiguration"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Domain"
-msgstr "NIS Domain"
+#: ../../standalone/drakgw_.c:267
+msgid "No (experts only)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Antarctica"
-msgstr "Антарктыка"
+#: ../../standalone/drakgw_.c:268
+#, fuzzy
+msgid "Show current interface configuration"
+msgstr " I"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakgw_.c:269
+#, fuzzy
+msgid "Current interface configuration"
+msgstr " I"
+
+#: ../../standalone/drakgw_.c:270
#, c-format
msgid ""
+"Current configuration of `%s':\n"
"\n"
-"- User Files:\n"
+"Network: %s\n"
+"IP address: %s\n"
+"IP attribution: %s\n"
+"Driver: %s"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Mount options"
-msgstr "Опцыi модулю:"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Jamaica"
-msgstr "Ямайка"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:283
msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle or DVD players"
+"I can keep your current configuration and assume you already set up a DHCP "
+"server; in that case please verify I correctly read the Network that you use "
+"for your local network; I will not reconfigure it and I will not touch your "
+"DHCP server configuration.\n"
+"\n"
+"The default DNS entry is the Caching Nameserver configured on the firewall. "
+"You can replace that with your ISP DNS IP, for example.\n"
+"\t\t \n"
+"Else, I can reconfigure your interface and (re)configure a DHCP server for "
+"you.\n"
+"\n"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Please wait, preparing installation..."
-msgstr "Падрыхтоўка ўсталяваньня"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTZ)"
-msgstr "Чешскi (QWERTZ)"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Track network card id (useful for laptops)"
-msgstr ""
+#: ../../standalone/drakgw_.c:290
+#, fuzzy
+msgid "Local Network adress"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The port number should be an integer!"
+#: ../../standalone/drakgw_.c:294
+msgid ""
+"DHCP Server Configuration.\n"
+"\n"
+"Here you can select different options for the DHCP server configuration.\n"
+"If you don't know the meaning of an option, simply leave it as it is.\n"
+"\n"
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "You must choose an image file first!"
-msgstr "URI прынтэру"
+#: ../../standalone/drakgw_.c:300
+#, fuzzy
+msgid "(This) DHCP Server IP"
+msgstr "IP SMB"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore from Hard Disk."
-msgstr "Аднаўленне з дыскеты"
+#: ../../standalone/drakgw_.c:301
+#, fuzzy
+msgid "The DNS Server IP"
+msgstr "IP SMB"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to LVM"
-msgstr "Дадаць да LVM"
+#: ../../standalone/drakgw_.c:302
+#, fuzzy
+msgid "The internal domain name"
+msgstr "I i"
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server"
-msgstr "DNS сервер"
+#: ../../standalone/drakgw_.c:303
+msgid "The DHCP start range"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Trinidad and Tobago"
+#: ../../standalone/drakgw_.c:304
+msgid "The DHCP end range"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "LPD and LPRng do not support IPP printers.\n"
+#: ../../standalone/drakgw_.c:305
+msgid "The default lease (in seconds)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Host name or IP."
-msgstr "Iмя машыны"
+#: ../../standalone/drakgw_.c:306
+msgid "The maximum lease (in seconds)"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Edit"
-msgstr "/_Рэдагаваць"
+#: ../../standalone/drakgw_.c:307
+msgid "Re-configure interface and DHCP server"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "simple"
+#: ../../standalone/drakgw_.c:314
+msgid "The Local Network did not finish with `.0', bailing out."
msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakgw_.c:325
#, c-format
-msgid "Clear all"
-msgstr "Ачысцiць усё"
+msgid "Potential LAN address conflict found in current config of %s!\n"
+msgstr " i i %s!\n"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "No test pages"
-msgstr "Так, надрукаваць абедзве старонкi тэксту"
+#: ../../standalone/drakgw_.c:335
+#, fuzzy
+msgid "Configuring..."
+msgstr " IDE"
-#: ../../lang.pm:1
-#, c-format
-msgid "Falkland Islands (Malvinas)"
-msgstr ""
+#: ../../standalone/drakgw_.c:336
+msgid "Configuring scripts, installing software, starting servers..."
+msgstr " , , ..."
-#: ../../standalone/drakconnect:1
+#: ../../standalone/drakgw_.c:372
#, c-format
-msgid "Adapter %s: %s"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Boot disk creation"
-msgstr "Настройка пасля ўсталявання"
+msgid "Problems installing package %s"
+msgstr " %s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Monday"
-msgstr "Панядзелак"
+#: ../../standalone/drakgw_.c:505
+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)."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Unknown model"
+#: ../../standalone/drakgw_.c:523
+msgid "The setup has already been done, but it's currently disabled."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check files/directories writable by everybody."
+#: ../../standalone/drakgw_.c:524
+msgid "The setup has already been done, and it's currently enabled."
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "authentication"
-msgstr "Аўтэнтыфiкацыя"
+#: ../../standalone/drakgw_.c:525
+#, fuzzy
+msgid "No Internet Connection Sharing has ever been configured."
+msgstr " I- "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup Now"
-msgstr "Настр. файлавых сiстэмаў"
+#: ../../standalone/drakgw_.c:531
+#, fuzzy
+msgid "Internet connection sharing configuration"
+msgstr "I i i"
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
+#: ../../standalone/drakgw_.c:539
#, fuzzy, c-format
-msgid "/_File"
-msgstr "Файлы:\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
-msgstr ""
+"Welcome to the Internet Connection Sharing utility!\n"
+"\n"
+"%s\n"
+"\n"
+"Click on Configure to launch the setup wizard."
+msgstr " I-"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Editable"
-msgstr "Таблiца"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "group"
+msgstr " "
-#: ../../network/ethernet.pm:1
-#, fuzzy, c-format
-msgid "Which dhcp client do you want to use ? (default is dhcp-client)"
+#: ../../standalone/drakperm_.c:36
+msgid "path"
msgstr ""
-"Якi dhcp клiент вы плануеце выкарыстоўваць?\n"
-"Па змоўчанню, гэта dhcp-client"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (ISCII-layout)"
-msgstr ""
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "permissions"
+msgstr " %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mayotte"
-msgstr "Майотэ"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "user"
+msgstr "I i:"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set shell commands history size. A value of -1 means unlimited."
+#: ../../standalone/drakperm_.c:43
+msgid "Up"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "%d KB\n"
-msgstr "Памер: %d Kб\n"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Creating auto install floppy..."
-msgstr "Стварэнне дыскеты для ўсталявання"
+#: ../../standalone/drakperm_.c:44
+#, fuzzy
+msgid "delete"
+msgstr "i"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Searching for scanners ..."
-msgstr "Даступныя пакеты"
+#: ../../standalone/drakperm_.c:45
+#, fuzzy
+msgid "edit"
+msgstr "i"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Russia"
-msgstr "Рускi"
+#: ../../standalone/drakperm_.c:46
+#, fuzzy
+msgid "Down"
+msgstr ""
-#: ../../steps.pm:1
-#, fuzzy, c-format
-msgid "Partitioning"
-msgstr "Прынтэр"
+#: ../../standalone/drakperm_.c:47
+#, fuzzy
+msgid "add a rule"
+msgstr " i"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ethernet card(s) detected"
+#: ../../standalone/drakperm_.c:48
+msgid "select perm file to see/edit"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Syslog"
+#: ../../standalone/drakperm_.c:51
+msgid ""
+"Drakperm is used to see files to use in order to fix permissions, owners, "
+"and groups via msec.\n"
+"You can also edit your own rules which will owerwrite the default rules."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create catalog!"
+#: ../../standalone/drakperm_.c:56
+#, fuzzy
+msgid "Add a new rule at the end"
+msgstr "I i"
+
+#: ../../standalone/drakperm_.c:57
+msgid "Edit curent rule"
msgstr ""
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid ""
-"Complete your security setup with this very easy-to-use software which "
-"combines high performance components such as a firewall, a virtual private "
-"network (VPN) server and client, an intrusion detection system and a traffic "
-"manager."
+#: ../../standalone/drakperm_.c:58
+msgid "Up selected rule one level"
msgstr ""
-#: ../../fsedit.pm:1
-#, fuzzy, c-format
-msgid "Not enough free space for auto-allocating"
-msgstr "Не хапае прасторы для стварэння новых раздзелаў"
+#: ../../standalone/drakperm_.c:59
+msgid "Down selected rule one level"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password"
-msgstr "Пароль для root"
+#: ../../standalone/drakperm_.c:60
+#, fuzzy
+msgid "Delete selected rule"
+msgstr "i "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable IP spoofing protection"
+#: ../../standalone/drakperm_.c:224
+msgid "browse"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"There's no free driver for your sound card (%s), but there's a proprietary "
-"driver at \"%s\"."
-msgstr ""
+#: ../../standalone/drakperm_.c:231
+#, fuzzy
+msgid "Current user"
+msgstr " i"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Group :"
-msgstr "Працоўная група"
+#: ../../standalone/drakperm_.c:236
+#, fuzzy
+msgid "Permissions"
+msgstr "i: %s\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
-msgstr "Усе дадзеныя ў раздзеле %s будуць страчаны"
+#: ../../standalone/drakperm_.c:237
+msgid "Path"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Internet connection configuration"
-msgstr "Iнтэрнэт злучэнне i канфiгурацыя"
+#: ../../standalone/drakperm_.c:238
+#, fuzzy
+msgid "Property"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Add the name as an exception to the handling of password aging by msec."
+#: ../../standalone/drakperm_.c:240
+msgid "sticky-bit"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "USB"
+#: ../../standalone/drakperm_.c:241
+msgid "Set-UID"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels"
+#: ../../standalone/drakperm_.c:242
+msgid "Set-GID"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Kernel:"
+#: ../../standalone/drakperm_.c:296
+msgid ""
+"Used for directory:\n"
+" only owner of directory or file in this directory can delete it"
msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "/_About..."
-msgstr "Адмянiць"
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Bengali"
-msgstr "Таблiца"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Preference: "
-msgstr "Параметры: "
-
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services: %d activated for %d registered"
+#: ../../standalone/drakperm_.c:297
+msgid "Use owner id for execution"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Create a bootdisk"
-msgstr "Стварыць загр. дыск"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Solomon Islands"
-msgstr "Саламонавы выспы"
+#: ../../standalone/drakperm_.c:298
+msgid "Use group id for execution"
+msgstr ""
-#: ../../standalone/mousedrake:1
-#, fuzzy, c-format
-msgid "Please test your mouse:"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
+#: ../../standalone/drakperm_.c:299
+msgid "when checked, owner and group won't be changed"
+msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "(module %s)"
-msgstr "(модуль %s)"
+#: ../../standalone/drakperm_.c:304
+#, fuzzy
+msgid "Path selection"
+msgstr "i "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Workgroup"
-msgstr "Працоўная група"
+#: ../../standalone/drakperm_.c:350
+#, fuzzy
+msgid "user :"
+msgstr "I i:"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer host name or IP"
-msgstr "Iмя прынтэру"
+#: ../../standalone/drakperm_.c:352
+#, fuzzy
+msgid "group :"
+msgstr " "
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "down"
-msgstr "Зроблена"
+#: ../../standalone/draksound_.c:46
+#, fuzzy
+msgid "No Sound Card detected!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Path or Module"
+#: ../../standalone/draksound_.c:47
+msgid ""
+"No Sound Card has been detected on your machine. Please verify that a Linux-"
+"supported Sound Card is correctly plugged in.\n"
+"\n"
+"\n"
+"You can visit our hardware database at:\n"
+"\n"
+"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer should contain only letters, numbers and the underscore"
+#: ../../standalone/draksound_.c:54
+msgid ""
+"\n"
+"\n"
+"\n"
+"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
+"program. Just type \"sndconfig\" in a console."
msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Show current interface configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Add Printer"
-msgstr "Прынтэр"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:21
msgid ""
-"The argument specifies if clients are authorized to connect\n"
-"to the X server from the network on the tcp port 6000 or not."
+"package 'ImageMagick' is required for correct working.\n"
+"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Development"
-msgstr "распрацоўшчык"
+#: ../../standalone/draksplash_.c:67
+#, fuzzy
+msgid "first step creation"
+msgstr " "
-#: ../../any.pm:1 ../../help.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Done"
-msgstr "Зроблена"
+#: ../../standalone/draksplash_.c:70
+#, fuzzy
+msgid "final resolution"
+msgstr " "
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Web Server"
-msgstr "сервер"
+#: ../../standalone/draksplash_.c:71 ../../standalone/draksplash_.c:163
+#, fuzzy
+msgid "choose image file"
+msgstr " "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Chile"
-msgstr "Порт мышы"
+#: ../../standalone/draksplash_.c:72
+#, fuzzy
+msgid "Theme name"
+msgstr "I "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tDo not include System Files\n"
+#: ../../standalone/draksplash_.c:77
+msgid "Browse"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:87 ../../standalone/draksplash_.c:153
+#, fuzzy
+msgid "Configure bootsplash picture"
+msgstr " "
+
+#: ../../standalone/draksplash_.c:90
msgid ""
-"The inkjet printer drivers provided by Lexmark only support local printers, "
-"no printers on remote machines or print server boxes. Please connect your "
-"printer to a local port or configure it on the machine where it is connected "
-"to."
+"x coordinate of text box\n"
+"in number of character"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:91
msgid ""
-"Your multi-function device was configured automatically to be able to scan. "
-"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
-"scanner when you have more than one) from the command line or with the "
-"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
-"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
-"\" menu. Call also \"man scanimage\" on the command line to get more "
-"information.\n"
-"\n"
-"Do not use \"scannerdrake\" for this device!"
+"y coordinate of text box\n"
+"in number of character"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "(already added %s)"
-msgstr "(ужо дададзена %s)"
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Bootloader installation in progress"
-msgstr "Усталяванне загрузчыку"
+#: ../../standalone/draksplash_.c:92
+msgid "text width"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", using command %s"
+#: ../../standalone/draksplash_.c:93
+msgid "text box height"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Alt and Shift keys simultaneously"
+#: ../../standalone/draksplash_.c:94
+msgid ""
+"the progress bar x coordinate\n"
+"of its upper left corner"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Flags"
+#: ../../standalone/draksplash_.c:95
+msgid ""
+"the progress bar y coordinate\n"
+"of its upper left corner"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Add/Del Users"
-msgstr "Дадаць карыстальнiка"
+#: ../../standalone/draksplash_.c:96
+msgid "the width of the progress bar"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host/network IP address missing."
+#: ../../standalone/draksplash_.c:97
+msgid "the heigth of the progress bar"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "weekly"
+#: ../../standalone/draksplash_.c:98
+msgid "the color of the progress bar"
msgstr ""
-#: ../../standalone/logdrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Settings"
-msgstr "Усталёўкі"
+#: ../../standalone/draksplash_.c:113
+#, fuzzy
+msgid "Preview"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered host/network IP is not correct.\n"
-msgstr ""
+#: ../../standalone/draksplash_.c:115
+#, fuzzy
+msgid "Save theme"
+msgstr " i"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Create/Transfer backup keys for SSH"
-msgstr ""
+#: ../../standalone/draksplash_.c:116
+#, fuzzy
+msgid "Choose color"
+msgstr " i"
-#: ../../any.pm:1
-#, c-format
-msgid "Here is the full list of available countries"
+#: ../../standalone/draksplash_.c:119
+msgid "Display logo on Console"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Alternative test page (A4)"
-msgstr "Друк тэставых старонак"
+#: ../../standalone/draksplash_.c:120
+msgid "Make kernel message quiet by default"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/draksplash_.c:156 ../../standalone/draksplash_.c:321
#, c-format
-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."
+msgid "This theme haven't yet any bootsplash in %s !"
msgstr ""
-"Калi вы маеце ўсе CD дыскi са спiса нiжэй, нацiснiце Ок.\n"
-"Калi вы не маеце анi воднага з гэтых CD дыскаў, нацiснiце Адмянiць.\n"
-"Калi некаторых з CD дыскаў не маеце, адмянiце iх выдзяленне i нацiснiце Ок."
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please"
+#: ../../standalone/draksplash_.c:205
+msgid "saving Bootsplash theme..."
msgstr ""
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "PAP"
-msgstr "PAP"
+#: ../../standalone/draksplash_.c:428
+#, fuzzy
+msgid "ProgressBar color selection"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup user files"
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "You must choose an image file first!"
+msgstr "URI "
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "New"
-msgstr "Новы"
+#: ../../standalone/draksplash_.c:458
+#, fuzzy
+msgid "Generating preview ..."
+msgstr " ..."
-#: ../../help.pm:1
+#. -PO First %s is theme name, second %s (in parenthesis) is resolution
+#: ../../standalone/draksplash_.c:506
#, c-format
+msgid "%s BootSplash (%s) preview"
+msgstr ""
+
+#: ../../standalone/drakxtv_.c:46
msgid ""
-"This is the most crucial decision point for the security of your GNU/Linux\n"
-"system: you have to enter the \"root\" password. \"Root\" is the system\n"
-"administrator and is the only user authorized to make updates, add users,\n"
-"change the overall system configuration, and so on. In short, \"root\" can\n"
-"do everything! That is why you must choose a password that is difficult to\n"
-"guess - DrakX will tell you if the password that you chose too easy. As you\n"
-"can see, you are not forced to enter a password, but we strongly advise you\n"
-"against this. GNU/Linux is just as prone to operator error as any other\n"
-"operating system. Since \"root\" can overcome all limitations and\n"
-"unintentionally erase all data on partitions by carelessly accessing the\n"
-"partitions themselves, it is important that it be difficult to become\n"
-"\"root\".\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. Never write down the \"root\" password -- it makes it far\n"
-"too easy to compromise a system.\n"
-"\n"
-"One caveat -- do not make the password too long or complicated because you\n"
-"must be able to remember it!\n"
+"XawTV isn't installed!\n"
"\n"
-"The password will not be displayed on screen as you type it in. To reduce\n"
-"the chance of a blind typing error you will need to enter the password\n"
-"twice. If you do happen to make the same typing error twice, this\n"
-"``incorrect'' password will be the one you will have use the first time you\n"
-"connect.\n"
"\n"
-"If you wish access to this computer to be controlled by an authentication\n"
-"server, click the \"%s\" button.\n"
+"If you do have a TV card but DrakX has neither detected it (no bttv nor "
+"saa7134\n"
+"module in \"/etc/modules\") nor installed xawtv, please send the\n"
+"results of \"lspcidrake -v -f\" to \"install\\@mandrakesoft.com\"\n"
+"with subject \"undetected TV card\".\n"
"\n"
-"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
-"services, select the appropriate one for \"%s\". If you do not know which\n"
-"one to use, you should ask your network administrator.\n"
"\n"
-"If you happen to have problems with remembering passwords, if your computer\n"
-"will never be connected to the internet or that you absolutely trust\n"
-"everybody who uses your computer, you can choose to have \"%s\"."
+"You can install it by typing \"urpmi xawtv\" as root, in a console."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Name resolution spoofing protection"
-msgstr ""
+#: ../../standalone/drakxtv_.c:63
+#, fuzzy
+msgid "Canada (cable)"
+msgstr "i ()"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"At this point, DrakX will allow you to choose the security level desired\n"
-"for the machine. As a rule of thumb, the security level should be set\n"
-"higher if the machine will contain crucial data, or if it will be a machine\n"
-"directly exposed to the Internet. The trade-off of a higher security level\n"
-"is generally obtained at the expense of ease of use.\n"
-"\n"
-"If you do not know what to choose, stay with the default option."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (broadcast)"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Load from floppy"
-msgstr "Аднаўленне з дыскеты"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "The following printer was auto-detected. "
-msgstr "Наступныя пакеты будуць выдалены"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Uses command %s"
-msgstr "Порт"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot Floppy"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable)"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Norwegian"
-msgstr "Нарвежскi"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Searching for new scanners ..."
-msgstr "Даступныя пакеты"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Apache World Wide Web Server"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable-hrc)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "stepping of the cpu (sub model (generation) number)"
+#: ../../standalone/drakxtv_.c:64
+msgid "China (broadcast)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "select path to restore (instead of /)"
-msgstr "калi ласка, пазначце тып вашай мышы."
-
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Configure bootsplash picture"
-msgstr "Настройка службаў"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Georgia"
-msgstr "Нарвежскi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "China"
-msgstr "Кітай"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid " (Make sure that all your printers are connected and turned on).\n"
-msgstr "Да якога паслядоўнага порту далучаны мадэм?"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Reading data of installed printers..."
-msgstr "Даступныя пакеты"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Erase Now "
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (broadcast)"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "server"
-msgstr "сервер"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (cable)"
+msgstr ""
-#: ../../install_any.pm:1
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Устаўце дыскету ў дыскавод %s"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "East Europe"
+msgstr "Ţ"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the processor has an arithmetic coprocessor"
-msgstr ""
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "France [SECAM]"
+msgstr ""
-#: ../../harddrake/sound.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Please Wait... Applying the configuration"
-msgstr "Праверка параметраў настройкi"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Ireland"
+msgstr "Ii"
-#. -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:1
-#, c-format
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Welcome to GRUB the operating system chooser!"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "West Europe"
+msgstr "Ţ"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Grub"
-msgstr "Grub"
+#: ../../standalone/drakxtv_.c:66
+#, fuzzy
+msgid "Australia"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SCSI controllers"
+#: ../../standalone/drakxtv_.c:66
+msgid "Newzealand"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on LPD server \"%s\", printer \"%s\""
+#: ../../standalone/drakxtv_.c:67
+msgid "South Africa"
msgstr ""
-#: ../../standalone/drakedm:1
-#, c-format
-msgid "Choosing a display manager"
+#: ../../standalone/drakxtv_.c:68
+msgid "Argentina"
msgstr ""
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Zeroconf Host name"
-msgstr "Iмя машыны"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom setup/crontab entry:"
+#: ../../standalone/drakxtv_.c:69
+msgid "Australian Optus cable TV"
msgstr ""
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP адрас павiнен быць у фармаце 1.2.3.4"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configure CUPS printing system"
-msgstr "Настройка сеткi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ecuador"
-msgstr "Эквадор"
-
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Add an item"
-msgstr "Дадаць карыстальнiка"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printers on this machine are available to other computers"
+#: ../../standalone/drakxtv_.c:102
+msgid ""
+"Please,\n"
+"type in your tv norm and country"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "China (Hong Kong)"
-msgstr "Сян Ган"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "I can't find needed image file `%s'."
+#: ../../standalone/drakxtv_.c:104
+msgid "TV norm:"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No sound card detected. Try \"harddrake\" after installation"
+#: ../../standalone/drakxtv_.c:105
+msgid "Area:"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"Invalid port given: %s.\n"
-"The proper format is \"port/tcp\" or \"port/udp\", \n"
-"where port is between 1 and 65535."
+#: ../../standalone/drakxtv_.c:109
+msgid "Scanning for TV channels in progress ..."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Shell"
-msgstr "Абалонка:"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sao Tome and Principe"
+#: ../../standalone/drakxtv_.c:116
+msgid "Scanning for TV channels"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "PCI"
-msgstr "PCI"
+#: ../../standalone/drakxtv_.c:120
+#, fuzzy
+msgid "There was an error while scanning for TV channels"
+msgstr " :"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Can't login using username %s (bad password?)"
+#: ../../standalone/drakxtv_.c:121
+msgid "XawTV isn't installed!"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Azerbaidjani (latin)"
-msgstr "Азербайджанскі (latin)"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Package not installed"
-msgstr "Заканчэнне ўсталявання"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "American Samoa"
-msgstr "Амэрыканскае Самоа"
-
-#: ../advertising/12-mdkexpert.pl:1
-#, fuzzy, c-format
-msgid "Become a MandrakeExpert"
-msgstr "эксперт"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Protocol"
-msgstr "Пратакол"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Copy fonts on your system"
-msgstr "У вашай сістэме няма нiводнага сеткавага адаптара!"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake help"
+#: ../../standalone/drakxtv_.c:124
+msgid "Have a nice day!"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bogomips"
+#: ../../standalone/drakxtv_.c:125
+msgid "Now, you can run xawtv (under X Window!) !\n"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Mandrake Terminal Server Configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+#: ../../standalone/drakxtv_.c:147
+msgid "No TV Card detected!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakxtv_.c:148
msgid ""
+"No TV Card has been detected on your machine. Please verify that a Linux-"
+"supported Video/TV Card is correctly plugged in.\n"
"\n"
-" DrakBackup Report Details\n"
+"\n"
+"You can visit our hardware database at:\n"
"\n"
"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore all backups"
+#: ../../standalone/harddrake2_.c:17
+#, fuzzy
+msgid "Alternative drivers"
+msgstr " "
+
+#: ../../standalone/harddrake2_.c:18
+msgid "the list of alternative drivers for this sound card"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on parallel port #%s"
+#: ../../standalone/harddrake2_.c:20
+msgid "Bus"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:21
msgid ""
-"Set the password minimum length and minimum number of digit and minimum "
-"number of capitalized letters."
+"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check open ports."
-msgstr ""
+#: ../../standalone/harddrake2_.c:22
+#, fuzzy
+msgid "Channel"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to erase the media."
+#: ../../standalone/harddrake2_.c:22
+msgid "EIDE/SCSI channel"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't select/unselect this package"
-msgstr "Вы не можаце вылучаць і адмяняць вылучэнне гэтага пакету"
-
-#: ../../keyboard.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../harddrake/sound.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Warning"
-msgstr "Увага!"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Other Files:\n"
+#: ../../standalone/harddrake2_.c:23
+msgid "Bogomips"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remote host name"
-msgstr "Аддалены вузел"
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to X programs"
+#: ../../standalone/harddrake2_.c:23
+msgid ""
+"The GNU/Linux kernel needs to do run a calculation loop at boot time\n"
+"\t to initialize a timer counter. Its result is stored as bogomips as a way "
+"to \"benchmark\" the cpu."
msgstr ""
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Computing the size of the Windows partition"
-msgstr "Выкарыстоўваць незанятую прастору на раздзеле Windows"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Refresh"
-msgstr "/_Аднавіць"
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#: ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "Italy"
-msgstr "Iтальянскi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cayman Islands"
-msgstr "Кайманавыя выспы"
-
-#: ../../fs.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "памылка разманцiравання %s: %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer"
-msgstr "Iмя друкаркi"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "disable"
-msgstr "Таблiца"
+#: ../../standalone/harddrake2_.c:26
+#, fuzzy
+msgid "Bus identification"
+msgstr "i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do it!"
+#: ../../standalone/harddrake2_.c:27
+msgid ""
+"- PCI and USB devices: this list the vendor, device, subvendor and subdevice "
+"PCI/USB ids"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s not responding"
+#: ../../standalone/harddrake2_.c:29
+msgid "Location on the bus"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Select model manually"
-msgstr "Аддалены прынтэр"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Format"
-msgstr "Фарматаванне"
-
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:30
msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
+"- pci devices: this gives the PCI slot, device and function of this card\n"
+"- eide devices: the device is either a slave or a master device\n"
+"- scsi devices: the scsi bus and the scsi device ids"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Various"
-msgstr ""
+#: ../../standalone/harddrake2_.c:33
+#, fuzzy
+msgid "Cache size"
+msgstr " "
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Zip"
+#: ../../standalone/harddrake2_.c:33
+msgid "Size of the (second level) cpu cache"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Alt key"
+#: ../../standalone/harddrake2_.c:34
+msgid "Coma bug:"
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Load setting"
-msgstr "фарматаванне"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Printerdrake could not determine which model your printer %s is. Please "
-"choose the correct model from the list."
+#: ../../standalone/harddrake2_.c:34
+msgid "Does this cpu has Cyrix 6x86 Coma bug ?"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Set selected printer as the default printer"
-msgstr "Жадаеце пратэсцiраваць друк?"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Mark the printers which you want to transfer and click \n"
-"\"Transfer\"."
+#: ../../standalone/harddrake2_.c:35
+msgid "Cpuid family"
msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ"
+#: ../../standalone/harddrake2_.c:35
+msgid "Family of the cpu (eg: 6 for i686 class)"
msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Albanian"
-msgstr "Iранскi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lithuania"
-msgstr "Жамойція"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Compact"
-msgstr "Кампактна"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Detected model: %s %s"
-msgstr "Дубляванне пункту манцiравання %s"
+#: ../../standalone/harddrake2_.c:36
+#, fuzzy
+msgid "Cpuid level"
+msgstr "i i"
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid "MandrakeSoft has selected the best software for you"
+#: ../../standalone/harddrake2_.c:36
+msgid "Information level that can be obtained through the cpuid instruction"
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Local files"
-msgstr "Лакальны прынтэр"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "maybe"
-msgstr "можа быць"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Panama"
-msgstr "Панама"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Can't open %s!"
-msgstr "Памылка адкрыцця %s для запiсу: %s"
+#: ../../standalone/harddrake2_.c:37
+msgid "Frequency (MHz)"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:37
msgid ""
-"Your graphic card seems to have a TV-OUT connector.\n"
-"It can be configured to work using frame-buffer.\n"
-"\n"
-"For this you have to plug your graphic card to your TV before booting your "
-"computer.\n"
-"Then choose the \"TVout\" entry in the bootloader\n"
-"\n"
-"Do you have this feature?"
+"The cpu frequency in Mhz (Mega herz which in first approximation may be "
+"coarsely assimilated to number of instructions the cpu is able to execute "
+"per second)"
msgstr ""
-#: ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Monitor"
-msgstr "Манiтор"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to set up printing to a Windows account with password. Due to "
-"a fault in the architecture of the Samba client software the password is put "
-"in clear text into the command line of the Samba client used to transmit the "
-"print job to the Windows server. So it is possible for every user on this "
-"machine to display the password on the screen by issuing commands as \"ps "
-"auxwww\".\n"
-"\n"
-"We recommend to make use of one of the following alternatives (in all cases "
-"you have to make sure that only machines from your local network have access "
-"to your Windows server, for example by means of a firewall):\n"
-"\n"
-"Use a password-less account on your Windows server, as the \"GUEST\" account "
-"or a special account dedicated for printing. Do not remove the password "
-"protection from a personal account or the administrator account.\n"
-"\n"
-"Set up your Windows server to make the printer available under the LPD "
-"protocol. Then set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+#: ../../standalone/harddrake2_.c:38
+msgid "This field describes the device"
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "65 thousand colors (16 bits)"
-msgstr "65 тысяч колераў (16 бiтаў)"
+#: ../../standalone/harddrake2_.c:39
+#, fuzzy
+msgid "Old device file"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Save on Hard drive on path: %s\n"
+#: ../../standalone/harddrake2_.c:40
+msgid "old static device name used in dev package"
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Remove fonts on your system"
-msgstr "У вашай сістэме няма нiводнага сеткавага адаптара!"
+#: ../../standalone/harddrake2_.c:41
+#, fuzzy
+msgid "New devfs device"
+msgstr "-"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Warning, the network adapter (%s) is already configured.\n"
-"\n"
-"Do you want an automatic re-configuration?\n"
-"\n"
-"You can do it manually but you need to know what you're doing."
+#: ../../standalone/harddrake2_.c:42
+msgid "new dinamic device name generated by incore kernel devfs"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphical interface at startup"
-msgstr "Запуск X пры старце сiстэмы"
+#: ../../standalone/harddrake2_.c:43
+#, fuzzy
+msgid "Module"
+msgstr " "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " adsl"
+#: ../../standalone/harddrake2_.c:43
+msgid "the module of the GNU/Linux kernel that handle that device"
msgstr ""
-#: ../../raid.pm:1
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Недастаткова раздзелаў для RAID узроўня %d\n"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "format of floppies supported by the drive"
+#: ../../standalone/harddrake2_.c:44
+msgid "CPU flags reported by the kernel"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy failed, file %s not found"
+#: ../../standalone/harddrake2_.c:44
+msgid "Flags"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "local config: true"
-msgstr "Настройка X Window"
+#: ../../standalone/harddrake2_.c:45
+msgid "Fdiv bug"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../standalone/harddrake2_.c:46
msgid ""
-"The following printers are configured. Double-click on a printer to change "
-"its settings; to make it the default printer; or to view information about "
-"it."
+"Early Intel Pentium chips manufactured have a bug in their floating point "
+"processor which did not achieve the attended precision when performing a "
+"Floating point DIVision (FDIV)"
msgstr ""
-"Тут змяшчаюцца чэргi друку.\n"
-"Вы можаце дадаць яшчэ, альбо змянiць iснуючыя."
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connected"
-msgstr "Iмя злучэння"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Macedonian"
+#: ../../standalone/harddrake2_.c:49
+msgid "Is FPU present"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mali"
-msgstr "Малі"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Bridges and system controllers"
+#: ../../standalone/harddrake2_.c:49
+msgid "yes means the processor has an arithmetic coprocessor"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Save"
+#: ../../standalone/harddrake2_.c:50
+msgid "Does FPU have an irq vector"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "No details"
-msgstr "Падрабязнасцi"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "very nice"
-msgstr "вельмi добра"
-
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Preview"
-msgstr "прылада"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Remote Control"
-msgstr "Аддалены прынтэр"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please select media for backup..."
-msgstr "Калi ласка, абярыце мову для карыстання."
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Wrong email"
+#: ../../standalone/harddrake2_.c:50
+msgid "yes means the arithmetic coprocessor has an exception vector attached"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Сервер XFree86: %s\n"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Allow Thin Clients"
+#: ../../standalone/harddrake2_.c:51
+msgid "Early pentium were buggy and freezed when decoding the F00F bytecode"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Грузiнскi (\"Руская\" раскладка)"
-
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Options"
-msgstr "/_Налады"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Your printer model"
-msgstr "Аддалены прынтэр"
+#: ../../standalone/harddrake2_.c:51
+msgid "F00f bug"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"(WARNING! You're using XFS for your root partition,\n"
-"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
-"because XFS needs a very large driver)."
+#: ../../standalone/harddrake2_.c:52
+msgid "Halt bug"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/harddrake2_.c:53
msgid ""
-"\n"
-"- Delete hard drive tar files after backup.\n"
+"Some of the early i486DX-100 chips cannot reliably return to operating mode "
+"after the \"halt\" instruction is used"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"No CD or DVD image found, please copy the installation program and rpm files."
+#: ../../standalone/harddrake2_.c:55
+#, fuzzy
+msgid "Floppy format"
+msgstr ""
+
+#: ../../standalone/harddrake2_.c:55
+msgid "Format of floppies the drive accept"
msgstr ""
-#: ../advertising/04-configuration.pl:1
-#, fuzzy, c-format
-msgid "Mandrake's multipurpose configuration tool"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+#: ../../standalone/harddrake2_.c:56
+#, fuzzy
+msgid "Level"
+msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Save"
-msgstr "Стартавае меню"
+#: ../../standalone/harddrake2_.c:56
+msgid "Sub generation of the cpu"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is unsupported"
+#: ../../standalone/harddrake2_.c:57
+msgid "Media class"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Load the drivers for your usb devices."
+#: ../../standalone/harddrake2_.c:57
+msgid "class of hardware device"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Disk"
-msgstr "Дацкi"
+#: ../../standalone/harddrake2_.c:58 ../../standalone/harddrake2_.c:59
+#, fuzzy
+msgid "Model"
+msgstr " "
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Enter a printer device URI"
-msgstr "URI прынтэру"
+#: ../../standalone/harddrake2_.c:58
+#, fuzzy
+msgid "hard disk model"
+msgstr " (DMA)"
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid ""
-"The success of MandrakeSoft is based upon the principle of Free Software. "
-"Your new operating system is the result of collaborative work of the "
-"worldwide Linux Community."
+#: ../../standalone/harddrake2_.c:59
+msgid "Generation of the cpu (eg: 8 for PentiumIII, ...)"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Israel"
-msgstr "Iўрыт"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "French Guiana"
-msgstr "Французскi"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "default:LTR"
-msgstr "default:LTR"
+#: ../../standalone/harddrake2_.c:60
+#, fuzzy
+msgid "Model name"
+msgstr "i :"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A command line must be entered!"
+#: ../../standalone/harddrake2_.c:60
+msgid "Official vendor name of the cpu"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select user manually"
-msgstr ""
+#: ../../standalone/harddrake2_.c:61
+#, fuzzy
+msgid "Number of buttons"
+msgstr "2 i"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Transfer printer configuration"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+#: ../../standalone/harddrake2_.c:62
+#, fuzzy
+msgid "Name"
+msgstr "I: "
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Do you want to enable printing on the printers mentioned above?\n"
-msgstr "Вы жадаеце, каб гэтае злучэнне стартавала пры загрузцы?"
+#: ../../standalone/harddrake2_.c:63
+#, fuzzy
+msgid "network printer port"
+msgstr " (TCP/Socket)"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of suid root files"
+#: ../../standalone/harddrake2_.c:64
+msgid "Processor ID"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"For this to work for a W2K PDC, you will probably need to have the admin "
-"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
-"add and reboot the server.\n"
-"You will also need the username/password of a Domain Admin to join the "
-"machine to the Windows(TM) domain.\n"
-"If networking is not yet enabled, Drakx will attempt to join the domain "
-"after the network setup step.\n"
-"Should this setup fail for some reason and domain authentication is not "
-"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
-"Domain, and Admin Username/Password, after system boot.\n"
-"The command 'wbinfo -t' will test whether your authentication secrets are "
-"good."
+#: ../../standalone/harddrake2_.c:64
+msgid "the number of the processor"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "%s (Port %s)"
-msgstr "Порт"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use network connection to backup"
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Kernel version"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+#: ../../standalone/harddrake2_.c:65
+#, fuzzy
+msgid "Model stepping"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"It is now time to specify which programs you wish to install on your\n"
-"system. There are thousands of packages available for Mandrake Linux, and\n"
-"to make it simpler to manage the packages have been placed into groups of\n"
-"similar applications.\n"
-"\n"
-"Packages are sorted into groups corresponding to a particular use of your\n"
-"machine. Mandrake Linux has four predefined installations available. You\n"
-"can think of these installation classes as containers for various packages.\n"
-"You can mix and match applications from the various groups, so a\n"
-"``Workstation'' installation can still have applications from the\n"
-"``Development'' group installed.\n"
-"\n"
-" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
-"more of the applications that are in the workstation group.\n"
-"\n"
-" * \"%s\": if plan on using your machine for programming, choose the\n"
-"appropriate packages from that group.\n"
-"\n"
-" * \"%s\": if your machine is intended to be a server, select which of the\n"
-"more common services you wish to install on your machine.\n"
-"\n"
-" * \"%s\": this is where you will choose your preferred graphical\n"
-"environment. At least one must be selected if you want to have a graphical\n"
-"interface available.\n"
-"\n"
-"Moving the mouse cursor over a group name will display a short explanatory\n"
-"text about that group. If you unselect all groups when performing a regular\n"
-"installation (as opposed to an upgrade), a dialog will pop up proposing\n"
-"different options for a minimal installation:\n"
-"\n"
-" * \"%s\": install the minimum number of packages possible to have a\n"
-"working graphical desktop.\n"
-"\n"
-" * \"%s\": installs the base system plus basic utilities and their\n"
-"documentation. This installation is suitable for setting up a server.\n"
-"\n"
-" * \"%s\": will install the absolute minimum number of packages necessary\n"
-"to get a working Linux system. With this installation you will only have a\n"
-"command line interface. The total size of this installation is about 65\n"
-"megabytes.\n"
-"\n"
-"You can check the \"%s\" box, which is useful if you are familiar with the\n"
-"packages being offered or if you want to have total control over what will\n"
-"be installed.\n"
-"\n"
-"If you started the installation in \"%s\" mode, you can unselect all groups\n"
-"to avoid installing any new package. This is useful for repairing or\n"
-"updating an existing system."
+#: ../../standalone/harddrake2_.c:65
+msgid "Stepping of the cpu (sub model (generation) number)"
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Accept user"
-msgstr "Прыняць карыстальнiка"
+#: ../../standalone/harddrake2_.c:66
+#, fuzzy
+msgid "The type of bus on which the mouse is connected"
+msgstr "i , , ."
-#: ../../help.pm:1 ../../diskdrake/dav.pm:1
-#, fuzzy, c-format
-msgid "Server"
-msgstr "сервер"
+#: ../../standalone/harddrake2_.c:67
+msgid "the vendor name of the device"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Shift key"
+#: ../../standalone/harddrake2_.c:68
+msgid "the vendor name of the processor"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid " local network"
-msgstr "сеткавая карта не знойдзена"
+#: ../../standalone/harddrake2_.c:82
+#, fuzzy
+msgid "/_Quit"
+msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Bad choice, try again\n"
-msgstr "Дрэнны выбар, паспрабуйце яшче\n"
+#: ../../standalone/harddrake2_.c:83
+#, fuzzy
+msgid "/Autodetect _printers"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Syslog reports to console 12"
+#: ../../standalone/harddrake2_.c:83 ../../standalone/harddrake2_.c:85
+#: ../../standalone/logdrake_.c:81
+msgid "/_Options"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Search new servers"
-msgstr "DNS сервер"
+#: ../../standalone/harddrake2_.c:85
+#, fuzzy
+msgid "/Autodetect _modems"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Heard and McDonald Islands"
+#: ../../standalone/harddrake2_.c:87 ../../standalone/harddrake2_.c:89
+#: ../../standalone/harddrake2_.c:100 ../../standalone/harddrake2_.c:102
+#: ../../standalone/logdrake_.c:83
+msgid "/_Help"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No alternative driver"
+#: ../../standalone/harddrake2_.c:89
+msgid "/_Help..."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to expert mode"
-msgstr "Рэжым эксперту"
-
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on this machine)"
+#: ../../standalone/harddrake2_.c:92
+msgid "Harddrake help"
msgstr ""
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Gateway address should be in format 1.2.3.4"
-msgstr "IP адрас павiнен быць у фармаце 1.2.3.4"
-
-#: ../../network/modem.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:93
msgid ""
-"\"%s\" based winmodem detected, do you want to install needed software ?"
+"Description of the fields:\n"
+"\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Looking at packages already installed..."
-msgstr "Вы не можаце адмянiць вылучэнне гэтага пакету. Ён ужо ўсталяваны"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Differential Backups"
+#: ../../standalone/harddrake2_.c:96
+msgid ""
+"Once you've selected a device, you'll be able to see explanations on fields "
+"displayed on the right frame (\"Information\")"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Driver"
-msgstr "сервер"
+#: ../../standalone/harddrake2_.c:96
+#, fuzzy
+msgid "Select a device !"
+msgstr " i"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
+#: ../../standalone/harddrake2_.c:100
+msgid "/_Report Bug"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "DVD-R device"
-msgstr "прылада"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer on remote lpd server"
-msgstr "Аддалены сервер lpd"
+#: ../../standalone/harddrake2_.c:102
+#, fuzzy
+msgid "/_About..."
+msgstr "i"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid ""
-"Before installing any fonts, be sure that you have the right to use and "
-"install them on your system.\n"
-"\n"
-"-You can install the fonts the normal way. In rare cases, bogus fonts may "
-"hang up your X Server."
+#: ../../standalone/harddrake2_.c:104
+msgid "About Harddrake"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:105
msgid ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
-"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
-"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
-"to hold this information.\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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
-"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
-"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
-"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
+"This is HardDrake, a Mandrake hardware configuration tool.\n"
+"Version:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wednesday"
-msgstr "Серада"
+#: ../../standalone/harddrake2_.c:106
+#, fuzzy
+msgid "Author:"
+msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Germany"
-msgstr "Нямецкi"
+#: ../../standalone/harddrake2_.c:113
+#, fuzzy
+msgid "Detection in progress"
+msgstr " i %s"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Austria"
-msgstr "паслядоўная"
+#: ../../standalone/harddrake2_.c:119
+#, fuzzy
+msgid "Harddrake2 version "
+msgstr " "
-#: ../../mouse.pm:1
-#, c-format
-msgid "No mouse"
-msgstr "Няма мышы"
+#: ../../standalone/harddrake2_.c:126
+#, fuzzy
+msgid "Detected hardware"
+msgstr ". i "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Choose your CD/DVD media size (MB)"
-msgstr "Калi ласка, абярыце тып клавiятуры."
+#: ../../standalone/harddrake2_.c:129
+#, fuzzy
+msgid "Information"
+msgstr "I"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check permissions of files in the users' home"
-msgstr ""
+#: ../../standalone/harddrake2_.c:131
+#, fuzzy
+msgid "Configure module"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Run \"sndconfig\" after installation to configure your sound card"
+#: ../../standalone/harddrake2_.c:137
+msgid "Run config tool"
msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Collapse Tree"
-msgstr "Згарнуць дрэва"
-
-#: ../../standalone/drakautoinst:1
+#: ../../standalone/harddrake2_.c:143
#, fuzzy, c-format
-msgid "Auto Install Configurator"
-msgstr "Настройка пасля ўсталявання"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure networking"
-msgstr "Настройка сеткi"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Where do you want to install the bootloader?"
-msgstr "Куды вы жадаеце ўсталяваць пачатковы загрузчык?"
+msgid "Running \"%s\" ..."
+msgstr " CUPS"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:159
msgid ""
-"Your choice of preferred language will affect the language of the\n"
-"documentation, the installer and the system in general. Select first the\n"
-"region you are located in, and then the language you speak.\n"
-"\n"
-"Clicking on the \"%s\" button will allow you to select other languages to\n"
-"be installed on your workstation, thereby installing the language-specific\n"
-"files for system documentation and applications. For example, if you will\n"
-"host users from Spain on your machine, select English as the default\n"
-"language in the tree view and \"%s\" in the Advanced section.\n"
-"\n"
-"Note that you're not limited to choosing a single additional language. You\n"
-"may choose several ones, or even install them all by selecting the \"%s\"\n"
-"box. Selecting support for a language means translations, fonts, spell\n"
-"checkers, etc. for that language will be installed. Additionally, the\n"
-"\"%s\" checkbox allows you to force the system to use unicode (UTF-8). Note\n"
-"however that this is an experimental feature. If you select different\n"
-"languages requiring different encoding the unicode support will be\n"
-"installed anyway.\n"
-"\n"
-"To switch between the various languages installed on the system, you can\n"
-"launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n"
-"language used by the entire system. Running the command as a regular user\n"
-"will only change the language settings for that particular user."
+"Click on a device in the left tree in order to get its information displayed "
+"here."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not supported by this version of Mandrake Linux."
+#: ../../standalone/harddrake2_.c:231
+msgid "primary"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "tape"
-msgstr "Тып: "
+#: ../../standalone/harddrake2_.c:231
+#, fuzzy
+msgid "secondary"
+msgstr "%d "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP client"
-msgstr ""
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect modems"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "List users on display managers (kdm and gdm)"
-msgstr ""
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect printers"
+msgstr " "
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (паслядоўная, стары тып C7)"
+#: ../../standalone/harddrake2_.c:261
+#, fuzzy
+msgid "/Options"
+msgstr "i"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Аднаўленне з файла %s не атрымалася: %s"
+#: ../../standalone/keyboarddrake_.c:26
+msgid "Please, choose your keyboard layout."
+msgstr "i , i."
-#: ../../fsedit.pm:1
-#, fuzzy, c-format
+#: ../../standalone/keyboarddrake_.c:35
+msgid "Do you want the BackSpace to return Delete in console?"
+msgstr " BackSpace Delete?"
+
+#: ../../standalone/livedrake_.c:18
+#, fuzzy
+msgid "Change Cd-Rom"
+msgstr "i "
+
+#: ../../standalone/livedrake_.c:19
+#, fuzzy
msgid ""
-"I can't read the partition table of device %s, it's too corrupted for me :(\n"
-"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to not allow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to lose all the partitions?\n"
+"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ца раздзелаў не чытаецца, яна занадта сапсаваная для меня :(\n"
-"Паспрабую iсцi далей i буду прапускаць дрэнныя раздзелы (Усе ДАДЕЗЕНЫЯ\n"
-"будуць страчаны!). Iншае рашэнне не дазволiць DrakX змянiць таблiцу "
-"раздзелаў.\n"
-"(памылка ў %s)\n"
+"i Cd-Rom!\n"
"\n"
-"Цi жадаеце страцiць усе раздзелы?\n"
+"i , Cd-Rom, \"%s\", i ii O "
+".\n"
+"i , ii i, i "
+"Cd."
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Find Package"
-msgstr "%d пакетаў"
+#: ../../standalone/livedrake_.c:29
+msgid "Unable to start live upgrade !!!\n"
+msgstr " live upgrade !!!\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Are you sure that you want to set up printing on this machine?\n"
+#: ../../standalone/localedrake_.c:34
+msgid "The change is done, but to be effective you must logout"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "New devfs device"
-msgstr "Прылада-шлюз"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "ERROR: Cannot spawn %s."
+#: ../../standalone/logdrake_.c:56 ../../ugtk.pm_.c:284 ../../ugtk2.pm_.c:350
+msgid "logdrake"
msgstr ""
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Boot Style Configuration"
-msgstr "Настройка мадэму"
-
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Automatic time synchronization"
-msgstr "Настройка мадэму"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files not found at %s."
+#: ../../standalone/logdrake_.c:68
+msgid "Show only for the selected day"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (phonetic)"
-msgstr "Армянскi (фанетычны)"
-
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "Card model:"
-msgstr "Адрасы памяці карты (DMA)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Thin Client"
+#: ../../standalone/logdrake_.c:75
+msgid "/File/_New"
msgstr ""
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Thank you for choosing Mandrake Linux 9.2"
+#: ../../standalone/logdrake_.c:75
+msgid "<control>N"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Start Server"
-msgstr "NIS сервер:"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkmenistan"
-msgstr "Туркменістан"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "All remote machines"
-msgstr "Аддалены прынтэр"
-
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Install themes"
-msgstr "Усталяванне сiстэмы"
+#: ../../standalone/logdrake_.c:76
+msgid "/File/_Open"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Espanol"
+#: ../../standalone/logdrake_.c:76
+msgid "<control>O"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing installation"
-msgstr "Падрыхтоўка ўсталяваньня"
+#: ../../standalone/logdrake_.c:77
+msgid "/File/_Save"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected host/network"
+#: ../../standalone/logdrake_.c:77
+msgid "<control>S"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Add User -->"
-msgstr "Дадаць карыстальнiка"
+#: ../../standalone/logdrake_.c:78
+msgid "/File/Save _As"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Nauru"
-msgstr "Наўру"
+#: ../../standalone/logdrake_.c:79
+msgid "/File/-"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "True Type fonts installation"
-msgstr "Падрыхтоўка ўсталяваньня"
+#: ../../standalone/logdrake_.c:82
+msgid "/Options/Test"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected directly to the local network"
+#: ../../standalone/logdrake_.c:84
+msgid "/Help/_About..."
msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "LAN configuration"
-msgstr "Настройка ADSL"
+#: ../../standalone/logdrake_.c:145
+#, fuzzy
+msgid "User"
+msgstr "I i:"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "hard disk model"
-msgstr "Адрасы памяці карты (DMA)"
+#: ../../standalone/logdrake_.c:146
+#, fuzzy
+msgid "Messages"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain /etc/exports:\n"
-" \tClusternfs allows export of the root filesystem to diskless "
-"clients. drakTermServ\n"
-" \tsets up the correct entry to allow anonymous access to the root "
-"filesystem from\n"
-" \tdiskless clients.\n"
-"\n"
-" \tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t/\t\t\t\t\t(ro,all_squash)\n"
-" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-" \tWith SUBNET/MASK being defined for your network."
+#: ../../standalone/logdrake_.c:147
+msgid "Syslog"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
+#: ../../standalone/logdrake_.c:148
+msgid "Mandrake Tools Explanations"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Get Windows Fonts"
+#: ../../standalone/logdrake_.c:151
+msgid "search"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../standalone/drakclock:1
-#, c-format
-msgid ""
-"Your computer can synchronize its clock\n"
-" with a remote time server using NTP"
+#: ../../standalone/logdrake_.c:161
+msgid "A tool to monitor your logs"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Iranian"
-msgstr "Iранскi"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Croatia"
-msgstr "Харвацкi"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway:"
-msgstr "Шлюз:"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Add server"
-msgstr "Дадаць карыстальнiка"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remote printer name"
-msgstr "Аддалены прынтэр"
+#: ../../standalone/logdrake_.c:162 ../../standalone/net_monitor_.c:91
+msgid "Settings"
+msgstr ""
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid ""
-"MandrakeSoft has designed exclusive tools to create the most secured Linux "
-"version ever: Draksec, a system security management tool, and a strong "
-"firewall are teamed up together in order to highly reduce hacking risks."
+#: ../../standalone/logdrake_.c:167
+msgid "matching"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Device: "
-msgstr "Прылада:"
+#: ../../standalone/logdrake_.c:168
+msgid "but not matching"
+msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Printerdrake"
-msgstr "Прынтэр"
+#: ../../standalone/logdrake_.c:172
+msgid "Choose file"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "License agreement"
-msgstr "Ліцэнзійная дамова"
+#: ../../standalone/logdrake_.c:181
+msgid "Calendar"
+msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "System Options"
-msgstr "Опцыi модулю:"
+#: ../../standalone/logdrake_.c:191
+msgid "Content of the file"
+msgstr ""
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid "Please choose the desired security level"
-msgstr "Узровень бяспекi"
+#: ../../standalone/logdrake_.c:195 ../../standalone/logdrake_.c:375
+msgid "Mail alert"
+msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/logdrake_.c:245
#, c-format
-msgid "This host is already in the list, it cannot be added again.\n"
+msgid "please wait, parsing file: %s"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid ", USB printer"
-msgstr "Iмя друкаркi"
+#: ../../standalone/logdrake_.c:392
+#, fuzzy
+msgid "Mail alert configuration"
+msgstr " ADSL"
-#: ../../standalone/drakfloppy:1
-#, c-format
+#: ../../standalone/logdrake_.c:393
msgid ""
-"Unable to properly close mkbootdisk:\n"
+"Welcome to the mail configuration utility.\n"
"\n"
-"<span foreground=\"Red\"><tt>%s</tt></span>"
+"Here, you'll be able to set up the alert system.\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Incremental backups only save files that have changed or are new since the "
-"last backup."
+#: ../../standalone/logdrake_.c:400
+msgid "Apache World Wide Web Server"
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Choose the applications that will support the fonts:"
-msgstr "Выбар раздзелаў для фарматавання"
+#: ../../standalone/logdrake_.c:401
+#, fuzzy
+msgid "Domain Name Resolver"
+msgstr "I "
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure X"
-msgstr "Настройка X Window"
+#: ../../standalone/logdrake_.c:402
+#, fuzzy
+msgid "Ftp Server"
+msgstr "NIS :"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "hd"
-msgstr "Чад"
+#: ../../standalone/logdrake_.c:403
+#, fuzzy
+msgid "Postfix Mail Server"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Турэцкi (традыцыёная \"F\" мадэль)"
+#: ../../standalone/logdrake_.c:404
+#, fuzzy
+msgid "Samba Server"
+msgstr "NIS :"
-#: ../../standalone/drakautoinst:1 ../../standalone/drakgw:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Congratulations!"
-msgstr "Прыміце вiншаваннi!"
+#: ../../standalone/logdrake_.c:405
+#, fuzzy
+msgid "SSH Server"
+msgstr "NIS :"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use owner id for execution"
-msgstr ""
+#: ../../standalone/logdrake_.c:406
+#, fuzzy
+msgid "Webmin Service"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, fuzzy, c-format
-msgid "Allow remote root login"
-msgstr "Аддалены прынтэр"
+#: ../../standalone/logdrake_.c:407
+#, fuzzy
+msgid "Xinetd Service"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Down"
-msgstr "Зроблена"
+#: ../../standalone/logdrake_.c:414
+#, fuzzy
+msgid "service setting"
+msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer (No driver)"
+#: ../../standalone/logdrake_.c:415
+msgid ""
+"You will receive an alert if one of the selected services is no more running"
msgstr ""
-#: ../../network/modem.pm:1
-#, fuzzy, c-format
-msgid "Install rpm"
-msgstr "Усталёўка"
+#: ../../standalone/logdrake_.c:428
+#, fuzzy
+msgid "load setting"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print a file from the command line (terminal window) you can either use "
-"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
-"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
-"to modify the option settings easily.\n"
+#: ../../standalone/logdrake_.c:429
+msgid "You will receive an alert if the load is higher than this value"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Time remaining "
-msgstr "Засталося часу "
+#: ../../standalone/logdrake_.c:444
+#, fuzzy
+msgid "alert configuration"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "UK keyboard"
-msgstr "UK клавiятура"
+#: ../../standalone/logdrake_.c:445
+#, fuzzy
+msgid "Please enter your email address below "
+msgstr " "
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Unmount"
-msgstr "Разманцiраваць"
+#: ../../standalone/logdrake_.c:486
+msgid "Save as.."
+msgstr ""
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Microsoft Explorer"
-msgstr "Microsoft IntelliMouse"
+#: ../../standalone/mousedrake_.c:37
+msgid "Please, choose the type of your mouse."
+msgstr "i , ."
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Uninstall Fonts"
-msgstr "Выдаленне выбраных RPM-пакетаў з сiстэмы"
+#: ../../standalone/mousedrake_.c:50
+msgid "Emulate third button?"
+msgstr " ?"
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Please wait, detecting and configuring devices..."
-msgstr "Настройкi ўзроўня бяспекi"
+#: ../../standalone/net_monitor_.c:53 ../../standalone/net_monitor_.c:87
+#, fuzzy
+msgid "Network Monitoring"
+msgstr "i i"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German (no dead keys)"
-msgstr "Нямецкi (няма заблакiраваных клавiш)"
+#: ../../standalone/net_monitor_.c:96
+#, fuzzy
+msgid "Profile "
+msgstr " i: "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tSend mail to %s\n"
+#: ../../standalone/net_monitor_.c:99
+msgid "Statistics"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transferring %s..."
+#: ../../standalone/net_monitor_.c:103
+#, fuzzy
+msgid "Sending Speed:"
+msgstr " "
+
+#: ../../standalone/net_monitor_.c:104
+msgid "Receiving Speed:"
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "32 thousand colors (15 bits)"
-msgstr "32 тысячы колераў (15 бiтаў)"
+#: ../../standalone/net_monitor_.c:106
+#, fuzzy
+msgid "Connection Time: "
+msgstr "I "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"You can export using NFS or Samba. Please select which you'd like to use."
+#: ../../standalone/net_monitor_.c:113
+msgid "Logs"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Gambia"
-msgstr "Гамбія"
+#: ../../standalone/net_monitor_.c:147
+#, fuzzy
+msgid "Wait please, testing your connection..."
+msgstr "i ISDN ?"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Mandrake Control Center"
-msgstr "Далучэнне да Iнтэрнэту"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Connecting to Internet "
+msgstr " I"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Reboot"
-msgstr "Root"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Disconnecting from Internet "
+msgstr " I"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device"
+#: ../../standalone/net_monitor_.c:222
+msgid "Disconnection from Internet failed."
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"You can enter miscellaneous ports. \n"
-"Valid examples are: 139/tcp 139/udp.\n"
-"Have a look at /etc/services for information."
+#: ../../standalone/net_monitor_.c:223
+msgid "Disconnection from Internet complete."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "\t-Tape \n"
-msgstr "Тып: "
+#: ../../standalone/net_monitor_.c:225
+#, fuzzy
+msgid "Connection complete."
+msgstr "I "
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../standalone/net_monitor_.c:226
msgid ""
-"No browser is installed on your system, Please install one if you want to "
-"browse the help system"
+"Connection failed.\n"
+"Verify your configuration in the Mandrake Control Center."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Remember this password"
-msgstr "Няма паролю"
+#: ../../standalone/net_monitor_.c:330
+#, fuzzy
+msgid "Color configuration"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "due to unsatisfied %s"
+#: ../../standalone/net_monitor_.c:383 ../../standalone/net_monitor_.c:403
+msgid "sent: "
msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Internet Connection Sharing is now enabled."
-msgstr "Сумеснае Iнтэрнэт-злучэнне зараз магчыма"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by SSH.\n"
+#: ../../standalone/net_monitor_.c:390 ../../standalone/net_monitor_.c:407
+msgid "received: "
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-" If the desired printer was auto-detected, simply choose it from the list "
-"and then add user name, password, and/or workgroup if needed."
+#: ../../standalone/net_monitor_.c:397
+msgid "average"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid " cable"
-msgstr "Таблiца"
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use the free space on the Windows partition"
-msgstr "Выкарыстоўваць незанятую прастору на раздзеле Windows"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "%s found on %s, configure it automatically?"
-msgstr "Жадаеце настроiць прынтэр?"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Сервер XFree86: %s\n"
+#: ../../standalone/net_monitor_.c:400
+#, fuzzy
+msgid "Local measure"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This host/network is already in the list, it cannot be added again.\n"
+#: ../../standalone/net_monitor_.c:432
+msgid "transmitted"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the packages you want to install"
-msgstr "Выбар пакетаў для ўсталявання"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Papua New Guinea"
-msgstr "Папуа Новая Гвінэя"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Multi-function device on a parallel port"
-msgstr "Iмя прынтэру"
-
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "Busy files"
-msgstr "Дрэнны файл рэзервовай копii"
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Serbian (cyrillic)"
-msgstr "Азербайджанскі (кірыліца)"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Enter the directory where backups are stored"
-msgstr "Калі ласка, зрабіце некалькі рухаў мышшу."
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Make kernel message quiet by default"
+#: ../../standalone/net_monitor_.c:433
+msgid "received"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../standalone/net_monitor_.c:453
msgid ""
-"Do you want to set this printer (\"%s\")\n"
-"as the default printer?"
-msgstr "Жадаеце пратэсцiраваць друк?"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP end range"
+"Warning, another internet connection has been detected, maybe using your "
+"network"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Creating bootdisk..."
-msgstr "Стварэнне загрузачнай дыскеты"
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Connect %s"
+msgstr "I "
-#: ../../standalone/net_monitor:1
+#: ../../standalone/net_monitor_.c:459
#, fuzzy, c-format
-msgid "Wait please, testing your connection..."
-msgstr "Якi тып вашага ISDN злучэння?"
+msgid "Disconnect %s"
+msgstr " ISDN"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing down the network"
-msgstr "Адлучэнне ад сеткi"
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Reading printer data ..."
+msgstr " CUPS"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Login ID"
-msgstr "Iмя (login ID)"
+#: ../../standalone/scannerdrake_.c:39
+#, fuzzy
+msgid "Detecting devices ..."
+msgstr " ..."
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../standalone/scannerdrake_.c:39
+msgid "Test ports"
+msgstr " "
-#: ../../standalone/drakconnect:1
+#: ../../standalone/scannerdrake_.c:51 ../../standalone/scannerdrake_.c:66
+#: ../../standalone/scannerdrake_.c:79
#, c-format
-msgid "DHCP Client"
+msgid "The %s is not supported by this version of Mandrake Linux."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"This is HardDrake, a Mandrake hardware configuration tool.\n"
-"<span foreground=\"royalblue3\">Version:</span> %s\n"
-"<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud &lt;"
-"tvignaud@mandrakesoft.com&gt;\n"
-"\n"
-msgstr ""
+#: ../../standalone/scannerdrake_.c:54
+#, fuzzy, c-format
+msgid "%s found on %s, configure it?"
+msgstr " i ?"
-#: ../../standalone/drakgw:1
+#: ../../standalone/scannerdrake_.c:57
#, c-format
-msgid "dismiss"
+msgid "%s is not in the scanner database, configure it manually?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printing/Scanning on \"%s\""
-msgstr "Адлучэнне ад сеткi"
+#: ../../standalone/scannerdrake_.c:63
+#, fuzzy
+msgid "Select a scanner"
+msgstr " i"
-#: ../../standalone/drakfloppy:1
+#: ../../standalone/scannerdrake_.c:91
#, c-format
-msgid "omit raid modules"
+msgid "This %s scanner is unsupported"
msgstr ""
-#: ../../services.pm:1
+#: ../../standalone/scannerdrake_.c:105
#, c-format
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руе працай прынтэру(аў)."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Irish"
+"Scannerdrake was not able to detect your %s scanner.\n"
+"Please select the device where your scanner is plugged"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sunday"
-msgstr "Нядзеля"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Internet Connection Configuration"
-msgstr "Iнтэрнэт злучэнне i канфiгурацыя"
-
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated numbers"
-msgstr ""
+#: ../../standalone/scannerdrake_.c:107
+#, fuzzy
+msgid "choose device"
+msgstr " "
-#: ../../standalone/harddrake2:1
+#: ../../standalone/scannerdrake_.c:113
#, c-format
msgid ""
-"Once you've selected a device, you'll be able to see the device information "
-"in fields displayed on the right frame (\"Information\")"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule up one level"
+"This %s scanner must be configured by printerdrake.\n"
+"You can launch printerdrake from the Mandrake Control Center in Hardware "
+"section."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid ""
-"The following scanner\n"
-"\n"
-"%s\n"
-"is available on your system.\n"
-msgstr "У вашай сістэме няма нiводнага сеткавага адаптара!"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Do you really want to remove the printer \"%s\"?"
-msgstr "Цi жадаеце пратэсцiраваць настройкi?"
-
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "I can't find any room for installing"
-msgstr "Дадаць раздзел немагчыма"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Default printer"
-msgstr "Лакальны прынтэр"
-
-#: ../../network/netconnect.pm:1
+#: ../../standalone/scannerdrake_.c:118
#, c-format
msgid ""
-"You have configured multiple ways to connect to the Internet.\n"
-"Choose the one you want to use.\n"
-"\n"
+"Your %s scanner has been configured.\n"
+"You may now scan documents using ``XSane'' from Multimedia/Graphics in the "
+"applications menu."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/service_harddrake_.c:44
#, c-format
-msgid "Modify RAID"
-msgstr "Змянiць RAID"
+msgid "Some devices in the \"%s\" hardware class were removed:\n"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid ""
-"I have detected an ISDN PCI card, but I don't know its type. Please select a "
-"PCI card on the next screen."
+#: ../../standalone/service_harddrake_.c:48
+msgid "Some devices were added:\n"
msgstr ""
-"Вызначана ISDN PCI карта, але невядомы яе тып. Калi ласка, пазначце PCI "
-"карту на наступным экране."
-#: ../../any.pm:1
-#, c-format
-msgid "Add user"
-msgstr "Дадаць карыстальнiка"
+#: ../../standalone/service_harddrake_.c:64
+#, fuzzy
+msgid "Hardware probing in progress"
+msgstr " i %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID-дыскi %s\n"
+#: ../../steps.pm_.c:14
+msgid "Choose your language"
+msgstr " "
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Liberia"
-msgstr "паслядоўная"
+#: ../../steps.pm_.c:15
+msgid "Select installation class"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Could not install the packages needed to set up a scanner with Scannerdrake."
-msgstr ""
+#: ../../steps.pm_.c:16
+msgid "Hard drive detection"
+msgstr " "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Please enter the name of the interface connected to the internet.\n"
-"\n"
-"Examples:\n"
-"\t\tppp+ for modem or DSL connections, \n"
-"\t\teth0, or eth1 for cable connection, \n"
-"\t\tippp+ for a isdn connection.\n"
-msgstr ""
+#: ../../steps.pm_.c:17
+msgid "Configure mouse"
+msgstr " "
-#: ../../steps.pm:1
-#, c-format
+#: ../../steps.pm_.c:18
msgid "Choose your keyboard"
-msgstr "Выбар клавiятуры"
+msgstr " i"
-#: ../../steps.pm:1
-#, c-format
-msgid "Format partitions"
-msgstr "Фарматаванне раздзелаў"
+#: ../../steps.pm_.c:19
+#, fuzzy
+msgid "Security"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Automatic correction of CUPS configuration"
-msgstr "Настройка мадэму"
+#: ../../steps.pm_.c:20
+msgid "Setup filesystems"
+msgstr ". i"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Running \"%s\" ..."
-msgstr "Чытаю базу дадзеных драйвероў CUPS"
+#: ../../steps.pm_.c:21
+msgid "Format partitions"
+msgstr " "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "enable radio support"
-msgstr ""
+#: ../../steps.pm_.c:22
+msgid "Choose packages to install"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Scanner sharing to hosts: "
-msgstr "Прынтэр"
+#: ../../steps.pm_.c:23
+msgid "Install system"
+msgstr " i"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Iмя файлу вiртуальнай файлавай сiстэмы: %s"
+#: ../../steps.pm_.c:25
+msgid "Add a user"
+msgstr " i"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Please choose the printer to which the print jobs should go."
-msgstr "Да якога паслядоўнага порту далучаны мадэм?"
+#: ../../steps.pm_.c:26
+msgid "Configure networking"
+msgstr " i"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not transfer printers"
-msgstr ""
+#: ../../steps.pm_.c:28
+msgid "Configure services"
+msgstr " "
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Delay before booting the default image"
-msgstr "Затрымка перад загрузкай вобразу па дамаўленню"
+#: ../../steps.pm_.c:29
+msgid "Install bootloader"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use Hard Disk to backup"
-msgstr "Дрэнны файл рэзервовай копii"
+#: ../../steps.pm_.c:31
+msgid "Create a bootdisk"
+msgstr " . "
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Configure"
-msgstr "Настройка X Window"
+#: ../../steps.pm_.c:33
+msgid "Configure X"
+msgstr " X Window"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Scannerdrake"
-msgstr "Абярыце вiдэакарту"
+#: ../../steps.pm_.c:34
+#, fuzzy
+msgid "Install system updates"
+msgstr " i"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"Warning, another Internet connection has been detected, maybe using your "
-"network"
-msgstr ""
+#: ../../steps.pm_.c:35
+msgid "Exit install"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Users"
+#: ../../ugtk.pm_.c:636
+msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-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."
+#: ../../ugtk2.pm_.c:711
+msgid "utopia 25"
msgstr ""
-"Увядзiце iмя сваёй машыны (host).\n"
-"Iмя вашай машыны павiнна быць зададзена поўнасцю,\n"
-"напрыклад ``mybox.mylab.myco.com''.\n"
-"Вы можаце таксама ўвесцi IP адрас шлюзу, калi ён у вас ёсць."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Select Printer Spooler"
-msgstr "Выбар тыпу злучэння прынтэру"
-
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Create new theme"
-msgstr "Стварэнне новага раздзелу"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mandrake Tools Explanation"
+#: ../../share/compssUsers:999
+msgid "Web/FTP"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "No image found"
-msgstr "Лакальны прынтэр"
-
-#: ../../install_steps.pm:1
-#, c-format
-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"
+#: ../../share/compssUsers:999
+#, fuzzy
+msgid "Network Computer (client)"
+msgstr " (socket)"
-#: ../advertising/06-development.pl:1
-#, c-format
-msgid "Mandrake Linux 9.2: the ultimate development platform"
+#: ../../share/compssUsers:999
+msgid "NFS server, SMB server, Proxy server, ssh server"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Detected model: %s"
-msgstr "Дубляванне пункту манцiравання %s"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "\"%s\" is not a valid email!"
-msgstr ""
+#: ../../share/compssUsers:999
+#, fuzzy
+msgid "Office"
+msgstr ""
-#: ../../standalone/drakedm:1
-#, c-format
-msgid ""
-"X11 Display Manager allows you to graphically log\n"
-"into your system with the X Window System running and supports running\n"
-"several different X sessions on your local machine at the same time."
-msgstr ""
+#: ../../share/compssUsers:999
+#, fuzzy
+msgid "Gnome Workstation"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run the daily security checks."
-msgstr ""
+#: ../../share/compssUsers:999
+msgid "Tools for your Palm Pilot or your Visor"
+msgstr " Palm Pilot Visor"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Azerbaijan"
-msgstr "Iранскi"
+#: ../../share/compssUsers:999
+#, fuzzy
+msgid "Workstation"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Device name to use for backup"
+#: ../../share/compssUsers:999
+msgid "Firewall/Router"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No tape in %s!"
+#: ../../share/compssUsers:999
+msgid "Domain Name and Network Information Server"
msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../share/compssUsers:999
msgid ""
-" --doc <link> - link to another web page ( for WM welcome "
-"frontend)\n"
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
msgstr ""
+" : (kword, abiword), , "
+" pdf-, .."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
+#: ../../share/compssUsers:999
+msgid "Audio-related tools: mp3 or midi players, mixers, etc"
+msgstr ": mp3 midi, .."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
+#: ../../share/compssUsers:999
+msgid "Linux Standard Base. Third party applications support"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "How is the printer connected?"
-msgstr "Як прынтар далучаны?"
-
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid "Security level"
-msgstr "Настройкi ўзроўня бяспекi"
-
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "final resolution"
-msgstr "Памеры экрану"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, fuzzy, c-format
-msgid "Services"
-msgstr "прылада"
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Auto configuration"
-msgstr "Настройка"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "4 MB"
-msgstr "4 Мб"
+#: ../../share/compssUsers:999
+msgid "Books and Howto's on Linux and Free Software"
+msgstr " Howto Linux Free Software"
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Office Workstation"
-msgstr "Навуковыя прыкладанні"
+msgid "KDE Workstation"
+msgstr " "
#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
+msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
msgstr ""
-"Офісныя праграмы: працэсары словаў (kword, abiword), электроныя табліцы, "
-"аглядальнікі pdf-файлаў, і г.д."
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Game station"
-msgstr "Мультымедыя - гук"
+msgid "Multimedia - Video"
+msgstr " - "
#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr "Забаўляльныя праграмы: аркады, стратэгіі і г.д."
+msgid "Set of tools for mail, news, web, file transfer, and chat"
+msgstr " , , web', , chat"
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Multimedia station"
-msgstr "Мультымедыя - гук"
+msgid "Database"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr "Рэдактары і прайгравальнікі гуку і відэа"
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Internet station"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+msgid "Tools to ease the configuration of your computer"
+msgstr "i i i?"
#: ../../share/compssUsers:999
-#, fuzzy
-msgid ""
-"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
-"Web"
-msgstr ""
-"Прыкладанні для чытання і адпраўкі пошты і навінаў (pine, mutt, tin...), "
-"Web аглядальнікі"
+msgid "Multimedia - Sound"
+msgstr " - "
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Сеткавы прынтэр (socket)"
+msgid "Documentation"
+msgstr "i"
#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
+msgid "Console Tools"
+msgstr " "
+
+#: ../../share/compssUsers:999
+msgid "Postfix mail server, Inn news server"
msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Configuration"
-msgstr "Настройка"
+msgid "Internet station"
+msgstr " I"
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "Цi жадаеце пратэсцiраваць настройкi?"
+msgid "Multimedia station"
+msgstr " - "
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Scientific Workstation"
-msgstr "Навуковыя прыкладанні"
+msgid "Configuration"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "Scientific applications such as gnuplot"
-msgstr ""
+msgid "More Graphical Desktops (Gnome, IceWM)"
+msgstr " (Gnome, IceWM)"
#: ../../share/compssUsers:999
-msgid "Console Tools"
-msgstr "Кансольныя інструментальныя сродкі"
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"The K Desktop Environment - "
+" "
#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr "Рэдактары, абалонкі, тэрміналы"
+msgid "Graphical Environment"
+msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
-msgid "KDE Workstation"
-msgstr "Навуковыя прыкладанні"
+msgid "Development"
+msgstr ""
#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
+msgid "Apache, Pro-ftpd"
msgstr ""
-"The K Desktop Environment - асноўнае графічнае асяродзе з калекцыяй "
-"інструментальных сродкаў"
+
+#: ../../share/compssUsers:999
+msgid "Tools to create and burn CD's"
+msgstr " CD"
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Gnome Workstation"
-msgstr "Навуковыя прыкладанні"
+msgid "Office Workstation"
+msgstr " "
#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
+msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
msgstr ""
-"Графічнае асяродзе са зручным дзеля выкарыстання наборам прыкладанняў і "
-"інструментальных сродкаў"
#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr "Іншыя графічныя Працоўныя сталы"
+msgid "Graphics programs such as The Gimp"
+msgstr " The Gimp"
#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgid "DNS/NIS "
msgstr ""
#: ../../share/compssUsers:999
msgid "C and C++ development libraries, programs and include files"
-msgstr "Бібліятэкі і праграмы для распрацоўкі на С і С++"
+msgstr " ++"
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Documentation"
-msgstr "Аўтэнтыфiкацыя"
+msgid "Network Computer server"
+msgstr " (socket)"
#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr "нігі і Howto па Linux і Free Software"
+msgid "Mail/Groupware/News"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "LSB"
-msgstr ""
+#, fuzzy
+msgid "Game station"
+msgstr " - "
#: ../../share/compssUsers:999
-msgid "Linux Standard Base. Third party applications support"
-msgstr ""
+msgid "Video players and editors"
+msgstr " "
#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ""
+msgid "Multimedia - Graphics"
+msgstr " - "
#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr ""
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr " : , 㳳 .."
#: ../../share/compssUsers:999
-msgid "Mail"
-msgstr "Пошта"
+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
-#, fuzzy
-msgid "Postfix mail server"
-msgstr "Сервер друку"
+msgid "Personal Finance"
+msgstr " "
#: ../../share/compssUsers:999
-msgid "Database"
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
msgstr ""
+" "
+" "
#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
+msgid "Clients for different protocols including ssh"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Firewall/Router"
+msgid "LSB"
msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
msgid "Internet gateway"
-msgstr "Настройка злучэння з Iнтэрнэтам"
+msgstr " I"
#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr ""
+msgid "Sound and video playing/editing programs"
+msgstr " "
#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr ""
+msgid "Other Graphical Desktops"
+msgstr " "
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Сеткавы прынтэр (socket)"
+msgid "Editors, shells, file tools, terminals"
+msgstr ", , "
#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr ""
+msgid "Programs to manage your finance, such as gnucash"
+msgstr " , gnucash"
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Set of tools to read and send mail and news and to browse the Web"
-msgstr ""
-"Прыкладанні для чытання і адпраўкі пошты і навінаў (pine, mutt, tin...), "
-"Web аглядальнікі"
+msgid "Personal Information Management"
+msgstr " "
+#: ../../share/compssUsers:999
+msgid "Multimedia - CD Burning"
+msgstr " - CD"
+
+#: ../../share/compssUsers:999
#, fuzzy
-#~ msgid "Profile "
-#~ msgstr "памылка манцiравання: "
+msgid "Scientific Workstation"
+msgstr " "
#, fuzzy
+#~ msgid "cpu number "
+#~ msgstr " "
+
#~ msgid ""
-#~ "Welcome to the Internet Connection Sharing utility!\n"
+#~ "You now have the opportunity to download encryption software.\n"
#~ "\n"
-#~ "%s\n"
+#~ "WARNING:\n"
#~ "\n"
-#~ "Click on Configure to launch the setup wizard."
-#~ msgstr "Сумеснае Iнтэрнэт-злучэнне"
-
-#, fuzzy
-#~ msgid "Internet Connection Sharing configuration"
-#~ msgstr "Iнтэрнэт злучэнне i канфiгурацыя"
-
-#, fuzzy
-#~ msgid "No Internet Connection Sharing has ever been configured."
-#~ msgstr "Сумеснае Iнтэрнэт-злучэнне зараз магчыма"
+#~ "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"
#, fuzzy
-#~ msgid "Hostname configuration"
-#~ msgstr "Настройка"
+#~ msgid "Proxy configuration"
+#~ msgstr " proxy "
#, fuzzy
-#~ msgid "Hostname"
-#~ msgstr "Iмя машыны"
+#~ msgid "port"
+#~ msgstr ""
#, fuzzy
-#~ msgid "Remote Printers"
-#~ msgstr "Аддалены прынтэр"
+#~ msgid "Url should begin with 'http:'"
+#~ msgstr "Proxy i http://..."
#, fuzzy
-#~ msgid "Level 1"
-#~ msgstr "узровень"
+#~ msgid "login"
+#~ msgstr " i"
#, fuzzy
-#~ msgid "Level 2"
-#~ msgstr "узровень"
+#~ msgid "password"
+#~ msgstr ""
#, fuzzy
-#~ msgid "Level 3"
-#~ msgstr "узровень"
+#~ msgid "re-type password"
+#~ msgstr " "
#, fuzzy
-#~ msgid "Level 4"
-#~ msgstr "узровень"
+#~ msgid "The passwords don't match. Try again!"
+#~ msgstr "i "
-#, fuzzy
-#~ msgid "Level 5"
-#~ msgstr "узровень"
+#~ msgid "Can't write file %s"
+#~ msgstr " i i %s"
#, fuzzy
-#~ msgid "Insert floppy and press %s"
-#~ msgstr "Устаўце дыскету ў дыскавод %s"
-
-#~ msgid "Load"
-#~ msgstr "Загрузіць"
+#~ msgid "Please click on a medium"
+#~ msgstr " "
#, fuzzy
-#~ msgid "Bad Ip"
-#~ msgstr "IO карты"
-
-#~ msgid "Please relog into %s to activate the changes"
-#~ msgstr "Калi ласка, перайдзiце ў %s для актывацыi змяненняў"
-
-#~ msgid "Wizard..."
-#~ msgstr "Майстар стварэння..."
-
-#~ msgid "Name: %s\n"
-#~ msgstr "Iмя: %s\n"
-
-#~ msgid "Internet connection & configuration"
-#~ msgstr "Iнтэрнэт злучэнне i канфiгурацыя"
-
-#~ msgid ""
-#~ "\n"
-#~ "You can disconnect or reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ "Вы можаце адключыцца ці пераканфігураваць вашае злучэнне."
-
-#~ msgid "Set of tools for mail, news, web, file transfer, and chat"
-#~ msgstr ""
-#~ "Набор інструментаў для пошты, навінаў, web'у, перадачы файлаў, і chat"
-
-#~ msgid "Games"
-#~ msgstr "Забавы"
-
-#~ msgid "Multimedia - Graphics"
-#~ msgstr "Мультымедыя - Графіка"
-
-#~ msgid "Multimedia - Sound"
-#~ msgstr "Мультымедыя - гук"
-
-#~ msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-#~ msgstr "Аўдыёсродкі: прайгравальнікі mp3 і midi, мікшары і г.д."
-
-#~ msgid "Multimedia - Video"
-#~ msgstr "Мультымедыя - відэа"
-
-#~ msgid "Video players and editors"
-#~ msgstr "Рэдактары і прайгравальнікі відэа"
-
-#~ msgid "Multimedia - CD Burning"
-#~ msgstr "Мультымедыя - Стварэнне CD"
-
-#~ msgid "Tools to create and burn CD's"
-#~ msgstr "Інструментальныя сродкі стварэньня CD"
-
-#~ msgid "More Graphical Desktops (Gnome, IceWM)"
-#~ msgstr "Шмат графічных мэнаджэраў Працоўных сталоў(Gnome, IceWM)"
-
-#~ msgid "Personal Information Management"
-#~ msgstr "Мэнаджар асабістай інфармацыі"
-
-#~ msgid "Tools for your Palm Pilot or your Visor"
-#~ msgstr "Інструментальныя сродкі для Palm Pilot і Visor"
-
-#~ msgid "Personal Finance"
-#~ msgstr "Персанальныя фінансы"
-
-#~ msgid "Programs to manage your finances, such as gnucash"
-#~ msgstr "Праграмы кіравання вашымі фінансамі, тыпу gnucash"
-
-#~ msgid "no network card found"
-#~ msgstr "сеткавая карта не знойдзена"
-
-#~ 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 ён у вас ёсць."
-
-#~ 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 каранёвага (/) раздзел фiзiчна знаходзiца "
-#~ "далей\n"
-#~ "1024-га цылiндру жорсткага дыску, а ў вас няма раздзелу /boot .\n"
-#~ "Калi будзе выкарыстоўвацца дыспечар загрузкi LILO, не запамятайце дадаць\n"
-#~ "раздзел /boot"
-
-#~ 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 не патрэбны."
-
-#~ msgid "Please be patient. This operation can take several minutes."
-#~ msgstr "Калі ласка, пачакайце. Гэтая аперацыя адыме пэўны час."
-
-#~ msgid "Test ports"
-#~ msgstr "Праверка партоў"
+#~ msgid "detected on interface %s"
+#~ msgstr " i"
diff --git a/perl-install/share/po/bg.po b/perl-install/share/po/bg.po
index 5720fd877..1ad2b46b9 100644
--- a/perl-install/share/po/bg.po
+++ b/perl-install/share/po/bg.po
@@ -1,1847 +1,1139 @@
-# translation of DrakX-bg.po to Bulgarian
-# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
# Copyright (c) 2000 MandrakeSoft
# Bozhan Boiadzhiev <bozhan@plov.omega.bg>, 2000.
-# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2003.
-# Boyan Ivanov <boyan17@bulgaria.com>, 2003.
-#
#
+#
msgid ""
msgstr ""
-"Project-Id-Version: DrakX-bg\n"
-"POT-Creation-Date: 2003-12-03 03:09+0100\n"
-"PO-Revision-Date: 2003-09-12 22:40+0300\n"
-"Last-Translator: Boyan Ivanov <boyan17@bulgaria.com>\n"
-"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2002-12-05 19:52+0100\n"
+"PO-Revision-Date: 2000-02-28 20:56+0200\n"
+"Last-Translator: Bozhan Boiadzhiev <bozhan@plov.omega.bg>\n"
+"Language-Team: Bulgarian\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CP1251\n"
+"Content-Type: text/plain; charset=windows-1251\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.0.2\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Scanning partitions to find mount points"
-msgstr " "
+#: ../../Xconfig/card.pm_.c:16
+msgid "256 kB"
+msgstr "256 "
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of suid root files."
-msgstr " , / suid root "
+#: ../../Xconfig/card.pm_.c:17
+msgid "512 kB"
+msgstr "512 "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, "
-"0/1 for Local Config...\n"
-msgstr ""
-"%s %s ,MAC ,IP,nbi-image, 0/1 THIN_CLIENT, 0/1 "
-" ...\n"
+#: ../../Xconfig/card.pm_.c:18
+msgid "1 MB"
+msgstr "1 "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Configuration changed - restart clusternfs/dhcpd?"
-msgstr " - clusternfs/dhcpd"
+#: ../../Xconfig/card.pm_.c:19
+msgid "2 MB"
+msgstr "2 "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t\tErase=%s"
-msgstr "\t\t=%s"
+#: ../../Xconfig/card.pm_.c:20
+msgid "4 MB"
+msgstr "4 "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Differential backups only save files that have changed or are new since the "
-"original 'base' backup."
-msgstr ""
+#: ../../Xconfig/card.pm_.c:21
+msgid "8 MB"
+msgstr "8 "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "network printer port"
-msgstr " "
+#: ../../Xconfig/card.pm_.c:22
+msgid "16 MB"
+msgstr "16 "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Please insert floppy disk:"
-msgstr " :"
+#: ../../Xconfig/card.pm_.c:23
+msgid "32 MB"
+msgstr "32 "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "DrakTermServ"
-msgstr ""
+#: ../../Xconfig/card.pm_.c:24
+msgid "64 MB or more"
+msgstr "64 "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "PCMCIA"
-msgstr "PCMCIA"
+#: ../../Xconfig/card.pm_.c:203
+msgid "Choose a X server"
+msgstr " X "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../Xconfig/card.pm_.c:203
+msgid "X server"
+msgstr "X "
+
+#: ../../Xconfig/card.pm_.c:230
+msgid "Multi-head configuration"
+msgstr ""
+
+#: ../../Xconfig/card.pm_.c:231
msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
+"Your system support multiple head configuration.\n"
+"What do you want to do?"
msgstr ""
-" \n"
-" ?"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Which username"
-msgstr " "
+#: ../../Xconfig/card.pm_.c:288
+msgid "Select the memory size of your graphics card"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Which type of entry do you want to add?"
-msgstr " "
+#: ../../Xconfig/card.pm_.c:349
+msgid "XFree configuration"
+msgstr " XFree"
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Restore partition table"
-msgstr " "
+#: ../../Xconfig/card.pm_.c:351
+msgid "Which configuration of XFree do you want to have?"
+msgstr " XFree ?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure hostname..."
-msgstr " ..."
+#: ../../Xconfig/card.pm_.c:383
+msgid "Configure all heads independently"
+msgstr ""
+
+#: ../../Xconfig/card.pm_.c:384
+msgid "Use Xinerama extension"
+msgstr " Xinerama"
+
+#: ../../Xconfig/card.pm_.c:389
+#, fuzzy, c-format
+msgid "Configure only card \"%s\"%s"
+msgstr " \"%s\" (%s)"
-#: ../../printer/cups.pm:1
+#: ../../Xconfig/card.pm_.c:401 ../../Xconfig/card.pm_.c:402
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "On CUPS server \"%s\""
-msgstr " CUPS \"%s\""
+msgid "XFree %s"
+msgstr "XFree %s"
-#: ../../install_steps_interactive.pm:1
+#: ../../Xconfig/card.pm_.c:413 ../../Xconfig/card.pm_.c:439
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Post-install configuration"
-msgstr " "
+msgid "XFree %s with 3D hardware acceleration"
+msgstr "XFree %s 3D "
-#: ../../standalone/drakperm:1
+#: ../../Xconfig/card.pm_.c:416
#, c-format
msgid ""
-"The current security level is %s\n"
-"Select permissions to see/edit"
+"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 ""
-" %s. \n"
-" /"
+" 3D , Xfree %"
+"s.\n"
+" XFree %s, - "
+"2D."
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../Xconfig/card.pm_.c:418 ../../Xconfig/card.pm_.c:441
#, c-format
-msgid "Use ``%s'' instead"
-msgstr " ``%s''"
+msgid "Your card can have 3D hardware acceleration support with XFree %s."
+msgstr " 3D XFree %s."
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../standalone/harddrake2:1
+#: ../../Xconfig/card.pm_.c:426 ../../Xconfig/card.pm_.c:447
#, c-format
-msgid "Type"
-msgstr ""
+msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
+msgstr "XFree %s O 3D "
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:429
#, c-format
msgid ""
-"\n"
-"Also printers configured with the PPD files provided by their manufacturers "
-"or with native CUPS drivers cannot be transferred."
+"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"
-" , PPD "
-" CUPS ."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sri Lanka"
-msgstr " "
+" 3D , XFree %"
+"s,\n"
+", "
+".\n"
+" XFree %s, - "
+"2D."
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:432 ../../Xconfig/card.pm_.c:449
#, c-format
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"are directly connected to your system"
+"Your card can have 3D hardware acceleration support with XFree %s,\n"
+"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
msgstr ""
-" \n"
-"\n"
-"%s%s\n"
-" "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Central African Republic"
-msgstr " "
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway device"
-msgstr "Gateway "
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Advanced preferences"
-msgstr " "
+" 3D XFree %s.\n"
+", "
+"."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Net Method:"
-msgstr " :"
+#: ../../Xconfig/card.pm_.c:455
+msgid "Xpmac (installation display driver)"
+msgstr "Xpmac ( )"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Ethernetcard"
-msgstr "Ethernet "
+#: ../../Xconfig/main.pm_.c:76 ../../Xconfig/main.pm_.c:77
+#: ../../Xconfig/monitor.pm_.c:96 ../../any.pm_.c:961
+msgid "Custom"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "If set, send the mail report to this email address else send it to root"
-msgstr " , -, root."
+#: ../../Xconfig/main.pm_.c:102
+#, fuzzy
+msgid "Graphic Card"
+msgstr " "
-#: ../../modules/interactive.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Parameters"
-msgstr ""
+#: ../../Xconfig/main.pm_.c:105 ../../Xconfig/monitor.pm_.c:93
+msgid "Monitor"
+msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "no"
-msgstr ""
+#: ../../Xconfig/main.pm_.c:108 ../../Xconfig/resolution_and_depth.pm_.c:210
+msgid "Resolution"
+msgstr " "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Auto-detect"
-msgstr " "
+#: ../../Xconfig/main.pm_.c:113
+msgid "Test"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface:"
-msgstr ":"
+#: ../../Xconfig/main.pm_.c:118 ../../diskdrake/dav.pm_.c:67
+#: ../../diskdrake/interactive.pm_.c:393 ../../diskdrake/removable.pm_.c:25
+#: ../../diskdrake/smbnfs_gtk.pm_.c:86
+msgid "Options"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Select installation class"
-msgstr " "
+#: ../../Xconfig/main.pm_.c:122 ../../Xconfig/resolution_and_depth.pm_.c:269
+#: ../../install_gtk.pm_.c:86 ../../install_steps_gtk.pm_.c:274
+#: ../../interactive.pm_.c:127 ../../interactive.pm_.c:142
+#: ../../interactive.pm_.c:345 ../../interactive/http.pm_.c:104
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../interactive/stdio.pm_.c:144 ../../my_gtk.pm_.c:159
+#: ../../my_gtk.pm_.c:287 ../../my_gtk.pm_.c:310 ../../security/main.pm_.c:181
+#: ../../standalone/drakbackup_.c:3920 ../../standalone/drakbackup_.c:4015
+#: ../../standalone/drakbackup_.c:4034 ../../ugtk2.pm_.c:435
+#: ../../ugtk2.pm_.c:926 ../../ugtk2.pm_.c:949
+msgid "Ok"
+msgstr "Ok"
-#: ../../network/tools.pm:1
-#, c-format
-msgid ""
-"The system doesn't seem to be connected to the Internet.\n"
-"Try to reconfigure your connection."
-msgstr ""
-" .\n"
-" ."
+#: ../../Xconfig/main.pm_.c:122 ../../diskdrake/dav.pm_.c:28
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/draksplash_.c:114
+#: ../../standalone/harddrake2_.c:152 ../../standalone/logdrake_.c:204
+msgid "Quit"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/main.pm_.c:145
#, c-format
msgid ""
-"Connect your printer to a Linux server and let your Windows machine(s) "
-"connect to it as a client.\n"
+"Keep the changes?\n"
+"The current configuration is:\n"
"\n"
-"Do you really want to continue setting up this printer as you are doing now?"
+"%s"
msgstr ""
-" Linux Windows "
-" .\n"
+" ?\n"
+" :\n"
"\n"
-" , ?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Belarus"
-msgstr ""
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Error writing to file %s"
-msgstr " %s"
+"%s"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result to syslog"
-msgstr " syslog"
+#: ../../Xconfig/monitor.pm_.c:93
+msgid "Choose a monitor"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"apmd is used for monitoring battery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
+#: ../../Xconfig/monitor.pm_.c:97
+msgid "Plug'n Play"
msgstr ""
-"apmd \n"
-"syslog. , "
-"."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tape to backup"
-msgstr " "
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be installed"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS configuration"
-msgstr "CUPS "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total progress"
-msgstr " "
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Not enough free space to allocate new partitions"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving"
-msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via %s:\n"
-"\n"
-msgstr ""
+#: ../../Xconfig/monitor.pm_.c:98 ../../mouse.pm_.c:46
+msgid "Generic"
+msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "yes"
-msgstr ""
+#: ../../Xconfig/monitor.pm_.c:99 ../../standalone/harddrake2_.c:67
+#: ../../standalone/harddrake2_.c:68
+#, fuzzy
+msgid "Vendor"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "("
+#: ../../Xconfig/monitor.pm_.c:109
+msgid "Plug'n Play probing failed. Please choose a precise monitor"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../Xconfig/monitor.pm_.c:114
msgid ""
-"Welcome to The Network Configuration Wizard.\n"
+"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"
-"We are about to configure your internet/network connection.\n"
-"If you don't want to use the auto detection, deselect the checkbox.\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"
+" , "
+" - "
+" .\n"
+" , ."
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ")"
-msgstr ""
+#: ../../Xconfig/monitor.pm_.c:121
+msgid "Horizontal refresh rate"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Lebanon"
-msgstr ""
+#: ../../Xconfig/monitor.pm_.c:122
+msgid "Vertical refresh rate"
+msgstr " "
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
+#: ../../Xconfig/resolution_and_depth.pm_.c:12
+msgid "256 colors (8 bits)"
+msgstr "256 (8 )"
-#: ../../services.pm:1
-#, c-format
-msgid "Stop"
-msgstr ""
+#: ../../Xconfig/resolution_and_depth.pm_.c:13
+msgid "32 thousand colors (15 bits)"
+msgstr "32 (15 )"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Edit selected host"
-msgstr " "
+#: ../../Xconfig/resolution_and_depth.pm_.c:14
+msgid "65 thousand colors (16 bits)"
+msgstr "65 (16 )"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD device defined!"
-msgstr " CD !"
+#: ../../Xconfig/resolution_and_depth.pm_.c:15
+msgid "16 million colors (24 bits)"
+msgstr "16 (24 )"
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid ""
-"Please enter the name of the interface connected to the "
-"internet. \n"
-" \n"
-"Examples:\n"
-" ppp+ for modem or DSL connections, \n"
-" eth0, or eth1 for cable connection, \n"
-" ippp+ for a isdn connection.\n"
-msgstr ""
+#: ../../Xconfig/resolution_and_depth.pm_.c:16
+msgid "4 billion colors (32 bits)"
+msgstr "4 (32 )"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tUse .backupignore files\n"
-msgstr "\t .backupignore \n"
+#: ../../Xconfig/resolution_and_depth.pm_.c:130
+msgid "Resolutions"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (phonetic)"
-msgstr " ()"
+#: ../../Xconfig/resolution_and_depth.pm_.c:255
+msgid "Choose the resolution and the color depth"
+msgstr " "
-#: ../../standalone/drakpxe:1
+#: ../../Xconfig/resolution_and_depth.pm_.c:256
#, c-format
-msgid "The DHCP start ip"
-msgstr ""
+msgid "Graphics card: %s"
+msgstr " : %s"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "256 kB"
-msgstr "256 "
+#: ../../Xconfig/resolution_and_depth.pm_.c:269 ../../any.pm_.c:1001
+#: ../../bootlook.pm_.c:336 ../../diskdrake/smbnfs_gtk.pm_.c:87
+#: ../../install_steps_gtk.pm_.c:405 ../../install_steps_gtk.pm_.c:463
+#: ../../interactive.pm_.c:142 ../../interactive.pm_.c:345
+#: ../../interactive/http.pm_.c:105 ../../interactive/newt.pm_.c:194
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../my_gtk.pm_.c:158 ../../my_gtk.pm_.c:162 ../../my_gtk.pm_.c:287
+#: ../../network/netconnect.pm_.c:39 ../../printer/printerdrake.pm_.c:2055
+#: ../../security/main.pm_.c:228 ../../standalone/drakautoinst_.c:198
+#: ../../standalone/drakbackup_.c:3874 ../../standalone/drakbackup_.c:3907
+#: ../../standalone/drakbackup_.c:3933 ../../standalone/drakbackup_.c:3960
+#: ../../standalone/drakbackup_.c:3987 ../../standalone/drakbackup_.c:4047
+#: ../../standalone/drakbackup_.c:4074 ../../standalone/drakbackup_.c:4104
+#: ../../standalone/drakbackup_.c:4130 ../../standalone/drakconnect_.c:112
+#: ../../standalone/drakconnect_.c:144 ../../standalone/drakconnect_.c:286
+#: ../../standalone/drakconnect_.c:534 ../../standalone/drakconnect_.c:677
+#: ../../standalone/drakfloppy_.c:207 ../../standalone/drakfont_.c:918
+#: ../../standalone/drakgw_.c:557 ../../standalone/logdrake_.c:204
+#: ../../standalone/net_monitor_.c:337 ../../ugtk.pm_.c:295
+#: ../../ugtk2.pm_.c:362 ../../ugtk2.pm_.c:434 ../../ugtk2.pm_.c:438
+#: ../../ugtk2.pm_.c:926
+msgid "Cancel"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Don't rewind tape after backup"
-msgstr " "
+#: ../../Xconfig/test.pm_.c:29
+msgid "Test of the configuration"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader main options"
-msgstr " "
+#: ../../Xconfig/test.pm_.c:30
+msgid "Do you want to test the configuration?"
+msgstr " ?"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
+#: ../../Xconfig/test.pm_.c:30
+#, fuzzy
+msgid "Warning: testing this graphic card may freeze your computer"
msgstr ""
+": \"\" "
-#: ../../harddrake/data.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Tape"
-msgstr ""
-
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:29
#, c-format
-msgid "Malaysia"
-msgstr ""
+msgid "Keyboard layout: %s\n"
+msgstr " : %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/various.pm_.c:30
#, c-format
-msgid "Scanning network..."
-msgstr " ...."
+msgid "Mouse type: %s\n"
+msgstr " : %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:31
#, c-format
-msgid ""
-"With this option you will be able to restore any version\n"
-" of your /etc directory."
-msgstr ""
+msgid "Mouse device: %s\n"
+msgstr " : %s\n"
-#: ../../standalone/drakedm:1
+#: ../../Xconfig/various.pm_.c:32
#, c-format
-msgid "The change is done, do you want to restart the dm service ?"
-msgstr " . dm ?"
+msgid "Monitor: %s\n"
+msgstr ": %s\n"
-#: ../../keyboard.pm:1
+#: ../../Xconfig/various.pm_.c:33
#, c-format
-msgid "Swiss (French layout)"
-msgstr " ( )"
+msgid "Monitor HorizSync: %s\n"
+msgstr " : %s\n"
-#: ../../raid.pm:1
+#: ../../Xconfig/various.pm_.c:34
#, c-format
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid ( raidtools ?)"
+msgid "Monitor VertRefresh: %s\n"
+msgstr " : %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:35
#, c-format
-msgid "August"
-msgstr ""
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "FTP server"
-msgstr "NTP "
+msgid "Graphics card: %s\n"
+msgstr " : %s\n"
-#: ../../harddrake/data.pm:1
+#: ../../Xconfig/various.pm_.c:36
#, c-format
-msgid "Webcam"
-msgstr ""
+msgid "Graphics memory: %s kB\n"
+msgstr " : %s kB\n"
-#: ../../standalone/harddrake2:1
+#: ../../Xconfig/various.pm_.c:38
#, c-format
-msgid "size of the (second level) cpu cache"
-msgstr " cpu"
+msgid "Color depth: %s\n"
+msgstr " : %s\n"
-#: ../../harddrake/data.pm:1
+#: ../../Xconfig/various.pm_.c:39
#, c-format
-msgid "Soundcard"
-msgstr " "
+msgid "Resolution: %s\n"
+msgstr " : %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:41
#, c-format
-msgid "Month"
-msgstr ""
+msgid "XFree86 server: %s\n"
+msgstr "XFree86 : %s\n"
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/various.pm_.c:42
#, c-format
-msgid "Search for files to restore"
-msgstr " "
+msgid "XFree86 driver: %s\n"
+msgstr "XFree86 : %s\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Luxembourg"
-msgstr ""
+#: ../../Xconfig/various.pm_.c:61
+msgid "Graphical interface at startup"
+msgstr "X "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:62
msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\".\n"
+"I can setup your computer to automatically start the graphical interface "
+"(XFree) upon booting.\n"
+"Would you like XFree to start when you reboot?"
msgstr ""
-" ( ) "
-" \"%s <file>\".\n"
+"K , X .\n"
+" X , ?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Level %s\n"
-msgstr " %s\n"
+#: ../../Xconfig/various.pm_.c:73
+msgid ""
+"Your graphic card seems to have a TV-OUT connector.\n"
+"It can be configured to work using frame-buffer.\n"
+"\n"
+"For this you have to plug your graphic card to your TV before booting your "
+"computer.\n"
+"Then choose the \"TVout\" entry in the bootloader\n"
+"\n"
+"Do you have this feature?"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac (phonetic)"
-msgstr " ()"
+#: ../../Xconfig/various.pm_.c:85
+#, fuzzy
+msgid "What norm is your TV using?"
+msgstr " ISDN ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Iran"
-msgstr ""
+#: ../../any.pm_.c:107 ../../any.pm_.c:132
+msgid "First sector of boot partition"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bus"
-msgstr ""
+#: ../../any.pm_.c:107 ../../any.pm_.c:132 ../../any.pm_.c:209
+msgid "First sector of drive (MBR)"
+msgstr " (MBR)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Iraq"
-msgstr ""
+#: ../../any.pm_.c:111
+msgid "SILO Installation"
+msgstr "SILO "
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "connecting to %s ..."
-msgstr " \"%s\" ..."
+#: ../../any.pm_.c:112 ../../any.pm_.c:125
+msgid "Where do you want to install the bootloader?"
+msgstr " bootloader-?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Potential LAN address conflict found in current config of %s!\n"
-msgstr " LAN %s!\n"
+#: ../../any.pm_.c:124
+msgid "LILO/grub Installation"
+msgstr "LILO/grub "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring..."
-msgstr " ..."
+#: ../../any.pm_.c:136 ../../any.pm_.c:150
+msgid "SILO"
+msgstr "SILO"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid ""
-"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
-"detect the rights parameters.\n"
-"If your card is misdetected, you can force the right tuner and card types "
-"here. Just select your tv card parameters if needed."
-msgstr ""
+#: ../../any.pm_.c:138
+msgid "LILO with text menu"
+msgstr "LILO "
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Password (again)"
-msgstr " ()"
+#: ../../any.pm_.c:139 ../../any.pm_.c:150
+msgid "LILO with graphical menu"
+msgstr "LILO "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search installed fonts"
-msgstr ""
+#: ../../any.pm_.c:142
+msgid "Grub"
+msgstr "Grub"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default desktop"
-msgstr " "
+#: ../../any.pm_.c:146
+msgid "Boot from DOS/Windows (loadlin)"
+msgstr " DOS/Windows (loadlin)"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid ""
-"To submit a bug report, click on the button report.\n"
-"This will open a web browser window on %s\n"
-" where you'll find a form to fill in. The information displayed above will "
-"be \n"
-"transferred to that server."
-msgstr ""
+#: ../../any.pm_.c:148 ../../any.pm_.c:150
+msgid "Yaboot"
+msgstr "Yaboot"
-#: ../../lang.pm:1
-#, c-format
-msgid "Venezuela"
-msgstr ""
+#: ../../any.pm_.c:158 ../../any.pm_.c:189
+msgid "Bootloader main options"
+msgstr " "
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "IP address"
-msgstr "IP "
+#: ../../any.pm_.c:159 ../../any.pm_.c:190
+msgid "Bootloader to use"
+msgstr " "
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Choose the sizes"
-msgstr " "
+#: ../../any.pm_.c:161
+msgid "Bootloader installation"
+msgstr "Bootloader "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"List of data corrupted:\n"
-"\n"
-msgstr ""
+#: ../../any.pm_.c:163 ../../any.pm_.c:192
+msgid "Boot device"
+msgstr " "
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Can only be mounted explicitly (i.e.,\n"
-"the -a option will not cause the file system to be mounted)."
-msgstr ""
+#: ../../any.pm_.c:164
+msgid "Compact"
+msgstr ""
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"Your modem isn't supported by the system.\n"
-"Take a look at http://www.linmodems.org"
-msgstr ""
-" .\n"
-" http://www.linmodems.org"
+#: ../../any.pm_.c:164
+msgid "compact"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose another partition"
-msgstr " "
+#: ../../any.pm_.c:165 ../../any.pm_.c:289
+msgid "Video mode"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Current user"
-msgstr " "
+#: ../../any.pm_.c:167
+msgid "Delay before booting default image"
+msgstr " default "
+
+#: ../../any.pm_.c:169 ../../any.pm_.c:772
+#: ../../diskdrake/smbnfs_gtk.pm_.c:179
+#: ../../install_steps_interactive.pm_.c:1077 ../../network/modem.pm_.c:71
+#: ../../printer/printerdrake.pm_.c:803 ../../printer/printerdrake.pm_.c:916
+#: ../../standalone/drakbackup_.c:3478 ../../standalone/drakconnect_.c:622
+#: ../../standalone/drakconnect_.c:647
+msgid "Password"
+msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Username"
-msgstr " "
+#: ../../any.pm_.c:170 ../../any.pm_.c:773
+#: ../../install_steps_interactive.pm_.c:1078
+msgid "Password (again)"
+msgstr " ()"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left \"Windows\" key"
-msgstr " \"Windows\" "
+#: ../../any.pm_.c:171
+msgid "Restrict command line options"
+msgstr " , "
-#: ../../lang.pm:1
-#, c-format
-msgid "Guyana"
-msgstr ""
+#: ../../any.pm_.c:171
+msgid "restrict"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Server Configuration"
-msgstr " dhcpd "
+#: ../../any.pm_.c:173
+msgid "Clean /tmp at each boot"
+msgstr " /tmp "
-#: ../../standalone/drakperm:1
+#: ../../any.pm_.c:174
#, c-format
-msgid ""
-"Used for directory:\n"
-" only owner of directory or file in this directory can delete it"
-msgstr ""
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr " RAM-, ( %d MB)"
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on Novell server \"%s\", printer \"%s\""
-msgstr " Novell \"%s\", \"%s\""
+#: ../../any.pm_.c:176
+msgid "Enable multi profiles"
+msgstr " "
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Printer Name"
-msgstr " "
+#: ../../any.pm_.c:180
+msgid "Give the ram size in MB"
+msgstr " RAM- Mb"
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Setting up USB key"
-msgstr ""
+#: ../../any.pm_.c:182
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr " `` '' "
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Remove a module"
-msgstr " "
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../diskdrake/interactive.pm_.c:1204
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "Please try again"
+msgstr ", "
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../network/modem.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Password"
-msgstr ""
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "The passwords do not match"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Advanced Configuration"
-msgstr " "
+#: ../../any.pm_.c:191
+msgid "Init Message"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Scanning on your HP multi-function device"
-msgstr " HP "
+#: ../../any.pm_.c:193
+msgid "Open Firmware Delay"
+msgstr " Open Firmware"
-#: ../../any.pm:1
-#, c-format
-msgid "Root"
-msgstr ""
+#: ../../any.pm_.c:194
+msgid "Kernel Boot Timeout"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing RAID to add to"
-msgstr " RAID "
+#: ../../any.pm_.c:195
+msgid "Enable CD Boot?"
+msgstr " CD ?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (modern \"Q\" model)"
-msgstr " ( \"Q\" )"
+#: ../../any.pm_.c:196
+msgid "Enable OF Boot?"
+msgstr " OF ?"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo message not found"
-msgstr "Lilo "
+#: ../../any.pm_.c:197
+msgid "Default OS?"
+msgstr " ?"
-#: ../../services.pm:1
-#, c-format
+#: ../../any.pm_.c:231
msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
msgstr ""
-" header- , /boot \n"
-"/usr/include/linux/{autoconf,version}.h"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "if needed"
-msgstr " "
-
-#: ../../standalone/drakclock:1
-#, c-format
+#: ../../any.pm_.c:247
msgid ""
-"We need to install ntp package\n"
-" to enable Network Time Protocol"
+"Here are the entries on your boot menu so far.\n"
+"You can add some more or change the existing ones."
msgstr ""
+" .\n"
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Failed..."
-msgstr " ..."
+#: ../../any.pm_.c:257 ../../standalone/drakbackup_.c:1531
+#: ../../standalone/drakbackup_.c:1644 ../../standalone/drakfont_.c:953
+#: ../../standalone/drakfont_.c:996
+msgid "Add"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Store the password for this system in drakbackup configuration."
-msgstr ""
+#: ../../any.pm_.c:257 ../../any.pm_.c:760 ../../diskdrake/dav.pm_.c:68
+#: ../../diskdrake/hd_gtk.pm_.c:156 ../../diskdrake/removable.pm_.c:27
+#: ../../diskdrake/smbnfs_gtk.pm_.c:88 ../../interactive/http.pm_.c:153
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/drakbackup_.c:2726
+msgid "Done"
+msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Mandrake "
-"Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read this document carefully. 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 "
-"occurence 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 Mandrake Linux 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\", \"Mandrake Linux\" 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"
-" Mandrake Linux "
-" - \n"
-" \" \". , "
-" , \n"
-", , "
-" \n"
-" Mandrake Linux .\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"
-" "
-" Mandrake Linux,\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\", \"Mandrake Linux\" "
-"MandrakeSoft S.A.\n"
-"\n"
-"\n"
-"5. \n"
-"\n"
-" , "
-" ,\n"
-" . "
-" .\n"
-" .\n"
-" "
-". ,\n"
-" - "
-".\n"
-" , , MandrakeSoft S.A.\n"
-"\n"
-": , "
-", \n"
-" . - "
-" \n"
-".\n"
+#: ../../any.pm_.c:257
+msgid "Modify"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Default user"
-msgstr " "
+#: ../../any.pm_.c:265
+msgid "Which type of entry do you want to add?"
+msgstr " "
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"the progress bar x coordinate\n"
-"of its upper left corner"
-msgstr ""
-" x \n"
-" "
+#: ../../any.pm_.c:266 ../../standalone/drakbackup_.c:1674
+msgid "Linux"
+msgstr "Linux"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Current interface configuration"
-msgstr " "
+#: ../../any.pm_.c:266
+msgid "Other OS (SunOS...)"
+msgstr " (SunOS...)"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD - Line Printer Daemon"
-msgstr "LPD - "
+#: ../../any.pm_.c:267
+msgid "Other OS (MacOS...)"
+msgstr " (MacOS...)"
-#: ../../network/isdn.pm:1
-#, c-format
-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"
+#: ../../any.pm_.c:267
+msgid "Other OS (windows...)"
+msgstr " (Windows...)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not print any test page"
-msgstr " "
+#: ../../any.pm_.c:285
+msgid "Image"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gurmukhi"
-msgstr ""
+#: ../../any.pm_.c:286 ../../any.pm_.c:297
+msgid "Root"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s already in use\n"
-msgstr ""
+#: ../../any.pm_.c:287 ../../any.pm_.c:315
+msgid "Append"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Force No APIC"
-msgstr " APIC"
+#: ../../any.pm_.c:291
+msgid "Initrd"
+msgstr "Initrd"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "This password is too short (it must be at least %d characters long)"
-msgstr " ( %d )"
+#: ../../any.pm_.c:292
+msgid "Read-write"
+msgstr "-"
-#: ../../standalone.pm:1
-#, c-format
-msgid "[keyboard]"
-msgstr "[]"
+#: ../../any.pm_.c:299
+msgid "Table"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "FTP proxy"
-msgstr "FTP proxy"
+#: ../../any.pm_.c:300
+msgid "Unsafe"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install List"
-msgstr " "
+#: ../../any.pm_.c:307 ../../any.pm_.c:312 ../../any.pm_.c:314
+msgid "Label"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Change\n"
-"Restore Path"
-msgstr ""
-"\n"
-" "
+#: ../../any.pm_.c:309 ../../any.pm_.c:319 ../../harddrake/v4l.pm_.c:215
+msgid "Default"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Show only for the selected day"
-msgstr " "
+#: ../../any.pm_.c:316
+msgid "Initrd-size"
+msgstr "Initrd-"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tLimit disk usage to %s MB\n"
-msgstr ""
+#: ../../any.pm_.c:318
+msgid "NoVideo"
+msgstr " "
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "512 kB"
-msgstr "512 "
+#: ../../any.pm_.c:326
+msgid "Remove entry"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "(Note: Parallel ports cannot be auto-detected)"
-msgstr ""
+#: ../../any.pm_.c:329
+msgid "Empty label not allowed"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>N"
-msgstr "<control>N"
+#: ../../any.pm_.c:330
+msgid "You must specify a kernel image"
+msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind of card do you have?"
-msgstr " ?"
+#: ../../any.pm_.c:330
+#, fuzzy
+msgid "You must specify a root partition"
+msgstr " swap-"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>O"
-msgstr "<control>O"
+#: ../../any.pm_.c:331
+msgid "This label is already used"
+msgstr " "
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
+#: ../../any.pm_.c:640
#, c-format
-msgid "Security"
-msgstr ""
+msgid "Found %s %s interfaces"
+msgstr " %s %s "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can also use the graphical interface \"xpdq\" for setting options and "
-"handling printing jobs.\n"
-"If you are using KDE as desktop environment you have a \"panic button\", an "
-"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
-"jobs immediately when you click it. This is for example useful for paper "
-"jams.\n"
-msgstr ""
+#: ../../any.pm_.c:641
+msgid "Do you have another one?"
+msgstr " () ?"
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
+#: ../../any.pm_.c:642
#, c-format
-msgid "<control>Q"
-msgstr "<control>Q"
+msgid "Do you have any %s interfaces?"
+msgstr " %s ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Unable to find backups to restore...\n"
-msgstr " ...\n"
+#: ../../any.pm_.c:644 ../../any.pm_.c:807 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../ugtk2.pm_.c:925
+msgid "No"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown"
-msgstr ""
+#: ../../any.pm_.c:644 ../../any.pm_.c:806 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../standalone/drakgw_.c:258
+#: ../../standalone/drakgw_.c:259 ../../standalone/drakgw_.c:267
+#: ../../standalone/drakgw_.c:277 ../../ugtk2.pm_.c:925
+msgid "Yes"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This server is already in the list, it cannot be added again.\n"
-msgstr ""
+#: ../../any.pm_.c:645
+msgid "See hardware info"
+msgstr " "
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: ../../any.pm_.c:662
#, c-format
-msgid "Network Configuration"
-msgstr " "
+msgid "Installing driver for %s card %s"
+msgstr " %s %s"
-#: ../../standalone/logdrake:1
+#: ../../any.pm_.c:663
#, c-format
-msgid "<control>S"
-msgstr "<control>S"
+msgid "(module %s)"
+msgstr "( %s)"
-#: ../../network/isdn.pm:1
+#: ../../any.pm_.c:674
#, c-format
msgid ""
-"Protocol for the rest of the world\n"
-"No D-Channel (leased lines)"
+"You may now provide its options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
msgstr ""
-" \n"
-" D- ( )"
-#: ../../standalone/drakTermServ:1
+#: ../../any.pm_.c:680
#, c-format
msgid ""
-" - /etc/xinetd.d/tftp:\n"
-" \tdrakTermServ will configure this file to work in conjunction with "
-"the images created\n"
-" \tby mkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
-"the boot image to \n"
-" \teach diskless client.\n"
-"\n"
-" \tA typical tftp configuration file looks like:\n"
-" \t\t\n"
-" \tservice tftp\n"
-"\t\t\t{\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t}\n"
-" \t\t\n"
-" \tThe changes here from the default installation are changing the "
-"disable flag to\n"
-" \t'no' and changing the directory path to /var/lib/tftpboot, where "
-"mkinitrd-net\n"
-" \tputs its images."
+"You may now provide 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''"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be a number!"
-msgstr " %s !"
-
-#: ../../standalone/drakboot:1 ../../standalone/draksplash:1
-#, c-format
-msgid "Notice"
-msgstr ""
+#: ../../any.pm_.c:682
+msgid "Module options:"
+msgstr " :"
-#: ../../install_steps_interactive.pm:1
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: ../../any.pm_.c:694
#, c-format
-msgid "You have not configured X. Are you sure you really want this?"
-msgstr " X. , ?"
+msgid "Which %s driver should I try?"
+msgstr " %s ?"
-#: ../../printer/printerdrake.pm:1
+#: ../../any.pm_.c:703
#, c-format
msgid ""
-"The configuration of the printer will work fully automatically. If your "
-"printer was not correctly detected or if you prefer a customized printer "
-"configuration, turn on \"Manual configuration\"."
+"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"
+" ? , "
+" ."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "What type of partitioning?"
-msgstr " ?"
+#: ../../any.pm_.c:707
+msgid "Autoprobe"
+msgstr " "
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:707
+msgid "Specify options"
+msgstr " "
+
+#: ../../any.pm_.c:719
#, c-format
msgid ""
-"file list sent by FTP: %s\n"
-" "
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
msgstr ""
+" %s .\n"
+" ?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Multisession CD"
-msgstr " "
+#: ../../any.pm_.c:734
+msgid "access to X programs"
+msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated strings"
-msgstr " "
+#: ../../any.pm_.c:735
+msgid "access to rpm tools"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "These are the machines from which the scanners should be used:"
+#: ../../any.pm_.c:736
+msgid "allow \"su\""
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Messages"
-msgstr ""
+#: ../../any.pm_.c:737
+msgid "access to administrative files"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH06X (bt878) [many vendors]"
-msgstr "|CPH06X (bt878) [ ]"
+#: ../../any.pm_.c:738
+msgid "access to network tools"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "POP and IMAP Server"
-msgstr "POP IMAP "
+#: ../../any.pm_.c:739
+msgid "access to compilation tools"
+msgstr ""
-#: ../../lang.pm:1
+#: ../../any.pm_.c:744
#, c-format
-msgid "Mexico"
-msgstr ""
+msgid "(already added %s)"
+msgstr "( %s)"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Model stepping"
-msgstr ""
+#: ../../any.pm_.c:749
+msgid "This password is too simple"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Rwanda"
-msgstr ""
+#: ../../any.pm_.c:750
+msgid "Please give a user name"
+msgstr ", "
-#: ../../lang.pm:1
-#, c-format
-msgid "Switzerland"
-msgstr ""
+#: ../../any.pm_.c:751
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+" , , `-' `_'"
-#: ../../lang.pm:1
-#, c-format
-msgid "Brunei Darussalam"
-msgstr ""
+#: ../../any.pm_.c:752
+#, fuzzy
+msgid "The user name is too long"
+msgstr " "
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr " %s ?"
+#: ../../any.pm_.c:753
+msgid "This user name is already added"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "You must be root to read configuration file. \n"
-msgstr " root , .\n"
+#: ../../any.pm_.c:757
+msgid "Add user"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../any.pm_.c:758
#, c-format
-msgid "Remote lpd Printer Options"
-msgstr " lpd-"
-
-#: ../../help.pm:1
-#, fuzzy, c-format
msgid ""
-"GNU/Linux is a multi-user system, meaning each user may have their own\n"
-"preferences, their own files and so on. You can read the ``Starter Guide''\n"
-"to learn more about multi-user systems. But unlike \"root\", who is the\n"
-"system administrator, the users you add at this point will not be\n"
-"authorized to change anything except their own files and their own\n"
-"configurations, protecting the system from unintentional or malicious\n"
-"changes that impact on the system as a whole. You will have to create at\n"
-"least one regular user for yourself -- this is the account which you should\n"
-"use for routine, day-to-day use. Although it is very easy to log in as\n"
-"\"root\" to do anything and everything, it may also be very dangerous! A\n"
-"very simple mistake could mean that your system will not work any more. If\n"
-"you make a serious mistake as a regular user, the worst that will happen is\n"
-"that you will lose some information, but not affect the entire system.\n"
-"\n"
-"The first field asks you for a real name. Of course, this is not mandatory\n"
-"-- you can actually enter whatever you like. DrakX will use the first word\n"
-"you typed in this field and copy it to the \"%s\" field, which is the name\n"
-"this user will enter to log onto the system. If you like, you may override\n"
-"the default and change the username. The next step is to enter a password.\n"
-"From a security point of view, a non-privileged (regular) user password is\n"
-"not as crucial as the \"root\" password, but that is no reason to neglect\n"
-"it by making it blank or too simple: after all, your files could be the\n"
-"ones at risk.\n"
-"\n"
-"Once you click on \"%s\", you can add other users. Add a user for each one\n"
-"of your friends: your father or your sister, for example. Click \"%s\" when\n"
-"you have finished adding users.\n"
-"\n"
-"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
-"that user (bash by default).\n"
-"\n"
-"When you have finished adding users, you will be asked to choose a user\n"
-"that can automatically log into the system when the computer boots up. If\n"
-"you are interested in that feature (and do not care much about local\n"
-"security), choose the desired user and window manager, then click \"%s\".\n"
-"If you are not interested in this feature, uncheck the \"%s\" box."
+"Enter a user\n"
+"%s"
msgstr ""
-"GNU/Linux , , "
-"\n"
-" , ... "
-"\n"
-", .\n"
-" Root, , , "
-" \n"
-" "
-".\n"
-" .\n"
-" . "
-"\n"
-" root , ! - "
-"\n"
-" , . "
-"\n"
-" , "
-",\n"
-" .\n"
-"\n"
-", . , , "
-"\n"
-" . DrakX "
-"\n"
-" . , "
-"\n"
-" . "
-".\n"
-" . () "
-"\n"
-" Root , "
-"\n"
-" , .\n"
-"\n"
-" \" \", "
-".\n"
-" : , , "
-".\n"
-" , , .\n"
-"\n"
-" \"\", "
-"\n"
-" (bash )."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Internet Access..."
-msgstr " ..."
+" \n"
+"%s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose the time interval between each backup"
-msgstr " "
+#: ../../any.pm_.c:759
+msgid "Accept user"
+msgstr " "
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Norway"
-msgstr ""
+#: ../../any.pm_.c:770
+msgid "Real name"
+msgstr " "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Delete profile"
-msgstr " ..."
+#: ../../any.pm_.c:771 ../../printer/printerdrake.pm_.c:802
+#: ../../printer/printerdrake.pm_.c:915
+msgid "User name"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Danish"
-msgstr ""
+#: ../../any.pm_.c:774
+msgid "Shell"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
-" numlock \n"
-"XFree ."
+#: ../../any.pm_.c:776
+msgid "Icon"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-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)."
+#: ../../any.pm_.c:803
+msgid "Autologin"
+msgstr "Autologin"
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:804
msgid ""
-"The Mandrake Linux installation is distributed on several CD-ROMs. DrakX\n"
-"knows if a selected package is located on another CD-ROM so it will eject\n"
-"the current CD and ask you to insert the correct CD as required."
+"I can set up your computer to automatically log on one user.\n"
+"Do you want to use this feature?"
msgstr ""
-" Mandrake Linux CDROM-. DrakX\n"
-" CDROM, "
-"\n"
-"CD , ."
+" "
+".\n"
+" ?"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "When checked, owner and group won't be changed"
-msgstr " , "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bulgaria"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Tuesday"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Processors"
-msgstr ""
+#: ../../any.pm_.c:808
+msgid "Choose the default user:"
+msgstr " :"
-#: ../../lang.pm:1
-#, c-format
-msgid "Svalbard and Jan Mayen Islands"
-msgstr " "
+#: ../../any.pm_.c:809
+msgid "Choose the window manager to run:"
+msgstr " Windows Manager :"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No NIC selected!"
-msgstr " NIC !"
+#: ../../any.pm_.c:824
+#, fuzzy
+msgid "Please choose a language to use."
+msgstr ", ."
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../any.pm_.c:826
msgid ""
-"Problems occured during configuration.\n"
-"Test your connection via net_monitor or mcc. If your connection doesn't "
-"work, you might want to relaunch the configuration."
-msgstr ""
-" .\n"
-" net_monitor mcc. "
-" , ."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "partition %s is now known as %s"
-msgstr " %s %s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Other files..."
-msgstr " ..."
+"Mandrake Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr " , "
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Kinshasa)"
-msgstr " ()"
+#: ../../any.pm_.c:840 ../../install_steps_interactive.pm_.c:697
+#: ../../standalone/drakxtv_.c:70
+msgid "All"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server IP"
-msgstr "IP SMB :"
+#: ../../any.pm_.c:961
+#, fuzzy
+msgid "Allow all users"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table of drive %s is going to be written to disk!"
-msgstr " %s !"
+#: ../../any.pm_.c:961
+#, fuzzy
+msgid "No sharing"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing HPOJ package..."
-msgstr " HPOJ ..."
+#: ../../any.pm_.c:971 ../../install_any.pm_.c:1207 ../../standalone.pm_.c:185
+#, fuzzy, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr ""
+" \n"
+" , ?"
-#: ../../any.pm:1
-#, c-format
+#: ../../any.pm_.c:973
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?\n"
-"%s"
+"You can export using NFS or Samba. Please select which you'd like to use."
msgstr ""
-" bootdisk Linux "
-"\n"
-" . , "
-"\n"
-"LILO ( GRUB) "
-" LILO LILO \n"
-" . Bootdisk- \n"
-" Mandrake, \n"
-" . bootdisk ?\n"
-"%s"
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:981 ../../install_any.pm_.c:1212 ../../standalone.pm_.c:190
#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: ../../any.pm_.c:987
msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
"\n"
-" DrakBackup Daemon Report\n"
+"\"Custom\" permit a per-user granularity.\n"
msgstr ""
-"\n"
-" DrakBackup \n"
-"\n"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latvian"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "monthly"
-msgstr ""
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Retry"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Module name"
-msgstr " "
-#: ../../network/network.pm:1
-#, c-format
-msgid "Start at boot"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental Backups"
-msgstr " "
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of drive (MBR)"
-msgstr " (MBR)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "El Salvador"
-msgstr " "
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Joystick"
-msgstr ""
+#: ../../any.pm_.c:1001
+msgid "Launch userdrake"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "DVD"
-msgstr "DVD"
+#: ../../any.pm_.c:1003
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user in this group."
+msgstr ""
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Use Unicode by default"
-msgstr " "
+#: ../../any.pm_.c:1053 ../../security/level.pm_.c:7
+msgid "Welcome To Crackers"
+msgstr " Cracker-"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the module of the GNU/Linux kernel that handles the device"
-msgstr " / "
+#: ../../any.pm_.c:1054 ../../security/level.pm_.c:8
+msgid "Poor"
+msgstr ""
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Is your hardware clock set to GMT?"
-msgstr " GMT"
+#: ../../any.pm_.c:1055 ../../mouse.pm_.c:31 ../../security/level.pm_.c:9
+msgid "Standard"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Trying to rescue partition table"
-msgstr " "
+#: ../../any.pm_.c:1056 ../../security/level.pm_.c:10
+msgid "High"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be an integer number!"
-msgstr " %s !"
+#: ../../any.pm_.c:1057 ../../security/level.pm_.c:11
+#, fuzzy
+msgid "Higher"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Use password to authenticate users"
-msgstr " "
+#: ../../any.pm_.c:1058 ../../security/level.pm_.c:12
+msgid "Paranoid"
+msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../any.pm_.c:1061
msgid ""
-"Entries you'll have to fill:\n"
-"%s"
+"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"
-"%s"
+" . - \n"
+", -: \n"
+" . ."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:1064
msgid ""
-"For backups to other media, files are still created on the hard drive, then "
-"moved to the other media. Enabling this option will remove the hard drive "
-"tar files after the backup."
+"Password are now enabled, but use as a networked computer is still not "
+"recommended."
msgstr ""
+" , "
+"."
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Unable to start live upgrade !!!\n"
-msgstr " !!!\n"
-
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Name: "
-msgstr ": "
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "up"
+#: ../../any.pm_.c:1065
+#, fuzzy
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
msgstr ""
+" , \n"
+" . "
+". "
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "16 million colors (24 bits)"
-msgstr "16 (24 )"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Allow all users"
-msgstr " "
-
-#: ../advertising/08-store.pl:1
-#, c-format
-msgid "The official MandrakeSoft Store"
-msgstr " MandrakeSoft "
-
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resizing"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:1066
msgid ""
-"Enter the maximum size\n"
-" allowed for Drakbackup (MB)"
+"There are already some restrictions, and more automatic checks are run every "
+"night."
msgstr ""
-", \n"
-" Drakbackup ( )"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Cable connection"
-msgstr " "
-
-#: ../../standalone/drakperm:1 ../../standalone/logdrake:1
-#, c-format
-msgid "User"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do new backup before restore (only for incremental backups.)"
+#: ../../any.pm_.c:1067
+#, fuzzy
+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 can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
msgstr ""
+" , "
+".\n"
+" \n"
+" . "
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed"
-msgstr "mkraid "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Name"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 3 Emulation"
-msgstr " 3 "
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of sgid files"
+#: ../../any.pm_.c:1070
+#, fuzzy
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
msgstr ""
+" 4- , .\n"
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files..."
-msgstr " ..."
+#: ../../any.pm_.c:1076
+#, fuzzy
+msgid "DrakSec Basic Options"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli (Phonetic)"
-msgstr " ()"
+#: ../../any.pm_.c:1077
+#, fuzzy
+msgid "Please choose the desired security level"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "access to rpm tools"
-msgstr " rpm "
+#: ../../any.pm_.c:1080
+msgid "Security level"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must choose/enter a printer/device!"
-msgstr " / /!"
+#: ../../any.pm_.c:1082
+msgid "Use libsafe for servers"
+msgstr " libsafe "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission problem accessing CD."
+#: ../../any.pm_.c:1083
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
msgstr ""
+", a "
+"."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Phone number"
-msgstr " "
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Error: The \"%s\" driver for your sound card is unlisted"
-msgstr ": \"%s\" "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer name, description, location"
-msgstr " , , "
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (broadcast)"
+#: ../../any.pm_.c:1084
+msgid "Security Administrator (login or email)"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Use Xinerama extension"
-msgstr " Xinerama"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback"
-msgstr "Loopback"
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "West Europe"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On CD-R"
+#: ../../any.pm_.c:1166
+msgid ""
+"Here you can choose the key or key combination that will \n"
+"allow switching between the different keyboard layouts\n"
+"(eg: latin and non latin)"
msgstr ""
-#: ../../standalone.pm:1
+# 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:436
#, c-format
msgid ""
-"[OPTIONS] [PROGRAM_NAME]\n"
+"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"
-"OPTIONS:\n"
-" --help - print this help message.\n"
-" --report - program should be one of mandrake tools\n"
-" --incident - program should be one of mandrake tools"
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"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake2 version %s"
-msgstr "Harddrake2 %s"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Preferences"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Swaziland"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominican Republic"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Copying %s"
-msgstr " %s"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Choose color"
-msgstr " "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-UID"
-msgstr "-UID"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Choose the hard drive you want to erase in order to install your new\n"
-"Mandrake Linux partition. Be careful, all data present on this partition\n"
-"will be lost and will not be recoverable!"
-msgstr ""
-" , , \n"
-" Mandrake Linux . , "
-" \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:983
+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
@@ -1853,26 +1145,38 @@ 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:1
+#: ../../bootloader.pm_.c:986
#, c-format
msgid "Use the %c and %c keys for selecting which entry is highlighted."
-msgstr ""
-" %c %c ."
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 2 Button Mouse"
-msgstr " 2- "
+msgstr "Use the %c and %c keys for selecting which entry is highlighted."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to execute the file"
-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:989
+msgid "Press enter to boot the selected OS, 'e' to edit the"
+msgstr "Press enter to boot the selected OS, 'e' to edit the"
-#: ../../lvm.pm:1
-#, c-format
-msgid "Remove the logical volumes first\n"
-msgstr " \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:992
+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
@@ -1884,3041 +1188,2358 @@ msgstr " \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:1
+#: ../../bootloader.pm_.c:995
#, c-format
msgid "The highlighted entry will be booted automatically in %d seconds."
-msgstr " %d ."
+msgstr "The highlighted entry will be booted automatically in %d seconds."
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Can't write /etc/sysconfig/bootsplash\n"
-"File not found."
-msgstr ""
-" /etc/sysconfig/bootsplash\n"
-" ."
+#: ../../bootloader.pm_.c:999
+msgid "not enough room in /boot"
+msgstr " /boot"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet access"
-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:1099
+msgid "Desktop"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"y coordinate of text box\n"
-"in number of characters"
-msgstr ""
-"y \n"
-" "
+#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
+#: ../../bootloader.pm_.c:1101
+msgid "Start Menu"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../bootloader.pm_.c:1120
#, c-format
-msgid ""
-"To get a list of the options available for the current printer click on the "
-"\"Print option list\" button."
-msgstr ""
-" , "
-"\" \"."
+msgid "You can't install the bootloader on a %s partition\n"
+msgstr " bootloader %s\n"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Enabling servers..."
-msgstr " ..."
+#: ../../bootlook.pm_.c:53
+msgid "Boot Style Configuration"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing test page(s)..."
-msgstr " (/) (/) ..."
+#: ../../bootlook.pm_.c:70 ../../standalone/drakfloppy_.c:54
+#: ../../standalone/harddrake2_.c:81 ../../standalone/harddrake2_.c:82
+#: ../../standalone/logdrake_.c:74
+msgid "/_File"
+msgstr "/_"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Transfer successful\n"
-"You may want to verify you can login to the server with:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"without being prompted for a password."
-msgstr ""
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/logdrake_.c:80
+msgid "/File/_Quit"
+msgstr "//_"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "There is already a partition with mount point %s\n"
-msgstr " %s\n"
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/harddrake2_.c:82 ../../standalone/logdrake_.c:80
+msgid "<control>Q"
+msgstr "<control>Q"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable msec hourly security check."
-msgstr "/ "
+#: ../../bootlook.pm_.c:82
+msgid "NewStyle Categorizing Monitor"
+msgstr "NewStyle "
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"At this point, you need to decide where you want to install the Mandrake\n"
-"Linux operating system on your hard drive. If your hard drive is empty or\n"
-"if an existing operating system is using all the available space you will\n"
-"have to partition the drive. Basically, partitioning a hard drive consists\n"
-"of logically dividing it to create the space needed to install your new\n"
-"Mandrake Linux system.\n"
-"\n"
-"Because the process of partitioning a hard drive is usually irreversible\n"
-"and can lead to lost data if there is an existing operating system already\n"
-"installed on the drive, partitioning can be intimidating and stressful if\n"
-"you are an inexperienced user. Fortunately, DrakX includes a wizard which\n"
-"simplifies this process. Before continuing with this step, read through the\n"
-"rest of this section and above all, take your time.\n"
-"\n"
-"Depending on your hard drive configuration, several options are available:\n"
-"\n"
-" * \"%s\": this option will perform an automatic partitioning of your blank\n"
-"drive(s). If you use this option there will be no further prompts.\n"
-"\n"
-" * \"%s\": the wizard has detected one or more existing Linux partitions on\n"
-"your hard drive. If you want to use them, choose this option. You will then\n"
-"be asked to choose the mount points associated with each of the partitions.\n"
-"The legacy mount points are selected by default, and for the most part it's\n"
-"a good idea to keep them.\n"
-"\n"
-" * \"%s\": if Microsoft Windows is installed on your hard drive and takes\n"
-"all the space available on it, you will have to create free space for\n"
-"Linux. To do so, you can delete your Microsoft Windows partition and data\n"
-"(see ``Erase entire disk'' solution) or resize your Microsoft Windows FAT\n"
-"partition. Resizing can be performed without the loss of any data, provided\n"
-"you have previously defragmented the Windows partition and that it uses the\n"
-"FAT format. Backing up your data is strongly recommended.. Using this\n"
-"option is recommended if you want to use both Mandrake Linux and Microsoft\n"
-"Windows on the same computer.\n"
-"\n"
-" Before choosing this option, please understand that after this\n"
-"procedure, the size of your Microsoft Windows partition will be smaller\n"
-"then when you started. You will have less free space under Microsoft\n"
-"Windows to store your data or to install new software.\n"
-"\n"
-" * \"%s\": if you want to delete all data and all partitions present on\n"
-"your hard drive and replace them with your new Mandrake Linux system,\n"
-"choose this option. Be careful, because you will not be able to undo your\n"
-"choice after you confirm.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be deleted. !!\n"
-"\n"
-" * \"%s\": this will simply erase everything on the drive and begin fresh,\n"
-"partitioning everything from scratch. All data on your disk will be lost.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be lost. !!\n"
-"\n"
-" * \"%s\": choose this option if you want to manually partition your hard\n"
-"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
-"easily lose all your data. That's why this option is really only\n"
-"recommended if you have done something like this before and have some\n"
-"experience. For more instructions on how to use the DiskDrake utility,\n"
-"refer to the ``Managing Your Partitions '' section in the ``Starter\n"
-"Guide''."
-msgstr ""
-" "
-"\n"
-"Mandrake Linux . \n"
-" , "
-".\n"
-" , "
-"\n"
-" Mandrake Linux .\n"
-"\n"
-" , \n"
-" , . , \n"
-", . , "
-"\n"
-" .\n"
-"\n"
-" , DiskDrake,\n"
-" Mandrake Linux, \n"
-" . DiskDrake . \n"
-" , \n"
-"\"\" .\n"
-"\n"
-" , \n"
-" , Linux\n"
-".\n"
-"\n"
-" , \n"
-". , "
-"\n"
-":\n"
-"\n"
-" * \"%s\" "
-" . .\n"
-"\n"
-" * \"%s\": \n"
-" Linux . ,\n"
-" .\n"
-"\n"
-" * \"%s\": \n"
-"Microsoft Windows \n"
-" , Linux . \n"
-", Microsoft Windows (\n"
-" \" \" \" \") \n"
-" Microsoft Windows . \n"
-" . , \n"
-" Mandrake Linux Microsoft Windows .\n"
-"\n"
-" , , , ,\n"
-" Microsoft Windows -, "
-".\n"
-" - Microsoft Windows "
-"\n"
-" .\n"
-"\n"
-" * \"%s\": , \n"
-" Mandrake Linux\n"
-", . , \n"
-" , .\n"
-"\n"
-" !! , "
-" !!\n"
-"\n"
-" * \"%s\": \n"
-", . .\n"
-"\n"
-" !! , "
-" !!\n"
-"\n"
-" * \"%s\": , \n"
-" . - , . \n"
-" . , \n"
-" ."
+#: ../../bootlook.pm_.c:83
+msgid "NewStyle Monitor"
+msgstr "NewStyle "
-#: ../../lang.pm:1
-#, c-format
-msgid "Ukraine"
-msgstr ""
+#: ../../bootlook.pm_.c:84
+msgid "Traditional Monitor"
+msgstr " "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Application:"
-msgstr ":"
+#: ../../bootlook.pm_.c:85
+msgid "Traditional Gtk+ Monitor"
+msgstr " Gtk+ "
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "External ISDN modem"
-msgstr " ISDN "
+#: ../../bootlook.pm_.c:86
+msgid "Launch Aurora at boot time"
+msgstr " Aurora "
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result by mail."
-msgstr " , ."
+#: ../../bootlook.pm_.c:89
+msgid "Lilo/grub mode"
+msgstr " Lilo/grub"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr " ? ( %s)"
+#: ../../bootlook.pm_.c:89
+msgid "Yaboot mode"
+msgstr " Yaboot"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Trouble shooting"
-msgstr ""
+#: ../../bootlook.pm_.c:138
+#, fuzzy
+msgid "Install themes"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:139
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
-msgstr ""
-" .\n"
-" .\n"
-" :\n"
-"%s\n"
-"\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "daily"
+"Display theme\n"
+"under console"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and one unknown printer"
-msgstr " "
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Ireland"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Restore Configuration "
-msgstr " "
+#: ../../bootlook.pm_.c:140
+#, fuzzy
+msgid "Create new theme"
+msgstr " "
-#: ../../Xconfig/test.pm:1
+#: ../../bootlook.pm_.c:184
#, c-format
-msgid "Is this the correct setting?"
-msgstr " ?"
-
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid ""
-"You will now set up your Internet/network connection. If you wish to\n"
-"connect your computer to the Internet or to a local network, click \"%s\".\n"
-"Mandrake Linux will attempt to autodetect network devices and modems. If\n"
-"this detection fails, uncheck the \"%s\" box. You may also choose not to\n"
-"configure the network, or to do it later, in which case clicking the \"%s\"\n"
-"button will take you to the next step.\n"
-"\n"
-"When configuring your network, the available connections options are:\n"
-"traditional modem, ISDN modem, ADSL connection, cable modem, and finally a\n"
-"simple LAN connection (Ethernet).\n"
-"\n"
-"We will not detail each configuration option - just make sure that you have\n"
-"all the parameters, such as IP address, default gateway, DNS servers, etc.\n"
-"from your Internet Service Provider or system administrator.\n"
-"\n"
-"You can consult the ``Starter Guide'' chapter about Internet connections\n"
-"for details about the configuration, or simply wait until your system is\n"
-"installed and use the program described there to configure your connection."
+msgid "Backup %s to %s.old"
msgstr ""
-" , "
-"\n"
-" . , "
-"\n"
-", DrakX .\n"
-"\n"
-"Mandrake Linux \n"
-". : , ISDN , ADSL ,\n"
-" LAN (Ethernet).\n"
-"\n"
-" . , \n"
-" \n"
-".\n"
-"\n"
-" \n"
-" \n"
-" , .\n"
-"\n"
-" - "
-"\n"
-" , \"\"."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Wizard Configuration"
-msgstr " "
+#: ../../bootlook.pm_.c:187
+#, fuzzy, c-format
+msgid "Copy %s to %s"
+msgstr " %s"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Autoprobe"
-msgstr " "
+#: ../../bootlook.pm_.c:192 ../../bootlook.pm_.c:222 ../../bootlook.pm_.c:224
+#: ../../bootlook.pm_.c:234 ../../bootlook.pm_.c:243 ../../bootlook.pm_.c:250
+#: ../../diskdrake/dav.pm_.c:77 ../../diskdrake/hd_gtk.pm_.c:119
+#: ../../diskdrake/interactive.pm_.c:216 ../../diskdrake/interactive.pm_.c:352
+#: ../../diskdrake/interactive.pm_.c:367 ../../diskdrake/interactive.pm_.c:481
+#: ../../diskdrake/interactive.pm_.c:486 ../../diskdrake/smbnfs_gtk.pm_.c:45
+#: ../../fsedit.pm_.c:239 ../../install_steps.pm_.c:75
+#: ../../install_steps_interactive.pm_.c:67 ../../interactive/http.pm_.c:119
+#: ../../interactive/http.pm_.c:120 ../../standalone/draksplash_.c:21
+msgid "Error"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"if set to yes, check for :\n"
-"\n"
-"- empty passwords,\n"
-"\n"
-"- no password in /etc/shadow\n"
-"\n"
-"- for users with the 0 id other than root."
+#: ../../bootlook.pm_.c:192
+msgid "Lilo message not found"
msgstr ""
-" , :\n"
-"\n"
-"- ,\n"
-"\n"
-"- /etc/shadow\n"
-"- root"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files..."
-msgstr " ..."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Can't use broadcast with no NIS domain"
-msgstr " broadcast NIS "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer \"%s\"..."
-msgstr " \"%s\"..."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell history size"
+#: ../../bootlook.pm_.c:222
+msgid "Can't write /etc/sysconfig/bootsplash."
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "drakfloppy"
-msgstr "drakfloppy"
+#: ../../bootlook.pm_.c:222
+#, fuzzy, c-format
+msgid "Write %s"
+msgstr "XFree %s"
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../bootlook.pm_.c:224
msgid ""
-"Please indicate where the auto_install.cfg file is located.\n"
-"\n"
-"Leave it blank if you do not want to set up automatic installation mode.\n"
-"\n"
+"Can't write /etc/sysconfig/bootsplash\n"
+"File not found."
msgstr ""
-#: ../../printer/cups.pm:1 ../../standalone/printerdrake:1
+#: ../../bootlook.pm_.c:235
#, c-format
-msgid "Configured on other machines"
-msgstr " "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "information level that can be obtained through the cpuid instruction"
+msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
msgstr ""
-" , cpuid"
-#: ../../lang.pm:1
+#: ../../bootlook.pm_.c:238
#, c-format
-msgid "Peru"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " on device: %s"
-msgstr " : %s"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Remove Windows(TM)"
-msgstr " Windows(TM)"
-
-#: ../../services.pm:1
-#, c-format
-msgid "Starts the X Font Server (this is mandatory for XFree to run)."
-msgstr " X Font Server ( , XFree)."
+msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../bootlook.pm_.c:244
msgid ""
-"Most of these values were extracted\n"
-"from your running system.\n"
-"You can modify as needed."
+"Can't relaunch LiLo!\n"
+"Launch \"lilo\" as root in command line to complete LiLo theme installation."
msgstr ""
-" \n"
-" .\n"
-" ."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Select the font file or directory and click on 'Add'"
+#: ../../bootlook.pm_.c:248
+msgid "Relaunch 'lilo'"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Madagascar"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Urpmi"
-msgstr ""
+#: ../../bootlook.pm_.c:250 ../../standalone/draksplash_.c:156
+#: ../../standalone/draksplash_.c:321 ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "Notice"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Cron not available yet as non-root"
+#: ../../bootlook.pm_.c:251
+msgid "LiLo and Bootsplash themes installation successfull"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "System"
-msgstr ""
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Do you want to use this feature?"
-msgstr " ?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Arabic"
-msgstr ""
+#: ../../bootlook.pm_.c:251
+#, fuzzy
+msgid "Theme installation failed!"
+msgstr " "
-#: ../../standalone/drakbackup:1
+#: ../../bootlook.pm_.c:259
#, c-format
msgid ""
-"\n"
-"- Options:\n"
+"You are currently using %s as your boot manager.\n"
+"Click on Configure to launch the setup wizard."
msgstr ""
-"\n"
-"- :\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Password required"
-msgstr " "
+" %s .\n"
+" , ."
-#: ../../common.pm:1
-#, c-format
-msgid "%d minutes"
-msgstr "%d "
+#: ../../bootlook.pm_.c:261 ../../standalone/drakbackup_.c:2380
+#: ../../standalone/drakbackup_.c:2390 ../../standalone/drakbackup_.c:2400
+#: ../../standalone/drakbackup_.c:2408 ../../standalone/drakgw_.c:551
+msgid "Configure"
+msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Graphics card: %s"
-msgstr " : %s"
+#: ../../bootlook.pm_.c:268
+#, fuzzy
+msgid "Splash selection"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WebDAV transfer failed!"
+#: ../../bootlook.pm_.c:271
+msgid "Themes"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree configuration"
-msgstr " XFree"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Choose action"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "French Polynesia"
-msgstr " "
-
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../bootlook.pm_.c:273
msgid ""
-"Usually, DrakX has no problems detecting the number of buttons on your\n"
-"mouse. If it does, it assumes you have a two-button mouse and will\n"
-"configure it for third-button emulation. The third-button mouse button of a\n"
-"two-button mouse can be ``pressed'' by simultaneously clicking the left and\n"
-"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
-"a PS/2, serial or USB interface.\n"
-"\n"
-"If for some reason you wish to specify a different type of mouse, select it\n"
-"from the list provided.\n"
"\n"
-"If you choose a mouse other than the default, a test screen will be\n"
-"displayed. Use the buttons and wheel to verify that the settings are\n"
-"correct and that the mouse is working correctly. If the mouse is not\n"
-"working well, press the space bar or [Return] key to cancel the test and to\n"
-"go back to the list of choices.\n"
-"\n"
-"Wheel mice are occasionally not detected automatically, so you will need to\n"
-"select your mouse from a list. Be sure to select the one corresponding to\n"
-"the port that your mouse is attached to. After selecting a mouse and\n"
-"pressing the \"%s\" button, a mouse image is displayed on-screen. Scroll\n"
-"the mouse wheel to ensure that it is activated correctly. Once you see the\n"
-"on-screen scroll wheel moving as you scroll your mouse wheel, test the\n"
-"buttons and check that the mouse pointer moves on-screen as you move your\n"
-"mouse."
+"Select theme for\n"
+"lilo and bootsplash,\n"
+"you can choose\n"
+"them separatly"
msgstr ""
-" , DrakX \n"
-" . DrakX PS/2, "
-"\n"
-"USB .\n"
-"\n"
-" , ,\n"
-" .\n"
-"\n"
-" , \n"
-" . , , \n"
-" . , , \n"
-" \"\" ."
-#: ../../services.pm:1
-#, c-format
-msgid "Support the OKI 4w and compatible winprinters."
-msgstr " OKI 4w win-."
+#: ../../bootlook.pm_.c:276
+msgid "Lilo screen"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Files or wildcards listed in a .backupignore file at the top of a directory "
-"tree will not be backed up."
+#: ../../bootlook.pm_.c:281
+msgid "Bootsplash"
msgstr ""
-" , .backupignore "
-", ."
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr " ALSA (Advanced Linux Sound Architecture) "
+#: ../../bootlook.pm_.c:316
+msgid "System mode"
+msgstr " "
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr " %s %s"
+#: ../../bootlook.pm_.c:318
+msgid "Launch the graphical environment when your system starts"
+msgstr " X-Window "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You have transferred your former default printer (\"%s\"), Should it be also "
-"the default printer under the new printing system %s?"
-msgstr ""
-" (\"%s\"), "
-" %s ?"
+#: ../../bootlook.pm_.c:323
+msgid "No, I don't want autologin"
+msgstr ", autologin"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Enable Server"
-msgstr " "
+#: ../../bootlook.pm_.c:325
+msgid "Yes, I want autologin with this (user, desktop)"
+msgstr ", autologin (, )"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ukrainian"
-msgstr ""
+#: ../../bootlook.pm_.c:335 ../../network/netconnect.pm_.c:96
+#: ../../standalone/drakTermServ_.c:222 ../../standalone/drakTermServ_.c:355
+#: ../../standalone/drakbackup_.c:4139 ../../standalone/drakbackup_.c:4797
+#: ../../standalone/drakconnect_.c:105 ../../standalone/drakconnect_.c:137
+#: ../../standalone/drakconnect_.c:293 ../../standalone/drakconnect_.c:432
+#: ../../standalone/drakconnect_.c:518 ../../standalone/drakconnect_.c:561
+#: ../../standalone/drakconnect_.c:665 ../../standalone/drakfont_.c:604
+#: ../../standalone/drakfont_.c:783 ../../standalone/drakfont_.c:911
+#: ../../standalone/net_monitor_.c:336 ../../ugtk.pm_.c:288
+#: ../../ugtk2.pm_.c:355
+msgid "OK"
+msgstr "OK"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The network access was not running and could not be started. Please check "
-"your configuration and your hardware. Then try to configure your remote "
-"printer again."
-msgstr ""
-" . , "
-" . "
-" ."
+#: ../../common.pm_.c:107
+msgid "GB"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to write the file"
-msgstr " \"%s\" "
+#: ../../common.pm_.c:107
+msgid "KB"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please insert the Boot floppy used in drive %s"
-msgstr " %s"
+#: ../../common.pm_.c:107
+msgid "MB"
+msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local network(s)"
-msgstr " ()"
+#: ../../common.pm_.c:115
+msgid "TB"
+msgstr ""
-#: ../../help.pm:1
+#: ../../common.pm_.c:123
#, c-format
-msgid "Remove Windows"
-msgstr " Windows(TM)"
+msgid "%d minutes"
+msgstr "%d "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Your %s has been configured.\n"
-"You may now scan documents using \"XSane\" from Multimedia/Graphics in the "
-"applications menu."
-msgstr ""
-" %s .\n"
-" , \"XSane\" "
-"/"
+#: ../../common.pm_.c:125
+msgid "1 minute"
+msgstr "1 "
-#: ../../harddrake/data.pm:1
+#: ../../common.pm_.c:127
#, c-format
-msgid "Firewire controllers"
-msgstr "Firewire "
+msgid "%d seconds"
+msgstr "%d "
-#: ../../help.pm:1
+#: ../../common.pm_.c:172
+#, fuzzy
+msgid "Can't make screenshots before partitioning"
+msgstr " "
+
+#: ../../common.pm_.c:179
#, fuzzy, c-format
-msgid ""
-"After you have configured the general bootloader parameters, the list of\n"
-"boot options that will be available at boot time will be displayed.\n"
-"\n"
-"If there are other operating systems installed on your machine they will\n"
-"automatically be added to the boot menu. You can fine-tune the existing\n"
-"options by clicking \"%s\" to create a new entry; selecting an entry and\n"
-"clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your\n"
-"changes.\n"
-"\n"
-"You may also not want to give access to these other operating systems to\n"
-"anyone who goes to the console and reboots the machine. You can delete the\n"
-"corresponding entries for the operating systems to remove them from the\n"
-"bootloader menu, but you will need a boot disk in order to boot those other\n"
-"operating systems!"
-msgstr ""
-"LILO ( LInux LOader) Grub bootloader-: \n"
-"GNU/Linux "
-".\n"
-", \n"
-". , \n"
-" . .\n"
-"\n"
-"\n"
-" ,\n"
-" . ,\n"
-" boot-, !"
+msgid "Screenshots will be available after install in %s"
+msgstr " , "
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "System mode"
-msgstr " "
+#: ../../crypto.pm_.c:14 ../../crypto.pm_.c:28 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:127
+msgid "France"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print on 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."
+#: ../../crypto.pm_.c:15
+msgid "Costa Rica"
msgstr ""
-" NetWare , \n"
-" , , ,. "
-"(! TCP/IP !)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Netmask:"
-msgstr " :"
+#: ../../crypto.pm_.c:16 ../../crypto.pm_.c:29 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:130
+#, fuzzy
+msgid "Belgium"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Do it later"
+#: ../../crypto.pm_.c:17 ../../crypto.pm_.c:30
+msgid "Czech Republic"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Append"
-msgstr ""
+#: ../../crypto.pm_.c:18 ../../crypto.pm_.c:31
+#, fuzzy
+msgid "Germany"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refresh printer list (to display all available remote CUPS printers)"
-msgstr ""
-" ( CUPS "
-")"
+#: ../../crypto.pm_.c:19 ../../crypto.pm_.c:32
+#, fuzzy
+msgid "Greece"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"When this option is turned on, on every startup of CUPS it is automatically "
-"made sure that\n"
-"\n"
-"- if LPD/LPRng is installed, /etc/printcap will not be overwritten by CUPS\n"
-"\n"
-"- if /etc/cups/cupsd.conf is missing, it will be created\n"
-"\n"
-"- when printer information is broadcasted, it does not contain \"localhost\" "
-"as the server name.\n"
-"\n"
-"If some of these measures lead to problems for you, turn this option off, "
-"but then you have to take care of these points."
-msgstr ""
+#: ../../crypto.pm_.c:20 ../../crypto.pm_.c:33
+#, fuzzy
+msgid "Norway"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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"
+#: ../../crypto.pm_.c:21 ../../crypto.pm_.c:34
+#, fuzzy
+msgid "Sweden"
+msgstr ""
+
+#: ../../crypto.pm_.c:22 ../../crypto.pm_.c:36 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:128
+msgid "Netherlands"
msgstr ""
-" ,\n"
-" !!!\n"
-"( ).\n"
-"\n"
-" .\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network printer \"%s\", port %s"
-msgstr " \"%s\", %s"
+#: ../../crypto.pm_.c:23 ../../crypto.pm_.c:37 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:129 ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Italy"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../crypto.pm_.c:24 ../../crypto.pm_.c:38
+#, fuzzy
+msgid "Austria"
+msgstr ""
+
+#: ../../crypto.pm_.c:35 ../../crypto.pm_.c:61 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:131
+msgid "United States"
+msgstr ""
+
+#: ../../diskdrake/dav.pm_.c:19
msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
msgstr ""
-" ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "OK to restore the other files."
-msgstr "OK ."
+#: ../../diskdrake/dav.pm_.c:27
+#, fuzzy
+msgid "New"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your keyboard layout."
-msgstr ", ."
+#: ../../diskdrake/dav.pm_.c:63 ../../diskdrake/interactive.pm_.c:400
+#: ../../diskdrake/smbnfs_gtk.pm_.c:81
+msgid "Unmount"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Device URI"
-msgstr " URI"
+#: ../../diskdrake/dav.pm_.c:64 ../../diskdrake/interactive.pm_.c:397
+#: ../../diskdrake/smbnfs_gtk.pm_.c:82
+msgid "Mount"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not erasable media!"
-msgstr " !"
+#: ../../diskdrake/dav.pm_.c:65
+msgid "Server"
+msgstr ""
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Terminal-based"
-msgstr " "
+#: ../../diskdrake/dav.pm_.c:66 ../../diskdrake/interactive.pm_.c:391
+#: ../../diskdrake/interactive.pm_.c:580 ../../diskdrake/interactive.pm_.c:607
+#: ../../diskdrake/removable.pm_.c:24 ../../diskdrake/smbnfs_gtk.pm_.c:85
+msgid "Mount point"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable IP spoofing protection."
-msgstr "/ IP spoofing."
+#: ../../diskdrake/dav.pm_.c:85
+#, fuzzy
+msgid "Please enter the WebDAV server URL"
+msgstr ", "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing a printing system in the %s security level"
-msgstr " %s "
+#: ../../diskdrake/dav.pm_.c:88
+msgid "The URL must begin with http:// or https://"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "The user name is too long"
-msgstr " "
+#: ../../diskdrake/dav.pm_.c:109
+#, fuzzy
+msgid "Server: "
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (windows...)"
-msgstr " (Windows...)"
+#: ../../diskdrake/dav.pm_.c:110 ../../diskdrake/interactive.pm_.c:452
+#: ../../diskdrake/interactive.pm_.c:1102
+#: ../../diskdrake/interactive.pm_.c:1177
+msgid "Mount point: "
+msgstr " : "
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/dav.pm_.c:111 ../../diskdrake/interactive.pm_.c:1183
#, c-format
-msgid "WebDAV remote site already in sync!"
-msgstr ""
+msgid "Options: %s"
+msgstr ": %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer database..."
-msgstr " ..."
+#: ../../diskdrake/hd_gtk.pm_.c:97
+msgid "Please make a backup of your data first"
+msgstr " backup "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Generate auto install floppy"
-msgstr " "
+#: ../../diskdrake/hd_gtk.pm_.c:97 ../../diskdrake/interactive.pm_.c:946
+#: ../../diskdrake/interactive.pm_.c:956
+#: ../../diskdrake/interactive.pm_.c:1022
+msgid "Read carefully!"
+msgstr " !"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:100
msgid ""
-"\t\t user name: %s\n"
-"\t\t on path: %s \n"
+"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"
+" ) "
-#: ../../lang.pm:1
-#, c-format
-msgid "Somalia"
-msgstr ""
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No open source driver"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:154
+msgid "Wizard"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Def."
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:187
+msgid "Choose action"
+msgstr " "
-#: ../../security/level.pm:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:191
msgid ""
-"This is similar to the previous level, but the system is entirely closed and "
-"security features are at their maximum."
+"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 ""
-" , .\n"
-" ."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Nicaragua"
-msgstr ""
+" FAT \n"
+"( Microsoft Dos/Windows).\n"
+" \n"
+"( , \" \")"
-#: ../../lang.pm:1
-#, c-format
-msgid "New Caledonia"
-msgstr " "
+#: ../../diskdrake/hd_gtk.pm_.c:194
+msgid "Please click on a partition"
+msgstr ", "
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol (EDSS1)"
-msgstr " (EDSS1)"
+#: ../../diskdrake/hd_gtk.pm_.c:208 ../../diskdrake/smbnfs_gtk.pm_.c:69
+#: ../../install_steps_gtk.pm_.c:464
+msgid "Details"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Delete"
-msgstr "/_"
+#: ../../diskdrake/hd_gtk.pm_.c:254
+#, fuzzy
+msgid "No hard drives found"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Video mode"
-msgstr " "
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Ext2"
+msgstr "Ext2"
-#: ../../lang.pm:1
-#, c-format
-msgid "Oman"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "FAT"
+msgstr "FAT"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Please enter your email address below "
-msgstr ", . "
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "HFS"
+msgstr "HFS"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Network Monitoring"
-msgstr " "
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Journalised FS"
+msgstr " FS"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:325
msgid "SunOS"
msgstr "SunOS"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "New size in MB: "
-msgstr " MB: "
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Swap"
+msgstr "Swap"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr " : %s\n"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../diskdrake/interactive.pm_.c:1118
+msgid "Empty"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication Windows Domain"
-msgstr " Windows "
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../install_steps_gtk.pm_.c:324
+#: ../../install_steps_gtk.pm_.c:382 ../../mouse.pm_.c:165
+#: ../../services.pm_.c:162 ../../standalone/drakbackup_.c:1719
+msgid "Other"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard"
-msgstr "US "
+#: ../../diskdrake/hd_gtk.pm_.c:330
+msgid "Filesystem types:"
+msgstr " :"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Buttons emulation"
-msgstr " "
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:414
+msgid "Create"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", network printer \"%s\", port %s"
-msgstr ", \"%s\", %s"
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:392
+#: ../../diskdrake/interactive.pm_.c:543 ../../diskdrake/removable.pm_.c:26
+#: ../../diskdrake/removable.pm_.c:49 ../../standalone/harddrake2_.c:66
+msgid "Type"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/hd_gtk.pm_.c:349
#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via tape:\n"
-"\n"
-msgstr ""
+msgid "Use ``%s'' instead"
+msgstr " ``%s''"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" FTP connection problem: It was not possible to send your backup files by "
-"FTP.\n"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:349 ../../diskdrake/interactive.pm_.c:401
+msgid "Delete"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Sending Speed:"
-msgstr " :"
+#: ../../diskdrake/hd_gtk.pm_.c:353
+msgid "Use ``Unmount'' first"
+msgstr " ''"
-#: ../../harddrake/sound.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:354 ../../diskdrake/interactive.pm_.c:530
#, c-format
msgid ""
-"The classic bug sound tester is to run the following commands:\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
-"by default\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" will tell you what driver it\n"
-"currently uses\n"
-"\n"
-"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-"loaded or not\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
-"tell you if sound and alsa services're configured to be run on\n"
-"initlevel 3\n"
-"\n"
-"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Halt bug"
+"After changing type of partition %s, all data on this partition will be lost"
msgstr ""
+" %s, "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert configuration"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tokelau"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose a partition"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Matching"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose another partition"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bosnian"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:202
+msgid "Exit"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Release: "
-msgstr ":"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to expert mode"
+msgstr " "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection speed"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to normal mode"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Namibia"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Undo"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Database Server"
-msgstr " -"
+#: ../../diskdrake/interactive.pm_.c:247
+msgid "Continue anyway?"
+msgstr " ?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "special capacities of the driver (burning ability and or DVD support)"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without saving"
+msgstr " "
-#: ../../raid.pm:1
-#, c-format
-msgid "Can't add a partition to _formatted_ RAID md%d"
-msgstr " __ RAID md%d"
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without writing the partition table?"
+msgstr ", ?"
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Network Time Protocol"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:257
+msgid "Do you want to save /etc/fstab modifications"
+msgstr " /etc/fstab"
-#: ../../Xconfig/card.pm:1
-#, 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."
+#: ../../diskdrake/interactive.pm_.c:271
+msgid "Clear all"
+msgstr " "
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security options..."
-msgstr ", , ..."
+#: ../../diskdrake/interactive.pm_.c:272
+msgid "Auto allocate"
+msgstr " "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH05X (bt878) [many vendors]"
-msgstr "|CPH05X (bt878) [ ]"
+#: ../../diskdrake/interactive.pm_.c:273
+#: ../../install_steps_interactive.pm_.c:220
+msgid "More"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Launch the graphical environment when your system starts"
-msgstr " X-Window "
+#: ../../diskdrake/interactive.pm_.c:278
+msgid "Hard drive information"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hourly"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:310
+msgid "All primary partitions are used"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Shift key"
-msgstr " Shift "
+#: ../../diskdrake/interactive.pm_.c:311
+msgid "I can't add any more partition"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Successfuly Restored on %s "
+#: ../../diskdrake/interactive.pm_.c:312
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
msgstr ""
+" , , "
+" "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Making printer port available for CUPS..."
-msgstr " CUPS..."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Antigua and Barbuda"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:322
+msgid "Save partition table"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"!!! Indicates the password in the system database is different than\n"
-" the one in the Terminal Server database.\n"
-"Delete/re-add the user to the Terminal Server to enable login."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:323
+msgid "Restore partition table"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Spanish"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:324
+msgid "Rescue partition table"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-msgid "Start"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:326
+msgid "Reload partition table"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Direct root login"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:331
+msgid "Removable media automounting"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring applications..."
-msgstr " ..."
+#: ../../diskdrake/interactive.pm_.c:340 ../../diskdrake/interactive.pm_.c:360
+msgid "Select file"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:347
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer, connected directly to the network or to a remote Windows machine.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected. Also your network printer(s) and your Windows "
-"machines must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network and/or Windows-hosted printers when you don't need "
-"it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"The backup partition table has not the same size\n"
+"Still continue?"
msgstr ""
-"\n"
-" \n"
-"\n"
-" .\n"
-"\n"
-" () , , "
-" .\n"
-"\n"
-" \"\" , \"\" "
-" ."
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Normal modem connection"
-msgstr " "
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "File Selection"
-msgstr " "
-
-#: ../../help.pm:1 ../../printer/cups.pm:1 ../../printer/data.pm:1
-#, c-format
-msgid "CUPS"
-msgstr "CUPS"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Erase tape before backup"
-msgstr " "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Run config tool"
-msgstr " "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation"
-msgstr " Bootloader"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Root partition size in MB: "
-msgstr " root- MB: "
+" \n"
+" ?"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "This is a mandatory package, it can't be unselected"
-msgstr " , "
+#: ../../diskdrake/interactive.pm_.c:361 ../../harddrake/sound.pm_.c:202
+#: ../../network/modem.pm_.c:95
+msgid "Warning"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:362
msgid ""
-" - Create etherboot floppies/CDs:\n"
-" \tThe diskless client machines need either ROM images on the NIC, or "
-"a boot floppy\n"
-" \tor CD to initate the boot sequence. drakTermServ will help "
-"generate these\n"
-" \timages, based on the NIC in the client machine.\n"
-" \t\t\n"
-" \tA basic example of creating a boot floppy for a 3Com 3c509 "
-"manually:\n"
-" \t\t\n"
-" \tcat /usr/lib/etherboot/boot1a.bin \\\n"
-" \t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0"
+"Insert a floppy in drive\n"
+"All data on this floppy will be lost"
msgstr ""
+" \n"
+" , , "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot ISO image is %s"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:373
+msgid "Trying to rescue partition table"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
-"names to IP addresses."
-msgstr ""
-"named (BIND) Domain Name Server (DNS), \n"
-" IP ."
+#: ../../diskdrake/interactive.pm_.c:379
+msgid "Detailed information"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Lucia"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:394 ../../diskdrake/interactive.pm_.c:674
+msgid "Resize"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "November"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:395 ../../diskdrake/interactive.pm_.c:727
+msgid "Move"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Disconnect..."
-msgstr " ..."
+#: ../../diskdrake/interactive.pm_.c:396
+msgid "Format"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Report"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:398
+msgid "Add to RAID"
+msgstr " RAID"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palau"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:399
+msgid "Add to LVM"
+msgstr " LVM"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "level"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:402
+msgid "Remove from RAID"
+msgstr " RAID"
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid ""
-"All incidents will be followed up by a single qualified MandrakeSoft "
-"technical expert."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:403
+msgid "Remove from LVM"
+msgstr " LVM"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package Group Selection"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:404
+msgid "Modify RAID"
+msgstr " RAID"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Allow local hardware\n"
-"configuration."
-msgstr ""
-" \n"
-" "
+#: ../../diskdrake/interactive.pm_.c:405
+msgid "Use for loopback"
+msgstr " loopback"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network Protocol: %s"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:445
+msgid "Create a new partition"
+msgstr " "
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "You can configure each parameter of the module here."
-msgstr " ."
+#: ../../diskdrake/interactive.pm_.c:448
+msgid "Start sector: "
+msgstr " : "
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Choose the resolution and the color depth"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:450 ../../diskdrake/interactive.pm_.c:827
+msgid "Size in MB: "
+msgstr " MB: "
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Emulate third button?"
-msgstr " ?"
+#: ../../diskdrake/interactive.pm_.c:451 ../../diskdrake/interactive.pm_.c:828
+msgid "Filesystem type: "
+msgstr " : "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:456
+msgid "Preference: "
+msgstr ": "
+
+#: ../../diskdrake/interactive.pm_.c:481
msgid ""
"You can't create a new partition\n"
"(since you reached the maximal number of primary partitions).\n"
"First remove a primary partition and create an extended partition."
msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount"
-msgstr ""
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Creating auto install floppy"
-msgstr " "
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Install updates"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:511
+msgid "Remove the loopback file?"
+msgstr " loopback ?"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text box height"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:541
+msgid "Change partition type"
+msgstr " "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "State"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:542 ../../diskdrake/removable.pm_.c:48
+msgid "Which filesystem do you want?"
+msgstr " ?"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Be sure a media is present for the device %s"
-msgstr " %s"
+#: ../../diskdrake/interactive.pm_.c:548
+msgid "Switching from ext2 to ext3"
+msgstr " ext2 ext3"
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:578
#, c-format
-msgid "Enable multiple profiles"
-msgstr " "
+msgid "Where do you want to mount loopback file %s?"
+msgstr " loopback- %s ?"
-#: ../../fs.pm:1
+#: ../../diskdrake/interactive.pm_.c:579
#, c-format
-msgid "Do not interpret character or block special devices on the file system."
-msgstr ""
+msgid "Where do you want to mount device %s?"
+msgstr " %s ?"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:585
msgid ""
-"These options can backup and restore all files in your /etc directory.\n"
+"Can't unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
msgstr ""
+" , "
+"loopback.\n"
+" loopback"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Local printer"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:606
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr " %s ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Files Restored..."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:630
+msgid "Computing FAT filesystem bounds"
+msgstr " fat "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package selection"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:630 ../../diskdrake/interactive.pm_.c:689
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritania"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:662
+msgid "This partition is not resizeable"
+msgstr " "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"I can keep your current configuration and assume you already set up a DHCP "
-"server; in that case please verify I correctly read the Network that you use "
-"for your local network; I will not reconfigure it and I will not touch your "
-"DHCP server configuration.\n"
-"\n"
-"The default DNS entry is the Caching Nameserver configured on the firewall. "
-"You can replace that with your ISP DNS IP, for example.\n"
-"\t\t \n"
-"Otherwise, I can reconfigure your interface and (re)configure a DHCP server "
-"for you.\n"
-"\n"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:667
+msgid "All data on this partition should be backed-up"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:669
#, c-format
-msgid ""
-"No local printer found! To manually install a printer enter a device name/"
-"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
-"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
-"printer: /dev/usb/lp1, ...)."
+msgid "After resizing partition %s, all data on this partition will be lost"
msgstr ""
-" ! , "
-" / ( /dev/lp0, /"
-"dev/lp1, ..., LPT1:, LPT2:, ..., 1- USB : /dev/usb/"
-"lp0, 2- USB : /dev/usb/lp1, ...)."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All primary partitions are used"
-msgstr " "
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "LPD server \"%s\", printer \"%s\""
-msgstr "LPD \"%s\", \"%s\""
+" %s, te "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"After this is done, we recommend that you restart your X environment to "
-"avoid any hostname-related problems."
-msgstr ""
-" , X\n"
-" , ."
+#: ../../diskdrake/interactive.pm_.c:674
+msgid "Choose the new size"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-msgid "Automatic detection and configuration of hardware at boot."
-msgstr " ."
+#: ../../diskdrake/interactive.pm_.c:675
+msgid "New size in MB: "
+msgstr " MB: "
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation Server Configuration"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:728
+msgid "Which disk do you want to move it to?"
+msgstr " ?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring IDE"
-msgstr " IDE"
+#: ../../diskdrake/interactive.pm_.c:729
+msgid "Sector"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Network functionality not configured"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:730
+msgid "Which sector do you want to move it to?"
+msgstr " ?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Configure module"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cocos (Keeling) Islands"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving partition..."
+msgstr " ... "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "You'll need to reboot before the modification can take place"
-msgstr " , "
+#: ../../diskdrake/interactive.pm_.c:750
+msgid "Choose an existing RAID to add to"
+msgstr " RAID "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider phone number"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:751 ../../diskdrake/interactive.pm_.c:768
+msgid "new"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Host %s"
-msgstr " %s"
+#: ../../diskdrake/interactive.pm_.c:766
+msgid "Choose an existing LVM to add to"
+msgstr " LVM "
-#: ../../lang.pm:1
-#, c-format
-msgid "Fiji"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:771
+msgid "LVM name?"
+msgstr "LVM ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Armenia"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:812
+msgid "This partition can't be used for loopback"
+msgstr " loopback"
-#: ../../any.pm:1
-#, c-format
-msgid "Second floppy drive"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:825
+msgid "Loopback"
+msgstr "Loopback"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "About Harddrake"
-msgstr " Harddrake"
+#: ../../diskdrake/interactive.pm_.c:826
+msgid "Loopback file name: "
+msgstr " loopback : "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize TCP connections to X Window"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:831
+msgid "Give a file name"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Drive capacity"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:834
+msgid "File already used by another loopback, choose another one"
+msgstr " loopback, ."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Insert a floppy in drive\n"
-"All data on this floppy will be lost"
-msgstr ""
-" \n"
-" , , "
+#: ../../diskdrake/interactive.pm_.c:835
+msgid "File already exists. Use it?"
+msgstr " . ?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s"
-msgstr ": %s"
+#: ../../diskdrake/interactive.pm_.c:858
+msgid "Mount options"
+msgstr " mount:"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Control and Shift keys simultaneously"
-msgstr "Control Shift "
+#: ../../diskdrake/interactive.pm_.c:865
+msgid "Various"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "secondary"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:929 ../../standalone/drakfloppy_.c:76
+msgid "device"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Backup Configuration."
-msgstr " ."
+#: ../../diskdrake/interactive.pm_.c:930
+msgid "level"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result to syslog."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:931
+msgid "chunk size"
+msgstr " "
-#. -PO: keep this short or else the buttons will not fit in the window
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No password"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:947
+msgid "Be careful: this operation is dangerous."
+msgstr ": "
-#: ../../lang.pm:1
-#, c-format
-msgid "Nigeria"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:962
+msgid "What type of partitioning?"
+msgstr " ?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires hostname...\n"
+#: ../../diskdrake/interactive.pm_.c:978
+#, fuzzy, c-format
+msgid "The package %s is needed. Install it?"
msgstr ""
+" \n"
+" , ?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no existing partition to use"
-msgstr " , "
-
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:992
msgid ""
-"The following scanners\n"
-"\n"
-"%s\n"
-"are available on your system.\n"
+"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 ""
-" \n"
-"\n"
-"%s\n"
-" \n"
+", /boot "
+"( > 1024).\n"
+" LILO , LILO "
+" /boot"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on parallel port #%s"
-msgstr "M %s"
+#: ../../diskdrake/interactive.pm_.c:996
+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 "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1002
msgid ""
-"To print to a TCP or socket printer, you need to provide the host name or IP "
-"of the printer and optionally the port number (default is 9100). On HP "
-"JetDirect servers the port number is usually 9100, on other servers it can "
-"vary. See the manual of your hardware."
+"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 ""
-" socket TCP , "
-" , , . HP JetDirect , "
-" 9100, . "
-" ."
+" RAID root (/).\n"
+" , /boot .\n"
+" /boot "
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1022
#, c-format
-msgid "Hard drive information"
-msgstr " "
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr " %s !"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1026
+msgid "You'll need to reboot before the modification can take place"
+msgstr " , "
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1037
#, c-format
-msgid "Jordan"
-msgstr ""
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr " %s, "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Hide files"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:1039
+msgid "Formatting"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1040
#, c-format
-msgid "Auto-detect printers connected to this machine"
-msgstr " "
+msgid "Formatting loopback file %s"
+msgstr " loopback %s"
-#: ../../any.pm:1
+#: ../../diskdrake/interactive.pm_.c:1041
+#: ../../install_steps_interactive.pm_.c:466
#, c-format
-msgid "Sorry, no floppy drive available"
-msgstr " "
+msgid "Formatting partition %s"
+msgstr " %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bolivia"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1052
+msgid "Hide files"
+msgstr " "
+
+#: ../../diskdrake/interactive.pm_.c:1052
+msgid "Move files to the new partition"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1053
#, c-format
msgid ""
-"Set up your Windows server to make the printer available under the IPP "
-"protocol and set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+"Directory %s already contains data\n"
+"(%s)"
msgstr ""
+" %s \n"
+"(%s)"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Bad package"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:1064
+msgid "Moving files to the new partition"
+msgstr " "
-#: ../advertising/07-server.pl:1
+#: ../../diskdrake/interactive.pm_.c:1068
#, c-format
-msgid ""
-"Transform your computer into a powerful Linux server: Web server, mail, "
-"firewall, router, file and print server (etc.) are just a few clicks away!"
-msgstr ""
-" Linux : "
-"Web , , firewall, router, , ..."
+msgid "Copying %s"
+msgstr " %s"
-#: ../../security/level.pm:1
+#: ../../diskdrake/interactive.pm_.c:1072
#, c-format
-msgid "DrakSec Basic Options"
-msgstr " DrakSec "
+msgid "Removing %s"
+msgstr " %s"
-#: ../../standalone/draksound:1
+#: ../../diskdrake/interactive.pm_.c:1082
#, c-format
-msgid ""
-"\n"
-"\n"
-"\n"
-"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
-"program. Just type \"sndconfig\" in a console."
+msgid "partition %s is now known as %s"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Romania"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Group"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1103
+#: ../../diskdrake/interactive.pm_.c:1162
+msgid "Device: "
+msgstr ": "
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1104
#, c-format
-msgid "Canada"
-msgstr ""
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr " DOS: %s ( )\n"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "choose device"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:1108
+#: ../../diskdrake/interactive.pm_.c:1116
+#: ../../diskdrake/interactive.pm_.c:1181
+msgid "Type: "
+msgstr ": "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from LVM"
-msgstr " LVM"
+#: ../../diskdrake/interactive.pm_.c:1112
+msgid "Name: "
+msgstr ": "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1120
#, c-format
-msgid "Timezone"
-msgstr " "
+msgid "Start: sector %s\n"
+msgstr ": %s\n"
-#: ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1121
#, c-format
-msgid "German"
-msgstr ""
+msgid "Size: %s"
+msgstr ": %s"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:1123
#, c-format
-msgid "Next ->"
-msgstr " ->"
+msgid ", %s sectors"
+msgstr ", %s "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Turning on this allows to print plain text files in japanese language. Only "
-"use this function if you really want to print text in japanese, if it is "
-"activated you cannot print accentuated characters in latin fonts any more "
-"and you will not be able to adjust the margins, the character size, etc. "
-"This setting only affects printers defined on this machine. If you want to "
-"print japanese text on a printer set up on a remote machine, you have to "
-"activate this function on that remote machine."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1125
+#, fuzzy, c-format
+msgid "Cylinder %d to %d\n"
+msgstr " %d %d\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-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/interactive.pm_.c:1126
+msgid "Formatted\n"
+msgstr "\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea-Bissau"
-msgstr "-"
+#: ../../diskdrake/interactive.pm_.c:1127
+msgid "Not formatted\n"
+msgstr "\n"
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Horizontal refresh rate"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:1128
+msgid "Mounted\n"
+msgstr "\n"
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
+#: ../../diskdrake/interactive.pm_.c:1129
#, c-format
-msgid "Edit"
-msgstr ""
+msgid "RAID md%s\n"
+msgstr "RAID md%s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1131
#, c-format
msgid ""
-"Can't unset mount point as this partition is used for loop back.\n"
-"Remove the loopback first"
+"Loopback file(s):\n"
+" %s\n"
msgstr ""
-" , "
-"loopback.\n"
-" loopback"
+"Loopback ():\n"
+" %s\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1132
msgid ""
-"The network configuration done during the installation cannot be started "
-"now. Please check whether the network is accessable after booting your "
-"system and correct the configuration using the Mandrake Control Center, "
-"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
-"printer, also using the Mandrake Control Center, section \"Hardware\"/"
-"\"Printer\""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
msgstr ""
+", \n"
+" ( MS-DOS boot, lilo)\n"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "USB controllers"
-msgstr "USB "
-
-#: ../../Xconfig/various.pm:1
+#: ../../diskdrake/interactive.pm_.c:1134
#, c-format
-msgid "What norm is your TV using?"
-msgstr " TV ?"
+msgid "Level %s\n"
+msgstr " %s\n"
-#: ../../standalone/drakconnect:1
+#: ../../diskdrake/interactive.pm_.c:1135
#, c-format
-msgid "Type:"
-msgstr ": "
+msgid "Chunk size %s\n"
+msgstr " %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1136
#, c-format
-msgid "Share name"
-msgstr " "
+msgid "RAID-disks %s\n"
+msgstr "RAID- %s\n"
-#: ../../standalone/drakgw:1
+#: ../../diskdrake/interactive.pm_.c:1138
#, c-format
-msgid "enable"
-msgstr ""
+msgid "Loopback file name: %s"
+msgstr " loopback : %s"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1141
msgid ""
-"Contacting Mandrake Linux web site to get the list of available mirrors..."
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition, you should\n"
+"probably leave it alone.\n"
msgstr ""
-" Mandrake Linux web "
-" ..."
+"\n"
+" \n"
+"-, \n"
+" .\n"
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1144
msgid ""
-"A problem occured while restarting the network: \n"
"\n"
-"%s"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
msgstr ""
-" :\n"
"\n"
-"%s"
+" \n"
+" \n"
+" .\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove the loopback file?"
-msgstr " loopback ?"
+#: ../../diskdrake/interactive.pm_.c:1163
+msgid "Read-only"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1164
#, c-format
-msgid "Selected size is larger than available space"
-msgstr " - "
+msgid "Size: %s\n"
+msgstr ": %s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1165
#, c-format
-msgid "NCP server name missing!"
-msgstr " NCP !"
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr ": %s , %s , %s \n"
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose your country."
-msgstr ", ."
+#: ../../diskdrake/interactive.pm_.c:1166
+msgid "Info: "
+msgstr ": "
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:1167
#, c-format
-msgid "Hard Disk Backup files..."
-msgstr " "
+msgid "LVM-disks %s\n"
+msgstr "LVM- %s\n"
-#: ../../keyboard.pm:1
+#: ../../diskdrake/interactive.pm_.c:1168
#, c-format
-msgid "Laotian"
-msgstr ""
+msgid "Partition table type: %s\n"
+msgstr " : %s\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Samoa"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1169
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr " %d %d\n"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"The rstat protocol allows users on a network to retrieve\n"
-"performance metrics for any machine on that network."
-msgstr ""
-"rstat \n"
-" ."
+#: ../../diskdrake/interactive.pm_.c:1199
+#, fuzzy
+msgid "Filesystem encryption key"
+msgstr " : "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Re-generating list of configured scanners ..."
+#: ../../diskdrake/interactive.pm_.c:1200
+msgid "Choose your filesystem encryption key"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module configuration"
-msgstr " "
+#: ../../diskdrake/interactive.pm_.c:1203
+#, fuzzy, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr " ( %d )"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Scanner"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1204
+#, fuzzy
+msgid "The encryption keys do not match"
+msgstr " "
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Warning: testing this graphic card may freeze your computer"
+#: ../../diskdrake/interactive.pm_.c:1207
+msgid "Encryption key"
msgstr ""
-": "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The user name must contain only lower cased letters, numbers, `-' and `_'"
+#: ../../diskdrake/interactive.pm_.c:1208
+msgid "Encryption key (again)"
msgstr ""
-" , , `-' `_'"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Menudrake"
-msgstr "Menudrake"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Welcome To Crackers"
-msgstr " Cracker-"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module options:"
-msgstr " :"
+#: ../../diskdrake/removable.pm_.c:47
+msgid "Change type"
+msgstr " "
-#: ../advertising/11-mnf.pl:1
+#: ../../diskdrake/smbnfs_gtk.pm_.c:162
#, c-format
-msgid "Secure your networks with the Multi Network Firewall"
+msgid "Can't login using username %s (bad password?)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Go on without configuring the network"
-msgstr " "
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Abort"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No password prompt on %s at port %s"
-msgstr ""
+#: ../../diskdrake/smbnfs_gtk.pm_.c:166 ../../diskdrake/smbnfs_gtk.pm_.c:175
+#, fuzzy
+msgid "Domain Authentication Required"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse with Wheel emulation"
-msgstr "Kensington THinking Mouse "
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Another one"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Usage of remote scanners"
-msgstr " "
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Which username"
+msgstr " "
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../diskdrake/smbnfs_gtk.pm_.c:176
msgid ""
-"Your Windows partition is too fragmented. Please reboot your computer under "
-"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
-"installation."
+"Please enter your username, password and domain name to access this host."
msgstr ""
-" Windows , ''defrag''"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Norwegian)"
-msgstr " ()"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup Progress..."
-msgstr " ..."
-
-#: ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Unable to fork: %s"
-msgstr " 'fork': %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Type: "
-msgstr ": "
+#: ../../diskdrake/smbnfs_gtk.pm_.c:178 ../../standalone/drakbackup_.c:3477
+#, fuzzy
+msgid "Username"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Edit Client"
-msgstr "<-- "
+#: ../../diskdrake/smbnfs_gtk.pm_.c:180
+#, fuzzy
+msgid "Domain"
+msgstr "NIS "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "no fonts found"
-msgstr " "
+#: ../../diskdrake/smbnfs_gtk.pm_.c:200
+#, fuzzy
+msgid "Search servers"
+msgstr "DNS "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1
+#: ../../fs.pm_.c:547 ../../fs.pm_.c:557 ../../fs.pm_.c:561 ../../fs.pm_.c:565
+#: ../../fs.pm_.c:569 ../../fs.pm_.c:573
#, c-format
-msgid "Mouse"
-msgstr ""
+msgid "%s formatting of %s failed"
+msgstr "%s %s "
-#: ../../bootloader.pm:1
+#: ../../fs.pm_.c:610
#, c-format
-msgid "not enough room in /boot"
-msgstr " /boot"
+msgid "I don't know how to format %s in type %s"
+msgstr " %s %s"
-#: ../../install_steps_gtk.pm:1
+#: ../../fs.pm_.c:684 ../../fs.pm_.c:727
#, c-format
-msgid "trying to promote %s"
+msgid "mounting partition %s in directory %s failed"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Liechtenstein"
-msgstr ""
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../fs.pm_.c:742 ../../partition_table.pm_.c:599
#, c-format
-msgid "Host name"
-msgstr " :"
+msgid "error unmounting %s: %s"
+msgstr " %s: %s"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the color of the progress bar"
-msgstr " "
+#: ../../fsedit.pm_.c:21
+msgid "simple"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Fonts Files"
+#: ../../fsedit.pm_.c:25
+msgid "with /usr"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to RAID"
-msgstr " RAID"
+#: ../../fsedit.pm_.c:30
+msgid "server"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:240
+#, fuzzy, c-format
msgid ""
-"You can add additional entries in yaboot for other operating systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"For other OSs, the entry consists only of a label and the \"root\"\n"
-"partition.\n"
-"\n"
-"For Linux, there are a few possible options:\n"
-"\n"
-" * Label: this is the name you will have to type at the yaboot prompt to\n"
-"select this boot option.\n"
-"\n"
-" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n"
-"variation of vmlinux with an extension.\n"
-"\n"
-" * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-"\n"
-" * Append: on Apple hardware, the kernel append option is often used to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button\n"
-"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n"
-"The following are some examples:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: this option can be used either to load initial modules before\n"
-"the boot device is available, or to load a ramdisk image for an emergency\n"
-"boot situation.\n"
-"\n"
-" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n"
-"need to allocate a large ramdisk, this option can be used to specify a\n"
-"ramdisk larger than the default.\n"
-"\n"
-" * Read-write: normally the \"root\" partition is initially mounted as\n"
-"read-only, to allow a file system check before the system becomes ``live''.\n"
-"You can override the default with this option.\n"
-"\n"
-" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-"problematic, you can select this option to boot in ``novideo'' mode, with\n"
-"native frame buffer support.\n"
+"I can't read the partition table of device %s, it's too corrupted for me :(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
"\n"
-" * Default: selects this entry as being the default Linux selection,\n"
-"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n"
-"highlighted with a ``*'' if you press [Tab] to see the boot selections."
+"Do you agree to loose all the partitions?\n"
msgstr ""
+" , :(\n"
+" ( "
+"!).\n"
+" DrakX .\n"
+"( %s)\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
-msgstr ""
-" \"%s\" Star Office/OpenOffice.org/GIMP."
+#: ../../fsedit.pm_.c:501
+msgid "You can't use JFS for partitions smaller than 16MB"
+msgstr " JFS - 16 "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No floppy drive available!"
-msgstr " !"
+#: ../../fsedit.pm_.c:502
+msgid "You can't use ReiserFS for partitions smaller than 32MB"
+msgstr " ReiserFS - 32 "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To know about the options available for the current printer read either the "
-"list shown below or click on the \"Print option list\" button.%s%s%s\n"
-"\n"
-msgstr ""
-" , "
-" - \" \". %s"
-"%s%s\n"
+#: ../../fsedit.pm_.c:521
+msgid "Mount points must begin with a leading /"
+msgstr " /"
-#: ../../lang.pm:1
+#: ../../fsedit.pm_.c:522
#, c-format
-msgid "Saudi Arabia"
-msgstr " "
+msgid "There is already a partition with mount point %s\n"
+msgstr " %s\n"
-#: ../../services.pm:1
+#: ../../fsedit.pm_.c:526
#, c-format
-msgid "Internet"
-msgstr ""
+msgid "You can't use a LVM Logical Volume for mount point %s"
+msgstr " LVM %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Continue anyway?"
-msgstr " ?"
+#: ../../fsedit.pm_.c:528
+msgid "This directory should remain within the root filesystem"
+msgstr " root ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:530
+#, fuzzy
msgid ""
-"If your printer is not listed, choose a compatible (see printer manual) or a "
-"similar one."
-msgstr " , ."
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../harddrake/data.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer"
-msgstr ""
-
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices were added:\n"
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
msgstr ""
+" (ext2, reiserfs) "
+"\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr ": %s , %s , %s \n"
+#: ../../fsedit.pm_.c:532
+#, fuzzy, c-format
+msgid "You can't use an encrypted file system for mount point %s"
+msgstr " LVM %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing on the printer \"%s\""
-msgstr " \"%s\""
+#: ../../fsedit.pm_.c:599
+#, fuzzy
+msgid "Not enough free space for auto-allocating"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
+#: ../../fsedit.pm_.c:601
+msgid "Nothing to do"
msgstr ""
-"/etc/hosts.allow /etc/hosts.deny - "
-#: ../../standalone/drakbackup:1
+#: ../../fsedit.pm_.c:694
#, c-format
-msgid "Restore From Tape"
-msgstr " "
+msgid "Error opening %s for writing: %s"
+msgstr " %s : %s"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid ""
-"To submit a bug report, click the report button, which will open your "
-"default browser\n"
-"to Anthill where you will be able to upload the above information as a bug "
-"report."
+#: ../../harddrake/data.pm_.c:71
+msgid "cpu /* "
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the profile to configure"
-msgstr " "
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Password minimum length and number of digits and upcase letters"
+#: ../../harddrake/sound.pm_.c:170
+msgid "No alternative driver"
msgstr ""
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
+#: ../../harddrake/sound.pm_.c:171
#, c-format
msgid ""
-"\n"
-"\n"
-"Enter a Zeroconf host name without any dot if you don't\n"
-"want to use the default host name."
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now from configuration file"
-msgstr " "
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points should contain only alphanumerical characters"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting printing system..."
-msgstr " "
+#: ../../harddrake/sound.pm_.c:173
+#, fuzzy
+msgid "Sound configuration"
+msgstr ""
-#: ../../../move/tree/mdk_totem:1
+#: ../../harddrake/sound.pm_.c:174
#, c-format
-msgid "You can only run with no CDROM support"
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "See hardware info"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Day"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of boot partition"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model"
-msgstr " , "
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ - Print, Don't Queue"
-msgstr "PDQ - , "
-
-#: ../../standalone.pm:1
+#: ../../harddrake/sound.pm_.c:176
#, c-format
msgid ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires "
-"username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, "
-"nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, "
-"IP, nbi image name)"
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet Mask:"
-msgstr " :"
+#: ../../harddrake/sound.pm_.c:178
+#, fuzzy
+msgid "Driver:"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Set password expiration and account inactivation delays"
-msgstr ""
+#: ../../harddrake/sound.pm_.c:183 ../../standalone/drakTermServ_.c:303
+#: ../../standalone/drakbackup_.c:3878 ../../standalone/drakbackup_.c:3911
+#: ../../standalone/drakbackup_.c:3937 ../../standalone/drakbackup_.c:3964
+#: ../../standalone/drakbackup_.c:3991 ../../standalone/drakbackup_.c:4030
+#: ../../standalone/drakbackup_.c:4051 ../../standalone/drakbackup_.c:4078
+#: ../../standalone/drakbackup_.c:4108 ../../standalone/drakbackup_.c:4134
+#: ../../standalone/drakbackup_.c:4157 ../../standalone/drakfont_.c:690
+#, fuzzy
+msgid "Help"
+msgstr "/_"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"_: load here is a noun, the load of the system\n"
-"Load"
+#: ../../harddrake/sound.pm_.c:185
+msgid "Switching between ALSA and OSS help"
msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
+#: ../../harddrake/sound.pm_.c:186
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"
+"OSS (Open Sound System) was the first sound API. It's an OS independant "
+"sound API (it's available on most unices systems) but it's a very basic and "
+"limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\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"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
"\n"
-" , "
-" - "
-" .\n"
-" , ."
-
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Modify"
-msgstr ""
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../harddrake/sound.pm_.c:202
#, c-format
msgid ""
+"The old \"%s\" driver is blacklisted.\n"
"\n"
-"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
-"a particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\".\n"
-msgstr ""
+"It has been reported to oopses the kernel on unloading.\n"
"\n"
-" \"%s\" \"%s\" "
-" . "
-" , . \"%s <file>\".\n"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Need hostname, username and password!"
+"The new \"%s\" driver'll only be used on next bootstrap."
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Insert floppy"
-msgstr " "
+#: ../../harddrake/sound.pm_.c:205 ../../standalone/drakconnect_.c:298
+msgid "Please Wait... Applying the configuration"
+msgstr ", ... "
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid ""
-"WebDAV is a protocol that allows you to mount a web server's directory\n"
-"locally, and treat it like a local filesystem (provided the web server is\n"
-"configured as a WebDAV server). If you would like to add WebDAV mount\n"
-"points, select \"New\"."
-msgstr ""
+#: ../../harddrake/sound.pm_.c:205 ../../interactive.pm_.c:382
+#: ../../standalone/drakxtv_.c:108 ../../standalone/harddrake2_.c:113
+#: ../../standalone/service_harddrake_.c:64
+msgid "Please wait"
+msgstr " "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "HardDrake"
+#: ../../harddrake/sound.pm_.c:210
+msgid "No known driver"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "new"
-msgstr ""
-
-#: ../../security/help.pm:1
+#: ../../harddrake/sound.pm_.c:211
#, c-format
-msgid "Enable/Disable syslog reports to console 12"
+msgid "There's no known driver for your sound card (%s)"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Would you like to try again?"
-msgstr " ?"
-
-#: ../../help.pm:1 ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Wizard"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected server"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose where you want to backup"
-msgstr ", "
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "You need to reboot for the partition table modifications to take place"
-msgstr " , "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include the browser cache"
-msgstr ""
+#: ../../harddrake/sound.pm_.c:214
+#, fuzzy
+msgid "Unkown driver"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
+#: ../../harddrake/sound.pm_.c:215
#, c-format
msgid ""
-"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
-"you can lose data)"
+"The \"%s\" driver for your sound card is unlisted\n"
+"\n"
+"Please send the output of the \"lspcidrake -v\" command to\n"
+"<install at mandrakesoft dot com>\n"
+"with subject: unlisted sound driver \"%s\""
msgstr ""
-" %s. ? "
-"( , )"
-
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Please, choose your keyboard layout."
-msgstr ", ."
-
-#: ../../mouse.pm:1 ../../security/level.pm:1
-#, c-format
-msgid "Standard"
-msgstr ""
-
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose your mouse type."
-msgstr ", ."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Connect..."
-msgstr " ..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to configure printer \"%s\"!"
-msgstr " \"%s\"!"
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "not configured"
-msgstr " "
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "About"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxies configuration"
-msgstr " proxy"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start: sector %s\n"
-msgstr ": %s\n"
+#: ../../harddrake/v4l.pm_.c:14 ../../harddrake/v4l.pm_.c:64
+#, fuzzy
+msgid "Auto-detect"
+msgstr " "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Mask"
-msgstr " "
+#: ../../harddrake/v4l.pm_.c:65 ../../harddrake/v4l.pm_.c:198
+#, fuzzy
+msgid "Unknown|Generic"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface already configured"
-msgstr " "
+#: ../../harddrake/v4l.pm_.c:97
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Couldn't access the floppy!"
-msgstr " !"
+#: ../../harddrake/v4l.pm_.c:98
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../harddrake/v4l.pm_.c:224
msgid ""
-"Warning: Free Software may not necessarily be patent free, and some Free\n"
-"Software included may be covered by patents in your country. For example, "
-"the\n"
-"MP3 decoders included may require a licence for further usage (see\n"
-"http://www.mp3licensing.com for more details). If you are unsure if a "
-"patent\n"
-"may be applicable to you, check your local laws."
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Mail Server"
-msgstr " "
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please click on a partition"
-msgstr ", "
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on HP JetDirect"
-msgstr " HP JetDirect"
+#: ../../harddrake/v4l.pm_.c:227
+#, fuzzy
+msgid "Card model:"
+msgstr " (DMA) "
-#: ../../any.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Linux"
-msgstr "Linux"
+#: ../../harddrake/v4l.pm_.c:228
+#, fuzzy
+msgid "Tuner type:"
+msgstr " "
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Have a nice day!"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "Number of capture buffers:"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/fd0"
-msgstr "/dev/fd0"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Upgrade %s"
-msgstr " %s"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "number of capture buffers for mmap'ed capture"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Connection"
-msgstr " "
+#: ../../harddrake/v4l.pm_.c:231
+#, fuzzy
+msgid "PLL setting:"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels in progress ..."
+#: ../../harddrake/v4l.pm_.c:232
+msgid "Radio support:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Error during sending file via FTP.\n"
-" Please correct your FTP configuration."
+#: ../../harddrake/v4l.pm_.c:232
+msgid "enable radio support"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range Start:"
-msgstr " IP :"
-
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../help.pm_.c:13
+msgid ""
+"GNU/Linux is a multiuser system, and this means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more this concept. But unlike \"root\", which is the\n"
+"administrator, the users you add here will not be entitled to change\n"
+"anything except their own files and their own configurations. You will have\n"
+"to create at least one regular user for yourself. That account is where you\n"
+"should log in for routine use. Although it is very practical to log in as\n"
+"\"root\" everyday, it may also be very dangerous! The slightest mistake\n"
+"could mean that your system would not work any more. If you make a serious\n"
+"mistake as a regular user, you may only lose some information, but not the\n"
+"entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course\n"
+"-- as you can actually enter whatever you want. DrakX will then take the\n"
+"first word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as the \"root\"\n"
+"one from a security point of view, but that is no reason to neglect it:\n"
+"after all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of the people meant to use that computer. When you are\n"
+"finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"Advanced\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default).\n"
+"\n"
+"When you are finished adding all users, you will be proposed to choose a\n"
+"user which can automatically log into the system when the computer boots\n"
+"up. If you are interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click \"Yes\".\n"
+"If you are not interested in this feature, click \"No\"."
msgstr ""
-"Internet superserver daemon ( inetd) \n"
-" . \n"
-"telnet, ftp, rsh rlogin. inetd ,\n"
-" ."
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the height of the progress bar"
-msgstr " "
+"GNU/Linux , , "
+"\n"
+" , ... "
+"\n"
+", .\n"
+" Root, , , "
+" \n"
+" "
+".\n"
+" .\n"
+" . "
+"\n"
+" root , ! -"
+"\n"
+" , . "
+"\n"
+" , "
+",\n"
+" .\n"
+"\n"
+", . , , "
+"\n"
+" . DrakX "
+"\n"
+" . , "
+"\n"
+" . "
+".\n"
+" . () "
+"\n"
+" Root , "
+"\n"
+" , .\n"
+"\n"
+" \" \", "
+".\n"
+" : , , "
+".\n"
+" , , .\n"
+"\n"
+" \"\", "
+"\n"
+" (bash )."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:48
msgid ""
+"Listed above are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
"\n"
-"- Save via %s on host: %s\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", 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\" "
+"\" \" ..."
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Argentina"
-msgstr ""
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Domain Name Server"
-msgstr "Domain Name Server"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Level:"
-msgstr " :"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Mount points must begin with a leading /"
-msgstr " /"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Choose your CD/DVD device"
-msgstr " CD/DVD "
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "CUPS server"
-msgstr "DNS "
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Postfix Mail Server"
-msgstr "Postfix "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without saving"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Yemen"
-msgstr ""
-
-#: ../advertising/11-mnf.pl:1
-#, c-format
-msgid "This product is available on the MandrakeStore Web site."
-msgstr " web MandrakeStore"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "=> There are many things to choose from (%s).\n"
-msgstr "=> (%s).\n"
-
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "GMT - DrakClock"
+#: ../../help.pm_.c:79
+msgid ""
+"The Mandrake Linux installation is spread out over several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required."
msgstr ""
+" Mandrake Linux CDROM-. DrakX\n"
+" CDROM \n"
+"CD , ."
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../help.pm_.c:84
+#, fuzzy
msgid ""
-"An error occurred:\n"
+"It is now time to specify which programs you wish to install on your\n"
+"system. There are thousands of packages available for Mandrake Linux, and\n"
+"you are not supposed to know them all by heart.\n"
"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
"\n"
-"%s\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
+"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
"\n"
-"This may come from corrupted system configuration files\n"
-"on the USB key, in this case removing them and then\n"
-"rebooting Mandrake Move would fix the problem. To do\n"
-"so, click on the corresponding button.\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you unselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewest packages possible to have a working\n"
+"graphical desktop;\n"
"\n"
-"You may also want to reboot and remove the USB key, or\n"
-"examine its contents under another OS, or even have\n"
-"a look at log files in console #3 and #4 to try to\n"
-"guess what's happening."
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
+"\n"
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
+"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
+"\n"
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful to repair or\n"
+"update an existing system."
msgstr ""
+" \n"
+" . Mandrake Linux , \n"
+" .\n"
+"\n"
+" CDROM, \n"
+"CD- ( ). CD- \n"
+" CD-, . \"OK\",\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"
+" ."
-#: ../../steps.pm:1
-#, c-format
-msgid "Hard drive detection"
-msgstr " "
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../help.pm_.c:135
msgid ""
-"You haven't selected any group of packages.\n"
-"Please choose the minimal installation you want:"
+"Finally, depending on whether or not you chose to be able to select\n"
+"individual packages, you will be presented a tree containing all packages\n"
+"classified by groups and subgroups. While browsing the tree, you can select\n"
+"entire groups, subgroups, or individual packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An installation time estimate is displayed\n"
+"on the screen, to help you gauge if there is sufficient time to enjoy a cup\n"
+"of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mandrake Linux, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mandrake Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
+"\n"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of the previous step on how to\n"
+"create such a floppy disk."
msgstr ""
-" .\n"
-", :"
+", , \n"
+" \n"
+". , , "
+"\n"
+" .\n"
+"\n"
+" , . \n"
+" , \"\", \n"
+" . ,\n"
+" , .\n"
+" , , \n"
+" \n"
+" .\n"
+"\n"
+"!! , \n"
+", , \n"
+" . Mandrake Linux, "
+"\n"
+" . , \n"
+" , , \n"
+" , Mandrake Linux . \n"
+" , \n"
+"\"\". \"\" \n"
+" . !!\n"
+"\n"
+" \" \" ,\n"
+" . , \n"
+" , , \n"
+" .\n"
+"\n"
+" \n"
+" . , \n"
+" "
+".\n"
+" , \n"
+" ."
-#: ../../network/adsl.pm:1
-#, c-format
+#: ../../help.pm_.c:171
+#, fuzzy
msgid ""
-"You need the Alcatel microcode.\n"
-"You can provide it now via a floppy or your windows partition,\n"
-"or skip and do it later."
+"You are now able to set up your Internet/network connection. If you wish to\n"
+"connect your computer to the Internet or to a local network, click \"OK\".\n"
+"The autodetection of network devices and modem will be launched. If this\n"
+"detection fails, uncheck the \"Use auto-detection\" box next time. You may\n"
+"also choose not to configure the network, or do it later; in that case,\n"
+"simply click the \"Cancel\" button.\n"
+"\n"
+"Available connections are: traditional modem, ISDN modem, ADSL connection,\n"
+"cable modem, and finally a simple LAN connection (Ethernet).\n"
+"\n"
+"Here, we will not detail each configuration. Simply make sure that you have\n"
+"all the parameters from your Internet Service Provider or system\n"
+"administrator.\n"
+"\n"
+"You can consult the ``Starter Guide'' chapter about Internet connections\n"
+"for details about the configuration, or simply wait until your system is\n"
+"installed and use the program described there to configure your connection.\n"
+"\n"
+"If you wish to configure the network later after installation, or if you\n"
+"are finished configuring your network connection, click \"Cancel\"."
msgstr ""
+" , "
+"\n"
+" . , "
+"\n"
+", DrakX .\n"
+"\n"
+"Mandrake Linux \n"
+". : , ISDN , ADSL ,\n"
+" LAN (Ethernet).\n"
+"\n"
+" . , \n"
+" \n"
+".\n"
+"\n"
+" \n"
+" \n"
+" , .\n"
+"\n"
+" - "
+"\n"
+" , \"\"."
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Please enter the WebDAV server URL"
-msgstr " WebDAV URL"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tajikistan"
-msgstr ""
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Accept"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Description"
-msgstr ""
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Please enter summary text."
-msgstr ", "
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Error opening %s for writing: %s"
-msgstr " %s : %s"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr " : %s\n"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
-msgstr " 3D XFree %s."
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Choose a monitor"
-msgstr " "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Empty label not allowed"
-msgstr " "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (UK)"
-msgstr " (UK)"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "I can't add any more partition"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size in MB: "
-msgstr " MB: "
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Remote printer"
-msgstr " "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose a language to use."
-msgstr ", ."
-
-#: ../../network/network.pm:1
-#, c-format
+#: ../../help.pm_.c:193
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"
-" - ."
-
-#: ../../any.pm:1
-#, c-format
-msgid "I can set up your computer to automatically log on one user."
+"You may now choose which services you wish to start at boot time.\n"
+"\n"
+"Here are listed all the services available with the current installation.\n"
+"Review them carefully and uncheck those which are not always needed at boot\n"
+"time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
msgstr ""
-" "
-"."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Floppy format"
-msgstr " "
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Generic Printers"
-msgstr " "
+" .\n"
+"\n"
+" , .\n"
+" , "
+".\n"
+"\n"
+" , "
+" \n"
+" . , , "
+"-\n"
+" .\n"
+"\n"
+" , "
+":\n"
+" , . ,\n"
+", , "
+".\n"
+" , , ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:210
msgid ""
-"Please choose the printer to which the print jobs should go or enter a "
-"device name/file name in the input line"
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by unselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The scanners on this machine are available to other computers"
+#: ../../help.pm_.c:224
+#, fuzzy
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandrake Linux rely.\n"
+"\n"
+"You will be presented the list of available resolutions and color depth\n"
+"available for your hardware. Choose the one that best suit your needs (you\n"
+"will be able to change that after installation though). When you are\n"
+"satisfied with the sample shown in the monitor, click \"OK\". A window will\n"
+"then appear and ask you if you can see it.\n"
+"\n"
+"If you are doing an \"Expert\" installation, you will enter the X\n"
+"configuration wizard. See the corresponding section of the manual for more\n"
+"information about this wizard.\n"
+"\n"
+"If you can see the message during the test, and answer \"Yes\", then DrakX\n"
+"will proceed to the next step. If you cannot see the message, it simply\n"
+"means that the configuration was wrong and the test will automatically end\n"
+"after 10 seconds, restoring the screen. Refer then to the video\n"
+"configuration section of the user guide for more information on how to\n"
+"configure your display."
+msgstr ""
+"X ( X Window System) GNU/Linux , \n"
+" (KDE, Gnome, AfterStep, WindowMaker...) "
+"\n"
+" Mandrake Linux. , DrakX X.\n"
+"\n"
+" , \n"
+" ( ). , X -"
+"\n"
+" . \n"
+" , .\n"
+"\n"
+" \"\" , \n"
+" X. \n"
+" .\n"
+"\n"
+" , \"\", DrakX \n"
+" . , , \n"
+" 10 ,\n"
+" ."
+
+#: ../../help.pm_.c:246
+msgid ""
+"Finally, you will be asked whether you want to see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
msgstr ""
+", \n"
+". , ,\n"
+" . , \"\", "
+"\n"
+" ."
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of the root partition"
-msgstr " "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Alternative drivers"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:253
+#, fuzzy
msgid ""
+"The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it by\n"
+"booting from the CD-ROM, press the >>F1<< key at boot and type >>rescue<<\n"
+"at the prompt. But in case your computer cannot boot from the CD-ROM, you\n"
+"should come back to this step for help in at least two situations:\n"
+"\n"
+" * when installing the bootloader, DrakX will rewrite the boot sector (\n"
+"MBR) of your main disk (unless you are using another boot manager), to\n"
+"allow you to start up with either Windows or GNU/Linux (assuming you have\n"
+"Windows in your system). If you need to reinstall Windows, the Microsoft\n"
+"install process will rewrite the boot sector, and then you will not be able\n"
+"to start GNU/Linux!\n"
+"\n"
+" * if a problem arises and you cannot start up GNU/Linux from the hard\n"
+"disk, this floppy disk will be the only means of starting up GNU/Linux. It\n"
+"contains a fair number of system tools for restoring a system, which has\n"
+"crashed due to a power failure, an unfortunate typing error, a typo in a\n"
+"password, or any other reason.\n"
+"\n"
+"If you say \"Yes\", you will be asked to enter a disk inside the drive. The\n"
+"floppy disk you will insert must be empty or contain data which you do not\n"
+"need. You will not have to format it since DrakX will rewrite the whole\n"
+"disk."
+msgstr ""
+"Mandrake Linux CDROM- . \n"
+", CDROM-, >>F1<< \n"
+">>rescue<<. , CDROM, "
+"\n"
+" :\n"
+"\n"
+" * boot loader, DrakX (MBR) "
+" ( ), \n"
+" Windows GNU/Linux ( Windows ). \n"
+" Windows, Microsoft\n"
+" GNU/Linux!\n"
+"\n"
+" * GNU/Linux "
+",\n"
+" GNU/Linux. "
+"\n"
+" , \n"
+" , , \n"
+".\n"
+"\n"
+" , \n"
+". , , "
+"\n"
+", . , DrakX\n"
+" ."
+
+#: ../../help.pm_.c:277
+#, fuzzy
+msgid ""
+"You now need to choose where you want to install the Mandrake Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space, you will need\n"
+"to partition it. Basically, partitioning a hard drive consists of logically\n"
+"dividing it to create space to install your new Mandrake Linux system.\n"
+"\n"
+"Because the partitioning process' effects are usually irreversible,\n"
+"partitioning can be intimidating and stressful if you are an inexperienced\n"
+"user. Fortunately, there is a wizard which simplifies this process. Before\n"
+"beginning, please consult the manual and take your time.\n"
+"\n"
+"If you are running the installation in Expert mode, you will enter\n"
+"DiskDrake, the Mandrake Linux partitioning tool, which allows you to\n"
+"fine-tune your partitions. See the DiskDrake section in the ``Starter\n"
+"Guide''. From the installation interface, you can use the wizards as\n"
+"described here by clicking the dialog's \"Wizard\" button.\n"
+"\n"
+"If partitions have already been defined, either from a previous\n"
+"installation or from another partitioning tool, simply select those to\n"
+"install your Linux system.\n"
+"\n"
+"If partitions are not defined, you will need to create them using the\n"
+"wizard. Depending on your hard drive configuration, several options are\n"
+"available.\n"
+"\n"
+" * \"Use free space\": this option will simply lead to an automatic\n"
+"partitioning of your blank drive(s). You will not be prompted further;\n"
+"\n"
+" * \"Use existing partition\": the wizard has detected one or more existing\n"
+"Linux partitions on your hard drive. If you want to use them, choose this\n"
+"option. You will then be asked to choose the mount points associated to\n"
+"each of the partitions. The legacy mount points are selected by default,\n"
+"and you should generally keep them.\n"
+"\n"
+" * \"Use the free space on the Windows partition\": if Microsoft Windows is\n"
+"installed on your hard drive and takes all the space available on it, you\n"
+"have to create free space for Linux data. To do so, you can delete your\n"
+"Microsoft Windows partition and data (see ``Erase entire disk'' or ``Expert\n"
+"mode'' solutions) or resize your Microsoft Windows partition. Resizing can\n"
+"be performed without the loss of any data, provided you previously\n"
+"defragment the Windows partition. Backing up your data won't hurt either..\n"
+"This solution is recommended if you want to use both Mandrake Linux and\n"
+"Microsoft Windows on the same computer.\n"
"\n"
-"Please check all options that you need.\n"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cape Verde"
-msgstr " "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "whether this cpu has the Cyrix 6x86 Coma bug"
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Loading printer configuration... Please wait"
-msgstr " ... "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "early pentiums were buggy and freezed when decoding the F00F bytecode"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than at the present time. You will have less free space under Microsoft\n"
+"Windows to store your data or to install new software;\n"
+"\n"
+" * \"Erase entire disk\": if you want to delete all data and all partitions\n"
+"present on your hard drive and replace them with your new Mandrake Linux\n"
+"system, choose this option. Be careful with this solution because you will\n"
+"not be able to revert your choice after you confirm;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Remove Windows\": this will simply erase everything on the drive and\n"
+"begin fresh, partitioning everything from scratch. All data on your disk\n"
+"will be lost;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Expert mode\": choose this option if you want to manually partition\n"
+"your hard drive. Be careful -- it is a powerful but dangerous option. You\n"
+"can very easily lose all your data. Hence, do not choose this unless you\n"
+"know what you are doing. To know how to use the DiskDrake utility used\n"
+"here, refer to the section ``Managing Your Partitions'' of the ````Starter\n"
+"Guide''''"
msgstr ""
-" F00F "
-""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guam"
-msgstr ""
+" "
+"\n"
+"Mandrake Linux . \n"
+" , "
+".\n"
+" , "
+"\n"
+" Mandrake Linux .\n"
+"\n"
+" , \n"
+" , . , \n"
+", . , "
+"\n"
+" .\n"
+"\n"
+" , DiskDrake,\n"
+" Mandrake Linux, \n"
+" . DiskDrake . \n"
+" , \n"
+"\"\" .\n"
+"\n"
+" , \n"
+" , Linux\n"
+".\n"
+"\n"
+" , \n"
+". , "
+"\n"
+":\n"
+"\n"
+" * \" \": \n"
+" . \n"
+" .\n"
+"\n"
+" * \" \": \n"
+" Linux . ,\n"
+" .\n"
+"\n"
+" * \" Windows \": "
+"\n"
+"Microsoft Windows \n"
+" , Linux . \n"
+", Microsoft Windows (\n"
+" \" \" \" \") \n"
+" Microsoft Windows . \n"
+" . , \n"
+" Mandrake Linux Microsoft Windows .\n"
+"\n"
+" , , , ,\n"
+" Microsoft Windows -, "
+".\n"
+" - Microsoft Windows "
+"\n"
+" .\n"
+"\n"
+" * \" \": , "
+"\n"
+" Mandrake Linux\n"
+", . , \n"
+" , .\n"
+"\n"
+" !! , "
+" !!\n"
+"\n"
+" * \" Windows\": "
+"\n"
+", . .\n"
+"\n"
+" !! , "
+" !!\n"
+"\n"
+" * \" \": , \n"
+" . - , . \n"
+" . , \n"
+" ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:347
msgid ""
-"Please choose the port that your printer is connected to or enter a device "
-"name/file name in the input line"
+"There you are. Installation is now completed and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
+"\n"
+"The \"Advanced\" button (in Expert mode only) shows two more buttons to:\n"
+"\n"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
msgstr ""
-", "
-"/ "
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Options/Test"
-msgstr "//"
+" ! GNU/Linux \n"
+". \"OK\", . \n"
+" GNU/Linux Windows, ( "
+"),\n"
+" .\n"
+"\n"
+" \"\" ( \"\") :\n"
+"\n"
+" * \" \": \n"
+" , \n"
+" , , -"
+"\n"
+" .\n"
+"\n"
+" , , :\n"
+"\n"
+" * \"\". \n"
+" .\n"
+"\n"
+" * \"\". : \n"
+" , .\n"
+"\n"
+" , \n"
+". web-.\n"
+"\n"
+" * \" \"(*): , "
+"\n"
+" . , \n"
+" , \n"
+" [F1] >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) FAT- ( GNU/Linux,\n"
+" \"mformat a:\")"
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:378
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."
+"Any partitions that have been newly defined must be formatted for use\n"
+"(formatting means creating a filesystem on it).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mandrake Linux operating system installation.\n"
+"\n"
+"Click on \"Advanced\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
msgstr ""
-" . - \n"
-", -: \n"
-" . ."
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Mounting partition %s"
-msgstr " %s"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "User name"
-msgstr " "
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Userdrake"
-msgstr "Userdrake"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr " Linux4Win ?"
-
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "due to missing %s"
-msgstr " kdesu"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Test pages"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Logical volume name "
-msgstr " logical volume"
+" , "
+"\n"
+"( ).\n"
+"\n"
+" , "
+"\n"
+" , . , "
+"\n"
+" .\n"
+"\n"
+", , \n"
+" . \n"
+" ( \"/\", \"/usr\" \"/var\"), \n"
+" , "
+"(\n"
+"\"/home\").\n"
+"\n"
+", , . \n"
+" \n"
+".\n"
+"\n"
+" \"OK\", .\n"
+"\n"
+" \"\", "
+"\n"
+" Mandrake Linux .\n"
+"\n"
+" \"\", , \n"
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:404
msgid ""
-"List of data to restore:\n"
+"Your new Mandrake Linux operating system is currently being installed.\n"
+"Depending on the number of packages you will be installing and the speed of\n"
+"your computer, this operation could take from a few minutes to a\n"
+"significant amount of time.\n"
"\n"
+"Please be patient."
msgstr ""
-" :\n"
+" Mandrake Linux . \n"
+" ( "
+"\n"
+" ).\n"
"\n"
+", ."
-#: ../../fs.pm:1
-#, c-format
-msgid "Checking %s"
-msgstr " %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "TCP/Socket Printer Options"
-msgstr "TCP/Socket "
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card mem (DMA)"
-msgstr " (DMA) "
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnecting from Internet "
-msgstr " "
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "France"
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "browse"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking installed software..."
-msgstr " ..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name missing!"
-msgstr " !"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you want to enable printing on printers in the local network?\n"
-msgstr " ?\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkey"
-msgstr ""
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Alcatel speedtouch usb"
-msgstr "Alcatel speedtouch USB"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Number of buttons"
-msgstr " "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr " \" \" QWERTY"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Module"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:412
msgid ""
-"In addition, queues not created with this program or \"foomatic-configure\" "
-"cannot be transferred."
+"At the time you are installing Mandrake Linux, it is likely that some\n"
+"packages have been updated since the initial release. Some bugs may have\n"
+"been fixed, and security issues solved. To allow you to benefit from these\n"
+"updates, you are now able to download them from the Internet. Choose\n"
+"\"Yes\" if you have a working Internet connection, or \"No\" if you prefer\n"
+"to install updated packages later.\n"
+"\n"
+"Choosing \"Yes\" displays a list of places from which updates can be\n"
+"retrieved. Choose the one nearest you. Then a package-selection tree\n"
+"appears: review the selection, and press \"Install\" to retrieve and\n"
+"install the selected package(s), or \"Cancel\" to abort."
msgstr ""
-" , \"foomatic-"
-"configure\" ."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware"
-msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ctrl and Alt keys simultaneously"
-msgstr "Ctrl Alt "
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United States"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "User umask"
-msgstr " "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Default OS?"
-msgstr " ?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (German layout)"
-msgstr " ( )"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure all heads independently"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:425
msgid ""
-"Please choose the printer you want to set up. The configuration of the "
-"printer will work fully automatically. If your printer was not correctly "
-"detected or if you prefer a customized printer configuration, turn on "
-"\"Manual configuration\"."
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NTP Server"
-msgstr "NTP "
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Sulogin(8) in single user level"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Load/Save on floppy"
-msgstr "/ "
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "This theme does not yet have a bootsplash in %s !"
-msgstr ""
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "nice"
-msgstr ""
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Leaving in %d seconds"
-msgstr " %d "
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Please choose which serial port your modem is connected to."
-msgstr ", ."
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Property"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript"
-msgstr "Ghostscript"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN Configuration"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ghana"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Path or Module required"
+"Before continuing, you should read carefully the terms of the license. It\n"
+"covers the whole Mandrake Linux distribution, and if you do not agree with\n"
+"all the terms included in it, click on the \"Refuse\" button which will\n"
+"immediately terminate the installation. To continue with the installation,\n"
+"click on the \"Accept\" button."
msgstr ""
+" , . "
+"\n"
+" Mandrake Linux , , "
+"\n"
+" , . . "
+"\n"
+" , ."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Advanced Options"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Configuration"
-msgstr " "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Coma bug"
+#: ../../help.pm_.c:432
+msgid ""
+"At this point, it is time to choose the security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"ease of use. Refer to the \"msec\" chapter of the ``Reference Manual'' to\n"
+"get more information about the meaning of these levels.\n"
+"\n"
+"If you do not know what to choose, keep the default option."
msgstr ""
+" , , \n"
+". , "
+"\n"
+" , - "
+".\n"
+" , .\n"
+" MSEC Reference Manual, "
+"\n"
+" .\n"
+"\n"
+" , ."
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../help.pm_.c:442
+#, fuzzy
msgid ""
"At this point, you need to choose which partition(s) will be used for the\n"
"installation of your Mandrake Linux system. If partitions have already been\n"
-"defined, either from a previous installation of GNU/Linux or by another\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
"partitions must be defined.\n"
"\n"
@@ -4928,61 +3549,60 @@ msgid ""
"\n"
"To partition the selected hard drive, you can use these options:\n"
"\n"
-" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
"\n"
-" * \"%s\": this option enables you to automatically create ext3 and swap\n"
-"partitions in the free space of your hard drive\n"
+" * \"Auto allocate\": this option enables to automatically create ext3 and\n"
+"swap partitions on your hard drive's free space;\n"
"\n"
-"\"%s\": gives access to additional features:\n"
+"\"More\": gives access to additional features:\n"
"\n"
-" * \"%s\": saves the partition table to a floppy. Useful for later\n"
-"partition-table recovery if necessary. It is strongly recommended that you\n"
-"perform this step.\n"
+" * \"Save partition table\": saves the partition table to a floppy. Useful\n"
+"for later partition-table recovery, if necessary. It is strongly\n"
+"recommended to perform this step;\n"
"\n"
-" * \"%s\": allows you to restore a previously saved partition table from a\n"
-"floppy disk.\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from a floppy disk;\n"
"\n"
-" * \"%s\": if your partition table is damaged, you can try to recover it\n"
-"using this option. Please be careful and remember that it doesn't always\n"
-"work.\n"
+" * \"Rescue partition table\": if your partition table is damaged, you can\n"
+"try to recover it using this option. Please be careful and remember that it\n"
+"can fail;\n"
"\n"
-" * \"%s\": discards all changes and reloads the partition table that was\n"
-"originally on the hard drive.\n"
+" * \"Reload partition table\": discards all changes and loads your initial\n"
+"partition table;\n"
"\n"
-" * \"%s\": unchecking this option will force users to manually mount and\n"
-"unmount removable media such as floppies and CD-ROMs.\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
"\n"
-" * \"%s\": use this option if you wish to use a wizard to partition your\n"
-"hard drive. This is recommended if you do not have a good understanding of\n"
-"partitioning.\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard drive. This is recommended if you do not have a good knowledge of\n"
+"partitioning;\n"
"\n"
-" * \"%s\": use this option to cancel your changes.\n"
+" * \"Undo\": use this option to cancel your changes;\n"
"\n"
-" * \"%s\": allows additional actions on partitions (type, options, format)\n"
-"and gives more information about the hard drive.\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
"\n"
-" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+" * \"Done\": when you are finished partitioning your hard drive, this will\n"
"save your changes back to disk.\n"
"\n"
-"When defining the size of a partition, you can finely set the partition\n"
-"size by using the Arrow keys of your keyboard.\n"
-"\n"
"Note: you can reach any option using the keyboard. Navigate through the\n"
-"partitions using [Tab] and the [Up/Down] arrows.\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
"\n"
"When a partition is selected, you can use:\n"
"\n"
-" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
"\n"
-" * Ctrl-d to delete a partition\n"
+" * Ctrl-d to delete a partition;\n"
"\n"
-" * Ctrl-m to set the mount point\n"
+" * Ctrl-m to set the mount point.\n"
"\n"
-"To get information about the different file system types available, please\n"
+"To get information about the different filesystem types available, please\n"
"read the ext2FS chapter from the ``Reference Manual''.\n"
"\n"
"If you are installing on a PPC machine, you will want to create a small HFS\n"
-"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"``bootstrap'' partition of at least 1MB, which will be used by the yaboot\n"
"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
"may find it a useful place to store a spare kernel and ramdisk images for\n"
"emergency boot situations."
@@ -5054,1789 +3674,1085 @@ msgstr ""
" , image \n"
"ramdisk ."
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:513
msgid ""
-"Graphic Card\n"
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mandrake Linux operating system.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error installing packages:"
-msgstr " :"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Lexmark inkjet configuration"
-msgstr " Lexmark inkjet"
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Undo"
-msgstr ""
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Save partition table"
-msgstr " "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Finnish"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Macedonia"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The per-user sharing uses the group \"fileshare\". \n"
-"You can use userdrake to add a user to this group."
-msgstr ""
-" \"fileshare\".\n"
-" userdrake, ."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovenian"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Authorize:\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
"\n"
-"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
-"set to \"ALL\",\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
"\n"
-"- only local ones if set to \"LOCAL\"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
"\n"
-"- none if set to \"NONE\".\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
"\n"
-"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
-"(5))."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Libya"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring scripts, installing software, starting servers..."
-msgstr ""
-" , , ..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on parallel port #%s"
-msgstr " #%s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
"\n"
-"- Burn to CD"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "Table"
-msgstr ""
-
-#: ../../fs.pm:1
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr " %s %s"
-
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Model"
-msgstr ""
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "USB printer #%s"
-msgstr "USB #%s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Stop Server"
-msgstr " "
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
"\n"
-"Select the theme for\n"
-"lilo and bootsplash,\n"
-"you can choose\n"
-"them separately"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Modem"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tuvalu"
-msgstr ""
-
-#: ../../help.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Use auto detection"
-msgstr " "
-
-#: ../../services.pm:1
-#, c-format
-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"
-"-- , ."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Started on boot"
-msgstr " "
-
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid ""
-"Join the MandrakeSoft support teams and the Linux Community online to share "
-"your knowledge and help others by becoming a recognized Expert on the online "
-"technical support website:"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "No password aging for"
-msgstr " "
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid ""
-"The following options can be set to customize your\n"
-"system security. If you need an explanation, look at the help tooltip.\n"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatically find available printers on remote machines"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "East Timor"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "On Tape Device"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
"\n"
-"- Save to Tape on device: %s"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Login name"
-msgstr " "
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report unowned files"
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Del profile..."
-msgstr " ..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing Foomatic..."
-msgstr " Foomatic..."
-
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr " Ctrl-Alt-BackSpace"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected"
-msgstr " "
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "The network needs to be restarted. Do you want to restart it ?"
-msgstr " . ?"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package: "
-msgstr ": "
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't write /etc/sysconfig/bootsplash."
-msgstr " /etc/sysconfig/bootsplash."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SECURITY WARNING!"
-msgstr " !"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "StarOffice"
-msgstr "StarOffice"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "No, I don't want autologin"
-msgstr ", autologin"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Windows Migration tool"
-msgstr ""
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "All languages"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removing %s"
-msgstr " %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s not found...\n"
-msgstr "%s ...\n"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Testing your connection..."
-msgstr " ..."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cache size"
-msgstr " "
-
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"Passwords are now enabled, but use as a networked computer is still not "
-"recommended."
-msgstr ""
-" , "
-"."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start sector: "
-msgstr " : "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Brazzaville)"
-msgstr " ()"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Read"
-msgstr ""
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "The package %s needs to be installed. Do you want to install it?"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
msgstr ""
-" %s \n"
-" ?"
+" Microsoft Windows \n"
+" . , , "
+"\n"
+" Mandrake Linux .\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:\")."
-#: ../../lang.pm:1
-#, c-format
-msgid "Seychelles"
-msgstr ""
+#: ../../help.pm_.c:544
+msgid "Please be patient. This operation can take several minutes."
+msgstr ", . ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:547
+#, fuzzy
msgid ""
-"Printerdrake has compared the model name resulting from the printer auto-"
-"detection with the models listed in its printer database to find the best "
-"match. This choice can be wrong, especially when your printer is not listed "
-"at all in the database. So check whether the choice is correct and click "
-"\"The model is correct\" if so and if not, click \"Select model manually\" "
-"so that you can choose your printer model manually on the next screen.\n"
+"DrakX now needs to know if you want to perform a default (\"Recommended\")\n"
+"installation or if you want to have greater control (\"Expert\") over your\n"
+"installation. You can also choose to do a new installation or upgrade your\n"
+"existing Mandrake Linux system:\n"
+"\n"
+" * \"Install\": completely wipes out the old system. However, depending on\n"
+"what is currently installed on your machine, you may be able to keep some\n"
+"old partitions (Linux or otherwise) unchanged;\n"
+"\n"
+" * \"Upgrade\": this installation class allows to simply update the\n"
+"packages currently installed on your Mandrake Linux system. It keeps your\n"
+"hard drives' current partitions as well as user configurations. All other\n"
+"configuration steps remain available, similar to a normal installation;\n"
+"\n"
+" * \"Upgrade Packages Only\": this new installation class allows you to\n"
+"upgrade an existing Mandrake Linux system while keeping all system\n"
+"configurations unchanged. Adding new packages to the current installation\n"
+"is also possible.\n"
+"\n"
+"Upgrades should work fine on Mandrake Linux systems using version \"8.1\"\n"
+"or later.\n"
+"\n"
+"Depending on your GNU/Linux knowledge, select one of the following choices:\n"
+"\n"
+" * Recommended: choose this if you have never installed a GNU/Linux\n"
+"operating system. The installation will be very easy and you will only be\n"
+"asked a few questions;\n"
+"\n"
+" * Expert: if you have a good GNU/Linux understanding, you may wish to\n"
+"perform a highly customized installation. Some of the decisions you will\n"
+"have to make may be difficult if you do not have good GNU/Linux knowledge,\n"
+"so it is not recommended that those without a fair amount of experience\n"
+"select this installation class."
+msgstr ""
+"DrakX (\""
+"\")\n"
+" , - (\"\"). \n"
+" \n"
+" Mandrake Linux . \"\" \n"
+" . \"\", \n"
+" \n"
+"\n"
+", \"\", \n"
+"Mandrake Linux .\n"
+"\n"
+", \"\", \n"
+" Mandrake Linux.\n"
+"\n"
+" GNU/Linux, , \n"
+" / Mandrake Linux :\n"
+"\n"
+" * : , GNU/Linux\n"
+" . \n"
+" .\n"
+"\n"
+" * : GNU/Linux, \n"
+" . \n"
+" . , \n"
+" GNU/Linux, , \n"
+" ."
+
+#: ../../help.pm_.c:582
+msgid ""
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen). However, you might not have a keyboard that\n"
+"corresponds exactly to your language: for example, if you are an English\n"
+"speaking Swiss person, you may still want your keyboard to be a Swiss\n"
+"keyboard. Or if you speak English but are located in Quebec, you may find\n"
+"yourself in the same situation. In both cases, you will have to go back to\n"
+"this installation step and select an appropriate keyboard from the list.\n"
"\n"
-"For your printer Printerdrake has found:\n"
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.\n"
"\n"
-"%s"
+"If you choose a keyboard layout based on a non-latin alphabet, you will be\n"
+"asked in the next dialog to choose the key binding that will switch the\n"
+"keyboard layout between the latin and non-latin layouts."
msgstr ""
+", DrakX ( "
+"\n"
+" , ) . "
+" \n"
+" : , "
+" ,\n"
+" . "
+"a, \n"
+" , . , "
+" \n"
+" "
+".\n"
+"\n"
+", , "
+"\n"
+" , .\n"
+"\n"
+" , "
+"\n"
+" \"\". "
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Bad password on %s"
-msgstr " %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:598
msgid ""
+"The first step is to choose your preferred language.\n"
"\n"
-"There is one unknown printer directly connected to your system"
+"Please choose your preferred language for installation and system usage.\n"
+"\n"
+"Clicking on the \"Advanced\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you host users from Spain on your machine,\n"
+"select English as the main language in the tree view and in the Advanced\n"
+"section, click on the box corresponding to \"Spanish|Spain\".\n"
+"\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.\n"
+"\n"
+"To switch from one language to the other, you can launch the\n"
+"\"/usr/sbin/localedrake\" command as \"root\" to change the whole system\n"
+"language, or as a simple user to only change that user's default language."
msgstr ""
+", .\n"
"\n"
-" "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Control key"
-msgstr " Control "
+" \"\" \n"
+" . \n"
+" \n"
+". , ,\n"
+" \n"
+"\"\" \n"
+"\"|\".\n"
+", . \n"
+" , \"OK\", ."
-#: ../../network/tools.pm:1
-#, c-format
+#: ../../help.pm_.c:617
msgid ""
-"Insert a FAT formatted floppy in drive %s with %s in root directory and "
-"press %s"
-msgstr ""
-" FAT %s %s "
-" %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Zambia"
-msgstr ""
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security Administrator (login or email)"
-msgstr " ( .)"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Sorry, we support only 2.4 kernels."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwerty)"
-msgstr " (qwerty)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Under Devel ... please wait."
+"DrakX generally detects the number of buttons your mouse possesses. If not,\n"
+"it assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
+"\n"
+"If you wish to specify a different type of mouse, select the appropriate\n"
+"type from the provided list.\n"
+"\n"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.\n"
+"\n"
+"Sometimes, wheel mouses are not automatically detected. You will need to\n"
+"manually select it in the list. Be sure to select the one corresponding to\n"
+"the correct port it is attached to. After you have pressed the \"OK\"\n"
+"button, a mouse image will be displayed. You then need to move the wheel of\n"
+"your mouse to activate it correctly. Then test that all buttons and\n"
+"movements are correct."
msgstr ""
+" , DrakX \n"
+" . DrakX PS/2, "
+"\n"
+"USB .\n"
+"\n"
+" , ,\n"
+" .\n"
+"\n"
+" , \n"
+" . , , \n"
+" . , , \n"
+" \"\" ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Egypt"
-msgstr ""
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Czech Republic"
-msgstr " "
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Sound card"
-msgstr " "
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Import Fonts"
-msgstr " "
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../help.pm_.c:638
msgid ""
-"You have one big MicroSoft Windows partition.\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
-msgstr ""
-" FAT \n"
-"( Microsoft Dos/Windows).\n"
-" \n"
-"( , \" \")"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Temporary Files"
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
msgstr ""
+", . , COM1 Windows GNU/Linux\n"
+" ttyS0."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"Congratulations, the network and Internet configuration is finished.\n"
+#: ../../help.pm_.c:642
+msgid ""
+"This is the most crucial decision in regards with the security of your\n"
+"GNU/Linux system: you have to enter the \"root\" password. \"Root\" is the\n"
+"system administrator and is the only one authorized to make updates, add\n"
+"users, change the overall system configuration, and so on. In short,\n"
+"\"root\" can do everything! That is why you must choose a password that is\n"
+"difficult to guess -- DrakX will tell you if it is too easy. As you can\n"
+"see, you can choose not to enter a password, but we strongly advise you\n"
+"against this if only for one reason: do not think that because you booted\n"
+"GNU/Linux that your other operating systems are safe from mistakes. Since\n"
+"\"root\" can overcome all limitations and unintentionally erase all data on\n"
+"partitions by carelessly accessing the partitions themselves, it is\n"
+"important for it to be difficult to become \"root\".\n"
"\n"
-msgstr ""
-", .\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it too\n"
+"easy to compromise a system.\n"
"\n"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Change partition type"
-msgstr " "
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Resolution\n"
+"However, please do not make the password too long or complicated because\n"
+"you must be able to remember it without too much effort.\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor."
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Network Options"
-msgstr " "
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable msec hourly security check"
+"The password will not be displayed on screen as you type it in. Hence, you\n"
+"will have to type the password twice to reduce the chance of a typing\n"
+"error. If you do happen to make the same typing error twice, this\n"
+"``incorrect'' password will have to be used the first time you connect.\n"
+"\n"
+"In Expert mode, you will be asked if you will be connecting to an\n"
+"authentication server, like NIS or LDAP.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one as \"authentication\". If you have no\n"
+"clue, ask your network administrator.\n"
+"\n"
+"If your computer is not connected to any administrated network, you will\n"
+"want to choose \"Local files\" for authentication."
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../help.pm_.c:678
msgid ""
-"Display theme\n"
-"under console"
+"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
+"automated. In fact, DrakX analyzes the disk boot sector and acts\n"
+"accordingly, depending on what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
+"boot sector. Hence, you will be able to load either GNU/Linux or another\n"
+"OS;\n"
+"\n"
+" * if a grub or LILO boot sector is found, it will replace it with a new\n"
+"one.\n"
+"\n"
+"if in doubt, DrakX will display a dialog with various options.\n"
+"\n"
+" * \"Bootloader to use\": you have three choices:\n"
+"\n"
+" * \"GRUB\": if you prefer grub (text menu);\n"
+"\n"
+" * \"LILO with graphical menu\": if you prefer LILO with its graphical\n"
+"interface;\n"
+"\n"
+" * \"LILO with text menu\": if you prefer LILO with its text menu\n"
+"interface.\n"
+"\n"
+" * \"Boot device\": in most cases, you will not change the default\n"
+"(\"/dev/hda\"), but if you prefer, the bootloader can be installed on the\n"
+"second hard drive (\"/dev/hdb\"), or even on a floppy disk (\"/dev/fd0\");\n"
+"\n"
+" * \"Delay before booting the default image\": when rebooting the computer,\n"
+"this is the delay granted to the user to choose -- in the bootloader menu,\n"
+"another boot entry than the default one.\n"
+"\n"
+"!! Beware that if you choose not to install a bootloader (by selecting\n"
+"\"Cancel\" here), you must ensure that you have a way to boot your Mandrake\n"
+"Linux system! Also, be sure you know what you do before changing any of the\n"
+"options. !!\n"
+"\n"
+"Clicking the \"Advanced\" button in this dialog will offer many advanced\n"
+"options, which are reserved for the expert user."
msgstr ""
-" \n"
-" "
-
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on %s)"
-msgstr "( %s)"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM Series"
-msgstr "MM Series"
-
-#: ../../security/level.pm:1
-#, c-format
+#: ../../help.pm_.c:718
msgid ""
-"A library which defends against buffer overflow and format string attacks."
+"After you have configured the general bootloader parameters, the list of\n"
+"boot options which will be available at boot time will be displayed.\n"
+"\n"
+"If there is another operating system installed on your machine, it will\n"
+"automatically be added to the boot menu. Here, you can choose to fine-tune\n"
+"the existing options. Select an entry and click \"Modify\" to modify or\n"
+"remove it. \"Add\" creates a new entry. and \"Done\" goes on to the next\n"
+"installation step.\n"
+"\n"
+"You may also not want to give access to these other operating systems to\n"
+"anyone. In which case, you can delete the corresponding entries. But then,\n"
+"you will need a boot disk in order to boot those other operating systems!"
msgstr ""
-", a "
-"."
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "average"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "New printer name"
-msgstr " "
+"LILO ( LInux LOader) Grub bootloader-: \n"
+"GNU/Linux "
+".\n"
+", \n"
+". , \n"
+" . .\n"
+"\n"
+"\n"
+" ,\n"
+" . ,\n"
+" boot-, !"
-#: ../../fs.pm:1
-#, c-format
+#: ../../help.pm_.c:732
msgid ""
-"Allow an ordinary user to mount the file system. The\n"
-"name of the mounting user is written to mtab so that he can unmount the "
-"file\n"
-"system again. This option implies the options noexec, nosuid, and nodev\n"
-"(unless overridden by subsequent options, as in the option line\n"
-"user,exec,dev,suid )."
+"You must indicate where you wish to place the information required to boot\n"
+"GNU/Linux.\n"
+"\n"
+"Unless you know exactly what you are doing, choose \"First sector of drive\n"
+"(MBR)\"."
msgstr ""
+" \n"
+" , GNU/Linux.\n"
+"\n"
+" , , \" \n"
+" (MBR)\"."
-#: ../../lang.pm:1
-#, c-format
-msgid "Equatorial Guinea"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup System"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Build Backup"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:739
msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\" or \"%s <file>\".\n"
+"Here, we select a printing system for your computer. Other OSes may offer\n"
+"you one, but Mandrake Linux offers two.\n"
+"\n"
+" * \"pdq\" -- which means ``print, don't queue'', is the choice if you have\n"
+"a direct connection to your printer and you want to be able to panic out of\n"
+"printer jams, and you do not have networked printers. It will handle only\n"
+"very simple network cases and is somewhat slow for networks. Pick \"pdq\"\n"
+"if this is your first voyage to GNU/Linux. You can change your choices\n"
+"after installation by running PrinterDrake from the Mandrake Control Center\n"
+"and clicking the expert button.\n"
+"\n"
+" * \"CUPS\" -- ``Common Unix Printing System'', is excellent at printing to\n"
+"your local printer and also halfway-around the planet. It is simple and can\n"
+"act as a server or a client for the ancient \"lpd\" printing system. Hence,\n"
+"it is compatible with the systems that went before. It can do many tricks,\n"
+"but the basic setup is almost as easy as \"pdq\". If you need this to\n"
+"emulate an \"lpd\" server, you must turn on the \"cups-lpd\" daemon. It has\n"
+"graphical front-ends for printing or choosing printer options."
msgstr ""
-" ( ), "
-" \"%s <file>\" \"%s <file>\".\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Currently, no alternative possibility is available"
-msgstr " , "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwertz)"
-msgstr " (qwertz)"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Write Config"
-msgstr " "
-
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:759
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"
-" . "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kiribati"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type) with Wheel emulation"
-msgstr "Logitech Mouse (, C7) "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other (not drakbackup) keys in place already"
+"DrakX now detects any IDE device present in your computer. It will also\n"
+"scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented with a list of SCSI cards to choose from. Click \"No\" if you\n"
+"have no SCSI hardware. If you are unsure, you can check the list of\n"
+"hardware detected in your machine by selecting \"See hardware info\" and\n"
+"clicking \"OK\". Examine the hardware list and then click on the \"OK\"\n"
+"button to return to the SCSI interface question.\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\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
+"\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to manually provide options to the driver."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:781
msgid ""
-"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
-"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
-"WindowMaker, etc.) bundled with Mandrake Linux rely upon.\n"
+"You can add additional entries for yaboot, either for other operating\n"
+"systems, alternate kernels, or for an emergency boot image.\n"
+"\n"
+"For other OSes, the entry consists only of a label and the \"root\"\n"
+"partition.\n"
+"\n"
+"For Linux, there are a few possible options:\n"
"\n"
-"You will be presented with a list of different parameters to change to get\n"
-"an optimal graphical display: Graphic Card\n"
+" * Label: this is simply the name you will have to type at the yaboot\n"
+"prompt to select this boot option;\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+" * Image: this would be the name of the kernel to boot. Typically, vmlinux\n"
+"or a variation of vmlinux with an extension;\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs.\n"
+" * Root: the \"root\" device or ``/'' for your Linux installation;\n"
"\n"
+" * Append: on Apple hardware, the kernel append option is used quite often\n"
+"to assist in initializing video hardware, or to enable keyboard mouse\n"
+"button emulation for the often lacking 2nd and 3rd mouse buttons on a stock\n"
+"Apple mouse. The following are some examples:\n"
"\n"
+" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
+"hda=autotune\n"
"\n"
-"Monitor\n"
+" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer.\n"
+" * Initrd: this option can be used either to load initial modules, before\n"
+"the boot device is available, or to load a ramdisk image for an emergency\n"
+"boot situation;\n"
"\n"
+" * Initrd-size: the default ramdisk size is generally 4,096 bytes. If you\n"
+"need to allocate a large ramdisk, this option can be used;\n"
"\n"
+" * Read-write: normally the \"root\" partition is initially brought up in\n"
+"read-only, to allow a filesystem check before the system becomes ``live''.\n"
+"Here, you can override this option;\n"
"\n"
-"Resolution\n"
+" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
+"problematic, you can select this option to boot in ``novideo'' mode, with\n"
+"native frame buffer support;\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor.\n"
+" * Default: selects this entry as being the default Linux selection,\n"
+"selectable by just pressing ENTER at the yaboot prompt. This entry will\n"
+"also be highlighted with a ``*'', if you press [Tab] to see the boot\n"
+"selections."
+msgstr ""
+
+#: ../../help.pm_.c:828
+msgid ""
+"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able to boot\n"
+"either GNU/Linux, MacOS or MacOSX if present on your computer. Normally,\n"
+"these other operating systems are correctly detected and installed. If this\n"
+"is not the case, you can add an entry by hand in this screen. Be careful to\n"
+"choose the correct parameters.\n"
"\n"
+"Yaboot's main options are:\n"
"\n"
+" * Init Message: a simple text message displayed before the boot prompt;\n"
"\n"
-"Test\n"
+" * Boot Device: indicates where you want to place the information required\n"
+"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
+"to hold this information;\n"
"\n"
-" the system will try to open a graphical screen at the desired\n"
-"resolution. If you can see the message during the test and answer \"%s\",\n"
-"then DrakX will proceed to the next step. If you cannot see the message, it\n"
-"means that some part of the autodetected configuration was incorrect and\n"
-"the test will automatically end after 12 seconds, bringing you back to the\n"
-"menu. Change settings until you get a correct graphical display.\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"
+" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
+"After selecting Linux, you will have this delay in 0.1 second before your\n"
+"default kernel description is selected;\n"
"\n"
+" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
+"at the first boot prompt;\n"
"\n"
-"Options\n"
+" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
+"Open Firmware at the first boot prompt;\n"
"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+" * Default OS: you can select which OS will boot by default when the Open\n"
+"Firmware Delay expires."
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Browse"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CDROM"
-msgstr "CDROM"
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Do you want to try to connect to the Internet now?"
-msgstr " ?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belgian"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you have an ISA sound card?"
-msgstr " ISA ?"
-
-#: ../../network/ethernet.pm:1
-#, c-format
+#: ../../help.pm_.c:860
msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
+"Here are presented various parameters concerning your machine. Depending on\n"
+"your installed hardware, you may (or may not), see the following entries:\n"
+"\n"
+" * \"Mouse\": check the current mouse configuration and click on the button\n"
+"to change it if necessary;\n"
+"\n"
+" * \"Keyboard\": check the current keyboard map configuration and click on\n"
+"the button to change that if necessary;\n"
+"\n"
+" * \"Timezone\": DrakX, by default, guesses your time zone from the\n"
+"language you have chosen. But here again, as for the choice of a keyboard,\n"
+"you may not be in the country for which the chosen language should\n"
+"correspond. Hence, you may need to click on the \"Timezone\" button in\n"
+"order to configure the clock according to the time zone you are in;\n"
+"\n"
+" * \"Printer\": clicking on the \"No Printer\" button will open the printer\n"
+"configuration wizard. Consult the correpsonding chapter of the ``Starter\n"
+"Guide'' for more information on how to setup a new printer. The interface\n"
+"presented there is similar to the one used at installation time;\n"
+"\n"
+" * \"Sound card\": if a sound card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"TV card\": if a TV card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"ISDN card\": if an ISDN card is detected on your system, it will be\n"
+"displayed here. You can click on the button to change the parameters\n"
+"associated to it."
msgstr ""
-" .\n"
-" ."
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Windows"
-msgstr "Windows"
-
-#: ../../common.pm:1
-#, c-format
-msgid "Can't make screenshots before partitioning"
-msgstr " \"\" "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Name"
-msgstr " "
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/Save _As"
-msgstr "// _"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:891
msgid ""
-"To get access to printers on remote CUPS servers in your local network you "
-"only need to turn on the \"Automatically find available printers on remote "
-"machines\" option; the CUPS servers inform your machine automatically about "
-"their printers. All printers currently known to your machine are listed in "
-"the \"Remote printers\" section in the main window of Printerdrake. If your "
-"CUPS server(s) is/are not in your local network, you have to enter the IP "
-"address(es) and optionally the port number(s) here to get the printer "
-"information from the server(s)."
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s is not in the scanner database, configure it manually?"
-msgstr "%s , ?"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Delay before booting default image"
-msgstr " "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Restrict command line options"
-msgstr " , "
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "East Europe"
-msgstr " "
-
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use free space"
-msgstr " "
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use dhcp"
-msgstr " DHCP"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert"
-msgstr " "
-
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Internet configuration"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uzbekistan"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected %s"
-msgstr " %s"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _printers"
-msgstr "/ _"
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#, c-format
-msgid "Finish"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Show automatically selected packages"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Togo"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "CPU flags reported by the kernel"
-msgstr " CPU "
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Something went wrong! - Is mkisofs installed?"
-msgstr " ! - mkisofs ?"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "16 MB"
-msgstr "16 "
-
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Please try again"
-msgstr ", "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The model is correct"
-msgstr " "
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "FAT resizing failed: %s"
-msgstr " FAT: %s"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Individual package selection"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition is not resizeable"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Location"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable-hrc)"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Guatemala"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Journalised FS"
-msgstr " FS"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Ethernet cards promiscuity check"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "This machine"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr " DOS: %s ( )\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahrain"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select the files or directories and click on 'OK'"
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandrake Linux partition. Be careful, all data present on it will be lost\n"
+"and will not be recoverable!"
msgstr ""
+" , , \n"
+" Mandrake Linux . , "
+" \n"
+" ."
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit scsi modules"
-msgstr " scsi "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "family of the cpu (eg: 6 for i686 class)"
-msgstr " cpu (: 6 i686 )"
-
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../help.pm_.c:896
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"
+"Click on \"OK\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"OK\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to stop this operation without losing any data and\n"
+"partitions present on this hard drive."
msgstr ""
-" , .\n"
-" Ok, , , "
-" .\n"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run the daily security checks"
-msgstr " "
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr " : %s\n"
+" \"OK\", \n"
+" . , \"OK\", "
+" "
+" ,\n"
+" Windows .\n"
+"\n"
+" \"\", \n"
+" ."
-#: ../../printer/printerdrake.pm:1
+#: ../../install2.pm_.c:111
#, c-format
msgid ""
-"Here you can choose whether the printers connected to this machine should be "
-"accessable by remote machines and by which remote machines."
+"Can't access kernel modules corresponding to your kernel (file %s is "
+"missing), this generally means your boot floppy in not in sync with the "
+"Installation medium (please create a newer boot floppy)"
msgstr ""
-" "
-" ."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (US)"
-msgstr " (US)"
-#: ../../standalone/drakfloppy:1
+#: ../../install2.pm_.c:167
#, c-format
-msgid "The creation of the boot floppy has been successfully completed \n"
+msgid "You must also format %s"
msgstr ""
-#: ../../services.pm:1
+#: ../../install_any.pm_.c:423
#, c-format
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)."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Launch the wizard"
-msgstr " "
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Tvcard"
-msgstr "TV "
-
-#: ../../help.pm:1
-#, c-format
-msgid "Toggle between normal/expert mode"
-msgstr " / "
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Size"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "GRUB"
-msgstr "GRUB"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Greenland"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Thursday"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct tape label. Tape is labelled %s."
-msgstr " . %s."
-
-#: ../../standalone/drakgw:1
-#, c-format
-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/drakTermServ:1
-#, c-format
-msgid "Delete All NBIs"
-msgstr " NBI"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"This dialog allows you to fine tune your bootloader:\n"
+"You have selected the following server(s): %s\n"
"\n"
-" * \"%s\": there are three choices for your bootloader:\n"
"\n"
-" * \"%s\": if you prefer grub (text menu).\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"
-" * \"%s\": if you prefer LILO with its text menu interface.\n"
"\n"
-" * \"%s\": if you prefer LILO with its graphical interface.\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+" () (): %s\n"
"\n"
-" * \"%s\": in most cases, you will not change the default (\"%s\"), but if\n"
-"you prefer, the bootloader can be installed on the second hard drive\n"
-"(\"%s\"), or even on a floppy disk (\"%s\");\n"
"\n"
-" * \"%s\": after a boot or a reboot of the computer, this is the delay\n"
-"given to the user at the console to select a boot entry other than the\n"
-"default.\n"
+" . \n"
+", . , \n"
+", -.\n"
"\n"
-"!! Beware that if you choose not to install a bootloader (by selecting\n"
-"\"%s\"), you must ensure that you have a way to boot your Mandrake Linux\n"
-"system! Be sure you know what you are doing before changing any of the\n"
-"options. !!\n"
"\n"
-"Clicking the \"%s\" button in this dialog will offer advanced options which\n"
-"are normally reserved for the expert user."
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"if set, send the mail report to this email address else send it to root."
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Which configuration of XFree do you want to have?"
-msgstr " XFree ?"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "More"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"This uses the same syntax as the command line program 'cdrecord'. 'cdrecord -"
-"scanbus' would also show you the device number."
-msgstr ""
+" ?\n"
-#: ../../security/level.pm:1
+#: ../../install_any.pm_.c:441
#, c-format
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 can "
-"accept\n"
-"connections from many clients. Note: if your machine is only a client on the "
-"Internet, you should choose a lower level."
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
msgstr ""
-" , "
-".\n"
-" \n"
-" . "
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Server Name"
-msgstr " "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Password"
-msgstr " "
+#: ../../install_any.pm_.c:471
+msgid "Can't use broadcast with no NIS domain"
+msgstr " broadcast NIS "
-#: ../../standalone/drakhelp:1
+#: ../../install_any.pm_.c:879
#, c-format
-msgid ""
-"%s cannot be displayed \n"
-". No Help entry of this type\n"
-msgstr ""
+msgid "Insert a FAT formatted floppy in drive %s"
+msgstr " FAT %s"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"You decided to install the bootloader on a partition.\n"
-"This implies you already have a bootloader on the hard drive you boot (eg: "
-"System Commander).\n"
-"\n"
-"On which drive are you booting?"
-msgstr ""
-" bootloader \n"
-" , bootloader (: System "
-"Commander).\n"
-"\n"
-" ?"
+#: ../../install_any.pm_.c:883
+msgid "This floppy is not FAT formatted"
+msgstr " FAT"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../install_any.pm_.c:895
msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful: this\n"
-"operation is dangerous. If you have not already done so, you\n"
-"first need to exit the installation, run \"chkdsk c:\" from a\n"
-"Command Prompt under Windows (beware, running graphical program\n"
-"\"scandisk\" is not enough, be sure to use \"chkdsk\" in a\n"
-"Command Prompt!), optionally run defrag, then restart the\n"
-"installation. You should also backup your data.\n"
-"When sure, press Ok."
+"To use this saved packages selection, boot installation with ``linux "
+"defcfg=floppy''"
msgstr ""
-"!\n"
-"\n"
-"DrakX Windows . : "
-" \n"
-". , scandisk (\n"
-" defrag) Windows , \n"
-" . .\n"
-" , ."
+" , ``linux "
+"defcfg=floppy''"
-#: ../../keyboard.pm:1
+#: ../../install_any.pm_.c:918 ../../partition_table.pm_.c:767
#, c-format
-msgid "Tajik keyboard"
-msgstr " "
+msgid "Error reading file %s"
+msgstr " %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_any.pm_.c:1040
msgid ""
-"You can copy the printer configuration which you have done for the spooler %"
-"s to %s, your current spooler. All the configuration data (printer name, "
-"description, location, connection type, and default option settings) is "
-"overtaken, but jobs will not be transferred.\n"
-"Not all queues can be transferred due to the following reasons:\n"
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
msgstr ""
-" , spoller %"
-"s %s, spooler. ( , "
-", , ) "
-", .\n"
-" :\n"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Font List"
-msgstr " "
+" - , "
+" . "
+" "
-#: ../../install_steps_interactive.pm:1
+#: ../../install_interactive.pm_.c:21
#, c-format
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 %s,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
msgstr ""
-" Open Firmware ,\n"
-" . \n"
-" , Command-Option-O-F :\n"
-" setenv boot-device %s,\\\\:tbxi\n"
-" : shut-down\n"
-" ."
+" `` '' , "
+" .\n"
+" : %s"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:56
msgid ""
-"You appear to have an OldWorld or Unknown\n"
-" machine, the yaboot bootloader will not work for you.\n"
-"The install will continue, but you'll\n"
-" need to use BootX or some other means to boot your machine"
+"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"
-", yaboot .\n"
-" , \n"
-" BootX, "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Select file"
-msgstr " "
+" root-.\n"
+" ( ).\n"
+" `` '' `/'"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Choose the network or host on which the local printers should be made "
-"available:"
-msgstr " :"
+#: ../../install_interactive.pm_.c:61
+msgid "You must have a swap partition"
+msgstr " swap-"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:62
msgid ""
-"These commands you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications, but here do not supply the file name "
-"because the file to print is provided by the application.\n"
+"You don't have a swap partition.\n"
+"\n"
+"Continue anyway?"
msgstr ""
-" \" \" "
-" . , "
-" .\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Japan"
-msgstr ""
+" swap-\n"
+"\n"
+" ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print option list"
-msgstr " "
+#: ../../install_interactive.pm_.c:65 ../../install_steps.pm_.c:169
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr " FAT /boot/efi"
-#: ../../standalone/localedrake:1
-#, c-format
-msgid "The change is done, but to be effective you must logout"
-msgstr " , "
+#: ../../install_interactive.pm_.c:90
+msgid "Use free space"
+msgstr " "
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Country / Region"
-msgstr " / "
+#: ../../install_interactive.pm_.c:92
+msgid "Not enough free space to allocate new partitions"
+msgstr " "
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search servers"
-msgstr " "
+#: ../../install_interactive.pm_.c:100
+msgid "Use existing partitions"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP queue name missing!"
-msgstr " NCP !"
+#: ../../install_interactive.pm_.c:102
+msgid "There is no existing partition to use"
+msgstr " , "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Warning, another internet connection has been detected, maybe using your "
-"network"
-msgstr ""
+#: ../../install_interactive.pm_.c:109
+msgid "Use the Windows partition for loopback"
+msgstr " Windows loopback"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "CD-ROM \"%s\""
+#: ../../install_interactive.pm_.c:112
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr " Linux4Win ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CDRW media"
-msgstr ""
+#: ../../install_interactive.pm_.c:114
+msgid "Choose the sizes"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
-msgstr ""
-" - \n"
-" ."
+#: ../../install_interactive.pm_.c:115
+msgid "Root partition size in MB: "
+msgstr " root- MB: "
-#: ../advertising/07-server.pl:1
-#, c-format
-msgid "Turn your computer into a reliable server"
-msgstr " "
+#: ../../install_interactive.pm_.c:116
+msgid "Swap partition size in MB: "
+msgstr " swap- MB: "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check empty password in /etc/shadow"
-msgstr ""
+#: ../../install_interactive.pm_.c:126
+msgid "Use the free space on the Windows partition"
+msgstr " Windows "
-#: ../../network/network.pm:1
-#, c-format
-msgid " (driver %s)"
-msgstr " ( %s)"
+#: ../../install_interactive.pm_.c:129
+msgid "Which partition do you want to resize?"
+msgstr " ?"
-#: ../../services.pm:1
-#, c-format
-msgid "Start when requested"
-msgstr ""
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing Windows partition"
+msgstr " Windows "
-#: ../../diskdrake/interactive.pm:1
+#: ../../install_interactive.pm_.c:134
#, c-format
msgid ""
-"Loopback file(s):\n"
-" %s\n"
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occured: %s"
msgstr ""
-"Loopback ():\n"
-" %s\n"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "I don't know"
-msgstr " "
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", TCP/IP host \"%s\", port %s"
-msgstr ", TCP/IP \"%s\", %s"
+" FAT , \n"
+" : %s"
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../install_interactive.pm_.c:137
msgid ""
-"You are about to configure an Auto Install floppy. This feature is somewhat "
-"dangerous and must be used circumspectly.\n"
-"\n"
-"With that feature, you will be able to replay the installation you've "
-"performed on this computer, being interactively prompted for some steps, in "
-"order to change their values.\n"
-"\n"
-"For maximum safety, the partitioning and formatting will never be performed "
-"automatically, whatever you chose during the install of this computer.\n"
-"\n"
-"Do you want to continue?"
+"Your Windows partition is too fragmented. Please reboot your computer under "
+"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
+"installation."
msgstr ""
+" Windows , ''defrag''"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Telugu"
-msgstr ""
-
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:138
+#, fuzzy
msgid ""
+"WARNING!\n"
"\n"
-"\n"
-"Your card currently use the %s\"%s\" driver (default driver for your card is "
-"\"%s\")"
+"DrakX will now resize your Windows partition. Be careful:\n"
+"this operation is dangerous. If you have not already done\n"
+"so, you should first exit the installation, run scandisk\n"
+"under Windows (and optionally run defrag), then restart the\n"
+"installation. You should also backup your data.\n"
+"When sure, press Ok."
msgstr ""
+"!\n"
"\n"
-"\n"
-" %s\"%s\" ( "
-" \"%s\")"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Uninstall"
-msgstr " "
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connecting to Internet "
-msgstr " "
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid " ("
-msgstr ""
+"DrakX Windows . : "
+" \n"
+". , scandisk (\n"
+" defrag) Windows , \n"
+" . .\n"
+" , ."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid level"
-msgstr "Cpuid "
+#: ../../install_interactive.pm_.c:148
+msgid "Which size do you want to keep for Windows on"
+msgstr " windows?"
-#: ../../printer/main.pm:1
+#: ../../install_interactive.pm_.c:149
#, c-format
-msgid "Novell server \"%s\", printer \"%s\""
-msgstr "Novell \"%s\", \"%s\""
+msgid "partition %s"
+msgstr " %s"
-#: ../../keyboard.pm:1
+#: ../../install_interactive.pm_.c:156
#, c-format
-msgid "Mongolian (cyrillic)"
-msgstr " ()"
+msgid "FAT resizing failed: %s"
+msgstr " FAT: %s"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Add a module"
-msgstr " "
+#: ../../install_interactive.pm_.c:171
+msgid ""
+"There is no FAT partition to resize or to use as loopback (or not enough "
+"space left)"
+msgstr ""
+" FAT loopback ( "
+" )"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile to delete:"
-msgstr " :"
+#: ../../install_interactive.pm_.c:177
+msgid "Erase entire disk"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Local measure"
-msgstr " "
+#: ../../install_interactive.pm_.c:177
+msgid "Remove Windows(TM)"
+msgstr " Windows(TM)"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Warning : IP address %s is usually reserved !"
-msgstr ""
+#: ../../install_interactive.pm_.c:180
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr " , ?"
-#: ../../mouse.pm:1
+#: ../../install_interactive.pm_.c:183
#, c-format
-msgid "busmouse"
-msgstr "BUS "
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr " e %s "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Create Etherboot Enabled Boot Images:\n"
-" \tTo boot a kernel via etherboot, a special kernel/initrd image must "
-"be created.\n"
-" \tmkinitrd-net does much of this work and drakTermServ is just a "
-"graphical \n"
-" \tinterface to help manage/customize these images. To create the "
-"file \n"
-" \t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an "
-"include in \n"
-" \tdhcpd.conf, you should create the etherboot images for at least "
-"one full kernel."
-msgstr ""
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Account Login (user name)"
-msgstr " ( )"
+#: ../../install_interactive.pm_.c:191
+msgid "Custom disk partitioning"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Fdiv bug"
-msgstr ""
+#: ../../install_interactive.pm_.c:195
+msgid "Use fdisk"
+msgstr " fdisk"
-#: ../../network/drakfirewall.pm:1
+#: ../../install_interactive.pm_.c:198
#, c-format
msgid ""
-"drakfirewall configurator\n"
-"\n"
-"Make sure you have configured your Network/Internet access with\n"
-"drakconnect before going any further."
+"You can now partition %s.\n"
+"When you are done, don't forget to save using `w'"
msgstr ""
-"drakfirewall \n"
-"\n"
-" , / \n"
-"drakconnect -."
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept broadcasted icmp echo"
-msgstr " broadcast- icmp echo"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Uruguay"
-msgstr ""
+" %s.\n"
+" , `w'"
-#: ../../lang.pm:1
-#, c-format
-msgid "Benin"
-msgstr ""
+#: ../../install_interactive.pm_.c:227
+msgid "You don't have enough free space on your Windows partition"
+msgstr " "
-#: ../../printer/main.pm:1
-#, c-format
-msgid "SMB/Windows server \"%s\", share \"%s\""
-msgstr "SMB/Windows \"%s\", \"%s\""
+#: ../../install_interactive.pm_.c:243
+msgid "I can't find any room for installing"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path selection"
-msgstr " "
+#: ../../install_interactive.pm_.c:246
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr " DrakX :"
-#: ../../standalone/scannerdrake:1
+#: ../../install_interactive.pm_.c:250
#, c-format
-msgid "Name/IP address of host:"
-msgstr ""
+msgid "Partitioning failed: %s"
+msgstr " : %s"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor: %s\n"
-msgstr ": %s\n"
+#: ../../install_interactive.pm_.c:260
+msgid "Bringing up the network"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom & system settings"
-msgstr " "
+#: ../../install_interactive.pm_.c:265
+msgid "Bringing down the network"
+msgstr " "
-#: ../../partition_table/raw.pm:1
-#, c-format
+#: ../../install_steps.pm_.c:76
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, corrupted "
-"data."
+"An error occurred, but I don't know how to handle it nicely.\n"
+"Continue at your own risk."
msgstr ""
-" .\n"
-" .\n"
-" , \n"
-" "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP missing!"
-msgstr " a IP!"
+" , .\n"
+" ."
-#: ../../standalone/drakbackup:1
+#: ../../install_steps.pm_.c:211
#, c-format
-msgid "Please check all users that you want to include in your backup."
-msgstr ", , ."
+msgid "Duplicate mount point %s"
+msgstr " %s"
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps.pm_.c:380
msgid ""
-"The %s must be configured by printerdrake.\n"
-"You can launch printerdrake from the Mandrake Control Center in Hardware "
-"section."
-msgstr ""
-
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Key isn't writable"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bangladesh"
-msgstr ""
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (cable)"
+"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"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Initial tests"
-msgstr " "
-
-#: ../../network/isdn.pm:1
+#: ../../install_steps.pm_.c:450
#, c-format
-msgid "Continue"
-msgstr ""
+msgid "Welcome to %s"
+msgstr " %s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom Restore"
-msgstr " "
+#: ../../install_steps.pm_.c:543 ../../install_steps.pm_.c:769
+msgid "No floppy drive available"
+msgstr " "
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_auto_install.pm_.c:76
+#: ../../install_steps_stdio.pm_.c:22
#, c-format
-msgid "Saturday"
-msgstr ""
+msgid "Entering step `%s'\n"
+msgstr " `%s'\n"
-#: ../../help.pm:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:146
msgid ""
-"\"%s\": if a sound card is detected on your system, it is displayed here.\n"
-"If you notice the sound card displayed is not the one that is actually\n"
-"present on your system, you can click on the button and choose another\n"
-"driver."
+"Your system is low on resources. You may have some problem installing\n"
+"Mandrake Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
msgstr ""
-"\"%s\" , .\n"
-" , ,\n"
-" ."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the root umask."
-msgstr " root umask."
-
-#: ../../install_any.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "Error reading file %s"
-msgstr " %s"
+" . \n"
+" Mandrake Linux. . "
+",\n"
+" 'F1', CDROM ''."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Script-based"
-msgstr " "
+#: ../../install_steps_gtk.pm_.c:157 ../../install_steps_interactive.pm_.c:237
+msgid "Install Class"
+msgstr " "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "PLL setting:"
-msgstr "PLL :"
+#: ../../install_steps_gtk.pm_.c:160
+#, fuzzy
+msgid "Please choose one of the following classes of installation:"
+msgstr ", :"
-#: ../../install_interactive.pm:1 ../../install_steps.pm:1
-#, c-format
-msgid "You must have a FAT partition mounted in /boot/efi"
-msgstr " FAT /boot/efi"
+#: ../../install_steps_gtk.pm_.c:236 ../../install_steps_interactive.pm_.c:683
+msgid "Package Group Selection"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on "
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:269 ../../install_steps_interactive.pm_.c:698
+msgid "Individual package selection"
+msgstr " "
-#: ../../diskdrake/dav.pm:1
+#: ../../install_steps_gtk.pm_.c:292 ../../install_steps_interactive.pm_.c:621
#, c-format
-msgid "The URL must begin with http:// or https://"
-msgstr "URL http:// https://"
+msgid "Total size: %d / %d MB"
+msgstr " : %d / %d MB"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can specify directly the URI to access the printer. The URI must fulfill "
-"either the CUPS or the Foomatic specifications. Note that not all URI types "
-"are supported by all the spoolers."
-msgstr ""
-" URI . URI "
-" CUPS Foomatic . , "
-" URI spooler-."
+#: ../../install_steps_gtk.pm_.c:334
+msgid "Bad package"
+msgstr " "
-#: ../../any.pm:1
+#: ../../install_steps_gtk.pm_.c:335
#, c-format
-msgid "Other OS (SunOS...)"
-msgstr " (SunOS...)"
+msgid "Name: %s\n"
+msgstr ": %s\n"
-#: ../../install_steps_interactive.pm:1
+#: ../../install_steps_gtk.pm_.c:336
#, c-format
-msgid "Install/Upgrade"
-msgstr "/"
+msgid "Version: %s\n"
+msgstr ": %s\n"
-#: ../../install_steps_gtk.pm:1
+#: ../../install_steps_gtk.pm_.c:337
#, c-format
-msgid "%d packages"
-msgstr "%d "
+msgid "Size: %d KB\n"
+msgstr ": %d KB\n"
-#: ../../crypto.pm:1 ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:338
#, c-format
-msgid "Costa Rica"
-msgstr " "
+msgid "Importance: %s\n"
+msgstr ": %s\n"
-#: ../../standalone.pm:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:360
msgid ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X "
-"users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
+"You can't select this package as there is not enough space left to install it"
msgstr ""
+" , "
+""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain Authentication Required"
-msgstr " "
+#: ../../install_steps_gtk.pm_.c:365
+msgid "The following packages are going to be installed"
+msgstr " "
-#: ../../security/level.pm:1
-#, c-format
-msgid "Use libsafe for servers"
-msgstr " libsafe "
+#: ../../install_steps_gtk.pm_.c:366
+msgid "The following packages are going to be removed"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Icelandic"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:378
+msgid "You can't select/unselect this package"
+msgstr " / "
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
-msgstr ""
-"\n"
-": %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
+#: ../../install_steps_gtk.pm_.c:390
+msgid "This is a mandatory package, it can't be unselected"
+msgstr " , "
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_gtk.pm_.c:392
+msgid "You can't unselect this package. It is already installed"
+msgstr " . "
+
+#: ../../install_steps_gtk.pm_.c:395
msgid ""
-"Maximum size\n"
-" allowed for Drakbackup (MB)"
+"This package must be upgraded.\n"
+"Are you sure you want to deselect it?"
msgstr ""
-", \n"
-" Drakbackup ( )"
+" \n"
+" , ?"
-#: ../../loopback.pm:1
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "\" \" : %s\n"
+#: ../../install_steps_gtk.pm_.c:398
+msgid "You can't unselect this package. It must be upgraded"
+msgstr " . "
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo/grub mode"
-msgstr " Lilo/grub"
+#: ../../install_steps_gtk.pm_.c:403
+msgid "Show automatically selected packages"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Martinique"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:404 ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#: ../../standalone/drakbackup_.c:4211
+msgid "Install"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "HardDrive / NFS"
-msgstr " / NFS"
+#: ../../install_steps_gtk.pm_.c:407
+msgid "Load/Save on floppy"
+msgstr "/ "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Old user list:\n"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:408
+msgid "Updating package selection"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Search Backups"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:413
+msgid "Minimal install"
+msgstr " "
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "a number"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:428 ../../install_steps_interactive.pm_.c:529
+msgid "Choose the packages you want to install"
+msgstr " , "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swedish"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:444 ../../install_steps_interactive.pm_.c:767
+msgid "Installing"
+msgstr ""
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Which %s driver should I try?"
-msgstr " %s ?"
+#: ../../install_steps_gtk.pm_.c:450
+msgid "Estimating"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"You will receive an alert if one of the selected services is no longer "
-"running"
-msgstr ""
-" "
-""
+#: ../../install_steps_gtk.pm_.c:457
+msgid "Time remaining "
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Weekday"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:469
+msgid "Please wait, preparing installation..."
+msgstr ", , "
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../install_steps_gtk.pm_.c:551
#, c-format
-msgid "Filesystem types:"
-msgstr " :"
+msgid "%d packages"
+msgstr "%d "
-#: ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:556
#, c-format
-msgid "Northern Mariana Islands"
-msgstr " "
+msgid "Installing package %s"
+msgstr " %s"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on HP JetDirect"
-msgstr ", HP JetDirect"
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+#: ../../standalone/drakautoinst_.c:197
+msgid "Accept"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "none"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+msgid "Refuse"
+msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../install_steps_gtk.pm_.c:594 ../../install_steps_interactive.pm_.c:792
#, c-format
msgid ""
-"Name of the profile to create (the new profile is created as a copy of the "
-"current one) :"
-msgstr ""
-" ( ):"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Floppy"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript referencing"
-msgstr ""
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Bootloader"
-msgstr "Bootloader"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Authorize all services controlled by tcp_wrappers"
+"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."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move"
-msgstr ""
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Bootloader to use"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server host"
-msgstr " SMB "
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_gtk.pm_.c:612
+#: ../../install_steps_interactive.pm_.c:804
+#: ../../install_steps_interactive.pm_.c:808
+msgid "Go on anyway?"
+msgstr " ?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Name Servers:"
-msgstr "Name :"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_interactive.pm_.c:804
+msgid "There was an error ordering packages:"
+msgstr " :"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Minute"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:612 ../../install_steps_interactive.pm_.c:808
+msgid "There was an error installing packages:"
+msgstr " :"
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:10
msgid ""
"\n"
"Warning\n"
@@ -6897,5604 +4813,4617 @@ msgstr ""
" \n"
" .\n"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Expert mode"
-msgstr "/ "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
-msgstr " Star Office/OpenOffice.org/GIMP"
-
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
-msgstr ""
-"Linux Virtual Server \n"
-" ."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Micronesia"
-msgstr ""
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "4 billion colors (32 bits)"
-msgstr "4 (32 )"
+#: ../../install_steps_interactive.pm_.c:67
+msgid "An error occurred"
+msgstr " "
-#: ../../steps.pm:1
-#, c-format
-msgid "License"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:85
+#, fuzzy
+msgid "Do you really want to leave the installation?"
+msgstr " \"%s\" ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to generate the keys."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:112
+msgid "License agreement"
+msgstr " "
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:113
msgid ""
-"Here, you can setup the security level and administrator of your machine.\n"
+"Introduction\n"
"\n"
+"The operating system and the different components available in the Mandrake "
+"Linux 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 Mandrake Linux distribution.\n"
"\n"
-"The Security Administrator is the one who will receive security alerts if "
-"the\n"
-"'Security Alerts' option is set. It can be a username or an email.\n"
"\n"
+"1. License Agreement\n"
"\n"
-"The Security Level menu allows you to select one of the six preconfigured "
-"security levels\n"
-"provided with msec. These levels range from poor security and ease of use, "
-"to\n"
-"paranoid config, suitable for very sensitive server applications:\n"
+"Please read this document carefully. 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"
-"<span foreground=\"royalblue3\">Poor</span>: This is a totally unsafe but "
-"very\n"
-"easy to use security level. It should only be used for machines not "
-"connected to\n"
-"any network and that are not accessible to everybody.\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 "
+"occurence of such \n"
+"damages.\n"
"\n"
-"<span foreground=\"royalblue3\">Standard</span>: This is the standard "
-"security\n"
-"recommended for a computer that will be used to connect to the Internet as "
-"a\n"
-"client.\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 Mandrake Linux 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"
-"<span foreground=\"royalblue3\">High</span>: There are already some\n"
-"restrictions, and more automatic checks are run every night.\n"
"\n"
+"3. The GPL License and Related Licenses\n"
"\n"
-"<span foreground=\"royalblue3\">Higher</span>: The security is now high "
-"enough\n"
-"to use the system as a server which can accept connections from many "
-"clients. If\n"
-"your machine is only a client on the Internet, you should choose a lower "
-"level.\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"
-"<span foreground=\"royalblue3\">Paranoid</span>: This is similar to the "
-"previous\n"
-"level, but the system is entirely closed and security features are at their\n"
-"maximum"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
-msgstr " (, TCP/Socket, SMB )"
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using pppoa) usb"
-msgstr "Sagem ( pppoa) usb"
-
-#: ../../install_any.pm:1
-#, c-format
-msgid ""
-"An error occurred - no valid devices were found on which to create new "
-"filesystems. Please check your hardware for the cause of this problem"
-msgstr ""
-" - , "
-" . "
-" "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting the printing system at boot time"
-msgstr " "
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Do you want to start the connection at boot?"
-msgstr " ?"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Processor ID"
-msgstr " ID"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound trouble shooting"
-msgstr " "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwerty layout)"
-msgstr " (QWERTY )"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Add Printer"
-msgstr "/ "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
+"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\", \"Mandrake Linux\" and associated logos are trademarks of "
+"MandrakeSoft S.A. \n"
"\n"
-"Drakbackup activities via CD:\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 ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to install the printing system %s on a system running in the %"
-"s security level.\n"
+"\n"
"\n"
-"This printing system runs a daemon (background process) which waits for "
-"print jobs and handles them. This daemon is also accessable by remote "
-"machines through the network and so it is a possible point for attacks. "
-"Therefore only a few selected daemons are started by default in this "
-"security level.\n"
+" Mandrake Linux "
+" - \n"
+" \" \". , "
+" , \n"
+", , "
+" \n"
+" Mandrake Linux .\n"
"\n"
-"Do you really want to configure printing on this machine?"
+"\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"
+" "
+" Mandrake Linux,\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\", \"Mandrake Linux\" "
+"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:197
+msgid "Are you sure you refuse the licence?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host \"%s\", port %s"
-msgstr " \"%s\", %s"
+#: ../../install_steps_interactive.pm_.c:217
+#: ../../install_steps_interactive.pm_.c:995
+#: ../../standalone/keyboarddrake_.c:25
+msgid "Keyboard"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition can't be used for loopback"
-msgstr " loopback"
+#: ../../install_steps_interactive.pm_.c:218
+#, fuzzy
+msgid "Please choose your keyboard layout."
+msgstr ", ."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File already exists. Use it?"
-msgstr " . ?"
+#: ../../install_steps_interactive.pm_.c:219
+msgid "Here is the full list of keyboards available"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received: "
-msgstr ": "
+#: ../../install_steps_interactive.pm_.c:237
+msgid "Which installation class do you want?"
+msgstr " ?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Alt key"
-msgstr " Alt "
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Install/Update"
+msgstr "/"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the list of alternative drivers for this sound card"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Is this an install or an update?"
+msgstr " ?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway"
-msgstr "Gateway"
+#: ../../install_steps_interactive.pm_.c:250
+msgid "Recommended"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tonga"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:253
+#: ../../install_steps_interactive.pm_.c:256
+msgid "Expert"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tunisia"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#, fuzzy
+msgid "Upgrade"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scanner sharing"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#, fuzzy
+msgid "Upgrade packages only"
+msgstr " "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile: "
-msgstr ": "
+#: ../../install_steps_interactive.pm_.c:282
+#, fuzzy
+msgid "Please choose the type of your mouse."
+msgstr ", ."
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Click on a device in the left tree in order to display its information here."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:288 ../../standalone/mousedrake_.c:52
+msgid "Mouse Port"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid autologin."
-msgstr "/ ."
+#: ../../install_steps_interactive.pm_.c:289 ../../standalone/mousedrake_.c:53
+msgid "Please choose on which serial port your mouse is connected to."
+msgstr ", ."
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "XawTV isn't installed!"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:297
+msgid "Buttons emulation"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include critical files (passwd, group, fstab)"
-msgstr " (passwd, group, fstab)"
+#: ../../install_steps_interactive.pm_.c:299
+msgid "Button 2 Emulation"
+msgstr " 2 "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "old static device name used in dev package"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:300
+msgid "Button 3 Emulation"
+msgstr " 3 "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable the logging of IPv4 strange packets"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:321
+msgid "Configuring PCMCIA cards..."
+msgstr " PCMCIA ..."
-#: ../../any.pm:1
-#, c-format
-msgid "This label is already used"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:321
+msgid "PCMCIA"
+msgstr "PCMCIA"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer or connected directly to the network.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected. Also "
-"your network printer(s) must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network printers when you don't need it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:328
+msgid "Configuring IDE"
+msgstr " IDE"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek (polytonic)"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:328
+msgid "IDE"
+msgstr "IDE"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After formatting partition %s, all data on this partition will be lost"
-msgstr " %s, "
+#: ../../install_steps_interactive.pm_.c:345
+msgid "No partition available"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection Time: "
-msgstr " : "
+#: ../../install_steps_interactive.pm_.c:348
+msgid "Scanning partitions to find mount points"
+msgstr " "
-#: ../../standalone/livedrake:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:356
+msgid "Choose the mount points"
+msgstr " "
+
+#: ../../install_steps_interactive.pm_.c:386
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."
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
msgstr ""
-", CD-ROM Ok, "
-" .\n"
-" , , CD-"
-"ROM."
+" 1 ! , , "
+" , "
+"DiskDrake"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use group id for execution"
-msgstr " id "
+#: ../../install_steps_interactive.pm_.c:395
+msgid "No root partition found to perform an upgrade"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the default user:"
-msgstr " :"
+#: ../../install_steps_interactive.pm_.c:396
+msgid "Root Partition"
+msgstr "Root "
-#: ../../lang.pm:1
-#, c-format
-msgid "Gabon"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:397
+msgid "What is the root partition (/) of your system?"
+msgstr " root- (/) ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Printers on remote CUPS servers do not need to be configured here; these "
-"printers will be automatically detected."
-msgstr ""
-"\n"
-" CUPS \n"
-"; ."
+#: ../../install_steps_interactive.pm_.c:411
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr " , "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Mandrake Linux can support multiple languages. Select\n"
-"the languages you would like to install. They will be available\n"
-"when your installation is complete and you restart your system."
-msgstr ""
-"Mandrake Linux . \n"
-" . \n"
-" ."
+#: ../../install_steps_interactive.pm_.c:435
+msgid "Choose the partitions you want to format"
+msgstr " , "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Directory (or module) to put the backup on this host."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:436
+msgid "Check bad blocks?"
+msgstr " ?"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Domain"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:463
+msgid "Formatting partitions"
+msgstr " owe"
-#: ../../any.pm:1
+#: ../../install_steps_interactive.pm_.c:465
#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr " RAM-, ( %d MB)"
+msgid "Creating and formatting file %s"
+msgstr " %s"
-#: ../../help.pm:1
+#: ../../install_steps_interactive.pm_.c:470
#, c-format
msgid ""
-"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
-"automated. DrakX will analyze the disk boot sector and act according to\n"
-"what it finds there:\n"
-"\n"
-" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
-"boot sector. This way you will be able to load either GNU/Linux or another\n"
-"OS.\n"
-"\n"
-" * if a grub or LILO boot sector is found, it will replace it with a new\n"
-"one.\n"
-"\n"
-"If it cannot make a determination, DrakX will ask you where to place the\n"
-"bootloader."
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can loose data)"
msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 2 (optional)"
-msgstr "2- DNS ( )"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Boot device"
-msgstr " "
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Which partition do you want to resize?"
-msgstr " ?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "United States Minor Outlying Islands"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Djibouti"
-msgstr ""
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "A tool to monitor your logs"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:472
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+" swap , "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected on port %s"
-msgstr " %s"
+#: ../../install_steps_interactive.pm_.c:479
+#, fuzzy
+msgid "Looking for available packages and rebuilding rpm database..."
+msgstr " "
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD"
-msgstr "LPD"
+#: ../../install_steps_interactive.pm_.c:480
+msgid "Looking for available packages..."
+msgstr " "
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics card: %s\n"
-msgstr " : %s\n"
+#: ../../install_steps_interactive.pm_.c:483
+#, fuzzy
+msgid "Looking at packages already installed..."
+msgstr " . "
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/Set as _Default"
-msgstr "/( )"
+#: ../../install_steps_interactive.pm_.c:487
+msgid "Finding packages to upgrade..."
+msgstr " "
-#: ../../security/l10n.pm:1
+#: ../../install_steps_interactive.pm_.c:505
#, c-format
-msgid "Accept icmp echo"
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%d "
+"> %d)"
msgstr ""
+" (%d > %d)"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Yaboot"
-msgstr "Yaboot"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series with Wheel emulation"
-msgstr "Logitech CC Series "
+#: ../../install_steps_interactive.pm_.c:541
+msgid ""
+"Please choose load or save package selection on floppy.\n"
+"The format is the same as auto_install generated floppies."
+msgstr ""
+" .\n"
+" auto_install ."
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Extended partition not supported on this platform"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Load from floppy"
+msgstr " "
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Splash selection"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Save on floppy"
+msgstr " "
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISDN Configuration"
-msgstr " IDSN"
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Loading from floppy"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "high"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Package selection"
+msgstr " "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:552
+msgid "Insert a floppy containing package selection"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Choose file"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:634
+msgid "Selected size is larger than available space"
+msgstr " - "
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Summary: "
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:649
+#, fuzzy
+msgid "Type of install"
+msgstr " "
-#: ../../network/shorewall.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:650
msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fixes after installation."
+"You haven't selected any group of packages.\n"
+"Please choose the minimal installation you want:"
msgstr ""
-" ! . "
-" ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Photo Card Access on \"%s\""
-msgstr "/ \"%s\""
+#: ../../install_steps_interactive.pm_.c:653
+#, fuzzy
+msgid "With X"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Daily security check"
+#: ../../install_steps_interactive.pm_.c:655
+msgid "With basic documentation (recommended!)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:656
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: ../../install_steps_interactive.pm_.c:741
msgid ""
-"Do you want to enable printing on the printers mentioned above or on "
-"printers in the local network?\n"
+"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 ""
-" "
-" ?\n"
+" CD- -, Ok.\n"
+" CD-, .\n"
+" CD-, , Ok. "
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:746
#, c-format
-msgid "Printer default settings"
-msgstr " "
+msgid "Cd-Rom labeled \"%s\""
+msgstr "CD-ROM \"%s\""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic PS2 Wheel Mouse"
-msgstr " PS2 "
+#: ../../install_steps_interactive.pm_.c:767
+msgid "Preparing installation"
+msgstr " "
-#: ../../standalone/harddrake2:1
+#: ../../install_steps_interactive.pm_.c:776
#, c-format
msgid ""
-"the WP flag in the CR0 register of the cpu enforce write proctection at the "
-"memory page level, thus enabling the processor to prevent unchecked kernel "
-"accesses to user memory (aka this is a bug guard)"
+"Installing package %s\n"
+"%d%%"
msgstr ""
+" %s\n"
+"%d%%"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing old printer \"%s\"..."
-msgstr " \"%s\"..."
+#: ../../install_steps_interactive.pm_.c:822
+msgid "Post-install configuration"
+msgstr " "
-#: ../../standalone/harddrake2:1
+#: ../../install_steps_interactive.pm_.c:828
#, c-format
-msgid "Select a device !"
-msgstr " !"
+msgid "Please insert the Boot floppy used in drive %s"
+msgstr " %s"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:834
#, c-format
-msgid "Remove selected server"
-msgstr " "
+msgid "Please insert the Update Modules floppy in drive %s"
+msgstr " %s"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using dhcp) usb"
-msgstr "Sagem ( dhcp) usb"
+#: ../../install_steps_interactive.pm_.c:861
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been released after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates ?"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "French Southern Territories"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:876
+#, fuzzy
+msgid ""
+"Contacting Mandrake Linux web site to get the list of available mirrors..."
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the processor"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:881
+msgid "Choose a mirror from which to get the packages"
+msgstr " , "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Maintain %s:\n"
-" \tFor users to be able to log into the system from a diskless "
-"client, their entry in\n"
-" \t/etc/shadow needs to be duplicated in %s. drakTermServ\n"
-" \thelps in this respect by adding or removing system users from this "
-"file."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:890
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All data on this partition should be backed-up"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:918
+msgid "Which is your timezone?"
+msgstr " ?"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Installing package %s"
-msgstr " %s"
+#: ../../install_steps_interactive.pm_.c:923
+msgid "Hardware clock set to GMT"
+msgstr " GMT"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking device and configuring HPOJ..."
-msgstr " HPOJ..."
+#: ../../install_steps_interactive.pm_.c:924
+msgid "Automatic time synchronization (using NTP)"
+msgstr " ( NTP)"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"To have more partitions, please delete one to be able to create an extended "
-"partition"
-msgstr ""
-" , , "
-" "
+#: ../../install_steps_interactive.pm_.c:931
+msgid "NTP Server"
+msgstr "NTP "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Your printer was configured automatically to give you access to the photo "
-"card drives from your PC. Now you can access your photo cards using the "
-"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
-"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
-"\"man mtools\" on the command line for more info). You find the card's file "
-"system under the drive letter \"p:\", or subsequent drive letters when you "
-"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
-"can switch between drive letters with the field at the upper-right corners "
-"of the file lists."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:965
+#: ../../install_steps_interactive.pm_.c:972
+msgid "Remote CUPS server"
+msgstr " CUPS "
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose packages to install"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:966
+msgid "No printer"
+msgstr " "
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "ALL existing partitions and their data will be lost on drive %s"
-msgstr " e %s "
+#: ../../install_steps_interactive.pm_.c:982
+#, fuzzy
+msgid "Do you have an ISA sound card?"
+msgstr " () ?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Your system does not have enough space left for installation or upgrade (%d "
-"> %d)"
+#: ../../install_steps_interactive.pm_.c:984
+msgid "Run \"sndconfig\" after installation to configure your sound card"
msgstr ""
-" (%d > %d)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Every printer needs a name (for example \"printer\"). The Description and "
-"Location fields do not need to be filled in. They are comments for the users."
+#: ../../install_steps_interactive.pm_.c:986
+msgid "No sound card detected. Try \"harddrake\" after installation"
msgstr ""
-" ( \"printer\"). "
-" . ."
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
-"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
-"information on how to setup a new printer. The interface presented there is\n"
-"similar to the one used during installation."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:991 ../../steps.pm_.c:27
+msgid "Summary"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bhutan"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:994
+msgid "Mouse"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:996
+msgid "Timezone"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet failed."
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:997
+#: ../../printer/printerdrake.pm_.c:2759 ../../printer/printerdrake.pm_.c:2844
+msgid "Printer"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer data..."
-msgstr " ..."
+#: ../../install_steps_interactive.pm_.c:999
+msgid "ISDN card"
+msgstr "ISDN "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Korean keyboard"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1003
+#: ../../install_steps_interactive.pm_.c:1009
+msgid "Sound card"
+msgstr " "
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Not connected"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1012
+msgid "TV card"
+msgstr "TV "
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "No internet connection configured"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1055
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1084
+msgid "LDAP"
+msgstr "LDAP"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1056
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1093
+msgid "NIS"
+msgstr "NIS"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Kitts and Nevis"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1057
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1101
+#: ../../install_steps_interactive.pm_.c:1107
+#, fuzzy
+msgid "Windows Domain"
+msgstr "NIS "
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse with Wheel emulation"
-msgstr " 3- "
+#: ../../install_steps_interactive.pm_.c:1058
+#: ../../install_steps_interactive.pm_.c:1080
+msgid "Local files"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Enable OF Boot?"
-msgstr " OF ?"
+#: ../../install_steps_interactive.pm_.c:1067
+#: ../../install_steps_interactive.pm_.c:1068 ../../steps.pm_.c:24
+msgid "Set root password"
+msgstr " root"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use JFS for partitions smaller than 16MB"
-msgstr " JFS - 16 "
+#: ../../install_steps_interactive.pm_.c:1069
+msgid "No password"
+msgstr " "
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:1074
#, c-format
-msgid "Erase your RW media (1st Session)"
-msgstr " RW (1 )"
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr " ( %d )"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr " : %s\n"
+#: ../../install_steps_interactive.pm_.c:1080 ../../network/modem.pm_.c:72
+#: ../../standalone/drakconnect_.c:623 ../../standalone/logdrake_.c:144
+msgid "Authentication"
+msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount point"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1088
+msgid "Authentication LDAP"
+msgstr "LDAP "
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid ""
-"An error occurred:\n"
-"%s\n"
-"Try to change some parameters"
-msgstr ""
-" :\n"
-"%s\n"
-" "
+#: ../../install_steps_interactive.pm_.c:1089
+msgid "LDAP Base dn"
+msgstr "LDAP dn"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "TCP/IP host \"%s\", port %s"
-msgstr "TCP/IP \"%s\", %s"
+#: ../../install_steps_interactive.pm_.c:1090
+msgid "LDAP Server"
+msgstr "LDAP "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "User :"
-msgstr " :"
+#: ../../install_steps_interactive.pm_.c:1096
+msgid "Authentication NIS"
+msgstr "NIS "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore system"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1097
+msgid "NIS Domain"
+msgstr "NIS "
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1098
+msgid "NIS Server"
+msgstr "NIS "
+
+#: ../../install_steps_interactive.pm_.c:1104
msgid ""
-"These are the machines on which the locally connected scanner(s) should be "
-"available:"
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP end ip"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1106
+#, fuzzy
+msgid "Authentication Windows Domain"
+msgstr "LDAP "
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Another one"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1108
+#, fuzzy
+msgid "Domain Admin User Name"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup"
+#: ../../install_steps_interactive.pm_.c:1109
+msgid "Domain Admin Password"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Colombia"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1144
msgid ""
-"Current configuration of `%s':\n"
+"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"
-"Network: %s\n"
-"IP address: %s\n"
-"IP attribution: %s\n"
-"Driver: %s"
+"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\"."
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play"
-msgstr "Plug & Play"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Reunion"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1160
+msgid "First floppy drive"
+msgstr " "
-#: ../../install_steps_gtk.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Details"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1161
+msgid "Second floppy drive"
+msgstr " "
-#: ../../network/tools.pm:1
-#, c-format
-msgid "For security reasons, it will be disconnected now."
-msgstr " , ."
+#: ../../install_steps_interactive.pm_.c:1162
+#: ../../printer/printerdrake.pm_.c:2397
+msgid "Skip"
+msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../install_steps_interactive.pm_.c:1167
#, c-format
-msgid "Synchronization tool"
+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?\n"
+"%s"
msgstr ""
+" bootdisk Linux "
+"\n"
+" . , "
+"\n"
+"LILO ( GRUB) "
+" LILO LILO \n"
+" . Bootdisk- \n"
+" Mandrake, \n"
+" . bootdisk ?\n"
+"%s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking your system..."
-msgstr " ..."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1173
msgid ""
-"Insert the tape with volume label %s\n"
-" in the tape drive device %s"
+"\n"
+"\n"
+"(WARNING! You're using XFS for your root partition,\n"
+"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
+"because XFS needs a very large driver)."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mongolia"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mounted\n"
-msgstr "\n"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Configure CUPS"
-msgstr " CUPS"
-
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Interface"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Users"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1181
+msgid "Sorry, no floppy drive available"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Encryption key for %s"
-msgstr " %s"
+#: ../../install_steps_interactive.pm_.c:1185
+msgid "Choose the floppy drive you want to use to make the bootdisk"
+msgstr " , "
-#: ../../install_steps_interactive.pm:1
+#: ../../install_steps_interactive.pm_.c:1189
#, fuzzy, c-format
-msgid "Do you want to recover your system?"
-msgstr " aboot ?"
-
-#: ../../services.pm:1
-#, c-format
-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 ."
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detected hardware"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritius"
-msgstr ""
+msgid "Insert a floppy in %s"
+msgstr " %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Myanmar (Burmese)"
-msgstr " ()"
+#: ../../install_steps_interactive.pm_.c:1192
+msgid "Creating bootdisk..."
+msgstr " "
-#: ../../fs.pm:1
-#, c-format
-msgid "Enabling swap partition %s"
-msgstr " swap %s"
+#: ../../install_steps_interactive.pm_.c:1199
+msgid "Preparing bootloader..."
+msgstr " bootloader"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to use as loopback (or not enough space left)"
+#: ../../install_steps_interactive.pm_.c:1210
+msgid ""
+"You appear to have an OldWorld or Unknown\n"
+" machine, the yaboot bootloader will not work for you.\n"
+"The install will continue, but you'll\n"
+" need to use BootX to boot your machine"
msgstr ""
-" FAT loopback ( "
-")"
+" \n"
+", yaboot .\n"
+" , \n"
+" BootX, "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (old)"
-msgstr " ()"
+#: ../../install_steps_interactive.pm_.c:1216
+msgid "Do you want to use aboot?"
+msgstr " aboot ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1219
msgid ""
-"A printer named \"%s\" already exists under %s. \n"
-"Click \"Transfer\" to overwrite it.\n"
-"You can also type a new name or skip this printer."
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
msgstr ""
-" \"%s\" %s.\n"
-" \"\", .\n"
-" ."
-
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid ""
-"Find the solutions of your problems via MandrakeSoft's online support "
-"platform."
-msgstr " MandrakeSoft"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", host \"%s\", port %s"
-msgstr ", \"%s\", %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Monaco"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Partitioning failed: %s"
-msgstr " : %s"
-
-#: ../../fs.pm:1 ../../swap.pm:1
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "%s %s "
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Canada (cable)"
-msgstr " ()"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Floppy creation completed"
-msgstr " "
+" aboot, \n"
+" , ?"
-#: ../../help.pm:1
-#, c-format
-msgid "Upgrade"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1226
+msgid "Installing bootloader"
+msgstr " bootloader"
-#: ../../help.pm:1
-#, c-format
-msgid "Workstation"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1232
+msgid "Installation of bootloader failed. The following error occured:"
+msgstr " bootloader . :"
-#: ../../install_steps_interactive.pm:1
+#: ../../install_steps_interactive.pm_.c:1240
#, c-format
msgid ""
-"Installing package %s\n"
-"%d%%"
+"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 %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
msgstr ""
-" %s\n"
-"%d%%"
+" Open Firmware ,\n"
+" . \n"
+" , Command-Option-O-F :\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" : shut-down\n"
+" ."
-#: ../../lang.pm:1
+#: ../../install_steps_interactive.pm_.c:1274
+#: ../../standalone/drakautoinst_.c:76
#, c-format
-msgid "Kyrgyzstan"
-msgstr ""
+msgid "Insert a blank floppy in drive %s"
+msgstr " %s"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Multi-function device on USB"
-msgstr " USB"
+#: ../../install_steps_interactive.pm_.c:1278
+msgid "Creating auto install floppy..."
+msgstr " "
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1289
msgid ""
-"We didn't detect any USB key on your system. If you\n"
-"plug in an USB key now, Mandrake Move will have the ability\n"
-"to transparently save the data in your home directory and\n"
-"system wide configuration, for next boot on this computer\n"
-"or another one. Note: if you plug in a key now, wait several\n"
-"seconds before detecting again.\n"
-"\n"
+"Some steps are not completed.\n"
"\n"
-"You may also proceed without an USB key - you'll still be\n"
-"able to use Mandrake Move as a normal live Mandrake\n"
-"Operating System."
+"Do you really want to quit now?"
msgstr ""
+" .\n"
+"\n"
+" ?"
-#: ../../help.pm:1
-#, c-format
-msgid "With basic documentation"
-msgstr " "
-
-#: ../../services.pm:1
-#, c-format
-msgid "Anacron is a periodic command scheduler."
-msgstr "Anacrton - ."
-
-#: ../../install_interactive.pm:1
+#: ../../install_steps_interactive.pm_.c:1300
#, c-format
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"
-" `` '' `/'"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Western Sahara"
-msgstr " "
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Proxy should be http://..."
-msgstr "Proxy- http://..."
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "South Africa"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Eject tape after the backup"
-msgstr " "
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot Floppy/ISO"
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press return to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandrake "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandrake Linux User's Guide."
msgstr ""
+", .\n"
+" Enter .\n"
+"\n"
+"\n"
+" , Mandrake Linux,\n"
+" Errata, : \n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+" \n"
+" Official Mandrake Linux User's Guide."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Modify printer configuration"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose a partition"
-msgstr " "
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Edit current rule"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s"
+#: ../../install_steps_interactive.pm_.c:1313
+msgid "http://www.mandrakelinux.com/en/90errata.php3"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Please test the mouse"
-msgstr ", "
+#: ../../install_steps_interactive.pm_.c:1318
+msgid "Generate auto install floppy"
+msgstr " "
-#: ../../fs.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1320
msgid ""
-"Do not update inode access times on this file system\n"
-"(e.g, for faster access on the news spool to speed up news servers)."
+"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"
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons with Wheel emulation"
-msgstr "3 "
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Sticky-bit"
-msgstr "sticky-"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Other Media"
-msgstr " "
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+"
-msgstr "Logitech MouseMan+"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files"
-msgstr " "
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Automated"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Sector"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Replay"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Qatar"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1328
+msgid "Save packages selection"
+msgstr " "
-#: ../../any.pm:1
+#: ../../install_steps_newt.pm_.c:20
#, c-format
-msgid "LDAP Base dn"
-msgstr "LDAP dn"
+msgid "Mandrake Linux Installation %s"
+msgstr " Mandrake Linux %s"
-#: ../../install_steps_gtk.pm:1
-#, c-format
+#. -PO This string must fit in a 80-char wide text screen
+#: ../../install_steps_newt.pm_.c:33
msgid ""
-"You can't select this package as there is not enough space left to install it"
+" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
msgstr ""
-" , "
-""
-
-#: ../../help.pm:1
-#, c-format
-msgid "generate auto-install floppy"
-msgstr " "
+" <Tab>/<Alt-Tab> | <Space> | <F12> "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Dialing mode"
-msgstr " "
+#: ../../interactive.pm_.c:87
+msgid "kdesu missing"
+msgstr " kdesu"
-#: ../../services.pm:1
-#, c-format
-msgid "File sharing"
-msgstr " "
+#: ../../interactive.pm_.c:89 ../../interactive.pm_.c:100
+msgid "consolehelper missing"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Clean /tmp at each boot"
-msgstr " /tmp "
+#: ../../interactive.pm_.c:152
+msgid "Choose a file"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Malawi"
-msgstr ""
+#: ../../interactive.pm_.c:318
+msgid "Advanced"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: false"
-msgstr " : "
+#: ../../interactive.pm_.c:319 ../../security/main.pm_.c:117
+msgid "Basic"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "System settings"
-msgstr " "
+#: ../../interactive/newt.pm_.c:194 ../../my_gtk.pm_.c:158
+#: ../../printer/printerdrake.pm_.c:2055 ../../ugtk2.pm_.c:434
+msgid "<- Previous"
+msgstr "<- "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your type of mouse."
-msgstr ", ."
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../standalone/drakbackup_.c:4060 ../../standalone/drakbackup_.c:4087
+#: ../../standalone/drakbackup_.c:4117 ../../standalone/drakbackup_.c:4143
+#, fuzzy
+msgid "Next"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "running"
-msgstr ""
+#: ../../interactive/stdio.pm_.c:29 ../../interactive/stdio.pm_.c:149
+msgid "Bad choice, try again\n"
+msgstr " , \n"
-#: ../../standalone/harddrake2:1
+#: ../../interactive/stdio.pm_.c:30 ../../interactive/stdio.pm_.c:150
#, c-format
-msgid "class of hardware device"
-msgstr " "
+msgid "Your choice? (default %s) "
+msgstr " ? ( %s)"
-#: ../../printer/printerdrake.pm:1
+#: ../../interactive/stdio.pm_.c:54
#, c-format
msgid ""
-"These are the machines and networks on which the locally connected printer"
-"(s) should be available:"
+"Entries you'll have to fill:\n"
+"%s"
msgstr ""
-" "
-":"
-#: ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United Kingdom"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Indonesia"
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "default"
-msgstr " "
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "France [SECAM]"
-msgstr " [SECAM]"
+#: ../../interactive/stdio.pm_.c:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr " ? ( %s)"
-#: ../../any.pm:1
-#, c-format
-msgid "restrict"
-msgstr ""
+#: ../../interactive/stdio.pm_.c:95
+#, fuzzy, c-format
+msgid "Button `%s': %s"
+msgstr ": %s"
-#: ../../pkgs.pm:1
-#, c-format
-msgid "must have"
-msgstr ""
+#: ../../interactive/stdio.pm_.c:96
+#, fuzzy
+msgid "Do you want to click on this button?"
+msgstr " aboot ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"CUPS does not support printers on Novell servers or printers sending the "
-"data into a free-formed command.\n"
+#: ../../interactive/stdio.pm_.c:105
+msgid " enter `void' for void entry"
msgstr ""
-"CUPS Novell "
-"- .\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Senegal"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Command line"
-msgstr " "
+#: ../../interactive/stdio.pm_.c:105
+#, fuzzy, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr " ? ( %s)"
-#: ../advertising/08-store.pl:1
+#: ../../interactive/stdio.pm_.c:123
#, c-format
-msgid ""
-"Our full range of Linux solutions, as well as special offers on products and "
-"other \"goodies\", are available on our e-store:"
+msgid "=> There are many things to choose from (%s).\n"
msgstr ""
-" , "
-"\"\" 'e-':"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "March"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to administrative files"
-msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../interactive/stdio.pm_.c:126
msgid ""
-"Error during sendmail.\n"
-" Your report mail was not sent.\n"
-" Please configure sendmail"
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
msgstr ""
-#: ../../fs.pm:1
+#: ../../interactive/stdio.pm_.c:139
#, c-format
msgid ""
-"Do not allow set-user-identifier or set-group-identifier\n"
-"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
-"have suidperl(1) installed.)"
+"=> Notice, a label changed:\n"
+"%s"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Montserrat"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic dependencies"
+#: ../../interactive/stdio.pm_.c:146
+msgid "Re-submit"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Swap"
-msgstr "Swap"
+#: ../../keyboard.pm_.c:153 ../../keyboard.pm_.c:188
+msgid "Czech (QWERTZ)"
+msgstr " (QWERTZ)"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Custom settings"
-msgstr " "
+#: ../../keyboard.pm_.c:154 ../../keyboard.pm_.c:190
+msgid "German"
+msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid ""
-"The USB key seems to have write protection enabled, but we can't safely\n"
-"unplug it now.\n"
-"\n"
-"\n"
-"Click the button to reboot the machine, unplug it, remove write protection,\n"
-"plug the key again, and launch Mandrake Move again."
-msgstr ""
+#: ../../keyboard.pm_.c:155
+msgid "Dvorak"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Other"
-msgstr " "
+#: ../../keyboard.pm_.c:156 ../../keyboard.pm_.c:198
+msgid "Spanish"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "TV card"
-msgstr "TV "
+#: ../../keyboard.pm_.c:157 ../../keyboard.pm_.c:199
+msgid "Finnish"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on SMB/Windows 95/98/NT server"
-msgstr " SMB/Windows 95/98/NT "
+#: ../../keyboard.pm_.c:158 ../../keyboard.pm_.c:200
+msgid "French"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Configure CUPS"
-msgstr "/ CUPS"
+#: ../../keyboard.pm_.c:159 ../../keyboard.pm_.c:233
+msgid "Norwegian"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ", "
-msgstr ", "
+#: ../../keyboard.pm_.c:160
+msgid "Polish"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit lspci"
-msgstr ""
+#: ../../keyboard.pm_.c:161 ../../keyboard.pm_.c:241
+msgid "Russian"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove selected host/network"
-msgstr " /"
+#: ../../keyboard.pm_.c:163 ../../keyboard.pm_.c:243
+msgid "Swedish"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Postfix is a Mail Transport Agent, which is the program that moves mail from "
-"one machine to another."
-msgstr ""
-"Postfix Main Transport Agent (MTA), \n"
-" ."
+#: ../../keyboard.pm_.c:164 ../../keyboard.pm_.c:259
+msgid "UK keyboard"
+msgstr "U "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Uzbek (cyrillic)"
-msgstr " ()"
+#: ../../keyboard.pm_.c:165 ../../keyboard.pm_.c:260
+msgid "US keyboard"
+msgstr "US "
-#: ../../keyboard.pm:1
-#, c-format
-msgid ""
-"Here you can choose the key or key combination that will \n"
-"allow switching between the different keyboard layouts\n"
-"(eg: latin and non latin)"
-msgstr ""
-" , \n"
-" \n"
-"(. latin latin)"
+#: ../../keyboard.pm_.c:167
+msgid "Albanian"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Network Hotplugging"
-msgstr " Hotplugging"
+#: ../../keyboard.pm_.c:168
+msgid "Armenian (old)"
+msgstr " ()"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, reports check result to tty."
-msgstr " , tty."
+#: ../../keyboard.pm_.c:169
+msgid "Armenian (typewriter)"
+msgstr " ( )"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From CD"
-msgstr " CD"
+#: ../../keyboard.pm_.c:170
+msgid "Armenian (phonetic)"
+msgstr " ()"
-#: ../../standalone/drakgw:1
-#, c-format
-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"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
-msgstr ""
-" , \n"
-". , \n"
-" .\n"
-"\n"
-" , / "
-" drakconnect .\n"
-"\n"
-": , "
-" (LAN)."
+#: ../../keyboard.pm_.c:175
+msgid "Azerbaidjani (latin)"
+msgstr " ()"
-#: ../../network/ethernet.pm:1
-#, c-format
-msgid ""
-"Please choose which network adapter you want to use to connect to Internet."
-msgstr ", "
+#: ../../keyboard.pm_.c:177
+msgid "Belgian"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo memory card access on your HP multi-function device"
-msgstr ""
+#: ../../keyboard.pm_.c:178
+#, fuzzy
+msgid "Bengali"
+msgstr ""
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid ""
-"Enhance your computer performance with the help of a selection of partners "
-"offering professional solutions compatible with Mandrake Linux"
-msgstr ""
+#: ../../keyboard.pm_.c:179
+#, fuzzy
+msgid "Bulgarian (phonetic)"
+msgstr " ()"
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Authors: "
-msgstr ":"
+#: ../../keyboard.pm_.c:180
+#, fuzzy
+msgid "Bulgarian (BDS)"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now disabled."
-msgstr " ."
+#: ../../keyboard.pm_.c:181
+msgid "Brazilian (ABNT-2)"
+msgstr " (ABNT-2)"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, verify checksum of the suid/sgid files."
-msgstr ""
+#: ../../keyboard.pm_.c:184
+#, fuzzy
+msgid "Bosnian"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latin American"
-msgstr ""
+#: ../../keyboard.pm_.c:185
+msgid "Belarusian"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Japanese text printing mode"
-msgstr " "
+#: ../../keyboard.pm_.c:186
+msgid "Swiss (German layout)"
+msgstr " ( )"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Old device file"
-msgstr " "
+#: ../../keyboard.pm_.c:187
+msgid "Swiss (French layout)"
+msgstr " ( )"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Info: "
-msgstr ": "
+#: ../../keyboard.pm_.c:189
+msgid "Czech (QWERTY)"
+msgstr " (QWERTY)"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Button `%s': %s"
-msgstr " `%s': %s"
+#: ../../keyboard.pm_.c:191
+msgid "German (no dead keys)"
+msgstr " ( )"
-#: ../../any.pm:1 ../../interactive.pm:1 ../../harddrake/sound.pm:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakxtv:1 ../../standalone/harddrake2:1
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Please wait"
-msgstr " "
+#: ../../keyboard.pm_.c:192
+msgid "Devanagari"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetMouse"
-msgstr "Genuis NetMouse"
+#: ../../keyboard.pm_.c:193
+msgid "Danish"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "None"
-msgstr ""
+#: ../../keyboard.pm_.c:194
+msgid "Dvorak (US)"
+msgstr " (US)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered IP is not correct.\n"
-msgstr " IP .\n"
+#: ../../keyboard.pm_.c:195
+msgid "Dvorak (Norwegian)"
+msgstr " ()"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please be sure that the cron daemon is included in your services."
-msgstr ", , ."
+#: ../../keyboard.pm_.c:196
+#, fuzzy
+msgid "Dvorak (Swedish)"
+msgstr " (US)"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Ethernet Card"
-msgstr "Ethernet "
+#: ../../keyboard.pm_.c:197
+msgid "Estonian"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Delete selected printer"
-msgstr " "
+#: ../../keyboard.pm_.c:201
+msgid "Georgian (\"Russian\" layout)"
+msgstr " (\"\" )"
-#: ../../services.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Info"
-msgstr ""
+#: ../../keyboard.pm_.c:202
+msgid "Georgian (\"Latin\" layout)"
+msgstr " (\"\" )"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Install"
-msgstr ""
+#: ../../keyboard.pm_.c:203
+msgid "Greek"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Click on \"%s\" if you want to delete all data and partitions present on\n"
-"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
-"to recover any data and partitions present on this hard drive, including\n"
-"any Windows data.\n"
-"\n"
-"Click on \"%s\" to stop this operation without losing any data and\n"
-"partitions present on this hard drive."
+#: ../../keyboard.pm_.c:204
+msgid "Gujarati"
msgstr ""
-" \"%s\", \n"
-" . , \"%s\", "
-" "
-" ,\n"
-" Windows .\n"
-"\n"
-" \"%s\", \n"
-" ."
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Exit install"
-msgstr " "
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Need a key to save your data"
+#: ../../keyboard.pm_.c:205
+msgid "Gurmukhi"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-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)."
+#: ../../keyboard.pm_.c:206
+msgid "Hungarian"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Remote CUPS server"
-msgstr " CUPS "
+#: ../../keyboard.pm_.c:207
+msgid "Croatian"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Sun - Mouse"
-msgstr " Sun"
+#: ../../keyboard.pm_.c:208
+msgid "Israeli"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, 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"
-" ."
+#: ../../keyboard.pm_.c:209
+msgid "Israeli (Phonetic)"
+msgstr " ()"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Submit cpuinfo"
-msgstr ""
+#: ../../keyboard.pm_.c:210
+msgid "Iranian"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Minimal install"
-msgstr " "
+#: ../../keyboard.pm_.c:211
+msgid "Icelandic"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Ethiopia"
-msgstr ""
+#: ../../keyboard.pm_.c:212
+msgid "Italian"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "YES"
+#: ../../keyboard.pm_.c:213
+msgid "Inuktitut"
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable \"crontab\" and \"at\" for users"
-msgstr ""
+#: ../../keyboard.pm_.c:214
+msgid "Japanese 106 keys"
+msgstr " 106 "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Devanagari"
-msgstr ""
+#: ../../keyboard.pm_.c:217
+msgid "Korean keyboard"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"- pci devices: this gives the PCI slot, device and function of this card\n"
-"- eide devices: the device is either a slave or a master device\n"
-"- scsi devices: the scsi bus and the scsi device ids"
-msgstr ""
+#: ../../keyboard.pm_.c:218
+msgid "Latin American"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr " : %d / %d MB"
+#: ../../keyboard.pm_.c:219
+#, fuzzy
+msgid "Laotian"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "disabled"
-msgstr ""
+#: ../../keyboard.pm_.c:220
+msgid "Lithuanian AZERTY (old)"
+msgstr " AZERTY ()"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Search for new scanners"
-msgstr " "
+#: ../../keyboard.pm_.c:222
+msgid "Lithuanian AZERTY (new)"
+msgstr " AZERTY ()"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Disabling servers..."
-msgstr " ..."
+#: ../../keyboard.pm_.c:223
+msgid "Lithuanian \"number row\" QWERTY"
+msgstr " \" \" QWERTY"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Installation of %s failed. The following error occured:"
-msgstr " %s . :"
+#: ../../keyboard.pm_.c:224
+msgid "Lithuanian \"phonetic\" QWERTY"
+msgstr " \"\" QWERTY"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
-msgstr " mkinitrd -f /boot/initrd-%s.img %s."
+#: ../../keyboard.pm_.c:225
+msgid "Latvian"
+msgstr ""
-#: ../../install_any.pm:1
-#, 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 ones could be found. In that case, you must make sure\n"
-"to upgrade as soon as possible.\n"
-"\n"
-"\n"
-"Do you really want to install these servers?\n"
+#: ../../keyboard.pm_.c:226
+msgid "Malayalam"
msgstr ""
-" () (): %s\n"
-"\n"
-"\n"
-" . \n"
-", . , \n"
-", -.\n"
-"\n"
-"\n"
-" ?\n"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network printer (TCP/Socket)"
-msgstr " (TCP/Socket)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup User files..."
-msgstr " ..."
+#: ../../keyboard.pm_.c:227
+msgid "Macedonian"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install system"
-msgstr " "
+#: ../../keyboard.pm_.c:228
+msgid "Myanmar (Burmese)"
+msgstr ""
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "First DNS Server (optional)"
-msgstr " DNS ( )"
+#: ../../keyboard.pm_.c:229
+#, fuzzy
+msgid "Mongolian (cyrillic)"
+msgstr " ()"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Alternatively, you can specify a device name/file name in the input line"
+#: ../../keyboard.pm_.c:230
+msgid "Maltese (UK)"
msgstr ""
-", / "
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
-"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
-"symlink /etc/security/msec/server to point to\n"
-"/etc/security/msec/server.<SERVER_LEVEL>.\n"
-"\n"
-"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
-"add a service if it is present in the file during the installation of\n"
-"packages."
+#: ../../keyboard.pm_.c:231
+msgid "Maltese (US)"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian (Phonetic)"
-msgstr " ()"
+#: ../../keyboard.pm_.c:232
+msgid "Dutch"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "dhcpd Config..."
-msgstr " dhcpd..."
+#: ../../keyboard.pm_.c:234
+msgid "Polish (qwerty layout)"
+msgstr " (QWERTY )"
-#: ../../any.pm:1
-#, c-format
-msgid "LILO/grub Installation"
-msgstr "LILO/grub "
+#: ../../keyboard.pm_.c:235
+msgid "Polish (qwertz layout)"
+msgstr " (QWERTZ )"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli"
-msgstr ""
+#: ../../keyboard.pm_.c:236
+msgid "Portuguese"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on server \"%s\""
-msgstr " \"%s\" \"%s\""
+#: ../../keyboard.pm_.c:237
+msgid "Canadian (Quebec)"
+msgstr " ()"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Floppy can be removed now"
-msgstr " "
+#: ../../keyboard.pm_.c:239
+msgid "Romanian (qwertz)"
+msgstr " (qwertz)"
-#: ../../help.pm:1
-#, c-format
-msgid "Truly minimal install"
-msgstr " "
+#: ../../keyboard.pm_.c:240
+msgid "Romanian (qwerty)"
+msgstr " (qwerty)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Denmark"
-msgstr ""
+#: ../../keyboard.pm_.c:242
+msgid "Russian (Yawerty)"
+msgstr " (Yawerty)"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving partition..."
-msgstr " ... "
+#: ../../keyboard.pm_.c:244
+msgid "Slovenian"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "(This) DHCP Server IP"
-msgstr "() DHCP IP"
+#: ../../keyboard.pm_.c:245
+msgid "Slovakian (QWERTZ)"
+msgstr " (QWERTZ)"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Test of the configuration"
-msgstr " "
+#: ../../keyboard.pm_.c:246
+msgid "Slovakian (QWERTY)"
+msgstr " (QWERTY)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing %s ..."
-msgstr " %s ..."
+#: ../../keyboard.pm_.c:248
+msgid "Serbian (cyrillic)"
+msgstr " ()"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid ""
-"If you told the installer that you wanted to individually select packages,\n"
-"it will present a tree containing all packages classified by groups and\n"
-"subgroups. While browsing the tree, you can select entire groups,\n"
-"subgroups, or individual packages.\n"
-"\n"
-"Whenever you select a package on the tree, a description appears on the\n"
-"right to let you know the purpose of the package.\n"
-"\n"
-"!! If a server package has been selected, either because you specifically\n"
-"chose the individual package or because it was part of a group of packages,\n"
-"you will be asked to confirm that you really want those servers to be\n"
-"installed. By default Mandrake Linux will automatically start any installed\n"
-"services at boot time. Even if they are safe and have no known issues at\n"
-"the time the distribution was shipped, it is entirely possible that that\n"
-"security holes were discovered after this version of Mandrake Linux was\n"
-"finalized. If you do not know what a particular service is supposed to do\n"
-"or why it is being installed, then click \"%s\". Clicking \"%s\" will\n"
-"install the listed services and they will be started automatically by\n"
-"default during boot. !!\n"
-"\n"
-"The \"%s\" option is used to disable the warning dialog which appears\n"
-"whenever the installer automatically selects a package to resolve a\n"
-"dependency issue. Some packages have relationships between each other such\n"
-"that installation of a package requires that some other program is also\n"
-"rerquired to be installed. The installer can determine which packages are\n"
-"required to satisfy a dependency to successfully complete the installation.\n"
-"\n"
-"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
-"package list created during a previous installation. This is useful if you\n"
-"have a number of machines that you wish to configure identically. Clicking\n"
-"on this icon will ask you to insert a floppy disk previously created at the\n"
-"end of another installation. See the second tip of last step on how to\n"
-"create such a floppy."
+#: ../../keyboard.pm_.c:250
+msgid "Tamil (Unicode)"
msgstr ""
-", , \n"
-" \n"
-". , , "
-"\n"
-" .\n"
-"\n"
-" , . \n"
-" , \"\", \n"
-" . ,\n"
-" , .\n"
-" , , \n"
-" \n"
-" .\n"
-"\n"
-"!! , \n"
-", , \n"
-" . Mandrake Linux, "
-"\n"
-" . , \n"
-" , , \n"
-" , Mandrake Linux . \n"
-" , \n"
-"\"\". \"\" \n"
-" . !!\n"
-"\n"
-" \" \" ,\n"
-" . , \n"
-" , , \n"
-" .\n"
-"\n"
-" \n"
-" . , \n"
-" "
-".\n"
-" , \n"
-" ."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose your filesystem encryption key"
-msgstr " "
+#: ../../keyboard.pm_.c:251
+msgid "Tamil (TSCII)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Sierra Leone"
-msgstr " "
+#: ../../keyboard.pm_.c:252
+msgid "Thai keyboard"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Botswana"
-msgstr ""
+#: ../../keyboard.pm_.c:254
+msgid "Tajik keyboard"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Andorra"
-msgstr ""
+#: ../../keyboard.pm_.c:255
+msgid "Turkish (traditional \"F\" model)"
+msgstr " ( \"F\" )"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "(default value: %s)"
-msgstr "( : %s)"
+#: ../../keyboard.pm_.c:256
+msgid "Turkish (modern \"Q\" model)"
+msgstr " ( \"Q\" )"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
-msgstr ""
+#: ../../keyboard.pm_.c:258
+msgid "Ukrainian"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (Letter)"
-msgstr " ()"
+#: ../../keyboard.pm_.c:261
+msgid "US keyboard (international)"
+msgstr "US ()"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"DHCP Server Configuration.\n"
-"\n"
-"Here you can select different options for the DHCP server configuration.\n"
-"If you don't know the meaning of an option, simply leave it as it is.\n"
-"\n"
-msgstr ""
+#: ../../keyboard.pm_.c:262
+msgid "Vietnamese \"numeric row\" QWERTY"
+msgstr " \" \" QWERTY"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Choose an X server"
-msgstr " X "
+#: ../../keyboard.pm_.c:263
+msgid "Yugoslavian (latin)"
+msgstr " ()"
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid "Copying to memory to allow removing the CDROM"
+#: ../../keyboard.pm_.c:270
+msgid "Right Alt key"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Swap partition size in MB: "
-msgstr " swap- MB: "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No changes to backup!"
-msgstr " !"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Formatted\n"
-msgstr "\n"
+#: ../../keyboard.pm_.c:271
+msgid "Both Shift keys simultaneously"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Type of install"
-msgstr " "
+#: ../../keyboard.pm_.c:272
+msgid "Control and Shift keys simultaneously"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer \"%s\" on SMB/Windows server \"%s\""
-msgstr " \"%s\" SMB/Windows \"%s\""
+#: ../../keyboard.pm_.c:273
+msgid "CapsLock key"
+msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated numbers"
-msgstr "%d "
+#: ../../keyboard.pm_.c:274
+msgid "Ctrl and Alt keys simultaneously"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"The rusers protocol allows users on a network to identify who is\n"
-"logged in on other responding machines."
+#: ../../keyboard.pm_.c:275
+msgid "Alt and Shift keys simultaneously"
msgstr ""
-"rusers \n"
-" ."
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Automatic Steps Configuration"
-msgstr " "
+#: ../../keyboard.pm_.c:276
+msgid "\"Menu\" key"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Barbados"
-msgstr ""
+#: ../../keyboard.pm_.c:277
+msgid "Left \"Windows\" key"
+msgstr ""
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid ""
-"Want to know more and to contribute to the Open Source community? Get "
-"involved in the Free Software world!"
+#: ../../keyboard.pm_.c:278
+msgid "Right \"Windows\" key"
msgstr ""
-" ? "
-" "
-#: ../../standalone/drakbackup:1
+#: ../../loopback.pm_.c:32
#, c-format
-msgid "Please select data to backup..."
-msgstr ", ..."
+msgid "Circular mounts %s\n"
+msgstr "\" \" : %s\n"
-#: ../../standalone/net_monitor:1
-#, c-format
+#: ../../lvm.pm_.c:103
+msgid "Remove the logical volumes first\n"
+msgstr " \n"
+
+#: ../../modules.pm_.c:290
msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
+"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
msgstr ""
-" .\n"
-" Mandrake."
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable su only from the wheel group members or for any user"
+#: ../../modules/interactive.pm_.c:16
+msgid "You can configure each parameter of the module here."
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_New"
-msgstr "//_"
+#: ../../modules/parameters.pm_.c:18
+#, fuzzy
+msgid "modinfo is not available"
+msgstr " "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DNS Server IP"
-msgstr "DNS IP"
+#: ../../modules/parameters.pm_.c:50
+#, fuzzy
+msgid "a number"
+msgstr " "
-#: ../../standalone/drakTermServ:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "IP Range End:"
-msgstr " IP :"
+msgid "%d comma separated numbers"
+msgstr ""
-#: ../../security/level.pm:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "High"
-msgstr ""
+msgid "%d comma separated strings"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Add a new printer to the system"
-msgstr " "
+#: ../../modules/parameters.pm_.c:54
+msgid "comma separated numbers"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "NoVideo"
-msgstr " "
+#: ../../modules/parameters.pm_.c:54
+#, fuzzy
+msgid "comma separated strings"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "this field describes the device"
-msgstr " "
+#: ../../mouse.pm_.c:25
+msgid "Sun - Mouse"
+msgstr " Sun"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
-msgstr " Star Office/OpenOffice.org/GIMP"
+#: ../../mouse.pm_.c:32
+msgid "Logitech MouseMan+"
+msgstr "Logitech MouseMan+"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printers"
-msgstr " "
+#: ../../mouse.pm_.c:33
+msgid "Generic PS2 Wheel Mouse"
+msgstr " PS2 "
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Installation image directory"
-msgstr " "
+#: ../../mouse.pm_.c:34
+msgid "GlidePoint"
+msgstr "GlidePoint"
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Server"
-msgstr "NIS "
+#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:65
+msgid "Kensington Thinking Mouse"
+msgstr "Kensington THinking Mouse"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Port: %s"
-msgstr ": %s"
+#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:61
+msgid "Genius NetMouse"
+msgstr "Genuis NetMouse"
-#: ../../lang.pm:1
-#, c-format
-msgid "Spain"
-msgstr ""
+#: ../../mouse.pm_.c:38
+msgid "Genius NetScroll"
+msgstr "Genius NetScroll"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: %s"
-msgstr ""
+#: ../../mouse.pm_.c:39 ../../mouse.pm_.c:48
+#, fuzzy
+msgid "Microsoft Explorer"
+msgstr "Microsoft IntelliMouse"
-#: ../../any.pm:1
-#, c-format
-msgid "This user name has already been added"
-msgstr " "
+#: ../../mouse.pm_.c:44 ../../mouse.pm_.c:70
+msgid "1 button"
+msgstr "1 "
-#: ../../interactive.pm:1
-#, c-format
-msgid "Choose a file"
-msgstr " "
+#: ../../mouse.pm_.c:45 ../../mouse.pm_.c:53
+msgid "Generic 2 Button Mouse"
+msgstr " 2- "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Apply"
-msgstr ""
+#: ../../mouse.pm_.c:47
+msgid "Wheel"
+msgstr "Wheel"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Auto-detect available ports"
-msgstr " "
+#: ../../mouse.pm_.c:51
+msgid "serial"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "San Marino"
-msgstr " "
+#: ../../mouse.pm_.c:54
+msgid "Generic 3 Button Mouse"
+msgstr " 3- "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently disabled"
-msgstr " ."
+#: ../../mouse.pm_.c:55
+msgid "Microsoft IntelliMouse"
+msgstr "Microsoft IntelliMouse"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Belgium"
-msgstr ""
+#: ../../mouse.pm_.c:56
+msgid "Logitech MouseMan"
+msgstr "Logitech MouseMan"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kuwait"
-msgstr ""
+#: ../../mouse.pm_.c:57
+msgid "Mouse Systems"
+msgstr "Mouse Systems"
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the window manager to run:"
-msgstr " :"
+#: ../../mouse.pm_.c:59
+msgid "Logitech CC Series"
+msgstr "Logitech CC Series"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "December"
-msgstr ""
+#: ../../mouse.pm_.c:60
+msgid "Logitech MouseMan+/FirstMouse+"
+msgstr "Logitech MouseMan+/FirstMouse+"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "sub generation of the cpu"
-msgstr ""
+#: ../../mouse.pm_.c:62
+msgid "MM Series"
+msgstr "MM Series"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "First Time Wizard"
-msgstr " "
+#: ../../mouse.pm_.c:63
+msgid "MM HitTablet"
+msgstr "MM HitTablet"
-#: ../../lang.pm:1
-#, c-format
-msgid "Taiwan"
-msgstr ""
+#: ../../mouse.pm_.c:64
+msgid "Logitech Mouse (serial, old C7 type)"
+msgstr "Logitech Mouse (, C7)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Pakistan"
-msgstr ""
+#: ../../mouse.pm_.c:68
+msgid "busmouse"
+msgstr "BUS "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "please wait, parsing file: %s"
-msgstr " , : %s"
+#: ../../mouse.pm_.c:71
+msgid "2 buttons"
+msgstr "2 "
-#: ../../install_steps.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
-msgstr ""
-" , .\n"
-" ."
+#: ../../mouse.pm_.c:72
+msgid "3 buttons"
+msgstr "3 "
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Importance: "
-msgstr ":"
+#: ../../mouse.pm_.c:75
+msgid "none"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To be able to print with your Lexmark inkjet and this configuration, you "
-"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
-"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
-"\"Linux\" as operating system. The drivers come as RPM packages or shell "
-"scripts with interactive graphical installation. You do not need to do this "
-"configuration by the graphical frontends. Cancel directly after the license "
-"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
-"adjust the head alignment settings with this program."
-msgstr ""
+#: ../../mouse.pm_.c:77
+msgid "No mouse"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Permissions"
-msgstr ""
+#: ../../mouse.pm_.c:490
+msgid "Please test the mouse"
+msgstr ", "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider name (ex provider.net)"
-msgstr " (. provider.net)"
+#: ../../mouse.pm_.c:491
+msgid "To activate the mouse,"
+msgstr " ,"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid ""
-"Your system is low on resources. You may have some problem installing\n"
-"Mandrake Linux. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
-" . \n"
-" Mandrake Linux. . "
-",\n"
-" 'F1', CDROM ''."
+#: ../../mouse.pm_.c:492
+msgid "MOVE YOUR WHEEL!"
+msgstr " !"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use the Windows partition for loopback"
-msgstr " Windows loopback"
+#: ../../my_gtk.pm_.c:65
+#, fuzzy
+msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
+msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (typewriter)"
-msgstr " ( )"
+#: ../../my_gtk.pm_.c:159 ../../ugtk2.pm_.c:435
+msgid "Finish"
+msgstr ""
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection type: "
-msgstr " : "
+#: ../../my_gtk.pm_.c:159 ../../printer/printerdrake.pm_.c:2057
+#: ../../ugtk2.pm_.c:435
+msgid "Next ->"
+msgstr " ->"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Graphical interface"
-msgstr " "
+#: ../../my_gtk.pm_.c:287 ../../ugtk2.pm_.c:926
+msgid "Is this correct?"
+msgstr " ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Chad"
-msgstr ""
+#: ../../my_gtk.pm_.c:359 ../../services.pm_.c:227 ../../ugtk2.pm_.c:1011
+msgid "Info"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "India"
-msgstr ""
+#: ../../my_gtk.pm_.c:380 ../../ugtk2.pm_.c:1036
+msgid "Expand Tree"
+msgstr " "
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s 3D "
+#: ../../my_gtk.pm_.c:381 ../../ugtk2.pm_.c:1037
+msgid "Collapse Tree"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovakia"
-msgstr ""
+#: ../../my_gtk.pm_.c:382 ../../ugtk2.pm_.c:1038
+msgid "Toggle between flat and group sorted"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Singapore"
-msgstr ""
+#: ../../network/adsl.pm_.c:23
+msgid "use pppoe"
+msgstr " PPPOE"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cambodia"
-msgstr ""
+#: ../../network/adsl.pm_.c:24
+msgid "use pptp"
+msgstr " PPPTP"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr " : %s\n"
+#: ../../network/adsl.pm_.c:25
+msgid "use dhcp"
+msgstr " DHCP"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path"
-msgstr ""
+#: ../../network/adsl.pm_.c:26
+msgid "Alcatel speedtouch usb"
+msgstr "Alcatel speedtouch USB"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "NOT FOUND"
+#: ../../network/adsl.pm_.c:27
+msgid "Sagem (using pppoe) usb"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here you can specify any arbitrary command line into which the job should be "
-"piped instead of being sent directly to a printer."
-msgstr ""
+#: ../../network/adsl.pm_.c:29 ../../network/ethernet.pm_.c:36
+msgid "Connect to the Internet"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/adsl.pm_.c:30
msgid ""
-"The printing system (%s) will not be started automatically when the machine "
-"is booted.\n"
-"\n"
-"It is possible that the automatic starting was turned off by changing to a "
-"higher security level, because the printing system is a potential point for "
-"attacks.\n"
-"\n"
-"Do you want to have the automatic starting of the printing system turned on "
-"again?"
+"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'."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/adsl.pm_.c:166
msgid ""
-"Printer %s\n"
-"What do you want to modify on this printer?"
+"You need the alcatel microcode.\n"
+"Download it at\n"
+"http://www.speedtouchdsl.com/dvrreg_lx.htm\n"
+"and copy the mgmt.o in /usr/share/speedtouch"
msgstr ""
-" %s\n"
-" ?"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add host"
-msgstr " "
+#: ../../network/drakfirewall.pm_.c:12
+#, fuzzy
+msgid "Web Server"
+msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:17
+#, fuzzy
+msgid "Domain Name Server"
+msgstr " "
+
+#: ../../network/drakfirewall.pm_.c:32
+#, fuzzy
+msgid "Mail Server"
+msgstr " -"
+
+#: ../../network/drakfirewall.pm_.c:37
+#, fuzzy
+msgid "POP and IMAP Server"
+msgstr "LDAP "
+
+#: ../../network/drakfirewall.pm_.c:111
+#, fuzzy
+msgid "No network card"
+msgstr " "
+
+#: ../../network/drakfirewall.pm_.c:129
+#, fuzzy
msgid ""
-"If you really think that you know which driver is the right one for your "
-"card\n"
-"you can pick one in the above list.\n"
+"drakfirewall configurator\n"
"\n"
-"The current driver for your \"%s\" sound card is \"%s\" "
+"This configures a personal firewall for this Mandrake Linux machine.\n"
+"For a powerful dedicated firewall solution, please look to the\n"
+"specialized MandrakeSecurity Firewall distribution."
msgstr ""
-" , \n"
-" .\n"
+" \n"
"\n"
-" \"%s\" \"%s\" "
+" Mandrake Linux .\n"
+" , , \n"
+"MandrakeSecurity Firewall ."
-#: ../../any.pm:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:135
msgid ""
-"Would you like to allow users to share some of their directories?\n"
-"Allowing this will permit users to simply click on \"Share\" in konqueror "
-"and nautilus.\n"
+"drakfirewall configurator\n"
"\n"
-"\"Custom\" permit a per-user granularity.\n"
+"Make sure you have configured your Network/Internet access with\n"
+"drakconnect before going any further."
msgstr ""
-" ?\n"
-" "
-"\"\" konqueror nautilus.\n"
-"\n"
-"\"\" .\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Please choose load or save package selection on floppy.\n"
-"The format is the same as auto_install generated floppies."
+#: ../../network/drakfirewall.pm_.c:152
+msgid "Which services would you like to allow the Internet to connect to?"
msgstr ""
-" .\n"
-" auto_install ."
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "No CDROM support"
-msgstr " :"
+#: ../../network/drakfirewall.pm_.c:153
+msgid ""
+"You can enter miscellaneous ports. \n"
+"Valid examples are: 139/tcp 139/udp.\n"
+"Have a look at /etc/services for information."
+msgstr ""
-#: ../../standalone/drakxtv:1
+#: ../../network/drakfirewall.pm_.c:159
#, c-format
-msgid "China (broadcast)"
+msgid ""
+"Invalid port given: %s.\n"
+"The proper format is \"port/tcp\" or \"port/udp\", \n"
+"where port is between 1 and 65535."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use quota for backup files."
-msgstr " ."
+#: ../../network/drakfirewall.pm_.c:167
+msgid "Everything (no firewall)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer \"%s\"..."
-msgstr " \"%s\"..."
+#: ../../network/drakfirewall.pm_.c:169
+#, fuzzy
+msgid "Other ports"
+msgstr " "
-#: ../../fs.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:37
msgid ""
-"Do not allow execution of any binaries on the mounted\n"
-"file system. This option might be useful for a server that has file systems\n"
-"containing binaries for architectures other than its own."
+"Which dhcp client do you want to use?\n"
+"Default is dhcp-client"
msgstr ""
+" DHCP ?\n"
+" dhcp-client ?"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Internet connection"
-msgstr " "
-
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:88
msgid ""
-"Loading module %s failed.\n"
-"Do you want to try again with other parameters?"
+"No ethernet network adapter has been detected on your system.\n"
+"I cannot set up this connection type."
msgstr ""
-" %s .\n"
-" ?"
+" .\n"
+" ."
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Welcome to the Open Source world."
-msgstr " "
+#: ../../network/ethernet.pm_.c:92 ../../standalone/drakgw_.c:234
+msgid "Choose the network interface"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Bosnia and Herzegovina"
-msgstr " "
+#: ../../network/ethernet.pm_.c:93
+msgid ""
+"Please choose which network adapter you want to use to connect to Internet"
+msgstr ", "
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:176
+msgid "no network card found"
+msgstr " "
+
+#: ../../network/ethernet.pm_.c:200 ../../network/network.pm_.c:349
+msgid "Configuring network"
+msgstr " "
+
+#: ../../network/ethernet.pm_.c:201
msgid ""
-"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
-"point\n"
+"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 ""
-" (ext2, reiserfs,xfs, jfs) "
-" \n"
+", .\n"
+" DHCP .\n"
+"Host ,\n"
+" ``mybox.mylab.myco.com''."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "You must enter a host name or an IP address.\n"
-msgstr " IP .\n"
+#: ../../network/ethernet.pm_.c:205 ../../network/network.pm_.c:354
+msgid "Host name"
+msgstr " :"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Netherlands"
-msgstr ""
+#: ../../network/isdn.pm_.c:21 ../../network/isdn.pm_.c:44
+#: ../../network/netconnect.pm_.c:89 ../../network/netconnect.pm_.c:103
+#: ../../network/netconnect.pm_.c:156 ../../network/netconnect.pm_.c:171
+#: ../../network/netconnect.pm_.c:222 ../../network/netconnect.pm_.c:245
+#: ../../network/netconnect.pm_.c:253
+msgid "Network Configuration Wizard"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Sending files by FTP"
-msgstr " FTP..."
+#: ../../network/isdn.pm_.c:22
+msgid "External ISDN modem"
+msgstr " ISDN "
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:22
msgid "Internal ISDN card"
msgstr " ISDN "
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
-"currently uses \"%s\""
-msgstr ""
-" OSS/ALSA (%s) "
-" \"%s\""
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Title"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Install & convert Fonts"
-msgstr ""
+#: ../../network/isdn.pm_.c:22
+msgid "What kind is your ISDN connection?"
+msgstr " ISDN ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WARNING"
+#: ../../network/isdn.pm_.c:45
+msgid ""
+"Which ISDN configuration do you prefer?\n"
+"\n"
+"* The Old configuration uses isdn4net. It contains powerful\n"
+" tools, but is tricky to configure, and not standard.\n"
+"\n"
+"* The New configuration is easier to understand, more\n"
+" standard, but with less tools.\n"
+"\n"
+"We recommand the light configuration.\n"
msgstr ""
+" ISDN ?\n"
+"\n"
+"* isdn4net. \n"
+" .\n"
+"\n"
+"* - , ,\n"
+" - .\n"
+"\n"
+" .\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing bootloader"
-msgstr " bootloader"
+#: ../../network/isdn.pm_.c:54
+msgid "New configuration (isdn-light)"
+msgstr " (isdn-light)"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "replay"
-msgstr ""
+#: ../../network/isdn.pm_.c:54
+msgid "Old configuration (isdn4net)"
+msgstr " (isdn4net)"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected %s"
-msgstr " %s"
+#: ../../network/isdn.pm_.c:166 ../../network/isdn.pm_.c:184
+#: ../../network/isdn.pm_.c:196 ../../network/isdn.pm_.c:202
+#: ../../network/isdn.pm_.c:209 ../../network/isdn.pm_.c:219
+msgid "ISDN Configuration"
+msgstr " IDSN"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/isdn.pm_.c:166
msgid ""
-"Expect is an extension to the Tcl scripting language that allows interactive "
-"sessions without user intervention."
+"Select your provider.\n"
+"If it isn't listed, choose Unlisted."
msgstr ""
+" .\n"
+" , Unlisted"
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (U.S.)"
-msgstr " ()"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol"
+msgstr " "
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Bad backup file"
-msgstr " backup-"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol (EDSS1)"
+msgstr " (EDSS1)"
-#: ../../standalone/drakgw:1
-#, c-format
-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"
-" ?"
+#: ../../network/isdn.pm_.c:181
+msgid "Protocol for the rest of the world"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter IP address and port of the host whose printers you want to use."
+#: ../../network/isdn.pm_.c:181
+msgid ""
+"Protocol for the rest of the world\n"
+"No D-Channel (leased lines)"
msgstr ""
+" \n"
+" D- ( )"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Pipe into command"
-msgstr " "
+#: ../../network/isdn.pm_.c:185
+msgid "Which protocol do you want to use?"
+msgstr " ?"
-#: ../../install_interactive.pm:1
+#: ../../network/isdn.pm_.c:196
#, c-format
-msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
+msgid "Found \"%s\" interface do you want to use it ?"
msgstr ""
-" `` '' , "
-" .\n"
-" : %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Haiti"
-msgstr ""
+#: ../../network/isdn.pm_.c:203
+msgid "What kind of card do you have?"
+msgstr " ?"
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detecting devices..."
-msgstr " ..."
+#: ../../network/isdn.pm_.c:204
+msgid "I don't know"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Custom allows you to specify your own day and time. The other options use "
-"run-parts in /etc/crontab."
-msgstr ""
+#: ../../network/isdn.pm_.c:204
+msgid "ISA / PCMCIA"
+msgstr "ISA / PCMCIA"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/isdn.pm_.c:204
+msgid "PCI"
+msgstr "PCI"
+
+#: ../../network/isdn.pm_.c:210
msgid ""
-"Description of the fields:\n"
"\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"
"\n"
+" ISA , .\n"
+"\n"
+" PCMCIA , IRC IO .\n"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Basic options"
-msgstr " "
+#: ../../network/isdn.pm_.c:214
+msgid "Abort"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the name of the CPU"
-msgstr " "
+#: ../../network/isdn.pm_.c:214
+msgid "Continue"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Accept bogus IPv4 error messages"
-msgstr " IPv4 ."
+#: ../../network/isdn.pm_.c:220
+msgid "Which is your ISDN card?"
+msgstr " ISDN ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refreshing printer data..."
-msgstr " ..."
+#: ../../network/isdn.pm_.c:239
+msgid ""
+"I have detected an ISDN PCI card, but I don't know its type. Please select a "
+"PCI card on the next screen."
+msgstr ""
+" ISDN PCI , . PCI "
+" ."
-#: ../../install2.pm:1
-#, c-format
-msgid "You must also format %s"
-msgstr " %s"
+#: ../../network/isdn.pm_.c:248
+msgid "No ISDN PCI card found. Please select one on the next screen."
+msgstr " ISDN PCI . ."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Be careful: this operation is dangerous."
-msgstr ": "
+#: ../../network/modem.pm_.c:57
+msgid "Please choose which serial port your modem is connected to."
+msgstr ", ."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Insert a floppy containing package selection"
-msgstr " "
+#: ../../network/modem.pm_.c:67
+msgid "Dialup options"
+msgstr " "
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server: "
-msgstr ": "
+#: ../../network/modem.pm_.c:68 ../../standalone/drakconnect_.c:619
+msgid "Connection name"
+msgstr " "
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Alerts:"
-msgstr " :"
+#: ../../network/modem.pm_.c:69 ../../standalone/drakconnect_.c:620
+msgid "Phone number"
+msgstr " "
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Sweden"
-msgstr ""
+#: ../../network/modem.pm_.c:70 ../../standalone/drakconnect_.c:621
+msgid "Login ID"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Expect for SSH"
-msgstr ""
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "CHAP"
+msgstr "CHAP"
-#: ../../lang.pm:1
-#, c-format
-msgid "Poland"
-msgstr ""
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "PAP"
+msgstr "PAP"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Other ports"
-msgstr " "
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Script-based"
+msgstr " "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "number of capture buffers for mmap'ed capture"
-msgstr ""
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Terminal-based"
+msgstr " "
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid " - detected"
-msgstr " "
+#: ../../network/modem.pm_.c:73 ../../standalone/drakconnect_.c:624
+msgid "Domain name"
+msgstr " "
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SMBus controllers"
-msgstr "SMBus "
+#: ../../network/modem.pm_.c:74 ../../standalone/drakconnect_.c:625
+msgid "First DNS Server (optional)"
+msgstr " DNS ( )"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection timeout (in sec)"
-msgstr "Timeout ( )"
+#: ../../network/modem.pm_.c:75 ../../standalone/drakconnect_.c:626
+msgid "Second DNS Server (optional)"
+msgstr " DNS ( )"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/modem.pm_.c:95
msgid ""
-"Some of the early i486DX-100 chips cannot reliably return to operating mode "
-"after the \"halt\" instruction is used"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Croatian"
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid "Use existing partition"
-msgstr " "
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Unable to contact mirror %s"
-msgstr " ' %s"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Help/_About..."
-msgstr "//_..."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remove user directories before restore."
+"Your modem isn't supported by the system.\n"
+"Take a look at http://www.linmodems.org"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../network/modem.pm_.c:97
#, c-format
msgid ""
-"You are going to configure a remote printer. This needs working network "
-"access, but your network is not configured yet. If you go on without network "
-"configuration, you will not be able to use the printer which you are "
-"configuring now. How do you want to proceed?"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS printer configuration"
-msgstr " CUPS "
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font in your mounted partitions"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "F00f bug"
+"\"%s\" based winmodem detected, do you want to install needed software ?"
msgstr ""
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Domain Name:"
-msgstr " :"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Do nothing"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Root umask"
-msgstr "Root umask"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Install rpm"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "On Floppy"
-msgstr " "
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Title"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Reboot by the console user"
+#: ../../network/netconnect.pm_.c:29
+msgid ""
+"\n"
+"You can disconnect or reconfigure your connection."
msgstr ""
+"\n"
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore"
-msgstr ""
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Server:"
-msgstr ": "
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check if the network devices are in promiscuous mode."
+#: ../../network/netconnect.pm_.c:29 ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can reconfigure your connection."
msgstr ""
+"\n"
+" ."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages..."
-msgstr " ..."
-
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Please wait, setting up system configuration files on USB key..."
-msgstr ", ..."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Init Message"
-msgstr " "
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Rescue partition table"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cyprus"
-msgstr ""
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connection complete."
-msgstr " ."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from RAID"
-msgstr " RAID"
+#: ../../network/netconnect.pm_.c:29
+msgid "You are currently connected to internet."
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This encryption key is too simple (must be at least %d characters long)"
+#: ../../network/netconnect.pm_.c:32
+msgid ""
+"\n"
+"You can connect to Internet or reconfigure your connection."
msgstr ""
-" ( %d )"
+"\n"
+" ."
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Configuration Wizards"
-msgstr " "
+#: ../../network/netconnect.pm_.c:32
+msgid "You are not currently connected to Internet."
+msgstr " "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ISDN connection"
-msgstr "ISDN "
+#: ../../network/netconnect.pm_.c:36
+msgid "Connect"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD-R / DVD-R"
-msgstr "CDROM / DVDROM"
+#: ../../network/netconnect.pm_.c:37
+msgid "Disconnect"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "primary"
-msgstr ""
+#: ../../network/netconnect.pm_.c:38
+#, fuzzy
+msgid "Configure the connection"
+msgstr " "
+
+#: ../../network/netconnect.pm_.c:41
+msgid "Internet connection & configuration"
+msgstr " "
-#: ../../printer/main.pm:1
+#: ../../network/netconnect.pm_.c:94
#, c-format
-msgid " on SMB/Windows server \"%s\", share \"%s\""
-msgstr " SMB/Windows \"%s\", \"%s\""
+msgid "We are now going to configure the %s connection."
+msgstr " %s ."
-#: ../../help.pm:1
+#: ../../network/netconnect.pm_.c:103
#, c-format
msgid ""
-"This dialog is used to choose which services you wish to start at boot\n"
-"time.\n"
"\n"
-"DrakX will list all the services available on the current installation.\n"
-"Review each one carefully and uncheck those which are not needed at boot\n"
-"time.\n"
"\n"
-"A short explanatory text will be displayed about a service when it is\n"
-"selected. However, if you are not sure whether a service is useful or not,\n"
-"it is safer to leave the default behavior.\n"
"\n"
-"!! At this stage, be very careful if you intend to use your machine as a\n"
-"server: you will probably not want to start any services that you do not\n"
-"need. Please remember that several services can be dangerous if they are\n"
-"enabled on a server. In general, select only the services you really need.\n"
-"!!"
+"We are now going to configure the %s connection.\n"
+"\n"
+"\n"
+"Press OK to continue."
msgstr ""
-" .\n"
"\n"
-" , .\n"
-" , "
-".\n"
"\n"
-" , "
-" \n"
-" . , , "
-"-\n"
-" .\n"
"\n"
-" , "
-":\n"
-" , . ,\n"
-", , "
-".\n"
-" , , .\n"
-"!!"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Niue"
-msgstr ""
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Skip"
-msgstr ""
+" %s .\n"
+"\n"
+" OK, ."
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
-msgstr ""
-"/ , \n"
-" ."
+#: ../../network/netconnect.pm_.c:132 ../../network/netconnect.pm_.c:272
+#: ../../network/netconnect.pm_.c:292 ../../network/tools.pm_.c:77
+msgid "Network Configuration"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/netconnect.pm_.c:133
msgid ""
-"the CPU frequency in MHz (Megahertz which in first approximation may be "
-"coarsely assimilated to number of instructions the cpu is able to execute "
-"per second)"
-msgstr " Mhz"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "important"
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Mandrake Linux Printer Management Tool"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total Progress"
+"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"
-#: ../../help.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:157
msgid ""
-"DrakX will first detect any IDE devices present in your computer. It will\n"
-"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
-"found, DrakX will automatically install the appropriate driver.\n"
-"\n"
-"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
-"your hard drives. If so, you'll have to specify your hardware by hand.\n"
-"\n"
-"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
-"want to configure options for it. You should allow DrakX to probe the\n"
-"hardware for the card-specific options which are needed to initialize the\n"
-"adapter. Most of the time, DrakX will get through this step without any\n"
-"issues.\n"
+"Welcome to The Network Configuration Wizard.\n"
"\n"
-"If DrakX is not able to probe for the options to automatically determine\n"
-"which parameters need to be passed to the hardware, you'll need to manually\n"
-"configure the driver."
+"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"
-#: ../../lang.pm:1
-#, c-format
-msgid "Aruba"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Users"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing bootloader..."
-msgstr " bootloader"
-
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Enter your user information, password will be used for screensaver"
-msgstr ""
+#: ../../network/netconnect.pm_.c:163
+msgid "Choose the profile to configure"
+msgstr " "
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway (e.g. %s)"
-msgstr "Gateway (. %s)"
+#: ../../network/netconnect.pm_.c:164
+msgid "Use auto detection"
+msgstr " "
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "The passwords do not match"
-msgstr " "
+#: ../../network/netconnect.pm_.c:165 ../../printer/printerdrake.pm_.c:2966
+#: ../../standalone/drakconnect_.c:271 ../../standalone/drakconnect_.c:274
+#: ../../standalone/drakfloppy_.c:118
+msgid "Expert Mode"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Examples for correct IPs:\n"
-msgstr " IP:\n"
+#: ../../network/netconnect.pm_.c:171 ../../printer/printerdrake.pm_.c:364
+msgid "Detecting devices..."
+msgstr " ..."
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please choose the media for backup."
-msgstr ""
-", \n"
-" ."
+#: ../../network/netconnect.pm_.c:214
+msgid "Normal modem connection"
+msgstr " "
-#: ../../standalone/harddrake2:1
+#: ../../network/netconnect.pm_.c:214
#, c-format
-msgid "Frequency (MHz)"
-msgstr " (MHz)"
+msgid "detected on port %s"
+msgstr " %s"
-#: ../../install_any.pm:1
-#, c-format
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
-msgstr ""
-" , ``linux "
-"defcfg=floppy''"
+#: ../../network/netconnect.pm_.c:215
+#, fuzzy
+msgid "Winmodem connection"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the number of the processor"
-msgstr " "
+#: ../../network/netconnect.pm_.c:215 ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "detected"
+msgstr " %s"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware clock set to GMT"
-msgstr " GMT"
+#: ../../network/netconnect.pm_.c:216
+msgid "ISDN connection"
+msgstr "ISDN "
-#: ../../network/isdn.pm:1
+#: ../../network/netconnect.pm_.c:216
#, c-format
-msgid "Do you want to start a new configuration ?"
-msgstr " ?"
+msgid "detected %s"
+msgstr " %s"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Give a file name"
-msgstr " "
+#: ../../network/netconnect.pm_.c:217
+msgid "ADSL connection"
+msgstr "ADSL "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Please choose the port that your printer is connected to."
-msgstr ", ."
+#: ../../network/netconnect.pm_.c:218
+msgid "Cable connection"
+msgstr " "
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Change Cd-Rom"
-msgstr " CD-ROM"
+#: ../../network/netconnect.pm_.c:218
+msgid "cable connection detected"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Paraguay"
-msgstr ""
+#: ../../network/netconnect.pm_.c:219
+msgid "LAN connection"
+msgstr "LAN "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Configuration is complete, do you want to apply settings ?"
-msgstr " , ?"
+#: ../../network/netconnect.pm_.c:219
+msgid "ethernet card(s) detected"
+msgstr "ethernet "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental/Differential Backups (do not replace old backups)"
-msgstr ""
-" / ( "
-")"
+#: ../../network/netconnect.pm_.c:222
+msgid "Choose the connection you want to configure"
+msgstr " , "
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../network/netconnect.pm_.c:246
msgid ""
-" - Maintain /etc/dhcpd.conf:\n"
-" \tTo net boot clients, each client needs a dhcpd.conf entry, "
-"assigning an IP \n"
-" \taddress and net boot images to the machine. drakTermServ helps "
-"create/remove \n"
-" \tthese entries.\n"
-"\t\t\t\n"
-" \t(PCI cards may omit the image - etherboot will request the correct "
-"image. \n"
-"\t\t\tYou should also consider that when etherboot looks for the images, it "
-"expects \n"
-"\t\t\tnames like boot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
-"\t\t\t \n"
-" \tA typical dhcpd.conf stanza to support a diskless client looks "
-"like:"
+"You have configured multiple ways to connect to the Internet.\n"
+"Choose the one you want to use.\n"
+"\n"
msgstr ""
+" .\n"
+" , .\n"
+"\n"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no known driver for your sound card (%s)"
-msgstr " (%s)"
+#: ../../network/netconnect.pm_.c:247
+msgid "Internet connection"
+msgstr " "
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "force"
-msgstr ""
+#: ../../network/netconnect.pm_.c:253
+msgid "Do you want to start the connection at boot?"
+msgstr " ?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Exit"
-msgstr ""
+#: ../../network/netconnect.pm_.c:267
+msgid "Network configuration"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../network/netconnect.pm_.c:268
+msgid "The network needs to be restarted"
+msgstr " "
+
+#: ../../network/netconnect.pm_.c:272
#, c-format
msgid ""
-"NOTE: Depending on the printer model and the printing system up to %d MB of "
-"additional software will be installed."
+"A problem occured while restarting the network: \n"
+"\n"
+"%s"
msgstr ""
-": %d MB "
-" ."
+" :\n"
+"\n"
+"%s"
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../network/netconnect.pm_.c:282
msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
+"Congratulations, the network and Internet configuration is finished.\n"
+"The configuration will now be applied to your system.\n"
+"\n"
msgstr ""
-" .\n"
-" , ''"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Estonian"
-msgstr ""
+", .\n"
+"\n"
+" .\n"
-#: ../../services.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:286
msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+"After this is done, we recommend that you restart your X environment to "
+"avoid any hostname-related problems."
msgstr ""
-"Apache World Wide Web (WWW) . HTML "
-"\n"
-" CGI."
+" , X\n"
+" , ."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/netconnect.pm_.c:287
msgid ""
-"Enter your CD Writer device name\n"
-" ex: 0,1,0"
+"Problems occured during configuration.\n"
+"Test your connection via net_monitor or mcc. If your connection doesn't "
+"work, you might want to relaunch the configuration."
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ALL"
+#: ../../network/network.pm_.c:278
+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"
+" - ."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Clients"
-msgstr "/ "
+#: ../../network/network.pm_.c:283
+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/ethernet.pm:1 ../../standalone/drakgw:1
-#: ../../standalone/drakpxe:1
+#: ../../network/network.pm_.c:293 ../../network/network.pm_.c:294
#, c-format
-msgid "Choose the network interface"
-msgstr " "
+msgid "Configuring network device %s"
+msgstr " %s"
-#: ../../printer/detect.pm:1 ../../printer/printerdrake.pm:1
+#: ../../network/network.pm_.c:294
#, c-format
-msgid "Unknown Model"
-msgstr " "
+msgid " (driver %s)"
+msgstr " ( %s)"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CD/DVD burners"
-msgstr "CD/DVD "
+#: ../../network/network.pm_.c:296 ../../standalone/drakconnect_.c:228
+#: ../../standalone/drakconnect_.c:464
+msgid "IP address"
+msgstr "IP "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
-msgstr ""
-", \n"
-" ( MS-DOS boot, lilo)\n"
+#: ../../network/network.pm_.c:297 ../../standalone/drakconnect_.c:465
+#: ../../standalone/drakgw_.c:291
+msgid "Netmask"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Enable \"%s\" to read the file"
-msgstr ""
+#: ../../network/network.pm_.c:298
+msgid "(bootp/dhcp)"
+msgstr "(bootp/dhcp)"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image"
-msgstr " "
+#: ../../network/network.pm_.c:298
+msgid "Automatic IP"
+msgstr " IP "
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid "Firewalling configuration detected!"
-msgstr " !"
+#: ../../network/network.pm_.c:299
+#, fuzzy
+msgid "Start at boot"
+msgstr " "
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection name"
-msgstr " "
+#: ../../network/network.pm_.c:320 ../../printer/printerdrake.pm_.c:812
+msgid "IP address should be in format 1.2.3.4"
+msgstr "IP 1.2.3.4"
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../network/network.pm_.c:326
msgid ""
-"x coordinate of text box\n"
-"in number of characters"
+"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
+"frequency), or add enough '0'."
msgstr ""
-"x \n"
-" "
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/network.pm_.c:330
msgid ""
-"You may not be able to install lilo (since lilo doesn't handle a LV on "
-"multiple PVs)"
+"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
+"enough '0'."
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Updating package selection"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount the loopback file %s?"
-msgstr " loopback- %s ?"
-
-#: ../../standalone/drakautoinst:1
-#, c-format
+#: ../../network/network.pm_.c:350
msgid ""
-"The floppy has been successfully generated.\n"
-"You may now replay your installation."
+"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"
-" ."
+", host name .\n"
+"Host ,\n"
+" ``mybox.mylab.myco.com''.\n"
+" IP gateway, "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use CD-R/DVD-R to backup"
-msgstr ""
+#: ../../network/network.pm_.c:355
+msgid "DNS server"
+msgstr "DNS "
-#: ../../standalone/harddrake2:1
+#: ../../network/network.pm_.c:356
#, c-format
-msgid "the number of buttons the mouse has"
-msgstr " "
+msgid "Gateway (e.g. %s)"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Replay"
-msgstr ""
+#: ../../network/network.pm_.c:358
+msgid "Gateway device"
+msgstr "Gateway "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup other files"
-msgstr " "
+#: ../../network/network.pm_.c:363
+#, fuzzy
+msgid "DNS server address should be in format 1.2.3.4"
+msgstr "IP 1.2.3.4"
-#: ../../install_steps.pm:1
-#, c-format
-msgid "No floppy drive available"
-msgstr " "
+#: ../../network/network.pm_.c:367
+#, fuzzy
+msgid "Gateway address should be in format 1.2.3.4"
+msgstr "IP 1.2.3.4"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files are corrupted"
-msgstr ""
+#: ../../network/network.pm_.c:381
+msgid "Proxies configuration"
+msgstr " proxy"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "TV norm:"
-msgstr ""
+#: ../../network/network.pm_.c:382
+msgid "HTTP proxy"
+msgstr "HTTP proxy"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid family"
-msgstr ""
+#: ../../network/network.pm_.c:383
+msgid "FTP proxy"
+msgstr "FTP proxy"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "32 MB"
-msgstr "32 "
+#: ../../network/network.pm_.c:384
+msgid "Track network card id (useful for laptops)"
+msgstr " ID ( )"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: thin"
-msgstr ": thin"
+#: ../../network/network.pm_.c:387
+msgid "Proxy should be http://..."
+msgstr "Proxy- http://..."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (new)"
-msgstr " AZERTY ()"
+#: ../../network/network.pm_.c:388
+#, fuzzy
+msgid "Url should begin with 'ftp:' or 'http:'"
+msgstr "URL 'http:'"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the arithmetic coprocessor has an exception vector attached"
-msgstr ""
+#: ../../network/shorewall.pm_.c:26
+msgid "Firewalling configuration detected!"
+msgstr " !"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/shorewall.pm_.c:27
msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"Please be sure to add a /boot partition"
+"Warning! An existing firewalling configuration has been detected. You may "
+"need some manual fix after installation."
msgstr ""
-" RAID root (/).\n"
-" , /boot .\n"
-" /boot "
+" ! . "
+" ."
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (MacOS...)"
-msgstr " (MacOS...)"
+#: ../../network/tools.pm_.c:57
+msgid "Internet configuration"
+msgstr " "
-#: ../../mouse.pm:1
-#, c-format
-msgid "To activate the mouse,"
-msgstr " ,"
+#: ../../network/tools.pm_.c:58
+msgid "Do you want to try to connect to the Internet now?"
+msgstr " ?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing up the network"
-msgstr " "
+#: ../../network/tools.pm_.c:61 ../../standalone/drakconnect_.c:193
+msgid "Testing your connection..."
+msgstr " ..."
-#: ../../common.pm:1
-#, c-format
-msgid "Screenshots will be available after install in %s"
-msgstr " %s"
+#: ../../network/tools.pm_.c:70
+msgid "The system is now connected to Internet."
+msgstr " ."
-#: ../../help.pm:1
-#, c-format
+#: ../../network/tools.pm_.c:71
+msgid "For security reason, it will be disconnected now."
+msgstr " , ."
+
+#: ../../network/tools.pm_.c:72
msgid ""
-"More than one Microsoft partition has been detected on your hard drive.\n"
-"Please choose which one you want to resize in order to install your new\n"
-"Mandrake Linux operating system.\n"
-"\n"
-"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
-"\"Capacity\".\n"
-"\n"
-"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc.\n"
-"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
-"disk or partition is called \"C:\")."
+"The system doesn't seem to be connected to internet.\n"
+"Try to reconfigure your connection."
msgstr ""
-" Microsoft Windows \n"
-" . , , "
-"\n"
-" Mandrake Linux .\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:\")."
+" .\n"
+" ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Tanzania"
-msgstr ""
+#: ../../network/tools.pm_.c:96
+msgid "Connection Configuration"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Computing FAT filesystem bounds"
-msgstr " fat "
+#: ../../network/tools.pm_.c:97
+msgid "Please fill or check the field below"
+msgstr ", -"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"Backup Sources: \n"
-msgstr ""
-"\n"
-" : \n"
+#: ../../network/tools.pm_.c:99 ../../standalone/drakconnect_.c:605
+msgid "Card IRQ"
+msgstr "IRQ "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "custom"
-msgstr ""
+#: ../../network/tools.pm_.c:100 ../../standalone/drakconnect_.c:606
+msgid "Card mem (DMA)"
+msgstr " (DMA) "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Content of the file"
-msgstr " "
+#: ../../network/tools.pm_.c:101 ../../standalone/drakconnect_.c:607
+msgid "Card IO"
+msgstr "IO "
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication LDAP"
-msgstr "LDAP "
+#: ../../network/tools.pm_.c:102 ../../standalone/drakconnect_.c:608
+msgid "Card IO_0"
+msgstr "IO_0 "
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "in order to keep %s"
-msgstr ""
+#: ../../network/tools.pm_.c:103 ../../standalone/drakconnect_.c:609
+msgid "Card IO_1"
+msgstr "IO_1 "
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Let me pick any driver"
-msgstr " "
+#: ../../network/tools.pm_.c:104 ../../standalone/drakconnect_.c:610
+msgid "Your personal phone number"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "transmitted"
-msgstr ""
+#: ../../network/tools.pm_.c:105 ../../standalone/drakconnect_.c:611
+msgid "Provider name (ex provider.net)"
+msgstr " (. provider.net)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palestine"
-msgstr ""
+#: ../../network/tools.pm_.c:106 ../../standalone/drakconnect_.c:612
+msgid "Provider phone number"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
+#: ../../network/tools.pm_.c:107 ../../standalone/drakconnect_.c:613
+msgid "Provider dns 1 (optional)"
+msgstr "1- DNS ( )"
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated strings"
-msgstr "%d "
+#: ../../network/tools.pm_.c:108 ../../standalone/drakconnect_.c:614
+msgid "Provider dns 2 (optional)"
+msgstr "2- DNS ( )"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " isdn"
-msgstr ""
+#: ../../network/tools.pm_.c:109
+msgid "Choose your country"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Here is the full list of keyboards available"
-msgstr " "
+#: ../../network/tools.pm_.c:110 ../../standalone/drakconnect_.c:617
+msgid "Dialing mode"
+msgstr " "
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Theme name"
-msgstr " "
+#: ../../network/tools.pm_.c:111 ../../standalone/drakconnect_.c:629
+msgid "Connection speed"
+msgstr " "
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Help"
-msgstr "/_"
+#: ../../network/tools.pm_.c:112 ../../standalone/drakconnect_.c:630
+msgid "Connection timeout (in sec)"
+msgstr "Timeout ( )"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Choosing an arbitrary driver"
-msgstr " "
+#: ../../network/tools.pm_.c:113 ../../standalone/drakconnect_.c:615
+msgid "Account Login (user name)"
+msgstr " ( )"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cook Islands"
-msgstr " "
+#: ../../network/tools.pm_.c:114 ../../standalone/drakconnect_.c:616
+#: ../../standalone/drakconnect_.c:647
+msgid "Account Password"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Here you can choose whether the scanners connected to this machine should be "
-"accessable by remote machines and by which remote machines."
+#: ../../network/tools.pm_.c:118 ../../network/tools.pm_.c:132
+msgid "United Kingdom"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the width of the progress bar"
-msgstr " "
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Formatting partition %s"
-msgstr " %s"
+#: ../../partition_table.pm_.c:603
+msgid "mount failed: "
+msgstr " : "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hostname required"
-msgstr " "
+#: ../../partition_table.pm_.c:667
+msgid "Extended partition not supported on this platform"
+msgstr " "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselect fonts installed"
+#: ../../partition_table.pm_.c:685
+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-"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Wheel"
-msgstr "Wheel"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Submit kernel version"
-msgstr " "
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakautoinst:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/logdrake:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
+#: ../../partition_table.pm_.c:774
#, c-format
-msgid "Cancel"
-msgstr ""
+msgid "Restoring from file %s failed: %s"
+msgstr " %s : %s"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for configured scanners ..."
-msgstr " ..."
+#: ../../partition_table.pm_.c:776
+msgid "Bad backup file"
+msgstr " backup-"
-#: ../../harddrake/data.pm:1
+#: ../../partition_table.pm_.c:796
#, c-format
-msgid "Videocard"
-msgstr " "
+msgid "Error writing to file %s"
+msgstr " %s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and bzip2\n"
+#: ../../partition_table/raw.pm_.c:192
+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"
+" "
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Remove Selected"
-msgstr " "
+#: ../../pkgs.pm_.c:26
+msgid "must have"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _modems"
-msgstr "/ _"
+#: ../../pkgs.pm_.c:27
+msgid "important"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove printer"
-msgstr " "
+#: ../../pkgs.pm_.c:28
+msgid "very nice"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Last Log"
-msgstr ""
+#: ../../pkgs.pm_.c:29
+msgid "nice"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Which services would you like to allow the Internet to connect to?"
-msgstr ""
+#: ../../pkgs.pm_.c:30
+msgid "maybe"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Connection Type"
-msgstr " "
+#: ../../printer/data.pm_.c:18
+msgid "PDQ - Print, Don't Queue"
+msgstr "PDQ - , "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"Welcome to the mail configuration utility.\n"
-"\n"
-"Here, you'll be able to set up the alert system.\n"
-msgstr ""
-" -.\n"
-"\n"
-" .\n"
+#: ../../printer/data.pm_.c:19
+msgid "PDQ"
+msgstr "PDQ"
-#: ../../install_steps_gtk.pm:1 ../../mouse.pm:1 ../../services.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Other"
-msgstr ""
+#: ../../printer/data.pm_.c:30
+msgid "LPD - Line Printer Daemon"
+msgstr "LPD - "
-#: ../../any.pm:1 ../../harddrake/v4l.pm:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Default"
-msgstr " "
+#: ../../printer/data.pm_.c:31
+msgid "LPD"
+msgstr "LPD"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 2 Emulation"
-msgstr " 2 "
+#: ../../printer/data.pm_.c:51
+msgid "LPRng - LPR New Generation"
+msgstr "LPRng - LPR "
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Please enter a package name."
-msgstr ", "
+#: ../../printer/data.pm_.c:52
+msgid "LPRng"
+msgstr "LPRng"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run chkrootkit checks"
-msgstr ""
+#: ../../printer/data.pm_.c:75
+msgid "CUPS - Common Unix Printing System"
+msgstr "CUPS - Unix "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "type1inst building"
-msgstr ""
+#: ../../printer/data.pm_.c:76 ../../printer/main.pm_.c:677
+msgid "CUPS"
+msgstr "CUPS"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Abiword"
-msgstr "Abiword"
+#: ../../printer/detect.pm_.c:80 ../../printer/detect.pm_.c:213
+#: ../../printer/detect.pm_.c:250
+#, fuzzy
+msgid "Unknown Model"
+msgstr " "
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "choose image file"
-msgstr " "
+#: ../../printer/main.pm_.c:26
+msgid "Local printer"
+msgstr " "
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "X server"
-msgstr "X "
+#: ../../printer/main.pm_.c:27
+msgid "Remote printer"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin User Name"
-msgstr " "
+#: ../../printer/main.pm_.c:28
+msgid "Printer on remote CUPS server"
+msgstr " CUPS "
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "There was an error while scanning for TV channels"
-msgstr " TV "
+#: ../../printer/main.pm_.c:29 ../../printer/printerdrake.pm_.c:835
+msgid "Printer on remote lpd server"
+msgstr " LPD "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard (international)"
-msgstr "US ()"
+#: ../../printer/main.pm_.c:30
+msgid "Network printer (TCP/Socket)"
+msgstr " (TCP/Socket)"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Not installed"
-msgstr " "
+#: ../../printer/main.pm_.c:31
+msgid "Printer on SMB/Windows 95/98/NT server"
+msgstr " SMB/Windows 95/98/NT "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Alt keys simultaneously"
-msgstr " Alt "
+#: ../../printer/main.pm_.c:32
+msgid "Printer on NetWare server"
+msgstr " NetWare "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "LAN connection"
-msgstr "LAN "
+#: ../../printer/main.pm_.c:33 ../../printer/printerdrake.pm_.c:839
+msgid "Enter a printer device URI"
+msgstr " URI "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/-"
-msgstr "//-"
+#: ../../printer/main.pm_.c:34
+msgid "Pipe job into a command"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Italian"
-msgstr ""
+#: ../../printer/main.pm_.c:290 ../../printer/main.pm_.c:478
+#: ../../printer/main.pm_.c:794 ../../printer/printerdrake.pm_.c:3228
+msgid "Unknown model"
+msgstr " "
-#: ../../interactive.pm:1
-#, c-format
-msgid "Basic"
-msgstr ""
+#: ../../printer/main.pm_.c:317
+#, fuzzy
+msgid "Local Printers"
+msgstr " "
-#: ../../install_messages.pm:1
-#, c-format
-msgid "http://www.mandrakelinux.com/en/92errata.php3"
-msgstr "http://www.mandrakelinux.com/en/92errata.php3"
+#: ../../printer/main.pm_.c:319 ../../printer/main.pm_.c:678
+#, fuzzy
+msgid "Remote Printers"
+msgstr " "
-#: ../../lang.pm:1
+#: ../../printer/main.pm_.c:326 ../../printer/printerdrake.pm_.c:381
#, c-format
-msgid "Honduras"
-msgstr ""
+msgid " on parallel port \\/*%s"
+msgstr ""
-#: ../../help.pm:1
+#: ../../printer/main.pm_.c:329 ../../printer/printerdrake.pm_.c:383
#, c-format
-msgid "pdq"
+msgid ", USB printer \\/*%s"
msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
+#: ../../printer/main.pm_.c:334
#, c-format
-msgid "Card IO"
-msgstr "IO "
+msgid ", multi-function device on parallel port \\/*%s"
+msgstr ""
+
+#: ../../printer/main.pm_.c:337
+msgid ", multi-function device on USB"
+msgstr ""
+
+#: ../../printer/main.pm_.c:339
+msgid ", multi-function device on HP JetDirect"
+msgstr ""
+
+#: ../../printer/main.pm_.c:341
+msgid ", multi-function device"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
+#: ../../printer/main.pm_.c:344
#, fuzzy, c-format
-msgid "Samba server"
-msgstr "Samba "
+msgid ", printing to %s"
+msgstr " %s"
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/main.pm_.c:346
#, c-format
-msgid ""
-"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
+msgid " on LPD server \"%s\", printer \"%s\""
msgstr ""
-"\n"
-" \n"
-" \n"
-" .\n"
-#: ../../standalone/drakautoinst:1
+#: ../../printer/main.pm_.c:348
#, c-format
-msgid ""
-"Please choose for each step whether it will replay like your install, or it "
-"will be manual"
+msgid ", TCP/IP host \"%s\", port %s"
msgstr ""
-", , , "
-" "
-#: ../../standalone/scannerdrake:1
+#: ../../printer/main.pm_.c:352
#, c-format
-msgid ""
-"You can also decide here whether scanners on remote machines should be made "
-"available on this machine."
+msgid " on SMB/Windows server \"%s\", share \"%s\""
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/main.pm_.c:356
#, c-format
-msgid "\t-Network by FTP.\n"
+msgid " on Novell server \"%s\", printer \"%s\""
msgstr ""
-#: ../../security/l10n.pm:1
+#: ../../printer/main.pm_.c:358
#, c-format
-msgid "Reports check result to tty"
-msgstr " tty."
+msgid ", using command %s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "You must enter a device or file name!"
-msgstr " !"
+#: ../../printer/main.pm_.c:475 ../../printer/printerdrake.pm_.c:1603
+msgid "Raw printer (No driver)"
+msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
+#: ../../printer/main.pm_.c:647
#, c-format
-msgid "/_Quit"
-msgstr "/_"
+msgid "(on %s)"
+msgstr "( %s)"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics memory: %s kB\n"
-msgstr " : %s kB\n"
+#: ../../printer/main.pm_.c:649
+msgid "(on this machine)"
+msgstr "( )"
-#: ../../standalone.pm:1
-#, c-format
+#: ../../printer/main.pm_.c:674
+#, fuzzy, c-format
+msgid "On CUPS server \"%s\""
+msgstr "IP CUPS "
+
+#: ../../printer/main.pm_.c:680 ../../printer/printerdrake.pm_.c:2888
+#: ../../printer/printerdrake.pm_.c:2899 ../../printer/printerdrake.pm_.c:3120
+#: ../../printer/printerdrake.pm_.c:3171 ../../printer/printerdrake.pm_.c:3197
+#: ../../printer/printerdrake.pm_.c:3352 ../../printer/printerdrake.pm_.c:3354
+msgid " (Default)"
+msgstr " ( )"
+
+#: ../../printer/printerdrake.pm_.c:27
+msgid "Select Printer Connection"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:28
+msgid "How is the printer connected?"
+msgstr " ?"
+
+#: ../../printer/printerdrake.pm_.c:30
+#, fuzzy
msgid ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"Printers on remote CUPS servers you do not have to configure here; these "
+"printers will be automatically detected."
msgstr ""
+"\n"
+" CUPS \n"
+"; . ,\n"
+" \" CUPS \" ."
-#: ../../any.pm:1
-#, c-format
-msgid "access to compilation tools"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:38
+msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Global statistics"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:81 ../../printer/printerdrake.pm_.c:2950
+#, fuzzy
+msgid "CUPS configuration"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select data to restore..."
-msgstr ", ..."
+#: ../../printer/printerdrake.pm_.c:82 ../../printer/printerdrake.pm_.c:2951
+#, fuzzy
+msgid "Specify CUPS server"
+msgstr " CUPS "
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:83
+#, fuzzy
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"
+"To get access to printers on remote CUPS servers in your local network you "
+"do not have to configure anything; the CUPS servers inform your machine "
+"automatically about their printers. All printers currently known to your "
+"machine are listed in the \"Remote printers\" section in the main window of "
+"Printerdrake. When your CUPS server is not in your local network, you have "
+"to enter the CUPS server IP address and optionally the port number to get "
+"the printer information from the server, otherwise leave these fields blank."
+msgstr ""
+" CUPS , \n"
+" ; CUPS \n"
+" . \n"
+" \" \". \n"
+" \n"
+"\"/ \". , \n"
+" ( 30 \n"
+" CUPS, ).\n"
+" CUPS , IP ,\n"
+" CUPS , \n"
+" , ."
+
+#: ../../printer/printerdrake.pm_.c:84
+#, fuzzy
+msgid ""
+"\n"
+"Normally, CUPS is automatically configured according to your network "
+"environment, so that you can access the printers on the CUPS servers in your "
+"local network. If this does not work correctly, turn off \"Automatic CUPS "
+"configuration\" and edit your file /etc/cups/cupsd.conf manually. Do not "
+"forget to restart CUPS afterwards (command: \"service cups restart\")."
msgstr ""
-" aboot, (2048 "
-"\n"
-" ) "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Standard test page"
-msgstr " "
-
-#: ../../standalone/drakclock:1
-#, fuzzy, c-format
-msgid "Time Zone"
-msgstr " "
+"\n"
+", CUPS ,\n"
+" CUPS \n"
+" . , \"\n"
+"CUPS \" /etc/cups/cupsd.conf . \n"
+" CUPS (: \"service\n"
+"cups restart\")."
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:88
+msgid "The IP address should look like 192.168.1.20"
+msgstr "IP 192.168.1.20"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "What"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:92 ../../printer/printerdrake.pm_.c:1041
+msgid "The port number should be an integer!"
+msgstr " !"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error ordering packages:"
-msgstr " :"
+#: ../../printer/printerdrake.pm_.c:99
+msgid "CUPS server IP"
+msgstr "IP CUPS "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (BDS)"
-msgstr " (BDS)"
+#: ../../printer/printerdrake.pm_.c:100 ../../printer/printerdrake.pm_.c:1061
+#: ../../standalone/harddrake2_.c:63
+msgid "Port"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Server"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:102
+msgid "Automatic CUPS configuration"
+msgstr " CUPS"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem encryption key"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:159
+#, fuzzy
+msgid "Checking your system..."
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gujarati"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:159 ../../printer/printerdrake.pm_.c:226
+#: ../../printer/printerdrake.pm_.c:1477 ../../printer/printerdrake.pm_.c:1481
+#: ../../printer/printerdrake.pm_.c:1598 ../../printer/printerdrake.pm_.c:2133
+#: ../../printer/printerdrake.pm_.c:2284 ../../printer/printerdrake.pm_.c:2343
+#: ../../printer/printerdrake.pm_.c:2415 ../../printer/printerdrake.pm_.c:2436
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2630
+#: ../../printer/printerdrake.pm_.c:2636 ../../printer/printerdrake.pm_.c:2701
+#: ../../printer/printerdrake.pm_.c:2720 ../../printer/printerdrake.pm_.c:2731
+#: ../../printer/printerdrake.pm_.c:2764 ../../printer/printerdrake.pm_.c:2809
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:2911
+#: ../../printer/printerdrake.pm_.c:2989 ../../printer/printerdrake.pm_.c:3281
+#: ../../printer/printerdrake.pm_.c:3328 ../../printer/printerdrake.pm_.c:3369
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Printerdrake"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:167
msgid ""
-" While you can use a pool of IP addresses, rather than setup a "
-"specific entry for\n"
-" a client machine, using a fixed address scheme facilitates using the "
-"functionality\n"
-" of client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-" Note: The '#type' entry is only used by drakTermServ. Clients can "
-"either be 'thin'\n"
-" or 'fat'. Thin clients run most software on the server via xdmcp, "
-"while fat clients run \n"
-" most software on the client machine. A special inittab, %s is\n"
-" written for thin clients. System config files xdm-config, kdmrc, and "
-"gdm.conf are \n"
-" modified if thin clients are used, to enable xdmcp. Since there are "
-"security issues in \n"
-" using xdmcp, hosts.deny and hosts.allow are modified to limit access "
-"to the local\n"
-" subnet.\n"
-"\t\t\t\n"
-" Note: The '#hdw_config' entry is also only used by drakTermServ. "
-"Clients can either \n"
-" be 'true' or 'false'. 'true' enables root login at the client "
-"machine and allows local \n"
-" hardware configuration of sound, mouse, and X, using the 'drak' "
-"tools. This is enabled \n"
-" by creating separate config files associated with the client's IP "
-"address and creating \n"
-" read/write mount points to allow the client to alter the file. Once "
-"you are satisfied \n"
-" with the configuration, you can remove root login privileges from "
-"the client.\n"
-"\t\t\t\n"
-" Note: You must stop/start the server after adding or changing "
-"clients."
+"There are no printers found which are directly connected to your machine"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:179
+#, fuzzy
msgid ""
-"Please choose the first number of the 10-range you wish to edit,\n"
-"or just hit Enter to proceed.\n"
-"Your choice? "
-msgstr ""
+"The following printers\n"
+"\n"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:180
+#, fuzzy
msgid ""
+"The following printer\n"
"\n"
-" Copyright (C) 2002 by MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:182
+msgid ""
"\n"
+"and one unknown printer are "
msgstr ""
-"\n"
-" (C) 2002 MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
-"\n"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Save theme"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Brazil"
-msgstr ""
-#: ../../standalone/drakautoinst:1
+#: ../../printer/printerdrake.pm_.c:184
#, c-format
-msgid "Auto Install"
-msgstr " "
+msgid ""
+"\n"
+"and %d unknown printers are "
+msgstr ""
-#: ../../network/isdn.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Network Configuration Wizard"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"are "
+msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removable media automounting"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"is "
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Printing"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:189
+#, fuzzy
+msgid "directly connected to your system"
+msgstr " !"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save:"
-msgstr " :"
+#: ../../printer/printerdrake.pm_.c:192
+msgid ""
+"\n"
+"There is one unknown printer directly connected to your system"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:194
#, c-format
msgid ""
-"There are no printers found which are directly connected to your machine"
-msgstr " "
+"\n"
+"There are %d unknown printers directly connected to your system"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create a new partition"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:200
+#, fuzzy
+msgid " (Make sure that all your printers are connected and turned on).\n"
+msgstr ", ."
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Driver:"
-msgstr ": "
+#: ../../printer/printerdrake.pm_.c:214
+msgid ""
+"Do you want to enable printing on the printers mentioned above or on "
+"printers in the local network?\n"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "unknown"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:215
+#, fuzzy
+msgid "Do you want to enable printing on printers in the local network?\n"
+msgstr ""
+" (\"%s\")\n"
+" ?"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use fdisk"
-msgstr " fdisk"
+#: ../../printer/printerdrake.pm_.c:217
+#, fuzzy
+msgid "Do you want to enable printing on the printers mentioned above?\n"
+msgstr " ?"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MOVE YOUR WHEEL!"
-msgstr " !"
+#: ../../printer/printerdrake.pm_.c:218
+msgid "Are you sure that you want to set up printing on this machine?\n"
+msgstr ""
-#: ../../standalone/net_monitor:1
+#: ../../printer/printerdrake.pm_.c:219
#, c-format
-msgid "sent: "
-msgstr ": "
+msgid ""
+"NOTE: Depending on the printer model and the printing system up to %d MB of "
+"additional software will be installed."
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "Automatic IP"
-msgstr " IP "
+#: ../../printer/printerdrake.pm_.c:258 ../../printer/printerdrake.pm_.c:270
+#: ../../printer/printerdrake.pm_.c:328 ../../printer/printerdrake.pm_.c:2933
+#: ../../printer/printerdrake.pm_.c:3060
+#, fuzzy
+msgid "Add a new printer"
+msgstr " "
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:259
msgid ""
-"There you are. Installation is now complete and your GNU/Linux system is\n"
-"ready to use. Just click \"%s\" to reboot the system. The first thing you\n"
-"should see after your computer has finished doing its hardware tests is the\n"
-"bootloader menu, giving you the choice of which operating system to start.\n"
"\n"
-"The \"%s\" button shows two more buttons to:\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\": to create an installation floppy disk that will automatically\n"
-"perform a whole installation without the help of an operator, similar to\n"
-"the installation you just configured.\n"
+"This wizard allows you to install local or remote printers to be used from "
+"this machine and also from other machines in the network.\n"
"\n"
-" Note that two different options are available after clicking the button:\n"
+"It asks you for all necessary information to set up the printer and gives "
+"you access to all available printer drivers, driver options, and printer "
+"connection types."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:272
+msgid ""
"\n"
-" * \"%s\". This is a partially automated installation. The partitioning\n"
-"step is the only interactive procedure.\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"%s\". Fully automated installation: the hard disk is completely\n"
-"rewritten, all data is lost.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer, connected directly to the network or to a remote Windows machine.\n"
"\n"
-" This feature is very handy when installing a number of similar machines.\n"
-"See the Auto install section on our web site for more information.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) and you Windows machines must be connected and "
+"turned on.\n"
"\n"
-" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
-"To use this selection with another installation, insert the floppy and\n"
-"start the installation. At the prompt, press the [F1] key and type >>linux\n"
-"defcfg=\"floppy\" <<.\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network and/or Windows-hosted printers when you don't need "
+"it.\n"
"\n"
-"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
-"\"mformat a:\")"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-" ! GNU/Linux \n"
-". \"OK\", . \n"
-" GNU/Linux Windows, ( "
-"),\n"
-" .\n"
+
+#: ../../printer/printerdrake.pm_.c:281 ../../printer/printerdrake.pm_.c:298
+msgid ""
"\n"
-" \"\" ( \"\") :\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \" \": \n"
-" , \n"
-" , , -"
-"\n"
-" .\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer.\n"
"\n"
-" , , :\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected.\n"
"\n"
-" * \"\". \n"
-" .\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:289
+msgid ""
"\n"
-" * \"\". : \n"
-" , .\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" , \n"
-". web-.\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer or connected directly to the network.\n"
"\n"
-" * \" \"(*): , "
-"\n"
-" . , \n"
-" , \n"
-" [F1] >>linux defcfg=\"floppy\"<<.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) must be connected and turned on.\n"
"\n"
-"(*) FAT- ( GNU/Linux,\n"
-" \"mformat a:\")"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Moldova"
-msgstr ""
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse"
-msgstr "Kensington THinking Mouse"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuration of a remote printer"
-msgstr " "
-
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "An online platform to respond to enterprise support needs."
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network printers when you don't need it.\n"
+"\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "URL should begin with 'ftp:' or 'http:'"
-msgstr "URL 'ftp:' 'http:'"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Oriya"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:307
+#, fuzzy
+msgid "Auto-detect printers connected to this machine"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a new rule at the end"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:310
+msgid "Auto-detect printers connected directly to the local network"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "LiLo and Bootsplash themes installation successful"
-msgstr "LiLo Bootsplash "
+#: ../../printer/printerdrake.pm_.c:313
+msgid "Auto-detect printers connected to machines running Microsoft Windows"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:329
msgid ""
-"You can also decide here whether printers on remote machines should be "
-"automatically made available on this machine."
+"\n"
+"Congratulations, your printer is now installed and configured!\n"
+"\n"
+"You can print using the \"Print\" command of your application (usually in "
+"the \"File\" menu).\n"
+"\n"
+"If you want to add, remove, or rename a printer, or if you want to change "
+"the default option settings (paper input tray, printout quality, ...), "
+"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
+"Center."
msgstr ""
-" , "
-" ."
-#: ../../modules/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:364 ../../printer/printerdrake.pm_.c:538
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Printer auto-detection"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:385
#, c-format
-msgid ""
-"You may now provide options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
+msgid ", network printer \"%s\", port %s"
msgstr ""
-" %s.\n"
-" ``= 2=2 ...''.\n"
-": ``io=0x300 irq=7''"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without writing the partition table?"
-msgstr ", ?"
+#: ../../printer/printerdrake.pm_.c:387
+#, fuzzy, c-format
+msgid ", printer \"%s\" on SMB/Windows server \"%s\""
+msgstr " SMB/Windows 95/98/NT "
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
+#: ../../printer/printerdrake.pm_.c:391
+#, fuzzy, c-format
+msgid "Detected %s"
+msgstr " %s"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:395 ../../printer/printerdrake.pm_.c:423
+#: ../../printer/printerdrake.pm_.c:440
#, c-format
-msgid "On Hard Drive"
+msgid "Printer on parallel port \\/*%s"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid "Installing packages..."
-msgstr " ..."
-
-#: ../../keyboard.pm:1
+#: ../../printer/printerdrake.pm_.c:397 ../../printer/printerdrake.pm_.c:425
+#: ../../printer/printerdrake.pm_.c:443
#, c-format
-msgid "Dutch"
-msgstr ""
+msgid "USB printer \\/*%s"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Angola"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:399
+#, fuzzy, c-format
+msgid "Network printer \"%s\", port %s"
+msgstr " (TCP/Socket)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "The following packages need to be installed:\n"
-msgstr " :\n"
+#: ../../printer/printerdrake.pm_.c:401
+#, fuzzy, c-format
+msgid "Printer \"%s\" on SMB/Windows server \"%s\""
+msgstr " SMB/Windows 95/98/NT "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "service setting"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:525 ../../printer/printerdrake.pm_.c:547
+#, fuzzy
+msgid "Local Printer"
+msgstr " "
-#: ../../any.pm:1 ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Custom"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:526
+msgid ""
+"No local printer found! To manually install a printer enter a device name/"
+"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
+"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
+"printer: /dev/usb/lp1, ...)."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Latvia"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:530
+#, fuzzy
+msgid "You must enter a device or file name!"
+msgstr " URI "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File is already used by another loopback, choose another one"
-msgstr " loopback, ."
+#: ../../printer/printerdrake.pm_.c:539
+#, fuzzy
+msgid "No printer found!"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read-only"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:548
+#, fuzzy
+msgid "Available printers"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:552
msgid ""
-"Enable/Disable name resolution spoofing protection. If\n"
-"\"alert\" is true, also reports to syslog."
+"The following printer was auto-detected, if it is not the one you want to "
+"configure, enter a device name/file name in the input line"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No known driver"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:553
+msgid ""
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up or enter a device name/file name in the input line"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "1 MB"
-msgstr "1 "
+#: ../../printer/printerdrake.pm_.c:555
+msgid ""
+"The following printer was auto-detected. The configuration of the printer "
+"will work fully automatically. If your printer was not correctly detected or "
+"if you prefer a customized printer configuration, turn on \"Manual "
+"configuration\"."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:556
msgid ""
-"If it is not the one you want to configure, enter a device name/file name in "
-"the input line"
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up. The configuration of the printer will work fully "
+"automatically. If your printer was not correctly detected or if you prefer a "
+"customized printer configuration, turn on \"Manual configuration\"."
msgstr ""
-" , /"
-" "
-#: ../../standalone/draksound:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:558
msgid ""
-"No Sound Card has been detected on your machine. Please verify that a Linux-"
-"supported Sound Card is correctly plugged in.\n"
-"\n"
-"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
+"Please choose the port where your printer is connected to or enter a device "
+"name/file name in the input line"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Configure Local Area Network..."
-msgstr " ..."
+#: ../../printer/printerdrake.pm_.c:559
+#, fuzzy
+msgid "Please choose the port where your printer is connected to."
+msgstr ", ."
-#: ../../../move/move.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:561
msgid ""
-"The USB key seems to have write protection enabled. Please\n"
-"unplug it, remove write protection, and then plug it again."
+" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
+"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the sound system on your machine"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:565
+#, fuzzy
+msgid "You must choose/enter a printer/device!"
+msgstr " URI "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Verify checksum of the suid/sgid files"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:584
+#, fuzzy
+msgid "Manual configuration"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Run some checks against the rpm database"
+#: ../../printer/printerdrake.pm_.c:633
+msgid "Remote lpd Printer Options"
+msgstr " lpd-"
+
+#: ../../printer/printerdrake.pm_.c:634
+#, fuzzy
+msgid ""
+"To use a remote lpd printer, you need to supply the hostname of the printer "
+"server and the printer name on that server."
msgstr ""
+" lpd , \n"
+" \n"
+" ."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Execute"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:635
+msgid "Remote host name"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Preparing printer database..."
-msgstr " ..."
+#: ../../printer/printerdrake.pm_.c:636
+msgid "Remote printer name"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Information"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:639
+msgid "Remote host name missing!"
+msgstr " !"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "No network card"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:643
+msgid "Remote printer name missing!"
+msgstr " !"
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons"
-msgstr "3 "
+#: ../../printer/printerdrake.pm_.c:665 ../../printer/printerdrake.pm_.c:1170
+#, fuzzy, c-format
+msgid "Detected model: %s %s"
+msgstr " %s"
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Which filesystem do you want?"
-msgstr " ?"
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Scanning network..."
+msgstr " ...."
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:751 ../../printer/printerdrake.pm_.c:772
#, c-format
-msgid "Malta"
-msgstr ""
+msgid ", printer \"%s\" on server \"%s\""
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Detailed information"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:754 ../../printer/printerdrake.pm_.c:775
+#, fuzzy, c-format
+msgid "Printer \"%s\" on server \"%s\""
+msgstr " \"%s\""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:795
+msgid "SMB (Windows 9x/NT) Printer Options"
+msgstr " SMB (Windows 9x/NT) "
+
+#: ../../printer/printerdrake.pm_.c:796
+#, fuzzy
msgid ""
-"Printer default settings\n"
-"\n"
-"You should make sure that the page size and the ink type/printing mode (if "
-"available) and also the hardware configuration of laser printers (memory, "
-"duplex unit, extra trays) are set correctly. Note that with a very high "
-"printout quality/resolution printing can get substantially slower."
+"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."
msgstr ""
-" \n"
-"\n"
-" , \n"
-" ( ) .\n"
-", \n"
-", ."
-
-#: ../../install_any.pm:1
-#, c-format
-msgid "This floppy is not FAT formatted"
-msgstr " FAT"
-
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Configuring network"
-msgstr " "
+" SMB , \n"
+" SMB ( ! TCP/IP !)\n"
+" IP , \n"
+", , \n"
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:797
msgid ""
-"This option will save files that have changed. Exact behavior depends on "
-"whether incremental or differential mode is used."
+" If the desired printer was auto-detected, simply choose it from the list "
+"and then add user name, password, and/or workgroup if needed."
msgstr ""
-#: ../../Xconfig/main.pm:1
-#, c-format
-msgid "Graphic Card"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:799
+msgid "SMB server host"
+msgstr " SMB "
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Resizing Windows partition"
-msgstr " Windows "
+#: ../../printer/printerdrake.pm_.c:800
+msgid "SMB server IP"
+msgstr "IP SMB :"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cameroon"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:801
+msgid "Share name"
+msgstr " "
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 1 (optional)"
-msgstr "1- DNS ( )"
+#: ../../printer/printerdrake.pm_.c:804
+msgid "Workgroup"
+msgstr " "
-#: ../../install_interactive.pm:1
-#, c-format
-msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
-msgstr ""
-" %s.\n"
-" , `w'"
+#: ../../printer/printerdrake.pm_.c:806
+#, fuzzy
+msgid "Auto-detected"
+msgstr " "
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Saami (swedish/finnish)"
-msgstr " ()"
+#: ../../printer/printerdrake.pm_.c:816
+msgid "Either the server name or the server's IP must be given!"
+msgstr " IP !"
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakfont:1 ../../standalone/net_monitor:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Close"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:820
+msgid "Samba share name missing!"
+msgstr " SAMBA share !"
+
+#: ../../printer/printerdrake.pm_.c:826
+msgid "SECURITY WARNING!"
+msgstr ""
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:827
#, c-format
msgid ""
-"\"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list."
+"You are about to set up printing to a Windows account with password. Due to "
+"a fault in the architecture of the Samba client software the password is put "
+"in clear text into the command line of the Samba client used to transmit the "
+"print job to the Windows server. So it is possible for every user on this "
+"machine to display the password on the screen by issuing commands as \"ps "
+"auxwww\".\n"
+"\n"
+"We recommend to make use of one of the following alternatives (in all cases "
+"you have to make sure that only machines from your local network have access "
+"to your Windows server, for example by means of a firewall):\n"
+"\n"
+"Use a password-less account on your Windows server, as the \"GUEST\" account "
+"or a special account dedicated for printing. Do not remove the password "
+"protection from a personal account or the administrator account.\n"
+"\n"
+"Set up your Windows server to make the printer available under the LPD "
+"protocol. Then set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
msgstr ""
-#: ../../standalone/logdrake:1
+#: ../../printer/printerdrake.pm_.c:837
#, c-format
-msgid "Calendar"
-msgstr ""
+msgid ""
+"Set up your Windows server to make the printer available under the IPP "
+"protocol and set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:840
msgid ""
-"Restore Selected\n"
-"Catalog Entry"
+"Connect your printer to a Linux server and let your Windows machine(s) "
+"connect to it as a client.\n"
+"\n"
+"Do you really want to continue setting up this printer as you are doing now?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:911
+msgid "NetWare Printer Options"
+msgstr " NetWare "
+
+#: ../../printer/printerdrake.pm_.c:912
+#, fuzzy
msgid ""
-"To use a remote lpd printer, you need to supply the hostname of the printer "
-"server and the printer name on that server."
+"To print on 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."
msgstr ""
-" lpd , "
-" ."
+" NetWare , \n"
+" , , ,."
-#: ../../lang.pm:1
-#, c-format
-msgid "Iceland"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:913
+msgid "Printer Server"
+msgstr " "
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Network & Internet Configuration"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:914
+msgid "Print Queue Name"
+msgstr " "
-#: ../../common.pm:1
-#, c-format
-msgid "consolehelper missing"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:919
+msgid "NCP server name missing!"
+msgstr " NCP !"
-#: ../../services.pm:1
-#, c-format
-msgid "stopped"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:923
+msgid "NCP queue name missing!"
+msgstr " NCP !"
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:987 ../../printer/printerdrake.pm_.c:1007
#, c-format
-msgid "Whether the FPU has an irq vector"
+msgid ", host \"%s\", port %s"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../printer/printerdrake.pm_.c:990 ../../printer/printerdrake.pm_.c:1010
#, c-format
-msgid "Ext2"
-msgstr "Ext2"
+msgid "Host \"%s\", port %s"
+msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Expand Tree"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:1030
+#, fuzzy
+msgid "TCP/Socket Printer Options"
+msgstr " Socket "
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1032
msgid ""
-"The old \"%s\" driver is blacklisted.\n"
-"\n"
-"It has been reported to oops the kernel on unloading.\n"
-"\n"
-"The new \"%s\" driver'll only be used on next bootstrap."
+"Choose one of the auto-detected printers from the list or enter the hostname "
+"or IP and the optional port number (default is 9100) into the input fields."
msgstr ""
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Expert Mode"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer options"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:1033
+#, fuzzy
+msgid ""
+"To print to a TCP or socket printer, you need to provide the host name or IP "
+"of the printer and optionally the port number (default is 9100). On HP "
+"JetDirect servers the port number is usually 9100, on other servers it can "
+"vary. See the manual of your hardware."
+msgstr ""
+" socket , \n"
+" , , .\n"
+" HP JetDirect , 9100,\n"
+" . \n"
+" ."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Local Network adress"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:1037
+#, fuzzy
+msgid "Printer host name or IP missing!"
+msgstr " a !"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup your System files. (/etc directory)"
-msgstr " (/etc )"
+#: ../../printer/printerdrake.pm_.c:1059
+#, fuzzy
+msgid "Printer host name or IP"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the user umask."
-msgstr " umask"
+#: ../../printer/printerdrake.pm_.c:1107 ../../printer/printerdrake.pm_.c:1109
+msgid "Printer Device URI"
+msgstr " URI"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1108
msgid ""
-"You now have the opportunity to download updated packages. These packages\n"
-"have been updated after the distribution was released. They may\n"
-"contain security or bug fixes.\n"
-"\n"
-"To download these packages, you will need to have a working Internet \n"
-"connection.\n"
-"\n"
-"Do you want to install the updates ?"
+"You can specify directly the URI to access the printer. The URI must fulfill "
+"either the CUPS or the Foomatic specifications. Note that not all URI types "
+"are supported by all the spoolers."
msgstr ""
+" URI . URI "
+" CUPS Foomatic . , "
+" URI spooler-."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Samba Server"
-msgstr "Samba "
-
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Australian Optus cable TV"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1123
+msgid "A valid URI must be entered!"
+msgstr " URI !"
-#: ../../install_steps_newt.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1463
+#, fuzzy
msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
+"Every printer needs a name (for example \"printer\"). The Description and "
+"Location fields do not need to be filled in. They are comments for the users."
msgstr ""
-" <Tab>/<Alt-Tab> | <Space> | <F12> "
+" ( lp).\n"
+" \n"
+". ."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet:"
-msgstr ":"
+#: ../../printer/printerdrake.pm_.c:1464
+msgid "Name of printer"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Zimbabwe"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1465 ../../standalone/harddrake2_.c:38
+msgid "Description"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "When"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1466
+msgid "Location"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid ""
-"You need the Alcatel microcode.\n"
-"Download it at:\n"
-"%s\n"
-"and copy the mgmt.o in /usr/share/speedtouch"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1478 ../../printer/printerdrake.pm_.c:1599
+msgid "Reading printer database..."
+msgstr " ..."
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Hour"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1482
+msgid "Preparing printer database..."
+msgstr " ..."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Second DNS Server (optional)"
-msgstr " DNS ( )"
+#: ../../printer/printerdrake.pm_.c:1578
+#, fuzzy
+msgid "Your printer model"
+msgstr " "
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:1579
#, c-format
-msgid "Finland"
-msgstr ""
+msgid ""
+"Printerdrake has compared the model name resulting from the printer auto-"
+"detection with the models listed in its printer database to find the best "
+"match. This choice can be wrong, especially when your printer is not listed "
+"at all in the database. So check whether the choice is correct and click "
+"\"The model is correct\" if so and if not, click \"Select model manually\" "
+"so that you can choose your printer model manually on the next screen.\n"
+"\n"
+"For your printer Printerdrake has found:\n"
+"\n"
+"%s"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Color depth: %s\n"
-msgstr " : %s\n"
+#: ../../printer/printerdrake.pm_.c:1584 ../../printer/printerdrake.pm_.c:1587
+#, fuzzy
+msgid "The model is correct"
+msgstr " ?"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It must be upgraded"
-msgstr " . "
+#: ../../printer/printerdrake.pm_.c:1585 ../../printer/printerdrake.pm_.c:1586
+#: ../../printer/printerdrake.pm_.c:1589
+#, fuzzy
+msgid "Select model manually"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Loading from floppy"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:1606
+msgid "Printer model selection"
+msgstr " "
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Timezone - DrakClock"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1607
+msgid "Which printer model do you have?"
+msgstr " ?"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable the logging of IPv4 strange packets."
+#: ../../printer/printerdrake.pm_.c:1608
+msgid ""
+"\n"
+"\n"
+"Please check whether Printerdrake did the auto-detection of your printer "
+"model correctly. Search the correct model in the list when the cursor is "
+"standing on a wrong model or on \"Raw printer\"."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovenia"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1611
+msgid ""
+"If your printer is not listed, choose a compatible (see printer manual) or a "
+"similar one."
+msgstr ""
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse test"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:1697
+msgid "OKI winprinter configuration"
+msgstr " OKI Winprinter"
-#: ../../standalone/drakperm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1698
msgid ""
-"Drakperm is used to see files to use in order to fix permissions, owners, "
-"and groups via msec.\n"
-"You can also edit your own rules which will owerwrite the default rules."
+"You are configuring an OKI laser winprinter. These printers\n"
+"use a very special communication protocol and therefore they work only when "
+"connected to the first parallel port. When your printer is connected to "
+"another port or to a print server box please connect the printer to the "
+"first parallel port before you print a test page. Otherwise the printer will "
+"not work. Your connection type setting will be ignored by the driver."
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1718 ../../printer/printerdrake.pm_.c:1745
+msgid "Lexmark inkjet configuration"
+msgstr " Lexmark inkjet"
+
+#: ../../printer/printerdrake.pm_.c:1719
+#, fuzzy
msgid ""
-"Enter a user\n"
-"%s"
+"The inkjet printer drivers provided by Lexmark only support local printers, "
+"no printers on remote machines or print server boxes. Please connect your "
+"printer to a local port or configure it on the machine where it is connected "
+"to."
msgstr ""
-" \n"
-"%s"
+"Inkjet Lexmark \n"
+" , \n"
+" . , \n"
+" , ."
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1746
msgid ""
-"- PCI and USB devices: this lists the vendor, device, subvendor and "
-"subdevice PCI/USB ids"
+"To be able to print with your Lexmark inkjet and this configuration, you "
+"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
+"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
+"\"Linux\" as operating system. The drivers come as RPM packages or shell "
+"scripts with interactive graphical installation. You do not need to do this "
+"configuration by the graphical frontends. Cancel directly after the license "
+"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
+"adjust the head alignment settings with this program."
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "ProgressBar color selection"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:1749
+msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1750
msgid ""
-"Here are the entries on your boot menu so far.\n"
-"You can create additional entries or change the existing ones."
+"Your printer belongs to the group of GDI laser printers (winprinters) sold "
+"by different manufacturers which uses the Zenographics ZJ-stream raster "
+"format for the data sent to the printer. The driver for these printers is "
+"still in a very early development stage and so it will perhaps not always "
+"work properly. Especially it is possible that the printer only works when "
+"you choose the A4 paper size.\n"
+"\n"
+"Some of these printers, as the HP LaserJet 1000, for which this driver was "
+"originally created, need their firmware to be uploaded to them after they "
+"are turned on. In the case of the HP LaserJet 1000 you have to search the "
+"printer's Windows driver CD or your Windows partition for the file "
+"\"sihp1000.img\" and upload the file to the printer with one of the "
+"following commands:\n"
+"\n"
+" lpr -o raw sihp1000.img\n"
+" cat sihp1000.img > /dev/usb/lp0\n"
+"\n"
+"The first command can be given by any normal user, the second must be given "
+"as root. After having done so you can print normally.\n"
msgstr ""
-" .\n"
-" ."
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:1972
+#, fuzzy
+msgid ""
+"Printer default settings\n"
+"\n"
+"You should make sure that the page size and the ink type/printing mode (if "
+"available) and also the hardware configuration of laser printers (memory, "
+"duplex unit, extra trays) are set correctly. Note that with a very high "
+"printout quality/resolution printing can get substantially slower."
+msgstr ""
+" \n"
+" , \n"
+" ( ) .\n"
+", \n"
+", ."
+
+#: ../../printer/printerdrake.pm_.c:1981
+#, c-format
+msgid "Option %s must be an integer number!"
+msgstr " %s !"
+
+#: ../../printer/printerdrake.pm_.c:1985
#, c-format
-msgid "/dev/hda"
-msgstr "/dev/hda"
+msgid "Option %s must be a number!"
+msgstr " %s !"
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:1989
#, c-format
-msgid "/dev/hdb"
-msgstr "/dev/hdb"
+msgid "Option %s out of range!"
+msgstr " %s !"
-#: ../../standalone/drakbug:1
+#: ../../printer/printerdrake.pm_.c:2028
#, c-format
msgid ""
-"Application Name\n"
-"or Full Path:"
+"Do you want to set this printer (\"%s\")\n"
+"as the default printer?"
msgstr ""
+" (\"%s\")\n"
+" ?"
-#: ../../services.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2051
+msgid "Test pages"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:2052
+#, fuzzy
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."
+"Please select the test pages you want to print.\n"
+"Note: the photo test page can take a rather long time to get printed and on "
+"laser printers with too low memory it can even not come out. In most cases "
+"it is enough to print the standard test page."
msgstr ""
-" at \n"
-" , ."
+", .\n"
+": \n"
+" \n"
+" . ."
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Radio support:"
-msgstr " :"
+#: ../../printer/printerdrake.pm_.c:2056
+msgid "No test pages"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing SANE packages..."
-msgstr " SANE ..."
+#: ../../printer/printerdrake.pm_.c:2057
+msgid "Print"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP"
-msgstr "LDAP"
+#: ../../printer/printerdrake.pm_.c:2114
+msgid "Standard test page"
+msgstr " "
-#: ../../bootloader.pm:1
-#, c-format
-msgid "SILO"
-msgstr "SILO"
+#: ../../printer/printerdrake.pm_.c:2117
+msgid "Alternative test page (Letter)"
+msgstr " ()"
-#: ../../diskdrake/removable.pm:1
-#, c-format
-msgid "Change type"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2120
+msgid "Alternative test page (A4)"
+msgstr " (4)"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", USB printer #%s"
-msgstr ", USB #%s"
+#: ../../printer/printerdrake.pm_.c:2122
+msgid "Photo test page"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "SILO Installation"
-msgstr "SILO "
+#: ../../printer/printerdrake.pm_.c:2126
+#, fuzzy
+msgid "Do not print any test page"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:2134 ../../printer/printerdrake.pm_.c:2285
+msgid "Printing test page(s)..."
+msgstr " (/) (/) ..."
-#: ../../install_messages.pm:1
+#: ../../printer/printerdrake.pm_.c:2159
#, c-format
msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"\n"
-"For information on fixes which are available for this release of Mandrake "
-"Linux,\n"
-"consult the Errata available from:\n"
-"\n"
-"\n"
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+"Printing status:\n"
"%s\n"
"\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Mandrake Linux User's Guide."
msgstr ""
-", .\n"
-" Enter .\n"
-"\n"
-"\n"
-" , Mandrake Linux,\n"
-" Errata, : \n"
-"\n"
-"\n"
+" .\n"
+" .\n"
+" :\n"
"%s\n"
"\n"
-"\n"
-" \n"
-" Official Mandrake Linux User's Guide."
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "Enable Network Time Protocol"
+#: ../../printer/printerdrake.pm_.c:2163
+msgid ""
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
msgstr ""
+" .\n"
+" .\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "paranoid"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Do not send mails when unneeded"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2170
+msgid "Did it work properly?"
+msgstr " ?"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Your scanner(s) will not be available on the network."
+#: ../../printer/printerdrake.pm_.c:2190 ../../printer/printerdrake.pm_.c:3229
+msgid "Raw printer"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2216
#, c-format
-msgid "Send mail report after each backup to:"
+msgid ""
+"To print a file from the command line (terminal window) you can either use "
+"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
+"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
+"to modify the option settings easily.\n"
msgstr ""
+" ( ), "
+" \"%s <file>\" : \"xpp "
+"<file>\" \"kprinter <file>\". "
+" .\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2218
msgid ""
-"This command you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications. But here do not supply the file name "
+"These commands you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications, but here do not supply the file name "
"because the file to print is provided by the application.\n"
msgstr ""
" \" \" "
-" . , "
+" . , "
" .\n"
-#: ../../Xconfig/main.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolution"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2221 ../../printer/printerdrake.pm_.c:2238
+#: ../../printer/printerdrake.pm_.c:2248
#, c-format
msgid ""
-"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."
+"\n"
+"The \"%s\" command also allows to modify the option settings for a "
+"particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\". "
msgstr ""
-" SMB , \n"
-" SMB ( ! TCP/IP !)\n"
-" IP , \n"
-", , \n"
-" ."
+"\n"
+" \"%s\" "
+" . "
+" , . \"%s <file>\". "
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2224 ../../printer/printerdrake.pm_.c:2264
+#, fuzzy, c-format
msgid ""
-" Enabling su only from members of the wheel group or allow su from any user."
+"To know about the options available for the current printer read either the "
+"list shown below or click on the \"Print option list\" button.%s%s\n"
+"\n"
msgstr ""
+" , "
+" - \" \".\n"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "reconfigure"
-msgstr ""
-
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2228
msgid ""
-"Your card can have 3D hardware acceleration support with XFree %s,\n"
-"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
+"Here is a list of the available printing options for the current printer:\n"
+"\n"
msgstr ""
-" 3D XFree %s.\n"
-", "
-"."
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Shell timeout"
-msgstr " "
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Xinetd Service"
-msgstr "Xinetd "
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to network tools"
-msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2233 ../../printer/printerdrake.pm_.c:2243
#, c-format
-msgid "Firmware-Upload for HP LaserJet 1000"
+msgid ""
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\".\n"
msgstr ""
+" ( ) "
+" \"%s <file>\".\n"
-#: ../advertising/03-software.pl:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2235 ../../printer/printerdrake.pm_.c:2245
+#: ../../printer/printerdrake.pm_.c:2255
msgid ""
-"And, of course, push multimedia to its limits with the very latest software "
-"to play videos, audio files and to handle your images or photos."
+"This command you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications. But here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-"Mandrake Linux 9.2 - "
-", , "
-", ."
+" \" \" "
+" . , "
+" .\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Here is a list of all auto-detected printers. "
-msgstr " ."
+#: ../../printer/printerdrake.pm_.c:2240 ../../printer/printerdrake.pm_.c:2250
+#, fuzzy
+msgid ""
+"To get a list of the options available for the current printer click on the "
+"\"Print option list\" button."
+msgstr ""
+" , "
+"\" \".\n"
+"\n"
-#: ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2253
#, c-format
msgid ""
-"Error installing aboot, \n"
-"try to force installation even if that destroys the first partition?"
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\" or \"%s <file>\".\n"
msgstr ""
-" aboot, \n"
-" , ?"
+" ( ), "
+" \"%s <file>\" \"%s <file>\".\n"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2257
msgid ""
-"Restore Selected\n"
-"Files"
+"You can also use the graphical interface \"xpdq\" for setting options and "
+"handling printing jobs.\n"
+"If you are using KDE as desktop environment you have a \"panic button\", an "
+"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
+"jobs immediately when you click it. This is for example useful for paper "
+"jams.\n"
msgstr ""
-" \n"
-""
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2261
#, c-format
msgid ""
-"%s exists, delete?\n"
"\n"
-"Warning: If you've already done this process you'll probably\n"
-" need to purge the entry from authorized_keys on the server."
+"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
+"a particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\".\n"
msgstr ""
+"\n"
+" \"%s\" \"%s\" "
+" . "
+" , . \"%s <file>\".\n"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Please fill or check the field below"
-msgstr ", -"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Do you want to save /etc/fstab modifications"
-msgstr " /etc/fstab"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Boot Protocol"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "LVM- %s\n"
+#: ../../printer/printerdrake.pm_.c:2271
+#, fuzzy, c-format
+msgid "Printing/Scanning/Photo Cards on \"%s\""
+msgstr " \"%s\""
-#: ../../services.pm:1
-#, c-format
-msgid "On boot"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2272
+#, fuzzy, c-format
+msgid "Printing/Scanning on \"%s\""
+msgstr " \"%s\""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The package %s is needed. Install it?"
-msgstr " %s . ?"
+#: ../../printer/printerdrake.pm_.c:2274
+#, fuzzy, c-format
+msgid "Printing/Photo Card Access on \"%s\""
+msgstr " \"%s\""
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:2275
#, c-format
-msgid "Bus identification"
-msgstr " "
+msgid "Printing on the printer \"%s\""
+msgstr " \"%s\""
-#: ../../lang.pm:1
-#, c-format
-msgid "Vatican"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2278 ../../printer/printerdrake.pm_.c:2281
+#: ../../printer/printerdrake.pm_.c:2282 ../../printer/printerdrake.pm_.c:2283
+#: ../../printer/printerdrake.pm_.c:3216 ../../standalone/drakTermServ_.c:307
+#: ../../standalone/drakbackup_.c:1533 ../../standalone/drakbackup_.c:4156
+#: ../../standalone/drakbug_.c:108 ../../standalone/drakfont_.c:695
+#: ../../standalone/drakfont_.c:956 ../../standalone/net_monitor_.c:118
+msgid "Close"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please make a backup of your data first"
-msgstr " backup "
+#: ../../printer/printerdrake.pm_.c:2281
+msgid "Print option list"
+msgstr " "
-#: ../../harddrake/data.pm:1
+#: ../../printer/printerdrake.pm_.c:2301
#, c-format
-msgid "ADSL adapters"
+msgid ""
+"Your multi-function device was configured automatically to be able to scan. "
+"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
+"scanner when you have more than one) from the command line or with the "
+"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
+"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
+"\" menu. Call also \"man scanimage\" on the command line to get more "
+"information.\n"
+"\n"
+"Do not use \"scannerdrake\" for this device!"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr " , ?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Eritrea"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot ISO"
+#: ../../printer/printerdrake.pm_.c:2322
+msgid ""
+"Your printer was configured automatically to give you access to the photo "
+"card drives from your PC. Now you can access your photo cards using the "
+"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
+"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
+"\"man mtools\" on the command line for more info). You find the card's file "
+"system under the drive letter \"p:\", or subsequent drive letters when you "
+"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
+"can switch between drive letters with the field at the upper-right corners "
+"of the file lists."
msgstr ""
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid "Firmware needed"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2344 ../../printer/printerdrake.pm_.c:2702
+#: ../../printer/printerdrake.pm_.c:2990
+msgid "Reading printer data..."
+msgstr " ..."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove List"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2364 ../../printer/printerdrake.pm_.c:2391
+#: ../../printer/printerdrake.pm_.c:2426
+msgid "Transfer printer configuration"
+msgstr " "
-#: ../advertising/05-desktop.pl:1
-#, c-format
-msgid "A customizable environment"
+#: ../../printer/printerdrake.pm_.c:2365
+#, fuzzy, c-format
+msgid ""
+"You can copy the printer configuration which you have done for the spooler %"
+"s to %s, your current spooler. All the configuration data (printer name, "
+"description, location, connection type, and default option settings) is "
+"overtaken, but jobs will not be transferred.\n"
+"Not all queues can be transferred due to the following reasons:\n"
msgstr ""
+" , \n"
+" spoller %s %s, spooler. \n"
+"( , , , \n"
+" ) , \n"
+".\n"
+" :\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Inuktitut"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2368
+#, fuzzy
+msgid ""
+"CUPS does not support printers on Novell servers or printers sending the "
+"data into a free-formed command.\n"
+msgstr ""
+"CUPS Novell \n"
+" - .\n"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2370
+#, fuzzy
msgid ""
-"Some protocols, like rsync, may be configured at the server end. Rather "
-"than using a directory path, you would use the 'module' name for the service "
-"path."
+"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
+"printers.\n"
msgstr ""
+"PDQ , LPD \n"
+" Socket/TCP .\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Morocco"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2372
+msgid "LPD and LPRng do not support IPP printers.\n"
+msgstr "LPD LPRng IPP .\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printer model do you have?"
-msgstr " ?"
+#: ../../printer/printerdrake.pm_.c:2374
+#, fuzzy
+msgid ""
+"In addition, queues not created with this program or \"foomatic-configure\" "
+"cannot be transferred."
+msgstr ""
+" , \n"
+" \"foomatic-configure\" ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add a new printer"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2375
+#, fuzzy
+msgid ""
+"\n"
+"Also printers configured with the PPD files provided by their manufacturers "
+"or with native CUPS drivers cannot be transferred."
+msgstr ""
+"\n"
+" , PPD \n"
+" CUPS \n"
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " All of your selected data have been "
+#: ../../printer/printerdrake.pm_.c:2376
+msgid ""
+"\n"
+"Mark the printers which you want to transfer and click \n"
+"\"Transfer\"."
msgstr ""
+"\n"
+" , \n"
+"\"\"."
-#: ../../lang.pm:1
-#, c-format
-msgid "Nepal"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2379
+msgid "Do not transfer printers"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Delete"
-msgstr "<-- "
+#: ../../printer/printerdrake.pm_.c:2380 ../../printer/printerdrake.pm_.c:2396
+msgid "Transfer"
+msgstr ""
-#: ../../harddrake/data.pm:1
+#: ../../printer/printerdrake.pm_.c:2392
#, c-format
-msgid "cpu # "
-msgstr "cpu # "
+msgid ""
+"A printer named \"%s\" already exists under %s. \n"
+"Click \"Transfer\" to overwrite it.\n"
+"You can also type a new name or skip this printer."
+msgstr ""
+" \"%s\" %s.\n"
+" \"\", .\n"
+" ."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "chunk size"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2400
+msgid "Name of printer should contain only letters, numbers and the underscore"
+msgstr " , "
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:2405
#, c-format
msgid ""
-"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
-"\n"
-"If set to NONE, no issues are allowed.\n"
-"\n"
-"Else only /etc/issue is allowed."
+"The printer \"%s\" already exists,\n"
+"do you really want to overwrite its configuration?"
msgstr ""
+" \"%s\" ,\n"
+" ?"
-#: ../../security/help.pm:1
-#, c-format
-msgid " Enable/Disable sulogin(8) in single user level."
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2413
+msgid "New printer name"
+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:1
+#: ../../printer/printerdrake.pm_.c:2416
#, c-format
-msgid "commands before booting, or 'c' for a command-line."
-msgstr " , 'c' ."
+msgid "Transferring %s..."
+msgstr " %s ..."
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "Problems installing package %s"
-msgstr " %s"
+#: ../../printer/printerdrake.pm_.c:2427
+#, fuzzy, c-format
+msgid ""
+"You have transferred your former default printer (\"%s\"), Should it be also "
+"the default printer under the new printing system %s?"
+msgstr ""
+" (\"%s\"),\n"
+" \n"
+" %s ?"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "You will receive an alert if the load is higher than this value"
-msgstr " - "
+#: ../../printer/printerdrake.pm_.c:2437
+msgid "Refreshing printer data..."
+msgstr " ..."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add a scanner manually"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2445 ../../printer/printerdrake.pm_.c:2516
+#: ../../printer/printerdrake.pm_.c:2528
+msgid "Configuration of a remote printer"
+msgstr " "
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2446
+msgid "Starting network..."
+msgstr " ...."
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Reload partition table"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2479 ../../printer/printerdrake.pm_.c:2483
+#: ../../printer/printerdrake.pm_.c:2485
+msgid "Configure the network now"
+msgstr " "
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Yes, I want autologin with this (user, desktop)"
-msgstr ", autologin (, )"
+#: ../../printer/printerdrake.pm_.c:2480
+msgid "Network functionality not configured"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Selected"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2481
+msgid ""
+"You are going to configure a remote printer. This needs working network "
+"access, but your network is not configured yet. If you go on without network "
+"configuration, you will not be able to use the printer which you are "
+"configuring now. How do you want to proceed?"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search for fonts in installed list"
+#: ../../printer/printerdrake.pm_.c:2484
+msgid "Go on without configuring the network"
+msgstr " "
+
+#: ../../printer/printerdrake.pm_.c:2518
+msgid ""
+"The network configuration done during the installation cannot be started "
+"now. Please check whether the network gets accessable after booting your "
+"system and correct the configuration using the Mandrake Control Center, "
+"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
+"printer, also using the Mandrake Control Center, section \"Hardware\"/"
+"\"Printer\""
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The Local Network did not finish with `.0', bailing out."
+#: ../../printer/printerdrake.pm_.c:2519
+#, fuzzy
+msgid ""
+"The network access was not running and could not be started. Please check "
+"your configuration and your hardware. Then try to configure your remote "
+"printer again."
msgstr ""
+" \n"
+". , \n"
+". \n"
+"."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Boot"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2529
+msgid "Restarting printing system..."
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " and the CD is in the drive"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2568
+msgid "high"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Tuner type:"
-msgstr " :"
+#: ../../printer/printerdrake.pm_.c:2568
+msgid "paranoid"
+msgstr ""
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:2569
#, c-format
-msgid ""
-"Now, it's time to select a printing system for your computer. Other OSs may\n"
-"offer you one, but Mandrake Linux offers two. Each of the printing system\n"
-"is best suited to particular types of configuration.\n"
-"\n"
-" * \"%s\" -- which is an acronym for ``print, don't queue'', is the choice\n"
-"if you have a direct connection to your printer, you want to be able to\n"
-"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
-"will handle only very simple network cases and is somewhat slow when used\n"
-"with networks.) It's recommended that you use \"pdq\" if this is your first\n"
-"experience with GNU/Linux.\n"
-"\n"
-" * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n"
-"printing to your local printer or to one halfway around the planet. It is\n"
-"simple to configure and can act as a server or a client for the ancient\n"
-"\"lpd \" printing system, so it compatible with older operating systems\n"
-"which may still need print services. While quite powerful, the basic setup\n"
-"is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make\n"
-"sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n"
-"front-ends for printing or choosing printer options and for managing the\n"
-"printer.\n"
-"\n"
-"If you make a choice now, and later find that you don't like your printing\n"
-"system you may change it by running PrinterDrake from the Mandrake Control\n"
-"Center and clicking the expert button."
-msgstr ""
-" .\n"
-" , .\n"
-" .\n"
-"\n"
-" * \"%s\"-- \"print,don't queue\"(\", \"), "
-"\n"
-", , ,\n"
-" .(\"%s\" \n"
-" , .) \n"
-" \"pdq\" GNU/Linux. \n"
-" * \"%s\" - `` Common Unix Printing System``( "
-"Unix)\n"
-" , , ,\n"
-" . \n"
-" \"lpd \", \n"
-" - , \n"
-". , \n"
-", \"pdq\". \"lpd\" ,\n"
-" , \"cups-lpd\" .\"%s\" \n"
-" , \n"
-" .\n"
-"\n"
-" , - , \n"
-" , PrinterDrake \n"
-" \"\"."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "\"Menu\" key"
-msgstr "\"Menu\" "
+msgid "Installing a printing system in the %s security level"
+msgstr " %s "
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2570
#, c-format
msgid ""
+"You are about to install the printing system %s on a system running in the %"
+"s security level.\n"
"\n"
+"This printing system runs a daemon (background process) which waits for "
+"print jobs and handles them. This daemon is also accessable by remote "
+"machines through the network and so it is a possible point for attacks. "
+"Therefore only a few selected daemons are started by default in this "
+"security level.\n"
"\n"
-"Please check whether Printerdrake did the auto-detection of your printer "
-"model correctly. Find the correct model in the list when a wrong model or "
-"\"Raw printer\" is highlighted."
+"Do you really want to configure printing on this machine?"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Security Administrator:"
-msgstr " :"
+#: ../../printer/printerdrake.pm_.c:2604
+msgid "Starting the printing system at boot time"
+msgstr " "
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:2605
#, c-format
-msgid "Set the shell timeout. A value of zero means no timeout."
+msgid ""
+"The printing system (%s) will not be started automatically when the machine "
+"is booted.\n"
+"\n"
+"It is possible that the automatic starting was turned off by changing to a "
+"higher security level, because the printing system is a potential point for "
+"attacks.\n"
+"\n"
+"Do you want to have the automatic starting of the printing system turned on "
+"again?"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy succeeded"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2765
+msgid "Checking installed software..."
+msgstr " ..."
-#: ../../../move/tree/mdk_totem:1
-#, c-format
-msgid ""
-"You can't use another CDROM when the following programs are running: \n"
-"%s"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2630
+#, fuzzy, c-format
+msgid "Removing %s ..."
+msgstr " %s"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check permissions of files in the users' home."
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2636
+#, fuzzy, c-format
+msgid "Installing %s ..."
+msgstr " ..."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"You don't have an Internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-" Internet .\n"
-" , ''"
+#: ../../printer/printerdrake.pm_.c:2685
+msgid "Select Printer Spooler"
+msgstr " spooler"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Fonts copy"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2686
+msgid "Which printing system (spooler) do you want to use?"
+msgstr " (spooler) ?"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automated"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2720
+#, fuzzy, c-format
+msgid "Configuring printer \"%s\"..."
+msgstr " \"%s\" ..."
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Do you want to test the configuration?"
-msgstr " ?"
+#: ../../printer/printerdrake.pm_.c:2731
+#, fuzzy
+msgid "Installing Foomatic..."
+msgstr " ..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
-"GIMP."
-msgstr " \"%s\" ffice/OpenOffice.org/GIMP."
+#: ../../printer/printerdrake.pm_.c:2800 ../../printer/printerdrake.pm_.c:2838
+#: ../../printer/printerdrake.pm_.c:3230 ../../printer/printerdrake.pm_.c:3300
+msgid "Printer options"
+msgstr " "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save packages selection"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2810
+#, fuzzy
+msgid "Preparing Printerdrake..."
+msgstr " PinterDrake ..."
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Actions"
-msgstr "/_"
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:3369
+#, fuzzy
+msgid "Configuring applications..."
+msgstr " \"%s\" ..."
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Remove the last item"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2845
+msgid "Would you like to configure printing?"
+msgstr " ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "User list to restore (only the most recent date per user is important)"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2857
+msgid "Printing system: "
+msgstr " : "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No net boot images created!"
+#: ../../printer/printerdrake.pm_.c:2915
+#, fuzzy
+msgid ""
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; to view information about it; "
+"or to make a printer on a remote CUPS server available for Star Office/"
+"OpenOffice.org/GIMP."
msgstr ""
+" .\n"
+" , \n"
+" , \n"
+" \" \", ."
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pptp"
-msgstr " PPPTP"
+#: ../../printer/printerdrake.pm_.c:2916
+#, fuzzy
+msgid ""
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; or to view information about "
+"it."
+msgstr ""
+" .\n"
+" , \n"
+" , \n"
+" \" \", ."
-#: ../../services.pm:1
-#, c-format
-msgid "Choose which services should be automatically started at boot time"
-msgstr " , "
+#: ../../printer/printerdrake.pm_.c:2942
+msgid "Refresh printer list (to display all available remote CUPS printers)"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check files/directories writable by everybody"
-msgstr " / ."
+#: ../../printer/printerdrake.pm_.c:2960
+#, fuzzy
+msgid "Change the printing system"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Learn how to use this printer"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:2965 ../../standalone/drakconnect_.c:274
+msgid "Normal Mode"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configure the network now"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:3127 ../../printer/printerdrake.pm_.c:3176
+#: ../../printer/printerdrake.pm_.c:3363
+msgid "Do you want to configure another printer?"
+msgstr " ?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose a mirror from which to get the packages"
-msgstr " , "
+#: ../../printer/printerdrake.pm_.c:3211
+msgid "Modify printer configuration"
+msgstr " "
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:3213
+#, fuzzy, c-format
msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
+"Printer %s\n"
+"What do you want to modify on this printer?"
msgstr ""
-" FAT , \n"
-" : %s"
+" %s: %s %s\n"
+" ?"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Size: "
-msgstr ": "
+#: ../../printer/printerdrake.pm_.c:3217
+msgid "Do it!"
+msgstr " !"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which sector do you want to move it to?"
-msgstr " ?"
+#: ../../printer/printerdrake.pm_.c:3222 ../../printer/printerdrake.pm_.c:3271
+msgid "Printer connection type"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahamas"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3223 ../../printer/printerdrake.pm_.c:3275
+msgid "Printer name, description, location"
+msgstr " , , "
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Do you want to click on this button?"
-msgstr " ?"
+#: ../../printer/printerdrake.pm_.c:3225 ../../printer/printerdrake.pm_.c:3293
+msgid "Printer manufacturer, model, driver"
+msgstr " , , "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Manual configuration"
-msgstr " "
+#: ../../printer/printerdrake.pm_.c:3226 ../../printer/printerdrake.pm_.c:3294
+msgid "Printer manufacturer, model"
+msgstr " , "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "search"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3232 ../../printer/printerdrake.pm_.c:3304
+msgid "Set this printer as the default"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../printer/printerdrake.pm_.c:3234 ../../printer/printerdrake.pm_.c:3309
+msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-" /etc/sysconfig/"
-"keyboard.\n"
-" kbdconfig. "
-" ."
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Xpmac (installation display driver)"
-msgstr "Xpmac ( )"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf host name must not contain a ."
+#: ../../printer/printerdrake.pm_.c:3235 ../../printer/printerdrake.pm_.c:3314
+msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid " Accept/Refuse icmp echo."
-msgstr "/ icmp echo."
+#: ../../printer/printerdrake.pm_.c:3236 ../../printer/printerdrake.pm_.c:3319
+msgid "Print test pages"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-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"
-" (). ."
+#: ../../printer/printerdrake.pm_.c:3237 ../../printer/printerdrake.pm_.c:3321
+#, fuzzy
+msgid "Know how to use this printer"
+msgstr " ?"
-#: ../../harddrake/data.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Unknown/Others"
-msgstr "/"
+#: ../../printer/printerdrake.pm_.c:3238 ../../printer/printerdrake.pm_.c:3323
+msgid "Remove printer"
+msgstr " "
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "No TV Card detected!"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3282
+#, fuzzy, c-format
+msgid "Removing old printer \"%s\"..."
+msgstr " \"%s\" ..."
-#: ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Options"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3307
+msgid "Default printer"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3308
#, c-format
msgid "The printer \"%s\" is set as the default printer now."
msgstr " \"%s\" ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are configuring an OKI laser winprinter. These printers\n"
-"use a very special communication protocol and therefore they work only when "
-"connected to the first parallel port. When your printer is connected to "
-"another port or to a print server box please connect the printer to the "
-"first parallel port before you print a test page. Otherwise the printer will "
-"not work. Your connection type setting will be ignored by the driver."
+#: ../../printer/printerdrake.pm_.c:3310
+msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "generation of the cpu (eg: 8 for PentiumIII, ...)"
-msgstr " (: 8 PentiumIII, ...)"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3312
#, c-format
-msgid "Auto-detected"
-msgstr " "
-
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
msgid ""
-"You are about to configure your computer to install a PXE server as a DHCP "
-"server\n"
-"and a TFTP server to build an installation server.\n"
-"With that feature, other computers on your local network will be installable "
-"using this computer as source.\n"
-"\n"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
+"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
msgstr ""
-" , \n"
-". , \n"
-" .\n"
-"\n"
-": , "
-" (LAN)."
-#: ../../harddrake/sound.pm:1
+#: ../../printer/printerdrake.pm_.c:3313
#, c-format
-msgid ""
-"OSS (Open Sound System) was the first sound API. It's an OS independent "
-"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
-"and limited API.\n"
-"What's more, OSS drivers all reinvent the wheel.\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
-"which\n"
-"supports quite a large range of ISA, USB and PCI cards.\n"
-"\n"
-"It also provides a much higher API than OSS.\n"
-"\n"
-"To use alsa, one can either use:\n"
-"- the old compatibility OSS api\n"
-"- the new ALSA api that provides many enhanced features but requires using "
-"the ALSA library.\n"
+msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"No free space for 1MB bootstrap! Install will continue, but to boot your "
-"system, you'll need to create the bootstrap partition in DiskDrake"
+#: ../../printer/printerdrake.pm_.c:3315
+msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-" 1 ! , , "
-" , "
-"DiskDrake"
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3317
#, c-format
msgid ""
-"Please choose the printer you want to set up or enter a device name/file "
-"name in the input line"
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Refuse"
-msgstr ""
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "LOCAL"
+"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
+"GIMP."
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../services.pm:1
+#: ../../printer/printerdrake.pm_.c:3318
#, c-format
msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
+"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
msgstr ""
-"HardDrake , \n"
-"/ ."
-#: ../../fs.pm:1
+#: ../../printer/printerdrake.pm_.c:3325
#, c-format
-msgid "Creating and formatting file %s"
-msgstr " %s"
+msgid "Do you really want to remove the printer \"%s\"?"
+msgstr " \"%s\" ?"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of sgid files."
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3329
+#, fuzzy, c-format
+msgid "Removing printer \"%s\"..."
+msgstr " \"%s\" ..."
-#: ../../printer/printerdrake.pm:1
+#: ../../raid.pm_.c:35
#, c-format
-msgid ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned "
-"on. Download the Windows driver package from the HP web site (the firmware "
-"on the printer's CD does not work) and extract the firmware file from it by "
-"uncompresing the self-extracting '.exe' file with the 'unzip' utility and "
-"searching for the 'sihp1000.img' file. Copy this file into the '/etc/"
-"printer' directory. There it will be found by the automatic uploader script "
-"and uploaded whenever the printer is connected and turned on.\n"
-msgstr ""
+msgid "Can't add a partition to _formatted_ RAID md%d"
+msgstr " __ RAID md%d"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing LVM to add to"
-msgstr " LVM "
+#: ../../raid.pm_.c:137
+msgid "mkraid failed"
+msgstr "mkraid "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "xfs restart"
-msgstr "xfs "
+#: ../../raid.pm_.c:137
+msgid "mkraid failed (maybe raidtools are missing?)"
+msgstr "mkraid ( raidtools ?)"
-#: ../../printer/printerdrake.pm:1
+#: ../../raid.pm_.c:153
#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr " RAID %d\n"
+
+#: ../../security/main.pm_.c:36
msgid ""
-"The printer \"%s\" already exists,\n"
-"do you really want to overwrite its configuration?"
+"Standard: This is the standard security recommended for a computer that will "
+"be used to connect\n"
+" to the Internet as a client.\n"
+"\n"
+"High: There are already some restrictions, and more automatic checks "
+"are run every night.\n"
+"\n"
+"Higher: The security is now high enough to use the system as a server "
+"which can accept\n"
+" connections from many clients. If your machine is only a "
+"client on the Internet, you\n"
+"\t should choose a lower level.\n"
+"\n"
+"Paranoid: This is similar to the previous level, but the system is entirely "
+"closed and security\n"
+" features are at their maximum\n"
+"\n"
+"Security Administrator:\n"
+" If the 'Security Alerts' option is set, security alerts will "
+"be sent to this user (username or\n"
+"\t email)"
msgstr ""
-" \"%s\" ,\n"
-" ?"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use the scanners on hosts: "
-msgstr ""
+#: ../../security/main.pm_.c:66
+#, fuzzy
+msgid "Security Level:"
+msgstr " "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselected All"
-msgstr ""
+#: ../../security/main.pm_.c:77
+#, fuzzy, c-format
+msgid " (default value: %s)"
+msgstr " ( )"
-#: ../../install_steps_interactive.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "No partition available"
-msgstr " "
+#: ../../security/main.pm_.c:113
+#, fuzzy
+msgid "Security Alerts:"
+msgstr " "
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Printer Management \n"
-msgstr " \n"
+#: ../../security/main.pm_.c:115
+#, fuzzy
+msgid "Security Administrator:"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Domain Name Resolver"
-msgstr "Domain Name Resolver"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "Network Options"
+msgstr " :"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key (again)"
-msgstr " ()"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "System Options"
+msgstr " :"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Samba share name missing!"
-msgstr " SAMBA share !"
+#: ../../security/main.pm_.c:133 ../../security/main.pm_.c:164
+msgid ""
+"The following options can be set to customize your\n"
+"system security. If you need explanations, click on Help.\n"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type install done"
+#: ../../security/main.pm_.c:177
+msgid "Periodic Checks"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Detection in progress"
-msgstr " "
+#: ../../security/main.pm_.c:191
+#, fuzzy
+msgid "Please wait, setting security level..."
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Whole Kernel -->"
-msgstr " -->"
+#: ../../security/main.pm_.c:197
+#, fuzzy
+msgid "Please wait, setting security options..."
+msgstr ", , "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "modem"
-msgstr ""
+#: ../../services.pm_.c:19
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr " ALSA (Advanced Linux Sound Architecture) "
-#: ../../lang.pm:1
-#, c-format
-msgid "Welcome to %s"
-msgstr " %s"
+#: ../../services.pm_.c:20
+msgid "Anacron a periodic command scheduler."
+msgstr "Anacrton - ."
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../services.pm_.c:21
msgid ""
-" drakhelp 0.1\n"
-"Copyright (C) 2003 MandrakeSoft.\n"
-"This is free software and may be redistributed under the terms of the GNU "
-"GPL.\n"
-"\n"
-"Usage: \n"
+"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. , "
+"."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please insert the Update Modules floppy in drive %s"
-msgstr " %s"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Bootsplash"
+#: ../../services.pm_.c:23
+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"
+" , ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:25
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"is directly connected to your system"
+"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 ""
-" \n"
-"\n"
-"%s%s\n"
-" "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer sharing on hosts/networks: "
-msgstr " /: "
+"cron UNIX , \n"
+" . vixie cron \n"
+"UNIX cron, - ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:28
msgid ""
-"\n"
-"The \"%s\" command also allows to modify the option settings for a "
-"particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\". "
+"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 ""
-"\n"
-" \"%s\" "
-" . "
-" , . \"%s <file>\". "
+"GPM - Linux \n"
+"Midnight Commander. \n"
+"-- , ."
-#: ../../standalone/drakclock:1
-#, c-format
-msgid "DrakClock"
+#: ../../services.pm_.c:31
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
msgstr ""
+"HardDrake , \n"
+"/ ."
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:33
msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without them. 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."
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
msgstr ""
-" , %s , \n"
-" , . "
-"\n"
-" "
-"\n"
-" ? , "
-" ."
+"Apache World Wide Web (WWW) . HTML "
+"\n"
+" CGI."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct CD label. Disk is labelled %s."
+#: ../../services.pm_.c:34
+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"
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../services.pm_.c:38
msgid ""
-"\n"
-"- Daemon, %s via:\n"
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
msgstr ""
+" Linux 2.2, \n"
+" , s cel \n"
+" ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Cuba"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "October"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Belize"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Searching for new printers..."
-msgstr " ..."
+#: ../../services.pm_.c:40
+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. "
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (multi-session)"
+#: ../../services.pm_.c:43
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
msgstr ""
+" header- , /boot \n"
+"/usr/include/linux/{autoconf,version}.h"
-#: ../../any.pm:1
-#, c-format
-msgid "Kernel Boot Timeout"
-msgstr " "
+#: ../../services.pm_.c:45
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr " ."
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../services.pm_.c:46
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."
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
msgstr ""
-" 3D , Xfree %"
-"s.\n"
-" XFree %s, - "
-"2D."
-
-#: ../../security/help.pm:1
-#, c-format
-msgid " Activate/Disable daily security check."
-msgstr "/ "
+"Linuxconf \n"
+" ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-CD-R.\n"
+#: ../../services.pm_.c:48
+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"
+", (/)."
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable libsafe if libsafe is found on the system"
+#: ../../services.pm_.c:50
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
msgstr ""
+"Linux Virtual Server \n"
+" ."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "The DrakX Partitioning wizard found the following solutions:"
-msgstr " DrakX :"
+#: ../../services.pm_.c:52
+#, fuzzy
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) Domain Name Server (DNS), \n"
+" IP ."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Hungarian"
-msgstr ""
+#: ../../services.pm_.c:53
+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)."
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../services.pm_.c:55
msgid ""
-"Select your provider.\n"
-"If it isn't listed, choose Unlisted."
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
msgstr ""
-" .\n"
-" , Unlisted"
+"/ , \n"
+" ."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automatic time synchronization (using NTP)"
-msgstr " ( NTP)"
+#: ../../services.pm_.c:57
+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."
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid "Use my Windows partition"
-msgstr " Windows "
+#: ../../services.pm_.c:60
+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 ."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "8 MB"
-msgstr "8 "
+#: ../../services.pm_.c:62
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and XFree at boot."
+msgstr ""
+" numlock \n"
+"XFree ."
-#: ../../any.pm:1
-#, c-format
-msgid "LDAP Server"
-msgstr "LDAP "
+#: ../../services.pm_.c:64
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr " OKI 4w win-."
-#: ../../services.pm:1
-#, c-format
+#: ../../services.pm_.c:65
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 "
@@ -12505,411 +9434,433 @@ msgstr ""
"laptop-. , \n"
"- , ."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Choose your country"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../services.pm_.c:68
msgid ""
-"\n"
-"- System Files:\n"
+"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 ""
-"\n"
-"- :\n"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Standalone Tools"
-msgstr " "
+"portmapper RPC , \n"
+"NFS NIS. portmap , \n"
+" , RPC ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Where"
-msgstr ""
+#: ../../services.pm_.c:71
+#, fuzzy
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix Main Transport Agent (MTA), \n"
+" ."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "but not matching"
-msgstr " "
+#: ../../services.pm_.c:72
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+" - \n"
+" ."
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../services.pm_.c:74
msgid ""
-"Here you can select an alternative driver (either OSS or ALSA) for your "
-"sound card (%s)."
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle"
msgstr ""
-" (OSS ALSA) "
-" (%s)."
+" ( \n"
+" ), Oracle"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring PCMCIA cards..."
-msgstr " PCMCIA ..."
+#: ../../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"
+" . "
-#: ../../common.pm:1
-#, c-format
-msgid "kdesu missing"
-msgstr " kdesu"
+#: ../../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"
+" ."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires a username...\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"
+" ."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key"
-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 ""
+"rwho \n"
+" rwho ( "
+"finger)."
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
+#: ../../services.pm_.c:85
+msgid "Launch the sound system on your machine"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
+#: ../../services.pm_.c:86
msgid ""
-"This setting will be activated after the installation.\n"
-"During installation, you will need to use the Right Control\n"
-"key to switch between the different keyboard layouts."
+"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"
+" (). ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Christmas Island"
-msgstr " "
+#: ../../services.pm_.c:88
+msgid "Load the drivers for your usb devices."
+msgstr " USB ."
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Automatic"
-msgstr " IP "
+#: ../../services.pm_.c:89
+msgid "Starts the X Font Server (this is mandatory for XFree to run)."
+msgstr " X Font Server ( , XFree)."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr " bootloader . :"
+#: ../../services.pm_.c:115 ../../services.pm_.c:157
+msgid "Choose which services should be automatically started at boot time"
+msgstr " , "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "EIDE/SCSI channel"
-msgstr "EIDE/SCSI "
+#: ../../services.pm_.c:127
+msgid "Printing"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Set this printer as the default"
-msgstr " "
+#: ../../services.pm_.c:128
+msgid "Internet"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Verify that %s is the correct path"
-msgstr " ?"
+#: ../../services.pm_.c:131
+msgid "File sharing"
+msgstr " "
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "partition %s"
-msgstr " %s"
+#: ../../services.pm_.c:133 ../../standalone/drakbackup_.c:1709
+msgid "System"
+msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Paranoid"
-msgstr ""
+#: ../../services.pm_.c:138
+msgid "Remote Administration"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "NIS"
-msgstr "NIS"
+#: ../../services.pm_.c:146
+msgid "Database Server"
+msgstr " -"
-#: ../../standalone/drakTermServ:1
+#: ../../services.pm_.c:175
#, c-format
-msgid "<-- Del User"
-msgstr "<-- "
+msgid "Services: %d activated for %d registered"
+msgstr ": %d %d "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Location on the bus"
-msgstr ""
+#: ../../services.pm_.c:191
+msgid "Services"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No printer found!"
-msgstr " !"
+#: ../../services.pm_.c:203
+msgid "running"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the device"
-msgstr " "
+#: ../../services.pm_.c:203
+msgid "stopped"
+msgstr ""
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Erase entire disk"
-msgstr " "
+#: ../../services.pm_.c:217
+msgid "Services and deamons"
+msgstr " "
-#: ../../printer/cups.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Default)"
-msgstr " ( )"
+#: ../../services.pm_.c:222
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+" \n"
+" , ."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Automatic reconfiguration"
-msgstr " "
+#: ../../services.pm_.c:229
+msgid "On boot"
+msgstr " "
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Receiving Speed:"
-msgstr " :"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Start"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Turks and Caicos Islands"
-msgstr " "
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Stop"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "No Ip"
+#: ../../share/advertising/01-thanks.pl_.c:9
+msgid "Thank you for choosing Mandrake Linux 9.0"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../interactive/newt.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "<- Previous"
-msgstr "<- "
+#: ../../share/advertising/01-thanks.pl_.c:10
+msgid "Welcome to the Open Source world"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Transfer Now"
-msgstr " "
+#: ../../share/advertising/01-thanks.pl_.c:11
+msgid ""
+"The success of MandrakeSoft is based upon the principle of Free Software. "
+"Your new operating system is the result of collaborative work on the part of "
+"the worldwide Linux Community"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password and network authentication methods"
+#: ../../share/advertising/02-community.pl_.c:9
+#, fuzzy
+msgid "Get involved in the Free Software world"
+msgstr " "
+
+#: ../../share/advertising/02-community.pl_.c:10
+msgid "Want to know more about the Open Source community?"
msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Toggle between flat and group sorted"
-msgstr " "
+#: ../../share/advertising/02-community.pl_.c:11
+msgid ""
+"To share your own knowledge and help build Linux tools, join the discussion "
+"forums you'll find on our \"Community\" webpages"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Themes"
-msgstr ""
+#: ../../share/advertising/03-internet.pl_.c:9
+#, fuzzy
+msgid "Get the most from the Internet"
+msgstr " "
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Options: %s"
-msgstr ": %s"
+#: ../../share/advertising/03-internet.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 has selected the best software for you. Surf the Web and "
+"view animations with Mozilla and Konqueror, or read your mail and handle "
+"your personal information with Evolution and Kmail"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../share/advertising/04-multimedia.pl_.c:9
+msgid "Discover the most up-to-date graphical and multimedia tools!"
+msgstr ""
+
+#: ../../share/advertising/04-multimedia.pl_.c:10
+msgid "Push multimedia to its limits!"
+msgstr ""
+
+#: ../../share/advertising/04-multimedia.pl_.c:11
msgid ""
-"You are currently using %s as your boot manager.\n"
-"Click on Configure to launch the setup wizard."
+"Mandrake Linux 9.0 enables you to use the very latest software to play audio "
+"files, edit and handle your images or photos, and play videos"
msgstr ""
-" %s .\n"
-" , ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "OKI winprinter configuration"
-msgstr " OKI Winprinter"
+#: ../../share/advertising/05-games.pl_.c:9
+msgid "Games"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Helena"
-msgstr " "
+#: ../../share/advertising/05-games.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides the best Open Source games - arcade, action, "
+"strategy, ..."
+msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Parallel port #%s"
-msgstr " #%s"
+#: ../../share/advertising/06-mcc.pl_.c:9 ../../standalone/drakbug_.c:49
+#, fuzzy
+msgid "Mandrake Control Center"
+msgstr " "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Security Level"
-msgstr " "
+#: ../../share/advertising/06-mcc.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides a powerful tool to fully customize and configure "
+"your machine"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../share/advertising/07-desktop.pl_.c:9
+#, fuzzy
+msgid "User interfaces"
+msgstr " "
+
+#: ../../share/advertising/07-desktop.pl_.c:10
msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
+"Mandrake Linux 9.0 provides you with 11 user interfaces that can be fully "
+"modified: KDE 3, Gnome 2, WindowMaker, ..."
msgstr ""
-" .\n"
-"\n"
-" ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Sudan"
-msgstr ""
+#: ../../share/advertising/08-development.pl_.c:9
+#, fuzzy
+msgid "Development simplified"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwertz layout)"
-msgstr " (QWERTZ )"
+#: ../../share/advertising/08-development.pl_.c:10
+msgid "Mandrake Linux 9.0 is the ultimate development platform"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Syria"
-msgstr ""
+#: ../../share/advertising/08-development.pl_.c:11
+msgid ""
+"Use the full power of the GNU gcc 3 compiler as well as the best Open Source "
+"development environments"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../share/advertising/09-server.pl_.c:9
+msgid "Turn your machine into a reliable server"
+msgstr ""
+
+#: ../../share/advertising/09-server.pl_.c:10
msgid ""
-"Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, "
-"LaserJet 1100/1200/1220/3200/3300 with scanner, DeskJet 450, Sony IJP-V100), "
-"an HP PhotoSmart or an HP LaserJet 2200?"
+"Transform your machine into a powerful Linux server with a few clicks of "
+"your mouse: Web server, mail, firewall, router, file and print server, ..."
msgstr ""
-" HP Sony "
-"(OfficeJet, PSC, LaserJet 1100/1200/1220/3200/3300 , DeskJet 450, "
-"Sony IJP-V100), HP PhotoSmart HP LaserJet 2200?"
-# 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:1
-#, c-format
+#: ../../share/advertising/10-mnf.pl_.c:9
+msgid "Optimize your security"
+msgstr ""
+
+#: ../../share/advertising/10-mnf.pl_.c:10
msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system from the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
+"The MandrakeSecurity range includes the Multi Network Firewall product (M.N."
+"F.)"
msgstr ""
-" %s - !\n"
-"\n"
-" \n"
-"%d .\n"
-"\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Portuguese"
-msgstr ""
+#: ../../share/advertising/10-mnf.pl_.c:11
+msgid ""
+"This firewall product includes network features that allow you to fulfill "
+"all your security needs"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: "
-msgstr " loopback : "
+#: ../../share/advertising/10-mnf.pl_.c:12
+msgid "This product is available on MandrakeStore website"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server address should be in format 1.2.3.4"
-msgstr "DNS 1.2.3.4"
+#: ../../share/advertising/11-mdkstore.pl_.c:9
+msgid "The official MandrakeSoft store"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Control key"
-msgstr " Ctrl"
+#: ../../share/advertising/11-mdkstore.pl_.c:10
+msgid ""
+"Our full range of Linux solutions, as well as special offers on products and "
+"other \"goodies,\" are available online on our e-store:"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Serbia"
-msgstr ""
+#: ../../share/advertising/12-mdkstore.pl_.c:9
+msgid "Strategic partners"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Newzealand"
+#: ../../share/advertising/12-mdkstore.pl_.c:10
+msgid ""
+"MandrakeSoft works alongside a selection of companies offering professional "
+"solutions compatible with Mandrake Linux. A list of these partners is "
+"available on the MandrakeStore"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "This directory should remain within the root filesystem"
-msgstr " root ."
+#: ../../share/advertising/13-mdkcampus.pl_.c:9
+msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Across Network"
+#: ../../share/advertising/13-mdkcampus.pl_.c:10
+msgid ""
+"The training program has been created to respond to the needs of both end "
+"users and experts (Network and System administrators)"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "CapsLock key"
-msgstr "CapsLock "
+#: ../../share/advertising/13-mdkcampus.pl_.c:11
+msgid "Certify yourself on Linux"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install bootloader"
-msgstr " bootloader"
+#: ../../share/advertising/13-mdkcampus.pl_.c:12
+msgid ""
+"Whether you choose to teach yourself online or via our network of training "
+"partners, the Linux-Campus catalogue prepares you for the acknowledged LPI "
+"certification program (worldwide professional technical certification)"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Select the memory size of your graphics card"
-msgstr " "
+#: ../../share/advertising/14-mdkexpert.pl_.c:9
+#, fuzzy
+msgid "Become a MandrakeExpert"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../share/advertising/14-mdkexpert.pl_.c:10
msgid ""
-"Enable/Disable crontab and at for users.\n"
-"\n"
-"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
-"and crontab(1))."
+"Find the solutions of your problems via MandrakeSoft's online support "
+"platform"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../share/advertising/14-mdkexpert.pl_.c:11
msgid ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
-"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
+"Join the MandrakeSoft support teams and the Linux Community online to share "
+"your knowledge and help others by becoming a recognized Expert on the online "
+"technical support website:"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Dynamic IP Address Pool:"
-msgstr " IP :"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:9
+#, fuzzy
+msgid "MandrakeExpert Corporate"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM name?"
-msgstr "LVM ?"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:10
+msgid "An online platform to respond to company's specific support needs"
+msgstr ""
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices in the \"%s\" hardware class were removed:\n"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:11
+msgid ""
+"All incidents will be followed up by a single qualified MandrakeSoft "
+"technical expert."
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr " %s %s "
+#: ../../share/advertising/17-mdkclub.pl_.c:9
+msgid "Discover MandrakeClub and Mandrake Corporate Club"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Post Install"
-msgstr " "
+#: ../../share/advertising/17-mdkclub.pl_.c:10
+msgid ""
+"MandrakeClub and Mandrake Corporate Club were created for business and "
+"private users of Mandrake Linux who would like to directly support their "
+"favorite Linux distribution while also receiving special privileges. If you "
+"enjoy our products, if your company benefits from our products to gain a "
+"competititve edge, if you want to support Mandrake Linux development, join "
+"MandrakeClub!"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The internal domain name"
-msgstr " "
+#: ../../standalone.pm_.c:21
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IRQ"
-msgstr "IRQ "
+#: ../../standalone.pm_.c:40
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version name.\n"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "logdrake"
-msgstr ""
+#: ../../standalone.pm_.c:51
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of mandrake tools\n"
+" --incident - program should be one of mandrake tools"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../standalone.pm_.c:57
msgid ""
"Font Importation and monitoring "
"application \n"
@@ -12925,6743 +9876,4316 @@ msgid ""
" : and gs for ghostscript for only this one."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the floppy drive you want to use to make the bootdisk"
-msgstr " , "
-
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with text menu"
-msgstr "LILO "
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "instantaneous"
+#: ../../standalone.pm_.c:68
+msgid ""
+"[OPTIONS]...\n"
+"\t --debug print debugging information"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Everything (no firewall)"
-msgstr " ( firewall)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a kernel image"
-msgstr " "
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on USB"
-msgstr ", USB"
-
-#: ../../interactive/newt.pm:1
-#, c-format
-msgid "Do"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Contacting the mirror to get the list of available packages..."
-msgstr " "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (old)"
-msgstr " AZERTY ()"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Brazilian (ABNT-2)"
-msgstr " (ABNT-2)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address of host/network:"
-msgstr "IP /:"
-
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone.pm_.c:70
msgid ""
-"the progress bar y coordinate\n"
-"of its upper left corner"
+"[OPTIONS]...\n"
+"Mandrake Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
msgstr ""
-" y \n"
-" "
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System installation"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Vincent and the Grenadines"
-msgstr " "
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid reboot by the console user."
-msgstr "/ ."
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Open"
-msgstr "//_"
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Location of auto_install.cfg file"
-msgstr " auto_install.cfg "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Open Firmware Delay"
-msgstr " Open Firmware"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Hungary"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "New Zealand"
-msgstr " "
+#: ../../standalone.pm_.c:82
+#, fuzzy
+msgid "[keyboard]"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Color configuration"
-msgstr " "
+#: ../../standalone.pm_.c:83
+msgid "[--file=myfyle] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
-#: ../../security/level.pm:1
-#, c-format
+#: ../../standalone.pm_.c:84
msgid ""
-"There are already some restrictions, and more automatic checks are run every "
-"night."
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : don't be interactive. To be used with (dis)connect."
msgstr ""
-" , "
-" ."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "please choose the date to restore"
-msgstr ", "
-#: ../../lang.pm:1
-#, c-format
-msgid "Netherlands Antilles"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Switching from ext2 to ext3"
-msgstr " ext2 ext3"
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng"
-msgstr "LPRng"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Browse to new restore repository."
+#: ../../standalone.pm_.c:93
+msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone.pm_.c:94
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard allows you to install local or remote printers to be used from "
-"this machine and also from other machines in the network.\n"
-"\n"
-"It asks you for all necessary information to set up the printer and gives "
-"you access to all available printer drivers, driver options, and printer "
-"connection types."
+"[OPTION]...\n"
+" --no-confirmation don't ask first confirmation question in "
+"MandrakeUpdate mode\n"
+" --no-verify-rpm don't verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "and %d unknown printers"
-msgstr " %d "
+#: ../../standalone.pm_.c:99
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-usbtable] "
+"[--dynamic=dev]"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone.pm_.c:100
msgid ""
-"Early Intel Pentium chips manufactured have a bug in their floating point "
-"processor which did not achieve the required precision when performing a "
-"Floating point DIVision (FDIV)"
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone.pm_.c:114
#, c-format
msgid ""
-"Backup quota exceeded!\n"
-"%d MB used vs %d MB allocated."
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "No ISDN PCI card found. Please select one on the next screen."
-msgstr " ISDN PCI . ."
+#: ../../standalone.pm_.c:168
+msgid "Installing packages..."
+msgstr " ..."
-#: ../../common.pm:1
-#, c-format
-msgid "GB"
-msgstr ""
+#: ../../standalone/XFdrake_.c:138
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr " Ctrl-Alt-BackSpace"
-#: ../../any.pm:1
+#: ../../standalone/XFdrake_.c:142
#, c-format
-msgid "Please give a user name"
-msgstr ", "
+msgid "Please relog into %s to activate the changes"
+msgstr " %s, "
-#: ../../any.pm:1
-#, c-format
-msgid "Enable CD Boot?"
-msgstr " CD ?"
+#: ../../standalone/drakTermServ_.c:239
+#, fuzzy
+msgid "Mandrake Terminal Server Configuration"
+msgstr " "
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Simply reboot"
-msgstr ""
+#: ../../standalone/drakTermServ_.c:253
+#, fuzzy
+msgid "Enable Server"
+msgstr " -"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid " enter `void' for void entry"
+#: ../../standalone/drakTermServ_.c:260
+#, fuzzy
+msgid "Disable Server"
+msgstr " -"
+
+#: ../../standalone/drakTermServ_.c:268
+#, fuzzy
+msgid "Start Server"
+msgstr "NIS "
+
+#: ../../standalone/drakTermServ_.c:275
+#, fuzzy
+msgid "Stop Server"
+msgstr "NIS "
+
+#: ../../standalone/drakTermServ_.c:283
+msgid "Etherboot Floppy/ISO"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backups on unmountable media - Use Catalog to restore"
+#: ../../standalone/drakTermServ_.c:288
+msgid "Net Boot Images"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "January"
-msgstr ""
+#: ../../standalone/drakTermServ_.c:294
+#, fuzzy
+msgid "Add/Del Users"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Password history length"
-msgstr " \"\" "
+#: ../../standalone/drakTermServ_.c:299
+#, fuzzy
+msgid "Add/Del Clients"
+msgstr "DHCP "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Winmodem connection"
-msgstr "Winmodem "
+#: ../../standalone/drakTermServ_.c:328
+msgid ""
+"\n"
+" Copyright (C) 2002 by MandrakeSoft \n"
+"\tStew Benedict sbenedict\\@mandrakesoft.com\n"
+"\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:332
msgid ""
"\n"
-"Congratulations, your printer is now installed and configured!\n"
"\n"
-"You can print using the \"Print\" command of your application (usually in "
-"the \"File\" menu).\n"
+" Thanks:\n"
+"\t- LTSP Project http://www.ltsp.org\n"
+"\t- Michael Brown <mbrown\\@fensystems.co.uk>\n"
"\n"
-"If you want to add, remove, or rename a printer, or if you want to change "
-"the default option settings (paper input tray, printout quality, ...), "
-"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
-"Center."
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Now, you can run xawtv (under X Window!) !\n"
+#: ../../standalone/drakTermServ_.c:365
+msgid ""
+"drakTermServ Overview\n"
+"\t\t\t \n"
+" - Create Etherboot Enabled Boot Images:\n"
+" \t\tTo boot a kernel via etherboot, a special kernel/initrdrd image "
+"must be created.\n"
+" \t\tmkinitrd-net does much of this work and drakTermServ is just a "
+"graphical interface\n"
+" \t\tto help manage/customize these images.\n"
+"\n"
+" - Maintain /etc/dhcpd.conf:\n"
+" \t\tTo net boot clients, each client needs a dhcpd.conf entry, "
+"assigning an IP address\n"
+" \t\tand net boot images to the machine. drakTermServ helps create/"
+"remove these entries.\n"
+"\t\t\t\n"
+" \t\t(PCI cards may omit the image - etherboot will request the "
+"correct image. You should\n"
+" \t\talso consider that when etherboot looks for the images, it "
+"expects names like\n"
+" \t\tboot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
+"\t\t\t \n"
+" \t\tA typical dhcpd.conf stanza to support a diskless client looks "
+"like:\n"
+" \t\t\n"
+"\t\t\t\thost curly {\n"
+"\t\t\t\t\thardware ethernet 00:20:af:2f:f7:9d;\n"
+"\t\t\t\t\tfixed-address 192.168.192.3;\n"
+"\t\t\t\t\t/*type fat;*/\n"
+"\t\t\t\t\tfilename \"i386/boot/boot-3c509.2.4.18-6mdk."
+"nbi\";\n"
+"\t\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tWhile you can use a pool of IP addresses, rather than setup a specific "
+"entry for\n"
+"\t\t\ta client machine, using a fixed address scheme facilitates using the "
+"functionality\n"
+"\t\t\tof client-specific configuration files that ClusterNFS provides.\n"
+"\t\t\t\n"
+"\t\t\tNote: The \"/*type\" entry is only used by drakTermServ. Clients can "
+"either be \"thin\"*/\n"
+"\t\t\tor 'fat'. Thin clients run most software on the server via xdmcp, "
+"while fat clients run most\n"
+"\t\t\tsoftware on the client machine. A special inittab, /etc/inittab\\$\\"
+"$IP=client_ip\\$\\$ is\n"
+"\t\t\twritten for thin clients. System config files xdm-config, kdmrc, and "
+"gdm.conf are modified\n"
+"\t\t\tif thin clients are used, to enable xdmcp. Since there are security "
+"issues in using xdmcp,\n"
+"\t\t\thosts.deny and hosts.allow are modified to limit access to the local "
+"subnet.\n"
+"\t\t\t\n"
+"\t\t\tNote: You must stop/start the server after adding or changing "
+"clients.\n"
+"\t\t\t\n"
+" - Maintain /etc/exports:\n"
+" \t\tClusternfs allows export of the root filesystem to diskless "
+"clients. drakTermServ\n"
+" \t\tsets up the correct entry to allow anonymous access to the root "
+"filesystem from\n"
+" \t\tdiskless clients.\n"
+"\n"
+" \t\tA typical exports entry for clusternfs is:\n"
+" \t\t\n"
+" \t\t/ (ro,all_squash)\n"
+" \t\t/home SUBNET/MASK(rw,root_squash)\n"
+"\t\t\t\n"
+"\t\t\tWith SUBNET/MASK being defined for your network.\n"
+" \t\t\n"
+" - Maintain /etc/shadow\\$\\$CLIENT\\$\\$:\n"
+" \t\tFor users to be able to log into the system from a diskless "
+"client, their entry in\n"
+" \t\t/etc/shadow needs to be duplicated in /etc/shadow\\$\\$CLIENTS\\$"
+"\\$. drakTermServ helps\n"
+" \t\tin this respect by adding or removing system users from this "
+"file.\n"
+"\n"
+" - Per client /etc/X11XF86Config-4\\$\\$IP-ADDRESS\\$\\$:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future drakTermServ "
+"will help create these\n"
+" \t\tfiles.\n"
+"\n"
+" - Per client system configuration files:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future, "
+"drakTermServ can help create files\n"
+" \t\tsuch as /etc/modules.conf, /etc/sysconfig/mouse, /etc/sysconfig/"
+"keyboard on a per-client\n"
+" \t\tbasis.\n"
+"\n"
+" - /etc/xinetd.d/tftp:\n"
+" \t\tdrakTermServ will configure this file to work in conjunction "
+"with the images created by\n"
+" \t\tmkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
+"the boot image to each\n"
+" \t\tdiskless client.\n"
+"\n"
+" \t\tA typical tftp configuration file looks like:\n"
+" \t\t\n"
+" \t\tservice tftp\n"
+" \t\t(\n"
+" disable = no\n"
+" socket_type = dgram\n"
+" protocol = udp\n"
+" wait = yes\n"
+" user = root\n"
+" server = /usr/sbin/in.tftpd\n"
+" server_args = -s /var/lib/tftpboot\n"
+" \t\t}\n"
+" \t\t\n"
+" \t\tThe changes here from the default installation are changing the "
+"disable flag to\n"
+" \t\t'no' and changing the directory path to /var/lib/tftpboot, where "
+"mkinitrd-net\n"
+" \t\tputs it's images.\n"
+"\n"
+" - Create etherboot floppies/CDs:\n"
+" \t\tThe diskless client machines need either ROM images on the NIC, "
+"or a boot floppy\n"
+" \t\tor CD to initate the boot sequence. drakTermServ will help "
+"generate these images,\n"
+" \t\tbased on the NIC in the client machine.\n"
+" \t\t\n"
+" \t\tA basic example of creating a boot floppy for a 3Com 3c509 "
+"manually:\n"
+" \t\t\n"
+" \t\tcat /usr/lib/etherboot/boot1a.bin /\\n \t\t\t/usr/lib/"
+"etherboot/lzrom/3c509.lzrom > /dev/fd0\n"
+" \n"
+"\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Not enough swap space to fulfill installation, please add some"
+#: ../../standalone/drakTermServ_.c:488
+msgid "Boot Floppy"
msgstr ""
-" swap , "
-
-#. -PO: example: lilo-graphic on /dev/hda1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "%s on %s"
-msgstr "%s %s"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid remote root login."
-msgstr "/ root."
+#: ../../standalone/drakTermServ_.c:490
+msgid "Boot ISO"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
-"local time according to the time zone you selected. If the clock on your\n"
-"motherboard is set to local time, you may deactivate this by unselecting\n"
-"\"%s\", which will let GNU/Linux know that the system clock and the\n"
-"hardware clock are in the same timezone. This is useful when the machine\n"
-"also hosts another operating system like Windows.\n"
-"\n"
-"The \"%s\" option will automatically regulate the clock by connecting to a\n"
-"remote time server on the Internet. For this feature to work, you must have\n"
-"a working Internet connection. It is best to choose a time server located\n"
-"near you. This option actually installs a time server that can used by\n"
-"other machines on your local network as well."
+#: ../../standalone/drakTermServ_.c:559
+msgid "Build Whole Kernel -->"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create log file!"
+#: ../../standalone/drakTermServ_.c:561 ../../standalone/drakTermServ_.c:591
+msgid "This will take a few minutes."
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakclock:1
-#, c-format
-msgid "Which is your timezone?"
-msgstr " ?"
+#: ../../standalone/drakTermServ_.c:573
+msgid "No kernel selected!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use .backupignore files"
-msgstr " .backupignore "
+#: ../../standalone/drakTermServ_.c:576
+msgid "Build Single NIC -->"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Guinea"
-msgstr ""
+#: ../../standalone/drakTermServ_.c:587
+#, fuzzy
+msgid "No nic selected!"
+msgstr " "
-#: ../../network/tools.pm:1
-#, c-format
-msgid "The system is now connected to the Internet."
-msgstr " ."
+#: ../../standalone/drakTermServ_.c:590
+msgid "Build All Kernels -->"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "South Georgia and the South Sandwich Islands"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:604
+#, fuzzy
+msgid "<-- Delete"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (broadcast)"
-msgstr ""
+#: ../../standalone/drakTermServ_.c:611
+#, fuzzy
+msgid "Delete All NBIs"
+msgstr " "
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:668
msgid ""
-"Monitor\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is incorrect, you can choose from\n"
-"this list the monitor you actually have connected to your computer."
+"!!! Indicates the password in the system database is different than\n"
+" the one in the Terminal Server database.\n"
+"Delete/re-add the user to the Terminal Server to enable login."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mozambique"
-msgstr ""
+#: ../../standalone/drakTermServ_.c:673
+#, fuzzy
+msgid "Add User -->"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Icon"
-msgstr ""
+#: ../../standalone/drakTermServ_.c:681
+msgid "<-- Del User"
+msgstr ""
-#: ../../../move/tree/mdk_totem:1
+#: ../../standalone/drakTermServ_.c:720
#, fuzzy, c-format
-msgid "Kill those programs"
-msgstr " X "
+msgid "type: %s"
+msgstr ": "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please choose what you want to backup"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:753
+msgid "No net boot images created!"
+msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "256 colors (8 bits)"
-msgstr "256 (8 )"
+#: ../../standalone/drakTermServ_.c:773
+#, fuzzy
+msgid "Thin Client"
+msgstr "DHCP "
-#: ../../any.pm:1
-#, c-format
-msgid "Read-write"
-msgstr "-"
+#: ../../standalone/drakTermServ_.c:775
+#, fuzzy
+msgid "Allow Thin Clients"
+msgstr "DHCP "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s\n"
-msgstr ": %s\n"
+#: ../../standalone/drakTermServ_.c:778
+msgid "Add Client -->"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Hostname: "
-msgstr " :"
+#: ../../standalone/drakTermServ_.c:821
+#, fuzzy
+msgid "<-- Edit Client"
+msgstr "DHCP "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Add a rule"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:837
+#, fuzzy
+msgid "Delete Client"
+msgstr "DHCP "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Chunk size %s\n"
-msgstr " %s\n"
+#: ../../standalone/drakTermServ_.c:843
+#, fuzzy
+msgid "dhcpd Config..."
+msgstr " ..."
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid "Build the future of Linux!"
+#: ../../standalone/drakTermServ_.c:876
+msgid ""
+"Need to restart the Display Manager for full changes to take effect. \n"
+"(service dm restart - at the console)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printer"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:894
+msgid "Subnet:"
+msgstr ""
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Floppy access error, unable to mount device %s"
-msgstr " %s ?"
+#: ../../standalone/drakTermServ_.c:901
+#, fuzzy
+msgid "Netmask:"
+msgstr " "
-#: ../../standalone.pm:1
-#, c-format
-msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+#: ../../standalone/drakTermServ_.c:908
+msgid "Routers:"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ADSL connection"
-msgstr "ADSL "
+#: ../../standalone/drakTermServ_.c:915
+msgid "Subnet Mask:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No configuration, please click Wizard or Advanced.\n"
+#: ../../standalone/drakTermServ_.c:922
+msgid "Broadcast Address:"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Error!"
-msgstr " !"
+#: ../../standalone/drakTermServ_.c:929
+#, fuzzy
+msgid "Domain Name:"
+msgstr " "
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "cable connection detected"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:937
+#, fuzzy
+msgid "Name Servers:"
+msgstr "NIS "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission denied transferring %s to %s"
+#: ../../standalone/drakTermServ_.c:948
+msgid "IP Range Start:"
msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Report Bug"
-msgstr "/_ "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominica"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resize"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:949
+msgid "IP Range End:"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Resolution: %s\n"
-msgstr " : %s\n"
+#: ../../standalone/drakTermServ_.c:1001
+#, fuzzy
+msgid "dhcpd Server Configuration"
+msgstr " "
-#: ../../install2.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:1002
msgid ""
-"Can't access kernel modules corresponding to your kernel (file %s is "
-"missing), this generally means your boot floppy in not in sync with the "
-"Installation medium (please create a newer boot floppy)"
+"Most of these values were extracted\n"
+"from your running system.\n"
+"You can modify as needed."
msgstr ""
-" ( %s ), "
-" , "
-"( boot )"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Please select the correct port. For example, the \"COM1\" port under\n"
-"Windows is named \"ttyS0\" under GNU/Linux."
+#: ../../standalone/drakTermServ_.c:1005
+msgid "Dynamic IP Address Pool:"
msgstr ""
-", . , COM1 Windows GNU/Linux\n"
-" ttyS0."
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "The following packages are going to be removed"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:1018
+#, fuzzy
+msgid "Write Config"
+msgstr ""
-#: ../../network/adsl.pm:1 ../../network/ethernet.pm:1
-#, c-format
-msgid "Connect to the Internet"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:1120
+#, fuzzy
+msgid "Please insert floppy disk:"
+msgstr " %s"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use existing partitions"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:1124
+msgid "Couldn't access the floppy!"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Canadian (Quebec)"
-msgstr " ()"
+#: ../../standalone/drakTermServ_.c:1126
+msgid "Floppy can be removed now"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr " : %s\n"
+#: ../../standalone/drakTermServ_.c:1129
+#, fuzzy
+msgid "No floppy drive available!"
+msgstr " "
-#: ../../standalone/drakfont:1
+#: ../../standalone/drakTermServ_.c:1138
#, c-format
-msgid "Reselect correct fonts"
+msgid "Etherboot ISO image is %s"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid ""
-"Options\n"
-"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+#: ../../standalone/drakTermServ_.c:1140
+msgid "Something went wrong! - Is mkisofs installed?"
msgstr ""
-", \n"
-". , ,\n"
-" . , \"\", "
-"\n"
-" ."
-#: ../advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "MandrakeExpert Corporate"
-msgstr "MandrakeExpert "
-
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-" [everything]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake resolution"
+#: ../../standalone/drakTermServ_.c:1159
+msgid "Need to create /etc/dhcpd.conf first!"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Write protection"
-msgstr " "
+#: ../../standalone/drakTermServ_.c:1451
+msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "You've not selected any font"
-msgstr " "
+#: ../../standalone/drakautoinst_.c:40
+msgid "Error!"
+msgstr " !"
-#: ../../steps.pm:1
+#: ../../standalone/drakautoinst_.c:41
#, c-format
-msgid "Language"
-msgstr " "
+msgid "I can't find needed image file `%s'."
+msgstr " `%s'."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer model selection"
-msgstr " "
+#: ../../standalone/drakautoinst_.c:43
+msgid "Auto Install Configurator"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:44
msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
+"You are about to configure an Auto Install floppy. This feature is somewhat "
+"dangerous and must be used circumspectly.\n"
+"\n"
+"With that feature, you will be able to replay the installation you've "
+"performed on this computer, being interactively prompted for some steps, in "
+"order to change their values.\n"
+"\n"
+"For maximum safety, the partitioning and formatting will never be performed "
+"automatically, whatever you chose during the install of this computer.\n"
+"\n"
+"Do you want to continue?"
msgstr ""
-" %s, "
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "ISDN adapters"
-msgstr "ISDN "
-
-#: ../../common.pm:1
-#, c-format
-msgid "%d seconds"
-msgstr "%d "
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr " %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A valid URI must be entered!"
-msgstr " URI!"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Found \"%s\" interface do you want to use it ?"
-msgstr " \"%s\" . ?"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Re-configure interface and DHCP server"
+#: ../../standalone/drakautoinst_.c:62 ../../standalone/drakautoinst_.c:71
+msgid "manual"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Sound configuration"
-msgstr " "
+#: ../../standalone/drakautoinst_.c:62
+#, fuzzy
+msgid "replay"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo test page"
-msgstr " "
+#: ../../standalone/drakautoinst_.c:66
+msgid "Automatic Steps Configuration"
+msgstr " "
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Custom disk partitioning"
-msgstr " "
+#: ../../standalone/drakautoinst_.c:67
+msgid ""
+"Please choose for each step whether it will replay like your install, or it "
+"will be manual"
+msgstr ""
+", , , "
+" "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter Printer Name and Comments"
-msgstr " "
+#: ../../standalone/drakautoinst_.c:78 ../../standalone/drakautoinst_.c:79
+#, fuzzy
+msgid "Creating auto install floppy"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:139
msgid ""
-"The following printers\n"
"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr ""
-" \n"
+"Welcome.\n"
"\n"
-"%s%s\n"
-" "
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "You don't have any winmodem"
+"The parameters of the auto-install are available in the sections on the left"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: %s"
-msgstr ": %s"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTY)"
-msgstr " (QWERTY)"
+#: ../../standalone/drakautoinst_.c:234 ../../standalone/drakgw_.c:504
+#: ../../standalone/scannerdrake_.c:117
+msgid "Congratulations!"
+msgstr " !"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakautoinst_.c:235
msgid ""
-"This should be a comma-separated list of local users or email addresses that "
-"you want the backup results sent to. You will need a functioning mail "
-"transfer agent setup on your system."
+"The floppy has been successfully generated.\n"
+"You may now replay your installation."
msgstr ""
+" .\n"
+" ."
-#: ../../standalone/draksound:1
-#, c-format
-msgid "No Sound Card detected!"
-msgstr " !"
+#: ../../standalone/drakautoinst_.c:273
+#, fuzzy
+msgid "Auto Install"
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse Port"
-msgstr " "
+#: ../../standalone/drakautoinst_.c:343
+#, fuzzy
+msgid "Add an item"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check for unsecured accounts"
-msgstr ""
+#: ../../standalone/drakautoinst_.c:350
+#, fuzzy
+msgid "Remove the last item"
+msgstr " loopback ?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Need to restart the Display Manager for full changes to take effect. \n"
-"(service dm restart - at the console)"
+#: ../../standalone/drakbackup_.c:580
+msgid "Cron not available yet as non-root"
msgstr ""
-" . \n"
-"( dm restart - )"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Ftp Server"
-msgstr "Ftp "
+#: ../../standalone/drakbackup_.c:690
+msgid "WARNING"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Uganda"
-msgstr ""
+#: ../../standalone/drakbackup_.c:691
+#, fuzzy
+msgid "FATAL"
+msgstr "FAT"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "%s fonts conversion"
+#: ../../standalone/drakbackup_.c:692
+msgid "INFO"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the type of bus on which the mouse is connected"
-msgstr ", ."
-
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:704
msgid ""
-"As a review, DrakX will present a summary of information it has about your\n"
-"system. Depending on your installed hardware, you may have some or all of\n"
-"the following entries. Each entry is made up of the configuration item to\n"
-"be configured, followed by a quick summary of the current configuration.\n"
-"Click on the corresponding \"%s\" button to change that.\n"
-"\n"
-" * \"%s\": check the current keyboard map configuration and change that if\n"
-"necessary.\n"
"\n"
-" * \"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list.\n"
-"\n"
-" * \"%s\": By default, DrakX deduces your time zone based on the country\n"
-"you have chosen. You can click on the \"%s\" button here if this is not\n"
-"correct.\n"
-"\n"
-" * \"%s\": check the current mouse configuration and click on the button to\n"
-"change it if necessary.\n"
-"\n"
-" * \"%s\": clicking on the \"%s\" button will open the printer\n"
-"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-"Guide'' for more information on how to setup a new printer. The interface\n"
-"presented there is similar to the one used during installation.\n"
-"\n"
-" * \"%s\": if a sound card is detected on your system, it is displayed\n"
-"here. If you notice the sound card displayed is not the one that is\n"
-"actually present on your system, you can click on the button and choose\n"
-"another driver.\n"
-"\n"
-" * \"%s\": by default, DrakX configures your graphical interface in\n"
-"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
-"\"%s\" to reconfigure your graphical interface.\n"
+" DrakBackup Report \n"
"\n"
-" * \"%s\": if a TV card is detected on your system, it is displayed here.\n"
-"If you have a TV card and it is not detected, click on \"%s\" to try to\n"
-"configure it manually.\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:705
+msgid ""
"\n"
-" * \"%s\": if an ISDN card is detected on your system, it will be displayed\n"
-"here. You can click on \"%s\" to change the parameters associated with the\n"
-"card.\n"
+" DrakBackup Daemon Report\n"
"\n"
-" * \"%s\": If you want to configure your Internet or local network access\n"
-"now.\n"
"\n"
-" * \"%s\": this entry allows you to redefine the security level as set in a\n"
-"previous step ().\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:709
+msgid ""
"\n"
-" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
-"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
-"the corresponding section of the ``Starter Guide'' for details about\n"
-"firewall settings.\n"
+" DrakBackup Report Details\n"
"\n"
-" * \"%s\": if you wish to change your bootloader configuration, click that\n"
-"button. This should be reserved to advanced users.\n"
"\n"
-" * \"%s\": here you'll be able to fine control which services will be run\n"
-"on your machine. If you plan to use this machine as a server it's a good\n"
-"idea to review this setup."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Comoros"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "May"
-msgstr ""
+#: ../../standalone/drakbackup_.c:730 ../../standalone/drakbackup_.c:803
+#: ../../standalone/drakbackup_.c:859
+#, fuzzy
+msgid "Total progess"
+msgstr " "
-#: ../../standalone/drakboot:1
+#: ../../standalone/drakbackup_.c:785
#, c-format
-msgid "Yaboot mode"
-msgstr " Yaboot"
+msgid ""
+"%s exists, delete?\n"
+"\n"
+"Warning: If you've already done this process you'll probably\n"
+" need to purge the entry from authorized_keys on the server."
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 3 Button Mouse"
-msgstr " 3- "
+#: ../../standalone/drakbackup_.c:794
+msgid "This may take a moment to generate the keys."
+msgstr ""
-#: ../../standalone/drakxtv:1
+#: ../../standalone/drakbackup_.c:801
#, c-format
-msgid "USA (cable)"
+msgid "ERROR: Cannot spawn %s."
msgstr ""
-#: ../../standalone/drakboot:1
+#: ../../standalone/drakbackup_.c:818
#, c-format
-msgid ""
-"Can't relaunch LiLo!\n"
-"Launch \"lilo\" as root in command line to complete LiLo theme installation."
+msgid "No password prompt on %s at port %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select another media to restore from"
-msgstr " "
+#: ../../standalone/drakbackup_.c:819
+#, fuzzy, c-format
+msgid "Bad password on %s"
+msgstr " "
-#: ../../standalone/drakbug:1
+#: ../../standalone/drakbackup_.c:820
#, c-format
-msgid "Software Manager"
-msgstr " "
+msgid "Permission denied transferring %s to %s"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:821
+#, fuzzy, c-format
+msgid "Can't find %s on %s"
+msgstr " %s: %s\n"
-#: ../../interactive/stdio.pm:1
+#: ../../standalone/drakbackup_.c:824
#, c-format
-msgid "Re-submit"
+msgid "%s not responding"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:828
#, c-format
-msgid "CD in place - continue."
+msgid ""
+"Transfer successful\n"
+"You may want to verify you can login to the server with:\n"
+"\n"
+"ssh -i %s %s\\@%s\n"
+"\n"
+"without being prompted for a password."
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "KB"
-msgstr ""
+#: ../../standalone/drakbackup_.c:873
+msgid "WebDAV remote site already in sync!"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Network & Internet"
-msgstr " "
+#: ../../standalone/drakbackup_.c:877
+msgid "WebDAV transfer failed!"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr " \"\" QWERTY"
+#: ../../standalone/drakbackup_.c:898
+msgid "No CDR/DVDR in drive!"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Net Boot Images"
+#: ../../standalone/drakbackup_.c:902
+msgid "Does not appear to be recordable media!"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Sharing of local scanners"
-msgstr " "
+#: ../../standalone/drakbackup_.c:906
+msgid "Not erasable media!"
+msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play probing failed. Please select the correct monitor"
-msgstr " Plug & Play . , "
+#: ../../standalone/drakbackup_.c:945
+msgid "This may take a moment to erase the media."
+msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Detect again USB key"
+#: ../../standalone/drakbackup_.c:1033
+msgid "Permission problem accessing CD."
msgstr ""
-#: ../../services.pm:1
+#: ../../standalone/drakbackup_.c:1060
#, c-format
-msgid "Services and deamons"
-msgstr " "
+msgid "No tape in %s!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name missing!"
-msgstr " !"
+#: ../../standalone/drakbackup_.c:1174 ../../standalone/drakbackup_.c:1223
+msgid "Backup system files..."
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "with /usr"
-msgstr " /usr"
+#: ../../standalone/drakbackup_.c:1224 ../../standalone/drakbackup_.c:1291
+#, fuzzy
+msgid "Hard Disk Backup files..."
+msgstr " backup-"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Network"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1236
+#, fuzzy
+msgid "Backup User files..."
+msgstr " backup-"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected to machines running Microsoft Windows"
+#: ../../standalone/drakbackup_.c:1237
+msgid "Hard Disk Backup Progress..."
msgstr ""
-" Microsoft Windows"
-#: ../../any.pm:1
-#, c-format
-msgid "This password is too simple"
-msgstr " "
+#: ../../standalone/drakbackup_.c:1290
+#, fuzzy
+msgid "Backup Other files..."
+msgstr " backup-"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Chkconfig obey msec rules"
-msgstr "Chkconfig msec "
+#: ../../standalone/drakbackup_.c:1296
+#, fuzzy
+msgid "No changes to backup!"
+msgstr " backup-"
-#: ../../keyboard.pm:1
+#: ../../standalone/drakbackup_.c:1312 ../../standalone/drakbackup_.c:1335
#, c-format
-msgid "Slovakian (QWERTZ)"
-msgstr " (QWERTZ)"
+msgid ""
+"\n"
+"Drakbackup activities via %s:\n"
+"\n"
+msgstr ""
-#: ../advertising/06-development.pl:1
+#: ../../standalone/drakbackup_.c:1319
#, c-format
msgid ""
-"To modify and to create in different languages such as Perl, Python, C and C+"
-"+ has never been so easy thanks to GNU gcc 3 and the best Open Source "
-"development environments."
+"file list sent by FTP: %s\n"
+" "
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "No devices found"
-msgstr " "
+#: ../../standalone/drakbackup_.c:1322
+msgid ""
+"\n"
+" FTP connection problem: It was not possible to send your backup files by "
+"FTP.\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Truly minimal install (especially no urpmi)"
-msgstr " ( urpmi)"
+#: ../../standalone/drakbackup_.c:1340
+msgid ""
+"\n"
+"Drakbackup activities via CD:\n"
+"\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use daemon"
-msgstr " "
+#: ../../standalone/drakbackup_.c:1345
+msgid ""
+"\n"
+"Drakbackup activities via tape:\n"
+"\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakconnect:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Authentication"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1354
+#, fuzzy
+msgid " Error during mail sending. \n"
+msgstr " %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
-msgstr " Star Office/OpenOffice.org/GIMP"
+#: ../../standalone/drakbackup_.c:1380
+msgid "Can't create catalog!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Additional CUPS servers: "
-msgstr " CUPS "
+#: ../../standalone/drakbackup_.c:1490 ../../standalone/drakbackup_.c:1501
+#: ../../standalone/drakfont_.c:946
+#, fuzzy
+msgid "File Selection"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Choose one of the auto-detected printers from the list or enter the hostname "
-"or IP and the optional port number (default is 9100) in the input fields."
+#: ../../standalone/drakbackup_.c:1529
+msgid "Select the files or directories and click on 'Add'"
msgstr ""
-" "
-" IP ( 9100) ."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount %s?"
-msgstr " %s ?"
+#: ../../standalone/drakbackup_.c:1573
+msgid ""
+"\n"
+"Please check all options that you need.\n"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Algeria"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1574
+msgid ""
+"These options can backup and restore all files in your /etc directory.\n"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network"
-msgstr " "
+#: ../../standalone/drakbackup_.c:1575
+#, fuzzy
+msgid "Backup your System files. (/etc directory)"
+msgstr " backup-"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use tar and bzip2 (rather than tar and gzip)"
+#: ../../standalone/drakbackup_.c:1576
+msgid "Use incremental backup (do not replace old backups)"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd-size"
-msgstr "Initrd-"
+#: ../../standalone/drakbackup_.c:1577
+msgid "Do not include critical files (passwd, group, fstab)"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1578
msgid ""
-"In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
+"With this option you will be able to restore any version\n"
+" of your /etc directory."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and gzip\n"
+#: ../../standalone/drakbackup_.c:1595
+#, fuzzy
+msgid "Please check all users that you want to include in your backup."
+msgstr ", , ."
+
+#: ../../standalone/drakbackup_.c:1622
+msgid "Do not include the browser cache"
msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Set as default"
-msgstr " "
+#: ../../standalone/drakbackup_.c:1623 ../../standalone/drakbackup_.c:1647
+msgid "Use Incremental Backups (do not replace old backups)"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "2 MB"
-msgstr "2 "
+#: ../../standalone/drakbackup_.c:1645 ../../standalone/drakfont_.c:1000
+#, fuzzy
+msgid "Remove Selected"
+msgstr " "
-#: ../../printer/main.pm:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configured on this machine"
-msgstr "( )"
+#: ../../standalone/drakbackup_.c:1679
+#, fuzzy
+msgid "Windows (FAT32)"
+msgstr " Windows(TM)"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Control keys simultaneously"
-msgstr " Ctrl "
+#: ../../standalone/drakbackup_.c:1714
+#, fuzzy
+msgid "Users"
+msgstr " "
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid " --help - display this help \n"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1740
+#, fuzzy
+msgid "Use network connection to backup"
+msgstr " backup-"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in "
-"MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the "
-"description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+#: ../../standalone/drakbackup_.c:1742
+msgid "Net Method:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Setting Default Printer..."
-msgstr " ..."
+#: ../../standalone/drakbackup_.c:1746
+msgid "Use Expect for SSH"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s (using module %s)"
-msgstr " %s ( %s)"
+#: ../../standalone/drakbackup_.c:1747
+msgid ""
+"Create/Transfer\n"
+"backup keys for SSH"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Generating preview ..."
-msgstr " ..."
+#: ../../standalone/drakbackup_.c:1748
+#, fuzzy
+msgid ""
+" Transfer \n"
+"Now"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1749
msgid ""
-"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
-"frequency), or add enough '0' (zeroes)."
+"Other (not drakbackup)\n"
+"keys in place already"
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
-msgid "ignore"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1753
+#, fuzzy
+msgid "Please enter the host name or IP."
+msgstr ", "
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1758
msgid ""
-"Allow/Forbid X connections:\n"
-"\n"
-"- ALL (all connections are allowed),\n"
-"\n"
-"- LOCAL (only connection from local machine),\n"
-"\n"
-"- NONE (no connection)."
+"Please enter the directory (or module) to\n"
+" put the backup on this host."
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on parallel port #%s"
-msgstr ", #%s"
+#: ../../standalone/drakbackup_.c:1763
+#, fuzzy
+msgid "Please enter your login"
+msgstr ", "
-#: ../../mouse.pm:1
-#, c-format
-msgid "serial"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1768
+#, fuzzy
+msgid "Please enter your password"
+msgstr ", "
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "DVD-ROM"
-msgstr "DVD-ROM"
+#: ../../standalone/drakbackup_.c:1774
+#, fuzzy
+msgid "Remember this password"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Latin\" layout)"
-msgstr " (\"\" )"
+#: ../../standalone/drakbackup_.c:1785
+msgid "Need hostname, username and password!"
+msgstr ""
-#: ../advertising/09-mdksecure.pl:1
-#, c-format
-msgid "Get the best items with Mandrake Linux Strategic partners"
+#: ../../standalone/drakbackup_.c:1879
+msgid "Use CD/DVDROM to backup"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1882
msgid ""
-"You may now provide options to module %s.\n"
-"Note that any address should be entered with the prefix 0x like '0x123'"
+"Please choose your CD/DVD device\n"
+"(Press Enter to propogate settings to other fields.\n"
+"This field isn't necessary, only a tool to fill in the form.)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kenya"
-msgstr ""
+#: ../../standalone/drakbackup_.c:1887
+#, fuzzy
+msgid "Please choose your CD/DVD media size (Mb)"
+msgstr ", ."
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``Unmount'' first"
-msgstr " ''"
+#: ../../standalone/drakbackup_.c:1893
+#, fuzzy
+msgid "Please check for multisession CD"
+msgstr ", "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing mtools packages..."
-msgstr " mtools ..."
+#: ../../standalone/drakbackup_.c:1899
+#, fuzzy
+msgid "Please check if you are using CDRW media"
+msgstr ", "
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a root partition"
-msgstr " "
+#: ../../standalone/drakbackup_.c:1905
+#, fuzzy
+msgid "Please check if you want to erase your RW media (1st Session)"
+msgstr ", "
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "first step creation"
-msgstr " "
+#: ../../standalone/drakbackup_.c:1906
+#, fuzzy
+msgid " Erase Now "
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Shift keys simultaneously"
-msgstr " Shift "
+#: ../../standalone/drakbackup_.c:1912
+#, fuzzy
+msgid "Please check if you are using a DVDR device"
+msgstr ", "
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1918
+#, fuzzy
+msgid "Please check if you are using a DVDRAM device"
+msgstr ", "
+
+#: ../../standalone/drakbackup_.c:1931
msgid ""
-" --id <id_label> - load the html help page which refers to id_label\n"
+"Please enter your CD Writer device name\n"
+" ex: 0,1,0"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Select a scanner model"
-msgstr " "
+#: ../../standalone/drakbackup_.c:1964
+#, fuzzy
+msgid "No CD device defined!"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Accept/Refuse bogus IPv4 error messages."
-msgstr "/ IPv4 ."
+#: ../../standalone/drakbackup_.c:2012
+#, fuzzy
+msgid "Use tape to backup"
+msgstr " backup-"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng - LPR New Generation"
-msgstr "LPRng - LPR "
+#: ../../standalone/drakbackup_.c:2015
+msgid "Please enter the device name to use for backup"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup Configuration"
-msgstr "Drakbackup "
+#: ../../standalone/drakbackup_.c:2021
+#, fuzzy
+msgid "Please check if you want to use the non-rewinding device."
+msgstr ", , ."
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Save as.."
-msgstr " ..."
+#: ../../standalone/drakbackup_.c:2027
+#, fuzzy
+msgid "Please check if you want to erase your tape before the backup."
+msgstr ", , ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea (North)"
-msgstr " ()"
+#: ../../standalone/drakbackup_.c:2033
+#, fuzzy
+msgid "Please check if you want to eject your tape after the backup."
+msgstr ", , ."
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2039 ../../standalone/drakbackup_.c:2112
+#: ../../standalone/drakbackup_.c:3068
msgid ""
-"This interface has not been configured yet.\n"
-"Launch the configuration wizard in the main window"
+"Please enter the maximum size\n"
+" allowed for Drakbackup"
msgstr ""
-#: ../../install_gtk.pm:1
-#, c-format
-msgid "System configuration"
-msgstr " "
+#: ../../standalone/drakbackup_.c:2103
+#, fuzzy
+msgid "Please enter the directory to save to:"
+msgstr ", "
-#: ../../any.pm:1 ../../security/l10n.pm:1
-#, c-format
-msgid "Autologin"
-msgstr " "
+#: ../../standalone/drakbackup_.c:2118 ../../standalone/drakbackup_.c:3074
+#, fuzzy
+msgid "Use quota for backup files."
+msgstr " backup-"
-#: ../../any.pm:1
-#, c-format
-msgid "Domain Admin Password"
-msgstr " "
+#: ../../standalone/drakbackup_.c:2180
+#, fuzzy
+msgid "Network"
+msgstr " "
-#: ../advertising/05-desktop.pl:1
-#, fuzzy, c-format
-msgid ""
-"Perfectly adapt your computer to your needs thanks to the 11 available "
-"Mandrake Linux user interfaces which can be fully modified: KDE 3.1, GNOME "
-"2.2, Window Maker, ..."
+#: ../../standalone/drakbackup_.c:2185
+msgid "CDROM / DVDROM"
msgstr ""
-"Mandrake Linux 9.1 11 "
-" : KDE 3, Gnome 2, WindowMaker, ..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Configuring printer ..."
-msgstr " ..."
-
-#: ../../install_interactive.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"To ensure data integrity after resizing the partition(s), \n"
-"filesystem checks will be run on your next boot into Windows(TM)"
+#: ../../standalone/drakbackup_.c:2190
+msgid "HardDrive / NFS"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "MB"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2195
+#, fuzzy
+msgid "Tape"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run some checks against the rpm database."
+#: ../../standalone/drakbackup_.c:2208 ../../standalone/drakbackup_.c:2212
+#: ../../standalone/drakbackup_.c:2216
+msgid "hourly"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (British)"
-msgstr " ()"
+#: ../../standalone/drakbackup_.c:2209 ../../standalone/drakbackup_.c:2213
+#: ../../standalone/drakbackup_.c:2216
+msgid "daily"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bermuda"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2210 ../../standalone/drakbackup_.c:2214
+#: ../../standalone/drakbackup_.c:2216
+msgid "weekly"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "click here if you are sure."
+#: ../../standalone/drakbackup_.c:2211 ../../standalone/drakbackup_.c:2215
+#: ../../standalone/drakbackup_.c:2216
+msgid "monthly"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2229
+#, fuzzy
+msgid "Use daemon"
+msgstr " "
+
+#: ../../standalone/drakbackup_.c:2234
+#, fuzzy
msgid ""
-"No configuration file found \n"
-"please click Wizard or Advanced."
-msgstr ""
+"Please choose the time \n"
+"interval between each backup"
+msgstr ", , ."
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakbackup_.c:2240
+#, fuzzy
msgid ""
-"Listed here are the existing Linux partitions detected on your hard drive.\n"
-"You can keep the choices made by the wizard, since they are good for most\n"
-"common installations. If you make any changes, you must at least define a\n"
-"root partition (\"/\"). Do not choose too small a partition or you will not\n"
-"be able to install enough software. If you want to store your data on a\n"
-"separate partition, you will also need to create a \"/home\" partition\n"
-"(only possible if you have more than one Linux partition available).\n"
-"\n"
-"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
-"\n"
-"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
-"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"
+"Please choose the\n"
+"media for backup."
+msgstr ", ."
+
+#: ../../standalone/drakbackup_.c:2247
+msgid ""
+"Please be sure that the cron daemon is included in your services. \n"
"\n"
-"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc."
+"Note that currently all 'net' medias also use the hard drive."
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:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, c-format
-msgid "Remove"
-msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Lesotho"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2283
+msgid "Send mail report after each backup to:"
+msgstr ""
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "utopia 25"
-msgstr "utopia 25"
+#: ../../standalone/drakbackup_.c:2289
+msgid "Delete Hard Drive tar files after backup to other media."
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Pipe job into a command"
-msgstr " "
+#: ../../standalone/drakbackup_.c:2324
+#, fuzzy
+msgid "What"
+msgstr " "
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Remove system config files"
-msgstr " loopback ?"
+#: ../../standalone/drakbackup_.c:2329
+#, fuzzy
+msgid "Where"
+msgstr "Wheel"
-#: ../../lang.pm:1
-#, c-format
-msgid "Cote d'Ivoire"
-msgstr " '"
+#: ../../standalone/drakbackup_.c:2334
+#, fuzzy
+msgid "When"
+msgstr "Wheel"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "new dynamic device name generated by core kernel devfs"
-msgstr " devfs"
+#: ../../standalone/drakbackup_.c:2339
+#, fuzzy
+msgid "More Options"
+msgstr " :"
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/drakgw:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Yes"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2358 ../../standalone/drakbackup_.c:4444
+#, fuzzy
+msgid "Drakbackup Configuration"
+msgstr " "
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which protocol do you want to use?"
-msgstr " ?"
+#: ../../standalone/drakbackup_.c:2376
+#, fuzzy
+msgid "Please choose where you want to backup"
+msgstr ", , ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Progress"
-msgstr " "
+#: ../../standalone/drakbackup_.c:2378
+msgid "on Hard Drive"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Estonia"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2388
+msgid "across Network"
+msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-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."
+#: ../../standalone/drakbackup_.c:2398
+msgid "on CDROM"
msgstr ""
-" , .\n"
-" , "
-" extended-"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Choose the host on which the local scanners should be made available:"
+#: ../../standalone/drakbackup_.c:2406
+msgid "on Tape Device"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Channel"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2449
+#, fuzzy
+msgid "Please choose what you want to backup"
+msgstr ", , ."
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Add"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2450
+#, fuzzy
+msgid "Backup system"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Error while sending mail. \n"
-msgstr " . \n"
+#: ../../standalone/drakbackup_.c:2451
+msgid "Backup Users"
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Keyboard"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2454
+msgid "Select user manually"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2537
msgid ""
-"Insert the CD with volume label %s\n"
-" in the CD drive under mount point /mnt/cdrom"
+"\n"
+"Backup Sources: \n"
msgstr ""
-#: ../../network/network.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2538
msgid ""
-"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
-"enough '0' (zeroes)."
+"\n"
+"- System Files:\n"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Choose the connection you want to configure"
-msgstr " , "
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Please wait, setting security level..."
-msgstr ", ..."
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Configuring network device %s"
-msgstr " %s"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "activated"
-msgstr ""
-
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Please choose which network interface will be used for the dhcp server."
+#: ../../standalone/drakbackup_.c:2540
+msgid ""
+"\n"
+"- User Files:\n"
msgstr ""
-", dhcp ."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Finding packages to upgrade..."
-msgstr " "
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount point: "
-msgstr " : "
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "parse all fonts"
+#: ../../standalone/drakbackup_.c:2542
+msgid ""
+"\n"
+"- Other Files:\n"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "Allow/Forbid direct root login."
-msgstr "/ root."
-
-#: ../../security/help.pm:1
+#: ../../standalone/drakbackup_.c:2544
#, c-format
-msgid " Accept/Refuse broadcasted icmp echo."
-msgstr "/ broadcasted icmp echo."
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With X"
-msgstr " X"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Multi-head configuration"
+msgid ""
+"\n"
+"- Save on Hard drive on path: %s\n"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "No browser available! Please install one"
-msgstr " ! "
-
-#: ../../Xconfig/main.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2547
msgid ""
-"Keep the changes?\n"
-"The current configuration is:\n"
"\n"
-"%s"
+"- Delete hard drive tar files after backup.\n"
msgstr ""
-" ?\n"
-" :\n"
-"\n"
-"%s"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
-msgstr " ReiserFS - 32 "
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2553
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)."
+"\n"
+"- Burn to CD"
msgstr ""
-"rwho \n"
-" rwho ( "
-"finger)."
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Domain name"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Sharing of local printers"
-msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Enable/Disable libsafe if libsafe is found on the system."
+#: ../../standalone/drakbackup_.c:2554
+msgid "RW"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Available printers"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:2555
#, fuzzy, c-format
-msgid "NO"
-msgstr ""
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Empty"
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text width"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr " %s ?"
+msgid " on device: %s"
+msgstr " : %s\n"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The default lease (in seconds)"
+#: ../../standalone/drakbackup_.c:2556
+msgid " (multi-session)"
msgstr ""
-#: ../../network/netconnect.pm:1
+#: ../../standalone/drakbackup_.c:2557
#, c-format
msgid ""
-"We are now going to configure the %s connection.\n"
-"\n"
"\n"
-"Press \"%s\" to continue."
+"- Save to Tape on device: %s"
msgstr ""
-" %s .\n"
-"\n"
-"\n"
-"\n"
-" \"%s\", ."
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Interface \"%s\""
-msgstr " \"%s\""
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With basic documentation (recommended!)"
-msgstr " ( !)"
-#: ../../mouse.pm:1
+#: ../../standalone/drakbackup_.c:2558
#, c-format
-msgid "1 button"
-msgstr "1 "
+msgid "\t\tErase=%s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2561
#, c-format
msgid ""
"\n"
-"There are %d unknown printers directly connected to your system"
+"- Save via %s on host: %s\n"
msgstr ""
-"\n"
-" %d "
-#: ../../Xconfig/main.pm:1
+#: ../../standalone/drakbackup_.c:2562
#, c-format
-msgid "Test"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea"
-msgstr ""
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default `%s'%s) "
-msgstr " ? ( `%s'%s) "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer"
-msgstr "Raw "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "official vendor name of the cpu"
-msgstr " "
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Useless without Terminal Server"
+msgid ""
+"\t\t user name: %s\n"
+"\t\t on path: %s \n"
msgstr ""
-#: ../../Xconfig/monitor.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Vendor"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2563
+#, fuzzy
+msgid ""
+"\n"
+"- Options:\n"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s"
-msgstr " %s"
+#: ../../standalone/drakbackup_.c:2564
+msgid "\tDo not include System Files\n"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure mouse"
-msgstr " "
+#: ../../standalone/drakbackup_.c:2567
+msgid "\tBackups use tar and bzip2\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the mount points"
-msgstr " "
+#: ../../standalone/drakbackup_.c:2569
+msgid "\tBackups use tar and gzip\n"
+msgstr ""
-#: ../../help.pm:1 ../../standalone/drakTermServ:1 ../../standalone/drakfont:1
+#: ../../standalone/drakbackup_.c:2572
#, c-format
-msgid "OK"
-msgstr "OK"
+msgid ""
+"\n"
+"- Daemon (%s) include:\n"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Yugoslavian (latin)"
-msgstr " ()"
+#: ../../standalone/drakbackup_.c:2573
+msgid "\t-Hard drive.\n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2574
+msgid "\t-CDROM.\n"
+msgstr ""
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Logitech MouseMan with Wheel emulation"
-msgstr "Logitech MouseMan"
+#: ../../standalone/drakbackup_.c:2575
+msgid "\t-Tape \n"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Launch userdrake"
-msgstr " userdrake"
+#: ../../standalone/drakbackup_.c:2576
+msgid "\t-Network by FTP.\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Is this an install or an upgrade?"
-msgstr " ?"
+#: ../../standalone/drakbackup_.c:2577
+msgid "\t-Network by SSH.\n"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "ISDN card"
-msgstr "ISDN "
+#: ../../standalone/drakbackup_.c:2578
+msgid "\t-Network by rsync.\n"
+msgstr ""
-#: ../advertising/02-community.pl:1
-#, c-format
-msgid ""
-"To share your own knowledge and help build Linux software, join our "
-"discussion forums on our \"Community\" webpages."
+#: ../../standalone/drakbackup_.c:2579
+msgid "\t-Network by webdav.\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Hard drive.\n"
+#: ../../standalone/drakbackup_.c:2581
+msgid "No configuration, please click Wizard or Advanced.\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2587
msgid ""
-"This step is activated only if an old GNU/Linux partition has been found on\n"
-"your machine.\n"
-"\n"
-"DrakX now needs to know if you want to perform a new install or an upgrade\n"
-"of an existing Mandrake Linux system:\n"
-"\n"
-" * \"%s\": For the most part, this completely wipes out the old system. If\n"
-"you wish to change how your hard drives are partitioned, or change the file\n"
-"system, you should use this option. However, depending on your partitioning\n"
-"scheme, you can prevent some of your existing data from being over-written.\n"
-"\n"
-" * \"%s\": this installation class allows you to update the packages\n"
-"currently installed on your Mandrake Linux system. Your current\n"
-"partitioning scheme and user data is not altered. Most of other\n"
-"configuration steps remain available, similar to a standard installation.\n"
+"List of data to restore:\n"
"\n"
-"Using the ``Upgrade'' option should work fine on Mandrake Linux systems\n"
-"running version \"8.1\" or later. Performing an Upgrade on versions prior\n"
-"to Mandrake Linux version \"8.1\" is not recommended."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2754
msgid ""
+"List of data corrupted:\n"
"\n"
-" Copyright (C) 2001-2002 by MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on remote CUPS server"
-msgstr " CUPS "
+#: ../../standalone/drakbackup_.c:2756
+#, fuzzy
+msgid "Please uncheck or remove it on next time."
+msgstr ", ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
+#: ../../standalone/drakbackup_.c:2766
+msgid "Backup files are corrupted"
msgstr ""
-" \"%s\" Star Office/OpenOffice.org/GIMP."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "here if no."
+#: ../../standalone/drakbackup_.c:2787
+msgid " All of your selected data have been "
msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "DHCP host name"
-msgstr " DHCP "
-
-#: ../../standalone/drakgw:1
+#: ../../standalone/drakbackup_.c:2788
#, c-format
-msgid "The maximum lease (in seconds)"
+msgid " Successfuly Restored on %s "
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose which serial port your mouse is connected to."
-msgstr ", ."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Did it work properly?"
-msgstr " ?"
+#: ../../standalone/drakbackup_.c:2906
+#, fuzzy
+msgid " Restore Configuration "
+msgstr " "
-#: ../../fs.pm:1
-#, c-format
-msgid "Mount the file system read-only."
+#: ../../standalone/drakbackup_.c:2924
+msgid "OK to restore the other files."
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Poor"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Report check result by mail"
-msgstr " -."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Grenada"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP start range"
+#: ../../standalone/drakbackup_.c:2941
+msgid "User list to restore (only the most recent date per user is important)"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Unsafe"
-msgstr ""
-
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "SSH server"
-msgstr "SSH "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s "
+#: ../../standalone/drakbackup_.c:3019
+#, fuzzy
+msgid "Backup the system files before:"
+msgstr " backup-"
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../ugtk2.pm:1 ../../modules/interactive.pm:1
-#: ../../standalone/drakclock:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "No"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3021
+#, fuzzy
+msgid "please choose the date to restore"
+msgstr ", ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Guadeloupe"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3057
+#, fuzzy
+msgid "Use Hard Disk to backup"
+msgstr " backup-"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Kannada"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3060
+#, fuzzy
+msgid "Please enter the directory to save:"
+msgstr ", "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font.\n"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3103
+#, fuzzy
+msgid "FTP Connection"
+msgstr "LAN "
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Do you want the BackSpace to return Delete in console?"
-msgstr " BackSpace Delete ?"
+#: ../../standalone/drakbackup_.c:3110
+#, fuzzy
+msgid "Secure Connection"
+msgstr " "
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Vertical refresh rate"
-msgstr " "
+#: ../../standalone/drakbackup_.c:3134
+#, fuzzy
+msgid "Restore from Hard Disk."
+msgstr " "
-#: ../../install_steps_auto_install.pm:1 ../../install_steps_stdio.pm:1
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr " `%s'\n"
+#: ../../standalone/drakbackup_.c:3136
+msgid "Please enter the directory where backups are stored"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Niger"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3204
+#, fuzzy
+msgid "Select another media to restore from"
+msgstr ", ."
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan"
+#: ../../standalone/drakbackup_.c:3206
+#, fuzzy
+msgid "Other Media"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing %s ..."
-msgstr " %s ..."
+#: ../../standalone/drakbackup_.c:3211
+#, fuzzy
+msgid "Restore system"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No printer"
-msgstr " "
+#: ../../standalone/drakbackup_.c:3212
+#, fuzzy
+msgid "Restore Users"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "alert configuration"
-msgstr " "
+#: ../../standalone/drakbackup_.c:3213
+#, fuzzy
+msgid "Restore Other"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NetWare Printer Options"
-msgstr " NetWare "
+#: ../../standalone/drakbackup_.c:3215
+#, fuzzy
+msgid "select path to restore (instead of /)"
+msgstr ", ."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "%s BootSplash (%s) preview"
+#: ../../standalone/drakbackup_.c:3219
+msgid "Do new backup before restore (only for incremental backups.)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "February"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "General"
-msgstr ""
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "/etc/issue* exist"
+#: ../../standalone/drakbackup_.c:3221
+msgid "Remove user directories before restore."
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Add a user"
-msgstr " "
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Network configuration (%d adapters)"
-msgstr " (%d )"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "April"
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Deactivate now"
-msgstr " "
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "Mandatory package %s is missing"
-msgstr " %s "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Philippines"
-msgstr ""
-
-#: ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../interactive/gtk.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakperm:1
-#: ../../standalone/draksec:1 ../../standalone/mousedrake:1
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Ok"
-msgstr "Ok"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "drakTermServ Overview"
+#: ../../standalone/drakbackup_.c:3334
+msgid ""
+"Restore Selected\n"
+"Catalog Entry"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print Queue Name"
-msgstr " "
+#: ../../standalone/drakbackup_.c:3344
+#, fuzzy
+msgid ""
+"Restore Selected\n"
+"Files"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Do you want to use aboot?"
-msgstr " aboot ?"
+#: ../../standalone/drakbackup_.c:3361
+#, fuzzy
+msgid ""
+"Change\n"
+"Restore Path"
+msgstr " "
-#: ../../keyboard.pm:1
+#: ../../standalone/drakbackup_.c:3427
#, c-format
-msgid "Belarusian"
-msgstr ""
+msgid "Backup files not found at %s."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3440
#, c-format
msgid ""
-"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
-"printers.\n"
+"Insert the CD with volume label %s\n"
+" in the CD drive under mount point /mnt/cdrom"
msgstr ""
-"PDQ , LPD Socket/TCP "
-".\n"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move files to the new partition"
-msgstr " "
+#: ../../standalone/drakbackup_.c:3440
+#, fuzzy
+msgid "Restore From CD"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3442
#, c-format
-msgid ""
-"Add here the CUPS servers whose printers you want to use. You only need to "
-"do this if the servers do not broadcast their printer information into the "
-"local network."
+msgid "Not the correct CD label. Disk is labelled %s."
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3452
#, c-format
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"Insert the tape with volume label %s\n"
+" in the tape drive device %s"
msgstr ""
-"\n"
-" \n"
-"\n"
-" .\n"
-"\n"
-" () , , "
-" .\n"
-"\n"
-" \"\" , \"\" "
-" ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Pitcairn"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore From Catalog"
-msgstr " "
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "IDE"
-msgstr "IDE"
+#: ../../standalone/drakbackup_.c:3452
+#, fuzzy
+msgid "Restore From Tape"
+msgstr " "
-#: ../../fs.pm:1
+#: ../../standalone/drakbackup_.c:3454
#, c-format
-msgid "mounting partition %s in directory %s failed"
-msgstr " %s %s "
+msgid "Not the correct tape label. Tape is labelled %s."
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo screen"
-msgstr "Lilo "
+#: ../../standalone/drakbackup_.c:3474
+#, fuzzy
+msgid "Restore Via Network"
+msgstr " "
-#: ../../bootloader.pm:1 ../../help.pm:1
+#: ../../standalone/drakbackup_.c:3474
#, c-format
-msgid "LILO with graphical menu"
-msgstr "LILO "
+msgid "Restore Via Network Protocol: %s"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Estimating"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3475
+#, fuzzy
+msgid "Host Name"
+msgstr " :"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It is already installed"
-msgstr " . "
+#: ../../standalone/drakbackup_.c:3476
+msgid "Host Path or Module"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on SMB/Windows server \"%s\""
-msgstr ", \"%s\" SMB/Windows \"%s\""
+#: ../../standalone/drakbackup_.c:3483
+#, fuzzy
+msgid "Password required"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Go on anyway?"
-msgstr " ?"
+#: ../../standalone/drakbackup_.c:3489
+#, fuzzy
+msgid "Username required"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages and rebuilding rpm database..."
-msgstr " rpm ..."
+#: ../../standalone/drakbackup_.c:3492
+#, fuzzy
+msgid "Hostname required"
+msgstr " :"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" DrakBackup Report \n"
+#: ../../standalone/drakbackup_.c:3497
+msgid "Path or Module required"
msgstr ""
-"\n"
-" DrakBackup \n"
-"\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Does not appear to be recordable media!"
+#: ../../standalone/drakbackup_.c:3510
+msgid "Files Restored..."
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Specify options"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Vanuatu"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3513
+#, fuzzy
+msgid "Restore Failed..."
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "New user list:\n"
+#: ../../standalone/drakbackup_.c:3751
+msgid "Restore all backups"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Either the server name or the server's IP must be given!"
-msgstr " IP !"
-
-#: ../../any.pm:1
-#, c-format
-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\"."
+#: ../../standalone/drakbackup_.c:3760
+#, fuzzy
+msgid "Custom Restore"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use an encrypted file system for mount point %s"
+#: ../../standalone/drakbackup_.c:3804
+msgid "CD in place - continue."
msgstr ""
-" %s"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set the password history length to prevent password reuse."
+#: ../../standalone/drakbackup_.c:3810
+msgid "Browse to new restore repository."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Norfolk Island"
-msgstr " "
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Theme installation failed!"
-msgstr " !"
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Nothing to do"
-msgstr " "
+#: ../../standalone/drakbackup_.c:3813
+#, fuzzy
+msgid "Restore From Catalog"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Use for loopback"
-msgstr " loopback"
+#: ../../standalone/drakbackup_.c:3841
+#, fuzzy
+msgid "Restore Progress"
+msgstr " "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Bug Report Tool"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3883 ../../standalone/drakbackup_.c:3916
+#: ../../standalone/drakbackup_.c:3942 ../../standalone/drakbackup_.c:3969
+#: ../../standalone/drakbackup_.c:3996 ../../standalone/drakbackup_.c:4056
+#: ../../standalone/drakbackup_.c:4083 ../../standalone/drakbackup_.c:4113
+#: ../../standalone/drakbackup_.c:4139
+#, fuzzy
+msgid "Previous"
+msgstr "<- "
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Apply filter"
-msgstr " "
+#: ../../standalone/drakbackup_.c:3887 ../../standalone/drakbackup_.c:3973
+#: ../../standalone/logdrake_.c:203
+#, fuzzy
+msgid "Save"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pppoe"
-msgstr " PPPOE"
+#: ../../standalone/drakbackup_.c:3946
+#, fuzzy
+msgid "Build Backup"
+msgstr " backup-"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving files to the new partition"
-msgstr " "
+#: ../../standalone/drakbackup_.c:4000 ../../standalone/drakbackup_.c:4544
+#, fuzzy
+msgid "Restore"
+msgstr " "
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
-msgstr "XFree %s O 3D "
+#: ../../standalone/drakbackup_.c:4189
+msgid ""
+"Error during sendmail.\n"
+" Your report mail was not sent.\n"
+" Please configure sendmail"
+msgstr ""
-#: ../../help.pm:1 ../../interactive.pm:1
-#, c-format
-msgid "Advanced"
-msgstr ""
+#: ../../standalone/drakbackup_.c:4195
+msgid ""
+"Error during sending file via FTP.\n"
+" Please correct your FTP configuration."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer"
-msgstr ""
+#: ../../standalone/drakbackup_.c:4209
+#, fuzzy
+msgid ""
+"The following packages need to be installed:\n"
+" @list_of_rpm_to_install"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Swedish)"
-msgstr " ()"
+#: ../../standalone/drakbackup_.c:4232
+#, fuzzy
+msgid "Please select data to restore..."
+msgstr ", ."
-#: ../../lang.pm:1
-#, c-format
-msgid "Afghanistan"
-msgstr ""
+#: ../../standalone/drakbackup_.c:4267
+#, fuzzy
+msgid "Please select media for backup..."
+msgstr ", ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "More Options"
-msgstr " "
+#: ../../standalone/drakbackup_.c:4275
+#, fuzzy
+msgid "Please select data to backup..."
+msgstr ", ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Delete Hard Drive tar files after backup to other media."
+#: ../../standalone/drakbackup_.c:4293 ../../standalone/drakbackup_.c:4304
+msgid ""
+"No configuration file found \n"
+"please click Wizard or Advanced."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Burundi"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../standalone/drakbackup_.c:4308
+msgid "Under Devel ... please wait."
msgstr ""
-"cron UNIX , \n"
-" . vixie cron \n"
-"UNIX cron, - ."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add Client -->"
-msgstr " -->"
+#: ../../standalone/drakbackup_.c:4382
+#, fuzzy
+msgid "Backup system files"
+msgstr " backup-"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read carefully!"
-msgstr " !"
+#: ../../standalone/drakbackup_.c:4384
+#, fuzzy
+msgid "Backup user files"
+msgstr " backup-"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "RW"
-msgstr "RW"
+#: ../../standalone/drakbackup_.c:4386
+#, fuzzy
+msgid "Backup other files"
+msgstr " backup-"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid ""
-"Please,\n"
-"type in your tv norm and country"
+#: ../../standalone/drakbackup_.c:4388 ../../standalone/drakbackup_.c:4421
+msgid "Total Progress"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Port"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "No (experts only)"
+#: ../../standalone/drakbackup_.c:4412
+msgid "files sending by FTP"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No kernel selected!"
-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:1
-#, c-format
-msgid "Press enter to boot the selected OS, 'e' to edit the"
-msgstr " 'enter' , 'e' "
+#: ../../standalone/drakbackup_.c:4416
+#, fuzzy
+msgid "Sending files..."
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-GID"
-msgstr "-GID"
+#: ../../standalone/drakbackup_.c:4500
+#, fuzzy
+msgid "Backup Now from configuration file"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "The encryption keys do not match"
-msgstr " "
+#: ../../standalone/drakbackup_.c:4505
+#, fuzzy
+msgid "View Backup Configuration."
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"For a multisession CD, only the first session will erase the cdrw. Otherwise "
-"the cdrw is erased before each backup."
-msgstr ""
+#: ../../standalone/drakbackup_.c:4526
+#, fuzzy
+msgid "Wizard Configuration"
+msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "USB printer"
-msgstr ", USB "
+#: ../../standalone/drakbackup_.c:4531
+#, fuzzy
+msgid "Advanced Configuration"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right \"Windows\" key"
-msgstr " \"Windows\" "
+#: ../../standalone/drakbackup_.c:4536
+#, fuzzy
+msgid "Backup Now"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check empty password in /etc/shadow."
+#: ../../standalone/drakbackup_.c:4576
+msgid "Drakbackup"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4624
msgid ""
-"Before continuing, you should carefully read the terms of the license. It\n"
-"covers the entire Mandrake Linux distribution. If you do agree with all the\n"
-"terms in it, check the \"%s\" box. If not, simply turn off your computer."
-msgstr ""
-" , . "
-"\n"
-" Mandrake Linux , , "
-"\n"
-" , \"%s\". , "
-" ."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here is a list of the available printing options for the current printer:\n"
+"options description:\n"
"\n"
-msgstr ""
-" :\n"
+" In this step Drakbackup allow you to change:\n"
"\n"
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolutions"
-msgstr " "
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"drakfirewall configurator\n"
+" - The compression mode:\n"
+" \n"
+" If you check bzip2 compression, you will compress\n"
+" your data better than gzip (about 2-10 %).\n"
+" This option is not checked by default because\n"
+" this compression mode needs more time (about 1000% more).\n"
+" \n"
+" - The update mode:\n"
"\n"
-"This configures a personal firewall for this Mandrake Linux machine.\n"
-"For a powerful and dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
-msgstr ""
-" \n"
+" This option will update your backup, but this\n"
+" option is not really useful because you need to\n"
+" decompress your backup before you can update it.\n"
+" \n"
+" - the .backupignore mode:\n"
+"\n"
+" Like with cvs, Drakbackup will ignore all references\n"
+" included in .backupignore files in each directories.\n"
+" ex: \n"
+" /*> cat .backupignore*/\n"
+" *.o\n"
+" *~\n"
+" ...\n"
+" \n"
"\n"
-" Mandrake Linux .\n"
-" , , \n"
-"MandrakeSecurity Firewall ."
-
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid ""
-"Please enter your username, password and domain name to access this host."
msgstr ""
-", , ."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Remove selected host"
-msgstr " "
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "Network configuration"
-msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/Autodetect _jaz drives"
-msgstr "/ _jaz "
-
-#: ../../any.pm:1
-#, c-format
-msgid "No sharing"
-msgstr " "
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule down one level"
-msgstr " "
-
-#: ../../common.pm:1
-#, c-format
-msgid "TB"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "FATAL"
-msgstr ""
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Refresh the list"
-msgstr " "
-
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4654
msgid ""
-" - Per client %s:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tdrakTermServ will help create these files."
+"\n"
+" Some errors during sendmail are caused by \n"
+" a bad configuration of postfix. To solve it you have to\n"
+" set myhostname or mydomain in /etc/postfix/main.cf\n"
+"\n"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4662
msgid ""
-"The DHCP server will allow other computer to boot using PXE in the given "
-"range of address.\n"
+"options description:\n"
+"\n"
+" - Backup system files:\n"
+" \n"
+"\tThis option allows you to backup your /etc directory,\n"
+"\twhich contains all configuration files. Please be\n"
+"\tcareful during the restore step to not overwrite:\n"
+"\t\t/etc/passwd \n"
+"\t\t/etc/group \n"
+"\t\t/etc/fstab\n"
+"\n"
+" - Backup User files: \n"
+"\n"
+"\tThis option allows you select all users that you want \n"
+"\tto backup.\n"
+"\tTo preserve disk space, it is recommended that you \n"
+"\tdo not include web browser's cache.\n"
+"\n"
+" - Backup Other files: \n"
+"\n"
+"\tThis option allows you to add more data to save.\n"
+"\tWith the other backup it's not possible at the \n"
+"\tmoment to select incremental backup.\t\t\n"
+" \n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption for backup. This option allows you \n"
+"\tto backup all your data the first time, and \n"
+"\tonly the changed afterward.\n"
+"\tThen you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
"\n"
-"The network address is %s using a netmask of %s.\n"
"\n"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../standalone/drakperm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Delete"
-msgstr ""
-
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4701
msgid ""
-"I can setup your computer to automatically start the graphical interface "
-"(XFree) upon booting.\n"
-"Would you like XFree to start when you reboot?"
+"restore description:\n"
+" \n"
+"Only the most recent date will be used, because with incremental \n"
+"backups it is necessary to restore one by one each older backup.\n"
+"\n"
+"So if you don't want to restore a user please unselect all their\n"
+"check boxes.\n"
+"\n"
+"Otherwise, you are able to select only one of these.\n"
+"\n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption to use. This option allows you to \n"
+"\tbackup all of your data the first time, and \n"
+"\tonly the changed data after.\n"
+"\tSo you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
+"\n"
msgstr ""
-"K , X .\n"
-" X , ?"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Build the disk"
-msgstr " "
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnect %s"
-msgstr " %s"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Status:"
-msgstr ":"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "HTTP proxy"
-msgstr "HTTP proxy"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "SSH Server"
-msgstr "SSH "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by rsync.\n"
+#: ../../standalone/drakbackup_.c:4727
+msgid ""
+" Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s\\@epita."
+"fr>"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on server \"%s\""
-msgstr ", \"%s\" \"%s\""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Note that currently all 'net' media also use the hard drive."
+#: ../../standalone/drakbackup_.c:4729
+msgid ""
+" updates 2002 MandrakeSoft by Stew Benedict <sbenedict\\@mandrakesoft.com>"
msgstr ""
-#: ../../fsedit.pm:1 ../../install_steps_interactive.pm:1
-#: ../../install_steps.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../standalone/drakauth:1 ../../standalone/drakboot:1
-#: ../../standalone/drakbug:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/draksplash:1 ../../../move/move.pm:1
-#, c-format
-msgid "Error"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "allow \"su\""
-msgstr " \"su\""
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Australia"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "please wait during ttmkfdir..."
+#: ../../standalone/drakbackup_.c:4732
+msgid ""
+"Description:\n"
+"\n"
+" Drakbackup is used to backup your system.\n"
+" During the configuration you can select: \n"
+"\t- System files, \n"
+"\t- Users files, \n"
+"\t- Other files.\n"
+"\tor All your system ... and Other (like Windows Partitions)\n"
+"\n"
+" Drakbackup allows you to backup your system on:\n"
+"\t- Harddrive.\n"
+"\t- NFS.\n"
+"\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
+"\t- FTP.\n"
+"\t- Rsync.\n"
+"\t- Webdav.\n"
+"\t- Tape.\n"
+"\n"
+" Drakbackup allows you to restore your system to\n"
+" a user selected directory.\n"
+"\n"
+" Per default all backup will be stored on your\n"
+" /var/lib/drakbackup directory\n"
+"\n"
+" Configuration file:\n"
+"\t/etc/drakconf/drakbackup/drakbakup.conf\n"
+"\n"
+"Restore Step:\n"
+" \n"
+" During the restore step, DrakBackup will remove \n"
+" your original directory and verify that all \n"
+" backup files are not corrupted. It is recommended \n"
+" you do a last backup before restoring.\n"
+"\n"
+"\n"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure only card \"%s\"%s"
-msgstr " \"%s\"(%s)"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Level"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Change the printing system"
-msgstr " "
-
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4769
msgid ""
-"Your system supports multiple head configuration.\n"
-"What do you want to do?"
+"options description:\n"
+"\n"
+"Please be careful when you are using ftp backup, because only \n"
+"backups that are already built are sent to the server.\n"
+"So at the moment, you need to build the backup on your hard \n"
+"drive before sending it to the server.\n"
+"\n"
msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "mount failed: "
-msgstr " : "
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure services"
-msgstr " "
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Broadcast Address:"
-msgstr "Broadcast :"
-
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4778
msgid ""
-"the GNU/Linux kernel needs to run a calculation loop at boot time to "
-"initialize a timer counter. Its result is stored as bogomips as a way to "
-"\"benchmark\" the cpu."
+"\n"
+"Restore Backup Problems:\n"
+"\n"
+"During the restore step, Drakbackup will verify all your\n"
+"backup files before restoring them.\n"
+"Before the restore, Drakbackup will remove \n"
+"your original directory, and you will loose all your \n"
+"data. It is important to be careful and not modify the \n"
+"backup data files by hand.\n"
msgstr ""
-#: ../../any.pm:1
+#: ../../standalone/drakboot_.c:50
#, c-format
-msgid "Image"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
-msgid "Remote Administration"
-msgstr " "
+msgid "Installation of %s failed. The following error occured:"
+msgstr " %s . :"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
+#: ../../standalone/drakbug_.c:45
+msgid "Mandrake Bug Report Tool"
msgstr ""
-" \"%s\" Star Office/OpenOffice.org/GIMP."
-#: ../../modules.pm:1
-#, c-format
-msgid ""
-"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
+#: ../../standalone/drakbug_.c:50
+msgid "First Time Wizard"
msgstr ""
-"PCMCIA 2.2. , "
-"2.4"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Selected All"
-msgstr " "
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "CUPS - Common Unix Printing System"
-msgstr "CUPS - Unix "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Webmin Service"
-msgstr "Webmin "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "device"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory to save to:"
-msgstr " :"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Greece"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "All"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Which printing system (spooler) do you want to use?"
-msgstr " (spooler) ?"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "July"
-msgstr ""
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Prints into %s"
-msgstr ", %s"
-
-#: ../../install_steps_interactive.pm:1 ../../../move/move.pm:1
-#, c-format
-msgid "An error occurred"
-msgstr " "
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid ""
-"This package must be upgraded.\n"
-"Are you sure you want to deselect it?"
+#: ../../standalone/drakbug_.c:51
+msgid "Synchronization tool"
msgstr ""
-" \n"
-" , ?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (Typewriter-layout)"
-msgstr " ( )"
+#: ../../standalone/drakbug_.c:52 ../../standalone/drakbug_.c:66
+#: ../../standalone/drakbug_.c:133 ../../standalone/drakbug_.c:135
+#: ../../standalone/drakbug_.c:139
+#, fuzzy
+msgid "Standalone Tools"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Use password to authenticate users."
+#: ../../standalone/drakbug_.c:53
+msgid "HardDrake"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Allow/Forbid the list of users on the system on display managers (kdm and "
-"gdm)."
-msgstr ""
+#: ../../standalone/drakbug_.c:54
+#, fuzzy
+msgid "Mandrake Online"
+msgstr " "
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "manual"
-msgstr ""
+#: ../../standalone/drakbug_.c:55
+#, fuzzy
+msgid "Menudrake"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Filename text to search for:"
-msgstr ""
+#: ../../standalone/drakbug_.c:56
+#, fuzzy
+msgid "Msec"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model, driver"
-msgstr " , , "
+#: ../../standalone/drakbug_.c:57
+#, fuzzy
+msgid "Remote Control"
+msgstr " "
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid ""
-"There is no medium or it is write-protected for device %s.\n"
-"Please insert one."
-msgstr ""
-" %s.\n"
-" ."
+#: ../../standalone/drakbug_.c:58
+#, fuzzy
+msgid "Software Manager"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"Directory %s already contains data\n"
-"(%s)"
+#: ../../standalone/drakbug_.c:59
+msgid "Urpmi"
msgstr ""
-" %s \n"
-"(%s)"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Printer on NetWare server"
-msgstr " NetWare "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Give the ram size in MB"
-msgstr " RAM- Mb"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Friday"
-msgstr ""
+#: ../../standalone/drakbug_.c:60
+msgid "Windows Migration tool"
+msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from Internet complete."
-msgstr " "
+#: ../../standalone/drakbug_.c:61
+#, fuzzy
+msgid "Userdrake"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Real name"
-msgstr " "
+#: ../../standalone/drakbug_.c:62
+#, fuzzy
+msgid "Configuration Wizards"
+msgstr " "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "done"
-msgstr ""
+#: ../../standalone/drakbug_.c:75
+#, fuzzy
+msgid "Application:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please uncheck or remove it on next time."
-msgstr " ."
+#: ../../standalone/drakbug_.c:76
+#, fuzzy
+msgid "Package: "
+msgstr " "
-#: ../../security/level.pm:1
-#, c-format
-msgid "Higher"
-msgstr "-"
+#: ../../standalone/drakbug_.c:77
+msgid "Kernel:"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the partitions you want to format"
-msgstr " , "
+#: ../../standalone/drakbug_.c:78
+#, fuzzy
+msgid "Release: "
+msgstr " "
-#: ../../standalone/drakxtv:1
-#, c-format
+#: ../../standalone/drakbug_.c:93
msgid ""
-"No TV Card has been detected on your machine. Please verify that a Linux-"
-"supported Video/TV Card is correctly plugged in.\n"
-"\n"
"\n"
-"You can visit our hardware database at:\n"
"\n"
+"To submit a bug report, click on the button report.\n"
+"This will open a web browser window on https://drakbug.mandrakesoft.com\n"
+" where you'll find a form to fill in.The information displayed above will "
+"be \n"
+"transferred to that server\n"
"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't find %s on %s"
-msgstr " %s %s"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Japanese 106 keys"
-msgstr " 106 "
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Could not install the packages needed to share your scanner(s)."
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "This will take a few minutes."
-msgstr " ."
+#: ../../standalone/drakbug_.c:112
+#, fuzzy
+msgid "Report"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Burkina Faso"
-msgstr " "
+#: ../../standalone/drakbug_.c:148
+#, fuzzy
+msgid "Not installed"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "June"
-msgstr ""
+#: ../../standalone/drakbug_.c:160
+#, fuzzy
+msgid "Package not installed"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use scanners on remote computers"
+#: ../../standalone/drakbug_.c:173
+msgid "connecting to Bugzilla wizard ..."
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Delete selected rule"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Accessing printers on remote CUPS servers"
-msgstr " CUPS "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Insert a floppy in %s"
-msgstr " %s"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Maldives"
-msgstr ""
-
-#: ../../any.pm:1
-#, c-format
-msgid "compact"
-msgstr ""
+#: ../../standalone/drakbug_.c:180
+#, fuzzy
+msgid "No browser available! Please install one"
+msgstr " , "
-#: ../../common.pm:1
+#: ../../standalone/drakconnect_.c:75
#, c-format
-msgid "1 minute"
-msgstr "1 "
+msgid "Network configuration (%d adapters)"
+msgstr " (%d )"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "type: fat"
-msgstr ": fat"
+#: ../../standalone/drakconnect_.c:83 ../../standalone/drakconnect_.c:591
+msgid "Profile: "
+msgstr ": "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "on channel %d id %d\n"
-msgstr " %d id %d\n"
+#: ../../standalone/drakconnect_.c:91
+msgid "Del profile..."
+msgstr " ..."
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device"
-msgstr ", "
+#: ../../standalone/drakconnect_.c:97
+msgid "Profile to delete:"
+msgstr " :"
-#: ../../lang.pm:1
-#, c-format
-msgid "Laos"
-msgstr ""
+#: ../../standalone/drakconnect_.c:125
+msgid "New profile..."
+msgstr " ..."
-#: ../advertising/04-configuration.pl:1
-#, c-format
+#: ../../standalone/drakconnect_.c:131
msgid ""
-"Mandrake Linux 9.2 provides you with the Mandrake Control Center, a powerful "
-"tool to fully adapt your computer to the use you make of it. Configure and "
-"customize elements such as the security level, the peripherals (screen, "
-"mouse, keyboard...), the Internet connection and much more!"
+"Name of the profile to create (the new profile is created as a copy of the "
+"current one) :"
msgstr ""
+" ( ):"
-#: ../../security/help.pm:1
-#, c-format
-msgid "Activate/Disable ethernet cards promiscuity check."
-msgstr ""
+#: ../../standalone/drakconnect_.c:157
+msgid "Hostname: "
+msgstr " :"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to resize (or not enough space left)"
-msgstr " FAT ( )"
+#: ../../standalone/drakconnect_.c:164
+msgid "Internet access"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Up"
-msgstr ""
+#: ../../standalone/drakconnect_.c:177
+msgid "Type:"
+msgstr ": "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Firewall"
-msgstr " "
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Gateway:"
+msgstr "Gateway:"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Area:"
-msgstr ""
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Interface:"
+msgstr ":"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "(E)IDE/ATA controllers"
-msgstr "(E)IDE/ATA "
+#: ../../standalone/drakconnect_.c:191
+msgid "Status:"
+msgstr ":"
-#: ../../fs.pm:1
-#, c-format
-msgid "All I/O to the file system should be done synchronously."
+#: ../../standalone/drakconnect_.c:198 ../../standalone/net_monitor_.c:145
+msgid "Wait please"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Server"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Custom configuration"
-msgstr " "
+#: ../../standalone/drakconnect_.c:216
+msgid "Configure Internet Access..."
+msgstr " ..."
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"Please indicate where the installation image will be available.\n"
-"\n"
-"If you do not have an existing directory, please copy the CD or DVD "
-"contents.\n"
-"\n"
-msgstr ""
+#: ../../standalone/drakconnect_.c:223 ../../standalone/drakconnect_.c:445
+msgid "LAN configuration"
+msgstr " LAN"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Pierre and Miquelon"
-msgstr " "
+#: ../../standalone/drakconnect_.c:228
+msgid "Driver"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "September"
-msgstr ""
+#: ../../standalone/drakconnect_.c:228
+msgid "Interface"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "saving Bootsplash theme..."
-msgstr ""
+#: ../../standalone/drakconnect_.c:228
+msgid "Protocol"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Portugal"
-msgstr ""
+#: ../../standalone/drakconnect_.c:228
+msgid "State"
+msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have another one?"
-msgstr " () ?"
+#: ../../standalone/drakconnect_.c:240
+msgid "Configure Local Area Network..."
+msgstr " ..."
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", printing to %s"
-msgstr ", %s"
+#: ../../standalone/drakconnect_.c:252
+msgid "Click here to launch the wizard ->"
+msgstr " , ->"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Assign host name from DHCP address"
-msgstr " DHCP "
+#: ../../standalone/drakconnect_.c:253
+msgid "Wizard..."
+msgstr "..."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to normal mode"
-msgstr " "
+#: ../../standalone/drakconnect_.c:279
+msgid "Apply"
+msgstr ""
-#: ../../mouse.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Generic"
-msgstr ""
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Connected"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Cylinder %d to %d\n"
-msgstr " %d %d\n"
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+msgid "Not connected"
+msgstr " "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "YOUR TEXT HERE"
-msgstr ""
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Connect..."
+msgstr " ..."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "New profile..."
-msgstr " ..."
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Disconnect..."
+msgstr " ..."
-#: ../../modules/interactive.pm:1 ../../standalone/draksec:1
-#, c-format
-msgid "NONE"
+#: ../../standalone/drakconnect_.c:400
+msgid ""
+"Warning, another Internet connection has been detected, maybe using your "
+"network"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which disk do you want to move it to?"
-msgstr " ?"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Display logo on Console"
-msgstr " "
+#: ../../standalone/drakconnect_.c:427
+msgid ""
+"You don't have any configured interface.\n"
+"Configure them first by clicking on 'Configure'"
+msgstr ""
+" .\n"
+" , ''"
-#: ../../any.pm:1
-#, c-format
-msgid "Windows Domain"
-msgstr "Windows "
+#: ../../standalone/drakconnect_.c:449
+msgid "LAN Configuration"
+msgstr " "
-#: ../../keyboard.pm:1
+#: ../../standalone/drakconnect_.c:460
#, c-format
-msgid "Saami (norwegian)"
-msgstr " ()"
+msgid "Adapter %s: %s"
+msgstr " %s: %s"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "Interface %s (on network %s)"
-msgstr " %s ( %s)"
+#: ../../standalone/drakconnect_.c:466
+msgid "Boot Protocol"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "INFO"
-msgstr ""
+#: ../../standalone/drakconnect_.c:467
+msgid "Started on boot"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Wallis and Futuna"
-msgstr " "
+#: ../../standalone/drakconnect_.c:468
+msgid "DHCP client"
+msgstr "DHCP "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Need to create /etc/dhcpd.conf first!"
-msgstr " /etc/dhcpd.conf!"
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+msgid "activate now"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Is FPU present"
-msgstr ""
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+msgid "deactivate now"
+msgstr " "
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:499
msgid ""
-"No additional information\n"
-"about this service, sorry."
+"This interface has not been configured yet.\n"
+"Launch the configuration wizard in the main window"
msgstr ""
-" \n"
-" , ."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "There are no scanners found which are available on your system.\n"
+#: ../../standalone/drakconnect_.c:556
+msgid ""
+"You don't have any internet connection.\n"
+"Create one first by clicking on 'Configure'"
msgstr ""
+" Internet .\n"
+" , ''"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Single NIC -->"
-msgstr " NIC -->"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Marshall Islands"
-msgstr " "
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Is this correct?"
-msgstr " ?"
+#: ../../standalone/drakconnect_.c:580
+msgid "Internet connection configuration"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Windows (FAT32)"
-msgstr "Windows (FAT32)"
+#: ../../standalone/drakconnect_.c:584
+msgid "Internet Connection Configuration"
+msgstr " "
-#: ../../steps.pm:1
-#, c-format
-msgid "Root password"
-msgstr " root"
+#: ../../standalone/drakconnect_.c:593 ../../standalone/net_monitor_.c:94
+msgid "Connection type: "
+msgstr " : "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build All Kernels -->"
-msgstr " -->"
+#: ../../standalone/drakconnect_.c:599
+msgid "Parameters"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVDRAM device"
-msgstr "DVDRAM "
+#: ../../standalone/drakconnect_.c:618
+msgid "Gateway"
+msgstr "Gateway"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report unowned files."
-msgstr ""
+#: ../../standalone/drakconnect_.c:627
+msgid "Ethernet Card"
+msgstr "Ethernet "
-#: ../../install_interactive.pm:1
-#, c-format
-msgid ""
-"You don't have a swap partition.\n"
-"\n"
-"Continue anyway?"
-msgstr ""
-" swap-\n"
-"\n"
-" ?"
+#: ../../standalone/drakconnect_.c:628
+msgid "DHCP Client"
+msgstr "DHCP "
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Version: "
-msgstr ": "
+#: ../../standalone/drakfloppy_.c:39
+msgid "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
+msgstr "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Server IP missing!"
-msgstr " IP "
+#: ../../standalone/drakfloppy_.c:40
+msgid "Module name"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Suriname"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:40
+msgid "Size"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, fuzzy, c-format
-msgid "Use a floppy"
-msgstr " "
+#: ../../standalone/drakfloppy_.c:45
+msgid "drakfloppy"
+msgstr "drakfloppy"
-#: ../../any.pm:1
-#, c-format
-msgid "Enable ACPI"
-msgstr " CD "
+#: ../../standalone/drakfloppy_.c:63
+msgid "boot disk creation"
+msgstr " "
-#: ../../fs.pm:1
-#, c-format
-msgid "Give write access to ordinary users"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:71 ../../standalone/drakfloppy_.c:84
+msgid "default"
+msgstr " "
-#: ../../help.pm:1
+#: ../../standalone/drakfloppy_.c:87
#, c-format
-msgid "Graphical Environment"
-msgstr " "
+msgid "DrakFloppy Error: %s"
+msgstr " DrakFloppy: %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Gibraltar"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:98
+msgid "kernel version"
+msgstr " "
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Do nothing"
-msgstr " "
+#: ../../standalone/drakfloppy_.c:104
+msgid "General"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Delete Client"
-msgstr " "
+#: ../../standalone/drakfloppy_.c:109
+msgid "Expert Area"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem type: "
-msgstr " : "
+#: ../../standalone/drakfloppy_.c:112
+msgid "mkinitrd optional arguments"
+msgstr "mkinitrd "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting network..."
-msgstr " ...."
+#: ../../standalone/drakfloppy_.c:113
+msgid "Add a module"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Vietnam"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:133
+msgid "force"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/_Fields description"
-msgstr "/_ "
+#: ../../standalone/drakfloppy_.c:134
+msgid "if needed"
+msgstr " "
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid "Optimize your security by using Mandrake Linux"
-msgstr " "
+#: ../../standalone/drakfloppy_.c:135
+msgid "omit scsi modules"
+msgstr " scsi "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-" Thanks:\n"
-"\t- LTSP Project http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
-"\n"
-msgstr ""
-"\n"
-"\n"
-" :\n"
-"\t- LTSP http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
-"\n"
+#: ../../standalone/drakfloppy_.c:136
+msgid "omit raid modules"
+msgstr " raid "
-#: ../../install_steps_gtk.pm:1 ../../interactive.pm:1 ../../ugtk2.pm:1
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../interactive/gtk.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakbug:1
-#: ../../standalone/drakconnect:1 ../../standalone/drakfont:1
-#: ../../standalone/drakperm:1 ../../standalone/draksec:1
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Help"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:172
+msgid "Remove a module"
+msgstr " "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check if the network devices are in promiscuous mode"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:194
+msgid "Output"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Your personal phone number"
-msgstr " "
+#: ../../standalone/drakfloppy_.c:206
+msgid "Build the disk"
+msgstr " "
-#: ../../install_interactive.pm:1
+#: ../../standalone/drakfloppy_.c:336
#, c-format
-msgid "Which size do you want to keep for Windows on"
-msgstr " windows?"
+msgid "Be sure a media is present for the device %s"
+msgstr " %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakfloppy_.c:341
+#, fuzzy, c-format
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
+"There is no medium or it is write-protected for device %s.\n"
+"Please insert one."
msgstr ""
-" .\n"
-" .\n"
+" %s.\n"
+" ."
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakfloppy_.c:344
#, c-format
-msgid "Username required"
-msgstr " "
+msgid "Unable to fork: %s"
+msgstr " : %s"
-#: ../../standalone/drakfloppy:1
+#: ../../standalone/drakfloppy_.c:349
#, c-format
-msgid "Device"
-msgstr ""
-
-#: ../../help.pm:1
-#, fuzzy, c-format
msgid ""
-"Depending on the default language you chose in Section , DrakX will\n"
-"automatically select a particular type of keyboard configuration. However,\n"
-"you may not have a keyboard that corresponds exactly to your language: for\n"
-"example, if you are an English speaking Swiss person, you may have a Swiss\n"
-"keyboard. Or if you speak English but are located in Quebec, you may find\n"
-"yourself in the same situation where your native language and keyboard do\n"
-"not match. In either case, this installation step will allow you to select\n"
-"an appropriate keyboard from a list.\n"
-"\n"
-"Click on the \"%s\" button to be presented with the complete list of\n"
-"supported keyboards.\n"
-"\n"
-"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
-"dialog will allow you to choose the key binding that will switch the\n"
-"keyboard between the Latin and non-Latin layouts."
+"Unable to close properly mkbootdisk: \n"
+" %s \n"
+" %s"
msgstr ""
-", DrakX ( "
-"\n"
-" , ) . "
-" \n"
-" : , "
-" ,\n"
-" . "
-"a, \n"
-" , . , "
-" \n"
-" "
-".\n"
-"\n"
-", , "
-"\n"
-" , .\n"
-"\n"
-" , "
-"\n"
-" \"\". "
-" ."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr " SMB (Windows 9x/NT) "
+" mkbootdisk: \n"
+" %s \n"
+" %s"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "URI: %s"
+#: ../../standalone/drakfont_.c:213
+msgid "Search installed fonts"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Valid user list changed, rewriting config file."
+#: ../../standalone/drakfont_.c:215
+msgid "Unselect fonts installed"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "mkinitrd optional arguments"
-msgstr "mkinitrd "
-
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid ""
-"Surf the Web with Mozilla or Konqueror, read your mail with Evolution or "
-"Kmail, create your documents with OpenOffice.org."
+#: ../../standalone/drakfont_.c:239
+msgid "parse all fonts"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Protocol for the rest of the world"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print test pages"
-msgstr " "
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Activate now"
-msgstr " "
+#: ../../standalone/drakfont_.c:242
+#, fuzzy
+msgid "no fonts found"
+msgstr "%s "
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "64 MB or more"
-msgstr "64 "
+#: ../../standalone/drakfont_.c:251 ../../standalone/drakfont_.c:305
+#: ../../standalone/drakfont_.c:361 ../../standalone/drakfont_.c:454
+#: ../../standalone/drakfont_.c:466 ../../standalone/drakfont_.c:493
+#: ../../standalone/drakfont_.c:514 ../../standalone/drakfont_.c:532
+#, fuzzy
+msgid "done"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Please select the test pages you want to print.\n"
-"Note: the photo test page can take a rather long time to get printed and on "
-"laser printers with too low memory it can even not come out. In most cases "
-"it is enough to print the standard test page."
+#: ../../standalone/drakfont_.c:257
+msgid "could not find any font in your mounted partitions"
msgstr ""
-", .\n"
-": \n"
-" \n"
-" . ."
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Please select the device where your %s is attached"
+#: ../../standalone/drakfont_.c:303
+msgid "Reselect correct fonts"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Not formatted\n"
-msgstr "\n"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Periodic Checks"
+#: ../../standalone/drakfont_.c:307
+msgid "could not find any font.\n"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "PXE Server Configuration"
-msgstr " PXE "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup the system files before:"
-msgstr " :"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"This is the standard security recommended for a computer that will be used "
-"to connect to the Internet as a client."
+#: ../../standalone/drakfont_.c:331
+msgid "Search fonts in installed list"
msgstr ""
-" , "
-" ."
-
-#: ../../any.pm:1
-#, c-format
-msgid "First floppy drive"
-msgstr " "
-
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Quit"
-msgstr "//_"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak"
-msgstr ""
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose the new size"
-msgstr " "
+#: ../../standalone/drakfont_.c:359
+#, fuzzy
+msgid "Fonts copy"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Media class"
-msgstr " "
+#: ../../standalone/drakfont_.c:363
+#, fuzzy
+msgid "True Type fonts installation"
+msgstr " "
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "You need to log out and back in again for changes to take effect"
+#: ../../standalone/drakfont_.c:371
+msgid "please wait during ttmkfdir..."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not known by this version of Scannerdrake."
+#: ../../standalone/drakfont_.c:377
+msgid "True Type install done"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Faroe Islands"
-msgstr " "
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Restart XFS"
-msgstr " XFS"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add host/network"
-msgstr " /"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake will not be started now."
+#: ../../standalone/drakfont_.c:386 ../../standalone/drakfont_.c:413
+msgid "Fonts conversion"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Model name"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Albania"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "British Indian Ocean Territory"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Normal Mode"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CD-R/DVD-R in drive!"
+#: ../../standalone/drakfont_.c:392 ../../standalone/drakfont_.c:417
+#: ../../standalone/drakfont_.c:450
+msgid "type1inst building"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer connection type"
-msgstr " "
-
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "No network adapter on your system!"
-msgstr " !"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Network %s"
-msgstr " %s"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Malayalam"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s out of range!"
-msgstr " %s !"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Connect %s"
-msgstr " %s"
+#: ../../standalone/drakfont_.c:403 ../../standalone/drakfont_.c:427
+msgid "Ghostscript referencing"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting CUPS..."
-msgstr " CUPS..."
+#: ../../standalone/drakfont_.c:437
+msgid "ttf fonts conversion"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning/Photo Cards on \"%s\""
-msgstr "// \"%s\""
+#: ../../standalone/drakfont_.c:444
+msgid "pfm fonts conversion"
+msgstr ""
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Continue without USB key"
+#: ../../standalone/drakfont_.c:456
+msgid "Suppress temporary Files"
msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr " %s"
+#: ../../standalone/drakfont_.c:459
+#, fuzzy
+msgid "Restart XFS"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run chkrootkit checks."
+#: ../../standalone/drakfont_.c:512 ../../standalone/drakfont_.c:526
+msgid "Suppress Fonts Files"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Connection Configuration"
-msgstr " "
-
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|Generic"
-msgstr "|"
+#: ../../standalone/drakfont_.c:528
+#, fuzzy
+msgid "xfs restart"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:536 ../../standalone/drakfont_.c:902
msgid ""
-"At the time you are installing Mandrake Linux, it is likely that some\n"
-"packages have been updated since the initial release. Bugs may have been\n"
-"fixed, security issues resolved. To allow you to benefit from these\n"
-"updates, you are now able to download them from the Internet. Check \"%s\"\n"
-"if you have a working Internet connection, or \"%s\" if you prefer to\n"
-"install updated packages later.\n"
+"Before installing any fonts, be sure that you have the right to use and "
+"install them on your system.\n"
"\n"
-"Choosing \"%s\" will display a list of places from which updates can be\n"
-"retrieved. You should choose one nearer to you. A package-selection tree\n"
-"will appear: review the selection, and press \"%s\" to retrieve and install\n"
-"the selected package(s), or \"%s\" to abort."
+"-You can install the fonts using the normal way. In rare cases, bogus fonts "
+"may hang up your X Server."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Myanmar"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1 ../../Xconfig/main.pm:1
-#: ../../diskdrake/dav.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/draksplash:1 ../../standalone/harddrake2:1
-#: ../../standalone/logdrake:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Quit"
-msgstr ""
-
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Auto allocate"
-msgstr " "
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Check bad blocks?"
-msgstr " ?"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Other MultiMedia devices"
-msgstr " "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "burner"
-msgstr ""
+#: ../../standalone/drakfont_.c:621
+#, fuzzy
+msgid "Fonts Importation"
+msgstr " "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Bug Description/System Information"
+#: ../../standalone/drakfont_.c:650
+msgid "Get Windows Fonts"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " (Default is all users)"
-msgstr " "
+#: ../../standalone/drakfont_.c:658
+#, fuzzy
+msgid "Uninstall Fonts"
+msgstr " "
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "No remote machines"
-msgstr " "
+#: ../../standalone/drakfont_.c:669
+#, fuzzy
+msgid "Advanced Options"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:677
+#, fuzzy
+msgid "Font List"
+msgstr " "
+
+#: ../../standalone/drakfont_.c:737
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
+" Copyright (C) 2001-2002 by MandrakeSoft \n"
+"\tDUPONT Sebastien sdupont\\@mandrakesoft.com\n"
"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected.\n"
+" This program is free software; you can redistribute it and/or modify\n"
+" it under the terms of the GNU General Public License as published by\n"
+" the Free Software Foundation; either version 2, or (at your option)\n"
+" any later version.\n"
"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
-msgstr ""
+" This program is distributed in the hope that it will be useful,\n"
+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+" GNU General Public License for more details.\n"
"\n"
-" \n"
+" You should have received a copy of the GNU General Public License\n"
+" along with this program; if not, write to the Free Software\n"
+" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
"\n"
-" .\n"
+" Thanks:\n"
+" - pfm2afm: \n"
+"\t by Ken Borgendale:\n"
+"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
+" - type1inst:\n"
+"\t by James Macnicol: \n"
+"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
+" - ttf2pt1: \n"
+"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
+" Convert ttf font files to afm and pfb fonts\n"
"\n"
-" () , , "
-" .\n"
"\n"
-" \"\" , \"\" "
-" ."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Authentication NIS"
-msgstr "NIS "
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr " `` '' "
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently enabled"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "United Arab Emirates"
-msgstr " "
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_0"
-msgstr "IO_0 "
+#: ../../standalone/drakfont_.c:793
+msgid ""
+"drakfont Future Overview\n"
+" - Fonts import:\n"
+" pfb ( Adobe Type 1 binary )\n"
+" pfa ( Adobe Type 1 ASCII )\n"
+" ttf ( True-Type )\n"
+" pcf.gz\n"
+" Speedo\n"
+" and Bitmap (PCF, BDF, and SNF)\n"
+" - Features\n"
+" - Install fonts from any directory\n"
+" - Get windows fonts on any vfat partitions\n"
+" - Get fonts on any partitions.\n"
+" - UN-installation of any fonts (even if not installed "
+"through drakfont)\n"
+" - Support\n"
+" - Xfs\n"
+" - ghostscript & printer\n"
+" - Staroffice & printer\n"
+" - abiword\n"
+"\t - netscape\n"
+" - Koffice, Gnumeric, ... studying\n"
+" - all fonts supported by printer\n"
+" - anti-aliases by RENDER in Xfree86 .... \n"
+"\t\t\t\tsupported by KDE.\n"
+"\t\t\t\twill be supported by gnome 1.2.\n"
+"Visual Interface:\n"
+" Window interface:\n"
+" - Fontselectiondialog widget\n"
+" - Command buttons under Fontselectiondialog (like the actual "
+"frontend).\n"
+" Commands buttons:\n"
+" - import from windows partition.\n"
+" import from all fat32 partitions and look for winnt/windows/"
+"font\n"
+" and import all (delete doublon) but don't import if already "
+"exist.\n"
+" - import from directory\n"
+" look for if it exist before for each font and not delete the "
+"original.\n"
+" (replace all, no, none)\n"
+" expert options:\n"
+" ask the directory, and look for if it exist before\n"
+" if it exist ask: (replace all, no, none)\n"
+" - uninstall with list per font type\n"
+" Expert additional switch\n"
+" - option support: ghostscript, Staroffice, etc...\n"
+" check-button. (by default all check)\n"
+" - Printer Application Fonts Support...\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../../standalone/drakfont_.c:862
+#, fuzzy
+msgid "Choose the applications that will support the fonts:"
+msgstr " , "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Local Config"
-msgstr " "
+#: ../../standalone/drakfont_.c:870
+msgid "Ghostscript"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Thailand"
-msgstr ""
+#: ../../standalone/drakfont_.c:877
+#, fuzzy
+msgid "StarOffice"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_1"
-msgstr "IO_1 "
+#: ../../standalone/drakfont_.c:884
+#, fuzzy
+msgid "Abiword"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Search:"
-msgstr ":"
+#: ../../standalone/drakfont_.c:891
+#, fuzzy
+msgid "Generic Printers"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kazakhstan"
-msgstr ""
+#: ../../standalone/drakfont_.c:958
+msgid "Select the font file or directory and click on 'Add'"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Routers:"
-msgstr ":"
+#: ../../standalone/drakfont_.c:1005
+#, fuzzy
+msgid "Install List"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Write"
-msgstr ""
+#: ../../standalone/drakfont_.c:1048
+msgid "click here if you are sure."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Display all available remote CUPS printers"
+#: ../../standalone/drakfont_.c:1055
+msgid "here if no."
msgstr ""
-#: ../../install_steps_newt.pm:1
-#, c-format
-msgid "Mandrake Linux Installation %s"
-msgstr " Mandrake Linux %s"
+#: ../../standalone/drakfont_.c:1112
+msgid "Unselected All"
+msgstr ""
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
-msgid "Unknown driver"
-msgstr " "
+#: ../../standalone/drakfont_.c:1116
+#, fuzzy
+msgid "Selected All"
+msgstr " "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Thai keyboard"
-msgstr " "
+#: ../../standalone/drakfont_.c:1120
+#, fuzzy
+msgid "Remove List"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Bouvet Island"
-msgstr " "
+#: ../../standalone/drakfont_.c:1142 ../../standalone/drakfont_.c:1175
+#, fuzzy
+msgid "Initials tests"
+msgstr " "
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Dialup options"
-msgstr " "
+#: ../../standalone/drakfont_.c:1145
+#, fuzzy
+msgid "Copy fonts on your system"
+msgstr " !"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If no port is given, 631 will be taken as default."
+#: ../../standalone/drakfont_.c:1149
+msgid "Install & convert Fonts"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-" - Per client system configuration files:\n"
-" \tThrough clusternfs, each diskless client can have its own unique "
-"configuration files\n"
-" \ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \tclients can customize files such as /etc/modules.conf, /etc/"
-"sysconfig/mouse, \n"
-" \t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root "
-"login to the terminal \n"
-" server on each client machine that has this feature enabled. Local "
-"configuration can be\n"
-" turned back off, retaining the configuration files, once the client "
-"machine is configured."
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, 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."
+#: ../../standalone/drakfont_.c:1153
+#, fuzzy
+msgid "Post Install"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish"
-msgstr ""
+#: ../../standalone/drakfont_.c:1178
+#, fuzzy
+msgid "Remove fonts on your system"
+msgstr " !"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Online"
-msgstr "Mandrake Online"
+#: ../../standalone/drakfont_.c:1182
+#, fuzzy
+msgid "Post Uninstall"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by webdav.\n"
+#: ../../standalone/drakgw_.c:42 ../../standalone/drakgw_.c:182
+msgid "Internet Connection Sharing"
+msgstr " "
+
+#: ../../standalone/drakgw_.c:114
+msgid "Sorry, we support only 2.4 kernels."
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid ", multi-function device on a parallel port"
-msgstr ", #%s"
+#: ../../standalone/drakgw_.c:125
+msgid "Internet Connection Sharing currently enabled"
+msgstr " "
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakgw_.c:126
msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently enabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-" ethernet . , "
-" ."
-
-#: ../../network/network.pm:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Netmask"
-msgstr " "
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "No hard drives found"
-msgstr " "
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "2 buttons"
-msgstr "2 "
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series"
-msgstr "Logitech CC Series"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "What kind is your ISDN connection?"
-msgstr " ISDN ?"
+" .\n"
+" .\n"
+"\n"
+" ?"
-#: ../../any.pm:1
-#, c-format
-msgid "Label"
-msgstr ""
+#: ../../standalone/drakgw_.c:130
+msgid "disable"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save on floppy"
-msgstr " "
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "dismiss"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check open ports"
-msgstr " "
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "reconfigure"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Edit selected printer"
-msgstr " "
+#: ../../standalone/drakgw_.c:133
+msgid "Disabling servers..."
+msgstr " ..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection"
-msgstr " "
+#: ../../standalone/drakgw_.c:142
+msgid "Internet connection sharing is now disabled."
+msgstr " ."
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Which of the following is your ISDN card?"
-msgstr " ISDN ?"
+#: ../../standalone/drakgw_.c:149
+msgid "Internet Connection Sharing currently disabled"
+msgstr " ."
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:150
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."
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently disabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-"NFS TCP/IP .\n"
-" NFS , \n"
-" /etc/exports."
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Msec"
-msgstr ""
+" .\n"
+" .\n"
+"\n"
+" ?"
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid ""
-"=> Notice, a label changed:\n"
-"%s"
-msgstr ""
-"=> , :\n"
-"%s"
+#: ../../standalone/drakgw_.c:154
+msgid "enable"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Number of capture buffers:"
-msgstr ""
+#: ../../standalone/drakgw_.c:161
+msgid "Enabling servers..."
+msgstr " ..."
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (0/1, default `%s') "
-msgstr " ? ( `%s')"
+#: ../../standalone/drakgw_.c:166
+msgid "Internet connection sharing is now enabled."
+msgstr " ."
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakgw_.c:183
+#, fuzzy
msgid ""
-"Any partitions that have been newly defined must be formatted for use\n"
-"(formatting means creating a file system).\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to\n"
-"erase any data they contain. If you wish to do that, please select those\n"
-"partitions as well.\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing\n"
-"partitions. You must reformat the partitions containing the operating\n"
-"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
-"reformat partitions containing data that you wish to keep (typically\n"
-"\"/home\").\n"
-"\n"
-"Please be careful when selecting partitions. After formatting, all data on\n"
-"the selected partitions will be deleted and you will not be able to recover\n"
-"it.\n"
-"\n"
-"Click on \"%s\" when you are ready to format partitions.\n"
+"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"
-"Click on \"%s\" if you want to choose another partition for your new\n"
-"Mandrake Linux operating system installation.\n"
+"Make sure you have configured your Network/Internet access using drakconnect "
+"before going any further.\n"
"\n"
-"Click on \"%s\" if you wish to select partitions that will be checked for\n"
-"bad blocks on the disk."
+"Note: you need a dedicated Network Adapter to set up a Local Area Network "
+"(LAN)."
msgstr ""
-" , "
-"\n"
-"( ).\n"
-"\n"
-" , "
-"\n"
-" , . , "
-"\n"
-" .\n"
-"\n"
-", , \n"
-" . \n"
-" ( \"/\", \"/usr\" \"/var\"), \n"
-" , "
-"(\n"
-"\"/home\").\n"
-"\n"
-", , . \n"
-" \n"
-".\n"
-"\n"
-" \"OK\", .\n"
-"\n"
-" \"\", "
-"\n"
-" Mandrake Linux .\n"
+" , \n"
+". , \n"
+" .\n"
"\n"
-" \"\", , \n"
-" ."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "French"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTY)"
-msgstr " (QWERTY)"
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Allow X Window connections"
-msgstr " X Window "
+": , "
+" (LAN)."
-#: ../../standalone/service_harddrake:1
+#: ../../standalone/drakgw_.c:211
#, c-format
-msgid "Hardware probing in progress"
-msgstr " "
+msgid "Interface %s (using module %s)"
+msgstr " %s ( %s)"
-#: ../../network/shorewall.pm:1 ../../standalone/drakgw:1
+#: ../../standalone/drakgw_.c:212
#, c-format
-msgid "Net Device"
-msgstr " -"
+msgid "Interface %s"
+msgstr " %s"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Summary"
-msgstr ""
+#: ../../standalone/drakgw_.c:220
+msgid "No network adapter on your system!"
+msgstr " !"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:221
msgid ""
-" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
-"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
+"No ethernet network adapter has been detected on your system. Please run the "
+"hardware configuration tool."
msgstr ""
-" ( : /dev/lp0, /dev/lp1, ..., LPT1:, "
-"LPT2:, ..., 1- USB : /dev/usb/lp0, 2- USB : /dev/usb/"
-"lp1, ...)."
-
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Next"
-msgstr ""
-
-#: ../../bootloader.pm:1
-#, c-format
-msgid "You can't install the bootloader on a %s partition\n"
-msgstr " bootloader %s\n"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "CHAP"
-msgstr "CHAP"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Puerto Rico"
-msgstr " "
+" ethernet . , "
+" ."
-#: ../../network/network.pm:1
-#, c-format
-msgid "(bootp/dhcp/zeroconf)"
-msgstr "(bootp/dhcp/zeroconf)"
+#: ../../standalone/drakgw_.c:227
+msgid "Network interface"
+msgstr " "
-#: ../../standalone/drakautoinst:1
+#: ../../standalone/drakgw_.c:228
#, c-format
msgid ""
+"There is only one configured network adapter on your system:\n"
"\n"
-"Welcome.\n"
+"%s\n"
"\n"
-"The parameters of the auto-install are available in the sections on the left"
+"I am about to setup your Local Area Network with that adapter."
msgstr ""
+" :\n"
"\n"
-" .\n"
+"%s\n"
"\n"
-" "
+" ."
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone/drakgw_.c:235
msgid ""
-"package 'ImageMagick' is required to be able to complete configuration.\n"
-"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+"Please choose what network adapter will be connected to your Local Area "
+"Network."
msgstr ""
+" ."
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Telnet server"
-msgstr "X "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr " \" \" QWERTY"
+#: ../../standalone/drakgw_.c:261
+#, fuzzy
+msgid "Network interface already configured"
+msgstr " "
-#: ../../install_any.pm:1
+#: ../../standalone/drakgw_.c:262
#, c-format
msgid ""
-"The following packages will be removed to allow upgrading your system: %s\n"
+"Warning, the network adapter (%s) is already configured.\n"
"\n"
+"Do you want an automatic re-configuration?\n"
"\n"
-"Do you really want to remove these packages?\n"
+"You can do it manually but you need to know what you're doing."
msgstr ""
-" : %"
-"s\n"
-"\n"
-"\n"
-" ?\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Anguilla"
-msgstr ""
+#: ../../standalone/drakgw_.c:267
+#, fuzzy
+msgid "Automatic reconfiguration"
+msgstr " CUPS"
-#: ../../any.pm:1
-#, c-format
-msgid "NIS Domain"
-msgstr "NIS "
+#: ../../standalone/drakgw_.c:267
+msgid "No (experts only)"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Antarctica"
-msgstr ""
+#: ../../standalone/drakgw_.c:268
+#, fuzzy
+msgid "Show current interface configuration"
+msgstr " "
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakgw_.c:269
+#, fuzzy
+msgid "Current interface configuration"
+msgstr " "
+
+#: ../../standalone/drakgw_.c:270
#, c-format
msgid ""
+"Current configuration of `%s':\n"
"\n"
-"- User Files:\n"
+"Network: %s\n"
+"IP address: %s\n"
+"IP attribution: %s\n"
+"Driver: %s"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount options"
-msgstr " mount:"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Jamaica"
-msgstr ""
-
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:283
msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle or DVD players"
+"I can keep your current configuration and assume you already set up a DHCP "
+"server; in that case please verify I correctly read the Network that you use "
+"for your local network; I will not reconfigure it and I will not touch your "
+"DHCP server configuration.\n"
+"\n"
+"The default DNS entry is the Caching Nameserver configured on the firewall. "
+"You can replace that with your ISP DNS IP, for example.\n"
+"\t\t \n"
+"Else, I can reconfigure your interface and (re)configure a DHCP server for "
+"you.\n"
+"\n"
msgstr ""
-" ( \n"
-" ), Oracle DVD "
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Please wait, preparing installation..."
-msgstr ", , "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTZ)"
-msgstr " (QWERTZ)"
-
-#: ../../network/network.pm:1
-#, c-format
-msgid "Track network card id (useful for laptops)"
-msgstr " ID ( )"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The port number should be an integer!"
-msgstr " !"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "You must choose an image file first!"
-msgstr " !"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore from Hard Disk."
-msgstr " ."
+#: ../../standalone/drakgw_.c:290
+#, fuzzy
+msgid "Local Network adress"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to LVM"
-msgstr " LVM"
+#: ../../standalone/drakgw_.c:294
+msgid ""
+"DHCP Server Configuration.\n"
+"\n"
+"Here you can select different options for the DHCP server configuration.\n"
+"If you don't know the meaning of an option, simply leave it as it is.\n"
+"\n"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server"
-msgstr "DNS "
+#: ../../standalone/drakgw_.c:300
+#, fuzzy
+msgid "(This) DHCP Server IP"
+msgstr "IP CUPS "
-#: ../../lang.pm:1
-#, c-format
-msgid "Trinidad and Tobago"
-msgstr " "
+#: ../../standalone/drakgw_.c:301
+#, fuzzy
+msgid "The DNS Server IP"
+msgstr "IP CUPS "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "LPD and LPRng do not support IPP printers.\n"
-msgstr "LPD LPRng IPP .\n"
+#: ../../standalone/drakgw_.c:302
+#, fuzzy
+msgid "The internal domain name"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host name or IP."
-msgstr " : IP"
+#: ../../standalone/drakgw_.c:303
+msgid "The DHCP start range"
+msgstr ""
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Edit"
-msgstr "/_"
+#: ../../standalone/drakgw_.c:304
+msgid "The DHCP end range"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "simple"
-msgstr ""
+#: ../../standalone/drakgw_.c:305
+msgid "The default lease (in seconds)"
+msgstr ""
-#: ../../help.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Clear all"
-msgstr " "
+#: ../../standalone/drakgw_.c:306
+msgid "The maximum lease (in seconds)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "No test pages"
-msgstr " "
+#: ../../standalone/drakgw_.c:307
+msgid "Re-configure interface and DHCP server"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Falkland Islands (Malvinas)"
-msgstr " ()"
+#: ../../standalone/drakgw_.c:314
+msgid "The Local Network did not finish with `.0', bailing out."
+msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../standalone/drakgw_.c:325
#, c-format
-msgid "Adapter %s: %s"
-msgstr " %s: %s"
+msgid "Potential LAN address conflict found in current config of %s!\n"
+msgstr " LAN %s!\n"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Boot disk creation"
-msgstr " "
+#: ../../standalone/drakgw_.c:335
+msgid "Configuring..."
+msgstr " ..."
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Monday"
-msgstr ""
+#: ../../standalone/drakgw_.c:336
+msgid "Configuring scripts, installing software, starting servers..."
+msgstr ""
+" , , ..."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
+#: ../../standalone/drakgw_.c:372
#, c-format
-msgid "Unknown model"
-msgstr " "
+msgid "Problems installing package %s"
+msgstr " %s"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check files/directories writable by everybody."
+#: ../../standalone/drakgw_.c:505
+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)."
-#: ../../help.pm:1
-#, c-format
-msgid "authentication"
-msgstr ""
+#: ../../standalone/drakgw_.c:523
+msgid "The setup has already been done, but it's currently disabled."
+msgstr " , ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Now"
-msgstr " "
+#: ../../standalone/drakgw_.c:524
+msgid "The setup has already been done, and it's currently enabled."
+msgstr " ."
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_File"
-msgstr "/_"
+#: ../../standalone/drakgw_.c:525
+msgid "No Internet Connection Sharing has ever been configured."
+msgstr " ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
-msgstr " Star Office/OpenOffice.org/GIMP"
+#: ../../standalone/drakgw_.c:531
+msgid "Internet connection sharing configuration"
+msgstr " "
-#: ../../services.pm:1
+#: ../../standalone/drakgw_.c:539
#, c-format
msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
+"Welcome to the Internet Connection Sharing utility!\n"
+"\n"
+"%s\n"
+"\n"
+"Click on Configure to launch the setup wizard."
msgstr ""
-" Linux 2.2, \n"
-" , s cel \n"
-" ."
+" !\n"
+"\n"
+"%s\n"
+"\n"
+" ``'', ."
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Editable"
-msgstr ""
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "group"
+msgstr " "
-#: ../../network/ethernet.pm:1
-#, c-format
-msgid "Which dhcp client do you want to use ? (default is dhcp-client)"
+#: ../../standalone/drakperm_.c:36
+msgid "path"
msgstr ""
-" DHCP ? dhcp-client ?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (ISCII-layout)"
-msgstr " (ISCII-)"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "permissions"
+msgstr " %s"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mayotte"
-msgstr ""
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "user"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Set shell commands history size. A value of -1 means unlimited."
+#: ../../standalone/drakperm_.c:43
+msgid "Up"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "%d KB\n"
-msgstr "%d \n"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Creating auto install floppy..."
-msgstr " "
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for scanners ..."
-msgstr " ..."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Russia"
-msgstr ""
+#: ../../standalone/drakperm_.c:44
+#, fuzzy
+msgid "delete"
+msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Partitioning"
-msgstr " "
+#: ../../standalone/drakperm_.c:45
+msgid "edit"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ethernet card(s) detected"
-msgstr "ethernet "
+#: ../../standalone/drakperm_.c:46
+#, fuzzy
+msgid "Down"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Syslog"
-msgstr " "
+#: ../../standalone/drakperm_.c:47
+#, fuzzy
+msgid "add a rule"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create catalog!"
+#: ../../standalone/drakperm_.c:48
+msgid "select perm file to see/edit"
msgstr ""
-#: ../advertising/11-mnf.pl:1
-#, c-format
+#: ../../standalone/drakperm_.c:51
msgid ""
-"Complete your security setup with this very easy-to-use software which "
-"combines high performance components such as a firewall, a virtual private "
-"network (VPN) server and client, an intrusion detection system and a traffic "
-"manager."
+"Drakperm is used to see files to use in order to fix permissions, owners, "
+"and groups via msec.\n"
+"You can also edit your own rules which will owerwrite the default rules."
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Not enough free space for auto-allocating"
-msgstr " "
+#: ../../standalone/drakperm_.c:56
+#, fuzzy
+msgid "Add a new rule at the end"
+msgstr " "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password"
-msgstr " root"
+#: ../../standalone/drakperm_.c:57
+msgid "Edit curent rule"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Enable IP spoofing protection"
+#: ../../standalone/drakperm_.c:58
+msgid "Up selected rule one level"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"There's no free driver for your sound card (%s), but there's a proprietary "
-"driver at \"%s\"."
+#: ../../standalone/drakperm_.c:59
+msgid "Down selected rule one level"
msgstr ""
-" (%s), "
-" \"%s\"."
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Group :"
-msgstr " :"
+#: ../../standalone/drakperm_.c:60
+#, fuzzy
+msgid "Delete selected rule"
+msgstr " "
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "After resizing partition %s, all data on this partition will be lost"
+#: ../../standalone/drakperm_.c:224
+msgid "browse"
msgstr ""
-" %s, te "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet connection configuration"
-msgstr " "
+#: ../../standalone/drakperm_.c:231
+#, fuzzy
+msgid "Current user"
+msgstr " "
-#: ../../security/help.pm:1
-#, c-format
-msgid "Add the name as an exception to the handling of password aging by msec."
-msgstr ""
+#: ../../standalone/drakperm_.c:236
+#, fuzzy
+msgid "Permissions"
+msgstr ": %s\n"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "USB"
+#: ../../standalone/drakperm_.c:237
+msgid "Path"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels"
-msgstr ""
+#: ../../standalone/drakperm_.c:238
+#, fuzzy
+msgid "Property"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Kernel:"
-msgstr ":"
+#: ../../standalone/drakperm_.c:240
+msgid "sticky-bit"
+msgstr ""
-#: ../../standalone/harddrake2:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "/_About..."
-msgstr "/_..."
+#: ../../standalone/drakperm_.c:241
+msgid "Set-UID"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bengali"
-msgstr ""
+#: ../../standalone/drakperm_.c:242
+msgid "Set-GID"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Preference: "
-msgstr ": "
+#: ../../standalone/drakperm_.c:296
+msgid ""
+"Used for directory:\n"
+" only owner of directory or file in this directory can delete it"
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services: %d activated for %d registered"
-msgstr ": %d %d "
+#: ../../standalone/drakperm_.c:297
+#, fuzzy
+msgid "Use owner id for execution"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Create a bootdisk"
-msgstr " boot-"
+#: ../../standalone/drakperm_.c:298
+#, fuzzy
+msgid "Use group id for execution"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Solomon Islands"
-msgstr " "
+#: ../../standalone/drakperm_.c:299
+msgid "when checked, owner and group won't be changed"
+msgstr ""
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Please test your mouse:"
-msgstr ", "
+#: ../../standalone/drakperm_.c:304
+#, fuzzy
+msgid "Path selection"
+msgstr " "
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "(module %s)"
-msgstr "( %s)"
+#: ../../standalone/drakperm_.c:350
+#, fuzzy
+msgid "user :"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Workgroup"
+#: ../../standalone/drakperm_.c:352
+#, fuzzy
+msgid "group :"
msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer host name or IP"
-msgstr " IP"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "down"
-msgstr ""
+#: ../../standalone/draksound_.c:46
+#, fuzzy
+msgid "No Sound Card detected!"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Path or Module"
+#: ../../standalone/draksound_.c:47
+msgid ""
+"No Sound Card has been detected on your machine. Please verify that a Linux-"
+"supported Sound Card is correctly plugged in.\n"
+"\n"
+"\n"
+"You can visit our hardware database at:\n"
+"\n"
+"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer should contain only letters, numbers and the underscore"
-msgstr " , "
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Show current interface configuration"
-msgstr " "
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Add Printer"
-msgstr ""
+#: ../../standalone/draksound_.c:54
+msgid ""
+"\n"
+"\n"
+"\n"
+"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
+"program. Just type \"sndconfig\" in a console."
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:21
msgid ""
-"The argument specifies if clients are authorized to connect\n"
-"to the X server from the network on the tcp port 6000 or not."
+"package 'ImageMagick' is required for correct working.\n"
+"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Development"
-msgstr ""
+#: ../../standalone/draksplash_.c:67
+#, fuzzy
+msgid "first step creation"
+msgstr " "
-#: ../../any.pm:1 ../../help.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../interactive/http.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Done"
-msgstr ""
+#: ../../standalone/draksplash_.c:70
+#, fuzzy
+msgid "final resolution"
+msgstr " "
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Web Server"
-msgstr "Web "
+#: ../../standalone/draksplash_.c:71 ../../standalone/draksplash_.c:163
+#, fuzzy
+msgid "choose image file"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Chile"
-msgstr ""
+#: ../../standalone/draksplash_.c:72
+#, fuzzy
+msgid "Theme name"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tDo not include System Files\n"
+#: ../../standalone/draksplash_.c:77
+msgid "Browse"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:87 ../../standalone/draksplash_.c:153
+#, fuzzy
+msgid "Configure bootsplash picture"
+msgstr " "
+
+#: ../../standalone/draksplash_.c:90
msgid ""
-"The inkjet printer drivers provided by Lexmark only support local printers, "
-"no printers on remote machines or print server boxes. Please connect your "
-"printer to a local port or configure it on the machine where it is connected "
-"to."
+"x coordinate of text box\n"
+"in number of character"
msgstr ""
-"Inkjet Lexmark "
-", . , "
-" , "
-" ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:91
msgid ""
-"Your multi-function device was configured automatically to be able to scan. "
-"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
-"scanner when you have more than one) from the command line or with the "
-"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
-"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
-"\" menu. Call also \"man scanimage\" on the command line to get more "
-"information.\n"
-"\n"
-"Do not use \"scannerdrake\" for this device!"
+"y coordinate of text box\n"
+"in number of character"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "(already added %s)"
-msgstr "( %s)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation in progress"
-msgstr " Bootloader"
+#: ../../standalone/draksplash_.c:92
+msgid "text width"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", using command %s"
-msgstr ", %s"
+#: ../../standalone/draksplash_.c:93
+msgid "text box height"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Alt and Shift keys simultaneously"
-msgstr "Alt Shift "
+#: ../../standalone/draksplash_.c:94
+msgid ""
+"the progress bar x coordinate\n"
+"of its upper left corner"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Flags"
-msgstr ""
+#: ../../standalone/draksplash_.c:95
+msgid ""
+"the progress bar y coordinate\n"
+"of its upper left corner"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Users"
-msgstr "/ "
+#: ../../standalone/draksplash_.c:96
+msgid "the width of the progress bar"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host/network IP address missing."
+#: ../../standalone/draksplash_.c:97
+msgid "the heigth of the progress bar"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "weekly"
+#: ../../standalone/draksplash_.c:98
+msgid "the color of the progress bar"
msgstr ""
-#: ../../standalone/logdrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Settings"
-msgstr ""
+#: ../../standalone/draksplash_.c:113
+#, fuzzy
+msgid "Preview"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered host/network IP is not correct.\n"
-msgstr " / IP .\n"
+#: ../../standalone/draksplash_.c:115
+#, fuzzy
+msgid "Save theme"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Create/Transfer backup keys for SSH"
-msgstr ""
+#: ../../standalone/draksplash_.c:116
+#, fuzzy
+msgid "Choose color"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid "Here is the full list of available countries"
-msgstr " "
+#: ../../standalone/draksplash_.c:119
+msgid "Display logo on Console"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (A4)"
-msgstr " (4)"
+#: ../../standalone/draksplash_.c:120
+msgid "Make kernel message quiet by default"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/draksplash_.c:156 ../../standalone/draksplash_.c:321
#, c-format
-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."
+msgid "This theme haven't yet any bootsplash in %s !"
msgstr ""
-" CD- -, Ok.\n"
-" CD-, .\n"
-" CD-, , Ok. "
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please"
+#: ../../standalone/draksplash_.c:205
+msgid "saving Bootsplash theme..."
msgstr ""
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "PAP"
-msgstr "PAP"
+#: ../../standalone/draksplash_.c:428
+#, fuzzy
+msgid "ProgressBar color selection"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup user files"
-msgstr " "
+#: ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "You must choose an image file first!"
+msgstr " URI "
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "New"
-msgstr ""
+#: ../../standalone/draksplash_.c:458
+#, fuzzy
+msgid "Generating preview ..."
+msgstr " ..."
-#: ../../help.pm:1
+#. -PO First %s is theme name, second %s (in parenthesis) is resolution
+#: ../../standalone/draksplash_.c:506
#, c-format
+msgid "%s BootSplash (%s) preview"
+msgstr ""
+
+#: ../../standalone/drakxtv_.c:46
msgid ""
-"This is the most crucial decision point for the security of your GNU/Linux\n"
-"system: you have to enter the \"root\" password. \"Root\" is the system\n"
-"administrator and is the only user authorized to make updates, add users,\n"
-"change the overall system configuration, and so on. In short, \"root\" can\n"
-"do everything! That is why you must choose a password that is difficult to\n"
-"guess - DrakX will tell you if the password that you chose too easy. As you\n"
-"can see, you are not forced to enter a password, but we strongly advise you\n"
-"against this. GNU/Linux is just as prone to operator error as any other\n"
-"operating system. Since \"root\" can overcome all limitations and\n"
-"unintentionally erase all data on partitions by carelessly accessing the\n"
-"partitions themselves, it is important that it be difficult to become\n"
-"\"root\".\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. Never write down the \"root\" password -- it makes it far\n"
-"too easy to compromise a system.\n"
-"\n"
-"One caveat -- do not make the password too long or complicated because you\n"
-"must be able to remember it!\n"
+"XawTV isn't installed!\n"
"\n"
-"The password will not be displayed on screen as you type it in. To reduce\n"
-"the chance of a blind typing error you will need to enter the password\n"
-"twice. If you do happen to make the same typing error twice, this\n"
-"``incorrect'' password will be the one you will have use the first time you\n"
-"connect.\n"
"\n"
-"If you wish access to this computer to be controlled by an authentication\n"
-"server, click the \"%s\" button.\n"
+"If you do have a TV card but DrakX has neither detected it (no bttv nor "
+"saa7134\n"
+"module in \"/etc/modules\") nor installed xawtv, please send the\n"
+"results of \"lspcidrake -v -f\" to \"install\\@mandrakesoft.com\"\n"
+"with subject \"undetected TV card\".\n"
"\n"
-"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
-"services, select the appropriate one for \"%s\". If you do not know which\n"
-"one to use, you should ask your network administrator.\n"
"\n"
-"If you happen to have problems with remembering passwords, if your computer\n"
-"will never be connected to the internet or that you absolutely trust\n"
-"everybody who uses your computer, you can choose to have \"%s\"."
+"You can install it by typing \"urpmi xawtv\" as root, in a console."
msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Name resolution spoofing protection"
-msgstr ""
+#: ../../standalone/drakxtv_.c:63
+#, fuzzy
+msgid "Canada (cable)"
+msgstr " ()"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"At this point, DrakX will allow you to choose the security level desired\n"
-"for the machine. As a rule of thumb, the security level should be set\n"
-"higher if the machine will contain crucial data, or if it will be a machine\n"
-"directly exposed to the Internet. The trade-off of a higher security level\n"
-"is generally obtained at the expense of ease of use.\n"
-"\n"
-"If you do not know what to choose, stay with the default option."
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (broadcast)"
msgstr ""
-" , , \n"
-". , "
-"\n"
-" , - "
-".\n"
-" , .\n"
-" MSEC Reference Manual, "
-"\n"
-" .\n"
-"\n"
-" , ."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Load from floppy"
-msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The following printer was auto-detected. "
-msgstr " . "
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Uses command %s"
-msgstr ", %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot Floppy"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable)"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Norwegian"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Searching for new scanners ..."
-msgstr " ..."
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Apache World Wide Web Server"
-msgstr "Apache World Wide Web "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "stepping of the cpu (sub model (generation) number)"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable-hrc)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "select path to restore (instead of /)"
-msgstr " ( /)"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Configure bootsplash picture"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Georgia"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "China"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Make sure that all your printers are connected and turned on).\n"
-msgstr " ( , ).\n"
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "Reading data of installed printers..."
-msgstr " ..."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Erase Now "
-msgstr " "
-
-#: ../../fsedit.pm:1
-#, c-format
-msgid "server"
-msgstr ""
-
-#: ../../install_any.pm:1
-#, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr " FAT %s"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the processor has an arithmetic coprocessor"
+#: ../../standalone/drakxtv_.c:64
+msgid "China (broadcast)"
msgstr ""
-#: ../../harddrake/sound.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Please Wait... Applying the configuration"
-msgstr ", ... "
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (broadcast)"
+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:1
-#, c-format
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr " GRUB , !"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (cable)"
+msgstr ""
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Grub"
-msgstr "Grub"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "East Europe"
+msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SCSI controllers"
-msgstr "SCSI "
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "France [SECAM]"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on LPD server \"%s\", printer \"%s\""
-msgstr " LPD \"%s\", \"%s\""
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Ireland"
+msgstr ""
-#: ../../standalone/drakedm:1
-#, c-format
-msgid "Choosing a display manager"
-msgstr " "
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "West Europe"
+msgstr ""
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf Host name"
-msgstr " Zeroconf :"
+#: ../../standalone/drakxtv_.c:66
+#, fuzzy
+msgid "Australia"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Custom setup/crontab entry:"
+#: ../../standalone/drakxtv_.c:66
+msgid "Newzealand"
msgstr ""
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address should be in format 1.2.3.4"
-msgstr "IP 1.2.3.4"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Configure CUPS printing system"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ecuador"
-msgstr ""
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Add an item"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printers on this machine are available to other computers"
-msgstr " "
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "China (Hong Kong)"
-msgstr " "
+#: ../../standalone/drakxtv_.c:67
+msgid "South Africa"
+msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "I can't find needed image file `%s'."
-msgstr " `%s'."
+#: ../../standalone/drakxtv_.c:68
+msgid "Argentina"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No sound card detected. Try \"harddrake\" after installation"
-msgstr " . \"harddrake\" "
+#: ../../standalone/drakxtv_.c:69
+msgid "Australian Optus cable TV"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/drakxtv_.c:102
msgid ""
-"Invalid port given: %s.\n"
-"The proper format is \"port/tcp\" or \"port/udp\", \n"
-"where port is between 1 and 65535."
+"Please,\n"
+"type in your tv norm and country"
msgstr ""
-" : %s.\n"
-" \"port/tcp\" \"port/udp\", \n"
-" 1 65535."
-
-#: ../../any.pm:1
-#, c-format
-msgid "Shell"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sao Tome and Principe"
-msgstr " "
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Can't login using username %s (bad password?)"
-msgstr " %s ( ?)"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Azerbaidjani (latin)"
-msgstr " ()"
+#: ../../standalone/drakxtv_.c:104
+msgid "TV norm:"
+msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package not installed"
-msgstr " "
+#: ../../standalone/drakxtv_.c:105
+msgid "Area:"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "American Samoa"
-msgstr " "
+#: ../../standalone/drakxtv_.c:109
+msgid "Scanning for TV channels in progress ..."
+msgstr ""
-#: ../advertising/12-mdkexpert.pl:1
-#, c-format
-msgid "Become a MandrakeExpert"
-msgstr " MandrakeExpert"
+#: ../../standalone/drakxtv_.c:116
+msgid "Scanning for TV channels"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Protocol"
-msgstr ""
+#: ../../standalone/drakxtv_.c:120
+#, fuzzy
+msgid "There was an error while scanning for TV channels"
+msgstr " :"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Copy fonts on your system"
-msgstr " "
+#: ../../standalone/drakxtv_.c:121
+msgid "XawTV isn't installed!"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake help"
-msgstr "Harddrake "
+#: ../../standalone/drakxtv_.c:124
+msgid "Have a nice day!"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bogomips"
-msgstr ""
+#: ../../standalone/drakxtv_.c:125
+msgid "Now, you can run xawtv (under X Window!) !\n"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Mandrake Terminal Server Configuration"
-msgstr " Mandrake "
+#: ../../standalone/drakxtv_.c:147
+msgid "No TV Card detected!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakxtv_.c:148
msgid ""
+"No TV Card has been detected on your machine. Please verify that a Linux-"
+"supported Video/TV Card is correctly plugged in.\n"
"\n"
-" DrakBackup Report Details\n"
"\n"
+"You can visit our hardware database at:\n"
"\n"
+"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore all backups"
-msgstr ""
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on parallel port #%s"
-msgstr " #%s"
+#: ../../standalone/harddrake2_.c:17
+#, fuzzy
+msgid "Alternative drivers"
+msgstr " (4)"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Set the password minimum length and minimum number of digit and minimum "
-"number of capitalized letters."
+#: ../../standalone/harddrake2_.c:18
+msgid "the list of alternative drivers for this sound card"
msgstr ""
-" , "
-" ."
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check open ports."
-msgstr " , "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to erase the media."
+#: ../../standalone/harddrake2_.c:20
+msgid "Bus"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't select/unselect this package"
-msgstr " / "
-
-#: ../../keyboard.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../harddrake/sound.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Warning"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/harddrake2_.c:21
msgid ""
-"\n"
-"- Other Files:\n"
+"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote host name"
-msgstr " "
-
-#: ../../any.pm:1
-#, c-format
-msgid "access to X programs"
-msgstr " X "
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Computing the size of the Windows partition"
-msgstr " Windows "
-
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Refresh"
-msgstr "/_"
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Italy"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cayman Islands"
-msgstr " "
-
-#: ../../fs.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr " %s: %s"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer"
-msgstr " "
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "disable"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do it!"
-msgstr " !"
+#: ../../standalone/harddrake2_.c:22
+#, fuzzy
+msgid "Channel"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s not responding"
+#: ../../standalone/harddrake2_.c:22
+msgid "EIDE/SCSI channel"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select model manually"
-msgstr " "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Format"
-msgstr ""
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
+#: ../../standalone/harddrake2_.c:23
+msgid "Bogomips"
msgstr ""
-"- ADSL PPPOE.\n"
-" PPTP, ma DHCP.\n"
-" , ' PPPOE'."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Various"
-msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Zip"
-msgstr "Zip "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Alt key"
-msgstr " Alt "
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Load setting"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:23
msgid ""
-"\n"
-"\n"
-"Printerdrake could not determine which model your printer %s is. Please "
-"choose the correct model from the list."
+"The GNU/Linux kernel needs to do run a calculation loop at boot time\n"
+"\t to initialize a timer counter. Its result is stored as bogomips as a way "
+"to \"benchmark\" the cpu."
msgstr ""
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Set selected printer as the default printer"
-msgstr " "
+#: ../../standalone/harddrake2_.c:26
+#, fuzzy
+msgid "Bus identification"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:27
msgid ""
-"\n"
-"Mark the printers which you want to transfer and click \n"
-"\"Transfer\"."
+"- PCI and USB devices: this list the vendor, device, subvendor and subdevice "
+"PCI/USB ids"
msgstr ""
-"\n"
-" , \n"
-"\"\"."
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ"
-msgstr "PDQ"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Albanian"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lithuania"
-msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Compact"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detected model: %s %s"
-msgstr " : %s %s"
-
-#: ../advertising/03-software.pl:1
-#, c-format
-msgid "MandrakeSoft has selected the best software for you"
+#: ../../standalone/harddrake2_.c:29
+msgid "Location on the bus"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Local files"
-msgstr " "
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "maybe"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Panama"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Can't open %s!"
-msgstr " %s!"
-
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:30
msgid ""
-"Your graphic card seems to have a TV-OUT connector.\n"
-"It can be configured to work using frame-buffer.\n"
-"\n"
-"For this you have to plug your graphic card to your TV before booting your "
-"computer.\n"
-"Then choose the \"TVout\" entry in the bootloader\n"
-"\n"
-"Do you have this feature?"
+"- pci devices: this gives the PCI slot, device and function of this card\n"
+"- eide devices: the device is either a slave or a master device\n"
+"- scsi devices: the scsi bus and the scsi device ids"
msgstr ""
-#: ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Monitor"
-msgstr ""
+#: ../../standalone/harddrake2_.c:33
+#, fuzzy
+msgid "Cache size"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to set up printing to a Windows account with password. Due to "
-"a fault in the architecture of the Samba client software the password is put "
-"in clear text into the command line of the Samba client used to transmit the "
-"print job to the Windows server. So it is possible for every user on this "
-"machine to display the password on the screen by issuing commands as \"ps "
-"auxwww\".\n"
-"\n"
-"We recommend to make use of one of the following alternatives (in all cases "
-"you have to make sure that only machines from your local network have access "
-"to your Windows server, for example by means of a firewall):\n"
-"\n"
-"Use a password-less account on your Windows server, as the \"GUEST\" account "
-"or a special account dedicated for printing. Do not remove the password "
-"protection from a personal account or the administrator account.\n"
-"\n"
-"Set up your Windows server to make the printer available under the LPD "
-"protocol. Then set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+#: ../../standalone/harddrake2_.c:33
+msgid "Size of the (second level) cpu cache"
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "65 thousand colors (16 bits)"
-msgstr "65 (16 )"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Save on Hard drive on path: %s\n"
+#: ../../standalone/harddrake2_.c:34
+msgid "Coma bug:"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove fonts on your system"
-msgstr " "
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Warning, the network adapter (%s) is already configured.\n"
-"\n"
-"Do you want an automatic re-configuration?\n"
-"\n"
-"You can do it manually but you need to know what you're doing."
+#: ../../standalone/harddrake2_.c:34
+msgid "Does this cpu has Cyrix 6x86 Coma bug ?"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphical interface at startup"
-msgstr "X "
+#: ../../standalone/harddrake2_.c:35
+msgid "Cpuid family"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " adsl"
+#: ../../standalone/harddrake2_.c:35
+msgid "Family of the cpu (eg: 6 for i686 class)"
msgstr ""
-#: ../../raid.pm:1
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr " RAID %d\n"
+#: ../../standalone/harddrake2_.c:36
+#, fuzzy
+msgid "Cpuid level"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "format of floppies supported by the drive"
+#: ../../standalone/harddrake2_.c:36
+msgid "Information level that can be obtained through the cpuid instruction"
msgstr ""
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Firmware copy failed, file %s not found"
+#: ../../standalone/harddrake2_.c:37
+msgid "Frequency (MHz)"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: true"
-msgstr " : "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:37
msgid ""
-"The following printers are configured. Double-click on a printer to change "
-"its settings; to make it the default printer; or to view information about "
-"it."
+"The cpu frequency in Mhz (Mega herz which in first approximation may be "
+"coarsely assimilated to number of instructions the cpu is able to execute "
+"per second)"
msgstr ""
-" . , "
-" ."
-
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Connected"
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Macedonian"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mali"
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Bridges and system controllers"
-msgstr " "
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Save"
-msgstr "//_"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "No details"
-msgstr " "
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "very nice"
-msgstr " "
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Preview"
-msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Remote Control"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please select media for backup..."
-msgstr ", ..."
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Wrong email"
+#: ../../standalone/harddrake2_.c:38
+msgid "This field describes the device"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "XFree86 : %s\n"
+#: ../../standalone/harddrake2_.c:39
+#, fuzzy
+msgid "Old device file"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Allow Thin Clients"
-msgstr " Thin "
+#: ../../standalone/harddrake2_.c:40
+msgid "old static device name used in dev package"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Russian\" layout)"
-msgstr " (\"\" )"
+#: ../../standalone/harddrake2_.c:41
+#, fuzzy
+msgid "New devfs device"
+msgstr "Gateway "
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#: ../../standalone/printerdrake:1
-#, c-format
-msgid "/_Options"
-msgstr "/_"
+#: ../../standalone/harddrake2_.c:42
+msgid "new dinamic device name generated by incore kernel devfs"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Your printer model"
-msgstr " "
+#: ../../standalone/harddrake2_.c:43
+msgid "Module"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"(WARNING! You're using XFS for your root partition,\n"
-"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
-"because XFS needs a very large driver)."
+#: ../../standalone/harddrake2_.c:43
+msgid "the module of the GNU/Linux kernel that handle that device"
msgstr ""
-"\n"
-"\n"
-"(! XFS ,\n"
-" bootdisk 1.44 ,\n"
-" XFS )."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Delete hard drive tar files after backup.\n"
+#: ../../standalone/harddrake2_.c:44
+msgid "CPU flags reported by the kernel"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"No CD or DVD image found, please copy the installation program and rpm files."
+#: ../../standalone/harddrake2_.c:44
+msgid "Flags"
msgstr ""
-#: ../advertising/04-configuration.pl:1
-#, c-format
-msgid "Mandrake's multipurpose configuration tool"
-msgstr " "
-
-#: ../../standalone/drakbackup:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Save"
-msgstr ""
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is unsupported"
-msgstr "%s "
-
-#: ../../services.pm:1
-#, c-format
-msgid "Load the drivers for your usb devices."
-msgstr " USB ."
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Disk"
-msgstr ""
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter a printer device URI"
-msgstr " URI "
+#: ../../standalone/harddrake2_.c:45
+msgid "Fdiv bug"
+msgstr ""
-#: ../advertising/01-thanks.pl:1
-#, c-format
+#: ../../standalone/harddrake2_.c:46
msgid ""
-"The success of MandrakeSoft is based upon the principle of Free Software. "
-"Your new operating system is the result of collaborative work of the "
-"worldwide Linux Community."
+"Early Intel Pentium chips manufactured have a bug in their floating point "
+"processor which did not achieve the attended precision when performing a "
+"Floating point DIVision (FDIV)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Israel"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "French Guiana"
-msgstr " "
+#: ../../standalone/harddrake2_.c:49
+msgid "Is FPU present"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "default:LTR"
-msgstr "default:LTR"
+#: ../../standalone/harddrake2_.c:49
+msgid "yes means the processor has an arithmetic coprocessor"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A command line must be entered!"
-msgstr " !"
+#: ../../standalone/harddrake2_.c:50
+msgid "Does FPU have an irq vector"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select user manually"
-msgstr " "
+#: ../../standalone/harddrake2_.c:50
+msgid "yes means the arithmetic coprocessor has an exception vector attached"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer printer configuration"
-msgstr " "
+#: ../../standalone/harddrake2_.c:51
+msgid "Early pentium were buggy and freezed when decoding the F00F bytecode"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you want to enable printing on the printers mentioned above?\n"
-msgstr " ?\n"
+#: ../../standalone/harddrake2_.c:51
+msgid "F00f bug"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check additions/removals of suid root files"
+#: ../../standalone/harddrake2_.c:52
+msgid "Halt bug"
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:53
msgid ""
-"For this to work for a W2K PDC, you will probably need to have the admin "
-"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
-"add and reboot the server.\n"
-"You will also need the username/password of a Domain Admin to join the "
-"machine to the Windows(TM) domain.\n"
-"If networking is not yet enabled, Drakx will attempt to join the domain "
-"after the network setup step.\n"
-"Should this setup fail for some reason and domain authentication is not "
-"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
-"Domain, and Admin Username/Password, after system boot.\n"
-"The command 'wbinfo -t' will test whether your authentication secrets are "
-"good."
+"Some of the early i486DX-100 chips cannot reliably return to operating mode "
+"after the \"halt\" instruction is used"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid "%s (Port %s)"
-msgstr "%s ( %s)"
+#: ../../standalone/harddrake2_.c:55
+#, fuzzy
+msgid "Floppy format"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use network connection to backup"
-msgstr " "
+#: ../../standalone/harddrake2_.c:55
+msgid "Format of floppies the drive accept"
+msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Kernel version"
-msgstr " "
+#: ../../standalone/harddrake2_.c:56
+#, fuzzy
+msgid "Level"
+msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid ""
-"It is now time to specify which programs you wish to install on your\n"
-"system. There are thousands of packages available for Mandrake Linux, and\n"
-"to make it simpler to manage the packages have been placed into groups of\n"
-"similar applications.\n"
-"\n"
-"Packages are sorted into groups corresponding to a particular use of your\n"
-"machine. Mandrake Linux has four predefined installations available. You\n"
-"can think of these installation classes as containers for various packages.\n"
-"You can mix and match applications from the various groups, so a\n"
-"``Workstation'' installation can still have applications from the\n"
-"``Development'' group installed.\n"
-"\n"
-" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
-"more of the applications that are in the workstation group.\n"
-"\n"
-" * \"%s\": if plan on using your machine for programming, choose the\n"
-"appropriate packages from that group.\n"
-"\n"
-" * \"%s\": if your machine is intended to be a server, select which of the\n"
-"more common services you wish to install on your machine.\n"
-"\n"
-" * \"%s\": this is where you will choose your preferred graphical\n"
-"environment. At least one must be selected if you want to have a graphical\n"
-"interface available.\n"
-"\n"
-"Moving the mouse cursor over a group name will display a short explanatory\n"
-"text about that group. If you unselect all groups when performing a regular\n"
-"installation (as opposed to an upgrade), a dialog will pop up proposing\n"
-"different options for a minimal installation:\n"
-"\n"
-" * \"%s\": install the minimum number of packages possible to have a\n"
-"working graphical desktop.\n"
-"\n"
-" * \"%s\": installs the base system plus basic utilities and their\n"
-"documentation. This installation is suitable for setting up a server.\n"
-"\n"
-" * \"%s\": will install the absolute minimum number of packages necessary\n"
-"to get a working Linux system. With this installation you will only have a\n"
-"command line interface. The total size of this installation is about 65\n"
-"megabytes.\n"
-"\n"
-"You can check the \"%s\" box, which is useful if you are familiar with the\n"
-"packages being offered or if you want to have total control over what will\n"
-"be installed.\n"
-"\n"
-"If you started the installation in \"%s\" mode, you can unselect all groups\n"
-"to avoid installing any new package. This is useful for repairing or\n"
-"updating an existing system."
+#: ../../standalone/harddrake2_.c:56
+msgid "Sub generation of the cpu"
msgstr ""
-" \n"
-" . Mandrake Linux , \n"
-" .\n"
-"\n"
-" CDROM, \n"
-"CD- ( ). CD- \n"
-" CD-, . \"OK\",\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"
-" ."
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Accept user"
-msgstr " "
-#: ../../help.pm:1 ../../diskdrake/dav.pm:1
-#, c-format
-msgid "Server"
-msgstr ""
+#: ../../standalone/harddrake2_.c:57
+msgid "Media class"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Shift key"
-msgstr " Shift "
+#: ../../standalone/harddrake2_.c:57
+msgid "class of hardware device"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " local network"
-msgstr " "
+#: ../../standalone/harddrake2_.c:58 ../../standalone/harddrake2_.c:59
+#, fuzzy
+msgid "Model"
+msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Bad choice, try again\n"
-msgstr " , \n"
+#: ../../standalone/harddrake2_.c:58
+#, fuzzy
+msgid "hard disk model"
+msgstr " (DMA) "
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Syslog reports to console 12"
+#: ../../standalone/harddrake2_.c:59
+msgid "Generation of the cpu (eg: 8 for PentiumIII, ...)"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Search new servers"
-msgstr " "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Heard and McDonald Islands"
-msgstr " "
+#: ../../standalone/harddrake2_.c:60
+#, fuzzy
+msgid "Model name"
+msgstr " "
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No alternative driver"
-msgstr " "
+#: ../../standalone/harddrake2_.c:60
+msgid "Official vendor name of the cpu"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to expert mode"
-msgstr " "
+#: ../../standalone/harddrake2_.c:61
+#, fuzzy
+msgid "Number of buttons"
+msgstr "2 "
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on this machine)"
-msgstr "( )"
+#: ../../standalone/harddrake2_.c:62
+#, fuzzy
+msgid "Name"
+msgstr ": "
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway address should be in format 1.2.3.4"
-msgstr "Gateway 1.2.3.4"
+#: ../../standalone/harddrake2_.c:63
+#, fuzzy
+msgid "network printer port"
+msgstr " (TCP/Socket)"
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"\"%s\" based winmodem detected, do you want to install needed software ?"
+#: ../../standalone/harddrake2_.c:64
+msgid "Processor ID"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking at packages already installed..."
-msgstr " ..."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Differential Backups"
+#: ../../standalone/harddrake2_.c:64
+msgid "the number of the processor"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Driver"
-msgstr ""
+#: ../../standalone/harddrake2_.c:65
+#, fuzzy
+msgid "Model stepping"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
+#: ../../standalone/harddrake2_.c:65
+msgid "Stepping of the cpu (sub model (generation) number)"
msgstr ""
-"Linuxconf \n"
-" ."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVD-R device"
-msgstr "DVDR "
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer on remote lpd server"
-msgstr " LPD "
+#: ../../standalone/harddrake2_.c:66
+#, fuzzy
+msgid "The type of bus on which the mouse is connected"
+msgstr ", ."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid ""
-"Before installing any fonts, be sure that you have the right to use and "
-"install them on your system.\n"
-"\n"
-"-You can install the fonts the normal way. In rare cases, bogus fonts may "
-"hang up your X Server."
+#: ../../standalone/harddrake2_.c:67
+msgid "the vendor name of the device"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
-"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
-"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
-"to hold this information.\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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
-"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
-"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
-"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
+#: ../../standalone/harddrake2_.c:68
+msgid "the vendor name of the processor"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Wednesday"
-msgstr ""
+#: ../../standalone/harddrake2_.c:82
+#, fuzzy
+msgid "/_Quit"
+msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Germany"
-msgstr ""
+#: ../../standalone/harddrake2_.c:83
+#, fuzzy
+msgid "/Autodetect _printers"
+msgstr " "
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Austria"
-msgstr ""
+#: ../../standalone/harddrake2_.c:83 ../../standalone/harddrake2_.c:85
+#: ../../standalone/logdrake_.c:81
+msgid "/_Options"
+msgstr "/_"
-#: ../../mouse.pm:1
-#, c-format
-msgid "No mouse"
-msgstr " "
+#: ../../standalone/harddrake2_.c:85
+#, fuzzy
+msgid "/Autodetect _modems"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Choose your CD/DVD media size (MB)"
-msgstr ", CD/DVD (Mb)"
+#: ../../standalone/harddrake2_.c:87 ../../standalone/harddrake2_.c:89
+#: ../../standalone/harddrake2_.c:100 ../../standalone/harddrake2_.c:102
+#: ../../standalone/logdrake_.c:83
+msgid "/_Help"
+msgstr "/_"
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Check permissions of files in the users' home"
-msgstr ""
+#: ../../standalone/harddrake2_.c:89
+#, fuzzy
+msgid "/_Help..."
+msgstr "/_"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Run \"sndconfig\" after installation to configure your sound card"
+#: ../../standalone/harddrake2_.c:92
+msgid "Harddrake help"
msgstr ""
-" \"sndconfig\" "
-""
-
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "Collapse Tree"
-msgstr " "
-
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Auto Install Configurator"
-msgstr " "
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure networking"
-msgstr " "
-
-#: ../../any.pm:1
-#, c-format
-msgid "Where do you want to install the bootloader?"
-msgstr " bootloader-?"
-#: ../../help.pm:1
-#, fuzzy, c-format
+#: ../../standalone/harddrake2_.c:93
msgid ""
-"Your choice of preferred language will affect the language of the\n"
-"documentation, the installer and the system in general. Select first the\n"
-"region you are located in, and then the language you speak.\n"
-"\n"
-"Clicking on the \"%s\" button will allow you to select other languages to\n"
-"be installed on your workstation, thereby installing the language-specific\n"
-"files for system documentation and applications. For example, if you will\n"
-"host users from Spain on your machine, select English as the default\n"
-"language in the tree view and \"%s\" in the Advanced section.\n"
-"\n"
-"Note that you're not limited to choosing a single additional language. You\n"
-"may choose several ones, or even install them all by selecting the \"%s\"\n"
-"box. Selecting support for a language means translations, fonts, spell\n"
-"checkers, etc. for that language will be installed. Additionally, the\n"
-"\"%s\" checkbox allows you to force the system to use unicode (UTF-8). Note\n"
-"however that this is an experimental feature. If you select different\n"
-"languages requiring different encoding the unicode support will be\n"
-"installed anyway.\n"
-"\n"
-"To switch between the various languages installed on the system, you can\n"
-"launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n"
-"language used by the entire system. Running the command as a regular user\n"
-"will only change the language settings for that particular user."
-msgstr ""
-", .\n"
+"Description of the fields:\n"
"\n"
-" \"\" \n"
-" . \n"
-" \n"
-". , ,\n"
-" \n"
-"\"\" \n"
-"\"|\".\n"
-", . \n"
-" , \"OK\", ."
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not supported by this version of Mandrake Linux."
-msgstr "%s Mandrake Linux."
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "tape"
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP client"
-msgstr "DHCP "
-
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "List users on display managers (kdm and gdm)"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logitech Mouse (, C7)"
-
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr " %s : %s"
-
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:96
msgid ""
-"I can't read the partition table of device %s, it's too corrupted for me :(\n"
-"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to not allow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to lose all the partitions?\n"
+"Once you've selected a device, you'll be able to see explanations on fields "
+"displayed on the right frame (\"Information\")"
msgstr ""
-" %s, "
-" :(\n"
-" ( "
-"!).\n"
-" DrakX .\n"
-"( %s)\n"
-"\n"
-" ?\n"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Find Package"
-msgstr "%d "
+#: ../../standalone/harddrake2_.c:96
+#, fuzzy
+msgid "Select a device !"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Are you sure that you want to set up printing on this machine?\n"
-msgstr " , ?\n"
+#: ../../standalone/harddrake2_.c:100
+msgid "/_Report Bug"
+msgstr "/_ "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "New devfs device"
-msgstr " devfs "
+#: ../../standalone/harddrake2_.c:102
+#, fuzzy
+msgid "/_About..."
+msgstr "//_..."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "ERROR: Cannot spawn %s."
+#: ../../standalone/harddrake2_.c:104
+msgid "About Harddrake"
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Boot Style Configuration"
-msgstr " "
-
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic time synchronization"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files not found at %s."
+#: ../../standalone/harddrake2_.c:105
+msgid ""
+"This is HardDrake, a Mandrake hardware configuration tool.\n"
+"Version:"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (phonetic)"
-msgstr " ()"
+#: ../../standalone/harddrake2_.c:106
+#, fuzzy
+msgid "Author:"
+msgstr " "
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Card model:"
-msgstr " :"
+#: ../../standalone/harddrake2_.c:113
+#, fuzzy
+msgid "Detection in progress"
+msgstr " %s"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Thin Client"
-msgstr "Thin "
+#: ../../standalone/harddrake2_.c:119
+#, fuzzy
+msgid "Harddrake2 version "
+msgstr " "
-#: ../advertising/01-thanks.pl:1
-#, c-format
-msgid "Thank you for choosing Mandrake Linux 9.2"
-msgstr " , Mandrake Linux 9.2"
+#: ../../standalone/harddrake2_.c:126
+#, fuzzy
+msgid "Detected hardware"
+msgstr " "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Start Server"
-msgstr " "
+#: ../../standalone/harddrake2_.c:129
+#, fuzzy
+msgid "Information"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkmenistan"
-msgstr ""
+#: ../../standalone/harddrake2_.c:131
+#, fuzzy
+msgid "Configure module"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "All remote machines"
-msgstr " "
+#: ../../standalone/harddrake2_.c:137
+msgid "Run config tool"
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Install themes"
-msgstr " "
+#: ../../standalone/harddrake2_.c:143
+#, fuzzy, c-format
+msgid "Running \"%s\" ..."
+msgstr " \"%s\" ..."
-#: ../../help.pm:1
-#, c-format
-msgid "Espanol"
+#: ../../standalone/harddrake2_.c:159
+msgid ""
+"Click on a device in the left tree in order to get its information displayed "
+"here."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing installation"
-msgstr " "
+#: ../../standalone/harddrake2_.c:231
+msgid "primary"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected host/network"
-msgstr " /"
+#: ../../standalone/harddrake2_.c:231
+#, fuzzy
+msgid "secondary"
+msgstr "%d "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add User -->"
-msgstr " -->"
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect modems"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Nauru"
-msgstr ""
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect printers"
+msgstr " "
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type fonts installation"
-msgstr " True Type "
+#: ../../standalone/harddrake2_.c:261
+#, fuzzy
+msgid "/Options"
+msgstr "/_"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected directly to the local network"
-msgstr " "
+#: ../../standalone/keyboarddrake_.c:26
+msgid "Please, choose your keyboard layout."
+msgstr ", ."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN configuration"
-msgstr " LAN"
+#: ../../standalone/keyboarddrake_.c:35
+msgid "Do you want the BackSpace to return Delete in console?"
+msgstr " BackSpace Delete ?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "hard disk model"
-msgstr " "
+#: ../../standalone/livedrake_.c:18
+msgid "Change Cd-Rom"
+msgstr " CD-ROM"
-#: ../../standalone/drakTermServ:1
-#, c-format
+#: ../../standalone/livedrake_.c:19
msgid ""
-" - Maintain /etc/exports:\n"
-" \tClusternfs allows export of the root filesystem to diskless "
-"clients. drakTermServ\n"
-" \tsets up the correct entry to allow anonymous access to the root "
-"filesystem from\n"
-" \tdiskless clients.\n"
-"\n"
-" \tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t/\t\t\t\t\t(ro,all_squash)\n"
-" \t/home\t\t\t\tSUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-" \tWith SUBNET/MASK being defined for your network."
+"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."
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
-msgstr " LVM %s"
+#: ../../standalone/livedrake_.c:29
+msgid "Unable to start live upgrade !!!\n"
+msgstr " !!!\n"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Get Windows Fonts"
-msgstr " Windows"
+#: ../../standalone/localedrake_.c:34
+msgid "The change is done, but to be effective you must logout"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
+#: ../../standalone/logdrake_.c:56 ../../ugtk.pm_.c:284 ../../ugtk2.pm_.c:350
+msgid "logdrake"
+msgstr ""
-#: ../../standalone/drakclock:1
-#, c-format
-msgid ""
-"Your computer can synchronize its clock\n"
-" with a remote time server using NTP"
+#: ../../standalone/logdrake_.c:68
+msgid "Show only for the selected day"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Iranian"
-msgstr ""
+#: ../../standalone/logdrake_.c:75
+msgid "/File/_New"
+msgstr "//_"
-#: ../../lang.pm:1
-#, c-format
-msgid "Croatia"
-msgstr ""
+#: ../../standalone/logdrake_.c:75
+msgid "<control>N"
+msgstr "<control>N"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway:"
-msgstr "Gateway:"
+#: ../../standalone/logdrake_.c:76
+msgid "/File/_Open"
+msgstr "//_"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add server"
-msgstr " "
+#: ../../standalone/logdrake_.c:76
+msgid "<control>O"
+msgstr "<control>O"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote printer name"
-msgstr " "
+#: ../../standalone/logdrake_.c:77
+msgid "/File/_Save"
+msgstr "//_"
-#: ../advertising/10-security.pl:1
-#, c-format
-msgid ""
-"MandrakeSoft has designed exclusive tools to create the most secured Linux "
-"version ever: Draksec, a system security management tool, and a strong "
-"firewall are teamed up together in order to highly reduce hacking risks."
-msgstr ""
+#: ../../standalone/logdrake_.c:77
+msgid "<control>S"
+msgstr "<control>S"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Device: "
-msgstr ": "
+#: ../../standalone/logdrake_.c:78
+msgid "/File/Save _As"
+msgstr "// _"
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, c-format
-msgid "Printerdrake"
-msgstr "Printerdrake"
+#: ../../standalone/logdrake_.c:79
+msgid "/File/-"
+msgstr "//-"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "License agreement"
-msgstr " "
+#: ../../standalone/logdrake_.c:82
+msgid "/Options/Test"
+msgstr "//"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "System Options"
-msgstr " "
+#: ../../standalone/logdrake_.c:84
+msgid "/Help/_About..."
+msgstr "//_..."
-#: ../../security/level.pm:1
-#, c-format
-msgid "Please choose the desired security level"
-msgstr ", "
+#: ../../standalone/logdrake_.c:145
+#, fuzzy
+msgid "User"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "This host is already in the list, it cannot be added again.\n"
-msgstr ""
+#: ../../standalone/logdrake_.c:146
+#, fuzzy
+msgid "Messages"
+msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", USB printer"
-msgstr ", USB "
+#: ../../standalone/logdrake_.c:147
+#, fuzzy
+msgid "Syslog"
+msgstr " "
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid ""
-"Unable to properly close mkbootdisk:\n"
-"\n"
-"<span foreground=\"Red\"><tt>%s</tt></span>"
+#: ../../standalone/logdrake_.c:148
+msgid "Mandrake Tools Explanations"
msgstr ""
-" mkbootdisk: \n"
-" %s \n"
-" %s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Incremental backups only save files that have changed or are new since the "
-"last backup."
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Choose the applications that will support the fonts:"
-msgstr " :"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure X"
-msgstr " "
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "hd"
-msgstr ""
+#: ../../standalone/logdrake_.c:151
+msgid "search"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (traditional \"F\" model)"
-msgstr " ( \"F\" )"
+#: ../../standalone/logdrake_.c:161
+msgid "A tool to monitor your logs"
+msgstr " "
-#: ../../standalone/drakautoinst:1 ../../standalone/drakgw:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Congratulations!"
-msgstr " !"
+#: ../../standalone/logdrake_.c:162 ../../standalone/net_monitor_.c:91
+msgid "Settings"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use owner id for execution"
-msgstr " id "
+#: ../../standalone/logdrake_.c:167
+msgid "matching"
+msgstr ""
-#: ../../security/l10n.pm:1
-#, c-format
-msgid "Allow remote root login"
-msgstr " root."
+#: ../../standalone/logdrake_.c:168
+msgid "but not matching"
+msgstr " "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Down"
-msgstr ""
+#: ../../standalone/logdrake_.c:172
+msgid "Choose file"
+msgstr " "
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer (No driver)"
-msgstr "'Raw' ( )"
+#: ../../standalone/logdrake_.c:181
+msgid "Calendar"
+msgstr ""
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Install rpm"
-msgstr " rpm"
+#: ../../standalone/logdrake_.c:191
+msgid "Content of the file"
+msgstr " "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print a file from the command line (terminal window) you can either use "
-"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
-"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
-"to modify the option settings easily.\n"
+#: ../../standalone/logdrake_.c:195 ../../standalone/logdrake_.c:375
+msgid "Mail alert"
msgstr ""
-" ( ), "
-" \"%s <file>\" : \"xpp "
-"<file>\" \"kprinter <file>\". "
-" .\n"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Time remaining "
-msgstr " "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "UK keyboard"
-msgstr "U "
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Unmount"
-msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft Explorer"
-msgstr "Microsoft Explorer"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Uninstall Fonts"
-msgstr " "
-
-#: ../../../move/move.pm:1
+#: ../../standalone/logdrake_.c:245
#, fuzzy, c-format
-msgid "Please wait, detecting and configuring devices..."
-msgstr ", ..."
+msgid "please wait, parsing file: %s"
+msgstr " , : %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German (no dead keys)"
-msgstr " ( )"
+#: ../../standalone/logdrake_.c:392
+#, fuzzy
+msgid "Mail alert configuration"
+msgstr " LILO/Grub"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tSend mail to %s\n"
+#: ../../standalone/logdrake_.c:393
+#, fuzzy
+msgid ""
+"Welcome to the mail configuration utility.\n"
+"\n"
+"Here, you'll be able to set up the alert system.\n"
msgstr ""
+" Proxy.\n"
+"\n"
+" HTTP FTP proxy\n"
+" \n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transferring %s..."
-msgstr " %s ..."
+#: ../../standalone/logdrake_.c:400
+msgid "Apache World Wide Web Server"
+msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "32 thousand colors (15 bits)"
-msgstr "32 (15 )"
+#: ../../standalone/logdrake_.c:401
+#, fuzzy
+msgid "Domain Name Resolver"
+msgstr " "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"You can export using NFS or Samba. Please select which you'd like to use."
-msgstr ""
-" NFS Samba. , "
-" ."
+#: ../../standalone/logdrake_.c:402
+#, fuzzy
+msgid "Ftp Server"
+msgstr "NIS "
-#: ../../lang.pm:1
-#, c-format
-msgid "Gambia"
-msgstr ""
+#: ../../standalone/logdrake_.c:403
+#, fuzzy
+msgid "Postfix Mail Server"
+msgstr "Postfix , Inn "
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Control Center"
-msgstr " Mandrake"
+#: ../../standalone/logdrake_.c:404
+#, fuzzy
+msgid "Samba Server"
+msgstr "NIS "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../../move/move.pm:1
-#, c-format
-msgid "Reboot"
-msgstr ""
+#: ../../standalone/logdrake_.c:405
+#, fuzzy
+msgid "SSH Server"
+msgstr "NIS "
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Multi-function device"
-msgstr ", "
+#: ../../standalone/logdrake_.c:406
+#, fuzzy
+msgid "Webmin Service"
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"You can enter miscellaneous ports. \n"
-"Valid examples are: 139/tcp 139/udp.\n"
-"Have a look at /etc/services for information."
-msgstr ""
-" . \n"
-" : 139/tcp 139/udp.\n"
-" /etc/services "
+#: ../../standalone/logdrake_.c:407
+#, fuzzy
+msgid "Xinetd Service"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Tape \n"
-msgstr ""
+#: ../../standalone/logdrake_.c:414
+#, fuzzy
+msgid "service setting"
+msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../standalone/logdrake_.c:415
msgid ""
-"No browser is installed on your system, Please install one if you want to "
-"browse the help system"
+"You will receive an alert if one of the selected services is no more running"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Remember this password"
-msgstr " "
+#: ../../standalone/logdrake_.c:428
+#, fuzzy
+msgid "load setting"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "due to unsatisfied %s"
+#: ../../standalone/logdrake_.c:429
+msgid "You will receive an alert if the load is higher than this value"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing is now enabled."
-msgstr " ."
+#: ../../standalone/logdrake_.c:444
+#, fuzzy
+msgid "alert configuration"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by SSH.\n"
-msgstr ""
+#: ../../standalone/logdrake_.c:445
+#, fuzzy
+msgid "Please enter your email address below "
+msgstr ", "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-" If the desired printer was auto-detected, simply choose it from the list "
-"and then add user name, password, and/or workgroup if needed."
-msgstr ""
-" , "
-" , , / "
-"."
+#: ../../standalone/logdrake_.c:486
+msgid "Save as.."
+msgstr " ..."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid " cable"
-msgstr " "
+#: ../../standalone/mousedrake_.c:37
+msgid "Please, choose the type of your mouse."
+msgstr ", ."
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Use the free space on the Windows partition"
-msgstr " Windows "
+#: ../../standalone/mousedrake_.c:50
+msgid "Emulate third button?"
+msgstr " ?"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "%s found on %s, configure it automatically?"
-msgstr "%s %s, ?"
+#: ../../standalone/net_monitor_.c:53 ../../standalone/net_monitor_.c:87
+#, fuzzy
+msgid "Network Monitoring"
+msgstr " "
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "XFree86 : %s\n"
+#: ../../standalone/net_monitor_.c:96
+#, fuzzy
+msgid "Profile "
+msgstr ": "
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This host/network is already in the list, it cannot be added again.\n"
+#: ../../standalone/net_monitor_.c:99
+msgid "Statistics"
msgstr ""
-" / , .\n"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the packages you want to install"
-msgstr " , "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Papua New Guinea"
-msgstr " "
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Multi-function device on a parallel port"
-msgstr ", #%s"
-
-#: ../../../move/tree/mdk_totem:1
-#, fuzzy, c-format
-msgid "Busy files"
-msgstr " "
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Serbian (cyrillic)"
-msgstr " ()"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Enter the directory where backups are stored"
-msgstr " :"
+#: ../../standalone/net_monitor_.c:103
+#, fuzzy
+msgid "Sending Speed:"
+msgstr " "
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Make kernel message quiet by default"
+#: ../../standalone/net_monitor_.c:104
+msgid "Receiving Speed:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Do you want to set this printer (\"%s\")\n"
-"as the default printer?"
-msgstr ""
-" (\"%s\")\n"
-" ?"
+#: ../../standalone/net_monitor_.c:106
+#, fuzzy
+msgid "Connection Time: "
+msgstr " : "
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP end range"
+#: ../../standalone/net_monitor_.c:113
+msgid "Logs"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Creating bootdisk..."
-msgstr " ..."
-
-#: ../../standalone/net_monitor:1
-#, c-format
+#: ../../standalone/net_monitor_.c:147
+#, fuzzy
msgid "Wait please, testing your connection..."
-msgstr ", ..."
+msgstr " ..."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing down the network"
-msgstr " "
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Connecting to Internet "
+msgstr " "
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Login ID"
-msgstr " "
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Disconnecting from Internet "
+msgstr " "
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"NFS is a popular protocol for file sharing across TCP/IP\n"
-"networks. This service provides NFS file locking functionality."
+#: ../../standalone/net_monitor_.c:222
+msgid "Disconnection from Internet failed."
msgstr ""
-"NFS TCP/IP .\n"
-" NFS ."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP Client"
-msgstr "DHCP "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"This is HardDrake, a Mandrake hardware configuration tool.\n"
-"<span foreground=\"royalblue3\">Version:</span> %s\n"
-"<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud &lt;"
-"tvignaud@mandrakesoft.com&gt;\n"
-"\n"
+#: ../../standalone/net_monitor_.c:223
+msgid "Disconnection from Internet complete."
msgstr ""
-" HardDrake, Mandrake.\n"
-"<span foreground=\"royalblue3\">:</span> %s\n"
-"<span foreground=\"royalblue3\">:</span> Thierry Vignaud &lt;"
-"tvignaud@mandrakesoft.com&gt;\n"
-"\n"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "dismiss"
-msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing/Scanning on \"%s\""
-msgstr "/ \"%s\""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit raid modules"
-msgstr " raid "
+#: ../../standalone/net_monitor_.c:225
+#, fuzzy
+msgid "Connection complete."
+msgstr " "
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/net_monitor_.c:226
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)."
+"Connection failed.\n"
+"Verify your configuration in the Mandrake Control Center."
msgstr ""
-"lpd lpr . \n"
-", (/)."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Irish"
+#: ../../standalone/net_monitor_.c:330
+#, fuzzy
+msgid "Color configuration"
+msgstr " "
+
+#: ../../standalone/net_monitor_.c:383 ../../standalone/net_monitor_.c:403
+msgid "sent: "
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Sunday"
-msgstr ""
+#: ../../standalone/net_monitor_.c:390 ../../standalone/net_monitor_.c:407
+msgid "received: "
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Internet Connection Configuration"
-msgstr " "
+#: ../../standalone/net_monitor_.c:397
+msgid "average"
+msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated numbers"
-msgstr " "
+#: ../../standalone/net_monitor_.c:400
+#, fuzzy
+msgid "Local measure"
+msgstr " "
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Once you've selected a device, you'll be able to see the device information "
-"in fields displayed on the right frame (\"Information\")"
+#: ../../standalone/net_monitor_.c:432
+msgid "transmitted"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule up one level"
+#: ../../standalone/net_monitor_.c:433
+msgid "received"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../standalone/net_monitor_.c:453
msgid ""
-"The following scanner\n"
-"\n"
-"%s\n"
-"is available on your system.\n"
+"Warning, another internet connection has been detected, maybe using your "
+"network"
msgstr ""
-" \n"
-"\n"
-"%s\n"
-" .\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do you really want to remove the printer \"%s\"?"
-msgstr " \"%s\" ?"
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Connect %s"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "I can't find any room for installing"
-msgstr " "
+#: ../../standalone/net_monitor_.c:459
+#, fuzzy, c-format
+msgid "Disconnect %s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Default printer"
-msgstr " "
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Reading printer data ..."
+msgstr " ..."
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"You have configured multiple ways to connect to the Internet.\n"
-"Choose the one you want to use.\n"
-"\n"
-msgstr ""
-" .\n"
-" , .\n"
-"\n"
+#: ../../standalone/scannerdrake_.c:39
+msgid "Detecting devices ..."
+msgstr " ..."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Modify RAID"
-msgstr " RAID"
+#: ../../standalone/scannerdrake_.c:39
+msgid "Test ports"
+msgstr " "
-#: ../../network/isdn.pm:1
+#: ../../standalone/scannerdrake_.c:51 ../../standalone/scannerdrake_.c:66
+#: ../../standalone/scannerdrake_.c:79
#, c-format
-msgid ""
-"I have detected an ISDN PCI card, but I don't know its type. Please select a "
-"PCI card on the next screen."
+msgid "The %s is not supported by this version of Mandrake Linux."
msgstr ""
-" ISDN PCI , . PCI "
-" ."
-#: ../../any.pm:1
-#, c-format
-msgid "Add user"
-msgstr " "
+#: ../../standalone/scannerdrake_.c:54
+#, fuzzy, c-format
+msgid "%s found on %s, configure it?"
+msgstr " ?"
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/scannerdrake_.c:57
#, c-format
-msgid "RAID-disks %s\n"
-msgstr "RAID- %s\n"
+msgid "%s is not in the scanner database, configure it manually?"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Liberia"
-msgstr ""
+#: ../../standalone/scannerdrake_.c:63
+#, fuzzy
+msgid "Select a scanner"
+msgstr " "
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/scannerdrake_.c:91
#, c-format
-msgid ""
-"Could not install the packages needed to set up a scanner with Scannerdrake."
+msgid "This %s scanner is unsupported"
msgstr ""
-#: ../../standalone/drakgw:1
+#: ../../standalone/scannerdrake_.c:105
#, c-format
msgid ""
-"Please enter the name of the interface connected to the internet.\n"
-"\n"
-"Examples:\n"
-"\t\tppp+ for modem or DSL connections, \n"
-"\t\teth0, or eth1 for cable connection, \n"
-"\t\tippp+ for a isdn connection.\n"
+"Scannerdrake was not able to detect your %s scanner.\n"
+"Please select the device where your scanner is plugged"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose your keyboard"
-msgstr " "
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Format partitions"
-msgstr " "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatic correction of CUPS configuration"
-msgstr " CUPS "
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Running \"%s\" ..."
-msgstr " \"%s\" ..."
-
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "enable radio support"
-msgstr " "
+#: ../../standalone/scannerdrake_.c:107
+#, fuzzy
+msgid "choose device"
+msgstr " "
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/scannerdrake_.c:113
#, c-format
-msgid "Scanner sharing to hosts: "
-msgstr " :"
+msgid ""
+"This %s scanner must be configured by printerdrake.\n"
+"You can launch printerdrake from the Mandrake Control Center in Hardware "
+"section."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/scannerdrake_.c:118
#, c-format
-msgid "Loopback file name: %s"
-msgstr " loopback : %s"
+msgid ""
+"Your %s scanner has been configured.\n"
+"You may now scan documents using ``XSane'' from Multimedia/Graphics in the "
+"applications menu."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/service_harddrake_.c:44
#, c-format
-msgid "Please choose the printer to which the print jobs should go."
-msgstr ", , ."
+msgid "Some devices in the \"%s\" hardware class were removed:\n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not transfer printers"
-msgstr " "
+#: ../../standalone/service_harddrake_.c:48
+msgid "Some devices were added:\n"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Delay before booting the default image"
-msgstr " "
+#: ../../standalone/service_harddrake_.c:64
+#, fuzzy
+msgid "Hardware probing in progress"
+msgstr " %s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Hard Disk to backup"
-msgstr " "
+#: ../../steps.pm_.c:14
+msgid "Choose your language"
+msgstr " "
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Configure"
-msgstr ""
+#: ../../steps.pm_.c:15
+msgid "Select installation class"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake"
-msgstr ""
+#: ../../steps.pm_.c:16
+msgid "Hard drive detection"
+msgstr " "
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"Warning, another Internet connection has been detected, maybe using your "
-"network"
-msgstr ""
+#: ../../steps.pm_.c:17
+msgid "Configure mouse"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Users"
-msgstr " "
+#: ../../steps.pm_.c:18
+msgid "Choose your keyboard"
+msgstr " "
-#: ../../network/network.pm:1
-#, c-format
-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, "
+#: ../../steps.pm_.c:19
+msgid "Security"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Spooler"
-msgstr " spooler"
+#: ../../steps.pm_.c:20
+msgid "Setup filesystems"
+msgstr " "
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Create new theme"
-msgstr " "
+#: ../../steps.pm_.c:21
+msgid "Format partitions"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mandrake Tools Explanation"
-msgstr ""
+#: ../../steps.pm_.c:22
+msgid "Choose packages to install"
+msgstr " "
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "No image found"
-msgstr " "
+#: ../../steps.pm_.c:23
+msgid "Install system"
+msgstr " "
-#: ../../install_steps.pm:1
-#, c-format
-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"
+#: ../../steps.pm_.c:25
+msgid "Add a user"
+msgstr " "
-#: ../advertising/06-development.pl:1
-#, c-format
-msgid "Mandrake Linux 9.2: the ultimate development platform"
-msgstr "Mandrake Linux 9.2 "
+#: ../../steps.pm_.c:26
+msgid "Configure networking"
+msgstr " "
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Detected model: %s"
-msgstr " : %s"
+#: ../../steps.pm_.c:28
+msgid "Configure services"
+msgstr " "
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "\"%s\" is not a valid email!"
-msgstr ""
+#: ../../steps.pm_.c:29
+msgid "Install bootloader"
+msgstr " bootloader"
-#: ../../standalone/drakedm:1
-#, c-format
-msgid ""
-"X11 Display Manager allows you to graphically log\n"
-"into your system with the X Window System running and supports running\n"
-"several different X sessions on your local machine at the same time."
-msgstr ""
+#: ../../steps.pm_.c:31
+msgid "Create a bootdisk"
+msgstr " boot-"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run the daily security checks."
-msgstr ""
+#: ../../steps.pm_.c:33
+msgid "Configure X"
+msgstr " "
-#: ../../lang.pm:1
-#, c-format
-msgid "Azerbaijan"
-msgstr ""
+#: ../../steps.pm_.c:34
+#, fuzzy
+msgid "Install system updates"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Device name to use for backup"
-msgstr ""
+#: ../../steps.pm_.c:35
+msgid "Exit install"
+msgstr " "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No tape in %s!"
-msgstr ""
+#: ../../ugtk.pm_.c:636
+msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
+msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#: ../../standalone/drakhelp:1
-#, c-format
-msgid ""
-" --doc <link> - link to another web page ( for WM welcome "
-"frontend)\n"
+#: ../../ugtk2.pm_.c:711
+msgid "utopia 25"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (US)"
-msgstr " (US)"
+#: ../../share/compssUsers:999
+msgid "Web/FTP"
+msgstr ", Web/FTP"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
-msgstr ""
-" (: PCI, USB, ...)"
+#: ../../share/compssUsers:999
+msgid "Network Computer (client)"
+msgstr " ()"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "How is the printer connected?"
-msgstr " ?"
+#: ../../share/compssUsers:999
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS , SMB , Proxy , SSH "
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security level"
-msgstr " "
+#: ../../share/compssUsers:999
+msgid "Office"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "final resolution"
-msgstr ""
+#: ../../share/compssUsers:999
+msgid "Gnome Workstation"
+msgstr "Gnome "
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services"
-msgstr ""
+#: ../../share/compssUsers:999
+msgid "Tools for your Palm Pilot or your Visor"
+msgstr " Palm Pilot Visor- "
-#: ../../../move/move.pm:1
-#, fuzzy, c-format
-msgid "Auto configuration"
-msgstr " "
+#: ../../share/compssUsers:999
+msgid "Workstation"
+msgstr " "
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "4 MB"
-msgstr "4 "
+#: ../../share/compssUsers:999
+msgid "Firewall/Router"
+msgstr ", Firewall/"
#: ../../share/compssUsers:999
-msgid "Office Workstation"
-msgstr " "
+msgid "Domain Name and Network Information Server"
+msgstr " "
#: ../../share/compssUsers:999
msgid ""
@@ -19672,69 +14196,76 @@ msgstr ""
" PDF, .."
#: ../../share/compssUsers:999
-msgid "Game station"
-msgstr " "
+msgid "Audio-related tools: mp3 or midi players, mixers, etc"
+msgstr " : MP3 MIDI , , .. "
#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
-msgstr " : , , .."
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "Multimedia station"
-msgstr " "
+msgid "Books and Howto's on Linux and Free Software"
+msgstr " HOTWO- Linux "
#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
-msgstr " / "
+msgid "KDE Workstation"
+msgstr "KDE "
#: ../../share/compssUsers:999
-msgid "Internet station"
-msgstr " "
+msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm .."
#: ../../share/compssUsers:999
-#, fuzzy
-msgid ""
-"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
-"Web"
-msgstr ""
-" (pine, mutt, "
-"tin..) "
+msgid "Multimedia - Video"
+msgstr " - "
#: ../../share/compssUsers:999
-msgid "Network Computer (client)"
-msgstr " ()"
+msgid "Set of tools for mail, news, web, file transfer, and chat"
+msgstr " , , web, , "
#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
-msgstr " SSH"
+msgid "Database"
+msgstr ", -"
#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr ""
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL MySQL -"
#: ../../share/compssUsers:999
msgid "Tools to ease the configuration of your computer"
msgstr " "
#: ../../share/compssUsers:999
-msgid "Scientific Workstation"
-msgstr " "
+msgid "Multimedia - Sound"
+msgstr " - "
#: ../../share/compssUsers:999
-msgid "Scientific applications such as gnuplot"
-msgstr ""
+msgid "Documentation"
+msgstr ""
#: ../../share/compssUsers:999
msgid "Console Tools"
msgstr " "
#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
-msgstr ", , , "
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix , Inn "
#: ../../share/compssUsers:999
-msgid "KDE Workstation"
-msgstr "KDE "
+msgid "Internet station"
+msgstr " "
+
+#: ../../share/compssUsers:999
+msgid "Multimedia station"
+msgstr " "
+
+#: ../../share/compssUsers:999
+msgid "Configuration"
+msgstr ""
+
+#: ../../share/compssUsers:999
+msgid "More Graphical Desktops (Gnome, IceWM)"
+msgstr " desktop- (Gnome, IceWM)"
#: ../../share/compssUsers:999
msgid ""
@@ -19745,2162 +14276,285 @@ msgstr ""
""
#: ../../share/compssUsers:999
-msgid "Gnome Workstation"
-msgstr "Gnome "
+msgid "Graphical Environment"
+msgstr " "
#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
-msgstr ""
-" desktop "
+msgid "Development"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
-msgstr " desktop-"
+msgid "Apache, Pro-ftpd"
+msgstr "Apache Pro-ftpd"
#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr "Icewm, Window Maker, Enlightenment, Fvwm .."
+msgid "Tools to create and burn CD's"
+msgstr " CD-"
#: ../../share/compssUsers:999
-msgid "C and C++ development libraries, programs and include files"
-msgstr " C C++, include "
+msgid "Office Workstation"
+msgstr " "
#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr ""
+msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, .."
#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
-msgstr " HOTWO- Linux "
+msgid "Graphics programs such as The Gimp"
+msgstr " The Gimp"
#: ../../share/compssUsers:999
-msgid "LSB"
-msgstr ""
+msgid "DNS/NIS "
+msgstr "FND/NIS"
#: ../../share/compssUsers:999
-msgid "Linux Standard Base. Third party applications support"
-msgstr ""
+msgid "C and C++ development libraries, programs and include files"
+msgstr " C C++, include "
#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr ", Web/FTP"
+msgid "Network Computer server"
+msgstr " , "
#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache Pro-ftpd"
+msgid "Mail/Groupware/News"
+msgstr ", /Groupware/"
#: ../../share/compssUsers:999
-msgid "Mail"
-msgstr "-"
+msgid "Game station"
+msgstr " "
#: ../../share/compssUsers:999
-msgid "Postfix mail server"
-msgstr "Postfix "
+msgid "Video players and editors"
+msgstr " "
#: ../../share/compssUsers:999
-msgid "Database"
-msgstr ", -"
+msgid "Multimedia - Graphics"
+msgstr " - "
#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
-msgstr "PostgreSQL MySQL -"
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr " : , , .."
#: ../../share/compssUsers:999
-msgid "Firewall/Router"
-msgstr ", Firewall/"
+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 "Internet gateway"
-msgstr " gateway"
+msgid "Personal Finance"
+msgstr " "
#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "FND/NIS"
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+" desktop "
#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
-msgstr " "
+msgid "Clients for different protocols including ssh"
+msgstr " SSH"
#: ../../share/compssUsers:999
-msgid "Network Computer server"
-msgstr " , "
+msgid "LSB"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
-msgstr "NFS , SMB , Proxy , SSH "
+msgid "Internet gateway"
+msgstr " gateway"
#: ../../share/compssUsers:999
-msgid "Set of tools to read and send mail and news and to browse the Web"
-msgstr ""
-" "
-" "
-
-#~ msgid "The setup has already been done, and it's currently enabled."
-#~ msgstr " ."
-
-#~ msgid "Logs"
-#~ msgstr ""
-
-#~ msgid "The setup has already been done, but it's currently disabled."
-#~ msgstr " , ."
-
-#~ msgid "Profile "
-#~ msgstr " "
-
-#~ 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"
-#~ " ``'', ."
-
-#~ msgid "Internet Connection Sharing configuration"
-#~ msgstr " "
-
-#~ msgid "No Internet Connection Sharing has ever been configured."
-#~ msgstr " ."
-
-#~ msgid "when checked, owner and group won't be changed"
-#~ msgstr " , "
-
-#~ msgid "Remote Printers"
-#~ msgstr " "
-
-#~ msgid "Printing system: "
-#~ msgstr " : "
-
-#~ msgid "Level 1"
-#~ msgstr " 1"
-
-#~ msgid "Level 2"
-#~ msgstr " 2"
-
-#~ msgid "Level 3"
-#~ msgstr " 3"
-
-#~ msgid "Level 4"
-#~ msgstr " 4"
-
-#~ msgid "Level 5"
-#~ msgstr " 5"
-
-#~ msgid "Load"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Please choose the\n"
-#~ "media for backup."
-#~ msgstr ""
-#~ ", \n"
-#~ " ."
-
-#~ msgid "Bad Ip"
-#~ msgstr " IP"
-
-#~ msgid "LiLo and Bootsplash themes installation successfull"
-#~ msgstr "LiLo Bootsplash "
-
-#~ msgid "Bad Mask"
-#~ msgstr " "
-
-#~ msgid "Choose your CD/DVD media size (Mb)"
-#~ msgstr ", CD/DVD (Mb)"
-
-#~ msgid "Output"
-#~ msgstr ""
+msgid "Sound and video playing/editing programs"
+msgstr " / "
-#~ msgid "activate now"
-#~ msgstr " "
+#: ../../share/compssUsers:999
+msgid "Other Graphical Desktops"
+msgstr " desktop-"
-#~ msgid ""
-#~ "Enter the maximum size\n"
-#~ " allowed for Drakbackup (Mb)"
-#~ msgstr ""
-#~ ", \n"
-#~ " Drakbackup ( )"
+#: ../../share/compssUsers:999
+msgid "Editors, shells, file tools, terminals"
+msgstr ", , , "
-#~ msgid "Unkown driver"
-#~ msgstr " "
+#: ../../share/compssUsers:999
+msgid "Programs to manage your finance, such as gnucash"
+msgstr " , gnucash"
-#~ msgid ""
-#~ "Maximum size\n"
-#~ " allowed for Drakbackup (Mb)"
-#~ msgstr ""
-#~ ", \n"
-#~ " Drakbackup ( )"
+#: ../../share/compssUsers:999
+msgid "Personal Information Management"
+msgstr " "
-#~ msgid "Total progess"
-#~ msgstr " "
+#: ../../share/compssUsers:999
+msgid "Multimedia - CD Burning"
+msgstr " - CD"
-#~ msgid "Please relog into %s to activate the changes"
-#~ msgstr " %s, "
+#: ../../share/compssUsers:999
+msgid "Scientific Workstation"
+msgstr " "
-#, fuzzy
-#~ msgid "Start Search..."
-#~ msgstr " "
+#~ msgid "can not open /etc/inittab for reading: %s"
+#~ msgstr " /etc/inittab : %s"
#, fuzzy
-#~ msgid ""
-#~ "Search For...\n"
-#~ "%s"
-#~ msgstr " "
-
-#~ msgid "Please check if you want to use the non-rewinding device."
-#~ msgstr ""
-#~ ", ."
-
-#~ msgid "Please enter your password"
-#~ msgstr ", "
-
-#~ msgid "Please check if you want to eject your tape after the backup."
-#~ msgstr ""
-#~ ", "
-#~ "."
-
-#~ msgid "Please check if you want to erase your tape before the backup."
-#~ msgstr ""
-#~ ", "
-#~ "."
-
-#~ msgid "Please enter the host name or IP."
-#~ msgstr ", IP."
-
-#~ msgid ""
-#~ " Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s@epita."
-#~ "fr>"
-#~ msgstr ""
-#~ " (C) 2001-2002 MandrakeSoft by DUPONT Sebastien "
-#~ "<dupont_s@epita.fr>"
-
-#~ msgid ""
-#~ " updates 2002 MandrakeSoft by Stew Benedict <sbenedict@mandrakesoft.com>"
-#~ msgstr ""
-#~ " 2002 MandrakeSoft Stew Benedict <sbenedict@mandrakesoft."
-#~ "com>"
-
-#~ msgid "edit"
-#~ msgstr ""
+#~ msgid "cpu number "
+#~ msgstr " "
#~ msgid ""
-#~ "Arguments: (arg)\n"
+#~ "You now have the opportunity to download encryption software.\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"
-#~ " Accept/Refuse broadcasted icmp echo."
+#~ "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 ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "/ broadcasted icmp echo."
+#~ " .\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"
+
+#~ msgid "Proxy configuration"
+#~ msgstr "Proxy "
#~ msgid ""
-#~ "Arguments: (arg)\n"
+#~ "Welcome to the proxy configuration utility.\n"
#~ "\n"
-#~ "Allow/Forbid remote root login."
+#~ "Here, you'll be able to set up your http and ftp proxies\n"
+#~ "with or without login and password\n"
#~ msgstr ""
-#~ "Arguments: (arg)\n"
+#~ " Proxy.\n"
#~ "\n"
-#~ "/ root."
-
-#~ msgid "permissions"
-#~ msgstr ""
-
-#~ msgid "delete"
-#~ msgstr ""
+#~ " HTTP FTP proxy\n"
+#~ " \n"
#~ msgid ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "Accept/Refuse bogus IPv4 error messages."
+#~ "Please fill in the http proxy informations\n"
+#~ "Leave it blank if you don't want an http proxy"
#~ msgstr ""
-#~ "Arguments: (arg)\n"
-#~ "\n"
-#~ "/ IPv4 ."
-
-#~ msgid "user"
-#~ msgstr ""
-
-#~ msgid "Expert Area"
-#~ msgstr ""
-
-#~ msgid "Wizard..."
-#~ msgstr "..."
+#~ ", HTTP proxy.\n"
+#~ " , HTTP proxy."
-#~ msgid " / Region"
-#~ msgstr "/ "
+#~ msgid "URL"
+#~ msgstr "URL"
-#~ msgid "Country"
-#~ msgstr ""
+#~ msgid "port"
+#~ msgstr ""
-#~ msgid "Previous"
-#~ msgstr ""
+#~ msgid "Url should begin with 'http:'"
+#~ msgstr "URL 'http:'"
-#~ msgid "Please check if you are using CDRW media"
-#~ msgstr ", CDRW "
-
-#~ msgid "Please check if you are using a DVDRAM device"
-#~ msgstr ", DVDRAM "
-
-#~ msgid "Please check if you are using a DVDR device"
-#~ msgstr ", DVDR "
-
-#~ msgid "We are now going to configure the %s connection."
-#~ msgstr " %s ."
-
-#~ msgid "Name: %s\n"
-#~ msgstr ": %s\n"
+#~ msgid "The port part should be numeric"
+#~ msgstr " "
#~ msgid ""
-#~ "Which ISDN configuration do you prefer?\n"
-#~ "\n"
-#~ "* The Old configuration uses isdn4net. It contains powerful\n"
-#~ " tools, but is tricky to configure, and not standard.\n"
-#~ "\n"
-#~ "* The New configuration is easier to understand, more\n"
-#~ " standard, but with less tools.\n"
-#~ "\n"
-#~ "We recommand the light configuration.\n"
+#~ "Please fill in the ftp proxy informations\n"
+#~ "Leave it blank if you don't want an ftp proxy"
#~ msgstr ""
-#~ " ISDN ?\n"
-#~ "\n"
-#~ "* isdn4net. \n"
-#~ " .\n"
-#~ "\n"
-#~ "* - , ,\n"
-#~ " - .\n"
-#~ "\n"
-#~ " .\n"
-
-#~ msgid "New configuration (isdn-light)"
-#~ msgstr " (isdn-light)"
-
-#~ msgid "Old configuration (isdn4net)"
-#~ msgstr " (isdn4net)"
-
-#~ msgid "Internet connection & configuration"
-#~ msgstr " "
-
-#~ msgid "Disconnect"
-#~ msgstr ""
-
-#~ msgid "Connect"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "\n"
-#~ "You can reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ " ."
+#~ ", FTP proxy.\n"
+#~ " , FTP proxy."
#~ msgid ""
-#~ "\n"
-#~ "You can connect to the Internet or reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ " ."
-
-#~ msgid "You are not currently connected to the Internet."
-#~ msgstr " "
-
-#~ msgid ""
-#~ "\n"
-#~ "You can disconnect or reconfigure your connection."
-#~ msgstr ""
-#~ "\n"
-#~ " ."
-
-#~ msgid "You are currently connected to the Internet."
-#~ msgstr " "
-
-#~ msgid "files sending by FTP"
-#~ msgstr " FTP"
-
-#~ msgid "Relaunch 'lilo'"
-#~ msgstr " 'lilo'"
-
-#~ msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
-#~ msgstr " initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
-
-#~ msgid "Copy %s to %s"
-#~ msgstr " %s %s"
-
-#~ msgid "Backup %s to %s.old"
-#~ msgstr " %s %s.old"
-
-#~ msgid "Author:"
-#~ msgstr ":"
-
-#~ msgid "Printer sharing"
-#~ msgstr " "
-
-#~ msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
-#~ msgstr "GDI Zenographics ZJ-Stream "
-
-#~ msgid "Office"
-#~ msgstr ""
-
-#~ msgid "Set of tools for mail, news, web, file transfer, and chat"
-#~ msgstr " , , web, , "
-
-#~ msgid "Games"
-#~ msgstr ""
-
-#~ msgid "Multimedia - Graphics"
-#~ msgstr " - "
-
-#~ msgid "Multimedia - Sound"
-#~ msgstr " - "
-
-#~ msgid "Audio-related tools: mp3 or midi players, mixers, etc"
-#~ msgstr " : MP3 MIDI , , .. "
-
-#~ msgid "Multimedia - Video"
-#~ msgstr " - "
-
-#~ msgid "Video players and editors"
-#~ msgstr " "
-
-#~ msgid "Multimedia - CD Burning"
-#~ msgstr " - CD"
-
-#~ msgid "Tools to create and burn CD's"
-#~ msgstr " CD-"
-
-#~ msgid "More Graphical Desktops (Gnome, IceWM)"
-#~ msgstr " desktop- (Gnome, IceWM)"
-
-#~ msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
-#~ msgstr "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, .."
-
-#~ msgid "Personal Information Management"
-#~ msgstr " "
-
-#~ msgid "Tools for your Palm Pilot or your Visor"
-#~ msgstr " Palm Pilot Visor- "
-
-#~ msgid "Personal Finance"
-#~ msgstr " "
-
-#~ msgid "Programs to manage your finances, such as gnucash"
-#~ msgstr " , gnucash"
-
-#~ msgid "no network card found"
-#~ msgstr " "
-
-#~ msgid "Get the most from the Internet"
-#~ msgstr " "
-
-#~ msgid "Push multimedia to its limits!"
-#~ msgstr " !"
-
-#~ msgid "Discover the most up-to-date graphical and multimedia tools!"
+#~ "Please enter proxy login and password, if any.\n"
+#~ "Leave it blank if you don't want login/passwd"
#~ msgstr ""
-#~ " !"
+#~ ", proxy, .\n"
+#~ " , /"
-#~ msgid ""
-#~ "Mandrake Linux 9.2 provides the best Open Source games - arcade, action, "
-#~ "strategy, ..."
-#~ msgstr ""
-#~ "Mandrake Linux 9.2 - "
-#~ ", .."
+#~ msgid "login"
+#~ msgstr " "
-#~ msgid ""
-#~ "Mandrake Linux 9.2 provides a powerful tool to fully customize and "
-#~ "configure your machine"
-#~ msgstr ""
-#~ "Mandrake Linux 9.2 "
-#~ " "
+#~ msgid "password"
+#~ msgstr ""
-#~ msgid "User interfaces"
-#~ msgstr " "
+#~ msgid "re-type password"
+#~ msgstr " "
-#~ msgid ""
-#~ "Use the full power of the GNU gcc 3 compiler as well as the best Open "
-#~ "Source development environments"
-#~ msgstr ""
-#~ " GNU gcc 3 - "
-#~ " "
+#~ msgid "The passwords don't match. Try again!"
+#~ msgstr " . !"
-#~ msgid "Development simplified"
-#~ msgstr " "
+#~ msgid "Can't write file %s"
+#~ msgstr " %s "
-#~ msgid ""
-#~ "This firewall product includes network features that allow you to fulfill "
-#~ "all your security needs"
-#~ msgstr ""
-#~ " firewall "
-#~ " ."
+#~ msgid "no help implemented yet.\n"
+#~ msgstr " .\n"
-#~ msgid "Strategic partners"
-#~ msgstr " "
+#~ msgid "Please click on a medium"
+#~ msgstr ", "
-#~ msgid "Certify yourself on Linux"
-#~ msgstr " Linux"
+#~ msgid "Removing LPRng..."
+#~ msgstr " LPRng..."
-#~ msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
-#~ msgstr " MandrakeSoft Linux-Campus"
+#~ msgid "Removing LPD..."
+#~ msgstr " LPD..."
-#~ msgid "Discover MandrakeClub and Mandrake Corporate Club"
-#~ msgstr " MandrakeClub Mandrake Corporate Club"
+#~ msgid "usage: drakfloppy\n"
+#~ msgstr ": drakfloppy\n"
#, fuzzy
#~ msgid ""
-#~ "LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
-#~ "automated. DrakX will analyze the disk boot sector and act according to\n"
-#~ "what it finds there:\n"
-#~ "\n"
-#~ " * if a Windows boot sector is found, it will replace it with a grub/"
-#~ "LILO\n"
-#~ "boot sector. This way you will be able to load either GNU/Linux or "
-#~ "another\n"
-#~ "OS.\n"
-#~ "\n"
-#~ " * if a grub or LILO boot sector is found, it will replace it with a new\n"
-#~ "one.\n"
-#~ "\n"
-#~ "If it cannot make a determination, DrakX will ask you where to place the\n"
-#~ "bootloader.\n"
-#~ "\n"
-#~ "\"Boot device\": in most cases, you will not change the default (\"First\n"
-#~ "sector of drive (MBR)\"), but if you prefer, the bootloader can be\n"
-#~ "installed on the second hard drive (\"/dev/hdb\"), or even on a floppy "
-#~ "disk\n"
-#~ "(\"On Floppy\").\n"
-#~ "\n"
-#~ "Checking \"Create a boot disk\" allows you to have a rescue boot media\n"
-#~ "handy.\n"
-#~ "\n"
-#~ "The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it "
-#~ "by\n"
-#~ "booting the CD-ROM, pressing the >> F1<< key at boot and typing "
-#~ ">>rescue<<\n"
-#~ "at the prompt. If your computer cannot boot from the CD-ROM, there are "
-#~ "at\n"
-#~ "least two situations where having a boot floppy is critical:\n"
-#~ "\n"
-#~ " * when installing the bootloader, DrakX will rewrite the boot sector "
-#~ "(MBR)\n"
-#~ "of your main disk (unless you are using another boot manager), to allow "
-#~ "you\n"
-#~ "to start up with either Windows or GNU/Linux (assuming you have Windows "
-#~ "on\n"
-#~ "your system). If at some point you need to reinstall Windows, the "
-#~ "Microsoft\n"
-#~ "install process will rewrite the boot sector and remove your ability to\n"
-#~ "start GNU/Linux!\n"
-#~ "\n"
-#~ " * if a problem arises and you cannot start GNU/Linux from the hard "
-#~ "disk,\n"
-#~ "this floppy will be the only means of starting up GNU/Linux. It contains "
-#~ "a\n"
-#~ "fair number of system tools for restoring a system that has crashed due "
-#~ "to\n"
-#~ "a power failure, an unfortunate typing error, a forgotten root password, "
-#~ "or\n"
-#~ "any other reason.\n"
-#~ "\n"
-#~ "If you say \"Yes\", you will be asked to insert a disk in the drive. The\n"
-#~ "floppy disk must be blank or have non-critical data on it - DrakX will\n"
-#~ "format the floppy and will rewrite the whole disk."
-#~ msgstr ""
-#~ "Mandrake Linux CDROM- . \n"
-#~ ", CDROM-, >>F1<< "
-#~ "\n"
-#~ ">>rescue<<. , CDROM, "
-#~ "\n"
-#~ " :\n"
-#~ "\n"
-#~ " * boot loader, DrakX "
-#~ "(MBR) ( ), "
-#~ " \n"
-#~ " Windows GNU/Linux ( Windows ). "
-#~ "\n"
-#~ " Windows, "
-#~ "Microsoft\n"
-#~ " GNU/"
-#~ "Linux!\n"
-#~ "\n"
-#~ " * GNU/Linux "
-#~ ",\n"
-#~ " GNU/Linux. "
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ " , , "
-#~ "\n"
-#~ ".\n"
-#~ "\n"
-#~ " , \n"
-#~ ". , , "
-#~ "\n"
-#~ ", . , "
-#~ "DrakX\n"
-#~ " ."
-
-#~ msgid ""
-#~ "The following printers are configured. Double-click on a printer to "
-#~ "change its settings; to make it the default printer; to view information "
-#~ "about it; or to make a printer on a remote CUPS server available for Star "
-#~ "Office/OpenOffice.org/GIMP."
-#~ msgstr ""
-#~ " .\n"
-#~ " , "
-#~ " , CUPS "
-#~ " Star Office/OpenOffice.org/GIMP."
-
-#~ 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''."
-
-#~ msgid "DrakFloppy Error: %s"
-#~ msgstr " DrakFloppy: %s"
-
-#~ msgid "Launch Aurora at boot time"
-#~ msgstr " Aurora "
-
-#~ msgid "Traditional Gtk+ Monitor"
-#~ msgstr " Gtk+ "
-
-#~ msgid "Traditional Monitor"
-#~ msgstr " "
-
-#~ msgid "NewStyle Monitor"
-#~ msgstr "NewStyle "
-
-#~ msgid "NewStyle Categorizing Monitor"
-#~ msgstr "NewStyle "
-
-#~ msgid "Secure Connection"
-#~ msgstr " "
-
-#~ msgid "FTP Connection"
-#~ msgstr "FTP "
-
-#~ msgid "Mail/Groupware/News"
-#~ msgstr ", /Groupware/"
-
-#~ msgid "Postfix mail server, Inn news server"
-#~ msgstr "Postfix , Inn "
-
-#~ msgid "/Options"
-#~ msgstr "/"
-
-#~ msgid "/Autodetect jazz drives"
-#~ msgstr "/ jazz "
-
-#~ msgid "/Autodetect modems"
-#~ msgstr "/ "
-
-#~ msgid "/Autodetect printers"
-#~ msgstr "/A "
-
-#~ msgid ""
-#~ "Click on \"OK\" if you want to delete all data and partitions present on\n"
-#~ "this hard drive. Be careful, after clicking on \"OK\", you will not be "
-#~ "able\n"
-#~ "to recover any data and partitions present on this hard drive, including\n"
-#~ "any Windows data.\n"
-#~ "\n"
-#~ "Click on \"Cancel\" to stop this operation without losing any data and\n"
-#~ "partitions present on this hard drive."
-#~ msgstr ""
-#~ " \"OK\", \n"
-#~ " . , \"OK\", "
-#~ " "
-#~ " ,\n"
-#~ " Windows .\n"
-#~ "\n"
-#~ " \"\", \n"
-#~ " ."
-
-#~ msgid ""
-#~ "You must indicate where you wish to place the information required to "
-#~ "boot\n"
-#~ "GNU/Linux.\n"
-#~ "\n"
-#~ "Unless you know exactly what you are doing, choose \"First sector of "
-#~ "drive\n"
-#~ "(MBR)\"."
-#~ msgstr ""
-#~ " \n"
-#~ " , GNU/Linux.\n"
-#~ "\n"
-#~ " , , \" \n"
-#~ " (MBR)\"."
-
-#~ msgid ""
-#~ "After you have configured the general bootloader parameters, the list of\n"
-#~ "boot options which will be available at boot time will be displayed.\n"
-#~ "\n"
-#~ "If there is another operating system installed on your machine, it will\n"
-#~ "automatically be added to the boot menu. Here, you can choose to fine-"
-#~ "tune\n"
-#~ "the existing options. Select an entry and click \"Modify\" to modify or\n"
-#~ "remove it. \"Add\" creates a new entry. and \"Done\" goes on to the next\n"
-#~ "installation step.\n"
-#~ "\n"
-#~ "You may also not want to give access to these other operating systems to\n"
-#~ "anyone. In which case, you can delete the corresponding entries. But "
-#~ "then,\n"
-#~ "you will need a boot disk in order to boot those other operating systems!"
-#~ msgstr ""
-#~ "LILO ( LInux LOader) Grub bootloader-: \n"
-#~ "GNU/Linux "
-#~ " .\n"
-#~ ", \n"
-#~ ". , \n"
-#~ " . .\n"
-#~ "\n"
-#~ "\n"
-#~ " ,\n"
-#~ " . ,\n"
-#~ " boot-, !"
-
-#~ msgid ""
-#~ "DrakX generally detects the number of buttons your mouse possesses. If "
-#~ "not,\n"
-#~ "it assumes you have a two-button mouse and will set it up for third-"
-#~ "button\n"
-#~ "emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
-#~ "USB mouse.\n"
-#~ "\n"
-#~ "If you wish to specify a different type of mouse, select the appropriate\n"
-#~ "type from the provided list.\n"
-#~ "\n"
-#~ "If you choose a mouse other than the default, a test screen will be\n"
-#~ "displayed. Use the buttons and wheel to verify that the settings are\n"
-#~ "correct. If the mouse is not working well, press the space bar or "
-#~ "[Return]\n"
-#~ "to \"Cancel\" and choose again.\n"
-#~ "\n"
-#~ "Sometimes, wheel mouses are not automatically detected. You will need to\n"
-#~ "manually select it in the list. Be sure to select the one corresponding "
-#~ "to\n"
-#~ "the correct port it is attached to. After you have pressed the \"OK\"\n"
-#~ "button, a mouse image will be displayed. You then need to move the wheel "
-#~ "of\n"
-#~ "your mouse to activate it correctly. Then test that all buttons and\n"
-#~ "movements are correct."
-#~ msgstr ""
-#~ " , DrakX \n"
-#~ " . DrakX PS/2, "
-#~ "\n"
-#~ "USB .\n"
-#~ "\n"
-#~ " , "
-#~ ",\n"
-#~ " .\n"
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ " . , , \n"
-#~ " . , , "
-#~ "\n"
-#~ " \"\" ."
-
-#~ msgid ""
-#~ "The first step is to choose your preferred language.\n"
-#~ "\n"
-#~ "Please choose your preferred language for installation and system usage.\n"
-#~ "\n"
-#~ "Clicking on the \"%s\" button will allow you to select other\n"
-#~ "languages to be installed on your workstation. Selecting other languages\n"
-#~ "will install the language-specific files for system documentation and\n"
-#~ "applications. For example, if you host users from Spain on your machine,\n"
-#~ "select English as the main language in the tree view and in the Advanced\n"
-#~ "section, click on the box corresponding to \"Spanish|Spain\".\n"
-#~ "\n"
-#~ "Note that multiple languages may be installed. Once you have selected "
-#~ "any\n"
-#~ "additional locales, click the \"OK\" button to continue.\n"
-#~ "\n"
-#~ "To switch from one language to the other, you can launch the\n"
-#~ "\"/usr/sbin/localedrake\" command as \"root\" to change the whole system\n"
-#~ "language, or as a simple user to only change that user's default language."
-#~ msgstr ""
-#~ ", .\n"
-#~ "\n"
-#~ " \"\" \n"
-#~ " . \n"
-#~ " \n"
-#~ ". , ,\n"
-#~ " \n"
-#~ "\"\" \n"
-#~ "\"|\".\n"
-#~ ", . \n"
-#~ " , \"OK\", ."
-
-#~ msgid ""
-#~ "Normally, DrakX selects the right keyboard for you (depending on the\n"
-#~ "language you have chosen). However, you might not have a keyboard that\n"
-#~ "corresponds exactly to your language: for example, if you are an English\n"
-#~ "speaking Swiss person, you may still want your keyboard to be a Swiss\n"
-#~ "keyboard. Or if you speak English but are located in Quebec, you may "
-#~ "find\n"
-#~ "yourself in the same situation. In both cases, you will have to go back "
-#~ "to\n"
-#~ "this installation step and select an appropriate keyboard from the list.\n"
-#~ "\n"
-#~ "Click on the \"More\" button to be presented with the complete list of\n"
-#~ "supported keyboards.\n"
-#~ "\n"
-#~ "If you choose a keyboard layout based on a non-latin alphabet, you will "
-#~ "be\n"
-#~ "asked in the next dialog to choose the key binding that will switch the\n"
-#~ "keyboard layout between the latin and non-latin layouts."
-#~ msgstr ""
-#~ ", DrakX ( "
-#~ "\n"
-#~ " , ) . "
-#~ " \n"
-#~ " : , "
-#~ " ,\n"
-#~ " . "
-#~ "a, \n"
-#~ " , . , "
-#~ " \n"
-#~ " "
-#~ ".\n"
-#~ "\n"
-#~ ", , "
-#~ " \n"
-#~ " , .\n"
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ " \"\". "
-#~ " ."
-
-#~ msgid ""
-#~ "DrakX now needs to know if you want to perform a default (\"Recommended"
-#~ "\")\n"
-#~ "installation or if you want to have greater control (\"Expert\") over "
-#~ "your\n"
-#~ "installation. You can also choose to do a new installation or upgrade "
-#~ "your\n"
-#~ "existing Mandrake Linux system:\n"
-#~ "\n"
-#~ " * \"Install\": completely wipes out the old system. However, depending "
-#~ "on\n"
-#~ "what is currently installed on your machine, you may be able to keep "
-#~ "some\n"
-#~ "old partitions (Linux or otherwise) unchanged;\n"
-#~ "\n"
-#~ " * \"Upgrade\": this installation class allows to simply update the\n"
-#~ "packages currently installed on your Mandrake Linux system. It keeps "
-#~ "your\n"
-#~ "hard drives' current partitions as well as user configurations. All "
-#~ "other\n"
-#~ "configuration steps remain available, similar to a normal installation;\n"
-#~ "\n"
-#~ " * \"Upgrade Packages Only\": this new installation class allows you to\n"
-#~ "upgrade an existing Mandrake Linux system while keeping all system\n"
-#~ "configurations unchanged. Adding new packages to the current "
-#~ "installation\n"
-#~ "is also possible.\n"
-#~ "\n"
-#~ "Upgrades should work fine on Mandrake Linux systems using version \"8.1"
-#~ "\"\n"
-#~ "or later.\n"
-#~ "\n"
-#~ "Depending on your GNU/Linux knowledge, select one of the following "
-#~ "choices:\n"
-#~ "\n"
-#~ " * Recommended: choose this if you have never installed a GNU/Linux\n"
-#~ "operating system. The installation will be very easy and you will only "
-#~ "be\n"
-#~ "asked a few questions;\n"
-#~ "\n"
-#~ " * Expert: if you have a good GNU/Linux understanding, you may wish to\n"
-#~ "perform a highly customized installation. Some of the decisions you will\n"
-#~ "have to make may be difficult if you do not have good GNU/Linux "
-#~ "knowledge,\n"
-#~ "so it is not recommended that those without a fair amount of experience\n"
-#~ "select this installation class."
-#~ msgstr ""
-#~ "DrakX (\""
-#~ "\")\n"
-#~ " , - (\"\"). \n"
-#~ " \n"
-#~ " Mandrake Linux . \"\" \n"
-#~ " . \"\", \n"
-#~ " \n"
-#~ "\n"
-#~ ", \"\", \n"
-#~ "Mandrake Linux .\n"
-#~ "\n"
-#~ ", \"\", \n"
-#~ " Mandrake Linux.\n"
-#~ "\n"
-#~ " GNU/Linux, , "
-#~ "\n"
-#~ " / Mandrake Linux "
-#~ ":\n"
-#~ "\n"
-#~ " * : , GNU/"
-#~ "Linux\n"
-#~ " . "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " * : GNU/Linux, "
-#~ "\n"
-#~ " . "
-#~ "\n"
-#~ " . , "
-#~ "\n"
-#~ " GNU/Linux, , \n"
-#~ " ."
-
-#~ msgid "Please be patient. This operation can take several minutes."
-#~ msgstr ""
-#~ ", . ."
-
-#~ msgid ""
-#~ "At this point, you need to choose which partition(s) will be used for "
-#~ "the\n"
-#~ "installation of your Mandrake Linux system. If partitions have already "
-#~ "been\n"
-#~ "defined, either from a previous installation of GNU/Linux or from "
-#~ "another\n"
-#~ "partitioning tool, you can use existing partitions. Otherwise, hard "
-#~ "drive\n"
-#~ "partitions must be defined.\n"
-#~ "\n"
-#~ "To create partitions, you must first select a hard drive. You can select\n"
-#~ "the disk for partitioning by clicking on ``hda'' for the first IDE "
-#~ "drive,\n"
-#~ "``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
-#~ "\n"
-#~ "To partition the selected hard drive, you can use these options:\n"
-#~ "\n"
-#~ " * \"Clear all\": this option deletes all partitions on the selected "
-#~ "hard\n"
-#~ "drive;\n"
-#~ "\n"
-#~ " * \"Auto allocate\": this option enables to automatically create ext3 "
-#~ "and\n"
-#~ "swap partitions on your hard drive's free space;\n"
-#~ "\n"
-#~ "\"More\": gives access to additional features:\n"
-#~ "\n"
-#~ " * \"Save partition table\": saves the partition table to a floppy. "
-#~ "Useful\n"
-#~ "for later partition-table recovery, if necessary. It is strongly\n"
-#~ "recommended to perform this step;\n"
-#~ "\n"
-#~ " * \"Restore partition table\": allows to restore a previously saved\n"
-#~ "partition table from a floppy disk;\n"
-#~ "\n"
-#~ " * \"Rescue partition table\": if your partition table is damaged, you "
-#~ "can\n"
-#~ "try to recover it using this option. Please be careful and remember that "
-#~ "it\n"
-#~ "can fail;\n"
#~ "\n"
-#~ " * \"Reload partition table\": discards all changes and loads your "
-#~ "initial\n"
-#~ "partition table;\n"
-#~ "\n"
-#~ " * \"Removable media automounting\": unchecking this option will force\n"
-#~ "users to manually mount and unmount removable medias such as floppies "
-#~ "and\n"
-#~ "CD-ROMs.\n"
-#~ "\n"
-#~ " * \"Wizard\": use this option if you wish to use a wizard to partition\n"
-#~ "your hard drive. This is recommended if you do not have a good knowledge "
-#~ "of\n"
-#~ "partitioning;\n"
-#~ "\n"
-#~ " * \"Undo\": use this option to cancel your changes;\n"
-#~ "\n"
-#~ " * \"Toggle to normal/expert mode\": allows additional actions on\n"
-#~ "partitions (type, options, format) and gives more information;\n"
-#~ "\n"
-#~ " * \"Done\": when you are finished partitioning your hard drive, this "
-#~ "will\n"
-#~ "save your changes back to disk.\n"
-#~ "\n"
-#~ "Note: you can reach any option using the keyboard. Navigate through the\n"
-#~ "partitions using [Tab] and [Up/Down] arrows.\n"
-#~ "\n"
-#~ "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"
-#~ "\n"
-#~ "To get information about the different filesystem types available, "
-#~ "please\n"
-#~ "read the ext2FS chapter from the ``Reference Manual''.\n"
-#~ "\n"
-#~ "If you are installing on a PPC machine, you will want to create a small "
-#~ "HFS\n"
-#~ "``bootstrap'' partition of at least 1MB, which will be used by the "
-#~ "yaboot\n"
-#~ "bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
-#~ "may find it a useful place to store a spare kernel and ramdisk images "
-#~ "for\n"
-#~ "emergency boot situations."
-#~ msgstr ""
-#~ " "
-#~ "\n"
-#~ " Mandrake Linux . , "
-#~ "\n"
-#~ " GNU/Linux , "
-#~ "\n"
-#~ " . "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " , . \n"
-#~ " , \"hda\" IDE "
-#~ ",\n"
-#~ "\"hdb\" , \"sda\" SCSI ...\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"
-#~ " [Tab} /.\n"
-#~ "\n"
-#~ " , :\n"
-#~ "\n"
-#~ " * Ctrl-c, ( );\n"
-#~ "\n"
-#~ " * Ctrl-d, ;\n"
-#~ "\n"
-#~ " * Ctrl-m, .\n"
-#~ "\n"
-#~ " PPC , HFS\n"
-#~ "\"bootstrap\" 1 , boot loader-"
-#~ "\n"
-#~ "yaboot. -, 50 , "
-#~ "\n"
-#~ " , image \n"
-#~ "ramdisk ."
-
-#~ msgid ""
-#~ "At this point, it is time to choose the security level desired for the\n"
-#~ "machine. As a rule of thumb, the more exposed the machine is, and the "
-#~ "more\n"
-#~ "the data stored in it is crucial, the higher the security level should "
-#~ "be.\n"
-#~ "However, a higher security level is generally obtained at the expense of\n"
-#~ "ease of use. Refer to the \"msec\" chapter of the ``Reference Manual'' "
-#~ "to\n"
-#~ "get more information about the meaning of these levels.\n"
-#~ "\n"
-#~ "If you do not know what to choose, keep the default option."
-#~ msgstr ""
-#~ " , , \n"
-#~ ". , "
-#~ "\n"
-#~ " , - "
-#~ ".\n"
-#~ " , .\n"
-#~ " MSEC Reference Manual, "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " , ."
-
-#~ msgid ""
-#~ "Before continuing, you should read carefully the terms of the license. "
-#~ "It\n"
-#~ "covers the whole Mandrake Linux distribution, and if you do not agree "
-#~ "with\n"
-#~ "all the terms included in it, click on the \"Refuse\" button which will\n"
-#~ "immediately terminate the installation. To continue with the "
-#~ "installation,\n"
-#~ "click on the \"Accept\" button."
-#~ msgstr ""
-#~ " , . "
-#~ "\n"
-#~ " Mandrake Linux , , "
-#~ " \n"
-#~ " , . . "
-#~ " \n"
-#~ " , ."
-
-#~ msgid ""
-#~ "Your new Mandrake Linux operating system is currently being installed.\n"
-#~ "Depending on the number of packages you will be installing and the speed "
-#~ "of\n"
-#~ "your computer, this operation could take from a few minutes to a\n"
-#~ "significant amount of time.\n"
-#~ "\n"
-#~ "Please be patient."
-#~ msgstr ""
-#~ " Mandrake Linux . "
-#~ "\n"
-#~ " ( "
-#~ " \n"
-#~ " ).\n"
-#~ "\n"
-#~ ", ."
-
-#~ msgid ""
-#~ "Any partitions that have been newly defined must be formatted for use\n"
-#~ "(formatting means creating a filesystem on it).\n"
-#~ "\n"
-#~ "At this time, you may wish to reformat some already existing partitions "
-#~ "to\n"
-#~ "erase any data they contain. If you wish to do that, please select those\n"
-#~ "partitions as well.\n"
-#~ "\n"
-#~ "Please note that it is not necessary to reformat all pre-existing\n"
-#~ "partitions. You must reformat the partitions containing the operating\n"
-#~ "system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
-#~ "reformat partitions containing data that you wish to keep (typically\n"
-#~ "\"/home\").\n"
-#~ "\n"
-#~ "Please be careful when selecting partitions. After formatting, all data "
-#~ "on\n"
-#~ "the selected partitions will be deleted and you will not be able to "
-#~ "recover\n"
-#~ "it.\n"
-#~ "\n"
-#~ "Click on \"OK\" when you are ready to format partitions.\n"
-#~ "\n"
-#~ "Click on \"Cancel\" if you want to choose another partition for your new\n"
-#~ "Mandrake Linux operating system installation.\n"
-#~ "\n"
-#~ "Click on \"%s\" if you wish to select partitions that will be checked\n"
-#~ "for bad blocks on the disk."
-#~ msgstr ""
-#~ " , "
-#~ "\n"
-#~ "( ).\n"
-#~ "\n"
-#~ " "
-#~ ", \n"
-#~ " , . , "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ ", , \n"
-#~ " . \n"
-#~ " ( \"/\", \"/usr\" \"/var\"), \n"
-#~ " , "
-#~ "(\n"
-#~ "\"/home\").\n"
-#~ "\n"
-#~ ", , . "
-#~ "\n"
-#~ " \n"
-#~ ".\n"
-#~ "\n"
-#~ " \"OK\", .\n"
-#~ "\n"
-#~ " \"\", "
-#~ "\n"
-#~ " Mandrake Linux .\n"
-#~ "\n"
-#~ " \"\", , \n"
-#~ " ."
-
-#~ msgid ""
-#~ "There you are. Installation is now completed and your GNU/Linux system "
-#~ "is\n"
-#~ "ready to use. Just click \"OK\" to reboot the system. You can start\n"
-#~ "GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
-#~ "soon as the computer has booted up again.\n"
-#~ "\n"
-#~ "The \"%s\" button (in Expert mode only) shows two more buttons to:\n"
-#~ "\n"
-#~ " * \"generate auto-install floppy\": to create an installation floppy "
-#~ "disk\n"
-#~ "which will automatically perform a whole installation without the help "
-#~ "of\n"
-#~ "an operator, similar to the installation you just configured.\n"
-#~ "\n"
-#~ " Note that two different options are available after clicking the "
-#~ "button:\n"
-#~ "\n"
-#~ " * \"Replay\". This is a partially automated installation as the\n"
-#~ "partitioning step (and only this one) remains interactive;\n"
-#~ "\n"
-#~ " * \"Automated\". Fully automated installation: the hard disk is\n"
-#~ "completely rewritten, all data is lost.\n"
-#~ "\n"
-#~ " This feature is very handy when installing a great number of similar\n"
-#~ "machines. See the Auto install section on our web site;\n"
-#~ "\n"
-#~ " * \"Save packages selection\"(*): saves the package selection as done\n"
-#~ "previously. Then, when doing another installation, insert the floppy "
-#~ "inside\n"
-#~ "the drive and run the installation going to the help screen by pressing "
-#~ "on\n"
-#~ "the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
-#~ "\n"
-#~ "(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
-#~ "\"mformat a:\")"
-#~ msgstr ""
-#~ " ! GNU/Linux \n"
-#~ ". \"OK\", . \n"
-#~ " GNU/Linux Windows, ( "
-#~ "),\n"
-#~ " .\n"
-#~ "\n"
-#~ " \"\" ( \"\") :\n"
-#~ "\n"
-#~ " * \" \": \n"
-#~ " , \n"
-#~ " , , -"
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " , , :\n"
-#~ "\n"
-#~ " * \"\". "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " * \"\". : \n"
-#~ " , .\n"
-#~ "\n"
-#~ " , \n"
-#~ ". web-.\n"
-#~ "\n"
-#~ " * \" \"(*): , "
-#~ " \n"
-#~ " . , \n"
-#~ " , \n"
-#~ " [F1] >>linux defcfg=\"floppy\"<<.\n"
-#~ "\n"
-#~ "(*) FAT- ( GNU/"
-#~ "Linux,\n"
-#~ " \"mformat a:\")"
-
-#~ msgid ""
-#~ "You now need to choose where you want to install the Mandrake Linux\n"
-#~ "operating system on your hard drive. If your hard drive is empty or if "
-#~ "an\n"
-#~ "existing operating system is using all the available space, you will "
-#~ "need\n"
-#~ "to partition it. Basically, partitioning a hard drive consists of "
-#~ "logically\n"
-#~ "dividing it to create space to install your new Mandrake Linux system.\n"
-#~ "\n"
-#~ "Because the partitioning process' effects are usually irreversible,\n"
-#~ "partitioning can be intimidating and stressful if you are an "
-#~ "inexperienced\n"
-#~ "user. Fortunately, there is a wizard which simplifies this process. "
-#~ "Before\n"
-#~ "beginning, please consult the manual and take your time.\n"
-#~ "\n"
-#~ "If you are running the installation in Expert mode, you will enter\n"
-#~ "DiskDrake, the Mandrake Linux partitioning tool, which allows you to\n"
-#~ "fine-tune your partitions. See the DiskDrake section in the ``Starter\n"
-#~ "Guide''. From the installation interface, you can use the wizards as\n"
-#~ "described here by clicking the dialog's \"Wizard\" button.\n"
-#~ "\n"
-#~ "If partitions have already been defined, either from a previous\n"
-#~ "installation or from another partitioning tool, simply select those to\n"
-#~ "install your Linux system.\n"
-#~ "\n"
-#~ "If partitions are not defined, you will need to create them using the\n"
-#~ "wizard. Depending on your hard drive configuration, several options are\n"
-#~ "available.\n"
-#~ "\n"
-#~ " * \"Use free space\": this option will simply lead to an automatic\n"
-#~ "partitioning of your blank drive(s). You will not be prompted further;\n"
-#~ "\n"
-#~ " * \"Use existing partition\": the wizard has detected one or more "
-#~ "existing\n"
-#~ "Linux partitions on your hard drive. If you want to use them, choose "
-#~ "this\n"
-#~ "option. You will then be asked to choose the mount points associated to\n"
-#~ "each of the partitions. The legacy mount points are selected by default,\n"
-#~ "and you should generally keep them.\n"
-#~ "\n"
-#~ " * \"Use the free space on the Windows partition\": if Microsoft Windows "
-#~ "is\n"
-#~ "installed on your hard drive and takes all the space available on it, "
-#~ "you\n"
-#~ "have to create free space for Linux data. To do so, you can delete your\n"
-#~ "Microsoft Windows partition and data (see ``Erase entire disk'' or "
-#~ "``Expert\n"
-#~ "mode'' solutions) or resize your Microsoft Windows partition. Resizing "
-#~ "can\n"
-#~ "be performed without the loss of any data, provided you previously\n"
-#~ "defragment the Windows partition. Backing up your data won't hurt "
-#~ "either..\n"
-#~ "This solution is recommended if you want to use both Mandrake Linux and\n"
-#~ "Microsoft Windows on the same computer.\n"
-#~ "\n"
-#~ " Before choosing this option, please understand that after this\n"
-#~ "procedure, the size of your Microsoft Windows partition will be smaller\n"
-#~ "than at the present time. You will have less free space under Microsoft\n"
-#~ "Windows to store your data or to install new software;\n"
-#~ "\n"
-#~ " * \"Erase entire disk\": if you want to delete all data and all "
-#~ "partitions\n"
-#~ "present on your hard drive and replace them with your new Mandrake Linux\n"
-#~ "system, choose this option. Be careful with this solution because you "
-#~ "will\n"
-#~ "not be able to revert your choice after you confirm;\n"
-#~ "\n"
-#~ " !! If you choose this option, all data on your disk will be lost. !!\n"
-#~ "\n"
-#~ " * \"Remove Windows\": this will simply erase everything on the drive "
-#~ "and\n"
-#~ "begin fresh, partitioning everything from scratch. All data on your disk\n"
-#~ "will be lost;\n"
-#~ "\n"
-#~ " !! If you choose this option, all data on your disk will be lost. !!\n"
-#~ "\n"
-#~ " * \"Expert mode\": choose this option if you want to manually partition\n"
-#~ "your hard drive. Be careful -- it is a powerful but dangerous option. "
-#~ "You\n"
-#~ "can very easily lose all your data. Hence, do not choose this unless you\n"
-#~ "know what you are doing. To know how to use the DiskDrake utility used\n"
-#~ "here, refer to the section ``Managing Your Partitions'' of the "
-#~ "````Starter\n"
-#~ "Guide''''"
-#~ msgstr ""
-#~ " "
-#~ "\n"
-#~ "Mandrake Linux . "
-#~ "\n"
-#~ " , "
-#~ ".\n"
-#~ " , "
-#~ "\n"
-#~ " Mandrake Linux .\n"
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ " , . , \n"
-#~ ", . , "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " , "
-#~ "DiskDrake,\n"
-#~ " Mandrake Linux, "
-#~ "\n"
-#~ " . DiskDrake . \n"
-#~ " , \n"
-#~ "\"\" .\n"
-#~ "\n"
-#~ " , \n"
-#~ " , Linux\n"
-#~ ".\n"
-#~ "\n"
-#~ " , \n"
-#~ ". , "
-#~ "\n"
-#~ ":\n"
-#~ "\n"
-#~ " * \" \": \n"
-#~ " . "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " * \" \": \n"
-#~ " Linux . "
-#~ ",\n"
-#~ " .\n"
-#~ "\n"
-#~ " * \" Windows \": "
-#~ "\n"
-#~ "Microsoft Windows \n"
-#~ " , Linux . \n"
-#~ ", Microsoft Windows "
-#~ "(\n"
-#~ " \" \" \" \") \n"
-#~ " Microsoft Windows . "
-#~ "\n"
-#~ " . , \n"
-#~ " Mandrake Linux Microsoft Windows .\n"
-#~ "\n"
-#~ " , , , "
-#~ ",\n"
-#~ " Microsoft Windows -, "
-#~ ".\n"
-#~ " - Microsoft Windows "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " * \" \": , "
-#~ "\n"
-#~ " Mandrake Linux\n"
-#~ ", . , "
-#~ "\n"
-#~ " , .\n"
-#~ "\n"
-#~ " !! , "
-#~ " !!\n"
-#~ "\n"
-#~ " * \" Windows\": "
-#~ "\n"
-#~ ", . .\n"
-#~ "\n"
-#~ " !! , "
-#~ " !!\n"
-#~ "\n"
-#~ " * \" \": , "
-#~ "\n"
-#~ " . - , . "
-#~ "\n"
-#~ " . , \n"
-#~ " ."
-
-#~ msgid ""
-#~ "The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it "
-#~ "by\n"
-#~ "booting from the CD-ROM, press the >>F1<< key at boot and type "
-#~ ">>rescue<<\n"
-#~ "at the prompt. But in case your computer cannot boot from the CD-ROM, "
-#~ "you\n"
-#~ "should come back to this step for help in at least two situations:\n"
-#~ "\n"
-#~ " * when installing the bootloader, DrakX will rewrite the boot sector (\n"
-#~ "MBR) of your main disk (unless you are using another boot manager), to\n"
-#~ "allow you to start up with either Windows or GNU/Linux (assuming you "
-#~ "have\n"
-#~ "Windows in your system). If you need to reinstall Windows, the Microsoft\n"
-#~ "install process will rewrite the boot sector, and then you will not be "
-#~ "able\n"
-#~ "to start GNU/Linux!\n"
-#~ "\n"
-#~ " * if a problem arises and you cannot start up GNU/Linux from the hard\n"
-#~ "disk, this floppy disk will be the only means of starting up GNU/Linux. "
-#~ "It\n"
-#~ "contains a fair number of system tools for restoring a system, which has\n"
-#~ "crashed due to a power failure, an unfortunate typing error, a typo in a\n"
-#~ "password, or any other reason.\n"
-#~ "\n"
-#~ "If you say \"Yes\", you will be asked to enter a disk inside the drive. "
-#~ "The\n"
-#~ "floppy disk you will insert must be empty or contain data which you do "
-#~ "not\n"
-#~ "need. You will not have to format it since DrakX will rewrite the whole\n"
-#~ "disk."
-#~ msgstr ""
-#~ "Mandrake Linux CDROM- . \n"
-#~ ", CDROM-, >>F1<< "
-#~ "\n"
-#~ ">>rescue<<. , CDROM, "
-#~ "\n"
-#~ " :\n"
-#~ "\n"
-#~ " * boot loader, DrakX "
-#~ "(MBR) ( ), "
-#~ " \n"
-#~ " Windows GNU/Linux ( Windows ). "
-#~ "\n"
-#~ " Windows, "
-#~ "Microsoft\n"
-#~ " GNU/"
-#~ "Linux!\n"
-#~ "\n"
-#~ " * GNU/Linux "
-#~ ",\n"
-#~ " GNU/Linux. "
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ " , , "
-#~ "\n"
-#~ ".\n"
-#~ "\n"
-#~ " , \n"
-#~ ". , , "
-#~ "\n"
-#~ ", . , "
-#~ "DrakX\n"
-#~ " ."
-
-#~ msgid ""
-#~ "X (for X Window System) is the heart of the GNU/Linux graphical "
-#~ "interface\n"
-#~ "on which all the graphical environments (KDE, GNOME, AfterStep,\n"
-#~ "WindowMaker, etc.) bundled with Mandrake Linux rely.\n"
-#~ "\n"
-#~ "You will be presented the list of available resolutions and color depth\n"
-#~ "available for your hardware. Choose the one that best suit your needs "
-#~ "(you\n"
-#~ "will be able to change that after installation though). When you are\n"
-#~ "satisfied with the sample shown in the monitor, click \"OK\". A window "
-#~ "will\n"
-#~ "then appear and ask you if you can see it.\n"
-#~ "\n"
-#~ "If you are doing an \"Expert\" installation, you will enter the X\n"
-#~ "configuration wizard. See the corresponding section of the manual for "
-#~ "more\n"
-#~ "information about this wizard.\n"
-#~ "\n"
-#~ "If you can see the message during the test, and answer \"Yes\", then "
-#~ "DrakX\n"
-#~ "will proceed to the next step. If you cannot see the message, it simply\n"
-#~ "means that the configuration was wrong and the test will automatically "
-#~ "end\n"
-#~ "after 10 seconds, restoring the screen. Refer then to the video\n"
-#~ "configuration section of the user guide for more information on how to\n"
-#~ "configure your display."
-#~ msgstr ""
-#~ "X ( X Window System) GNU/Linux , "
-#~ "\n"
-#~ " (KDE, Gnome, AfterStep, WindowMaker...) "
-#~ "\n"
-#~ " Mandrake Linux. , DrakX X.\n"
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ " ( ). , X -"
-#~ "\n"
-#~ " . \n"
-#~ " , .\n"
-#~ "\n"
-#~ " \"\" , "
-#~ "\n"
-#~ " X. \n"
-#~ " .\n"
-#~ "\n"
-#~ " , \"\", DrakX "
-#~ "\n"
-#~ " . , , "
-#~ "\n"
-#~ " 10 ,\n"
-#~ " ."
-
-#~ msgid ""
-#~ "You may now choose which services you wish to start at boot time.\n"
-#~ "\n"
-#~ "Here are listed all the services available with the current "
-#~ "installation.\n"
-#~ "Review them carefully and uncheck those which are not always needed at "
-#~ "boot\n"
-#~ "time.\n"
-#~ "\n"
-#~ "You can get a short explanatory text about a service by selecting a\n"
-#~ "specific service. However, if you are not sure whether a service is "
-#~ "useful\n"
-#~ "or not, it is safer to leave the default behavior.\n"
-#~ "\n"
-#~ "!! At this stage, be very careful if you intend to use your machine as a\n"
-#~ "server: you will probably not want to start any services which you do "
-#~ "not\n"
-#~ "need. Please remember that several services can be dangerous if they are\n"
-#~ "enabled on a server. In general, select only the services you really "
-#~ "need.\n"
-#~ "!!"
-#~ msgstr ""
-#~ " .\n"
-#~ "\n"
-#~ " , .\n"
-#~ " , "
-#~ " .\n"
-#~ "\n"
-#~ " , "
-#~ " \n"
-#~ " . , "
-#~ ", -\n"
-#~ " .\n"
-#~ "\n"
-#~ " , "
-#~ ":\n"
-#~ " , . "
-#~ ",\n"
-#~ ", , "
-#~ ".\n"
-#~ " , , ."
-
-#~ msgid ""
-#~ "You are now able to set up your Internet/network connection. If you wish "
-#~ "to\n"
-#~ "connect your computer to the Internet or to a local network, click \"OK"
-#~ "\".\n"
-#~ "The autodetection of network devices and modem will be launched. If this\n"
-#~ "detection fails, uncheck the \"Use auto-detection\" box next time. You "
-#~ "may\n"
-#~ "also choose not to configure the network, or do it later; in that case,\n"
-#~ "simply click the \"Cancel\" button.\n"
-#~ "\n"
-#~ "Available connections are: traditional modem, ISDN modem, ADSL "
-#~ "connection,\n"
-#~ "cable modem, and finally a simple LAN connection (Ethernet).\n"
-#~ "\n"
-#~ "Here, we will not detail each configuration. Simply make sure that you "
-#~ "have\n"
-#~ "all the parameters from your Internet Service Provider or system\n"
-#~ "administrator.\n"
-#~ "\n"
-#~ "You can consult the ``Starter Guide'' chapter about Internet connections\n"
-#~ "for details about the configuration, or simply wait until your system is\n"
-#~ "installed and use the program described there to configure your "
-#~ "connection.\n"
-#~ "\n"
-#~ "If you wish to configure the network later after installation, or if you\n"
-#~ "are finished configuring your network connection, click \"Cancel\"."
-#~ msgstr ""
-#~ " , "
-#~ "\n"
-#~ " . , "
-#~ "\n"
-#~ ", DrakX .\n"
-#~ "\n"
-#~ "Mandrake Linux \n"
-#~ ". : , ISDN , ADSL ,\n"
-#~ " LAN (Ethernet).\n"
-#~ "\n"
-#~ " . , "
-#~ "\n"
-#~ " \n"
-#~ ".\n"
-#~ "\n"
-#~ " "
-#~ "\n"
-#~ " \n"
-#~ " , "
-#~ ".\n"
-#~ "\n"
-#~ " - "
-#~ "\n"
-#~ " , \"\"."
-
-#~ msgid ""
-#~ "Finally, depending on whether or not you chose to be able to select\n"
-#~ "individual packages, you will be presented a tree containing all "
-#~ "packages\n"
-#~ "classified by groups and subgroups. While browsing the tree, you can "
-#~ "select\n"
-#~ "entire groups, subgroups, or individual packages.\n"
-#~ "\n"
-#~ "Whenever you select a package on the tree, a description appears on the\n"
-#~ "right. When your selection is finished, click the \"Install\" button "
-#~ "which\n"
-#~ "will then launch the installation process. Depending on the speed of "
-#~ "your\n"
-#~ "hardware and the number of packages that need to be installed, it may "
-#~ "take\n"
-#~ "a while to complete the process. An installation time estimate is "
-#~ "displayed\n"
-#~ "on the screen, to help you gauge if there is sufficient time to enjoy a "
-#~ "cup\n"
-#~ "of coffee.\n"
-#~ "\n"
-#~ "!! If a server package has been selected, either intentionally or "
-#~ "because\n"
-#~ "it was part of a whole group, you will be asked to confirm that you "
-#~ "really\n"
-#~ "want those servers to be installed. Under Mandrake Linux, any installed\n"
-#~ "servers are started by default at boot time. Even if they are safe and "
-#~ "have\n"
-#~ "no known issues at the time the distribution was shipped, it may happen\n"
-#~ "that security holes are discovered after this version of Mandrake Linux "
-#~ "was\n"
-#~ "finalized. If you do not know what a particular service is supposed to "
-#~ "do\n"
-#~ "or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
-#~ "install the listed services and they will be started automatically by\n"
-#~ "default. !!\n"
-#~ "\n"
-#~ "The \"Automatic dependencies\" option simply disables the warning dialog\n"
-#~ "which appears whenever the installer automatically selects a package. "
-#~ "This\n"
-#~ "occurs because it has determined that it needs to satisfy a dependency "
-#~ "with\n"
-#~ "another package in order to successfully complete the installation.\n"
-#~ "\n"
-#~ "The tiny floppy disk icon at the bottom of the list allows to load the\n"
-#~ "package list chosen during a previous installation. Clicking on this "
-#~ "icon\n"
-#~ "will ask you to insert a floppy disk previously created at the end of\n"
-#~ "another installation. See the second tip of the previous step on how to\n"
-#~ "create such a floppy disk."
-#~ msgstr ""
-#~ ", , "
-#~ "\n"
-#~ " \n"
-#~ ". , , "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " , . \n"
-#~ " , \"\", "
-#~ "\n"
-#~ " . "
-#~ ",\n"
-#~ " , "
-#~ ".\n"
-#~ " , , "
-#~ "\n"
-#~ " "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ "!! , "
-#~ "\n"
-#~ ", , "
-#~ "\n"
-#~ " . Mandrake Linux, "
-#~ "\n"
-#~ " . , \n"
-#~ " , , \n"
-#~ " , Mandrake Linux . "
-#~ "\n"
-#~ " , "
-#~ "\n"
-#~ "\"\". \"\" \n"
-#~ " . !!\n"
-#~ "\n"
-#~ " \" \" ,\n"
-#~ " . , \n"
-#~ " , , "
-#~ "\n"
-#~ " .\n"
-#~ "\n"
-#~ " "
-#~ "\n"
-#~ " . , \n"
-#~ " "
-#~ ".\n"
-#~ " , \n"
-#~ " ."
-
-#~ msgid ""
-#~ "It is now time to specify which programs you wish to install on your\n"
-#~ "system. There are thousands of packages available for Mandrake Linux, "
-#~ "and\n"
-#~ "you are not supposed to know them all by heart.\n"
-#~ "\n"
-#~ "If you are performing a standard installation from a CD-ROM, you will "
-#~ "first\n"
-#~ "be asked to specify the CDs you currently have (in Expert mode only). "
-#~ "Check\n"
-#~ "the CD labels and highlight the boxes corresponding to the CDs you have\n"
-#~ "available for installation. Click \"OK\" when you are ready to continue.\n"
-#~ "\n"
-#~ "Packages are sorted in groups corresponding to a particular use of your\n"
-#~ "machine. The groups themselves are sorted into four sections:\n"
-#~ "\n"
-#~ " * \"Workstation\": if you plan to use your machine as a workstation,\n"
-#~ "select one or more of the corresponding groups;\n"
-#~ "\n"
-#~ " * \"Development\": if your machine is to be used for programming, "
-#~ "choose\n"
-#~ "the desired group(s);\n"
-#~ "\n"
-#~ " * \"Server\": if your machine is intended to be a server, you will be "
-#~ "able\n"
-#~ "to select which of the most common services you wish to install on your\n"
-#~ "machine;\n"
-#~ "\n"
-#~ " * \"Graphical Environment\": finally, this is where you will choose "
-#~ "your\n"
-#~ "preferred graphical environment. At least one must be selected if you "
-#~ "want\n"
-#~ "to have a graphical workstation!\n"
-#~ "\n"
-#~ "Moving the mouse cursor over a group name will display a short "
-#~ "explanatory\n"
-#~ "text about that group. If you unselect all groups when performing a "
-#~ "regular\n"
-#~ "installation (by opposition to an upgrade), a dialog will pop up "
-#~ "proposing\n"
-#~ "different options for a minimal installation:\n"
-#~ "\n"
-#~ " * \"With X\": install the fewest packages possible to have a working\n"
-#~ "graphical desktop;\n"
-#~ "\n"
-#~ " * \"With basic documentation\": installs the base system plus basic\n"
-#~ "utilities and their documentation. This installation is suitable for\n"
-#~ "setting up a server;\n"
-#~ "\n"
-#~ " * \"Truly minimal install\": will install the strict minimum necessary "
-#~ "to\n"
-#~ "get a working Linux system, in command line only. This installation is\n"
-#~ "about 65Mb large.\n"
-#~ "\n"
-#~ "You can check the \"Individual package selection\" box, which is useful "
-#~ "if\n"
-#~ "you are familiar with the packages being offered or if you want to have\n"
-#~ "total control over what will be installed.\n"
-#~ "\n"
-#~ "If you started the installation in \"Upgrade\" mode, you can unselect "
-#~ "all\n"
-#~ "groups to avoid installing any new package. This is useful to repair or\n"
-#~ "update an existing system."
-#~ msgstr ""
-#~ " "
-#~ "\n"
-#~ " . Mandrake Linux , \n"
-#~ " .\n"
-#~ "\n"
-#~ " CDROM, "
-#~ "\n"
-#~ "CD- ( ). CD- "
-#~ "\n"
-#~ " CD-, . \"OK\",\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"
-#~ " ."
-
-#~ msgid ""
-#~ "The Mandrake Linux installation is spread out over several CD-ROMs. "
-#~ "DrakX\n"
-#~ "knows if a selected package is located on another CD-ROM and will eject "
-#~ "the\n"
-#~ "current CD and ask you to insert a different one as required."
-#~ msgstr ""
-#~ " Mandrake Linux CDROM-. DrakX\n"
-#~ " CDROM \n"
-#~ "CD , ."
-
-#~ msgid ""
-#~ "Listed above are the existing Linux partitions detected on your hard "
-#~ "drive.\n"
-#~ "You can keep the choices made by the wizard, they are good for most "
-#~ "common\n"
-#~ "installations. If you make any changes, you must at least define a root\n"
-#~ "partition (\"/\"). Do not choose too small a partition or you will not "
-#~ "be\n"
-#~ "able to install enough software. If you want to store your data on a\n"
-#~ "separate partition, you will also need to create a \"/home\" partition\n"
-#~ "(only possible if you have more than one Linux partition available).\n"
-#~ "\n"
-#~ "Each partition is listed as follows: \"Name\", \"Capacity\".\n"
-#~ "\n"
-#~ "\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-#~ "\"partition number\" (for example, \"hda1\").\n"
-#~ "\n"
-#~ "\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive "
-#~ "and\n"
-#~ "\"sd\" if it is a SCSI hard drive.\n"
-#~ "\n"
-#~ "\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
-#~ "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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-#~ "\"second lowest SCSI ID\", 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\" "
-#~ "\" \" ..."
-
-#~ msgid ""
-#~ "GNU/Linux is a multiuser system, and this means that each user can have "
-#~ "his\n"
-#~ "own preferences, his own files and so on. You can read the ``User "
-#~ "Guide''\n"
-#~ "to learn more this concept. But unlike \"root\", which is the\n"
-#~ "administrator, the users you add here will not be entitled to change\n"
-#~ "anything except their own files and their own configurations. You will "
-#~ "have\n"
-#~ "to create at least one regular user for yourself. That account is where "
-#~ "you\n"
-#~ "should log in for routine use. Although it is very practical to log in "
-#~ "as\n"
-#~ "\"root\" everyday, it may also be very dangerous! The slightest mistake\n"
-#~ "could mean that your system would not work any more. If you make a "
-#~ "serious\n"
-#~ "mistake as a regular user, you may only lose some information, but not "
-#~ "the\n"
-#~ "entire system.\n"
-#~ "\n"
-#~ "First, you have to enter your real name. This is not mandatory, of "
-#~ "course\n"
-#~ "-- as you can actually enter whatever you want. DrakX will then take the\n"
-#~ "first word you have entered in the box and will bring it over to the "
-#~ "\"User\n"
-#~ "name\". This is the name this particular user will use to log onto the\n"
-#~ "system. You can change it. You then have to enter a password here. A\n"
-#~ "non-privileged (regular) user's password is not as crucial as the \"root"
-#~ "\"\n"
-#~ "one from a security point of view, but that is no reason to neglect it:\n"
-#~ "after all, your files are at risk.\n"
-#~ "\n"
-#~ "If you click on \"Accept user\", you can then add as many as you want. "
-#~ "Add\n"
-#~ "a user for each one of the people meant to use that computer. When you "
-#~ "are\n"
-#~ "finish adding all the users you want, select \"Done\".\n"
-#~ "\n"
-#~ "Clicking the \"%s\" button allows you to change the default \"shell\"\n"
-#~ "for that user (bash by default).\n"
-#~ "\n"
-#~ "When you are finished adding all users, you will be proposed to choose a\n"
-#~ "user which can automatically log into the system when the computer boots\n"
-#~ "up. If you are interested in that feature (and do not care much about "
-#~ "local\n"
-#~ "security), choose the desired user and window manager, then click \"Yes"
-#~ "\".\n"
-#~ "If you are not interested in this feature, click \"No\"."
-#~ msgstr ""
-#~ "GNU/Linux , , "
-#~ " \n"
-#~ " , ... "
-#~ " \n"
-#~ ", .\n"
-#~ " Root, , , "
-#~ " \n"
-#~ " "
-#~ ".\n"
-#~ " .\n"
-#~ " . "
-#~ "\n"
-#~ " root , ! -"
-#~ "\n"
-#~ " , . "
-#~ " \n"
-#~ " , "
-#~ ",\n"
-#~ " .\n"
-#~ "\n"
-#~ ", . , , "
-#~ "\n"
-#~ " . DrakX "
-#~ "\n"
-#~ " . , "
-#~ "\n"
-#~ " . "
-#~ ".\n"
-#~ " . () "
-#~ "\n"
-#~ " Root , "
-#~ "\n"
-#~ " , .\n"
-#~ "\n"
-#~ " \" \", "
-#~ ".\n"
-#~ " : , "
-#~ ", .\n"
-#~ " , , .\n"
-#~ "\n"
-#~ " \"\", "
-#~ " \n"
-#~ " (bash )."
-
-#~ msgid "Palestina"
-#~ msgstr ""
-
-#~ msgid "Jordania"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Assign raw devices to block devices (such as hard drive\n"
-#~ "partitions), for the use of applications such as Oracle"
-#~ msgstr ""
-#~ " ( \n"
-#~ " ), Oracle"
-
-#~ msgid ""
-#~ "[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-"
-#~ "usbtable] [--dynamic=dev]"
-#~ msgstr ""
-#~ "[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-"
-#~ "usbtable] [--dynamic=dev]"
-
-#~ msgid "Install system updates"
-#~ msgstr " "
-
-#~ msgid "Choose your language"
-#~ msgstr " "
-
-#~ 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 "
-
-#~ 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"
-
-#~ msgid "Switching between ALSA and OSS help"
-#~ msgstr " ALSA OSS"
-
-#~ msgid "Do you want to configure another printer?"
-#~ msgstr " ?"
-
-#~ msgid "Know how to use this printer"
-#~ msgstr " "
-
-#~ msgid "Preparing Printerdrake..."
-#~ msgstr " PinterDrake..."
-
-#~ msgid "192.168.100.0/255.255.255.0\n"
-#~ msgstr "192.168.100.0/255.255.255.0\n"
-
-#~ msgid "192.168.100.0/24\n"
-#~ msgstr "192.168.100.0/24\n"
-
-#~ msgid "10.1.*\n"
-#~ msgstr "10.1.*\n"
-
-#~ msgid "10.0.0.*\n"
-#~ msgstr "10.0.0.*\n"
-
-#~ msgid "192.168.100.194\n"
-#~ msgstr "192.168.100.194\n"
-
-#~ msgid "quit"
-#~ msgstr ""
-
-#~ msgid "save"
-#~ msgstr ""
-
-#~ msgid "Reading printer data ..."
-#~ msgstr " ..."
-
-#~ msgid ""
-#~ "Scannerdrake was not able to detect your %s.\n"
-#~ "Please select the device where your scanner is attached"
-#~ msgstr ""
-#~ "Scannerdrake %s.\n"
-#~ ", "
-
-#~ msgid "The %s is not known by this version of scannerdrake."
-#~ msgstr "%s scannerdrake."
-
-#~ msgid "Select a scanner"
-#~ msgstr " "
+#~ "Usage: harddrake [-h|--help] [--test]\n"
+#~ msgstr ": keyboarddrake [--expert] [keyboard]\n"
-#~ msgid "Detecting devices ..."
-#~ msgstr " ..."
+#~ msgid "usage: keyboarddrake [--expert] [keyboard]\n"
+#~ msgstr ": keyboarddrake [--expert] [keyboard]\n"
-#~ msgid "Test ports"
-#~ msgstr " "
+#~ msgid "detected on interface %s"
+#~ msgstr " %s"
diff --git a/perl-install/share/po/br.po b/perl-install/share/po/br.po
index 125bb638f..cd8cea4c0 100644
--- a/perl-install/share/po/br.po
+++ b/perl-install/share/po/br.po
@@ -6,2825 +6,1768 @@
msgid ""
msgstr ""
"Project-Id-Version: DrakX 8.2\n"
-"POT-Creation-Date: 2003-07-09 14:16+0200\n"
-"PO-Revision-Date: 2003-09-07 05:56+0200\n"
+"POT-Creation-Date: 2002-12-05 19:52+0100\n"
+"PO-Revision-Date: 2002-09-24 12:05+0200\n"
"Last-Translator: Thierry Vignaud <tvignaud@mandrakesoft.com>\n"
"Language-Team: Brezhoneg <ofisk@wanadoo.fr>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Scanning partitions to find mount points"
-msgstr ""
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of suid root files."
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"%s: %s requires hostname, MAC address, IP, nbi-image, 0/1 for THIN_CLIENT, "
-"0/1 for Local Config...\n"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Configuration changed - restart clusternfs/dhcpd?"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t\tErase=%s"
-msgstr ""
+#: ../../Xconfig/card.pm_.c:16
+msgid "256 kB"
+msgstr "256 ko"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "network printer port"
-msgstr "Dibarzhoù ar voullerez NetWare"
+#: ../../Xconfig/card.pm_.c:17
+msgid "512 kB"
+msgstr "512 ko"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Please insert floppy disk:"
-msgstr "Lakait ur bladennig el lenner %s"
+#: ../../Xconfig/card.pm_.c:18
+msgid "1 MB"
+msgstr "1 Mo"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "PCMCIA"
-msgstr "PCMCIA"
+#: ../../Xconfig/card.pm_.c:19
+msgid "2 MB"
+msgstr "2 Mo"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"The backup partition table has not the same size\n"
-"Still continue?"
-msgstr ""
-"N'eo ket heñvel ment an daolenn barzhañ gwarezet\n"
-"Kenderc'hel memestra ?"
+#: ../../Xconfig/card.pm_.c:20
+msgid "4 MB"
+msgstr "4 Mo"
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Which username"
-msgstr "Anv arveriad"
+#: ../../Xconfig/card.pm_.c:21
+msgid "8 MB"
+msgstr "8 Mo"
-#: ../../any.pm:1
-#, c-format
-msgid "Which type of entry do you want to add?"
-msgstr "Pe seurt enmont a vennit ouzhpennañ"
+#: ../../Xconfig/card.pm_.c:22
+msgid "16 MB"
+msgstr "16 Mo"
-#: ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#, fuzzy, c-format
-msgid "Restore partition table"
-msgstr "Taolenn barzhañ saveteerezh"
+#: ../../Xconfig/card.pm_.c:23
+msgid "32 MB"
+msgstr "32 Mo"
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "On CUPS server \"%s\""
-msgstr "War ar servijer CUPS « %s »"
+#: ../../Xconfig/card.pm_.c:24
+msgid "64 MB or more"
+msgstr "64 Mo pe vuioc'h"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Post-install configuration"
-msgstr "Kefluniadur goude staliañ"
+#: ../../Xconfig/card.pm_.c:203
+msgid "Choose a X server"
+msgstr "Dibabit ur servijer X"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``%s'' instead"
-msgstr "Grit kentoc'h gant ``%s''"
+#: ../../Xconfig/card.pm_.c:203
+msgid "X server"
+msgstr "servijer X"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../standalone/harddrake2:1
-#, c-format
-msgid "Type"
-msgstr "Seurt"
+#: ../../Xconfig/card.pm_.c:230
+#, fuzzy
+msgid "Multi-head configuration"
+msgstr "o lenn ar c'hefluniadur"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../Xconfig/card.pm_.c:231
msgid ""
-"\n"
-"Also printers configured with the PPD files provided by their manufacturers "
-"or with native CUPS drivers cannot be transferred."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sri Lanka"
+"Your system support multiple head configuration.\n"
+"What do you want to do?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
+#: ../../Xconfig/card.pm_.c:288
+msgid "Select the memory size of your graphics card"
+msgstr "Diuzit ment memor ho kartenn c'hrafek"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Central African Republic"
-msgstr ""
+#: ../../Xconfig/card.pm_.c:349
+msgid "XFree configuration"
+msgstr "Staliadur XFree86"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Gateway device"
-msgstr "Trobarzhell an dreuzell"
+#: ../../Xconfig/card.pm_.c:351
+#, fuzzy
+msgid "Which configuration of XFree do you want to have?"
+msgstr "Pe seurt enmont a vennit ouzhpennañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Net Method:"
+#: ../../Xconfig/card.pm_.c:383
+msgid "Configure all heads independently"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Ethernetcard"
-msgstr "dedennus"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Parameters"
-msgstr "Arventennoù"
-
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "Auto-detect"
-msgstr "Dilesadur"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Interface:"
-msgstr "C'hetal:"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Select installation class"
-msgstr "Diuzit renkad ar staliadur"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "on CDROM"
-msgstr "war ar CDROM"
+#: ../../Xconfig/card.pm_.c:384
+msgid "Use Xinerama extension"
+msgstr "Implijit Xinemara"
-#: ../../network/tools.pm:1
+#: ../../Xconfig/card.pm_.c:389
#, fuzzy, c-format
-msgid ""
-"The system doesn't seem to be connected to the Internet.\n"
-"Try to reconfigure your connection."
-msgstr "Anv ar gevreadenn"
+msgid "Configure only card \"%s\"%s"
+msgstr "Kefluniadur hep ken kartenn \"%s\" (%s)"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/card.pm_.c:401 ../../Xconfig/card.pm_.c:402
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid ""
-"Connect your printer to a Linux server and let your Windows machine(s) "
-"connect to it as a client.\n"
-"\n"
-"Do you really want to continue setting up this printer as you are doing now?"
-msgstr ""
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Belarus"
-msgstr "Bulgarek"
+msgid "XFree %s"
+msgstr "XFree %s"
-#: ../../partition_table.pm:1
+#: ../../Xconfig/card.pm_.c:413 ../../Xconfig/card.pm_.c:439
+#: ../../Xconfig/various.pm_.c:23
#, c-format
-msgid "Error writing to file %s"
-msgstr "Fazi en ur skrivañ er restr %s"
+msgid "XFree %s with 3D hardware acceleration"
+msgstr "XFree %s gant 3D"
-#: ../../services.pm:1
+#: ../../Xconfig/card.pm_.c:416
#, c-format
msgid ""
-"apmd is used for monitoring battery status and logging it via syslog.\n"
-"It can also be used for shutting down the machine when the battery is low."
+"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 ""
-"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."
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use tape to backup"
-msgstr "Restr gwareziñ siek"
-
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "The following packages are going to be installed"
-msgstr "Ar pakadoù a-heul a zo war-nes bezañ distaliet"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "CUPS configuration"
-msgstr "Kefluniadur CUPS"
-#: ../../lang.pm:1
+#: ../../Xconfig/card.pm_.c:418 ../../Xconfig/card.pm_.c:441
#, c-format
-msgid "Hong Kong"
+msgid "Your card can have 3D hardware acceleration support with XFree %s."
msgstr ""
-#: ../../install_interactive.pm:1
+#: ../../Xconfig/card.pm_.c:426 ../../Xconfig/card.pm_.c:447
#, c-format
-msgid "Not enough free space to allocate new partitions"
+msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving"
-msgstr "O tilec'hiañ"
-
-#: ../../standalone/drakbackup:1
+#: ../../Xconfig/card.pm_.c:429
#, c-format
msgid ""
-"\n"
-"Drakbackup activities via %s:\n"
-"\n"
+"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 ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "("
-msgstr "("
-
-#: ../../network/netconnect.pm:1
+#: ../../Xconfig/card.pm_.c:432 ../../Xconfig/card.pm_.c:449
#, c-format
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"
+"Your card can have 3D hardware acceleration support with XFree %s,\n"
+"NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER."
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid ")"
-msgstr ")"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lebanon"
-msgstr "Liban"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM HitTablet"
-msgstr "MM HitTablet"
+#: ../../Xconfig/card.pm_.c:455
+msgid "Xpmac (installation display driver)"
+msgstr ""
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Stop"
-msgstr "Harz"
+#: ../../Xconfig/main.pm_.c:76 ../../Xconfig/main.pm_.c:77
+#: ../../Xconfig/monitor.pm_.c:96 ../../any.pm_.c:961
+msgid "Custom"
+msgstr "Personelañ"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Edit selected host"
-msgstr "kavoutet %s"
+#: ../../Xconfig/main.pm_.c:102
+#, fuzzy
+msgid "Graphic Card"
+msgstr "Kartenn c'hrafek"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "No CD device defined!"
-msgstr "Diuzit ar restr"
+#: ../../Xconfig/main.pm_.c:105 ../../Xconfig/monitor.pm_.c:93
+msgid "Monitor"
+msgstr "Skramm"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (phonetic)"
-msgstr "Bulgariek (soniadel)"
+#: ../../Xconfig/main.pm_.c:108 ../../Xconfig/resolution_and_depth.pm_.c:210
+msgid "Resolution"
+msgstr "Spister"
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP start ip"
+#: ../../Xconfig/main.pm_.c:113
+msgid "Test"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "256 kB"
-msgstr "256 ko"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader main options"
-msgstr "Dibarzhoù pennañ ar c'harger loc'hañ"
+#: ../../Xconfig/main.pm_.c:118 ../../diskdrake/dav.pm_.c:67
+#: ../../diskdrake/interactive.pm_.c:393 ../../diskdrake/removable.pm_.c:25
+#: ../../diskdrake/smbnfs_gtk.pm_.c:86
+#, fuzzy
+msgid "Options"
+msgstr "Parzhadur"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
-"usbtable] [--dynamic=dev]"
-msgstr ""
+#: ../../Xconfig/main.pm_.c:122 ../../Xconfig/resolution_and_depth.pm_.c:269
+#: ../../install_gtk.pm_.c:86 ../../install_steps_gtk.pm_.c:274
+#: ../../interactive.pm_.c:127 ../../interactive.pm_.c:142
+#: ../../interactive.pm_.c:345 ../../interactive/http.pm_.c:104
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../interactive/stdio.pm_.c:144 ../../my_gtk.pm_.c:159
+#: ../../my_gtk.pm_.c:287 ../../my_gtk.pm_.c:310 ../../security/main.pm_.c:181
+#: ../../standalone/drakbackup_.c:3920 ../../standalone/drakbackup_.c:4015
+#: ../../standalone/drakbackup_.c:4034 ../../ugtk2.pm_.c:435
+#: ../../ugtk2.pm_.c:926 ../../ugtk2.pm_.c:949
+msgid "Ok"
+msgstr "Mat eo"
-#: ../../harddrake/data.pm:1 ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Tape"
-msgstr "Seurt"
+#: ../../Xconfig/main.pm_.c:122 ../../diskdrake/dav.pm_.c:28
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/draksplash_.c:114
+#: ../../standalone/harddrake2_.c:152 ../../standalone/logdrake_.c:204
+msgid "Quit"
+msgstr "Kuitaat"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/main.pm_.c:145
#, fuzzy, c-format
-msgid "Scanning network..."
-msgstr "Kefluniañ ur rouedad"
-
-#: ../../standalone/drakbackup:1
-#, c-format
msgid ""
-"With this option you will be able to restore any version\n"
-" of your /etc directory."
-msgstr ""
+"Keep the changes?\n"
+"The current configuration is:\n"
+"\n"
+"%s"
+msgstr "Derc'hel ar c'hefluniadur IP o ren"
-#: ../../lang.pm:1
-#, c-format
-msgid "Malaysia"
-msgstr "Malezia"
+#: ../../Xconfig/monitor.pm_.c:93
+msgid "Choose a monitor"
+msgstr "Dibabit ur skramm"
-#: ../../standalone/drakedm:1
-#, fuzzy, c-format
-msgid "The change is done, do you want to restart the dm service ?"
+#: ../../Xconfig/monitor.pm_.c:97
+msgid "Plug'n Play"
msgstr ""
-"Bremanaet e tle bezañ ar pabak-mañ\n"
-"Ha sur oc'h e mennit e ziuzañ ?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (French layout)"
-msgstr "Suis (reizhadur gall)"
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed (maybe raidtools are missing?)"
-msgstr "mkraid sac'het (raidtools a vank emichañs ?)"
+#: ../../Xconfig/monitor.pm_.c:98 ../../mouse.pm_.c:46
+msgid "Generic"
+msgstr "Rummel"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Webcam"
-msgstr ""
+#: ../../Xconfig/monitor.pm_.c:99 ../../standalone/harddrake2_.c:67
+#: ../../standalone/harddrake2_.c:68
+#, fuzzy
+msgid "Vendor"
+msgstr "Dizober"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "size of the (second level) cpu cache"
+#: ../../Xconfig/monitor.pm_.c:109
+msgid "Plug'n Play probing failed. Please choose a precise monitor"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Soundcard"
-msgstr "Kartenn son"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../Xconfig/monitor.pm_.c:114
msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\".\n"
+"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 douetañs, dibabit ur c'hefluniadur fur."
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Level %s\n"
-msgstr "Live %s\n"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Luxembourg"
-msgstr "Luksembourg"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac (phonetic)"
-msgstr "Siriak (soniadel)"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Iran"
-msgstr "Iran"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bus"
-msgstr ""
+#: ../../Xconfig/monitor.pm_.c:121
+msgid "Horizontal refresh rate"
+msgstr "Feur freskaat a-led"
-#: ../../lang.pm:1
-#, c-format
-msgid "Iraq"
-msgstr "Irak"
+#: ../../Xconfig/monitor.pm_.c:122
+msgid "Vertical refresh rate"
+msgstr "Feur freskaat a-serzh"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Potential LAN address conflict found in current config of %s!\n"
-msgstr ""
+#: ../../Xconfig/resolution_and_depth.pm_.c:12
+msgid "256 colors (8 bits)"
+msgstr "256 liv (8 bit)"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring..."
-msgstr "Kefluskañ a ra..."
+#: ../../Xconfig/resolution_and_depth.pm_.c:13
+msgid "32 thousand colors (15 bits)"
+msgstr "32 mil liv (15 bit)"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The setup has already been done, and it's currently enabled."
-msgstr ""
+#: ../../Xconfig/resolution_and_depth.pm_.c:14
+msgid "65 thousand colors (16 bits)"
+msgstr "65 mil liv (16 bit)"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid ""
-"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
-"detect the rights parameters.\n"
-"If your card is misdetected, you can force the right tuner and card types "
-"here. Just select your tv card parameters if needed."
-msgstr ""
+#: ../../Xconfig/resolution_and_depth.pm_.c:15
+msgid "16 million colors (24 bits)"
+msgstr "16 milion a livioù (24 bit)"
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Password (again)"
-msgstr "Tremenger (adarre)"
+#: ../../Xconfig/resolution_and_depth.pm_.c:16
+msgid "4 billion colors (32 bits)"
+msgstr "4 miliard a livioù (32 bit)"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Search installed fonts"
-msgstr ""
+#: ../../Xconfig/resolution_and_depth.pm_.c:130
+msgid "Resolutions"
+msgstr "Spisterioù"
-#: ../../lang.pm:1
-#, c-format
-msgid "Venezuela"
-msgstr "Venezuela"
+#: ../../Xconfig/resolution_and_depth.pm_.c:255
+msgid "Choose the resolution and the color depth"
+msgstr "Dibabit ar spister ha donder al livioù"
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakconnect:1
+#: ../../Xconfig/resolution_and_depth.pm_.c:256
#, c-format
-msgid "IP address"
-msgstr "Chomlec'h IP"
+msgid "Graphics card: %s"
+msgstr "Kartenn c'hrafek : %s"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Choose the sizes"
-msgstr "Dibabit ar mentoù"
+#: ../../Xconfig/resolution_and_depth.pm_.c:269 ../../any.pm_.c:1001
+#: ../../bootlook.pm_.c:336 ../../diskdrake/smbnfs_gtk.pm_.c:87
+#: ../../install_steps_gtk.pm_.c:405 ../../install_steps_gtk.pm_.c:463
+#: ../../interactive.pm_.c:142 ../../interactive.pm_.c:345
+#: ../../interactive/http.pm_.c:105 ../../interactive/newt.pm_.c:194
+#: ../../interactive/stdio.pm_.c:39 ../../interactive/stdio.pm_.c:143
+#: ../../my_gtk.pm_.c:158 ../../my_gtk.pm_.c:162 ../../my_gtk.pm_.c:287
+#: ../../network/netconnect.pm_.c:39 ../../printer/printerdrake.pm_.c:2055
+#: ../../security/main.pm_.c:228 ../../standalone/drakautoinst_.c:198
+#: ../../standalone/drakbackup_.c:3874 ../../standalone/drakbackup_.c:3907
+#: ../../standalone/drakbackup_.c:3933 ../../standalone/drakbackup_.c:3960
+#: ../../standalone/drakbackup_.c:3987 ../../standalone/drakbackup_.c:4047
+#: ../../standalone/drakbackup_.c:4074 ../../standalone/drakbackup_.c:4104
+#: ../../standalone/drakbackup_.c:4130 ../../standalone/drakconnect_.c:112
+#: ../../standalone/drakconnect_.c:144 ../../standalone/drakconnect_.c:286
+#: ../../standalone/drakconnect_.c:534 ../../standalone/drakconnect_.c:677
+#: ../../standalone/drakfloppy_.c:207 ../../standalone/drakfont_.c:918
+#: ../../standalone/drakgw_.c:557 ../../standalone/logdrake_.c:204
+#: ../../standalone/net_monitor_.c:337 ../../ugtk.pm_.c:295
+#: ../../ugtk2.pm_.c:362 ../../ugtk2.pm_.c:434 ../../ugtk2.pm_.c:438
+#: ../../ugtk2.pm_.c:926
+msgid "Cancel"
+msgstr "Nullañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"List of data corrupted:\n"
-"\n"
-msgstr ""
+#: ../../Xconfig/test.pm_.c:29
+msgid "Test of the configuration"
+msgstr "Amprouiñ ar c'hefluniadur"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Can only be mounted explicitly (i.e.,\n"
-"the -a option will not cause the file system to be mounted)."
-msgstr ""
+#: ../../Xconfig/test.pm_.c:30
+msgid "Do you want to test the configuration?"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"Your modem isn't supported by the system.\n"
-"Take a look at http://www.linmodems.org"
+#: ../../Xconfig/test.pm_.c:30
+msgid "Warning: testing this graphic card may freeze your computer"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../Xconfig/various.pm_.c:29
#, c-format
-msgid "Choose another partition"
-msgstr "Dibabit un parzhadur all"
-
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Current user"
-msgstr "Aotren an arveriad"
-
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Username"
-msgstr "Anv arveriad"
+msgid "Keyboard layout: %s\n"
+msgstr "Reizhadur ar stokellaoueg : %s\n"
-#: ../../keyboard.pm:1
+#: ../../Xconfig/various.pm_.c:30
#, c-format
-msgid "Left \"Windows\" key"
-msgstr ""
+msgid "Mouse type: %s\n"
+msgstr "Seurt logodenn : %s\n"
-#: ../../standalone/drakTermServ:1
+#: ../../Xconfig/various.pm_.c:31
#, c-format
-msgid "dhcpd Server Configuration"
-msgstr "Kefluniadur ar servijer dhcpd"
+msgid "Mouse device: %s\n"
+msgstr "Trobarzhell al logodenn : %s\n"
-#: ../../standalone/drakperm:1
+#: ../../Xconfig/various.pm_.c:32
#, c-format
-msgid ""
-"Used for directory:\n"
-" only owner of directory or file in this directory can delete it"
-msgstr ""
+msgid "Monitor: %s\n"
+msgstr "Skramm : %s\n"
-#: ../../lang.pm:1
+#: ../../Xconfig/various.pm_.c:33
#, c-format
-msgid "Guyana"
-msgstr "Gwiana"
+msgid "Monitor HorizSync: %s\n"
+msgstr "KempredA-led ar skramm : %s\n"
-#: ../../printer/main.pm:1
+#: ../../Xconfig/various.pm_.c:34
#, c-format
-msgid " on Novell server \"%s\", printer \"%s\""
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Remove a module"
-msgstr "Eilpennañ urzh ar pajennoù"
+msgid "Monitor VertRefresh: %s\n"
+msgstr "FreskA-serzh ar skramm : %s\n"
-#: ../../any.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../network/modem.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakconnect:1
+#: ../../Xconfig/various.pm_.c:35
#, c-format
-msgid "Password"
-msgstr "Tremenger"
+msgid "Graphics card: %s\n"
+msgstr "Kartenn c'hrafek : %s\n"
-#: ../../security/help.pm:1
+#: ../../Xconfig/various.pm_.c:36
#, c-format
-msgid ""
-"Arguments: (max, inactive=-1)\n"
-"\n"
-"Set password aging to \\fImax\\fP days and delay to change to \\fIinactive"
-"\\fP."
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Advanced Configuration"
-msgstr "Kefluniadur"
+msgid "Graphics memory: %s kB\n"
+msgstr "Memor c'hrafek : %s ko\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../Xconfig/various.pm_.c:38
#, c-format
-msgid "Scanning on your HP multi-function device"
-msgstr ""
+msgid "Color depth: %s\n"
+msgstr "Donder liv: %s\n"
-#: ../../any.pm:1
+#: ../../Xconfig/various.pm_.c:39
#, c-format
-msgid "Root"
-msgstr "Gwrizienn"
+msgid "Resolution: %s\n"
+msgstr "Spister: %s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../Xconfig/various.pm_.c:41
#, c-format
-msgid "Choose an existing RAID to add to"
-msgstr "Dibabit da be RAID ouzhpennañ"
+msgid "XFree86 server: %s\n"
+msgstr "Servijer XFree86 : %s\n"
-#: ../../keyboard.pm:1
+#: ../../Xconfig/various.pm_.c:42
#, c-format
-msgid "Turkish (modern \"Q\" model)"
-msgstr "Turkek (arnevez doare \"Q\")"
+msgid "XFree86 driver: %s\n"
+msgstr "Sturier XFree86 : %s\n"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo message not found"
-msgstr ""
+#: ../../Xconfig/various.pm_.c:61
+msgid "Graphical interface at startup"
+msgstr "X pa loc'her"
-#: ../../services.pm:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:62
msgid ""
-"Automatic regeneration of kernel header in /boot for\n"
-"/usr/include/linux/{autoconf,version}.h"
-msgstr ""
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "if needed"
+"I can setup your computer to automatically start the graphical interface "
+"(XFree) upon booting.\n"
+"Would you like XFree to start when you reboot?"
msgstr ""
+"Kefluniañ ho urzhiataer evit lañsañ X ent emgefreek pa loc'ho a c'hellañ.\n"
+"Mennout a rit lañsañ X pa adloc'hit ?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Failed..."
-msgstr "Adaozañ adalek ar restr"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/Autodetect _jaz drives"
-msgstr "Dilesadur"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../Xconfig/various.pm_.c:73
msgid ""
-"Description:\n"
-"\n"
-" Drakbackup is used to backup your system.\n"
-" During the configuration you can select: \n"
-"\t- System files, \n"
-"\t- Users files, \n"
-"\t- Other files.\n"
-"\tor All your system ... and Other (like Windows Partitions)\n"
-"\n"
-" Drakbackup allows you to backup your system on:\n"
-"\t- Harddrive.\n"
-"\t- NFS.\n"
-"\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
-"\t- FTP.\n"
-"\t- Rsync.\n"
-"\t- Webdav.\n"
-"\t- Tape.\n"
-"\n"
-" Drakbackup allows you to restore your system to\n"
-" a user selected directory.\n"
-"\n"
-" Per default all backups will be stored on your\n"
-" /var/lib/drakbackup directory\n"
-"\n"
-" Configuration file:\n"
-"\t/etc/drakconf/drakbackup/drakbackup.conf\n"
-"\n"
-"Restore Step:\n"
-" \n"
-" During the restore step, DrakBackup will remove \n"
-" your original directory and verify that all \n"
-" backup files are not corrupted. It is recommended \n"
-" you do a last backup before restoring.\n"
+"Your graphic card seems to have a TV-OUT connector.\n"
+"It can be configured to work using frame-buffer.\n"
"\n"
+"For this you have to plug your graphic card to your TV before booting your "
+"computer.\n"
+"Then choose the \"TVout\" entry in the bootloader\n"
"\n"
+"Do you have this feature?"
msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
-msgid ""
-"Introduction\n"
-"\n"
-"The operating system and the different components available in the Mandrake "
-"Linux 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 Mandrake Linux distribution.\n"
-"\n"
-"\n"
-"1. License Agreement\n"
-"\n"
-"Please read this document carefully. 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 "
-"occurence 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 Mandrake Linux 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\", \"Mandrake Linux\" 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 ""
+#: ../../Xconfig/various.pm_.c:85
+#, fuzzy
+msgid "What norm is your TV using?"
+msgstr "Ouzh pe borzh a-steud eo luget ho logodenn ?"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid ""
-"the progress bar x coordinate\n"
-"of its upper left corner"
-msgstr ""
+#: ../../any.pm_.c:107 ../../any.pm_.c:132
+msgid "First sector of boot partition"
+msgstr "Rann gentañ ar parzhadur loc'hañ"
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Current interface configuration"
-msgstr "Kefluniañ ar modem"
+#: ../../any.pm_.c:107 ../../any.pm_.c:132 ../../any.pm_.c:209
+msgid "First sector of drive (MBR)"
+msgstr "Rann gentañ ar bladenn (MBR)"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD - Line Printer Daemon"
-msgstr ""
+#: ../../any.pm_.c:111
+msgid "SILO Installation"
+msgstr "Staliadur SILO"
-#: ../../network/isdn.pm:1
-#, c-format
-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 ""
+#: ../../any.pm_.c:112 ../../any.pm_.c:125
+msgid "Where do you want to install the bootloader?"
+msgstr "Pelec'h e mennit staliañ ar c'harger loc'hañ ?"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Do not print any test page"
-msgstr "O voullañ pajenn(où) skrid..."
+#: ../../any.pm_.c:124
+msgid "LILO/grub Installation"
+msgstr "Staliadur LILO/grub"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gurmukhi"
-msgstr ""
+#: ../../any.pm_.c:136 ../../any.pm_.c:150
+msgid "SILO"
+msgstr "SILO"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s already in use\n"
-msgstr ""
+#: ../../any.pm_.c:138
+msgid "LILO with text menu"
+msgstr "LILO gant meuziad skrid"
-#: ../../any.pm:1
-#, c-format
-msgid "Force No APIC"
-msgstr ""
+#: ../../any.pm_.c:139 ../../any.pm_.c:150
+msgid "LILO with graphical menu"
+msgstr "LILO gant meuziad c'hrafek"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "This password is too short (it must be at least %d characters long)"
-msgstr "Re eeun eo an tremenger-se (%d arouezenn a zo ret d'an nebeutañ)"
+#: ../../any.pm_.c:142
+msgid "Grub"
+msgstr "Grub"
-#: ../../standalone.pm:1
-#, fuzzy, c-format
-msgid "[keyboard]"
-msgstr "Stokellaoueg"
+#: ../../any.pm_.c:146
+msgid "Boot from DOS/Windows (loadlin)"
+msgstr "Loc'hañ abaoe DOS/Windows (loadlin)"
-#: ../../network/network.pm:1
-#, c-format
-msgid "FTP proxy"
-msgstr "Proksi FTP"
+#: ../../any.pm_.c:148 ../../any.pm_.c:150
+msgid "Yaboot"
+msgstr "Yaboot"
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Install List"
-msgstr "Staliañ ar reizhiad"
+#: ../../any.pm_.c:158 ../../any.pm_.c:189
+msgid "Bootloader main options"
+msgstr "Dibarzhoù pennañ ar c'harger loc'hañ"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid ""
-"Change\n"
-"Restore Path"
-msgstr "Adaozañ adalek ar restr"
+#: ../../any.pm_.c:159 ../../any.pm_.c:190
+msgid "Bootloader to use"
+msgstr "C'harger loc'hañ da implijout"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Show only for the selected day"
-msgstr ""
+#: ../../any.pm_.c:161
+msgid "Bootloader installation"
+msgstr "Staliadur c'harger loc'hañ"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "512 kB"
-msgstr "512 ko"
+#: ../../any.pm_.c:163 ../../any.pm_.c:192
+msgid "Boot device"
+msgstr "Trobarzhell loc'hañ"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Logs"
-msgstr ""
+#: ../../any.pm_.c:164
+msgid "Compact"
+msgstr "Fetis"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "(Note: Parallel ports cannot be auto-detected)"
-msgstr ""
+#: ../../any.pm_.c:164
+msgid "compact"
+msgstr "fetis"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>N"
-msgstr ""
+#: ../../any.pm_.c:165 ../../any.pm_.c:289
+msgid "Video mode"
+msgstr "Mod video"
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "What kind of card do you have?"
-msgstr "Peseurt moullerez hoc'h eus ?"
+#: ../../any.pm_.c:167
+msgid "Delay before booting default image"
+msgstr "Gedvezh kent loc'hañ ar skeudenn dre ziouer"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>O"
-msgstr ""
+#: ../../any.pm_.c:169 ../../any.pm_.c:772
+#: ../../diskdrake/smbnfs_gtk.pm_.c:179
+#: ../../install_steps_interactive.pm_.c:1077 ../../network/modem.pm_.c:71
+#: ../../printer/printerdrake.pm_.c:803 ../../printer/printerdrake.pm_.c:916
+#: ../../standalone/drakbackup_.c:3478 ../../standalone/drakconnect_.c:622
+#: ../../standalone/drakconnect_.c:647
+msgid "Password"
+msgstr "Tremenger"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Security"
-msgstr "Diogelroez"
+#: ../../any.pm_.c:170 ../../any.pm_.c:773
+#: ../../install_steps_interactive.pm_.c:1078
+msgid "Password (again)"
+msgstr "Tremenger (adarre)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can also use the graphical interface \"xpdq\" for setting options and "
-"handling printing jobs.\n"
-"If you are using KDE as desktop environment you have a \"panic button\", an "
-"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
-"jobs immediately when you click it. This is for example useful for paper "
-"jams.\n"
-msgstr ""
+#: ../../any.pm_.c:171
+msgid "Restrict command line options"
+msgstr "Strishaat dibarzhoù al linenn urzhiañ"
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#, c-format
-msgid "<control>Q"
-msgstr ""
+#: ../../any.pm_.c:171
+msgid "restrict"
+msgstr "strishaat"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Unknown"
-msgstr "Rummel"
+#: ../../any.pm_.c:173
+msgid "Clean /tmp at each boot"
+msgstr "Skarañ /tmp bep ma loc'her"
-#: ../../printer/printerdrake.pm:1
+#: ../../any.pm_.c:174
#, c-format
-msgid "This server is already in the list, it cannot be added again.\n"
-msgstr ""
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Spisait ment ar memor vev diouzh ret (kavet %d Mo)"
-#: ../../network/netconnect.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Network Configuration"
-msgstr "Kefluniadur ar rouedad"
+#: ../../any.pm_.c:176
+msgid "Enable multi profiles"
+msgstr "Aotren lies trolinenn"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "<control>S"
-msgstr ""
+#: ../../any.pm_.c:180
+msgid "Give the ram size in MB"
+msgstr "Roit ment ar memor vev e Mo"
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../any.pm_.c:182
msgid ""
-"Protocol for the rest of the world\n"
-"No D-Channel (leased lines)"
-msgstr ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "Didalvout eo ``Strishaat dibarzhoù al linenn urzhiañ'' hep tremenger"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be a number!"
-msgstr ""
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../diskdrake/interactive.pm_.c:1204
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "Please try again"
+msgstr "Klaskit adarre mar plij"
-#: ../../standalone/drakboot:1 ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Notice"
-msgstr "frondenn"
+#: ../../any.pm_.c:183 ../../any.pm_.c:748
+#: ../../install_steps_interactive.pm_.c:1072
+msgid "The passwords do not match"
+msgstr "An tremegerioù ne glot ket"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-" Activate/Disable daily security check."
+#: ../../any.pm_.c:191
+msgid "Init Message"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Enable/Disable crontab and at for users. Put allowed users in /etc/cron."
-"allow and /etc/at.allow\n"
-"(see man at(1) and crontab(1))."
+#: ../../any.pm_.c:193
+msgid "Open Firmware Delay"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "You have not configured X. Are you sure you really want this?"
+#: ../../any.pm_.c:194
+msgid "Kernel Boot Timeout"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The configuration of the printer will work fully automatically. If your "
-"printer was not correctly detected or if you prefer a customized printer "
-"configuration, turn on \"Manual configuration\"."
+#: ../../any.pm_.c:195
+msgid "Enable CD Boot?"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "What type of partitioning?"
-msgstr "Peseurt moullerez hoc'h eus ?"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"file list sent by FTP: %s\n"
-" "
+#: ../../any.pm_.c:196
+msgid "Enable OF Boot?"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Interface"
-msgstr "dedennus"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Multisession CD"
-msgstr "Liesvedia"
+#: ../../any.pm_.c:197
+msgid "Default OS?"
+msgstr "RK dre ziouer"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../any.pm_.c:231
msgid ""
-"Options Description:\n"
-"\n"
-" - Backup System Files:\n"
-" \n"
-"\tThis option allows you to backup your /etc directory,\n"
-"\twhich contains all configuration files. Please be\n"
-"\tcareful during the restore step to not overwrite:\n"
-"\t\t/etc/passwd \n"
-"\t\t/etc/group \n"
-"\t\t/etc/fstab\n"
-"\n"
-" - Backup User Files: \n"
-"\n"
-"\tThis option allows you select all users that you want to \n"
-"\tbackup. To preserve disk space, it is recommended that\n"
-"\tyou do not include the web browser's cache.\n"
-"\n"
-" - Backup Other Files: \n"
-"\n"
-"\tThis option allows you to include additional data to save.\n"
-"\tIf you want to add individual files, select them from the\n"
-"\trighthand 'Files' list pane. To add directories, enter the \n"
-"\tdirectory by clicking on it in the lefthand 'Folders' pane, \n"
-"\tand at that point click 'OK' without selecting any files.\n"
-" \n"
-" - Incremental Backups:\n"
-"\n"
-"\tThe incremental backup is the most powerful option for \n"
-"\tbackup. This option allows you to backup all your data \n"
-"\tthe first time, and only the changed data afterward.\n"
-"\tThen you will be able, during the restore step, to restore \n"
-"\tyour data from a specified date. If you have not selected \n"
-"\tthis option all old backups are deleted before each backup. \n"
-"\n"
-" - Differential Backups:\n"
-" \n"
-"\tThe differential backup, rather than comparing changes in the\n"
-"\tdata to the previous incremental backup, always compares the\n"
-"\tdata to the initial base backup. This method allows one to\n"
-"\trestore the base and then the differential from a certain date.\n"
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
"\n"
+"On which drive are you booting?"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../any.pm_.c:247
msgid ""
-"Arguments: (arg, expr='*.*', dev='tty12')\n"
-"\n"
-"Enable/Disable syslog reports to console 12. \\fIexpr\\fP is the\n"
-"expression describing what to log (see syslog.conf(5) for more details) and\n"
-"dev the device to report the log."
+"Here are the entries on your boot menu so far.\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."
-#: ../../modules/parameters.pm:1
-#, fuzzy, c-format
-msgid "comma separated strings"
-msgstr "Furmadiñ parzhadurioù"
+#: ../../any.pm_.c:257 ../../standalone/drakbackup_.c:1531
+#: ../../standalone/drakbackup_.c:1644 ../../standalone/drakfont_.c:953
+#: ../../standalone/drakfont_.c:996
+msgid "Add"
+msgstr "Ouzhpennañ"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "These are the machines from which the scanners should be used:"
-msgstr ""
+#: ../../any.pm_.c:257 ../../any.pm_.c:760 ../../diskdrake/dav.pm_.c:68
+#: ../../diskdrake/hd_gtk.pm_.c:156 ../../diskdrake/removable.pm_.c:27
+#: ../../diskdrake/smbnfs_gtk.pm_.c:88 ../../interactive/http.pm_.c:153
+#: ../../printer/printerdrake.pm_.c:2970 ../../standalone/drakbackup_.c:2726
+msgid "Done"
+msgstr "Graet"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Messages"
-msgstr "Amprouiñ ar porzhioù"
+#: ../../any.pm_.c:257
+msgid "Modify"
+msgstr "Kemmañ"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH06X (bt878) [many vendors]"
-msgstr ""
+#: ../../any.pm_.c:265
+msgid "Which type of entry do you want to add?"
+msgstr "Pe seurt enmont a vennit ouzhpennañ"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "POP and IMAP Server"
-msgstr "Servijer POP ha LDAP"
+#: ../../any.pm_.c:266 ../../standalone/drakbackup_.c:1674
+msgid "Linux"
+msgstr "Linux"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Mexico"
-msgstr ""
+#: ../../any.pm_.c:266
+msgid "Other OS (SunOS...)"
+msgstr "Reizhiadoù (SunOS...)"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Model stepping"
-msgstr "O furmadiñ"
+#: ../../any.pm_.c:267
+msgid "Other OS (MacOS...)"
+msgstr "Reizhiadoù (MacOS...)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Rwanda"
-msgstr ""
+#: ../../any.pm_.c:267
+msgid "Other OS (windows...)"
+msgstr "Reizhiadoù (windows...)"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have any %s interfaces?"
-msgstr "Hag un etrefas %s bennak a zo ganeoc'h ?"
+#: ../../any.pm_.c:285
+msgid "Image"
+msgstr "Skeudenn"
-#: ../../lang.pm:1
-#, c-format
-msgid "Switzerland"
-msgstr "Suis"
+#: ../../any.pm_.c:286 ../../any.pm_.c:297
+msgid "Root"
+msgstr "Gwrizienn"
-#: ../../lang.pm:1
-#, c-format
-msgid "Brunei Darussalam"
-msgstr ""
+#: ../../any.pm_.c:287 ../../any.pm_.c:315
+msgid "Append"
+msgstr "Ouzhpennañ"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "You must be root to read configuration file. \n"
-msgstr "Kefluniadur ar rouedad"
+#: ../../any.pm_.c:291
+msgid "Initrd"
+msgstr "Initrd"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remote lpd Printer Options"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../any.pm_.c:292
+msgid "Read-write"
+msgstr "Lenn-skrivañ "
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"GNU/Linux is a multi-user system, meaning each user may have their own\n"
-"preferences, their own files and so on. You can read the ``Starter Guide''\n"
-"to learn more about multi-user systems. But unlike \"root\", who is the\n"
-"system administrator, the users you add at this point will not be\n"
-"authorized to change anything except their own files and their own\n"
-"configurations, protecting the system from unintentional or malicious\n"
-"changes that impact on the system as a whole. You will have to create at\n"
-"least one regular user for yourself -- this is the account which you should\n"
-"use for routine, day-to-day use. Although it is very easy to log in as\n"
-"\"root\" to do anything and everything, it may also be very dangerous! A\n"
-"very simple mistake could mean that your system will not work any more. If\n"
-"you make a serious mistake as a regular user, the worst that will happen is\n"
-"that you will lose some information, but not affect the entire system.\n"
-"\n"
-"The first field asks you for a real name. Of course, this is not mandatory\n"
-"-- you can actually enter whatever you like. DrakX will use the first word\n"
-"you typed in this field and copy it to the \"%s\" field, which is the name\n"
-"this user will enter to log onto the system. If you like, you may override\n"
-"the default and change the username. The next step is to enter a password.\n"
-"From a security point of view, a non-privileged (regular) user password is\n"
-"not as crucial as the \"root\" password, but that is no reason to neglect\n"
-"it by making it blank or too simple: after all, your files could be the\n"
-"ones at risk.\n"
-"\n"
-"Once you click on \"%s\", you can add other users. Add a user for each one\n"
-"of your friends: your father or your sister, for example. Click \"%s\" when\n"
-"you have finished adding users.\n"
-"\n"
-"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
-"that user (bash by default).\n"
-"\n"
-"When you have finished adding users, you will be asked to choose a user\n"
-"that can automatically log into the system when the computer boots up. If\n"
-"you are interested in that feature (and do not care much about local\n"
-"security), choose the desired user and window manager, then click \"%s\".\n"
-"If you are not interested in this feature, uncheck the \"%s\" box."
-msgstr ""
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Configure Internet Access..."
-msgstr "Kefluniañ servijoù"
+#: ../../any.pm_.c:299
+msgid "Table"
+msgstr "Taolenn"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Norway"
-msgstr "Norvej"
+#: ../../any.pm_.c:300
+msgid "Unsafe"
+msgstr "Arvarus"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Danish"
-msgstr "Danek"
+#: ../../any.pm_.c:307 ../../any.pm_.c:312 ../../any.pm_.c:314
+msgid "Label"
+msgstr "Skridennad"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Automatically switch on numlock key locker under console\n"
-"and XFree at boot."
-msgstr ""
+#: ../../any.pm_.c:309 ../../any.pm_.c:319 ../../harddrake/v4l.pm_.c:215
+msgid "Default"
+msgstr "Dre ziouer"
-#: ../../network/network.pm:1
-#, c-format
-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)."
+#: ../../any.pm_.c:316
+msgid "Initrd-size"
+msgstr "Ment an Initrd"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"The Mandrake Linux installation is distributed on several CD-ROMs. DrakX\n"
-"knows if a selected package is located on another CD-ROM so it will eject\n"
-"the current CD and ask you to insert the correct CD as required."
-msgstr ""
+#: ../../any.pm_.c:318
+msgid "NoVideo"
+msgstr "N'ev ket video"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Processors"
+#: ../../any.pm_.c:326
+msgid "Remove entry"
+msgstr "Dilemel an enmont"
+
+#: ../../any.pm_.c:329
+msgid "Empty label not allowed"
+msgstr "Berzet eo ar skridennadoù goullo"
+
+#: ../../any.pm_.c:330
+msgid "You must specify a kernel image"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bulgaria"
-msgstr "Bulgari"
+#: ../../any.pm_.c:330
+#, fuzzy
+msgid "You must specify a root partition"
+msgstr "Ret eo deoc'h kaout ur parzhadur disloañ"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "No NIC selected!"
-msgstr "Lugerezh ar voullerez"
+#: ../../any.pm_.c:331
+msgid "This label is already used"
+msgstr "En implij eo ar skridennad-se endeo"
-#: ../../lang.pm:1
+#: ../../any.pm_.c:640
#, c-format
-msgid "Svalbard and Jan Mayen Islands"
-msgstr ""
+msgid "Found %s %s interfaces"
+msgstr "Kavet etrefas %s %s"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"Problems occured during configuration.\n"
-"Test your connection via net_monitor or mcc. If your connection doesn't "
-"work, you might want to relaunch the configuration."
-msgstr ""
+#: ../../any.pm_.c:641
+msgid "Do you have another one?"
+msgstr "Hag un all hoc'h eus ?"
-#: ../../diskdrake/interactive.pm:1
+#: ../../any.pm_.c:642
#, c-format
-msgid "partition %s is now known as %s"
-msgstr ""
+msgid "Do you have any %s interfaces?"
+msgstr "Hag un etrefas %s bennak a zo ganeoc'h ?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup Other files..."
-msgstr "Restr gwareziñ siek"
+#: ../../any.pm_.c:644 ../../any.pm_.c:807 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../ugtk2.pm_.c:925
+msgid "No"
+msgstr "Ket"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server IP"
-msgstr "IP ar servijer SMB"
+#: ../../any.pm_.c:644 ../../any.pm_.c:806 ../../interactive.pm_.c:132
+#: ../../my_gtk.pm_.c:286 ../../standalone/drakgw_.c:258
+#: ../../standalone/drakgw_.c:259 ../../standalone/drakgw_.c:267
+#: ../../standalone/drakgw_.c:277 ../../ugtk2.pm_.c:925
+msgid "Yes"
+msgstr "Ya"
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Kinshasa)"
-msgstr "Kongo (Kinshasa)"
+#: ../../any.pm_.c:645
+msgid "See hardware info"
+msgstr "Gwelet titouroù periantel"
-#: ../../diskdrake/interactive.pm:1
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: ../../any.pm_.c:662
#, 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 !"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing HPOJ package..."
-msgstr "O staliañ pakadoù..."
+msgid "Installing driver for %s card %s"
+msgstr "O staliañ ur sturier evit kartenn %s %s"
-#: ../../any.pm:1
+#: ../../any.pm_.c:663
#, c-format
-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?\n"
-"%s"
-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 ?\n"
-"%s"
+msgid "(module %s)"
+msgstr "(mollad %s)"
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:674
#, c-format
msgid ""
-"\n"
-" DrakBackup Daemon Report\n"
+"You may now provide its options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../any.pm_.c:680
#, c-format
-msgid "Latvian"
+msgid ""
+"You may now provide 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''"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "monthly"
-msgstr ""
+#: ../../any.pm_.c:682
+msgid "Module options:"
+msgstr "Dibarzhoù ar mollad :"
-#: ../../standalone/drakfloppy:1
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: ../../any.pm_.c:694
#, c-format
-msgid "Module name"
-msgstr "Dibarzhoù ar mollad"
-
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Start at boot"
-msgstr "Krouiñ ur bladennig loc'hañ"
+msgid "Which %s driver should I try?"
+msgstr "Pe sturier %s a zlefen amprouiñ ?"
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:703
#, c-format
-msgid "Use Incremental Backups"
+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:1
-#, c-format
-msgid "First sector of drive (MBR)"
-msgstr "Rann gentañ ar bladenn (MBR)"
+#: ../../any.pm_.c:707
+msgid "Autoprobe"
+msgstr "Embrouiñ"
-#: ../../lang.pm:1
-#, c-format
-msgid "El Salvador"
-msgstr ""
+#: ../../any.pm_.c:707
+msgid "Specify options"
+msgstr "Spisait dibarzhoù"
-#: ../../harddrake/data.pm:1
+#: ../../any.pm_.c:719
#, c-format
-msgid "Joystick"
+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 ?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "DVD"
+#: ../../any.pm_.c:734
+msgid "access to X programs"
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Use Unicode by default"
+#: ../../any.pm_.c:735
+msgid "access to rpm tools"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the module of the GNU/Linux kernel that handles the device"
+#: ../../any.pm_.c:736
+msgid "allow \"su\""
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "DVDR device"
-msgstr "trobarzhell DVDR"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Trying to rescue partition table"
-msgstr "O klask assevel an daolenn barzhañ"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s must be an integer number!"
+#: ../../any.pm_.c:737
+msgid "access to administrative files"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid ""
-"Entries you'll have to fill:\n"
-"%s"
+#: ../../any.pm_.c:738
+msgid "access to network tools"
msgstr ""
-#: ../../standalone/livedrake:1
-#, c-format
-msgid "Unable to start live upgrade !!!\n"
+#: ../../any.pm_.c:739
+msgid "access to compilation tools"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../install_steps_gtk.pm:1
+#: ../../any.pm_.c:744
#, c-format
-msgid "Name: "
-msgstr "Anv: "
+msgid "(already added %s)"
+msgstr "(ouzhpennet %s endeo)"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "16 million colors (24 bits)"
-msgstr "16 milion a livioù (24 bit)"
+#: ../../any.pm_.c:749
+msgid "This password is too simple"
+msgstr "Re eeun eo an tremeger"
-#: ../../any.pm:1
-#, c-format
-msgid "Allow all users"
-msgstr "Aotreiñ an holl dud"
+#: ../../any.pm_.c:750
+msgid "Please give a user name"
+msgstr "Roit un anv arveriad mar plij"
-#: ../../share/advertising/08-store.pl:1
-#, c-format
-msgid "The official MandrakeSoft Store"
+#: ../../any.pm_.c:751
+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"
-#: ../../diskdrake/interactive.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Resizing"
-msgstr "Oc'h adventañ"
+#: ../../any.pm_.c:752
+#, fuzzy
+msgid "The user name is too long"
+msgstr "En implij eo an anv arveriad-se endeo"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Cable connection"
-msgstr "Lugerezh ar voullerez"
+#: ../../any.pm_.c:753
+msgid "This user name is already added"
+msgstr "En implij eo an anv arveriad-se endeo"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "User"
-msgstr "Arveriad"
+#: ../../any.pm_.c:757
+msgid "Add user"
+msgstr "Ouzhpennañ un arveriad"
-#: ../../fsedit.pm:1
-#, fuzzy, c-format
+#: ../../any.pm_.c:758
+#, c-format
msgid ""
-"I can't read the partition table of device %s, it's too corrupted for me :(\n"
-"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
-"The other solution is to not allow DrakX to modify the partition table.\n"
-"(the error is %s)\n"
-"\n"
-"Do you agree to loose all the partitions?\n"
+"Enter a user\n"
+"%s"
msgstr ""
-"N'hellañ ket lenn ho taolenn barzhañ, re vrein eo evidon :(\n"
-"Klask a rin kenderc'hel en ur ziverkañ ar parzhadurioù siek"
+"Skrivit un arveriad\n"
+"%s"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do new backup before restore (only for incremental backups.)"
-msgstr ""
+#: ../../any.pm_.c:759
+msgid "Accept user"
+msgstr "Aotren an arveriad"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Name"
-msgstr "Anv"
+#: ../../any.pm_.c:770
+msgid "Real name"
+msgstr "Anv gwirion"
-#: ../../raid.pm:1
-#, c-format
-msgid "mkraid failed"
-msgstr "mkraid sac'het"
+#: ../../any.pm_.c:771 ../../printer/printerdrake.pm_.c:802
+#: ../../printer/printerdrake.pm_.c:915
+msgid "User name"
+msgstr "Anv arveriad"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 3 Emulation"
-msgstr ""
+#: ../../any.pm_.c:774
+msgid "Shell"
+msgstr "Shell"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Sending files..."
-msgstr "Enrollañ er restr"
+#: ../../any.pm_.c:776
+msgid "Icon"
+msgstr "Arlun"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli (Phonetic)"
-msgstr "Israelian (soniadel)"
+#: ../../any.pm_.c:803
+msgid "Autologin"
+msgstr "Autologin"
-#: ../../any.pm:1
-#, c-format
-msgid "access to rpm tools"
+#: ../../any.pm_.c:804
+#, fuzzy
+msgid ""
+"I can set up your computer to automatically log on one user.\n"
+"Do you want to use this feature?"
msgstr ""
+"Kefluniañ ho urzhiataer evit lañsañ X ent emgefreek pa loc'ho a c'hellañ.\n"
+"Mennout a rit lañsañ X pa adloc'hit ?"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "edit"
-msgstr "Etre"
+#: ../../any.pm_.c:808
+msgid "Choose the default user:"
+msgstr "Dibabit ar arveriad dre ziouer"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "You must choose/enter a printer/device!"
-msgstr "Trobarzhell ar voullerez"
+#: ../../any.pm_.c:809
+#, fuzzy
+msgid "Choose the window manager to run:"
+msgstr "Dibabit ar benveg a vennit staliañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission problem accessing CD."
-msgstr ""
+#: ../../any.pm_.c:824
+msgid "Please choose a language to use."
+msgstr "Diuzit ar yezh da implijout, mar plij."
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Phone number"
-msgstr "Niverenn bellgomz"
+#: ../../any.pm_.c:826
+msgid ""
+"Mandrake Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "Gallout a rit dibab yezhoù all hag a vo hegerz goude staliañ"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Error: The \"%s\" driver for your sound card is unlisted"
-msgstr ""
+#: ../../any.pm_.c:840 ../../install_steps_interactive.pm_.c:697
+#: ../../standalone/drakxtv_.c:70
+msgid "All"
+msgstr "An holl"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer name, description, location"
-msgstr "Lugerezh ar voullerez"
+#: ../../any.pm_.c:961
+msgid "Allow all users"
+msgstr "Aotreiñ an holl dud"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (broadcast)"
-msgstr ""
+#: ../../any.pm_.c:961
+msgid "No sharing"
+msgstr "N'ev ket lodañ"
-#: ../../standalone/drakbackup:1
+#: ../../any.pm_.c:971 ../../install_any.pm_.c:1207 ../../standalone.pm_.c:185
#, fuzzy, c-format
-msgid ""
-"Please choose the\n"
-"media for backup."
-msgstr "Diuzit ar yezh da implijout, mar plij."
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Use Xinerama extension"
-msgstr "Implijit Xinemara"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback"
-msgstr "Saveteiñ"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid ""
-"Unable to properly close mkbootdisk: \n"
-" %s \n"
-" %s"
+msgid "The package %s needs to be installed. Do you want to install it?"
msgstr ""
+"Bremanaet e tle bezañ ar pabak-mañ\n"
+"Ha sur oc'h e mennit e ziuzañ ?"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "West Europe"
-msgstr "Europa-Heol"
-
-#: ../../standalone.pm:1
-#, c-format
+#: ../../any.pm_.c:973
msgid ""
-"[OPTIONS] [PROGRAM_NAME]\n"
-"\n"
-"OPTIONS:\n"
-" --help - print this help message.\n"
-" --report - program should be one of mandrake tools\n"
-" --incident - program should be one of mandrake tools"
+"You can export using NFS or Samba. Please select which you'd like to use."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Harddrake2 version %s"
-msgstr "Dinoiñ ar bladenn galet"
-
-#: ../../lang.pm:1
+#: ../../any.pm_.c:981 ../../install_any.pm_.c:1212 ../../standalone.pm_.c:190
#, c-format
-msgid "Swaziland"
+msgid "Mandatory package %s is missing"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Copying %s"
-msgstr "Adskrivañ %s"
-
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Choose color"
-msgstr "Dibabit ur skramm"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Dominican Republic"
+#: ../../any.pm_.c:987
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Syriac"
-msgstr "Siriak"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-UID"
+#: ../../any.pm_.c:1001
+msgid "Launch userdrake"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1003
msgid ""
-"Choose the hard drive you want to erase in order to install your new\n"
-"Mandrake Linux partition. Be careful, all data present on this partition\n"
-"will be lost and will not be recoverable!"
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user in this group."
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:1
-#, 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"
+#: ../../any.pm_.c:1053 ../../security/level.pm_.c:7
+msgid "Welcome To Crackers"
+msgstr "Bezit deuet mat, preizherien !"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic 2 Button Mouse"
-msgstr "Logodenn rummel 2 nozelenn"
+#: ../../any.pm_.c:1054 ../../security/level.pm_.c:8
+msgid "Poor"
+msgstr "Paour"
-#: ../../lvm.pm:1
-#, c-format
-msgid "Remove the logical volumes first\n"
-msgstr ""
+#: ../../any.pm_.c:1055 ../../mouse.pm_.c:31 ../../security/level.pm_.c:9
+msgid "Standard"
+msgstr "Skouer"
-#. -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:1
-#, 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."
+#: ../../any.pm_.c:1056 ../../security/level.pm_.c:10
+msgid "High"
+msgstr "Uhel"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Can't write /etc/sysconfig/bootsplash\n"
-"File not found."
-msgstr ""
+#: ../../any.pm_.c:1057 ../../security/level.pm_.c:11
+#, fuzzy
+msgid "Higher"
+msgstr "Uhel"
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Internet access"
-msgstr "dedennus"
+#: ../../any.pm_.c:1058 ../../security/level.pm_.c:12
+msgid "Paranoid"
+msgstr "Ankeniet"
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../any.pm_.c:1061
msgid ""
-"y coordinate of text box\n"
-"in number of characters"
+"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."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../any.pm_.c:1064
msgid ""
-"To get a list of the options available for the current printer click on the "
-"\"Print option list\" button."
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Enabling servers..."
+"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"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing test page(s)..."
-msgstr "O voullañ pajenn(où) skrid..."
-
-#: ../../fsedit.pm:1
-#, 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"
-
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1065
+#, fuzzy
msgid ""
-"At this point, you need to decide where you want to install the Mandrake\n"
-"Linux operating system on your hard drive. If your hard drive is empty or\n"
-"if an existing operating system is using all the available space you will\n"
-"have to partition the drive. Basically, partitioning a hard drive consists\n"
-"of logically dividing it to create the space needed to install your new\n"
-"Mandrake Linux system.\n"
-"\n"
-"Because the process of partitioning a hard drive is usually irreversible\n"
-"and can lead to lost data if there is an existing operating system already\n"
-"installed on the drive, partitioning can be intimidating and stressful if\n"
-"you are an inexperienced user. Fortunately, DrakX includes a wizard which\n"
-"simplifies this process. Before continuing with this step, read through the\n"
-"rest of this section and above all, take your time.\n"
-"\n"
-"Depending on your hard drive configuration, several options are available:\n"
-"\n"
-" * \"%s\": this option will perform an automatic partitioning of your blank\n"
-"drive(s). If you use this option there will be no further prompts.\n"
-"\n"
-" * \"%s\": the wizard has detected one or more existing Linux partitions on\n"
-"your hard drive. If you want to use them, choose this option. You will then\n"
-"be asked to choose the mount points associated with each of the partitions.\n"
-"The legacy mount points are selected by default, and for the most part it's\n"
-"a good idea to keep them.\n"
-"\n"
-" * \"%s\": if Microsoft Windows is installed on your hard drive and takes\n"
-"all the space available on it, you will have to create free space for\n"
-"Linux. To do so, you can delete your Microsoft Windows partition and data\n"
-"(see ``Erase entire disk'' solution) or resize your Microsoft Windows FAT\n"
-"partition. Resizing can be performed without the loss of any data, provided\n"
-"you have previously defragmented the Windows partition and that it uses the\n"
-"FAT format. Backing up your data is strongly recommended.. Using this\n"
-"option is recommended if you want to use both Mandrake Linux and Microsoft\n"
-"Windows on the same computer.\n"
-"\n"
-" Before choosing this option, please understand that after this\n"
-"procedure, the size of your Microsoft Windows partition will be smaller\n"
-"then when you started. You will have less free space under Microsoft\n"
-"Windows to store your data or to install new software.\n"
-"\n"
-" * \"%s\": if you want to delete all data and all partitions present on\n"
-"your hard drive and replace them with your new Mandrake Linux system,\n"
-"choose this option. Be careful, because you will not be able to undo your\n"
-"choice after you confirm.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be deleted. !!\n"
-"\n"
-" * \"%s\": this will simply erase everything on the drive and begin fresh,\n"
-"partitioning everything from scratch. All data on your disk will be lost.\n"
-"\n"
-" !! If you choose this option, all data on your disk will be lost. !!\n"
-"\n"
-" * \"%s\": choose this option if you want to manually partition your hard\n"
-"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
-"easily lose all your data. That's why this option is really only\n"
-"recommended if you have done something like this before and have some\n"
-"experience. For more instructions on how to use the DiskDrake utility,\n"
-"refer to the ``Managing Your Partitions '' section in the ``Starter\n"
-"Guide''."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Ukraine"
-msgstr "Ukren"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Application:"
-msgstr "X11/Arloadoù"
-
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "External ISDN modem"
-msgstr "Mailh"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result by mail."
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
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."
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Your choice? (default %s) "
-msgstr "Ho tibab ? (%s dre ziouer)"
-
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Trouble shooting"
+#: ../../any.pm_.c:1066
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid " / Region"
-msgstr "Spister"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../any.pm_.c:1067
+#, fuzzy
msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
-"Printing status:\n"
-"%s\n"
-"\n"
+"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 can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
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 ?"
+"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/drakbackup:1
-#, c-format
-msgid "daily"
+#: ../../any.pm_.c:1070
+#, fuzzy
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"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ñ"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "and one unknown printer"
-msgstr "Moullerez lec'hel"
-
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Ireland"
-msgstr "Iwerzhon"
+#: ../../any.pm_.c:1076
+#, fuzzy
+msgid "DrakSec Basic Options"
+msgstr "Parzhadur"
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "kernel version"
-msgstr "Kefluniañ ar proksioù"
+#: ../../any.pm_.c:1077
+#, fuzzy
+msgid "Please choose the desired security level"
+msgstr "Dibabit al live surentez"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " Restore Configuration "
-msgstr "Kefluniadur ar rouedad"
+#: ../../any.pm_.c:1080
+msgid "Security level"
+msgstr "Live surentez"
-#: ../../Xconfig/test.pm:1
-#, fuzzy, c-format
-msgid "Is this the correct setting?"
-msgstr "Ha reizh eo ?"
+#: ../../any.pm_.c:1082
+msgid "Use libsafe for servers"
+msgstr "Implijit libsafe gant ar servijer"
-#: ../../help.pm:1
-#, c-format
+#: ../../any.pm_.c:1083
msgid ""
-"You will now set up your Internet/network connection. If you wish to\n"
-"connect your computer to the Internet or to a local network, click \"%s\".\n"
-"Mandrake Linux will attempt to autodetect network devices and modems. If\n"
-"this detection fails, uncheck the \"%s\" box. You may also choose not to\n"
-"configure the network, or to do it later, in which case clicking the \"%s\"\n"
-"button will take you to the next step.\n"
-"\n"
-"When configuring your network, the available connections options are:\n"
-"traditional modem, ISDN modem, ADSL connection, cable modem, and finally a\n"
-"simple LAN connection (Ethernet).\n"
-"\n"
-"We will not detail each configuration option - just make sure that you have\n"
-"all the parameters, such as IP address, default gateway, DNS servers, etc.\n"
-"from your Internet Service Provider or system administrator.\n"
-"\n"
-"You can consult the ``Starter Guide'' chapter about Internet connections\n"
-"for details about the configuration, or simply wait until your system is\n"
-"installed and use the program described there to configure your connection."
+"A library which defends against buffer overflow and format string attacks."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Wizard Configuration"
-msgstr "Kefluniadur"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Autoprobe"
-msgstr "Embrouiñ"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup system files..."
+#: ../../any.pm_.c:1084
+msgid "Security Administrator (login or email)"
msgstr ""
-#: ../../install_any.pm:1
-#, c-format
-msgid "Can't use broadcast with no NIS domain"
-msgstr "N'hellañ ket implijout ar skignañ hep domani NIS"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Removing printer \"%s\"..."
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
-
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "drakfloppy"
-msgstr "Assevel adalek ar pladennig"
+#: ../../any.pm_.c:1166
+msgid ""
+"Here you can choose the key or key combination that will \n"
+"allow switching between the different keyboard layouts\n"
+"(eg: latin and non latin)"
+msgstr ""
-#: ../../standalone/drakpxe:1
+# 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:436
#, c-format
msgid ""
-"Please indicate where the auto_install.cfg file is located.\n"
+"Welcome to %s the operating system chooser!\n"
"\n"
-"Leave it blank if you do not want to set up automatic installation mode.\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"
+"Dibabit an dibaber reizhiad pe\n"
+"gortozit %d eilennoù\n"
+"\n"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "information level that can be obtained through the cpuid instruction"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Peru"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " on device: %s"
-msgstr "Trobarzhell al logodenn : %s\n"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Remove Windows(TM)"
-msgstr "Chetan Windows(TM)"
-
-#: ../../services.pm:1
-#, fuzzy, c-format
-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ñ."
+# 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:983
+msgid "Welcome to GRUB the operating system chooser!"
+msgstr "Degemer mat e GRUB an dibaber reizhiad oberia¤ !"
-#: ../../standalone/drakTermServ:1
+#. -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:986
#, c-format
-msgid ""
-"Most of these values were extracted\n"
-"from your running system.\n"
-"You can modify as needed."
-msgstr ""
+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"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Select the font file or directory and click on 'Add'"
-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:989
+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"
-#: ../../lang.pm:1
-#, c-format
-msgid "Madagascar"
-msgstr "Madagaskar"
+#. -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:992
+msgid "commands before booting, or 'c' for a command-line."
+msgstr "urzhiado— kent loc'ha¤, pe 'c' evit ul linenn-urzhia¤."
-#: ../../standalone/drakbug:1
+#. -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:995
#, c-format
-msgid "Urpmi"
-msgstr "Urpmi"
+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."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Cron not available yet as non-root"
+#: ../../bootloader.pm_.c:999
+msgid "not enough room in /boot"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "System"
-msgstr "Reizhiad"
+#. -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:1099
+msgid "Desktop"
+msgstr "Gorretaol"
-#: ../../any.pm:1 ../../help.pm:1
-#, fuzzy, c-format
-msgid "Do you want to use this feature?"
-msgstr "Mennout a rit implijout aboot?"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Arabic"
-msgstr "Arabek"
+#. -PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
+#: ../../bootloader.pm_.c:1101
+msgid "Start Menu"
+msgstr "Meuziad Lañsañ"
-#: ../../standalone/drakbackup:1
+#: ../../bootloader.pm_.c:1120
#, fuzzy, c-format
-msgid ""
-"\n"
-"- Options:\n"
-msgstr "Parzhadur"
+msgid "You can't install the bootloader on a %s partition\n"
+msgstr "Pelec'h e mennit staliañ ar c'harger loc'hañ ?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Password required"
-msgstr "Tremenger"
+#: ../../bootlook.pm_.c:53
+#, fuzzy
+msgid "Boot Style Configuration"
+msgstr "Kefluniadur goude staliañ"
-#: ../../common.pm:1
-#, c-format
-msgid "%d minutes"
-msgstr "%d munutennoù"
+#: ../../bootlook.pm_.c:70 ../../standalone/drakfloppy_.c:54
+#: ../../standalone/harddrake2_.c:81 ../../standalone/harddrake2_.c:82
+#: ../../standalone/logdrake_.c:74
+msgid "/_File"
+msgstr "/_Restr"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Graphics card: %s"
-msgstr "Kartenn c'hrafek : %s"
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/logdrake_.c:80
+msgid "/File/_Quit"
+msgstr "/Restr/_Kuitaat"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WebDAV transfer failed!"
+#: ../../bootlook.pm_.c:71 ../../standalone/drakfloppy_.c:55
+#: ../../standalone/harddrake2_.c:82 ../../standalone/logdrake_.c:80
+msgid "<control>Q"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree configuration"
-msgstr "Staliadur XFree86"
+#: ../../bootlook.pm_.c:82
+msgid "NewStyle Categorizing Monitor"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Choose action"
-msgstr "Dibabit un obererezh"
+#: ../../bootlook.pm_.c:83
+#, fuzzy
+msgid "NewStyle Monitor"
+msgstr "Skramm"
-#: ../../lang.pm:1
-#, c-format
-msgid "French Polynesia"
-msgstr "Polinezi galleg"
+#: ../../bootlook.pm_.c:84
+#, fuzzy
+msgid "Traditional Monitor"
+msgstr "Kemmañ ar skramm"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Usually, DrakX has no problems detecting the number of buttons on your\n"
-"mouse. If it does, it assumes you have a two-button mouse and will\n"
-"configure it for third-button emulation. The third-button mouse button of a\n"
-"two-button mouse can be ``pressed'' by simultaneously clicking the left and\n"
-"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
-"a PS/2, serial or USB interface.\n"
-"\n"
-"If for some reason you wish to specify a different type of mouse, select it\n"
-"from the list provided.\n"
-"\n"
-"If you choose a mouse other than the default, a test screen will be\n"
-"displayed. Use the buttons and wheel to verify that the settings are\n"
-"correct and that the mouse is working correctly. If the mouse is not\n"
-"working well, press the space bar or [Return] key to cancel the test and to\n"
-"go back to the list of choices.\n"
-"\n"
-"Wheel mice are occasionally not detected automatically, so you will need to\n"
-"select your mouse from a list. Be sure to select the one corresponding to\n"
-"the port that your mouse is attached to. After selecting a mouse and\n"
-"pressing the \"%s\" button, a mouse image is displayed on-screen. Scroll\n"
-"the mouse wheel to ensure that it is activated correctly. Once you see the\n"
-"on-screen scroll wheel moving as you scroll your mouse wheel, test the\n"
-"buttons and check that the mouse pointer moves on-screen as you move your\n"
-"mouse."
+#: ../../bootlook.pm_.c:85
+msgid "Traditional Gtk+ Monitor"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Support the OKI 4w and compatible winprinters."
+#: ../../bootlook.pm_.c:86
+msgid "Launch Aurora at boot time"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
-msgstr ""
+#: ../../bootlook.pm_.c:89
+#, fuzzy
+msgid "Lilo/grub mode"
+msgstr "Anv domani"
-#. -PO: the first %s is the card type (scsi, network, sound,...)
-#. -PO: the second is the vendor+model name
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Installing driver for %s card %s"
-msgstr "O staliañ ur sturier evit kartenn %s %s"
+#: ../../bootlook.pm_.c:89
+#, fuzzy
+msgid "Yaboot mode"
+msgstr "Trobarzhell loc'hañ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:138
+#, fuzzy
+msgid "Install themes"
+msgstr "Staliañ ar reizhiad"
+
+#: ../../bootlook.pm_.c:139
msgid ""
-"You have transferred your former default printer (\"%s\"), Should it be also "
-"the default printer under the new printing system %s?"
+"Display theme\n"
+"under console"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Enable Server"
-msgstr "Stlennvonioù"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ukrainian"
-msgstr "Ukrainiek"
+#: ../../bootlook.pm_.c:140
+#, fuzzy
+msgid "Create new theme"
+msgstr "Krouiñ ur parzhadur nevez"
-#: ../../printer/printerdrake.pm:1
+#: ../../bootlook.pm_.c:184
#, c-format
-msgid ""
-"The network access was not running and could not be started. Please check "
-"your configuration and your hardware. Then try to configure your remote "
-"printer again."
+msgid "Backup %s to %s.old"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Please insert the Boot floppy used in drive %s"
-msgstr "Lakait ur bladennig el lenner %s"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
+#: ../../bootlook.pm_.c:187
#, fuzzy, c-format
-msgid "Local network(s)"
-msgstr "kartenn rouedad kavet ebet"
+msgid "Copy %s to %s"
+msgstr "Adskrivañ %s"
-#: ../../help.pm:1
-#, c-format
-msgid "Remove Windows"
-msgstr "Chetan Windows"
+#: ../../bootlook.pm_.c:192 ../../bootlook.pm_.c:222 ../../bootlook.pm_.c:224
+#: ../../bootlook.pm_.c:234 ../../bootlook.pm_.c:243 ../../bootlook.pm_.c:250
+#: ../../diskdrake/dav.pm_.c:77 ../../diskdrake/hd_gtk.pm_.c:119
+#: ../../diskdrake/interactive.pm_.c:216 ../../diskdrake/interactive.pm_.c:352
+#: ../../diskdrake/interactive.pm_.c:367 ../../diskdrake/interactive.pm_.c:481
+#: ../../diskdrake/interactive.pm_.c:486 ../../diskdrake/smbnfs_gtk.pm_.c:45
+#: ../../fsedit.pm_.c:239 ../../install_steps.pm_.c:75
+#: ../../install_steps_interactive.pm_.c:67 ../../interactive/http.pm_.c:119
+#: ../../interactive/http.pm_.c:120 ../../standalone/draksplash_.c:21
+msgid "Error"
+msgstr "Fazi"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"Your %s has been configured.\n"
-"You may now scan documents using \"XSane\" from Multimedia/Graphics in the "
-"applications menu."
+#: ../../bootlook.pm_.c:192
+msgid "Lilo message not found"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Firewire controllers"
+#: ../../bootlook.pm_.c:222
+msgid "Can't write /etc/sysconfig/bootsplash."
msgstr ""
-#: ../../help.pm:1
+#: ../../bootlook.pm_.c:222
#, fuzzy, c-format
-msgid ""
-"After you have configured the general bootloader parameters, the list of\n"
-"boot options that will be available at boot time will be displayed.\n"
-"\n"
-"If there are other operating systems installed on your machine they will\n"
-"automatically be added to the boot menu. You can fine-tune the existing\n"
-"options by clicking \"%s\" to create a new entry; selecting an entry and\n"
-"clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your\n"
-"changes.\n"
-"\n"
-"You may also not want to give access to these other operating systems to\n"
-"anyone who goes to the console and reboots the machine. You can delete the\n"
-"corresponding entries for the operating systems to remove them from the\n"
-"bootloader menu, but you will need a boot disk in order to boot those other\n"
-"operating systems!"
-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 bezañt 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."
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "System mode"
-msgstr ""
+msgid "Write %s"
+msgstr "XFree %s"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../bootlook.pm_.c:224
msgid ""
-"To print on 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."
+"Can't write /etc/sysconfig/bootsplash\n"
+"File not found."
msgstr ""
-"Evit moullañ war ur voullerez NetWare eo ret deoc'h pourvezañ anv ar\n"
-"servijer moullañ NetWare (Ho evezh ! Disheñvel 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."
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Netmask:"
-msgstr "Maskl rouedad"
-#: ../../any.pm:1
+#: ../../bootlook.pm_.c:235
#, c-format
-msgid "Append"
-msgstr "Ouzhpennañ"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refresh printer list (to display all available remote CUPS printers)"
+msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../bootlook.pm_.c:238
#, c-format
-msgid ""
-"When this option is turned on, on every startup of CUPS it is automatically "
-"made sure that\n"
-"\n"
-"- if LPD/LPRng is installed, /etc/printcap will not be overwritten by CUPS\n"
-"\n"
-"- if /etc/cups/cupsd.conf is missing, it will be created\n"
-"\n"
-"- when printer information is broadcasted, it does not contain \"localhost\" "
-"as the server name.\n"
-"\n"
-"If some of these measures lead to problems for you, turn this option off, "
-"but then you have to take care of these points."
+msgid "Make initrd 'mkinitrd -f /boot/initrd-%s.img %s'."
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../bootlook.pm_.c:244
msgid ""
-"OSS (Open Sound System) was the first sound API. It's an OS independant "
-"sound API (it's available on most unices systems) but it's a very basic and "
-"limited API.\n"
-"What's more, OSS drivers all reinvent the wheel.\n"
-"\n"
-"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
-"which\n"
-"supports quite a large range of ISA, USB and PCI cards.\n"
-"\n"
-"It also provides a much higher API than OSS.\n"
-"\n"
-"To use alsa, one can either use:\n"
-"- the old compatibility OSS api\n"
-"- the new ALSA api that provides many enhanced features but requires using "
-"the ALSA library.\n"
+"Can't relaunch LiLo!\n"
+"Launch \"lilo\" as root in command line to complete LiLo theme installation."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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"
+#: ../../bootlook.pm_.c:248
+msgid "Relaunch 'lilo'"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Network printer \"%s\", port %s"
-msgstr "Dibarzhoù ar voullerez NetWare"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Please choose what network adapter will be connected to your Local Area "
-"Network."
-msgstr ""
+#: ../../bootlook.pm_.c:250 ../../standalone/draksplash_.c:156
+#: ../../standalone/draksplash_.c:321 ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "Notice"
+msgstr "frondenn"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "OK to restore the other files."
+#: ../../bootlook.pm_.c:251
+msgid "LiLo and Bootsplash themes installation successfull"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Please choose your keyboard layout."
-msgstr "Dibabit reizhadur ho stokellaoueg, mar plij."
+#: ../../bootlook.pm_.c:251
+#, fuzzy
+msgid "Theme installation failed!"
+msgstr "Diuzit renkad ar staliadur"
-#: ../../printer/printerdrake.pm:1
+#: ../../bootlook.pm_.c:259
#, fuzzy, c-format
-msgid "Printer Device URI"
-msgstr "Trobarzhell ar voullerez"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not erasable media!"
-msgstr ""
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Terminal-based"
-msgstr "Diazezet war un dermenell"
+msgid ""
+"You are currently using %s as your boot manager.\n"
+"Click on Configure to launch the setup wizard."
+msgstr "Lugerezh ar voullerez"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Installing a printing system in the %s security level"
-msgstr ""
+#: ../../bootlook.pm_.c:261 ../../standalone/drakbackup_.c:2380
+#: ../../standalone/drakbackup_.c:2390 ../../standalone/drakbackup_.c:2400
+#: ../../standalone/drakbackup_.c:2408 ../../standalone/drakgw_.c:551
+msgid "Configure"
+msgstr "Kefluniañ"
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "The user name is too long"
-msgstr "En implij eo an anv arveriad-se endeo"
+#: ../../bootlook.pm_.c:268
+#, fuzzy
+msgid "Splash selection"
+msgstr "Diuz pakadoù unan hag unan"
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (windows...)"
-msgstr "Reizhiadoù (windows...)"
+#: ../../bootlook.pm_.c:271
+#, fuzzy
+msgid "Themes"
+msgstr "Gwezenn"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WebDAV remote site already in sync!"
+#: ../../bootlook.pm_.c:273
+msgid ""
+"\n"
+"Select theme for\n"
+"lilo and bootsplash,\n"
+"you can choose\n"
+"them separatly"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer database..."
+#: ../../bootlook.pm_.c:276
+msgid "Lilo screen"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Generate auto install floppy"
-msgstr "O krouiñ ur bladennig staliañ emgefreek"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\t\t user name: %s\n"
-"\t\t on path: %s \n"
+#: ../../bootlook.pm_.c:281
+msgid "Bootsplash"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Somalia"
-msgstr "Somali"
-
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
-msgid "No open source driver"
-msgstr "Sturier X"
-
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid ""
-"This is similar to the previous level, but the system is entirely closed and "
-"security features are at their maximum."
+#: ../../bootlook.pm_.c:316
+msgid "System mode"
msgstr ""
-"Kemer a reomp arc'hweloù al live 4, hogen bremañ eo peurserret ar reizhiad.\n"
-"Arc'hweloù surentez a zo en o muiañ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nicaragua"
+#: ../../bootlook.pm_.c:318
+msgid "Launch the graphical environment when your system starts"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "New Caledonia"
-msgstr "Kaledoni-nevez"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol (EDSS1)"
+#: ../../bootlook.pm_.c:323
+msgid "No, I don't want autologin"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Video mode"
-msgstr "Mod video"
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Please enter your email address below "
-msgstr "Klaskit adarre mar plij"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Oman"
+#: ../../bootlook.pm_.c:325
+msgid "Yes, I want autologin with this (user, desktop)"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Network Monitoring"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "SunOS"
-msgstr "SunOS"
+#: ../../bootlook.pm_.c:335 ../../network/netconnect.pm_.c:96
+#: ../../standalone/drakTermServ_.c:222 ../../standalone/drakTermServ_.c:355
+#: ../../standalone/drakbackup_.c:4139 ../../standalone/drakbackup_.c:4797
+#: ../../standalone/drakconnect_.c:105 ../../standalone/drakconnect_.c:137
+#: ../../standalone/drakconnect_.c:293 ../../standalone/drakconnect_.c:432
+#: ../../standalone/drakconnect_.c:518 ../../standalone/drakconnect_.c:561
+#: ../../standalone/drakconnect_.c:665 ../../standalone/drakfont_.c:604
+#: ../../standalone/drakfont_.c:783 ../../standalone/drakfont_.c:911
+#: ../../standalone/net_monitor_.c:336 ../../ugtk.pm_.c:288
+#: ../../ugtk2.pm_.c:355
+msgid "OK"
+msgstr "YA"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "New size in MB: "
-msgstr "Ment nevez e Mo : "
+#: ../../common.pm_.c:107
+msgid "GB"
+msgstr "Go"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Partition table type: %s\n"
-msgstr "Seurt taolenn barzhañ : %s\n"
+#: ../../common.pm_.c:107
+msgid "KB"
+msgstr "Ko"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Authentication Windows Domain"
-msgstr "Dilesadur"
+#: ../../common.pm_.c:107
+msgid "MB"
+msgstr "Mo"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard"
-msgstr "Stokellaoueg SUA"
+#: ../../common.pm_.c:115
+msgid "TB"
+msgstr "To"
-#: ../../install_steps_interactive.pm:1
+#: ../../common.pm_.c:123
#, c-format
-msgid "Buttons emulation"
-msgstr ""
+msgid "%d minutes"
+msgstr "%d munutennoù"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", network printer \"%s\", port %s"
-msgstr ""
+#: ../../common.pm_.c:125
+msgid "1 minute"
+msgstr "1 munutenn"
-#: ../../standalone/drakbackup:1
+#: ../../common.pm_.c:127
#, c-format
-msgid ""
-"\n"
-"Drakbackup activities via tape:\n"
-"\n"
-msgstr ""
+msgid "%d seconds"
+msgstr "%d eilenn"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" FTP connection problem: It was not possible to send your backup files by "
-"FTP.\n"
-msgstr ""
+#: ../../common.pm_.c:172
+#, fuzzy
+msgid "Can't make screenshots before partitioning"
+msgstr "N'hellan ouzpennañ parzhadur ebet ken"
-#: ../../standalone/net_monitor:1
+#: ../../common.pm_.c:179
#, fuzzy, c-format
-msgid "Sending Speed:"
-msgstr "Enrollañ er restr"
+msgid "Screenshots will be available after install in %s"
+msgstr "Gallout a rit dibab yezhoù all hag a vo hegerz goude staliañ"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"The classic bug sound tester is to run the following commands:\n"
-"\n"
-"\n"
-"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
-"by default\n"
-"\n"
-"- \"grep sound-slot /etc/modules.conf\" will tell you what driver it\n"
-"currently uses\n"
-"\n"
-"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
-"loaded or not\n"
-"\n"
-"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
-"tell you if sound and alsa services're configured to be run on\n"
-"initlevel 3\n"
-"\n"
-"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
-"\n"
-"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
-msgstr ""
+#: ../../crypto.pm_.c:14 ../../crypto.pm_.c:28 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:127
+msgid "France"
+msgstr "Gall"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Halt bug"
+#: ../../crypto.pm_.c:15
+msgid "Costa Rica"
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Mail alert configuration"
-msgstr "Kefluniañ ar proksioù"
+#: ../../crypto.pm_.c:16 ../../crypto.pm_.c:29 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:130
+msgid "Belgium"
+msgstr "Beljik"
-#: ../../lang.pm:1
-#, c-format
-msgid "Tokelau"
-msgstr ""
+#: ../../crypto.pm_.c:17 ../../crypto.pm_.c:30
+msgid "Czech Republic"
+msgstr "Tchek"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bosnian"
-msgstr ""
+#: ../../crypto.pm_.c:18 ../../crypto.pm_.c:31
+msgid "Germany"
+msgstr "Alaman"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Release: "
-msgstr "Gortozit mar plij"
+#: ../../crypto.pm_.c:19 ../../crypto.pm_.c:32
+msgid "Greece"
+msgstr "Gres"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Connection speed"
-msgstr "Anv ar gevreadenn"
+#: ../../crypto.pm_.c:20 ../../crypto.pm_.c:33
+msgid "Norway"
+msgstr "Norvegek"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Please enter your CD Writer device name\n"
-" ex: 0,1,0"
-msgstr ""
+#: ../../crypto.pm_.c:21 ../../crypto.pm_.c:34
+msgid "Sweden"
+msgstr "Suis"
-#: ../../lang.pm:1
-#, c-format
-msgid "Namibia"
-msgstr ""
+#: ../../crypto.pm_.c:22 ../../crypto.pm_.c:36 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:128
+msgid "Netherlands"
+msgstr "Izelvroioù"
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Database Server"
-msgstr "Stlennvonioù"
+#: ../../crypto.pm_.c:23 ../../crypto.pm_.c:37 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:129 ../../standalone/drakxtv_.c:65
+msgid "Italy"
+msgstr "Italian"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "special capacities of the driver (burning ability and or DVD support)"
-msgstr ""
+#: ../../crypto.pm_.c:24 ../../crypto.pm_.c:38
+msgid "Austria"
+msgstr "Aostria"
-#: ../../raid.pm:1
-#, 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_"
+#: ../../crypto.pm_.c:35 ../../crypto.pm_.c:61 ../../network/tools.pm_.c:118
+#: ../../network/tools.pm_.c:131
+msgid "United States"
+msgstr "Amerika"
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../diskdrake/dav.pm_.c:19
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."
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Please wait, setting security options..."
-msgstr "Gortozit mar plij, o prientiñ ar staliadur"
-
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Unknown|CPH05X (bt878) [many vendors]"
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:27
+msgid "New"
+msgstr "Nevez"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Launch the graphical environment when your system starts"
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:63 ../../diskdrake/interactive.pm_.c:400
+#: ../../diskdrake/smbnfs_gtk.pm_.c:81
+msgid "Unmount"
+msgstr "Divarc'hañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "hourly"
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:64 ../../diskdrake/interactive.pm_.c:397
+#: ../../diskdrake/smbnfs_gtk.pm_.c:82
+msgid "Mount"
+msgstr "Marc'hañ"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Shift key"
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:65
+msgid "Server"
+msgstr "Servijer"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Successfuly Restored on %s "
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:66 ../../diskdrake/interactive.pm_.c:391
+#: ../../diskdrake/interactive.pm_.c:580 ../../diskdrake/interactive.pm_.c:607
+#: ../../diskdrake/removable.pm_.c:24 ../../diskdrake/smbnfs_gtk.pm_.c:85
+msgid "Mount point"
+msgstr "Poent marc'hañ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Making printer port available for CUPS..."
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:85
+#, fuzzy
+msgid "Please enter the WebDAV server URL"
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../lang.pm:1
-#, c-format
-msgid "Antigua and Barbuda"
+#: ../../diskdrake/dav.pm_.c:88
+msgid "The URL must begin with http:// or https://"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"!!! Indicates the password in the system database is different than\n"
-" the one in the Terminal Server database.\n"
-"Delete/re-add the user to the Terminal Server to enable login."
-msgstr ""
+#: ../../diskdrake/dav.pm_.c:109
+#, fuzzy
+msgid "Server: "
+msgstr "Servijer"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Spanish"
-msgstr "Spagnol"
+#: ../../diskdrake/dav.pm_.c:110 ../../diskdrake/interactive.pm_.c:452
+#: ../../diskdrake/interactive.pm_.c:1102
+#: ../../diskdrake/interactive.pm_.c:1177
+msgid "Mount point: "
+msgstr "Poent marc'hañ : "
-#: ../../services.pm:1
+#: ../../diskdrake/dav.pm_.c:111 ../../diskdrake/interactive.pm_.c:1183
#, fuzzy, c-format
-msgid "Start"
-msgstr "Meuziad Lañsañ"
+msgid "Options: %s"
+msgstr "Parzhadur"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Activate/Disable ethernet cards promiscuity check."
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:97
+msgid "Please make a backup of your data first"
+msgstr "Gwarezit ho roadoù da gentañ mar plij"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configuring applications..."
-msgstr "Kefluniañ ar voullerez"
+#: ../../diskdrake/hd_gtk.pm_.c:97 ../../diskdrake/interactive.pm_.c:946
+#: ../../diskdrake/interactive.pm_.c:956
+#: ../../diskdrake/interactive.pm_.c:1022
+msgid "Read carefully!"
+msgstr "Lennit aketus !"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/hd_gtk.pm_.c:100
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer, connected directly to the network or to a remote Windows machine.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected. Also your network printer(s) and your Windows "
-"machines must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network and/or Windows-hosted printers when you don't need "
-"it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"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 soñj implijout aboot, taolit evezh leuskel un egor dieub (2048 "
+"rann\n"
+"a zo a-walc'h) e deroù ar bladenn"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Normal modem connection"
-msgstr "Kefluniañ ur rouedad"
-
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "File Selection"
-msgstr "Diuzadenn strollad pakadoù"
+#: ../../diskdrake/hd_gtk.pm_.c:154
+msgid "Wizard"
+msgstr "Skoazeller"
-#: ../../help.pm:1 ../../printer/cups.pm:1 ../../printer/data.pm:1
-#, c-format
-msgid "CUPS"
-msgstr "CUPS"
+#: ../../diskdrake/hd_gtk.pm_.c:187
+msgid "Choose action"
+msgstr "Dibabit un obererezh"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Run config tool"
+#: ../../diskdrake/hd_gtk.pm_.c:191
+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ñ\")"
-#: ../../any.pm:1
-#, c-format
-msgid "Bootloader installation"
-msgstr "Staliadur c'harger loc'hañ"
+#
+#: ../../diskdrake/hd_gtk.pm_.c:194
+msgid "Please click on a partition"
+msgstr "Klikit war ur parzhadur mar plij"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Root partition size in MB: "
-msgstr "Ment ar parzhadur gwrizienn e Mo : "
+#: ../../diskdrake/hd_gtk.pm_.c:208 ../../diskdrake/smbnfs_gtk.pm_.c:69
+#: ../../install_steps_gtk.pm_.c:464
+msgid "Details"
+msgstr "Munudoù"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "This is a mandatory package, it can't be unselected"
-msgstr "Hemañ a zo ur pakad ret, n'hell ket bezañ andiuzet"
+#: ../../diskdrake/hd_gtk.pm_.c:254
+#, fuzzy
+msgid "No hard drives found"
+msgstr "N'ev ket Moullerez lec'hel!\n"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Etherboot ISO image is %s"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Ext2"
+msgstr "Ext2"
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid ""
-"named (BIND) is a Domain Name Server (DNS) that is used to resolve 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."
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "FAT"
+msgstr "FAT"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Disconnect..."
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "HFS"
+msgstr "HFS"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Lucia"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:325
+#, fuzzy
+msgid "Journalised FS"
+msgstr "marc'hañ sac'het"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Report"
-msgstr "Paour"
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "SunOS"
+msgstr "SunOS"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palau"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:325
+msgid "Swap"
+msgstr "Disloañ"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "level"
-msgstr "live"
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../diskdrake/interactive.pm_.c:1118
+msgid "Empty"
+msgstr "Goullo"
-#: ../../share/advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid ""
-"All incidents will be followed up by a single qualified MandrakeSoft "
-"technical expert."
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:326 ../../install_steps_gtk.pm_.c:324
+#: ../../install_steps_gtk.pm_.c:382 ../../mouse.pm_.c:165
+#: ../../services.pm_.c:162 ../../standalone/drakbackup_.c:1719
+msgid "Other"
+msgstr "All"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package Group Selection"
-msgstr "Diuzadenn strollad pakadoù"
+#: ../../diskdrake/hd_gtk.pm_.c:330
+msgid "Filesystem types:"
+msgstr "Seurt ar reizhiadoù restroù :"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid ""
-"Allow local hardware\n"
-"configuration."
-msgstr "Kefluniadur goude staliañ"
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:414
+msgid "Create"
+msgstr "Krouiñ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore Via Network Protocol: %s"
-msgstr ""
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/interactive.pm_.c:392
+#: ../../diskdrake/interactive.pm_.c:543 ../../diskdrake/removable.pm_.c:26
+#: ../../diskdrake/removable.pm_.c:49 ../../standalone/harddrake2_.c:66
+msgid "Type"
+msgstr "Seurt"
-#: ../../modules/interactive.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:347 ../../diskdrake/hd_gtk.pm_.c:349
#, c-format
-msgid "You can configure each parameter of the module here."
-msgstr ""
+msgid "Use ``%s'' instead"
+msgstr "Grit kentoc'h gant ``%s''"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Choose the resolution and the color depth"
-msgstr "Dibabit ar spister ha donder al livioù"
+#: ../../diskdrake/hd_gtk.pm_.c:349 ../../diskdrake/interactive.pm_.c:401
+msgid "Delete"
+msgstr "Dilemel"
-#: ../../standalone/mousedrake:1
-#, c-format
-msgid "Emulate third button?"
-msgstr "Kendarvan an trede nozelenn ?"
+#: ../../diskdrake/hd_gtk.pm_.c:353
+msgid "Use ``Unmount'' first"
+msgstr "Implijit ``Divarc'hañ'' da gentañ"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/hd_gtk.pm_.c:354 ../../diskdrake/interactive.pm_.c:530
#, c-format
msgid ""
-"You can't create a new partition\n"
-"(since you reached the maximal number of primary partitions).\n"
-"First remove a primary partition and create an extended partition."
+"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/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount"
-msgstr "Marc'hañ"
-
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Creating auto install floppy"
-msgstr "O krouiñ ur bladennig staliañ emgefreek"
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose a partition"
+msgstr "Dibabit un parzhadur"
-#: ../../steps.pm:1
-#, fuzzy, c-format
-msgid "Install updates"
-msgstr "Staliañ ar reizhiad"
+#: ../../diskdrake/interactive.pm_.c:177
+msgid "Choose another partition"
+msgstr "Dibabit un parzhadur all"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text box height"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:202
+msgid "Exit"
+msgstr "Kuitaat"
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "State"
-msgstr "Meuziad Lañsañ"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to expert mode"
+msgstr "Tremen er mod mailh"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Be sure a media is present for the device %s"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Toggle to normal mode"
+msgstr "Tremen er mod boas"
-#: ../../any.pm:1
-#, c-format
-msgid "Enable multiple profiles"
-msgstr "Aotren lies trolinenn"
+#: ../../diskdrake/interactive.pm_.c:228
+msgid "Undo"
+msgstr "Dizober"
-#: ../../fs.pm:1
-#, c-format
-msgid "Do not interpret character or block special devices on the file system."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:247
+msgid "Continue anyway?"
+msgstr "Kenderc'hel evelato ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"These options can backup and restore all files in your /etc directory.\n"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without saving"
+msgstr "Kuitaat hep enrollañ"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Local printer"
-msgstr "Moullerez lec'hel"
+#: ../../diskdrake/interactive.pm_.c:252
+msgid "Quit without writing the partition table?"
+msgstr "Kuitaat hep skrivañ an daolenn barzhañ ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Files Restored..."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:257
+#, fuzzy
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Package selection"
-msgstr "Diuzadenn pakadoù"
+#: ../../diskdrake/interactive.pm_.c:271
+msgid "Clear all"
+msgstr "Skarañ an holl"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritania"
-msgstr "Maouritani"
+#: ../../diskdrake/interactive.pm_.c:272
+msgid "Auto allocate"
+msgstr "Ac'hubiñ ent emgefreek"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"I can keep your current configuration and assume you already set up a DHCP "
-"server; in that case please verify I correctly read the Network that you use "
-"for your local network; I will not reconfigure it and I will not touch your "
-"DHCP server configuration.\n"
-"\n"
-"The default DNS entry is the Caching Nameserver configured on the firewall. "
-"You can replace that with your ISP DNS IP, for example.\n"
-"\t\t \n"
-"Otherwise, I can reconfigure your interface and (re)configure a DHCP server "
-"for you.\n"
-"\n"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:273
+#: ../../install_steps_interactive.pm_.c:220
+#, fuzzy
+msgid "More"
+msgstr "Dilec'hiañ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"No local printer found! To manually install a printer enter a device name/"
-"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
-"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
-"printer: /dev/usb/lp1, ...)."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:278
+#, fuzzy
+msgid "Hard drive information"
+msgstr "Dinoiñ ar bladenn galet"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:310
msgid "All primary partitions are used"
msgstr "Ac'hubet eo an holl barzhadurioù kentañ renk"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"After this is done, we recommend that you restart your X environment to "
-"avoid any hostname-related problems."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:311
+msgid "I can't add any more partition"
+msgstr "N'hellan ouzpennañ parzhadur ebet ken"
-#: ../../services.pm:1
-#, c-format
-msgid "Automatic detection and configuration of hardware at boot."
+#: ../../diskdrake/interactive.pm_.c:312
+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"
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Installation Server Configuration"
-msgstr "Kefluniadur"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring IDE"
-msgstr "Kefluniañ IDE"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Network functionality not configured"
-msgstr "Skramm ket kefluniet"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Configure module"
-msgstr "Kefluniañ al logodenn"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cocos (Keeling) Islands"
-msgstr "Inizi Koko (Keeling)"
-
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Disconnecting from the Internet "
-msgstr "Anv ar gevreadenn"
+#: ../../diskdrake/interactive.pm_.c:322
+#, fuzzy
+msgid "Save partition table"
+msgstr "Skrivañ an daolenn barzhañ"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-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/interactive.pm_.c:323
+#, fuzzy
+msgid "Restore partition table"
+msgstr "Taolenn barzhañ saveteerezh"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Provider phone number"
-msgstr "Niverenn bellgomz"
+#: ../../diskdrake/interactive.pm_.c:324
+msgid "Rescue partition table"
+msgstr "Taolenn barzhañ saveteerezh"
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Host %s"
-msgstr "Anv an ostiz"
+#: ../../diskdrake/interactive.pm_.c:326
+#, fuzzy
+msgid "Reload partition table"
+msgstr "Taolenn barzhañ saveteerezh"
-#: ../../lang.pm:1
-#, c-format
-msgid "Armenia"
-msgstr "Armeni"
+#: ../../diskdrake/interactive.pm_.c:331
+#, fuzzy
+msgid "Removable media automounting"
+msgstr "Emvarc'hañ ar skoroù lem/laka"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Fiji"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:340 ../../diskdrake/interactive.pm_.c:360
+msgid "Select file"
+msgstr "Diuzit ar restr"
-#: ../../security/help.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:347
msgid ""
-"Arguments: (length, ndigits=0, nupper=0)\n"
-"\n"
-"Set the password minimum length and minimum number of digit and minimum "
-"number of capitalized letters."
+"The backup partition table has not the same size\n"
+"Still continue?"
msgstr ""
+"N'eo ket heñvel ment an daolenn barzhañ gwarezet\n"
+"Kenderc'hel memestra ?"
-#: ../../any.pm:1
-#, c-format
-msgid "Second floppy drive"
-msgstr "Eil lenner pladennig"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "About Harddrake"
-msgstr "A-brepoz Harddrake"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Drive capacity"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:361 ../../harddrake/sound.pm_.c:202
+#: ../../network/modem.pm_.c:95
+msgid "Warning"
+msgstr "Ho evezh"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:362
msgid ""
"Insert a floppy in drive\n"
"All data on this floppy will be lost"
@@ -2832,227 +1775,107 @@ msgstr ""
"Lakait ur bladennig el lenner\n"
"Kollet e vo holl roadoù ar bladennig-se"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s"
-msgstr "Ment: %s"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Control and Shift keys simultaneously"
-msgstr ""
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "secondary"
-msgstr "%d eilenn"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "View Backup Configuration."
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report check result to syslog."
-msgstr ""
-
-#. -PO: keep this short or else the buttons will not fit in the window
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No password"
-msgstr "Tremenger ebet"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Nigeria"
-msgstr "Nijeria"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires hostname...\n"
-msgstr ""
-
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "There is no existing partition to use"
+#: ../../diskdrake/interactive.pm_.c:373
+msgid "Trying to rescue partition table"
msgstr "O klask assevel an daolenn barzhañ"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid ""
-"The following scanners\n"
-"\n"
-"%s\n"
-"are available on your system.\n"
-msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
+#: ../../diskdrake/interactive.pm_.c:379
+#, fuzzy
+msgid "Detailed information"
+msgstr "Diskouez titouroù"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print to a TCP or socket printer, you need to provide the host name or IP "
-"of the printer and optionally the port number (default is 9100). On HP "
-"JetDirect servers the port number is usually 9100, on other servers it can "
-"vary. See the manual of your hardware."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:394 ../../diskdrake/interactive.pm_.c:674
+msgid "Resize"
+msgstr "Adventañ"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Hard drive information"
-msgstr "Dinoiñ ar bladenn galet"
+#: ../../diskdrake/interactive.pm_.c:395 ../../diskdrake/interactive.pm_.c:727
+msgid "Move"
+msgstr "Dilec'hiañ"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian"
-msgstr "Rusiek"
+#: ../../diskdrake/interactive.pm_.c:396
+msgid "Format"
+msgstr "Furmadiñ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Jordan"
-msgstr "Jordani"
+#: ../../diskdrake/interactive.pm_.c:398
+msgid "Add to RAID"
+msgstr "Ouzhpennañ da RAID"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Hide files"
-msgstr "mkraid sac'het"
+#: ../../diskdrake/interactive.pm_.c:399
+msgid "Add to LVM"
+msgstr "Ouzhpennañ da LVM"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Auto-detect printers connected to this machine"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../diskdrake/interactive.pm_.c:402
+msgid "Remove from RAID"
+msgstr "Lemel diwar RAID"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid ""
-"XawTV isn't installed!\n"
-"\n"
-"\n"
-"If you do have a TV card but DrakX has neither detected it (no bttv nor "
-"saa7134\n"
-"module in \"/etc/modules\") nor installed xawtv, please send the\n"
-"results of \"lspcidrake -v -f\" to \"install@mandrakesoft.com\"\n"
-"with subject \"undetected TV card\".\n"
-"\n"
-"\n"
-"You can install it by typing \"urpmi xawtv\" as root, in a console."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:403
+msgid "Remove from LVM"
+msgstr "Lemel diwar LVM"
-#: ../../any.pm:1
-#, c-format
-msgid "Sorry, no floppy drive available"
-msgstr "Ho tigarez, lenner pladennig hegerz ebet"
+#: ../../diskdrake/interactive.pm_.c:404
+msgid "Modify RAID"
+msgstr "Kemmañ RAID"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bolivia"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:405
+msgid "Use for loopback"
+msgstr "Implij da saveteiñ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Set up your Windows server to make the printer available under the IPP "
-"protocol and set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:445
+msgid "Create a new partition"
+msgstr "Krouiñ ur parzhadur nevez"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Bad package"
-msgstr "Pakad siek"
+#: ../../diskdrake/interactive.pm_.c:448
+msgid "Start sector: "
+msgstr "Rann kregiñ : "
-#: ../../share/advertising/07-server.pl:1
-#, c-format
-msgid ""
-"Transform your computer into a powerful Linux server: Web server, mail, "
-"firewall, router, file and print server (etc.) are just a few clicks away!"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:450 ../../diskdrake/interactive.pm_.c:827
+msgid "Size in MB: "
+msgstr "Ment e Mo : "
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid "DrakSec Basic Options"
-msgstr "Parzhadur"
+#: ../../diskdrake/interactive.pm_.c:451 ../../diskdrake/interactive.pm_.c:828
+msgid "Filesystem type: "
+msgstr "Seurt ar reizhiad restroù : "
-#: ../../standalone/draksound:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:456
+msgid "Preference: "
+msgstr "Dibarzh : "
+
+#: ../../diskdrake/interactive.pm_.c:481
msgid ""
-"\n"
-"\n"
-"\n"
-"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
-"program. Just type \"sndconfig\" in a console."
+"You can't create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Romania"
-msgstr "Roumani"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "choose device"
-msgstr "Trobarzhell loc'hañ"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Canada"
-msgstr "Kanada"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from LVM"
-msgstr "Lemel diwar LVM"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Timezone"
-msgstr "Takad-eur"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German"
-msgstr "Alaman"
+#: ../../diskdrake/interactive.pm_.c:511
+#, fuzzy
+msgid "Remove the loopback file?"
+msgstr "O furmadiñ ar restr saveteiñ %s"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../interactive/newt.pm:1 ../../my_gtk.pm:1
-#: ../../printer/printerdrake.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Next ->"
-msgstr "A heul ->"
+#: ../../diskdrake/interactive.pm_.c:541
+msgid "Change partition type"
+msgstr "Kemmañ seurt ar parzhadur"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Turning on this allows to print plain text files in japanese language. Only "
-"use this function if you really want to print text in japanese, if it is "
-"activated you cannot print accentuated characters in latin fonts any more "
-"and you will not be able to adjust the margins, the character size, etc. "
-"This setting only affects printers defined on this machine. If you want to "
-"print japanese text on a printer set up on a remote machine, you have to "
-"activate this function on that remote machine."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:542 ../../diskdrake/removable.pm_.c:48
+#, fuzzy
+msgid "Which filesystem do you want?"
+msgstr "Pe seurt parzhadur a vennit ?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ""
-"\n"
-"Chances are, this partition is\n"
-"a Driver partition. You should\n"
-"probably leave it alone.\n"
+#: ../../diskdrake/interactive.pm_.c:548
+msgid "Switching from ext2 to ext3"
msgstr ""
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:578
#, c-format
-msgid "Guinea-Bissau"
-msgstr ""
+msgid "Where do you want to mount loopback file %s?"
+msgstr "Pelec'h e mennit marc'hañ ar restr saveteiñ %s ?"
-#: ../../Xconfig/monitor.pm:1
+#: ../../diskdrake/interactive.pm_.c:579
#, c-format
-msgid "Horizontal refresh rate"
-msgstr "Feur freskaat a-led"
+msgid "Where do you want to mount device %s?"
+msgstr "Pelec'h e mennit marc'hañ an drobarzhell %s ?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:585
msgid ""
"Can't unset mount point as this partition is used for loop back.\n"
"Remove the loopback first"
@@ -3060,1198 +1883,1206 @@ msgstr ""
"N'hellan ket dizober ar poent marc'hañ dre m'eo implijet ar parzhadur-se\n"
"evit saveteiñ. Lamit ar saveteiñ da gentañ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"The network configuration done during the installation cannot be started "
-"now. Please check whether the network is accessable after booting your "
-"system and correct the configuration using the Mandrake Control Center, "
-"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
-"printer, also using the Mandrake Control Center, section \"Hardware\"/"
-"\"Printer\""
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:606
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Pelec'h e mennit marc'hañ an drobarzhell %s ?"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "USB controllers"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:630
+msgid "Computing FAT filesystem bounds"
+msgstr "O jediñ bevennoù ar reizhiad restroù FAT"
-#: ../../Xconfig/various.pm:1
-#, fuzzy, c-format
-msgid "What norm is your TV using?"
-msgstr "Ouzh pe borzh a-steud eo luget ho logodenn ?"
+#: ../../diskdrake/interactive.pm_.c:630 ../../diskdrake/interactive.pm_.c:689
+#: ../../install_interactive.pm_.c:131
+msgid "Resizing"
+msgstr "Oc'h adventañ"
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Type:"
-msgstr "Seurt : "
+#: ../../diskdrake/interactive.pm_.c:662
+#, fuzzy
+msgid "This partition is not resizeable"
+msgstr "Pe seurt parzhadur a vennit ?"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:667
+msgid "All data on this partition should be backed-up"
+msgstr "Mat e vije gwareziñ holl roadoù ar parzhadur-se"
+
+#: ../../diskdrake/interactive.pm_.c:669
#, c-format
-msgid "Share name"
-msgstr "Anv rannet"
+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"
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "enable"
-msgstr "Taolenn"
+#: ../../diskdrake/interactive.pm_.c:674
+msgid "Choose the new size"
+msgstr "Dibabit ar ment nevez"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid ""
-"Contacting Mandrake Linux web site to get the list of available mirrors..."
-msgstr "O taremprediñ ar melezour evit kaout roll ar pakadoù hegerz"
+#: ../../diskdrake/interactive.pm_.c:675
+msgid "New size in MB: "
+msgstr "Ment nevez e Mo : "
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid ""
-"A problem occured while restarting the network: \n"
-"\n"
-"%s"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+#: ../../diskdrake/interactive.pm_.c:728
+msgid "Which disk do you want to move it to?"
+msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Remove the loopback file?"
-msgstr "O furmadiñ ar restr saveteiñ %s"
+#: ../../diskdrake/interactive.pm_.c:729
+msgid "Sector"
+msgstr "Rann"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Selected size is larger than available space"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:730
+msgid "Which sector do you want to move it to?"
+msgstr "Da beseurt rann e mennit dilec'hiañ ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP server name missing!"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving"
+msgstr "O tilec'hiañ"
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Please choose your country."
-msgstr "Dibabit seurt ho logodenn, mar plij."
+#: ../../diskdrake/interactive.pm_.c:733
+msgid "Moving partition..."
+msgstr "O tilec'hiañ ur parzhadur..."
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Hard Disk Backup files..."
-msgstr "Restr gwareziñ siek"
+#: ../../diskdrake/interactive.pm_.c:750
+msgid "Choose an existing RAID to add to"
+msgstr "Dibabit da be RAID ouzhpennañ"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Laotian"
-msgstr "Laosiek"
+#: ../../diskdrake/interactive.pm_.c:751 ../../diskdrake/interactive.pm_.c:768
+msgid "new"
+msgstr "nevez"
-#: ../../lang.pm:1
-#, c-format
-msgid "Samoa"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:766
+msgid "Choose an existing LVM to add to"
+msgstr "Dibabit da be LVM ouzhpennañ"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../diskdrake/interactive.pm_.c:771
+msgid "LVM name?"
+msgstr "Anv LVM?"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Re-generating list of configured scanners ..."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:812
+msgid "This partition can't be used for loopback"
+msgstr "N'heller ket implijout ar parzhadur-mañ evit saveteiñ"
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Scanner"
-msgstr "Diuzit ur gartenn c'hrafek"
+#: ../../diskdrake/interactive.pm_.c:825
+msgid "Loopback"
+msgstr "Saveteiñ"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Warning: testing this graphic card may freeze your computer"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:826
+msgid "Loopback file name: "
+msgstr "Anv ar restr saveteiñ : "
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Bad Ip"
-msgstr "IO kartenn"
+#: ../../diskdrake/interactive.pm_.c:831
+#, fuzzy
+msgid "Give a file name"
+msgstr "Anv gwirion"
-#: ../../any.pm:1
-#, c-format
-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"
+#: ../../diskdrake/interactive.pm_.c:834
+msgid "File already used by another loopback, choose another one"
+msgstr "Restr implijet gant ur saveteiñ all endeo, dibabit unan all"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Menudrake"
-msgstr "MandrakeStore"
+#: ../../diskdrake/interactive.pm_.c:835
+msgid "File already exists. Use it?"
+msgstr "Ar restr a zo endeo. E implijout ?"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Welcome To Crackers"
-msgstr "Bezit deuet mat, preizherien !"
+#: ../../diskdrake/interactive.pm_.c:858
+msgid "Mount options"
+msgstr "Dibarzhoù marc'hañ"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Module options:"
-msgstr "Dibarzhoù ar mollad :"
+#: ../../diskdrake/interactive.pm_.c:865
+msgid "Various"
+msgstr "A bep sort"
-#: ../../share/advertising/11-mnf.pl:1
-#, c-format
-msgid "Secure your networks with the Multi Network Firewall"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:929 ../../standalone/drakfloppy_.c:76
+msgid "device"
+msgstr "trobarzhell"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Go on without configuring the network"
-msgstr "Kefluniañ ar rouedad"
+#: ../../diskdrake/interactive.pm_.c:930
+msgid "level"
+msgstr "live"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Abort"
-msgstr "Dilaoskel"
+#: ../../diskdrake/interactive.pm_.c:931
+msgid "chunk size"
+msgstr "ment diaoz"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No password prompt on %s at port %s"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:947
+msgid "Be careful: this operation is dangerous."
+msgstr "Bezit war evezh : arvarus eo an obererezh-mañ."
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please check if you want to use the non-rewinding device."
-msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
+#: ../../diskdrake/interactive.pm_.c:962
+#, fuzzy
+msgid "What type of partitioning?"
+msgstr "Peseurt moullerez hoc'h eus ?"
-#: ../../standalone/scannerdrake:1
+#: ../../diskdrake/interactive.pm_.c:978
#, fuzzy, c-format
-msgid "Usage of remote scanners"
-msgstr "Implij da saveteiñ"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-CDROM.\n"
+msgid "The package %s is needed. Install it?"
msgstr ""
+"Bremanaet e tle bezañ ar pabak-mañ\n"
+"Ha sur oc'h e mennit e ziuzañ ?"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:992
msgid ""
-"Your Windows partition is too fragmented. Please reboot your computer under "
-"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
-"installation."
+"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"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Norwegian)"
-msgstr "Dvorak (Norvegek)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Hard Disk Backup Progress..."
+#: ../../diskdrake/interactive.pm_.c:996
+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"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Unable to fork: %s"
-msgstr "N'ev ket fork: %s"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Type: "
-msgstr "Seurt : "
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Edit Client"
+# a-steud<
+#: ../../diskdrake/interactive.pm_.c:1002
+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 ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "no fonts found"
-msgstr "%s ket kavet"
-
-#: ../../harddrake/data.pm:1 ../../help.pm:1
-#: ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1022
#, c-format
-msgid "Mouse"
-msgstr "Logodenn"
+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 !"
-#: ../../bootloader.pm:1
+#: ../../diskdrake/interactive.pm_.c:1026
+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/interactive.pm_.c:1037
#, c-format
-msgid "not enough room in /boot"
+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"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Host name"
-msgstr "Anv an ostiz"
+#: ../../diskdrake/interactive.pm_.c:1039
+msgid "Formatting"
+msgstr "O furmadiñ"
-#: ../../lang.pm:1
+#: ../../diskdrake/interactive.pm_.c:1040
#, c-format
-msgid "Liechtenstein"
-msgstr ""
+msgid "Formatting loopback file %s"
+msgstr "O furmadiñ ar restr saveteiñ %s"
-#: ../../standalone/draksplash:1
+#: ../../diskdrake/interactive.pm_.c:1041
+#: ../../install_steps_interactive.pm_.c:466
#, c-format
-msgid "the color of the progress bar"
-msgstr ""
+msgid "Formatting partition %s"
+msgstr "O furmadiñ ar parzhadur %s"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Suppress Fonts Files"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1052
+#, fuzzy
+msgid "Hide files"
+msgstr "mkraid sac'het"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to RAID"
-msgstr "Ouzhpennañ da RAID"
+#: ../../diskdrake/interactive.pm_.c:1052
+#, fuzzy
+msgid "Move files to the new partition"
+msgstr "Krouiñ ur parzhadur nevez"
-#: ../../help.pm:1
+#: ../../diskdrake/interactive.pm_.c:1053
#, c-format
msgid ""
-"You can add additional entries in yaboot for other operating systems,\n"
-"alternate kernels, or for an emergency boot image.\n"
-"\n"
-"For other OSs, the entry consists only of a label and the \"root\"\n"
-"partition.\n"
-"\n"
-"For Linux, there are a few possible options:\n"
-"\n"
-" * Label: this is the name you will have to type at the yaboot prompt to\n"
-"select this boot option.\n"
-"\n"
-" * Image: this is the name of the kernel to boot. Typically, vmlinux or a\n"
-"variation of vmlinux with an extension.\n"
-"\n"
-" * Root: the \"root\" device or ``/'' for your Linux installation.\n"
-"\n"
-" * Append: on Apple hardware, the kernel append option is often used to\n"
-"assist in initializing video hardware, or to enable keyboard mouse button\n"
-"emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.\n"
-"The following are some examples:\n"
-"\n"
-" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
-"hda=autotune\n"
-"\n"
-" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
-"\n"
-" * Initrd: this option can be used either to load initial modules before\n"
-"the boot device is available, or to load a ramdisk image for an emergency\n"
-"boot situation.\n"
-"\n"
-" * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you\n"
-"need to allocate a large ramdisk, this option can be used to specify a\n"
-"ramdisk larger than the default.\n"
-"\n"
-" * Read-write: normally the \"root\" partition is initially mounted as\n"
-"read-only, to allow a file system check before the system becomes ``live''.\n"
-"You can override the default with this option.\n"
-"\n"
-" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
-"problematic, you can select this option to boot in ``novideo'' mode, with\n"
-"native frame buffer support.\n"
-"\n"
-" * Default: selects this entry as being the default Linux selection,\n"
-"selectable by pressing ENTER at the yaboot prompt. This entry will also be\n"
-"highlighted with a ``*'' if you press [Tab] to see the boot selections."
+"Directory %s already contains data\n"
+"(%s)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1064
+#, fuzzy
+msgid "Moving files to the new partition"
+msgstr "Krouiñ ur parzhadur nevez"
+
+#: ../../diskdrake/interactive.pm_.c:1068
#, c-format
-msgid ""
-"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
-msgstr ""
+msgid "Copying %s"
+msgstr "Adskrivañ %s"
-#: ../../standalone/drakTermServ:1
+#: ../../diskdrake/interactive.pm_.c:1072
#, fuzzy, c-format
-msgid "No floppy drive available!"
-msgstr "Lenner pladennig hegerz ebet"
+msgid "Removing %s"
+msgstr "Spisterioù"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1082
#, c-format
-msgid ""
-"To know about the options available for the current printer read either the "
-"list shown below or click on the \"Print option list\" button.%s%s%s\n"
-"\n"
+msgid "partition %s is now known as %s"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Continue anyway?"
-msgstr "Kenderc'hel evelato ?"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"If your printer is not listed, choose a compatible (see printer manual) or a "
-"similar one."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1103
+#: ../../diskdrake/interactive.pm_.c:1162
+msgid "Device: "
+msgstr "Trobarzhell : "
-#: ../../harddrake/data.pm:1 ../../help.pm:1
-#: ../../install_steps_interactive.pm:1 ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1104
#, c-format
-msgid "Printer"
-msgstr "Moullerez"
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Lizher ar bladenn DOS : %s (diwar varteze hepken)\n"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saudi Arabia"
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1108
+#: ../../diskdrake/interactive.pm_.c:1116
+#: ../../diskdrake/interactive.pm_.c:1181
+msgid "Type: "
+msgstr "Seurt : "
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Internet"
-msgstr "dedennus"
+#: ../../diskdrake/interactive.pm_.c:1112
+msgid "Name: "
+msgstr "Anv: "
-#: ../../standalone/service_harddrake:1
+#: ../../diskdrake/interactive.pm_.c:1120
#, c-format
-msgid "Some devices were added:\n"
-msgstr ""
+msgid "Start: sector %s\n"
+msgstr "O kregiñ : rann %s\n"
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1121
#, c-format
-msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
-msgstr "Mentoniezh : %s kranenn, %s penn, %s rann\n"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printing on the printer \"%s\""
-msgstr "O tizenaouiñ ar rouedad"
+msgid "Size: %s"
+msgstr "Ment: %s"
-#: ../../standalone/drakTermServ:1
+#: ../../diskdrake/interactive.pm_.c:1123
#, c-format
-msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
-msgstr ""
+msgid ", %s sectors"
+msgstr ", %s rann"
-#: ../../standalone/drakbackup:1
+#: ../../diskdrake/interactive.pm_.c:1125
#, fuzzy, c-format
-msgid "Restore From Tape"
-msgstr "Taolenn barzhañ saveteerezh"
+msgid "Cylinder %d to %d\n"
+msgstr "Kranenn %d da granenn %d\n"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Choose the profile to configure"
-msgstr "Dibabit ar ment nevez"
+#: ../../diskdrake/interactive.pm_.c:1126
+msgid "Formatted\n"
+msgstr "Furmadet\n"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Enter a Zeroconf host name without any dot if you don't\n"
-"want to use the default host name."
-msgstr ""
+#: ../../diskdrake/interactive.pm_.c:1127
+msgid "Not formatted\n"
+msgstr "Ket furmadet\n"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup Now from configuration file"
-msgstr "Kefluniadur ar rouedad"
+#: ../../diskdrake/interactive.pm_.c:1128
+msgid "Mounted\n"
+msgstr "Marc'het\n"
-#: ../../fsedit.pm:1
+#: ../../diskdrake/interactive.pm_.c:1129
#, c-format
-msgid "Mount points should contain only alphanumerical characters"
-msgstr ""
+msgid "RAID md%s\n"
+msgstr "RAID md%s\n"
-#: ../../printer/printerdrake.pm:1
+#: ../../diskdrake/interactive.pm_.c:1131
#, fuzzy, c-format
-msgid "Restarting printing system..."
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
-
-#: ../../security/help.pm:1
-#, c-format
msgid ""
-"Arguments: (name)\n"
-"\n"
-"Add the name as an exception to the handling of password aging by msec."
-msgstr ""
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "See hardware info"
-msgstr "Gwelet titouroù periantel"
-
-#: ../../any.pm:1
-#, c-format
-msgid "First sector of boot partition"
-msgstr "Rann gentañ ar parzhadur loc'hañ"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model"
-msgstr ""
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ - Print, Don't Queue"
-msgstr ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr "Restr(où) saveteiñ : %s\n"
-#: ../../standalone.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1132
msgid ""
-"[OPTIONS]...\n"
-"Mandrake Terminal Server Configurator\n"
-"--enable : enable MTS\n"
-"--disable : disable MTS\n"
-"--start : start MTS\n"
-"--stop : stop MTS\n"
-"--adduser : add an existing system user to MTS (requires username)\n"
-"--deluser : delete an existing system user from MTS (requires "
-"username)\n"
-"--addclient : add a client machine to MTS (requires MAC address, IP, "
-"nbi image name)\n"
-"--delclient : delete a client machine from MTS (requires MAC address, "
-"IP, nbi image name)"
+"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"
-#: ../../standalone/drakTermServ:1
+#: ../../diskdrake/interactive.pm_.c:1134
#, c-format
-msgid "Subnet Mask:"
-msgstr ""
+msgid "Level %s\n"
+msgstr "Live %s\n"
-#: ../../standalone/drakboot:1
+#: ../../diskdrake/interactive.pm_.c:1135
#, c-format
-msgid "LiLo and Bootsplash themes installation successful"
-msgstr ""
+msgid "Chunk size %s\n"
+msgstr "Ment diaoz %s\n"
-#: ../../Xconfig/monitor.pm:1
+#: ../../diskdrake/interactive.pm_.c:1136
#, c-format
-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 douetañs, dibabit ur c'hefluniadur fur."
+msgid "RAID-disks %s\n"
+msgstr "Pladennoù RAID %s\n"
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
+#: ../../diskdrake/interactive.pm_.c:1138
#, c-format
-msgid "Modify"
-msgstr "Kemmañ"
+msgid "Loopback file name: %s"
+msgstr "Anv ar restr saveteiñ : %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1141
msgid ""
"\n"
-"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
-"a particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\".\n"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Need hostname, username and password!"
+"Chances are, this partition is\n"
+"a Driver partition, you should\n"
+"probably leave it alone.\n"
msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, c-format
+#: ../../diskdrake/interactive.pm_.c:1144
msgid ""
-"WebDAV is a protocol that allows you to mount a web server's directory\n"
-"locally, and treat it like a local filesystem (provided the web server is\n"
-"configured as a WebDAV server). If you would like to add WebDAV mount\n"
-"points, select \"New\"."
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "HardDrake"
+#: ../../diskdrake/interactive.pm_.c:1163
+msgid "Read-only"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1164
#, c-format
-msgid "new"
-msgstr "nevez"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Would you like to try again?"
-msgstr "Mennout a rit kefluniañ ur voullerez ?"
-
-#: ../../diskdrake/hd_gtk.pm:1 ../../help.pm:1
-#, c-format
-msgid "Wizard"
-msgstr "Skoazeller"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Edit selected server"
-msgstr "kavoutet %s"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please choose where you want to backup"
-msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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ñ"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include the browser cache"
-msgstr ""
+msgid "Size: %s\n"
+msgstr "Ment: %s\n"
-#: ../../standalone/keyboarddrake:1
+#: ../../diskdrake/interactive.pm_.c:1165
#, c-format
-msgid "Please, choose your keyboard layout."
-msgstr "Dibabit reizhadur ho stokellaoueg, mar plij."
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Mentoniezh : %s kranenn, %s penn, %s rann\n"
-#: ../../mouse.pm:1 ../../security/level.pm:1
-#, c-format
-msgid "Standard"
-msgstr "Skouer"
+#: ../../diskdrake/interactive.pm_.c:1166
+msgid "Info: "
+msgstr "Titouroù: "
-#: ../../standalone/mousedrake:1
+#: ../../diskdrake/interactive.pm_.c:1167
#, c-format
-msgid "Please choose your mouse type."
-msgstr "Dibabit seurt ho logodenn, mar plij."
+msgid "LVM-disks %s\n"
+msgstr "Pladennoù LVM %s\n"
-#: ../../standalone/drakconnect:1
+#: ../../diskdrake/interactive.pm_.c:1168
#, c-format
-msgid "Connect..."
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Failed to configure printer \"%s\"!"
-msgstr "Kefluniañ ar voullerez"
+msgid "Partition table type: %s\n"
+msgstr "Seurt taolenn barzhañ : %s\n"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
+#: ../../diskdrake/interactive.pm_.c:1169
#, fuzzy, c-format
-msgid "not configured"
-msgstr "Kefluniañ X"
+msgid "on channel %d id %d\n"
+msgstr "war bus %d Nn %d\n"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISA / PCMCIA"
-msgstr "ISA / PCMCIA"
+#: ../../diskdrake/interactive.pm_.c:1199
+#, fuzzy
+msgid "Filesystem encryption key"
+msgstr "Seurt ar reizhiad restroù : "
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "About"
-msgstr "Dilaoskel"
+#: ../../diskdrake/interactive.pm_.c:1200
+msgid "Choose your filesystem encryption key"
+msgstr ""
-#: ../../network/network.pm:1
+#: ../../diskdrake/interactive.pm_.c:1203
#, fuzzy, c-format
-msgid "Proxies configuration"
-msgstr "Kefluniadur goude staliañ"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "GlidePoint"
-msgstr "GlidePoint"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Start: sector %s\n"
-msgstr "O kregiñ : rann %s\n"
+msgid "This encryption key 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ñ)"
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Network interface already configured"
-msgstr "Skramm ket kefluniet"
+#: ../../diskdrake/interactive.pm_.c:1204
+#, fuzzy
+msgid "The encryption keys do not match"
+msgstr "An tremegerioù ne glot ket"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Couldn't access the floppy!"
+#: ../../diskdrake/interactive.pm_.c:1207
+msgid "Encryption key"
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "connecting to Bugzilla wizard ..."
+#: ../../diskdrake/interactive.pm_.c:1208
+msgid "Encryption key (again)"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Mail Server"
-msgstr "Stlennvonioù"
+#: ../../diskdrake/removable.pm_.c:47
+#, fuzzy
+msgid "Change type"
+msgstr "Kemmañ seurt ar parzhadur"
-#
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../diskdrake/smbnfs_gtk.pm_.c:162
#, c-format
-msgid "Please click on a partition"
-msgstr "Klikit war ur parzhadur mar plij"
+msgid "Can't login using username %s (bad password?)"
+msgstr ""
-#: ../../any.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Linux"
-msgstr "Linux"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:166 ../../diskdrake/smbnfs_gtk.pm_.c:175
+#, fuzzy
+msgid "Domain Authentication Required"
+msgstr "Dilesadur"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Have a nice day!"
-msgstr ""
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Another one"
+msgstr "dedennus"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "across Network"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:167
+#, fuzzy
+msgid "Which username"
+msgstr "Anv arveriad"
+
+#: ../../diskdrake/smbnfs_gtk.pm_.c:176
+msgid ""
+"Please enter your username, password and domain name to access this host."
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/fd0"
-msgstr "/dev/fd0"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:178 ../../standalone/drakbackup_.c:3477
+#, fuzzy
+msgid "Username"
+msgstr "Anv arveriad"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Upgrade %s"
-msgstr "Bremanaat"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:180
+#, fuzzy
+msgid "Domain"
+msgstr "Domani NIS"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Select Printer Connection"
-msgstr "Diuzit lugerezh ar voullerez"
+#: ../../diskdrake/smbnfs_gtk.pm_.c:200
+#, fuzzy
+msgid "Search servers"
+msgstr "Servijer DNS"
-#: ../../standalone/drakxtv:1
+#: ../../fs.pm_.c:547 ../../fs.pm_.c:557 ../../fs.pm_.c:561 ../../fs.pm_.c:565
+#: ../../fs.pm_.c:569 ../../fs.pm_.c:573
#, c-format
-msgid "Scanning for TV channels in progress ..."
-msgstr ""
+msgid "%s formatting of %s failed"
+msgstr "furmadiñ er seurt %s eus %s a zo sac'het"
-#: ../../standalone/drakbackup:1
+#: ../../fs.pm_.c:610
#, c-format
-msgid ""
-"Error during sending file via FTP.\n"
-" Please correct your FTP configuration."
-msgstr ""
+msgid "I don't know how to format %s in type %s"
+msgstr "N'ouzon ket penaos furmadiñ %s er seurt %s"
-#: ../../standalone/drakTermServ:1
+#: ../../fs.pm_.c:684 ../../fs.pm_.c:727
#, c-format
-msgid "IP Range Start:"
+msgid "mounting partition %s in directory %s failed"
msgstr ""
-#: ../../services.pm:1
+#: ../../fs.pm_.c:742 ../../partition_table.pm_.c:599
#, c-format
-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."
+msgid "error unmounting %s: %s"
+msgstr "fazi en ur zivarc'hañ %s : %s"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the height of the progress bar"
-msgstr ""
+#: ../../fsedit.pm_.c:21
+msgid "simple"
+msgstr "eeun"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Save via %s on host: %s\n"
-msgstr ""
+#: ../../fsedit.pm_.c:25
+msgid "with /usr"
+msgstr "gant /usr"
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "Argentina"
-msgstr "Arc'hantin"
+#: ../../fsedit.pm_.c:30
+msgid "server"
+msgstr "servijer"
-#: ../../security/help.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:240
+#, fuzzy, c-format
msgid ""
-"Arguments: (arg)\n"
+"I can't read the partition table of device %s, it's too corrupted for me :(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
"\n"
-" Accept/Refuse broadcasted icmp echo."
+"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"
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Domain Name Server"
-msgstr "Anv ar domani"
+#: ../../fsedit.pm_.c:501
+msgid "You can't use JFS for partitions smaller than 16MB"
+msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Security Level:"
-msgstr "Live surentez"
+#: ../../fsedit.pm_.c:502
+msgid "You can't use ReiserFS for partitions smaller than 32MB"
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:521
msgid "Mount points must begin with a leading /"
msgstr "Poentoù marc'hañ a rank kregiñ gant /"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Postfix Mail Server"
-msgstr "Stlennvonioù"
-
-#: ../../diskdrake/interactive.pm:1
+#: ../../fsedit.pm_.c:522
#, c-format
-msgid "Quit without saving"
-msgstr "Kuitaat hep enrollañ"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Yemen"
-msgstr ""
+msgid "There is already a partition with mount point %s\n"
+msgstr "Bez' ez eus ur parzhadur e boent marc'hañ %s endeo\n"
-#: ../../share/advertising/11-mnf.pl:1
+#: ../../fsedit.pm_.c:526
#, c-format
-msgid "This product is available on the MandrakeStore Web site."
+msgid "You can't use a LVM Logical Volume for mount point %s"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "=> There are many things to choose from (%s).\n"
+#: ../../fsedit.pm_.c:528
+msgid "This directory should remain within the root filesystem"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Hard drive detection"
-msgstr "Dinoiñ ar bladenn galet"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../fsedit.pm_.c:530
msgid ""
-"You haven't selected any group of packages.\n"
-"Please choose the minimal installation you want:"
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, fuzzy, c-format
-msgid "Please enter the WebDAV server URL"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../lang.pm:1
+#: ../../fsedit.pm_.c:532
#, c-format
-msgid "Tajikistan"
+msgid "You can't use an encrypted file system for mount point %s"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Accept"
-msgstr "Aotren"
+#: ../../fsedit.pm_.c:599
+msgid "Not enough free space for auto-allocating"
+msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Description"
-msgstr "Spisait dibarzhoù"
+#: ../../fsedit.pm_.c:601
+msgid "Nothing to do"
+msgstr ""
-#: ../../fsedit.pm:1
+#: ../../fsedit.pm_.c:694
#, c-format
msgid "Error opening %s for writing: %s"
msgstr "Fazi en ur zigeriñ %s evit skrivañ : %s"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse type: %s\n"
-msgstr "Seurt logodenn : %s\n"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Your card can have 3D hardware acceleration support with XFree %s."
+#: ../../harddrake/data.pm_.c:71
+msgid "cpu /* "
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please choose your CD/DVD media size (Mb)"
-msgstr "Dibabit reizhadur ho stokellaoueg, mar plij."
+#: ../../harddrake/sound.pm_.c:170
+msgid "No alternative driver"
+msgstr ""
-#: ../../security/help.pm:1
+#: ../../harddrake/sound.pm_.c:171
#, c-format
msgid ""
-"Arguments: (arg)\n"
-"\n"
-" Enabling su only from members of the wheel group or allow su from any user."
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Expert Area"
-msgstr "Mod mailh"
-
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Choose a monitor"
-msgstr "Dibabit ur skramm"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Empty label not allowed"
-msgstr "Berzet eo ar skridennadoù goullo"
+#: ../../harddrake/sound.pm_.c:173
+#, fuzzy
+msgid "Sound configuration"
+msgstr "Kefluniadur"
-#: ../../keyboard.pm:1
+#: ../../harddrake/sound.pm_.c:174
#, c-format
-msgid "Maltese (UK)"
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "I can't add any more partition"
-msgstr "N'hellan ouzpennañ parzhadur ebet ken"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size in MB: "
-msgstr "Ment e Mo : "
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Remote printer"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please choose a language to use."
-msgstr "Diuzit ar yezh da implijout, mar plij."
-
-#: ../../network/network.pm:1
+#: ../../harddrake/sound.pm_.c:176
#, c-format
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 ""
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "I can set up your computer to automatically log on one user."
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
msgstr ""
-"Kefluniañ ho urzhiataer evit lañsañ X ent emgefreek pa loc'ho a c'hellañ.\n"
-"Mennout a rit lañsañ X pa adloc'hit ?"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Floppy format"
-msgstr "Furmadiñ"
+#: ../../harddrake/sound.pm_.c:178
+#, fuzzy
+msgid "Driver:"
+msgstr "Servijer"
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Generic Printers"
-msgstr "Moullerez"
+#: ../../harddrake/sound.pm_.c:183 ../../standalone/drakTermServ_.c:303
+#: ../../standalone/drakbackup_.c:3878 ../../standalone/drakbackup_.c:3911
+#: ../../standalone/drakbackup_.c:3937 ../../standalone/drakbackup_.c:3964
+#: ../../standalone/drakbackup_.c:3991 ../../standalone/drakbackup_.c:4030
+#: ../../standalone/drakbackup_.c:4051 ../../standalone/drakbackup_.c:4078
+#: ../../standalone/drakbackup_.c:4108 ../../standalone/drakbackup_.c:4134
+#: ../../standalone/drakbackup_.c:4157 ../../standalone/drakfont_.c:690
+msgid "Help"
+msgstr "Skoazell"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Please choose the printer to which the print jobs should go or enter a "
-"device name/file name in the input line"
+#: ../../harddrake/sound.pm_.c:185
+msgid "Switching between ALSA and OSS help"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The scanners on this machine are available to other computers"
+#: ../../harddrake/sound.pm_.c:186
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independant "
+"sound API (it's available on most unices systems) but it's a very basic and "
+"limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "First sector of the root partition"
-msgstr "Rann gentañ ar parzhadur loc'hañ"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Alternative drivers"
-msgstr "O voullañ pajenn(où) skrid..."
-
-#: ../../standalone/drakbackup:1
+#: ../../harddrake/sound.pm_.c:202
#, c-format
msgid ""
+"The old \"%s\" driver is blacklisted.\n"
"\n"
-"Please check all options that you need.\n"
+"It has been reported to oopses the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver'll only be used on next bootstrap."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd"
-msgstr "Initrd"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cape Verde"
-msgstr "Penn Verde"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "whether this cpu has the Cyrix 6x86 Coma bug"
-msgstr ""
+#: ../../harddrake/sound.pm_.c:205 ../../standalone/drakconnect_.c:298
+#, fuzzy
+msgid "Please Wait... Applying the configuration"
+msgstr "Amprouiñ ar c'hefluniadur"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "early pentiums were buggy and freezed when decoding the F00F bytecode"
-msgstr ""
+#: ../../harddrake/sound.pm_.c:205 ../../interactive.pm_.c:382
+#: ../../standalone/drakxtv_.c:108 ../../standalone/harddrake2_.c:113
+#: ../../standalone/service_harddrake_.c:64
+msgid "Please wait"
+msgstr "Gortozit mar plij"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Guam"
-msgstr ""
+#: ../../harddrake/sound.pm_.c:210
+#, fuzzy
+msgid "No known driver"
+msgstr "Sturier X"
-#: ../../printer/printerdrake.pm:1
+#: ../../harddrake/sound.pm_.c:211
#, c-format
-msgid ""
-"Please choose the port that your printer is connected to or enter a device "
-"name/file name in the input line"
+msgid "There's no known driver for your sound card (%s)"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Options/Test"
-msgstr "/Dibarzhoù/Arnodenn"
+#: ../../harddrake/sound.pm_.c:214
+#, fuzzy
+msgid "Unkown driver"
+msgstr "Sturier X"
-#: ../../security/level.pm:1
+#: ../../harddrake/sound.pm_.c:215
#, c-format
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."
+"The \"%s\" driver for your sound card is unlisted\n"
+"\n"
+"Please send the output of the \"lspcidrake -v\" command to\n"
+"<install at mandrakesoft dot com>\n"
+"with subject: unlisted sound driver \"%s\""
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."
-#: ../../fs.pm:1
-#, fuzzy, c-format
-msgid "Mounting partition %s"
-msgstr "O furmadiñ ar parzhadur %s"
-
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "User name"
-msgstr "Anv arveriad"
-
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Userdrake"
-msgstr "Userdrake"
-
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Which partition do you want to use for Linux4Win?"
-msgstr "Pe barzhadur a vennit implijout evit lakaat Linux4Win ?"
+#: ../../harddrake/v4l.pm_.c:14 ../../harddrake/v4l.pm_.c:64
+#, fuzzy
+msgid "Auto-detect"
+msgstr "Dilesadur"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup system"
-msgstr "Kefluniañ reizhiadoù restroù"
+#: ../../harddrake/v4l.pm_.c:65 ../../harddrake/v4l.pm_.c:198
+#, fuzzy
+msgid "Unknown|Generic"
+msgstr "Rummel"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Test pages"
-msgstr "Amprouiñ ar porzhioù"
+#: ../../harddrake/v4l.pm_.c:97
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Logical volume name "
-msgstr "Restroù lec'hel"
+#: ../../harddrake/v4l.pm_.c:98
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../harddrake/v4l.pm_.c:224
msgid ""
-"List of data to restore:\n"
-"\n"
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed"
msgstr ""
-#: ../../fs.pm:1
-#, fuzzy, c-format
-msgid "Checking %s"
-msgstr "Adskrivañ %s"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "TCP/Socket Printer Options"
-msgstr "Dibarzhoù ar voullerez NetWare"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card mem (DMA)"
+#: ../../harddrake/v4l.pm_.c:227
+#, fuzzy
+msgid "Card model:"
msgstr "Memor kartenn (DMA)"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "France"
-msgstr "Gall"
+#: ../../harddrake/v4l.pm_.c:228
+#, fuzzy
+msgid "Tuner type:"
+msgstr "Kemmañ seurt ar parzhadur"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "browse"
+#: ../../harddrake/v4l.pm_.c:229
+msgid "Number of capture buffers:"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking installed software..."
+#: ../../harddrake/v4l.pm_.c:229
+msgid "number of capture buffers for mmap'ed capture"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remote printer name missing!"
-msgstr "Anv an ostiz a-bell"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Do you want to enable printing on printers in the local network?\n"
-msgstr "Ha mennout a rit amprouiñ moullañ skrid ?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkey"
-msgstr "Turki"
+#: ../../harddrake/v4l.pm_.c:231
+#, fuzzy
+msgid "PLL setting:"
+msgstr "O furmadiñ"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Alcatel speedtouch usb"
+#: ../../harddrake/v4l.pm_.c:232
+msgid "Radio support:"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Number of buttons"
-msgstr "2 nozelenn"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Vietnamese \"numeric row\" QWERTY"
-msgstr "Yezh ar Viet-Nam QUERTY \"linenn sifroù\""
+#: ../../harddrake/v4l.pm_.c:232
+msgid "enable radio support"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Module"
-msgstr "Logodenn"
+#: ../../help.pm_.c:13
+msgid ""
+"GNU/Linux is a multiuser system, and this means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more this concept. But unlike \"root\", which is the\n"
+"administrator, the users you add here will not be entitled to change\n"
+"anything except their own files and their own configurations. You will have\n"
+"to create at least one regular user for yourself. That account is where you\n"
+"should log in for routine use. Although it is very practical to log in as\n"
+"\"root\" everyday, it may also be very dangerous! The slightest mistake\n"
+"could mean that your system would not work any more. If you make a serious\n"
+"mistake as a regular user, you may only lose some information, but not the\n"
+"entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course\n"
+"-- as you can actually enter whatever you want. DrakX will then take the\n"
+"first word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as the \"root\"\n"
+"one from a security point of view, but that is no reason to neglect it:\n"
+"after all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of the people meant to use that computer. When you are\n"
+"finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"Advanced\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default).\n"
+"\n"
+"When you are finished adding all users, you will be proposed to choose a\n"
+"user which can automatically log into the system when the computer boots\n"
+"up. If you are interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click \"Yes\".\n"
+"If you are not interested in this feature, click \"No\"."
+msgstr ""
+
+#: ../../help.pm_.c:48
+msgid ""
+"Listed above are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:79
msgid ""
-"In addition, queues not created with this program or \"foomatic-configure\" "
-"cannot be transferred."
+"The Mandrake Linux installation is spread out over several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Hardware"
+#: ../../help.pm_.c:84
+msgid ""
+"It is now time to specify which programs you wish to install on your\n"
+"system. There are thousands of packages available for Mandrake Linux, and\n"
+"you are not supposed to know them all by heart.\n"
+"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
+"\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
+"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
+"\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you unselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewest packages possible to have a working\n"
+"graphical desktop;\n"
+"\n"
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
+"\n"
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
+"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
+"\n"
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful to repair or\n"
+"update an existing system."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Ctrl and Alt keys simultaneously"
+#: ../../help.pm_.c:135
+msgid ""
+"Finally, depending on whether or not you chose to be able to select\n"
+"individual packages, you will be presented a tree containing all packages\n"
+"classified by groups and subgroups. While browsing the tree, you can select\n"
+"entire groups, subgroups, or individual packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An installation time estimate is displayed\n"
+"on the screen, to help you gauge if there is sufficient time to enjoy a cup\n"
+"of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mandrake Linux, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mandrake Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
+"\n"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of the previous step on how to\n"
+"create such a floppy disk."
msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United States"
-msgstr "Amerika"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Default OS?"
-msgstr "RK dre ziouer"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swiss (German layout)"
-msgstr "Suis (reizhadur alaman)"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Configure all heads independently"
+#: ../../help.pm_.c:171
+msgid ""
+"You are now able to set up your Internet/network connection. If you wish to\n"
+"connect your computer to the Internet or to a local network, click \"OK\".\n"
+"The autodetection of network devices and modem will be launched. If this\n"
+"detection fails, uncheck the \"Use auto-detection\" box next time. You may\n"
+"also choose not to configure the network, or do it later; in that case,\n"
+"simply click the \"Cancel\" button.\n"
+"\n"
+"Available connections are: traditional modem, ISDN modem, ADSL connection,\n"
+"cable modem, and finally a simple LAN connection (Ethernet).\n"
+"\n"
+"Here, we will not detail each configuration. Simply make sure that you have\n"
+"all the parameters from your Internet Service Provider or system\n"
+"administrator.\n"
+"\n"
+"You can consult the ``Starter Guide'' chapter about Internet connections\n"
+"for details about the configuration, or simply wait until your system is\n"
+"installed and use the program described there to configure your connection.\n"
+"\n"
+"If you wish to configure the network later after installation, or if you\n"
+"are finished configuring your network connection, click \"Cancel\"."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../help.pm_.c:193
+#, fuzzy
msgid ""
-"Please choose the printer you want to set up. The configuration of the "
-"printer will work fully automatically. If your printer was not correctly "
-"detected or if you prefer a customized printer configuration, turn on "
-"\"Manual configuration\"."
+"You may now choose which services you wish to start at boot time.\n"
+"\n"
+"Here are listed all the services available with the current installation.\n"
+"Review them carefully and uncheck those which are not always needed at boot\n"
+"time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
msgstr ""
+"Bremañ e c'hellit diuz pe servijoù a vennit e vije lañset 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 emichañs chom hep loc'hañ kement servij n'ho peus "
+"ket\n"
+"c'hoant."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NTP Server"
-msgstr "Servijer NTP"
-
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Load/Save on floppy"
-msgstr "Enrollañ war bladennig"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "This theme does not yet have a bootsplash in %s !"
+#: ../../help.pm_.c:210
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by unselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
msgstr ""
-#: ../../pkgs.pm:1
-#, c-format
-msgid "nice"
-msgstr "brav"
-
-#: ../../Xconfig/test.pm:1
-#, fuzzy, c-format
-msgid "Leaving in %d seconds"
-msgstr "%d eilenn"
-
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Please choose which serial port your modem is connected to."
-msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
-
-#: ../../any.pm:1 ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Country"
-msgstr "Bro"
+#: ../../help.pm_.c:224
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandrake Linux rely.\n"
+"\n"
+"You will be presented the list of available resolutions and color depth\n"
+"available for your hardware. Choose the one that best suit your needs (you\n"
+"will be able to change that after installation though). When you are\n"
+"satisfied with the sample shown in the monitor, click \"OK\". A window will\n"
+"then appear and ask you if you can see it.\n"
+"\n"
+"If you are doing an \"Expert\" installation, you will enter the X\n"
+"configuration wizard. See the corresponding section of the manual for more\n"
+"information about this wizard.\n"
+"\n"
+"If you can see the message during the test, and answer \"Yes\", then DrakX\n"
+"will proceed to the next step. If you cannot see the message, it simply\n"
+"means that the configuration was wrong and the test will automatically end\n"
+"after 10 seconds, restoring the screen. Refer then to the video\n"
+"configuration section of the user guide for more information on how to\n"
+"configure your display."
+msgstr ""
+
+#: ../../help.pm_.c:246
+msgid ""
+"Finally, you will be asked whether you want to see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
+msgstr ""
+
+#: ../../help.pm_.c:253
+msgid ""
+"The Mandrake Linux CD-ROM has a built-in rescue mode. You can access it by\n"
+"booting from the CD-ROM, press the >>F1<< key at boot and type >>rescue<<\n"
+"at the prompt. But in case your computer cannot boot from the CD-ROM, you\n"
+"should come back to this step for help in at least two situations:\n"
+"\n"
+" * when installing the bootloader, DrakX will rewrite the boot sector (\n"
+"MBR) of your main disk (unless you are using another boot manager), to\n"
+"allow you to start up with either Windows or GNU/Linux (assuming you have\n"
+"Windows in your system). If you need to reinstall Windows, the Microsoft\n"
+"install process will rewrite the boot sector, and then you will not be able\n"
+"to start GNU/Linux!\n"
+"\n"
+" * if a problem arises and you cannot start up GNU/Linux from the hard\n"
+"disk, this floppy disk will be the only means of starting up GNU/Linux. It\n"
+"contains a fair number of system tools for restoring a system, which has\n"
+"crashed due to a power failure, an unfortunate typing error, a typo in a\n"
+"password, or any other reason.\n"
+"\n"
+"If you say \"Yes\", you will be asked to enter a disk inside the drive. The\n"
+"floppy disk you will insert must be empty or contain data which you do not\n"
+"need. You will not have to format it since DrakX will rewrite the whole\n"
+"disk."
+msgstr ""
+
+#: ../../help.pm_.c:277
+msgid ""
+"You now need to choose where you want to install the Mandrake Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space, you will need\n"
+"to partition it. Basically, partitioning a hard drive consists of logically\n"
+"dividing it to create space to install your new Mandrake Linux system.\n"
+"\n"
+"Because the partitioning process' effects are usually irreversible,\n"
+"partitioning can be intimidating and stressful if you are an inexperienced\n"
+"user. Fortunately, there is a wizard which simplifies this process. Before\n"
+"beginning, please consult the manual and take your time.\n"
+"\n"
+"If you are running the installation in Expert mode, you will enter\n"
+"DiskDrake, the Mandrake Linux partitioning tool, which allows you to\n"
+"fine-tune your partitions. See the DiskDrake section in the ``Starter\n"
+"Guide''. From the installation interface, you can use the wizards as\n"
+"described here by clicking the dialog's \"Wizard\" button.\n"
+"\n"
+"If partitions have already been defined, either from a previous\n"
+"installation or from another partitioning tool, simply select those to\n"
+"install your Linux system.\n"
+"\n"
+"If partitions are not defined, you will need to create them using the\n"
+"wizard. Depending on your hard drive configuration, several options are\n"
+"available.\n"
+"\n"
+" * \"Use free space\": this option will simply lead to an automatic\n"
+"partitioning of your blank drive(s). You will not be prompted further;\n"
+"\n"
+" * \"Use existing partition\": the wizard has detected one or more existing\n"
+"Linux partitions on your hard drive. If you want to use them, choose this\n"
+"option. You will then be asked to choose the mount points associated to\n"
+"each of the partitions. The legacy mount points are selected by default,\n"
+"and you should generally keep them.\n"
+"\n"
+" * \"Use the free space on the Windows partition\": if Microsoft Windows is\n"
+"installed on your hard drive and takes all the space available on it, you\n"
+"have to create free space for Linux data. To do so, you can delete your\n"
+"Microsoft Windows partition and data (see ``Erase entire disk'' or ``Expert\n"
+"mode'' solutions) or resize your Microsoft Windows partition. Resizing can\n"
+"be performed without the loss of any data, provided you previously\n"
+"defragment the Windows partition. Backing up your data won't hurt either..\n"
+"This solution is recommended if you want to use both Mandrake Linux and\n"
+"Microsoft Windows on the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than at the present time. You will have less free space under Microsoft\n"
+"Windows to store your data or to install new software;\n"
+"\n"
+" * \"Erase entire disk\": if you want to delete all data and all partitions\n"
+"present on your hard drive and replace them with your new Mandrake Linux\n"
+"system, choose this option. Be careful with this solution because you will\n"
+"not be able to revert your choice after you confirm;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Remove Windows\": this will simply erase everything on the drive and\n"
+"begin fresh, partitioning everything from scratch. All data on your disk\n"
+"will be lost;\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"Expert mode\": choose this option if you want to manually partition\n"
+"your hard drive. Be careful -- it is a powerful but dangerous option. You\n"
+"can very easily lose all your data. Hence, do not choose this unless you\n"
+"know what you are doing. To know how to use the DiskDrake utility used\n"
+"here, refer to the section ``Managing Your Partitions'' of the ````Starter\n"
+"Guide''''"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Property"
-msgstr "Perzhioù"
+#: ../../help.pm_.c:347
+msgid ""
+"There you are. Installation is now completed and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
+"\n"
+"The \"Advanced\" button (in Expert mode only) shows two more buttons to:\n"
+"\n"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript"
-msgstr "Ghostscript"
+#: ../../help.pm_.c:378
+msgid ""
+"Any partitions that have been newly defined must be formatted for use\n"
+"(formatting means creating a filesystem on it).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mandrake Linux operating system installation.\n"
+"\n"
+"Click on \"Advanced\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "LAN Configuration"
-msgstr "Kefluniadur ar voullerez vihan"
+#: ../../help.pm_.c:404
+#, fuzzy
+msgid ""
+"Your new Mandrake Linux operating system is currently being installed.\n"
+"Depending on the number of packages you will be installing and the speed of\n"
+"your computer, this operation could take from a few minutes to a\n"
+"significant amount of time.\n"
+"\n"
+"Please be patient."
+msgstr "Gortozit mar plij"
-#: ../../lang.pm:1
-#, c-format
-msgid "Ghana"
+#: ../../help.pm_.c:412
+msgid ""
+"At the time you are installing Mandrake Linux, it is likely that some\n"
+"packages have been updated since the initial release. Some bugs may have\n"
+"been fixed, and security issues solved. To allow you to benefit from these\n"
+"updates, you are now able to download them from the Internet. Choose\n"
+"\"Yes\" if you have a working Internet connection, or \"No\" if you prefer\n"
+"to install updated packages later.\n"
+"\n"
+"Choosing \"Yes\" displays a list of places from which updates can be\n"
+"retrieved. Choose the one nearest you. Then a package-selection tree\n"
+"appears: review the selection, and press \"Install\" to retrieve and\n"
+"install the selected package(s), or \"Cancel\" to abort."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Path or Module required"
+#: ../../help.pm_.c:425
+msgid ""
+"Before continuing, you should read carefully the terms of the license. It\n"
+"covers the whole Mandrake Linux distribution, and if you do not agree with\n"
+"all the terms included in it, click on the \"Refuse\" button which will\n"
+"immediately terminate the installation. To continue with the installation,\n"
+"click on the \"Accept\" button."
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Advanced Options"
-msgstr "Kefluniadur"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "View Configuration"
-msgstr "Kefluniadur"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Coma bug"
+#: ../../help.pm_.c:432
+msgid ""
+"At this point, it is time to choose the security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"ease of use. Refer to the \"msec\" chapter of the ``Reference Manual'' to\n"
+"get more information about the meaning of these levels.\n"
+"\n"
+"If you do not know what to choose, keep the default option."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:442
msgid ""
"At this point, you need to choose which partition(s) will be used for the\n"
"installation of your Mandrake Linux system. If partitions have already been\n"
-"defined, either from a previous installation of GNU/Linux or by another\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
"partitions must be defined.\n"
"\n"
@@ -4261,6127 +3092,5171 @@ msgid ""
"\n"
"To partition the selected hard drive, you can use these options:\n"
"\n"
-" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
"\n"
-" * \"%s\": this option enables you to automatically create ext3 and swap\n"
-"partitions in the free space of your hard drive\n"
+" * \"Auto allocate\": this option enables to automatically create ext3 and\n"
+"swap partitions on your hard drive's free space;\n"
"\n"
-"\"%s\": gives access to additional features:\n"
+"\"More\": gives access to additional features:\n"
"\n"
-" * \"%s\": saves the partition table to a floppy. Useful for later\n"
-"partition-table recovery if necessary. It is strongly recommended that you\n"
-"perform this step.\n"
+" * \"Save partition table\": saves the partition table to a floppy. Useful\n"
+"for later partition-table recovery, if necessary. It is strongly\n"
+"recommended to perform this step;\n"
"\n"
-" * \"%s\": allows you to restore a previously saved partition table from a\n"
-"floppy disk.\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from a floppy disk;\n"
"\n"
-" * \"%s\": if your partition table is damaged, you can try to recover it\n"
-"using this option. Please be careful and remember that it doesn't always\n"
-"work.\n"
+" * \"Rescue partition table\": if your partition table is damaged, you can\n"
+"try to recover it using this option. Please be careful and remember that it\n"
+"can fail;\n"
"\n"
-" * \"%s\": discards all changes and reloads the partition table that was\n"
-"originally on the hard drive.\n"
+" * \"Reload partition table\": discards all changes and loads your initial\n"
+"partition table;\n"
"\n"
-" * \"%s\": unchecking this option will force users to manually mount and\n"
-"unmount removable media such as floppies and CD-ROMs.\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
"\n"
-" * \"%s\": use this option if you wish to use a wizard to partition your\n"
-"hard drive. This is recommended if you do not have a good understanding of\n"
-"partitioning.\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard drive. This is recommended if you do not have a good knowledge of\n"
+"partitioning;\n"
"\n"
-" * \"%s\": use this option to cancel your changes.\n"
+" * \"Undo\": use this option to cancel your changes;\n"
"\n"
-" * \"%s\": allows additional actions on partitions (type, options, format)\n"
-"and gives more information about the hard drive.\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
"\n"
-" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+" * \"Done\": when you are finished partitioning your hard drive, this will\n"
"save your changes back to disk.\n"
"\n"
-"When defining the size of a partition, you can finely set the partition\n"
-"size by using the Arrow keys of your keyboard.\n"
-"\n"
"Note: you can reach any option using the keyboard. Navigate through the\n"
-"partitions using [Tab] and the [Up/Down] arrows.\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
"\n"
"When a partition is selected, you can use:\n"
"\n"
-" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
"\n"
-" * Ctrl-d to delete a partition\n"
+" * Ctrl-d to delete a partition;\n"
"\n"
-" * Ctrl-m to set the mount point\n"
+" * Ctrl-m to set the mount point.\n"
"\n"
-"To get information about the different file system types available, please\n"
+"To get information about the different filesystem types available, please\n"
"read the ext2FS chapter from the ``Reference Manual''.\n"
"\n"
"If you are installing on a PPC machine, you will want to create a small HFS\n"
-"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"``bootstrap'' partition of at least 1MB, which will be used by the yaboot\n"
"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
"may find it a useful place to store a spare kernel and ramdisk images for\n"
"emergency boot situations."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../help.pm_.c:513
msgid ""
-"Graphic Card\n"
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mandrake Linux operating system.\n"
"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
-msgstr ""
-
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error installing packages:"
-msgstr "Ur fazi a zo bet en ur staliañ ar pakadoù :"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Lexmark inkjet configuration"
-msgstr "Kefluniañ ar proksioù"
-
-#: ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#, c-format
-msgid "Undo"
-msgstr "Dizober"
-
-#: ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#, fuzzy, c-format
-msgid "Save partition table"
-msgstr "Skrivañ an daolenn barzhañ"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Finnish"
-msgstr "Finnek"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Macedonia"
-msgstr "Makedonia"
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"The per-user sharing uses the group \"fileshare\". \n"
-"You can use userdrake to add a user to this group."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovenian"
-msgstr "Slovek"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Libya"
-msgstr "Libi"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Configuring scripts, installing software, starting servers..."
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer on parallel port #%s"
-msgstr "Anv ar voullerez"
+#: ../../help.pm_.c:544
+#, fuzzy
+msgid "Please be patient. This operation can take several minutes."
+msgstr "Gortozit mar plij."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:547
msgid ""
+"DrakX now needs to know if you want to perform a default (\"Recommended\")\n"
+"installation or if you want to have greater control (\"Expert\") over your\n"
+"installation. You can also choose to do a new installation or upgrade your\n"
+"existing Mandrake Linux system:\n"
"\n"
-"- Burn to CD"
+" * \"Install\": completely wipes out the old system. However, depending on\n"
+"what is currently installed on your machine, you may be able to keep some\n"
+"old partitions (Linux or otherwise) unchanged;\n"
+"\n"
+" * \"Upgrade\": this installation class allows to simply update the\n"
+"packages currently installed on your Mandrake Linux system. It keeps your\n"
+"hard drives' current partitions as well as user configurations. All other\n"
+"configuration steps remain available, similar to a normal installation;\n"
+"\n"
+" * \"Upgrade Packages Only\": this new installation class allows you to\n"
+"upgrade an existing Mandrake Linux system while keeping all system\n"
+"configurations unchanged. Adding new packages to the current installation\n"
+"is also possible.\n"
+"\n"
+"Upgrades should work fine on Mandrake Linux systems using version \"8.1\"\n"
+"or later.\n"
+"\n"
+"Depending on your GNU/Linux knowledge, select one of the following choices:\n"
+"\n"
+" * Recommended: choose this if you have never installed a GNU/Linux\n"
+"operating system. The installation will be very easy and you will only be\n"
+"asked a few questions;\n"
+"\n"
+" * Expert: if you have a good GNU/Linux understanding, you may wish to\n"
+"perform a highly customized installation. Some of the decisions you will\n"
+"have to make may be difficult if you do not have good GNU/Linux knowledge,\n"
+"so it is not recommended that those without a fair amount of experience\n"
+"select this installation class."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Table"
-msgstr "Taolenn"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "I don't know how to format %s in type %s"
-msgstr "N'ouzon ket penaos furmadiñ %s er seurt %s"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Model"
-msgstr "Logodenn"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:582
msgid ""
-"Arguments: (arg)\n"
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen). However, you might not have a keyboard that\n"
+"corresponds exactly to your language: for example, if you are an English\n"
+"speaking Swiss person, you may still want your keyboard to be a Swiss\n"
+"keyboard. Or if you speak English but are located in Quebec, you may find\n"
+"yourself in the same situation. In both cases, you will have to go back to\n"
+"this installation step and select an appropriate keyboard from the list.\n"
"\n"
-"Enable/Disable libsafe if libsafe is found on the system."
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-latin alphabet, you will be\n"
+"asked in the next dialog to choose the key binding that will switch the\n"
+"keyboard layout between the latin and non-latin layouts."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "USB printer #%s"
-msgstr "Moullerez USB \\/*%s"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Stop Server"
-msgstr "Servijer NIS"
-
-#: ../../standalone/drakboot:1
-#, c-format
+#: ../../help.pm_.c:598
msgid ""
+"The first step is to choose your preferred language.\n"
"\n"
-"Select the theme for\n"
-"lilo and bootsplash,\n"
-"you can choose\n"
-"them separately"
+"Please choose your preferred language for installation and system usage.\n"
+"\n"
+"Clicking on the \"Advanced\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you host users from Spain on your machine,\n"
+"select English as the main language in the tree view and in the Advanced\n"
+"section, click on the box corresponding to \"Spanish|Spain\".\n"
+"\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.\n"
+"\n"
+"To switch from one language to the other, you can launch the\n"
+"\"/usr/sbin/localedrake\" command as \"root\" to change the whole system\n"
+"language, or as a simple user to only change that user's default language."
msgstr ""
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Modem"
-msgstr "Logodenn"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:617
msgid ""
-"Arguments: (arg, listen_tcp=None)\n"
+"DrakX generally detects the number of buttons your mouse possesses. If not,\n"
+"it assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
"\n"
-"Allow/Forbid X connections. First arg specifies what is done\n"
-"on the client side: ALL (all connections are allowed), LOCAL (only\n"
-"local connection) and NONE (no connection)."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Tuvalu"
-msgstr ""
-
-#: ../../help.pm:1 ../../network/netconnect.pm:1
-#, c-format
-msgid "Use auto detection"
+"If you wish to specify a different type of mouse, select the appropriate\n"
+"type from the provided list.\n"
+"\n"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.\n"
+"\n"
+"Sometimes, wheel mouses are not automatically detected. You will need to\n"
+"manually select it in the list. Be sure to select the one corresponding to\n"
+"the correct port it is attached to. After you have pressed the \"OK\"\n"
+"button, a mouse image will be displayed. You then need to move the wheel of\n"
+"your mouse to activate it correctly. Then test that all buttons and\n"
+"movements are correct."
msgstr ""
-#: ../../services.pm:1
-#, c-format
+#: ../../help.pm_.c:638
+#, fuzzy
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."
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
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."
+"Diuzit ar porzh a zere mar plij. Da skouer, porzh COM1 dindan MS Windows\n"
+"a vez anvet ttyS0 gant Linux."
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Started on boot"
+#: ../../help.pm_.c:642
+msgid ""
+"This is the most crucial decision in regards with the security of your\n"
+"GNU/Linux system: you have to enter the \"root\" password. \"Root\" is the\n"
+"system administrator and is the only one authorized to make updates, add\n"
+"users, change the overall system configuration, and so on. In short,\n"
+"\"root\" can do everything! That is why you must choose a password that is\n"
+"difficult to guess -- DrakX will tell you if it is too easy. As you can\n"
+"see, you can choose not to enter a password, but we strongly advise you\n"
+"against this if only for one reason: do not think that because you booted\n"
+"GNU/Linux that your other operating systems are safe from mistakes. Since\n"
+"\"root\" can overcome all limitations and unintentionally erase all data on\n"
+"partitions by carelessly accessing the partitions themselves, it is\n"
+"important for it to be difficult to become \"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it too\n"
+"easy to compromise a system.\n"
+"\n"
+"However, please do not make the password too long or complicated because\n"
+"you must be able to remember it without too much effort.\n"
+"\n"
+"The password will not be displayed on screen as you type it in. Hence, you\n"
+"will have to type the password twice to reduce the chance of a typing\n"
+"error. If you do happen to make the same typing error twice, this\n"
+"``incorrect'' password will have to be used the first time you connect.\n"
+"\n"
+"In Expert mode, you will be asked if you will be connecting to an\n"
+"authentication server, like NIS or LDAP.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one as \"authentication\". If you have no\n"
+"clue, ask your network administrator.\n"
+"\n"
+"If your computer is not connected to any administrated network, you will\n"
+"want to choose \"Local files\" for authentication."
msgstr ""
-#: ../../share/advertising/12-mdkexpert.pl:1
-#, c-format
+#: ../../help.pm_.c:678
msgid ""
-"Join the MandrakeSoft support teams and the Linux Community online to share "
-"your knowledge and help others by becoming a recognized Expert on the online "
-"technical support website:"
+"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
+"automated. In fact, DrakX analyzes the disk boot sector and acts\n"
+"accordingly, depending on what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
+"boot sector. Hence, you will be able to load either GNU/Linux or another\n"
+"OS;\n"
+"\n"
+" * if a grub or LILO boot sector is found, it will replace it with a new\n"
+"one.\n"
+"\n"
+"if in doubt, DrakX will display a dialog with various options.\n"
+"\n"
+" * \"Bootloader to use\": you have three choices:\n"
+"\n"
+" * \"GRUB\": if you prefer grub (text menu);\n"
+"\n"
+" * \"LILO with graphical menu\": if you prefer LILO with its graphical\n"
+"interface;\n"
+"\n"
+" * \"LILO with text menu\": if you prefer LILO with its text menu\n"
+"interface.\n"
+"\n"
+" * \"Boot device\": in most cases, you will not change the default\n"
+"(\"/dev/hda\"), but if you prefer, the bootloader can be installed on the\n"
+"second hard drive (\"/dev/hdb\"), or even on a floppy disk (\"/dev/fd0\");\n"
+"\n"
+" * \"Delay before booting the default image\": when rebooting the computer,\n"
+"this is the delay granted to the user to choose -- in the bootloader menu,\n"
+"another boot entry than the default one.\n"
+"\n"
+"!! Beware that if you choose not to install a bootloader (by selecting\n"
+"\"Cancel\" here), you must ensure that you have a way to boot your Mandrake\n"
+"Linux system! Also, be sure you know what you do before changing any of the\n"
+"options. !!\n"
+"\n"
+"Clicking the \"Advanced\" button in this dialog will offer many advanced\n"
+"options, which are reserved for the expert user."
msgstr ""
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../help.pm_.c:718
+#, fuzzy
msgid ""
-"The following options can be set to customize your\n"
-"system security. If you need an explanation, look at the help tooltip.\n"
+"After you have configured the general bootloader parameters, the list of\n"
+"boot options which will be available at boot time will be displayed.\n"
+"\n"
+"If there is another operating system installed on your machine, it will\n"
+"automatically be added to the boot menu. Here, you can choose to fine-tune\n"
+"the existing options. Select an entry and click \"Modify\" to modify or\n"
+"remove it. \"Add\" creates a new entry. and \"Done\" goes on to the next\n"
+"installation step.\n"
+"\n"
+"You may also not want to give access to these other operating systems to\n"
+"anyone. In which case, you can delete the corresponding entries. But then,\n"
+"you will need a boot disk in order to boot those other operating systems!"
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 bezañt 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."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Automatically find available printers on remote machines"
+#: ../../help.pm_.c:732
+#, fuzzy
+msgid ""
+"You must indicate where you wish to place the information required to boot\n"
+"GNU/Linux.\n"
+"\n"
+"Unless you know exactly what you are doing, choose \"First sector of drive\n"
+"(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)\"."
-#: ../../lang.pm:1
-#, c-format
-msgid "East Timor"
+#: ../../help.pm_.c:739
+msgid ""
+"Here, we select a printing system for your computer. Other OSes may offer\n"
+"you one, but Mandrake Linux offers two.\n"
+"\n"
+" * \"pdq\" -- which means ``print, don't queue'', is the choice if you have\n"
+"a direct connection to your printer and you want to be able to panic out of\n"
+"printer jams, and you do not have networked printers. It will handle only\n"
+"very simple network cases and is somewhat slow for networks. Pick \"pdq\"\n"
+"if this is your first voyage to GNU/Linux. You can change your choices\n"
+"after installation by running PrinterDrake from the Mandrake Control Center\n"
+"and clicking the expert button.\n"
+"\n"
+" * \"CUPS\" -- ``Common Unix Printing System'', is excellent at printing to\n"
+"your local printer and also halfway-around the planet. It is simple and can\n"
+"act as a server or a client for the ancient \"lpd\" printing system. Hence,\n"
+"it is compatible with the systems that went before. It can do many tricks,\n"
+"but the basic setup is almost as easy as \"pdq\". If you need this to\n"
+"emulate an \"lpd\" server, you must turn on the \"cups-lpd\" daemon. It has\n"
+"graphical front-ends for printing or choosing printer options."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../help.pm_.c:759
msgid ""
+"DrakX now detects any IDE device present in your computer. It will also\n"
+"scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
"\n"
-"- Save to Tape on device: %s"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented with a list of SCSI cards to choose from. Click \"No\" if you\n"
+"have no SCSI hardware. If you are unsure, you can check the list of\n"
+"hardware detected in your machine by selecting \"See hardware info\" and\n"
+"clicking \"OK\". Examine the hardware list and then click on the \"OK\"\n"
+"button to return to the SCSI interface question.\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\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
+"\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to manually provide options to the driver."
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Del profile..."
-msgstr "Lemel..."
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../help.pm_.c:781
msgid ""
-"Arguments: (arg)\n"
+"You can add additional entries for yaboot, either for other operating\n"
+"systems, alternate kernels, or for an emergency boot image.\n"
+"\n"
+"For other OSes, the entry consists only of a label and the \"root\"\n"
+"partition.\n"
+"\n"
+"For Linux, there are a few possible options:\n"
+"\n"
+" * Label: this is simply the name you will have to type at the yaboot\n"
+"prompt to select this boot option;\n"
"\n"
-"Allow/Forbid the list of users on the system on display managers (kdm and "
-"gdm)."
+" * Image: this would be the name of the kernel to boot. Typically, vmlinux\n"
+"or a variation of vmlinux with an extension;\n"
+"\n"
+" * Root: the \"root\" device or ``/'' for your Linux installation;\n"
+"\n"
+" * Append: on Apple hardware, the kernel append option is used quite often\n"
+"to assist in initializing video hardware, or to enable keyboard mouse\n"
+"button emulation for the often lacking 2nd and 3rd mouse buttons on a stock\n"
+"Apple mouse. The following are some examples:\n"
+"\n"
+" video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111\n"
+"hda=autotune\n"
+"\n"
+" video=atyfb:vmode:12,cmode:24 adb_buttons=103,111\n"
+"\n"
+" * Initrd: this option can be used either to load initial modules, before\n"
+"the boot device is available, or to load a ramdisk image for an emergency\n"
+"boot situation;\n"
+"\n"
+" * Initrd-size: the default ramdisk size is generally 4,096 bytes. If you\n"
+"need to allocate a large ramdisk, this option can be used;\n"
+"\n"
+" * Read-write: normally the \"root\" partition is initially brought up in\n"
+"read-only, to allow a filesystem check before the system becomes ``live''.\n"
+"Here, you can override this option;\n"
+"\n"
+" * NoVideo: should the Apple video hardware prove to be exceptionally\n"
+"problematic, you can select this option to boot in ``novideo'' mode, with\n"
+"native frame buffer support;\n"
+"\n"
+" * Default: selects this entry as being the default Linux selection,\n"
+"selectable by just pressing ENTER at the yaboot prompt. This entry will\n"
+"also be highlighted with a ``*'', if you press [Tab] to see the boot\n"
+"selections."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing Foomatic..."
-msgstr "O staliañ ar pakad %s"
-
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "Please log out and then use Ctrl-Alt-BackSpace"
-msgstr "Dizereit mar plij ha neuze implijit Ctrl-Alt-WarGil"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected"
-msgstr "kavoutet"
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "The network needs to be restarted. Do you want to restart it ?"
+#: ../../help.pm_.c:828
+msgid ""
+"Yaboot is a bootloader for NewWorld MacIntosh hardware. It is able to boot\n"
+"either GNU/Linux, MacOS or MacOSX if present on your computer. Normally,\n"
+"these other operating systems are correctly detected and installed. If this\n"
+"is not the case, you can add an entry by hand in this screen. Be careful to\n"
+"choose the correct parameters.\n"
+"\n"
+"Yaboot's main options are:\n"
+"\n"
+" * Init Message: a simple text message displayed before the boot prompt;\n"
+"\n"
+" * Boot Device: indicates where you want to place the information required\n"
+"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
+"to hold this information;\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"
+" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
+"After selecting Linux, you will have this delay in 0.1 second before your\n"
+"default kernel description is selected;\n"
+"\n"
+" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
+"at the first boot prompt;\n"
+"\n"
+" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
+"Open Firmware at the first boot prompt;\n"
+"\n"
+" * Default OS: you can select which OS will boot by default when the Open\n"
+"Firmware Delay expires."
msgstr ""
-"Bremanaet e tle bezañ ar pabak-mañ\n"
-"Ha sur oc'h e mennit e ziuzañ ?"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Package: "
-msgstr "Pakad:"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't write /etc/sysconfig/bootsplash."
+#: ../../help.pm_.c:860
+msgid ""
+"Here are presented various parameters concerning your machine. Depending on\n"
+"your installed hardware, you may (or may not), see the following entries:\n"
+"\n"
+" * \"Mouse\": check the current mouse configuration and click on the button\n"
+"to change it if necessary;\n"
+"\n"
+" * \"Keyboard\": check the current keyboard map configuration and click on\n"
+"the button to change that if necessary;\n"
+"\n"
+" * \"Timezone\": DrakX, by default, guesses your time zone from the\n"
+"language you have chosen. But here again, as for the choice of a keyboard,\n"
+"you may not be in the country for which the chosen language should\n"
+"correspond. Hence, you may need to click on the \"Timezone\" button in\n"
+"order to configure the clock according to the time zone you are in;\n"
+"\n"
+" * \"Printer\": clicking on the \"No Printer\" button will open the printer\n"
+"configuration wizard. Consult the correpsonding chapter of the ``Starter\n"
+"Guide'' for more information on how to setup a new printer. The interface\n"
+"presented there is similar to the one used at installation time;\n"
+"\n"
+" * \"Sound card\": if a sound card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"TV card\": if a TV card is detected on your system, it will be\n"
+"displayed here.\n"
+"\n"
+" * \"ISDN card\": if an ISDN card is detected on your system, it will be\n"
+"displayed here. You can click on the button to change the parameters\n"
+"associated to it."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SECURITY WARNING!"
+#: ../../help.pm_.c:891
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandrake Linux partition. Be careful, all data present on it will be lost\n"
+"and will not be recoverable!"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "StarOffice"
-msgstr "StarOffice"
-
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "No, I don't want autologin"
+#: ../../help.pm_.c:896
+msgid ""
+"Click on \"OK\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"OK\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to stop this operation without losing any data and\n"
+"partitions present on this hard drive."
msgstr ""
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Windows Migration tool"
-msgstr "Titouroù"
-
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "All languages"
-msgstr "An holl yezhoù"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Removing %s"
-msgstr "Lemel %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s not found...\n"
-msgstr "N'eo ket bet kavet %s...\n"
-
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Testing your connection..."
-msgstr "Kefluniañ ur rouedad"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Cache size"
-msgstr "ment diaoz"
-
-#: ../../security/level.pm:1
+#: ../../install2.pm_.c:111
#, c-format
msgid ""
-"Passwords are now enabled, but use as a networked computer is still not "
-"recommended."
+"Can't access kernel modules corresponding to your kernel (file %s is "
+"missing), this generally means your boot floppy in not in sync with the "
+"Installation medium (please create a newer boot floppy)"
msgstr ""
-"Gweredekaet eo bremañ an tremenger, hogen dierbedet eo c'hoazh an implij en "
-"ur rouedad"
-#: ../../diskdrake/interactive.pm:1
+#: ../../install2.pm_.c:167
#, c-format
-msgid "Start sector: "
-msgstr "Rann kregiñ : "
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Congo (Brazzaville)"
-msgstr "Kongo (Brazzaville)"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, fuzzy, c-format
-msgid "The package %s needs to be installed. Do you want to install it?"
-msgstr ""
-"Bremanaet e tle bezañ ar pabak-mañ\n"
-"Ha sur oc'h e mennit e ziuzañ ?"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Seychelles"
+msgid "You must also format %s"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../install_any.pm_.c:423
#, c-format
msgid ""
-"Printerdrake has compared the model name resulting from the printer auto-"
-"detection with the models listed in its printer database to find the best "
-"match. This choice can be wrong, especially when your printer is not listed "
-"at all in the database. So check whether the choice is correct and click "
-"\"The model is correct\" if so and if not, click \"Select model manually\" "
-"so that you can choose your printer model manually on the next screen.\n"
+"You have selected the following server(s): %s\n"
"\n"
-"For your printer Printerdrake has found:\n"
"\n"
-"%s"
+"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 ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Bad password on %s"
-msgstr "N'eo ket tremenger mad war %s"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../install_any.pm_.c:441
#, c-format
msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
"\n"
-"There is one unknown printer directly connected to your system"
+"\n"
+"Do you really want to remove these packages?\n"
msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Right Control key"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Zambia"
-msgstr "Zambi"
+#: ../../install_any.pm_.c:471
+msgid "Can't use broadcast with no NIS domain"
+msgstr "N'hellañ ket implijout ar skignañ hep domani NIS"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security Administrator (login or email)"
-msgstr ""
+#: ../../install_any.pm_.c:879
+#, fuzzy, c-format
+msgid "Insert a FAT formatted floppy in drive %s"
+msgstr "Lakait ur bladennig el lenner %s"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Sorry, we support only 2.4 kernels."
+#: ../../install_any.pm_.c:883
+msgid "This floppy is not FAT formatted"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Romanian (qwerty)"
-msgstr "Romaniek (qwerty)"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Under Devel ... please wait."
+#: ../../install_any.pm_.c:895
+msgid ""
+"To use this saved packages selection, boot installation with ``linux "
+"defcfg=floppy''"
msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
+#: ../../install_any.pm_.c:918 ../../partition_table.pm_.c:767
#, c-format
-msgid "Czech Republic"
-msgstr "Republik Tchek"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Egypt"
-msgstr "Ejipt"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Sound card"
-msgstr "Kartenn son"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Import Fonts"
-msgstr "Furmadiñ parzhadurioù"
+msgid "Error reading file %s"
+msgstr "Fazi en ur lenn ar restr %s"
-#: ../../diskdrake/hd_gtk.pm:1
-#, fuzzy, c-format
+#: ../../install_any.pm_.c:1040
msgid ""
-"You have one big MicroSoft Windows partition.\n"
-"I suggest you first resize that partition\n"
-"(click on it, then click on \"Resize\")"
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
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ñ\")"
+"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 "
-#: ../../standalone/drakfont:1
+#: ../../install_interactive.pm_.c:21
#, c-format
-msgid "Suppress Temporary Files"
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:56
msgid ""
-"Congratulations, the network and Internet configuration is finished.\n"
-"\n"
+"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 `/'"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Change partition type"
-msgstr "Kemmañ seurt ar parzhadur"
+#: ../../install_interactive.pm_.c:61
+msgid "You must have a swap partition"
+msgstr "Ret eo deoc'h kaout ur parzhadur disloañ"
-#: ../../help.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:62
msgid ""
-"Resolution\n"
+"You don't have a swap partition.\n"
"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor."
+"Continue anyway?"
msgstr ""
+"N'hoc'h eus ket a barzhadur disloañ\n"
+"\n"
+"Kenderc'hel evelato ?"
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Network Options"
-msgstr "Dibarzhoù ar rouedad"
+#: ../../install_interactive.pm_.c:65 ../../install_steps.pm_.c:169
+#, fuzzy
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Ret eo deoc'h kaout ur parzhadur disloañ"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid ""
-"Display theme\n"
-"under console"
+#: ../../install_interactive.pm_.c:90
+#, fuzzy
+msgid "Use free space"
+msgstr "Implij da saveteiñ"
+
+#: ../../install_interactive.pm_.c:92
+msgid "Not enough free space to allocate new partitions"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Statistics"
-msgstr "Sifroù"
+#: ../../install_interactive.pm_.c:100
+#, fuzzy
+msgid "Use existing partitions"
+msgstr "O furmadiñ parzhadurioù"
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on %s)"
-msgstr "(war %s)"
+#: ../../install_interactive.pm_.c:102
+#, fuzzy
+msgid "There is no existing partition to use"
+msgstr "O klask assevel an daolenn barzhañ"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MM Series"
-msgstr "Doare MM"
+#: ../../install_interactive.pm_.c:109
+#, fuzzy
+msgid "Use the Windows partition for loopback"
+msgstr "Implij da saveteiñ"
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"A library which defends against buffer overflow and format string attacks."
-msgstr ""
+#: ../../install_interactive.pm_.c:112
+#, fuzzy
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Pe barzhadur a vennit implijout evit lakaat Linux4Win ?"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "average"
-msgstr ""
+#: ../../install_interactive.pm_.c:114
+msgid "Choose the sizes"
+msgstr "Dibabit ar mentoù"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "New printer name"
-msgstr "Anv nevez ar moullerez"
+#: ../../install_interactive.pm_.c:115
+msgid "Root partition size in MB: "
+msgstr "Ment ar parzhadur gwrizienn e Mo : "
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Allow an ordinary user to mount the file system. The\n"
-"name of the mounting user is written to mtab so that he can unmount the "
-"file\n"
-"system again. This option implies the options noexec, nosuid, and nodev\n"
-"(unless overridden by subsequent options, as in the option line\n"
-"user,exec,dev,suid )."
-msgstr ""
+#: ../../install_interactive.pm_.c:116
+msgid "Swap partition size in MB: "
+msgstr "Ment ar parzhadur disloañ e Mo : "
-#: ../../lang.pm:1
-#, c-format
-msgid "Equatorial Guinea"
+#: ../../install_interactive.pm_.c:126
+msgid "Use the free space on the Windows partition"
msgstr ""
-#: ../../security/help.pm:1
+#: ../../install_interactive.pm_.c:129
+#, fuzzy
+msgid "Which partition do you want to resize?"
+msgstr "Pe seurt parzhadur a vennit ?"
+
+#: ../../install_interactive.pm_.c:131
+#, fuzzy
+msgid "Resizing Windows partition"
+msgstr "O jediñ bevennoù ar reizhiad restroù FAT"
+
+#: ../../install_interactive.pm_.c:134
#, c-format
msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Allow/Forbid autologin."
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occured: %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Build Backup"
-msgstr "Restr gwareziñ siek"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:137
msgid ""
-"To print a file from the command line (terminal window) use the command \"%s "
-"<file>\" or \"%s <file>\".\n"
+"Your Windows partition is too fragmented. Please reboot your computer under "
+"Windows, run the ``defrag'' utility, then restart the Mandrake Linux "
+"installation."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Currently, no alternative possibility is available"
+#: ../../install_interactive.pm_.c:138
+#, fuzzy
+msgid ""
+"WARNING!\n"
+"\n"
+"DrakX will now resize your Windows partition. Be careful:\n"
+"this operation is dangerous. If you have not already done\n"
+"so, you should first exit the installation, run scandisk\n"
+"under Windows (and optionally run defrag), then restart the\n"
+"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:148
+#, fuzzy
+msgid "Which size do you want to keep for Windows on"
+msgstr "Da beseurt rann e mennit dilec'hiañ ?"
-#: ../../keyboard.pm:1
+#: ../../install_interactive.pm_.c:149
#, c-format
-msgid "Romanian (qwertz)"
-msgstr "Romaniek (Yawertz)"
+msgid "partition %s"
+msgstr "parzhadur %s"
-#: ../../standalone/drakTermServ:1
+#: ../../install_interactive.pm_.c:156
#, fuzzy, c-format
-msgid "Write Config"
-msgstr "Kefluniañ X"
+msgid "FAT resizing failed: %s"
+msgstr "Adventañ ent emgefreek sac'het"
-#: ../../services.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:171
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."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Kiribati"
+"There is no FAT partition to resize or to use as loopback (or not enough "
+"space left)"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Allow/Forbid remote root login."
-msgstr ""
+#: ../../install_interactive.pm_.c:177
+msgid "Erase entire disk"
+msgstr "Chetan an holl planedenn"
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Browse"
-msgstr ""
+#: ../../install_interactive.pm_.c:177
+msgid "Remove Windows(TM)"
+msgstr "Chetan Windows(TM)"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CDROM"
+#: ../../install_interactive.pm_.c:180
+msgid "You have more than one hard drive, which one do you install linux on?"
msgstr ""
-#: ../../network/tools.pm:1
+#: ../../install_interactive.pm_.c:183
#, fuzzy, c-format
-msgid "Do you want to try to connect to the Internet now?"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+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"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Belgian"
-msgstr "Belgian"
+#: ../../install_interactive.pm_.c:191
+#, fuzzy
+msgid "Custom disk partitioning"
+msgstr "O furmadiñ parzhadurioù"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Do you have an ISA sound card?"
-msgstr "Hag un all hoc'h eus ?"
+#: ../../install_interactive.pm_.c:195
+msgid "Use fdisk"
+msgstr "Implijit fdisk"
-#: ../../network/ethernet.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:198
+#, fuzzy, c-format
msgid ""
-"No ethernet network adapter has been detected on your system.\n"
-"I cannot set up this connection type."
+"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 zisoñjit ket enrollañ dre implijout `w'"
-#: ../../diskdrake/hd_gtk.pm:1
-#, fuzzy, c-format
-msgid "Windows"
-msgstr "Titouroù"
+#: ../../install_interactive.pm_.c:227
+#, fuzzy
+msgid "You don't have enough free space on your Windows partition"
+msgstr "N'hoc'h eus parzhadur windows ebet !"
-#: ../../common.pm:1
-#, fuzzy, c-format
-msgid "Can't make screenshots before partitioning"
+#: ../../install_interactive.pm_.c:243
+#, fuzzy
+msgid "I can't find any room for installing"
msgstr "N'hellan ouzpennañ parzhadur ebet ken"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Name"
-msgstr "Anv an Ostiz"
+#: ../../install_interactive.pm_.c:246
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/Save _As"
-msgstr "/Restr/_Gwarediñ dindan"
+#: ../../install_interactive.pm_.c:250
+#, fuzzy, c-format
+msgid "Partitioning failed: %s"
+msgstr "Seurt taolenn barzhañ : %s\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../install_interactive.pm_.c:260
+msgid "Bringing up the network"
+msgstr "O lañsañ ar rouedad"
+
+#: ../../install_interactive.pm_.c:265
+msgid "Bringing down the network"
+msgstr "O tizenaouiñ ar rouedad"
+
+#: ../../install_steps.pm_.c:76
msgid ""
-"To get access to printers on remote CUPS servers in your local network you "
-"only need to turn on the \"Automatically find available printers on remote "
-"machines\" option; the CUPS servers inform your machine automatically about "
-"their printers. All printers currently known to your machine are listed in "
-"the \"Remote printers\" section in the main window of Printerdrake. If your "
-"CUPS server(s) is/are not in your local network, you have to enter the IP "
-"address(es) and optionally the port number(s) here to get the printer "
-"information from the server(s)."
+"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."
-#: ../../standalone/drakTermServ:1
+#: ../../install_steps.pm_.c:211
#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Poent marc'hañ doubl %s"
+
+#: ../../install_steps.pm_.c:380
msgid ""
-"drakTermServ Overview\n"
-"\t\t\t \n"
-" - Create Etherboot Enabled Boot Images:\n"
-" \t\tTo boot a kernel via etherboot, a special kernel/initrd image "
-"must be created.\n"
-" \t\tmkinitrd-net does much of this work and drakTermServ is just a "
-"graphical interface\n"
-" \t\tto help manage/customize these images. To create the file \n"
-" \t\t/etc/dhcpd.conf.etherboot-pcimap.include that is pulled in as an "
-"include in \n"
-" \t\tdhcpd.conf, you should create the etherboot images for at least "
-"one full kernel.\n"
-"\n"
-" - Maintain /etc/dhcpd.conf:\n"
-" \t\tTo net boot clients, each client needs a dhcpd.conf entry, "
-"assigning an IP address\n"
-" \t\tand net boot images to the machine. drakTermServ helps create/"
-"remove these entries.\n"
-"\t\t\t\n"
-" \t\t(PCI cards may omit the image - etherboot will request the "
-"correct image. You should\n"
-" \t\talso consider that when etherboot looks for the images, it "
-"expects names like\n"
-" \t\tboot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
-"\t\t\t \n"
-" \t\tA typical dhcpd.conf stanza to support a diskless client looks "
-"like:\n"
-" \t\t\n"
-"\t\t\t\thost curly {\n"
-"\t\t\t\t\thardware ethernet 00:20:af:2f:f7:9d;\n"
-"\t\t\t\t\tfixed-address 192.168.192.3;\n"
-"\t\t\t\t\t#type fat;\n"
-"\t\t\t\t\tfilename \"i386/boot/boot-3c509.2.4.18-6mdk."
-"nbi\";\n"
-"\t\t\t\t\t#hdw_config true;\n"
-"\t\t\t\t}\n"
-"\t\t\t\n"
-"\t\t\tWhile you can use a pool of IP addresses, rather than setup a specific "
-"entry for\n"
-"\t\t\ta client machine, using a fixed address scheme facilitates using the "
-"functionality\n"
-"\t\t\tof client-specific configuration files that ClusterNFS provides.\n"
-"\t\t\t\n"
-"\t\t\tNote: The \"#type\" entry is only used by drakTermServ. Clients can "
-"either be 'thin'\n"
-"\t\t\tor 'fat'. Thin clients run most software on the server via xdmcp, "
-"while fat clients run \n"
-"\t\t\tmost software on the client machine. A special inittab, /etc/inittab\\$"
-"\\$IP=client_ip\\$\\$ is\n"
-"\t\t\twritten for thin clients. System config files xdm-config, kdmrc, and "
-"gdm.conf are \n"
-"\t\t\tmodified if thin clients are used, to enable xdmcp. Since there are "
-"security issues in \n"
-"\t\t\tusing xdmcp, hosts.deny and hosts.allow are modified to limit access "
-"to the local\n"
-"\t\t\tsubnet.\n"
-"\t\t\t\n"
-"\t\t\tNote: The \"#hdw_config\" entry is also only used by drakTermServ. "
-"Clients can either \n"
-"\t\t\tbe 'true' or 'false'. 'true' enables root login at the client machine "
-"and allows local \n"
-"\t\t\thardware configuration of sound, mouse, and X, using the 'drak' tools. "
-"This is enabled \n"
-"\t\t\tby creating seperate config files associated with the client's IP "
-"address and creating \n"
-"\t\t\tread/write mount points to allow the client to alter the file. Once "
-"you are satisfied \n"
-"\t\t\twith the configuration, you can remove root login priviledges from the "
-"client.\n"
-"\t\t\t\n"
-"\t\t\tNote: You must stop/start the server after adding or changing "
-"clients.\n"
-"\t\t\t\n"
-" - Maintain /etc/exports:\n"
-" \t\tClusternfs allows export of the root filesystem to diskless "
-"clients. drakTermServ\n"
-" \t\tsets up the correct entry to allow anonymous access to the root "
-"filesystem from\n"
-" \t\tdiskless clients.\n"
-"\n"
-" \t\tA typical exports entry for clusternfs is:\n"
-" \t\t\n"
-" \t\t/ (ro,all_squash)\n"
-" \t\t/home SUBNET/MASK(rw,root_squash)\n"
-"\t\t\t\n"
-"\t\t\tWith SUBNET/MASK being defined for your network.\n"
-" \t\t\n"
-" - Maintain /etc/shadow\\$\\$CLIENT\\$\\$:\n"
-" \t\tFor users to be able to log into the system from a diskless "
-"client, their entry in\n"
-" \t\t/etc/shadow needs to be duplicated in /etc/shadow\\$\\$CLIENTS\\$"
-"\\$. drakTermServ helps\n"
-" \t\tin this respect by adding or removing system users from this "
-"file.\n"
-"\n"
-" - Per client /etc/X11/XF86Config-4\\$\\$IP-ADDRESS\\$\\$:\n"
-" \t\tThrough clusternfs, each diskless client can have it's own "
-"unique configuration files\n"
-" \t\ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-" \t\tdrakTermServ will help create these files.\n"
-"\n"
-" - Per client system configuration files:\n"
-" \t\tThrough clusternfs, each diskless client can have it's own "
-"unique configuration files\n"
-" \t\ton the root filesystem of the server. By allowing local client "
-"hardware configuration, \n"
-"\t\t\t\tclients can customize files such as /etc/modules.conf, /etc/"
-"sysconfig/mouse, \n"
-" \t\t/etc/sysconfig/keyboard on a per-client basis.\n"
-"\n"
-" Note: Enabling local client hardware configuration does enable root "
-"login to the terminal \n"
-" server on each client machine that has this feature enabled. Local "
-"configuration can be turned\n"
-" back off, retaining the configuration files, once the client machine "
-"is configured.\n"
-"\t\t\n"
-" - /etc/xinetd.d/tftp:\n"
-" \t\tdrakTermServ will configure this file to work in conjunction "
-"with the images created by\n"
-" \t\tmkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
-"the boot image to each\n"
-" \t\tdiskless client.\n"
-"\n"
-" \t\tA typical tftp configuration file looks like:\n"
-" \t\t\n"
-" \t\tservice tftp\n"
-" \t\t(\n"
-" disable = no\n"
-" socket_type = dgram\n"
-" protocol = udp\n"
-" wait = yes\n"
-" user = root\n"
-" server = /usr/sbin/in.tftpd\n"
-" server_args = -s /var/lib/tftpboot\n"
-" \t\t}\n"
-" \t\t\n"
-" \t\tThe changes here from the default installation are changing the "
-"disable flag to\n"
-" \t\t'no' and changing the directory path to /var/lib/tftpboot, where "
-"mkinitrd-net\n"
-" \t\tputs it's images.\n"
-"\n"
-" - Create etherboot floppies/CDs:\n"
-" \t\tThe diskless client machines need either ROM images on the NIC, "
-"or a boot floppy\n"
-" \t\tor CD to initate the boot sequence. drakTermServ will help "
-"generate these images,\n"
-" \t\tbased on the NIC in the client machine.\n"
-" \t\t\n"
-" \t\tA basic example of creating a boot floppy for a 3Com 3c509 "
-"manually:\n"
-" \t\t\n"
-" \t\tcat /usr/lib/etherboot/boot1a.bin \\\n"
-" \t\t\t/usr/lib/etherboot/lzrom/3c509.lzrom > /dev/fd0\n"
-" \n"
-"\n"
+"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 ""
-#: ../../standalone/scannerdrake:1
+#: ../../install_steps.pm_.c:450
#, c-format
-msgid "%s is not in the scanner database, configure it manually?"
-msgstr ""
+msgid "Welcome to %s"
+msgstr "Degemer e %s"
-#: ../../any.pm:1
-#, c-format
-msgid "Delay before booting default image"
-msgstr "Gedvezh kent loc'hañ ar skeudenn dre ziouer"
+#: ../../install_steps.pm_.c:543 ../../install_steps.pm_.c:769
+msgid "No floppy drive available"
+msgstr "Lenner pladennig hegerz ebet"
-#: ../../any.pm:1
+#: ../../install_steps_auto_install.pm_.c:76
+#: ../../install_steps_stdio.pm_.c:22
#, c-format
-msgid "Restrict command line options"
-msgstr "Strishaat dibarzhoù al linenn urzhiañ"
+msgid "Entering step `%s'\n"
+msgstr "O kregiñ gant al lankad `%s'\n"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "East Europe"
+#: ../../install_steps_gtk.pm_.c:146
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandrake Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
msgstr ""
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Use free space"
-msgstr "Implij da saveteiñ"
+#: ../../install_steps_gtk.pm_.c:157 ../../install_steps_interactive.pm_.c:237
+msgid "Install Class"
+msgstr "Renkad staliañ"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use dhcp"
-msgstr "implijit dhcp"
+#: ../../install_steps_gtk.pm_.c:160
+#, fuzzy
+msgid "Please choose one of the following classes of installation:"
+msgstr "Dibabit unan eus ar renkadoù staliañ a-heul mar plij :"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mail alert"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:236 ../../install_steps_interactive.pm_.c:683
+msgid "Package Group Selection"
+msgstr "Diuzadenn strollad pakadoù"
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Internet configuration"
-msgstr "Kefluniañ ar proksioù"
+#: ../../install_steps_gtk.pm_.c:269 ../../install_steps_interactive.pm_.c:698
+msgid "Individual package selection"
+msgstr "Diuz pakadoù unan hag unan"
-#: ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:292 ../../install_steps_interactive.pm_.c:621
#, c-format
-msgid "Uzbekistan"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Detected %s"
-msgstr "Poent marc'hañ doubl %s"
+msgid "Total size: %d / %d MB"
+msgstr "Ment hollek : %d / %d Mo"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/Autodetect _printers"
-msgstr "Dilesadur"
+#: ../../install_steps_gtk.pm_.c:334
+msgid "Bad package"
+msgstr "Pakad siek"
-#: ../../interactive.pm:1 ../../interactive/newt.pm:1 ../../my_gtk.pm:1
-#: ../../ugtk2.pm:1
+#: ../../install_steps_gtk.pm_.c:335
#, c-format
-msgid "Finish"
-msgstr "Disoc'h"
+msgid "Name: %s\n"
+msgstr "Anv : %s\n"
-#: ../../install_steps_gtk.pm:1
+#: ../../install_steps_gtk.pm_.c:336
#, c-format
-msgid "Show automatically selected packages"
-msgstr ""
+msgid "Version: %s\n"
+msgstr "Stumm : %s\n"
-#: ../../lang.pm:1
+#: ../../install_steps_gtk.pm_.c:337
#, c-format
-msgid "Togo"
-msgstr "Togo"
+msgid "Size: %d KB\n"
+msgstr "Ment : %d Ko\n"
-#: ../../standalone/harddrake2:1
+#: ../../install_steps_gtk.pm_.c:338
#, c-format
-msgid "CPU flags reported by the kernel"
-msgstr ""
+msgid "Importance: %s\n"
+msgstr "Talvoudegezh : %s\n"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Something went wrong! - Is mkisofs installed?"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:360
+#, 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"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "16 MB"
-msgstr "16 Mo"
+#: ../../install_steps_gtk.pm_.c:365
+#, fuzzy
+msgid "The following packages are going to be installed"
+msgstr "Ar pakadoù a-heul a zo war-nes bezañ distaliet"
-#: ../../any.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please try again"
-msgstr "Klaskit adarre mar plij"
+#: ../../install_steps_gtk.pm_.c:366
+#, fuzzy
+msgid "The following packages are going to be removed"
+msgstr "Ar pakadoù a-heul a zo war-nes bezañ staliet/lamet"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "The model is correct"
-msgstr "Ha reizh eo ?"
+#: ../../install_steps_gtk.pm_.c:378
+msgid "You can't select/unselect this package"
+msgstr "N'hellit ket diuz/andiuz ar pakad-mañ"
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "FAT resizing failed: %s"
-msgstr "Adventañ ent emgefreek sac'het"
+#: ../../install_steps_gtk.pm_.c:390
+msgid "This is a mandatory package, it can't be unselected"
+msgstr "Hemañ a zo ur pakad ret, n'hell ket bezañ andiuzet"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Individual package selection"
-msgstr "Diuz pakadoù unan hag unan"
+#: ../../install_steps_gtk.pm_.c:392
+msgid "You can't unselect this package. It is already installed"
+msgstr "N'hellit ket andiuz ar pakad-mañ. Staliet eo endo"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "This partition is not resizeable"
-msgstr "Pe seurt parzhadur a vennit ?"
+#: ../../install_steps_gtk.pm_.c:395
+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ñ ?"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Location"
-msgstr "Titouroù"
+#: ../../install_steps_gtk.pm_.c:398
+msgid "You can't unselect this package. It must be upgraded"
+msgstr "N'hellit ket andiuz ar pakad-mañ. Ret eo dezhañ bezañ bremanaet"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "USA (cable-hrc)"
+#: ../../install_steps_gtk.pm_.c:403
+msgid "Show automatically selected packages"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
-#, fuzzy, c-format
-msgid "Journalised FS"
-msgstr "marc'hañ sac'het"
+#: ../../install_steps_gtk.pm_.c:404 ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+#: ../../standalone/drakbackup_.c:4211
+msgid "Install"
+msgstr "Staliañ"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Guatemala"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:407
+#, fuzzy
+msgid "Load/Save on floppy"
+msgstr "Enrollañ war bladennig"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "This machine"
-msgstr "O vrasjediñ"
+#: ../../install_steps_gtk.pm_.c:408
+#, fuzzy
+msgid "Updating package selection"
+msgstr "Diuz pakadoù unan hag unan"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "DOS drive letter: %s (just a guess)\n"
-msgstr "Lizher ar bladenn DOS : %s (diwar varteze hepken)\n"
+#: ../../install_steps_gtk.pm_.c:413
+#, fuzzy
+msgid "Minimal install"
+msgstr "Distaliañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select the files or directories and click on 'OK'"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:428 ../../install_steps_interactive.pm_.c:529
+msgid "Choose the packages you want to install"
+msgstr "Dibabit ar pakadoù a vennit staliañ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahrain"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:444 ../../install_steps_interactive.pm_.c:767
+msgid "Installing"
+msgstr "O staliañ"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit scsi modules"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:450
+msgid "Estimating"
+msgstr "O vrasjediñ"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "family of the cpu (eg: 6 for i686 class)"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:457
+msgid "Time remaining "
+msgstr "Amzer a chom"
-#: ../../network/netconnect.pm:1
-#, c-format
-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 ""
+#: ../../install_steps_gtk.pm_.c:469
+msgid "Please wait, preparing installation..."
+msgstr "Gortozit mar plij, o prientiñ ar staliadur"
-#: ../../Xconfig/various.pm:1
+#: ../../install_steps_gtk.pm_.c:551
#, c-format
-msgid "Keyboard layout: %s\n"
-msgstr "Reizhadur ar stokellaoueg : %s\n"
+msgid "%d packages"
+msgstr "%d pakad"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_gtk.pm_.c:556
#, c-format
-msgid ""
-"Here you can choose whether the printers connected to this machine should be "
-"accessable by remote machines and by which remote machines."
-msgstr ""
+msgid "Installing package %s"
+msgstr "O staliañ ar pakad %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Maltese (US)"
-msgstr ""
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+#: ../../standalone/drakautoinst_.c:197
+msgid "Accept"
+msgstr "Aotren"
-#: ../../services.pm:1
+#: ../../install_steps_gtk.pm_.c:593 ../../install_steps_interactive.pm_.c:195
+#: ../../install_steps_interactive.pm_.c:791
+#, fuzzy
+msgid "Refuse"
+msgstr "Adventañ"
+
+#: ../../install_steps_gtk.pm_.c:594 ../../install_steps_interactive.pm_.c:792
#, c-format
msgid ""
-"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
-"Manager/Windows), and NCP (NetWare) mount points."
+"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 ""
-"Evit marc'hañ ha divarc'hañ poentoù marc'hañ an holl Reizhiadoù Restroù\n"
-"Rouedad (NFS), SMB (Lan Manager/Windows) ha NCP (NetWare)."
+"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."
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Tvcard"
-msgstr "Kartenn pellwel"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_gtk.pm_.c:612
+#: ../../install_steps_interactive.pm_.c:804
+#: ../../install_steps_interactive.pm_.c:808
+msgid "Go on anyway?"
+msgstr "Kenderc'hel evelato ?"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Toggle between normal/expert mode"
-msgstr "Tremen er mod boas"
+#: ../../install_steps_gtk.pm_.c:608 ../../install_steps_interactive.pm_.c:804
+msgid "There was an error ordering packages:"
+msgstr "Ur fazi a zo bet en ur rummañ pakadoù :"
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Size"
-msgstr "Ment: %s"
+#: ../../install_steps_gtk.pm_.c:612 ../../install_steps_interactive.pm_.c:808
+msgid "There was an error installing packages:"
+msgstr "Ur fazi a zo bet en ur staliañ ar pakadoù :"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "GRUB"
-msgstr "Go"
+#: ../../install_steps_interactive.pm_.c:10
+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 ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Greenland"
-msgstr "Islandek"
+#: ../../install_steps_interactive.pm_.c:67
+msgid "An error occurred"
+msgstr "Ur fazi a zo bet"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan+/FirstMouse+"
-msgstr "Logitech MouseMan+/FirstMouse+"
+#: ../../install_steps_interactive.pm_.c:85
+#, fuzzy
+msgid "Do you really want to leave the installation?"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct tape label. Tape is labelled %s."
+#: ../../install_steps_interactive.pm_.c:112
+msgid "License agreement"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:113
msgid ""
-"The setup of Internet Connection Sharing has already been done.\n"
-"It's currently enabled.\n"
+"Introduction\n"
"\n"
-"What would you like to do?"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Delete All NBIs"
-msgstr "Diuzit ar restr"
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"This dialog allows you to fine tune your bootloader:\n"
+"The operating system and the different components available in the Mandrake "
+"Linux 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 Mandrake Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. 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"
-" * \"%s\": there are three choices for your bootloader:\n"
"\n"
-" * \"%s\": if you prefer grub (text menu).\n"
+"2. Limited Warranty\n"
"\n"
-" * \"%s\": if you prefer LILO with its text menu interface.\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 "
+"occurence of such \n"
+"damages.\n"
"\n"
-" * \"%s\": if you prefer LILO with its graphical interface.\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
"\n"
-" * \"%s\": in most cases, you will not change the default (\"%s\"), but if\n"
-"you prefer, the bootloader can be installed on the second hard drive\n"
-"(\"%s\"), or even on a floppy disk (\"%s\");\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 Mandrake Linux 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"
-" * \"%s\": after a boot or a reboot of the computer, this is the delay\n"
-"given to the user at the console to select a boot entry other than the\n"
-"default.\n"
"\n"
-"!! Beware that if you choose not to install a bootloader (by selecting\n"
-"\"%s\"), you must ensure that you have a way to boot your Mandrake Linux\n"
-"system! Be sure you know what you are doing before changing any of the\n"
-"options. !!\n"
+"3. The GPL License and Related Licenses\n"
"\n"
-"Clicking the \"%s\" button in this dialog will offer advanced options which\n"
-"are normally reserved for the expert user."
+"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\", \"Mandrake Linux\" 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 ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"if set, send the mail report to this email address else send it to root."
+#: ../../install_steps_interactive.pm_.c:197
+msgid "Are you sure you refuse the licence?"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, fuzzy, c-format
-msgid "Which configuration of XFree do you want to have?"
-msgstr "Pe seurt enmont a vennit ouzhpennañ"
-
-#: ../../any.pm:1 ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "More"
-msgstr "Dilec'hiañ"
+#: ../../install_steps_interactive.pm_.c:217
+#: ../../install_steps_interactive.pm_.c:995
+#: ../../standalone/keyboarddrake_.c:25
+msgid "Keyboard"
+msgstr "Stokellaoueg"
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-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 can "
-"accept\n"
-"connections from many clients. Note: if your machine is only a client on the "
-"Internet, you should choose a lower level."
-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."
+#: ../../install_steps_interactive.pm_.c:218
+#, fuzzy
+msgid "Please choose your keyboard layout."
+msgstr "Dibabit reizhadur ho stokellaoueg, mar plij."
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Account Password"
-msgstr "Tremenger"
+#: ../../install_steps_interactive.pm_.c:219
+#, fuzzy
+msgid "Here is the full list of keyboards available"
+msgstr "stokellaoueg"
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"You decided to install the bootloader on a partition.\n"
-"This implies you already have a bootloader on the hard drive you boot (eg: "
-"System Commander).\n"
-"\n"
-"On which drive are you booting?"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:237
+msgid "Which installation class do you want?"
+msgstr "Pe renkad staliañ a fell deoc'h ?"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Tajik keyboard"
-msgstr "Stokellaoueg Thai"
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Install/Update"
+msgstr "Staliañ/Bremanaat"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can copy the printer configuration which you have done for the spooler %"
-"s to %s, your current spooler. All the configuration data (printer name, "
-"description, location, connection type, and default option settings) is "
-"overtaken, but jobs will not be transferred.\n"
-"Not all queues can be transferred due to the following reasons:\n"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:241
+msgid "Is this an install or an update?"
+msgstr "Hag ur staliadur pe ur bremanadur eo ?"
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Font List"
-msgstr "Poent marc'hañ"
+#: ../../install_steps_interactive.pm_.c:250
+msgid "Recommended"
+msgstr "Erbedet"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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 %s,\\\\:tbxi\n"
-" Then type: shut-down\n"
-"At your next boot you should see the bootloader prompt."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:253
+#: ../../install_steps_interactive.pm_.c:256
+msgid "Expert"
+msgstr "Mailh"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"You appear to have an OldWorld or Unknown\n"
-" machine, the yaboot bootloader will not work for you.\n"
-"The install will continue, but you'll\n"
-" need to use BootX or some other means to boot your machine"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+msgid "Upgrade"
+msgstr "Bremanaat"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Select file"
-msgstr "Diuzit ar restr"
+#: ../../install_steps_interactive.pm_.c:261
+#: ../../install_steps_interactive.pm_.c:265
+msgid "Upgrade packages only"
+msgstr "Bremanaat pakadoù hep ken"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Choose the network or host on which the local printers should be made "
-"available:"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:282
+msgid "Please choose the type of your mouse."
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"These commands you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications, but here do not supply the file name "
-"because the file to print is provided by the application.\n"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:288 ../../standalone/mousedrake_.c:52
+msgid "Mouse Port"
+msgstr "Porzh al logodenn"
-#: ../../lang.pm:1
-#, c-format
-msgid "Japan"
-msgstr "Japon"
+#: ../../install_steps_interactive.pm_.c:289 ../../standalone/mousedrake_.c:53
+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."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Print option list"
-msgstr "Dibarzhoù ar voullerez"
+#: ../../install_steps_interactive.pm_.c:297
+msgid "Buttons emulation"
+msgstr ""
-#: ../../standalone/localedrake:1
-#, c-format
-msgid "The change is done, but to be effective you must logout"
+#: ../../install_steps_interactive.pm_.c:299
+msgid "Button 2 Emulation"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Backup quota exceeded!\n"
-"%d Mb used vs %d Mb allocated."
+#: ../../install_steps_interactive.pm_.c:300
+msgid "Button 3 Emulation"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Search servers"
-msgstr "Servijer DNS"
+#: ../../install_steps_interactive.pm_.c:321
+msgid "Configuring PCMCIA cards..."
+msgstr "O kefluniañ kartennoù PCMCIA..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NCP queue name missing!"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:321
+msgid "PCMCIA"
+msgstr "PCMCIA"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Warning, another internet connection has been detected, maybe using your "
-"network"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:328
+msgid "Configuring IDE"
+msgstr "Kefluniañ IDE"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Cd-Rom labeled \"%s\""
-msgstr "Cd-Rom skridennet \"%s\""
+#: ../../install_steps_interactive.pm_.c:328
+msgid "IDE"
+msgstr "IDE"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CDRW media"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:345
+msgid "No partition available"
+msgstr "parzhadur hegerz ebet"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Saves and restores system entropy pool for higher quality random\n"
-"number generation."
+#: ../../install_steps_interactive.pm_.c:348
+msgid "Scanning partitions to find mount points"
msgstr ""
-"Enroll hag assav poul dizurzh ar reizhiad evit genel niveroù\n"
-"dargouezhek gant gwelloc'h perzhded."
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:356
+msgid "Choose the mount points"
+msgstr "Dibabit at poentoù marc'hañ"
+
+#: ../../install_steps_interactive.pm_.c:386
msgid ""
-"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
-"you can lose data)"
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
msgstr ""
-#: ../../share/advertising/07-server.pl:1
-#, c-format
-msgid "Turn your computer into a reliable server"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:395
+#, fuzzy
+msgid "No root partition found to perform an upgrade"
+msgstr "Parzhadur gwrizienn kavet ebet"
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid " (driver %s)"
-msgstr "Servijer XFree86 : %s\n"
+#: ../../install_steps_interactive.pm_.c:396
+msgid "Root Partition"
+msgstr "Parzhadur gwrizienn"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid ""
-"Loopback file(s):\n"
-" %s\n"
-msgstr "Restr(où) saveteiñ : %s\n"
+#: ../../install_steps_interactive.pm_.c:397
+msgid "What is the root partition (/) of your system?"
+msgstr "Pehini eo parzhadur gwrizienn (/) ho reizhiad ?"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "I don't know"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:411
+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ñ"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", TCP/IP host \"%s\", port %s"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:435
+msgid "Choose the partitions you want to format"
+msgstr "Dibabit ar parzhadur a vennit furmadiñ"
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid ""
-"You are about to configure an Auto Install floppy. This feature is somewhat "
-"dangerous and must be used circumspectly.\n"
-"\n"
-"With that feature, you will be able to replay the installation you've "
-"performed on this computer, being interactively prompted for some steps, in "
-"order to change their values.\n"
-"\n"
-"For maximum safety, the partitioning and formatting will never be performed "
-"automatically, whatever you chose during the install of this computer.\n"
-"\n"
-"Do you want to continue?"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:436
+msgid "Check bad blocks?"
+msgstr "Gwiriañ ar bloc'hoù siek ?"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Telugu"
-msgstr "Beljik"
+#: ../../install_steps_interactive.pm_.c:463
+msgid "Formatting partitions"
+msgstr "O furmadiñ parzhadurioù"
-#: ../../harddrake/sound.pm:1
+#: ../../install_steps_interactive.pm_.c:465
#, c-format
-msgid ""
-"\n"
-"\n"
-"Your card currently use the %s\"%s\" driver (default driver for your card is "
-"\"%s\")"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Post Uninstall"
-msgstr "Dilezel ar staliadur"
+msgid "Creating and formatting file %s"
+msgstr "O krouiñ hag o furmadiñ ar restr saveteiñ %s"
-#: ../../standalone/scannerdrake:1
+#: ../../install_steps_interactive.pm_.c:470
#, c-format
-msgid " ("
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can loose data)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Cpuid level"
-msgstr "Live surentez"
+#: ../../install_steps_interactive.pm_.c:472
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Ket a-walc'h a zisloañ evit peurstaliañ, kreskit anezhañ mar plij"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Mongolian (cyrillic)"
-msgstr "Mongoliek (lizherenneg ar ruseg)"
+#: ../../install_steps_interactive.pm_.c:479
+#, fuzzy
+msgid "Looking for available packages and rebuilding rpm database..."
+msgstr "O klask ar pakadoù hegerz"
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Add a module"
-msgstr "Ouzhpennañ un arveriad"
+#: ../../install_steps_interactive.pm_.c:480
+msgid "Looking for available packages..."
+msgstr "O klask ar pakadoù hegerz"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Profile to delete:"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:483
+#, fuzzy
+msgid "Looking at packages already installed..."
+msgstr "N'hellit ket andiuz ar pakad-mañ. Staliet eo endo"
-#: ../../standalone/net_monitor:1
+#: ../../install_steps_interactive.pm_.c:487
+msgid "Finding packages to upgrade..."
+msgstr "O kavout pakadoù da vremanaat"
+
+#: ../../install_steps_interactive.pm_.c:505
#, fuzzy, c-format
-msgid "Local measure"
-msgstr "Restroù lec'hel"
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%d "
+"> %d)"
+msgstr "Ho reizhiad n'eus ket wa-walc'h a egor evit staliañ pe vremanaat"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Warning : IP address %s is usually reserved !"
+#: ../../install_steps_interactive.pm_.c:541
+msgid ""
+"Please choose load or save package selection on floppy.\n"
+"The format is the same as auto_install generated floppies."
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "busmouse"
-msgstr "Logodenn bus"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Load from floppy"
+msgstr "Assevel adalek ar pladennig"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Account Login (user name)"
-msgstr "Poent marc'hañ"
+#: ../../install_steps_interactive.pm_.c:543
+msgid "Save on floppy"
+msgstr "Enrollañ war bladennig"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Fdiv bug"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Loading from floppy"
+msgstr "Assevelañ adalek ar pladennig"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"drakfirewall configurator\n"
-"\n"
-"Make sure you have configured your Network/Internet access with\n"
-"drakconnect before going any further."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:547
+msgid "Package selection"
+msgstr "Diuzadenn pakadoù"
-#: ../../lang.pm:1
-#, c-format
-msgid "Uruguay"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:552
+#, fuzzy
+msgid "Insert a floppy containing package selection"
+msgstr "Lakait ur bladennig el lenner %s"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Benin"
+#: ../../install_steps_interactive.pm_.c:634
+msgid "Selected size is larger than available space"
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Path selection"
-msgstr "Diuz pakadoù unan hag unan"
+#: ../../install_steps_interactive.pm_.c:649
+#, fuzzy
+msgid "Type of install"
+msgstr "Dibabit pakadoù da staliañ"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Name/IP address of host:"
+#: ../../install_steps_interactive.pm_.c:650
+msgid ""
+"You haven't selected any group of packages.\n"
+"Please choose the minimal installation you want:"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor: %s\n"
-msgstr "Skramm : %s\n"
+#: ../../install_steps_interactive.pm_.c:653
+msgid "With X"
+msgstr "Gant X"
-#: ../../partition_table/raw.pm:1
-#, c-format
-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, corrupted "
-"data."
+#: ../../install_steps_interactive.pm_.c:655
+msgid "With basic documentation (recommended!)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer host name or IP missing!"
-msgstr "Dibarzhoù ar voullerez"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please check all users that you want to include in your backup."
-msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
+#: ../../install_steps_interactive.pm_.c:656
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:741
msgid ""
-"The %s must be configured by printerdrake.\n"
-"You can launch printerdrake from the Mandrake Control Center in Hardware "
-"section."
+"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."
-#: ../../lang.pm:1
+#: ../../install_steps_interactive.pm_.c:746
#, c-format
-msgid "Bangladesh"
-msgstr ""
+msgid "Cd-Rom labeled \"%s\""
+msgstr "Cd-Rom skridennet \"%s\""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (cable)"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:767
+msgid "Preparing installation"
+msgstr "O prientiñ ar staliadur"
-#: ../../standalone/drakfont:1
+#: ../../install_steps_interactive.pm_.c:776
#, c-format
-msgid "Initial tests"
+msgid ""
+"Installing package %s\n"
+"%d%%"
msgstr ""
+"O staliañ ar pakad %s\n"
+"%d%%"
+
+#: ../../install_steps_interactive.pm_.c:822
+msgid "Post-install configuration"
+msgstr "Kefluniadur goude staliañ"
-#: ../../network/isdn.pm:1
+#: ../../install_steps_interactive.pm_.c:828
#, fuzzy, c-format
-msgid "Continue"
-msgstr "Kenderc'hel evelato ?"
+msgid "Please insert the Boot floppy used in drive %s"
+msgstr "Lakait ur bladennig el lenner %s"
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:834
#, fuzzy, c-format
-msgid "Custom Restore"
-msgstr "Neuziet"
+msgid "Please insert the Update Modules floppy in drive %s"
+msgstr "Lakait ur bladennig gwerc'h el lenner %s"
-#: ../../help.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:861
msgid ""
-"\"%s\": if a sound card is detected on your system, it is displayed here.\n"
-"If you notice the sound card displayed is not the one that is actually\n"
-"present on your system, you can click on the button and choose another\n"
-"driver."
+"You now have the opportunity to download updated packages. These packages\n"
+"have been released after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates ?"
msgstr ""
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Script-based"
-msgstr "Diazezet war ur skrid"
+#: ../../install_steps_interactive.pm_.c:876
+#, fuzzy
+msgid ""
+"Contacting Mandrake Linux web site to get the list of available mirrors..."
+msgstr "O taremprediñ ar melezour evit kaout roll ar pakadoù hegerz"
-#: ../../install_any.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "Error reading file %s"
-msgstr "Fazi en ur lenn ar restr %s"
+#: ../../install_steps_interactive.pm_.c:881
+msgid "Choose a mirror from which to get the packages"
+msgstr "Dibabit ur melezour da dapout ar pakadoù diwarnañ"
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "PLL setting:"
-msgstr "O furmadiñ"
+#: ../../install_steps_interactive.pm_.c:890
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "O taremprediñ ar melezour evit kaout roll ar pakadoù hegerz"
-#: ../../install_interactive.pm:1 ../../install_steps.pm:1
-#, fuzzy, c-format
-msgid "You must have a FAT partition mounted in /boot/efi"
-msgstr "Ret eo deoc'h kaout ur parzhadur disloañ"
+#: ../../install_steps_interactive.pm_.c:918
+msgid "Which is your timezone?"
+msgstr "Pe seurt a vo ho takad-eur ?"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on "
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:923
+#, fuzzy
+msgid "Hardware clock set to GMT"
+msgstr "Ha war GMT eo lakaet ho eurier periantel ?"
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "The URL must begin with http:// or https://"
+#: ../../install_steps_interactive.pm_.c:924
+msgid "Automatic time synchronization (using NTP)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You can specify directly the URI to access the printer. The URI must fulfill "
-"either the CUPS or the Foomatic specifications. Note that not all URI types "
-"are supported by all the spoolers."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:931
+msgid "NTP Server"
+msgstr "Servijer NTP"
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (SunOS...)"
-msgstr "Reizhiadoù (SunOS...)"
+#: ../../install_steps_interactive.pm_.c:965
+#: ../../install_steps_interactive.pm_.c:972
+#, fuzzy
+msgid "Remote CUPS server"
+msgstr "Steud a-bell"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Install/Upgrade"
-msgstr "Staliañ/Bremanaat"
+#: ../../install_steps_interactive.pm_.c:966
+#, fuzzy
+msgid "No printer"
+msgstr "Moullerez lec'hel"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "%d packages"
-msgstr "%d pakad"
+#: ../../install_steps_interactive.pm_.c:982
+#, fuzzy
+msgid "Do you have an ISA sound card?"
+msgstr "Hag un all hoc'h eus ?"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
-"Backup and Restore application\n"
-"\n"
-"--default : save default directories.\n"
-"--debug : show all debug messages.\n"
-"--show-conf : list of files or directories to backup.\n"
-"--config-info : explain configuration file options (for non-X "
-"users).\n"
-"--daemon : use daemon configuration. \n"
-"--help : show this message.\n"
-"--version : show version number.\n"
+#: ../../install_steps_interactive.pm_.c:984
+msgid "Run \"sndconfig\" after installation to configure your sound card"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Domain Authentication Required"
-msgstr "Dilesadur"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-" Thanks:\n"
-"\t- LTSP Project http://www.ltsp.org\n"
-"\t- Michael Brown <mbrown@fensystems.co.uk>\n"
-"\n"
+#: ../../install_steps_interactive.pm_.c:986
+msgid "No sound card detected. Try \"harddrake\" after installation"
msgstr ""
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Costa Rica"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:991 ../../steps.pm_.c:27
+msgid "Summary"
+msgstr "Evit diverriñ"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Use libsafe for servers"
-msgstr "Implijit libsafe gant ar servijer"
+#: ../../install_steps_interactive.pm_.c:994
+msgid "Mouse"
+msgstr "Logodenn"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Icelandic"
-msgstr "Islandek"
+#: ../../install_steps_interactive.pm_.c:996
+msgid "Timezone"
+msgstr "Takad-eur"
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"\n"
-"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
-"testing] [-v|--version] "
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:997
+#: ../../printer/printerdrake.pm_.c:2759 ../../printer/printerdrake.pm_.c:2844
+msgid "Printer"
+msgstr "Moullerez"
-#: ../../standalone/XFdrake:1
-#, c-format
-msgid "Please relog into %s to activate the changes"
-msgstr "Adereit ouzh %s evit bevaat ar c'hemmoù mar plij"
+#: ../../install_steps_interactive.pm_.c:999
+msgid "ISDN card"
+msgstr "Kartenn ISDN"
-#: ../../my_gtk.pm:1
-#, fuzzy, c-format
-msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
-msgstr "-adobe-utopia-medium-r-normal-*-12-*-*-*-p-*-iso8859-*,*-r-*"
+#: ../../install_steps_interactive.pm_.c:1003
+#: ../../install_steps_interactive.pm_.c:1009
+msgid "Sound card"
+msgstr "Kartenn son"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Lilo/grub mode"
-msgstr "Anv domani"
+#: ../../install_steps_interactive.pm_.c:1012
+msgid "TV card"
+msgstr "Kartenn pellwel"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "Output"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1055
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1084
+msgid "LDAP"
+msgstr "LDAP"
-#: ../../loopback.pm:1
-#, c-format
-msgid "Circular mounts %s\n"
-msgstr "Marc'hañ kelc'hiek %s\n"
+#: ../../install_steps_interactive.pm_.c:1056
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1093
+msgid "NIS"
+msgstr "NIS"
-#: ../../lang.pm:1
-#, c-format
-msgid "Martinique"
-msgstr "Martinik"
+#: ../../install_steps_interactive.pm_.c:1057
+#: ../../install_steps_interactive.pm_.c:1080
+#: ../../install_steps_interactive.pm_.c:1101
+#: ../../install_steps_interactive.pm_.c:1107
+#, fuzzy
+msgid "Windows Domain"
+msgstr "Titouroù"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "HardDrive / NFS"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1058
+#: ../../install_steps_interactive.pm_.c:1080
+msgid "Local files"
+msgstr "Restroù lec'hel"
-#: ../../modules/parameters.pm:1
-#, fuzzy, c-format
-msgid "a number"
-msgstr "Niverenn bellgomz"
+#: ../../install_steps_interactive.pm_.c:1067
+#: ../../install_steps_interactive.pm_.c:1068 ../../steps.pm_.c:24
+msgid "Set root password"
+msgstr "Termeniñ tremenger root"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Swedish"
-msgstr "Svedek"
+#: ../../install_steps_interactive.pm_.c:1069
+msgid "No password"
+msgstr "Tremenger ebet"
-#. -PO: the %s is the driver type (scsi, network, sound,...)
-#: ../../modules/interactive.pm:1
+#: ../../install_steps_interactive.pm_.c:1074
#, c-format
-msgid "Which %s driver should I try?"
-msgstr "Pe sturier %s a zlefen amprouiñ ?"
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Re eeun eo an tremenger-se (%d arouezenn a zo ret d'an nebeutañ)"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid ""
-"You will receive an alert if one of the selected services is no longer "
-"running"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1080 ../../network/modem.pm_.c:72
+#: ../../standalone/drakconnect_.c:623 ../../standalone/logdrake_.c:144
+msgid "Authentication"
+msgstr "Dilesadur"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Filesystem types:"
-msgstr "Seurt ar reizhiadoù restroù :"
+#: ../../install_steps_interactive.pm_.c:1088
+#, fuzzy
+msgid "Authentication LDAP"
+msgstr "Dilesadur"
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on HP JetDirect"
+#: ../../install_steps_interactive.pm_.c:1089
+msgid "LDAP Base dn"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Northern Mariana Islands"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1090
+msgid "LDAP Server"
+msgstr "Servijer LDAP"
-#: ../../mouse.pm:1
-#, c-format
-msgid "none"
-msgstr "ebet"
+#: ../../install_steps_interactive.pm_.c:1096
+msgid "Authentication NIS"
+msgstr "Dilesadur NIS"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "user :"
-msgstr "arveriad :"
+#: ../../install_steps_interactive.pm_.c:1097
+msgid "NIS Domain"
+msgstr "Domani NIS"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please enter your password"
-msgstr "Klaskit adarre mar plij"
+#: ../../install_steps_interactive.pm_.c:1098
+msgid "NIS Server"
+msgstr "Servijer NIS"
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1104
msgid ""
-"Name of the profile to create (the new profile is created as a copy of the "
-"current one) :"
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
msgstr ""
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Floppy"
-msgstr "Enrollañ war bladennig"
+#: ../../install_steps_interactive.pm_.c:1106
+#, fuzzy
+msgid "Authentication Windows Domain"
+msgstr "Dilesadur"
-#
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please check if you want to erase your RW media (1st Session)"
-msgstr "Klikit war ur parzhadur mar plij"
+#: ../../install_steps_interactive.pm_.c:1108
+#, fuzzy
+msgid "Domain Admin User Name"
+msgstr "Anv ar domani"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Ghostscript referencing"
+#: ../../install_steps_interactive.pm_.c:1109
+msgid "Domain Admin Password"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Bootloader"
-msgstr "C'harger loc'hañ da implijout"
+#: ../../install_steps_interactive.pm_.c:1144
+#, 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 ?"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Move"
-msgstr "Dilec'hiañ"
+#: ../../install_steps_interactive.pm_.c:1160
+msgid "First floppy drive"
+msgstr "Lenner pladennig kentañ"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Bootloader to use"
-msgstr "C'harger loc'hañ da implijout"
+#: ../../install_steps_interactive.pm_.c:1161
+msgid "Second floppy drive"
+msgstr "Eil lenner pladennig"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB server host"
-msgstr "Anv ar servijer SMB"
+#: ../../install_steps_interactive.pm_.c:1162
+#: ../../printer/printerdrake.pm_.c:2397
+msgid "Skip"
+msgstr "Tremen e-biou"
-#: ../../standalone/drakbackup:1
+#: ../../install_steps_interactive.pm_.c:1167
#, c-format
-msgid "\tLimit disk usage to %s Mb\n"
+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?\n"
+"%s"
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 ?\n"
+"%s"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Name Servers:"
-msgstr "Servijer NIS"
-
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1173
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"
+"(WARNING! You're using XFS for your root partition,\n"
+"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
+"because XFS needs a very large driver)."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1181
+msgid "Sorry, no floppy drive available"
+msgstr "Ho tigarez, lenner pladennig hegerz ebet"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linux Virtual Server, used to build a high-performance and highly\n"
-"available server."
+#: ../../install_steps_interactive.pm_.c:1185
+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ñ"
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "4 billion colors (32 bits)"
-msgstr "4 miliard a livioù (32 bit)"
-
-#: ../../lang.pm:1
+#: ../../install_steps_interactive.pm_.c:1189
#, fuzzy, c-format
-msgid "Micronesia"
-msgstr "Makedonia"
+msgid "Insert a floppy in %s"
+msgstr "Lakait ur bladennig el lenner %s"
-#: ../../steps.pm:1
-#, c-format
-msgid "License"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1192
+msgid "Creating bootdisk..."
+msgstr "O krouiñ ar bladenn loc'hañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to generate the keys."
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1199
+msgid "Preparing bootloader..."
+msgstr "O prientiñ ar c'harger loc'hañ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
+#: ../../install_steps_interactive.pm_.c:1210
+msgid ""
+"You appear to have an OldWorld or Unknown\n"
+" machine, the yaboot bootloader will not work for you.\n"
+"The install will continue, but you'll\n"
+" need to use BootX to boot your machine"
msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "Sagem (using pppoa) usb"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1216
+msgid "Do you want to use aboot?"
+msgstr "Mennout a rit implijout aboot?"
-#: ../../install_any.pm:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1219
msgid ""
-"An error 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 "
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Starting the printing system at boot time"
+"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ñ ?"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Do you want to start the connection at boot?"
-msgstr "Mennout a rit implijout aboot ?"
+#: ../../install_steps_interactive.pm_.c:1226
+msgid "Installing bootloader"
+msgstr "Staliañ ar c'harger loc'hañ"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Processor ID"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1232
+#, fuzzy
+msgid "Installation of bootloader failed. The following error occured:"
+msgstr "Staliadur LILO a zo sac'het. Degouezhet eo ar fazi a heul :"
-#: ../../harddrake/sound.pm:1
+#: ../../install_steps_interactive.pm_.c:1240
#, c-format
-msgid "Sound trouble shooting"
+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 %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../install_steps_interactive.pm_.c:1274
+#: ../../standalone/drakautoinst_.c:76
#, c-format
-msgid "Polish (qwerty layout)"
-msgstr "Polonek (reizhadur qwerty)"
+msgid "Insert a blank floppy in drive %s"
+msgstr "Lakait ur bladennig gwerc'h el lenner %s"
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "activate now"
-msgstr "Bevaat"
+#: ../../install_steps_interactive.pm_.c:1278
+msgid "Creating auto install floppy..."
+msgstr "O krouiñ ur bladennig staliañ emgefreek"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../install_steps_interactive.pm_.c:1289
msgid ""
+"Some steps are not completed.\n"
"\n"
-"Drakbackup activities via CD:\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ñ ?"
-#: ../../printer/printerdrake.pm:1
+#: ../../install_steps_interactive.pm_.c:1300
#, c-format
msgid ""
-"You are about to install the printing system %s on a system running in the %"
-"s security level.\n"
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press return to reboot.\n"
"\n"
-"This printing system runs a daemon (background process) which waits for "
-"print jobs and handles them. This daemon is also accessable by remote "
-"machines through the network and so it is a possible point for attacks. "
-"Therefore only a few selected daemons are started by default in this "
-"security level.\n"
"\n"
-"Do you really want to configure printing on this machine?"
+"For information on fixes which are available for this release of Mandrake "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandrake Linux 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"
+"\n"
+"Evit titouroù war palastroù hegerz evit stumm-mañ Mandrake Linux,\n"
+"sellit ouzh ar meneger fazioù hegerz e \n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Titouroù war gefluniañ ho reizhiad a zo hegerz e rannbennad Goude\n"
+"Staliañ Sturier ofisiel an Arveriad Mandrake Linux."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host \"%s\", port %s"
+#: ../../install_steps_interactive.pm_.c:1313
+msgid "http://www.mandrakelinux.com/en/90errata.php3"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "This partition can't be used for loopback"
-msgstr "N'heller ket implijout ar parzhadur-mañ evit saveteiñ"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "File already exists. Use it?"
-msgstr "Ar restr a zo endeo. E implijout ?"
+#: ../../install_steps_interactive.pm_.c:1318
+#, fuzzy
+msgid "Generate auto install floppy"
+msgstr "O krouiñ ur bladennig staliañ emgefreek"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received: "
+#: ../../install_steps_interactive.pm_.c:1320
+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 ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right Alt key"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1325
+msgid "Automated"
+msgstr "Emgefreek"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the list of alternative drivers for this sound card"
-msgstr ""
+#: ../../install_steps_interactive.pm_.c:1325
+#, fuzzy
+msgid "Replay"
+msgstr "Adkargañ"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway"
-msgstr "Treuzell"
+#: ../../install_steps_interactive.pm_.c:1328
+#, fuzzy
+msgid "Save packages selection"
+msgstr "Diuz pakadoù unan hag unan"
-#: ../../lang.pm:1
+#: ../../install_steps_newt.pm_.c:20
#, c-format
-msgid "Tonga"
+msgid "Mandrake Linux Installation %s"
+msgstr "Staliadur Mandrake Linux %s"
+
+#. -PO This string must fit in a 80-char wide text screen
+#: ../../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 "
-#: ../../lang.pm:1
-#, c-format
-msgid "Tunisia"
-msgstr "Tunizi"
+#: ../../interactive.pm_.c:87
+msgid "kdesu missing"
+msgstr "kdesu mank"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Scanner sharing"
-msgstr "Moullerez"
+#: ../../interactive.pm_.c:89 ../../interactive.pm_.c:100
+msgid "consolehelper missing"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Profile: "
-msgstr "marc'hañ sac'het : "
+#: ../../interactive.pm_.c:152
+msgid "Choose a file"
+msgstr "Dibabit ur restr"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Click on a device in the left tree in order to display its information here."
-msgstr ""
+#: ../../interactive.pm_.c:318
+msgid "Advanced"
+msgstr "Barek"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "XawTV isn't installed!"
-msgstr ""
+#: ../../interactive.pm_.c:319 ../../security/main.pm_.c:117
+#, fuzzy
+msgid "Basic"
+msgstr "Diazez"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Create/Transfer\n"
-"backup keys for SSH"
-msgstr ""
+#: ../../interactive/newt.pm_.c:194 ../../my_gtk.pm_.c:158
+#: ../../printer/printerdrake.pm_.c:2055 ../../ugtk2.pm_.c:434
+msgid "<- Previous"
+msgstr "<- Diaraog"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Do not include critical files (passwd, group, fstab)"
-msgstr ""
+#: ../../interactive/newt.pm_.c:194 ../../interactive/newt.pm_.c:196
+#: ../../standalone/drakbackup_.c:4060 ../../standalone/drakbackup_.c:4087
+#: ../../standalone/drakbackup_.c:4117 ../../standalone/drakbackup_.c:4143
+msgid "Next"
+msgstr "A heul"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "old static device name used in dev package"
-msgstr ""
+#: ../../interactive/stdio.pm_.c:29 ../../interactive/stdio.pm_.c:149
+msgid "Bad choice, try again\n"
+msgstr "Dibab fall, klaskit adarre\n"
-#: ../../any.pm:1
+#: ../../interactive/stdio.pm_.c:30 ../../interactive/stdio.pm_.c:150
#, c-format
-msgid "This label is already used"
-msgstr "En implij eo ar skridennad-se endeo"
+msgid "Your choice? (default %s) "
+msgstr "Ho tibab ? (%s dre ziouer)"
-#: ../../printer/printerdrake.pm:1
+#: ../../interactive/stdio.pm_.c:54
#, c-format
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer or connected directly to the network.\n"
-"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected. Also "
-"your network printer(s) must be connected and turned on.\n"
-"\n"
-"Note that auto-detecting printers on the network takes longer than the auto-"
-"detection of only the printers connected to this machine. So turn off the "
-"auto-detection of network printers when you don't need it.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"Entries you'll have to fill:\n"
+"%s"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek (polytonic)"
-msgstr "Gresianek"
+#: ../../interactive/stdio.pm_.c:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Ho tibab ? (%s dre ziouer)"
-#: ../../diskdrake/interactive.pm:1
+#: ../../interactive/stdio.pm_.c:95
#, 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"
+msgid "Button `%s': %s"
+msgstr "Nozel `%s': %s"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connection Time: "
-msgstr "Anv ar gevreadenn"
+#: ../../interactive/stdio.pm_.c:96
+#, fuzzy
+msgid "Do you want to click on this button?"
+msgstr "Mennout a rit implijout SILO ?"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "select perm file to see/edit"
+#: ../../interactive/stdio.pm_.c:105
+msgid " enter `void' for void entry"
msgstr ""
-#: ../../standalone/livedrake:1
+#: ../../interactive/stdio.pm_.c:105
#, fuzzy, c-format
-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."
+msgid "Your choice? (default `%s'%s) "
+msgstr "Ho tibab ? (%s dre ziouer)"
-#: ../../standalone/drakperm:1
+#: ../../interactive/stdio.pm_.c:123
#, c-format
-msgid "Use group id for execution"
+msgid "=> There are many things to choose from (%s).\n"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the default user:"
-msgstr "Dibabit ar arveriad dre ziouer"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Gabon"
-msgstr "Gabon"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../interactive/stdio.pm_.c:126
msgid ""
-"\n"
-"Printers on remote CUPS servers do not need to be configured here; these "
-"printers will be automatically detected."
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
msgstr ""
-#: ../../any.pm:1
+#: ../../interactive/stdio.pm_.c:139
#, c-format
msgid ""
-"Mandrake Linux can support multiple languages. Select\n"
-"the languages you would like to install. They will be available\n"
-"when your installation is complete and you restart your system."
-msgstr "Gallout a rit dibab yezhoù all hag a vo hegerz goude staliañ"
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Domain"
-msgstr "Domani NIS"
+#: ../../interactive/stdio.pm_.c:146
+msgid "Re-submit"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Precise RAM size if needed (found %d MB)"
-msgstr "Spisait ment ar memor vev diouzh ret (kavet %d Mo)"
+#: ../../keyboard.pm_.c:153 ../../keyboard.pm_.c:188
+msgid "Czech (QWERTZ)"
+msgstr "Tchek (QWERTZ)"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally\n"
-"automated. DrakX will analyze the disk boot sector and act according to\n"
-"what it finds there:\n"
-"\n"
-" * if a Windows boot sector is found, it will replace it with a grub/LILO\n"
-"boot sector. This way you will be able to load either GNU/Linux or another\n"
-"OS.\n"
-"\n"
-" * if a grub or LILO boot sector is found, it will replace it with a new\n"
-"one.\n"
-"\n"
-"If it cannot make a determination, DrakX will ask you where to place the\n"
-"bootloader."
-msgstr ""
+#: ../../keyboard.pm_.c:154 ../../keyboard.pm_.c:190
+msgid "German"
+msgstr "Alaman"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 2 (optional)"
-msgstr "Dibarzhoù ar voullerez (da zilenn)"
+#: ../../keyboard.pm_.c:155
+msgid "Dvorak"
+msgstr "Dvorak"
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Boot device"
-msgstr "Trobarzhell loc'hañ"
+#: ../../keyboard.pm_.c:156 ../../keyboard.pm_.c:198
+msgid "Spanish"
+msgstr "Spagnol"
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Which partition do you want to resize?"
-msgstr "Pe seurt parzhadur a vennit ?"
+#: ../../keyboard.pm_.c:157 ../../keyboard.pm_.c:199
+msgid "Finnish"
+msgstr "Finnek"
-#: ../../lang.pm:1
-#, c-format
-msgid "United States Minor Outlying Islands"
-msgstr ""
+#: ../../keyboard.pm_.c:158 ../../keyboard.pm_.c:200
+msgid "French"
+msgstr "Gall"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "A tool to monitor your logs"
-msgstr ""
+#: ../../keyboard.pm_.c:159 ../../keyboard.pm_.c:233
+msgid "Norwegian"
+msgstr "Norvegek"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Djibouti"
-msgstr "Dilaoskel"
+#: ../../keyboard.pm_.c:160
+msgid "Polish"
+msgstr "Polonek"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "detected on port %s"
-msgstr "Poent marc'hañ doubl %s"
+#: ../../keyboard.pm_.c:161 ../../keyboard.pm_.c:241
+msgid "Russian"
+msgstr "Rusiek"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPD"
-msgstr "LPD"
+#: ../../keyboard.pm_.c:163 ../../keyboard.pm_.c:243
+msgid "Swedish"
+msgstr "Svedek"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics card: %s\n"
-msgstr "Kartenn c'hrafek : %s\n"
+#: ../../keyboard.pm_.c:164 ../../keyboard.pm_.c:259
+msgid "UK keyboard"
+msgstr "Stokellaoueg RU"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Yaboot"
-msgstr "Yaboot"
+#: ../../keyboard.pm_.c:165 ../../keyboard.pm_.c:260
+msgid "US keyboard"
+msgstr "Stokellaoueg SUA"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Splash selection"
-msgstr "Diuz pakadoù unan hag unan"
+#: ../../keyboard.pm_.c:167
+msgid "Albanian"
+msgstr "Albaniek"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Extended partition not supported on this platform"
-msgstr ""
+#: ../../keyboard.pm_.c:168
+msgid "Armenian (old)"
+msgstr "Armeniek (kozh)"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "ISDN Configuration"
-msgstr "Kefluniadur ISDN"
+#: ../../keyboard.pm_.c:169
+msgid "Armenian (typewriter)"
+msgstr "Armeniek (skriverez)"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "high"
-msgstr "Uhel"
+#: ../../keyboard.pm_.c:170
+msgid "Armenian (phonetic)"
+msgstr "Armeniek (soniadel)"
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Internet Connection Sharing"
-msgstr "Lugerezh ar voullerez"
+#: ../../keyboard.pm_.c:175
+msgid "Azerbaidjani (latin)"
+msgstr "Azerbaidjanek (latin)"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Choose file"
-msgstr "Dibabit un obererezh"
+#: ../../keyboard.pm_.c:177
+msgid "Belgian"
+msgstr "Belgian"
-#: ../../network/shorewall.pm:1
-#, c-format
-msgid ""
-"Warning! An existing firewalling configuration has been detected. You may "
-"need some manual fixes after installation."
+#: ../../keyboard.pm_.c:178
+msgid "Bengali"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printing/Photo Card Access on \"%s\""
-msgstr "O tizenaouiñ ar rouedad"
+#: ../../keyboard.pm_.c:179
+msgid "Bulgarian (phonetic)"
+msgstr "Bulgariek (soniadel)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Do you want to enable printing on the printers mentioned above or on "
-"printers in the local network?\n"
-msgstr ""
+#: ../../keyboard.pm_.c:180
+msgid "Bulgarian (BDS)"
+msgstr "Bulgarek (BDS)"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer default settings"
-msgstr "Lugerezh ar voullerez"
+#: ../../keyboard.pm_.c:181
+msgid "Brazilian (ABNT-2)"
+msgstr "Brasilek (ABNT-2)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"the WP flag in the CR0 register of the cpu enforce write proctection at the "
-"memory page level, thus enabling the processor to prevent unchecked kernel "
-"accesses to user memory (aka this is a bug guard)"
+#: ../../keyboard.pm_.c:184
+msgid "Bosnian"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Generic PS2 Wheel Mouse"
-msgstr "Logodenn rummel PS2 rodellek"
+#: ../../keyboard.pm_.c:185
+#, fuzzy
+msgid "Belarusian"
+msgstr "Bulgarek"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Removing old printer \"%s\"..."
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../keyboard.pm_.c:186
+msgid "Swiss (German layout)"
+msgstr "Suis (reizhadur alaman)"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Select a device !"
-msgstr "Diuzit ur gartenn c'hrafek"
+#: ../../keyboard.pm_.c:187
+msgid "Swiss (French layout)"
+msgstr "Suis (reizhadur gall)"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remove selected server"
-msgstr "Lemel ar steudad"
+#: ../../keyboard.pm_.c:189
+msgid "Czech (QWERTY)"
+msgstr "Tchek (QWERTY)"
-#: ../../lang.pm:1
-#, c-format
-msgid "French Southern Territories"
-msgstr ""
+#: ../../keyboard.pm_.c:191
+msgid "German (no dead keys)"
+msgstr "Alaman (stokell marv ebet)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the processor"
+#: ../../keyboard.pm_.c:192
+msgid "Devanagari"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "All data on this partition should be backed-up"
-msgstr "Mat e vije gwareziñ holl roadoù ar parzhadur-se"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Installing package %s"
-msgstr "O staliañ ar pakad %s"
+#: ../../keyboard.pm_.c:193
+msgid "Danish"
+msgstr "Danek"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Checking device and configuring HPOJ..."
-msgstr ""
+#: ../../keyboard.pm_.c:194
+msgid "Dvorak (US)"
+msgstr "Dvorak (US)"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-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"
+#: ../../keyboard.pm_.c:195
+msgid "Dvorak (Norwegian)"
+msgstr "Dvorak (Norvegek)"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Your printer was configured automatically to give you access to the photo "
-"card drives from your PC. Now you can access your photo cards using the "
-"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
-"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
-"\"man mtools\" on the command line for more info). You find the card's file "
-"system under the drive letter \"p:\", or subsequent drive letters when you "
-"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
-"can switch between drive letters with the field at the upper-right corners "
-"of the file lists."
-msgstr ""
+#: ../../keyboard.pm_.c:196
+msgid "Dvorak (Swedish)"
+msgstr "Dvorak (Svedek)"
-#: ../../steps.pm:1
-#, c-format
-msgid "Choose packages to install"
-msgstr "Dibabit pakadoù da staliañ"
+#: ../../keyboard.pm_.c:197
+msgid "Estonian"
+msgstr "Estoniek"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" Some errors during sendmail are caused by \n"
-" a bad configuration of postfix. To solve it you have to\n"
-" set myhostname or mydomain in /etc/postfix/main.cf\n"
-"\n"
-msgstr ""
+#: ../../keyboard.pm_.c:201
+msgid "Georgian (\"Russian\" layout)"
+msgstr "Jorjiek (reizhadur \"Rusiek\")"
-#: ../../install_interactive.pm:1
-#, 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"
+#: ../../keyboard.pm_.c:202
+msgid "Georgian (\"Latin\" layout)"
+msgstr "Jorjiek (reizhadur \"Latin\")"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid ""
-"Your system does not have enough space left for installation or upgrade (%d "
-"> %d)"
-msgstr "Ho reizhiad n'eus ket wa-walc'h a egor evit staliañ pe vremanaat"
+#: ../../keyboard.pm_.c:203
+msgid "Greek"
+msgstr "Gresian"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Every printer needs a name (for example \"printer\"). The Description and "
-"Location fields do not need to be filled in. They are comments for the users."
+#: ../../keyboard.pm_.c:204
+msgid "Gujarati"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
-"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
-"information on how to setup a new printer. The interface presented there is\n"
-"similar to the one used during installation."
+#: ../../keyboard.pm_.c:205
+msgid "Gurmukhi"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Bhutan"
-msgstr ""
+#: ../../keyboard.pm_.c:206
+msgid "Hungarian"
+msgstr "Hungarian"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Network interface"
-msgstr ""
+#: ../../keyboard.pm_.c:207
+msgid "Croatian"
+msgstr "Kroatek"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Reading printer data..."
-msgstr ""
+#: ../../keyboard.pm_.c:208
+msgid "Israeli"
+msgstr "Israelian"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Korean keyboard"
-msgstr "Stokellaoueg korean"
+#: ../../keyboard.pm_.c:209
+msgid "Israeli (Phonetic)"
+msgstr "Israelian (soniadel)"
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Not connected"
-msgstr "Lugerezh ar voullerez"
+#: ../../keyboard.pm_.c:210
+msgid "Iranian"
+msgstr "Iraniek"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Greek"
-msgstr "Gresianek"
+#: ../../keyboard.pm_.c:211
+msgid "Icelandic"
+msgstr "Islandek"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"If \\fIarg\\fP = ALL allow /etc/issue and /etc/issue.net to exist. If \\fIarg"
-"\\fP = NONE no issues are\n"
-"allowed else only /etc/issue is allowed."
-msgstr ""
+#: ../../keyboard.pm_.c:212
+msgid "Italian"
+msgstr "Italian"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Kitts and Nevis"
+#: ../../keyboard.pm_.c:213
+msgid "Inuktitut"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Transfer successful\n"
-"You may want to verify you can login to the server with:\n"
-"\n"
-"ssh -i %s %s@%s\n"
-"\n"
-"without being prompted for a password."
+#: ../../keyboard.pm_.c:214
+msgid "Japanese 106 keys"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Enable OF Boot?"
-msgstr ""
+#: ../../keyboard.pm_.c:217
+msgid "Korean keyboard"
+msgstr "Stokellaoueg korean"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use JFS for partitions smaller than 16MB"
-msgstr ""
+#: ../../keyboard.pm_.c:218
+msgid "Latin American"
+msgstr "Amerikan Latin"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor VertRefresh: %s\n"
-msgstr "FreskA-serzh ar skramm : %s\n"
+#: ../../keyboard.pm_.c:219
+msgid "Laotian"
+msgstr "Laosiek"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "path"
-msgstr ""
+#: ../../keyboard.pm_.c:220
+msgid "Lithuanian AZERTY (old)"
+msgstr "Lituaniek AZERTY (kozh)"
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Mount point"
-msgstr "Poent marc'hañ"
+#: ../../keyboard.pm_.c:222
+msgid "Lithuanian AZERTY (new)"
+msgstr "Lituaniek AZERTY (nevez)"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid ""
-"An error occurred:\n"
-"%s\n"
-"Try to change some parameters"
-msgstr ""
+#: ../../keyboard.pm_.c:223
+msgid "Lithuanian \"number row\" QWERTY"
+msgstr "Lituaniek QUERTY \"linenn sifroù\""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore system"
-msgstr "Staliañ ar reizhiad"
+#: ../../keyboard.pm_.c:224
+msgid "Lithuanian \"phonetic\" QWERTY"
+msgstr "Lituaniek QUERTY \"soniadel\""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ""
-"These are the machines on which the locally connected scanner(s) should be "
-"available:"
+#: ../../keyboard.pm_.c:225
+msgid "Latvian"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid "The DHCP end ip"
+#: ../../keyboard.pm_.c:226
+msgid "Malayalam"
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Another one"
-msgstr "dedennus"
+#: ../../keyboard.pm_.c:227
+msgid "Macedonian"
+msgstr "Makedonia"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Drakbackup"
+#: ../../keyboard.pm_.c:228
+msgid "Myanmar (Burmese)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Colombia"
-msgstr "Kolombi"
+#: ../../keyboard.pm_.c:229
+msgid "Mongolian (cyrillic)"
+msgstr "Mongoliek"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Current configuration of `%s':\n"
-"\n"
-"Network: %s\n"
-"IP address: %s\n"
-"IP attribution: %s\n"
-"Driver: %s"
+#: ../../keyboard.pm_.c:230
+msgid "Maltese (UK)"
msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play"
+#: ../../keyboard.pm_.c:231
+msgid "Maltese (US)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Reunion"
-msgstr "Enez ar Reunion"
+#: ../../keyboard.pm_.c:232
+msgid "Dutch"
+msgstr "Hollandek"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Details"
-msgstr "Munudoù"
+#: ../../keyboard.pm_.c:234
+msgid "Polish (qwerty layout)"
+msgstr "Polonek (reizhadur qwerty)"
-#: ../../network/tools.pm:1
-#, c-format
-msgid "For security reasons, it will be disconnected now."
-msgstr ""
+#: ../../keyboard.pm_.c:235
+msgid "Polish (qwertz layout)"
+msgstr "Polonek (reizhadur qwerty)"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Synchronization tool"
-msgstr ""
+#: ../../keyboard.pm_.c:236
+msgid "Portuguese"
+msgstr "Portugalek"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Checking your system..."
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../keyboard.pm_.c:237
+msgid "Canadian (Quebec)"
+msgstr "Kanadian (Kebek)"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Print"
-msgstr "Moullerez"
+#: ../../keyboard.pm_.c:239
+msgid "Romanian (qwertz)"
+msgstr "Romaniek (Yawertz)"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Insert the tape with volume label %s\n"
-" in the tape drive device %s"
-msgstr ""
+#: ../../keyboard.pm_.c:240
+msgid "Romanian (qwerty)"
+msgstr "Romaniek (Yawerty)"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mongolia"
-msgstr "Mongoli"
+#: ../../keyboard.pm_.c:242
+msgid "Russian (Yawerty)"
+msgstr "Rusiek (Yawerty)"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mounted\n"
-msgstr "Marc'het\n"
+#: ../../keyboard.pm_.c:244
+msgid "Slovenian"
+msgstr "Slovek"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Graphical Interface"
-msgstr "X pa loc'her"
+#: ../../keyboard.pm_.c:245
+msgid "Slovakian (QWERTZ)"
+msgstr "Slovakek (QWERTZ)"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Users"
-msgstr "Adaozañ adalek ar restr"
+#: ../../keyboard.pm_.c:246
+msgid "Slovakian (QWERTY)"
+msgstr "Slovakek (QWERTY)"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Encryption key for %s"
-msgstr "An tremegerioù ne glot ket"
+#: ../../keyboard.pm_.c:248
+msgid "Serbian (cyrillic)"
+msgstr "Serbiek (reizhadur latin)"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../keyboard.pm_.c:250
+msgid "Tamil (Unicode)"
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."
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Detected hardware"
-msgstr "Gwelet titouroù periantel"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Mauritius"
-msgstr "Maouritani"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Myanmar (Burmese)"
+#: ../../keyboard.pm_.c:251
+msgid "Tamil (TSCII)"
msgstr ""
-#: ../../fs.pm:1
-#, fuzzy, c-format
-msgid "Enabling swap partition %s"
-msgstr "O furmadiñ ar parzhadur %s"
+#: ../../keyboard.pm_.c:252
+msgid "Thai keyboard"
+msgstr "Stokellaoueg Thai"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to use as loopback (or not enough space left)"
-msgstr ""
+#: ../../keyboard.pm_.c:254
+#, fuzzy
+msgid "Tajik keyboard"
+msgstr "Stokellaoueg Thai"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (old)"
-msgstr "Armeniek (kozh)"
+#: ../../keyboard.pm_.c:255
+msgid "Turkish (traditional \"F\" model)"
+msgstr "Turkek (hengounel doare \"F\")"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"A printer named \"%s\" already exists under %s. \n"
-"Click \"Transfer\" to overwrite it.\n"
-"You can also type a new name or skip this printer."
-msgstr ""
+#: ../../keyboard.pm_.c:256
+msgid "Turkish (modern \"Q\" model)"
+msgstr "Turkek (arnevez doare \"Q\")"
-#: ../../share/advertising/12-mdkexpert.pl:1
-#, c-format
-msgid ""
-"Find the solutions of your problems via MandrakeSoft's online support "
-"platform."
-msgstr ""
+#: ../../keyboard.pm_.c:258
+msgid "Ukrainian"
+msgstr "Ukrainiek"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", host \"%s\", port %s"
-msgstr ""
+#: ../../keyboard.pm_.c:261
+msgid "US keyboard (international)"
+msgstr "Stokellaoueg SUA (etrevroadel)"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Monaco"
-msgstr "Skramm"
+#: ../../keyboard.pm_.c:262
+#, fuzzy
+msgid "Vietnamese \"numeric row\" QWERTY"
+msgstr "Lituaniek QUERTY \"linenn sifroù\""
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Partitioning failed: %s"
-msgstr "Seurt taolenn barzhañ : %s\n"
+#: ../../keyboard.pm_.c:263
+msgid "Yugoslavian (latin)"
+msgstr "Yougoslaviek (latin)"
-#: ../../fs.pm:1 ../../swap.pm:1
-#, c-format
-msgid "%s formatting of %s failed"
-msgstr "furmadiñ er seurt %s eus %s a zo sac'het"
+#: ../../keyboard.pm_.c:270
+msgid "Right Alt key"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "Canada (cable)"
-msgstr "Kanadian (Kebek)"
+#: ../../keyboard.pm_.c:271
+msgid "Both Shift keys simultaneously"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Upgrade"
-msgstr "Bremanaat"
+#: ../../keyboard.pm_.c:272
+msgid "Control and Shift keys simultaneously"
+msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Workstation"
-msgstr "Titouroù"
+#: ../../keyboard.pm_.c:273
+msgid "CapsLock key"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"Installing package %s\n"
-"%d%%"
+#: ../../keyboard.pm_.c:274
+msgid "Ctrl and Alt keys simultaneously"
msgstr ""
-"O staliañ ar pakad %s\n"
-"%d%%"
-#: ../../lang.pm:1
-#, c-format
-msgid "Kyrgyzstan"
+#: ../../keyboard.pm_.c:275
+msgid "Alt and Shift keys simultaneously"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "With basic documentation"
-msgstr "Teuliadur"
+#: ../../keyboard.pm_.c:276
+msgid "\"Menu\" key"
+msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Anacron is a periodic command scheduler."
-msgstr "Anacron, ur steuñvaer urzhiadoù mareadek."
+#: ../../keyboard.pm_.c:277
+msgid "Left \"Windows\" key"
+msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-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 `/'"
+#: ../../keyboard.pm_.c:278
+msgid "Right \"Windows\" key"
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 `/'"
-#: ../../network/network.pm:1
+#: ../../loopback.pm_.c:32
#, c-format
-msgid "Proxy should be http://..."
-msgstr "http://... a zlefe bezañ ar proksi"
+msgid "Circular mounts %s\n"
+msgstr "Marc'hañ kelc'hiek %s\n"
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "South Africa"
+#: ../../lvm.pm_.c:103
+msgid "Remove the logical volumes first\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Western Sahara"
+#: ../../modules.pm_.c:290
+msgid ""
+"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Etherboot Floppy/ISO"
-msgstr "Krouiñ ur bladennig loc'hañ"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Modify printer configuration"
-msgstr "Kefluniañ ar modem"
+#: ../../modules/interactive.pm_.c:16
+msgid "You can configure each parameter of the module here."
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose a partition"
-msgstr "Dibabit un parzhadur"
+#: ../../modules/parameters.pm_.c:18
+#, fuzzy
+msgid "modinfo is not available"
+msgstr "Lenner pladennig hegerz ebet"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Edit current rule"
-msgstr ""
+#: ../../modules/parameters.pm_.c:50
+#, fuzzy
+msgid "a number"
+msgstr "Niverenn bellgomz"
-#: ../../standalone/drakbackup:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid "%s"
+msgid "%d comma separated numbers"
msgstr ""
-#: ../../security/help.pm:1
+#: ../../modules/parameters.pm_.c:52
#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Enable/Disable the logging of IPv4 strange packets."
+msgid "%d comma separated strings"
msgstr ""
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Please test the mouse"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Do not update inode access times on this file system\n"
-"(e.g, for faster access on the news spool to speed up news servers)."
+#: ../../modules/parameters.pm_.c:54
+msgid "comma separated numbers"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Other Media"
-msgstr "All"
+#: ../../modules/parameters.pm_.c:54
+#, fuzzy
+msgid "comma separated strings"
+msgstr "Furmadiñ parzhadurioù"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup system files"
-msgstr "Restr gwareziñ siek"
+#: ../../mouse.pm_.c:25
+msgid "Sun - Mouse"
+msgstr "Logodenn Sun"
-#: ../../mouse.pm:1
-#, c-format
+#: ../../mouse.pm_.c:32
msgid "Logitech MouseMan+"
msgstr "Logitech MouseMan+"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Sector"
-msgstr "Rann"
+#: ../../mouse.pm_.c:33
+msgid "Generic PS2 Wheel Mouse"
+msgstr "Logodenn rummel PS2 rodellek"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Qatar"
-msgstr "Meuziad Lañsañ"
+#: ../../mouse.pm_.c:34
+msgid "GlidePoint"
+msgstr "GlidePoint"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "LDAP Base dn"
-msgstr ""
+#: ../../mouse.pm_.c:36 ../../mouse.pm_.c:65
+msgid "Kensington Thinking Mouse"
+msgstr "Logodenn Kensington Thinking"
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-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"
+#: ../../mouse.pm_.c:37 ../../mouse.pm_.c:61
+msgid "Genius NetMouse"
+msgstr "Genius NetMouse"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "generate auto-install floppy"
-msgstr "O krouiñ ur bladennig staliañ emgefreek"
+#: ../../mouse.pm_.c:38
+msgid "Genius NetScroll"
+msgstr "Genius NetScroll"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Dialing mode"
-msgstr "Anv domani"
+#: ../../mouse.pm_.c:39 ../../mouse.pm_.c:48
+#, fuzzy
+msgid "Microsoft Explorer"
+msgstr "Microsoft IntelliMouse"
-#: ../../services.pm:1
-#, c-format
-msgid "File sharing"
-msgstr ""
+#: ../../mouse.pm_.c:44 ../../mouse.pm_.c:70
+msgid "1 button"
+msgstr "1 nozelenn"
-#: ../../any.pm:1
-#, c-format
-msgid "Clean /tmp at each boot"
-msgstr "Skarañ /tmp bep ma loc'her"
+#: ../../mouse.pm_.c:45 ../../mouse.pm_.c:53
+msgid "Generic 2 Button Mouse"
+msgstr "Logodenn rummel 2 nozelenn"
-#: ../../lang.pm:1
-#, c-format
-msgid "Malawi"
-msgstr ""
+#: ../../mouse.pm_.c:47
+msgid "Wheel"
+msgstr "Rodel"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "local config: false"
-msgstr "Restroù lec'hel"
+#: ../../mouse.pm_.c:51
+msgid "serial"
+msgstr "a-steud"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Please choose your type of mouse."
-msgstr "Dibabit seurt ho logodenn, mar plij."
+#: ../../mouse.pm_.c:54
+msgid "Generic 3 Button Mouse"
+msgstr "Logodenn rummel 3 nozelenn"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "class of hardware device"
-msgstr ""
+#: ../../mouse.pm_.c:55
+msgid "Microsoft IntelliMouse"
+msgstr "Microsoft IntelliMouse"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"These are the machines and networks on which the locally connected printer"
-"(s) should be available:"
-msgstr ""
+#: ../../mouse.pm_.c:56
+msgid "Logitech MouseMan"
+msgstr "Logitech MouseMan+/FirstMouse+"
-#: ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "United Kingdom"
-msgstr "Rouantelezh Unanet"
+#: ../../mouse.pm_.c:57
+msgid "Mouse Systems"
+msgstr "Mouse Systems"
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "running"
-msgstr "Ho evezh"
+#: ../../mouse.pm_.c:59
+msgid "Logitech CC Series"
+msgstr "Logitech doare CC"
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "default"
-msgstr "dre ziouer"
+#: ../../mouse.pm_.c:60
+msgid "Logitech MouseMan+/FirstMouse+"
+msgstr "Logitech MouseMan+/FirstMouse+"
-#: ../../lang.pm:1
-#, c-format
-msgid "Indonesia"
-msgstr "Indonezi"
+#: ../../mouse.pm_.c:62
+msgid "MM Series"
+msgstr "Doare MM"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "France [SECAM]"
-msgstr "Gall [SECAM]"
+#: ../../mouse.pm_.c:63
+msgid "MM HitTablet"
+msgstr "MM HitTablet"
-#: ../../any.pm:1
-#, c-format
-msgid "restrict"
-msgstr "strishaat"
+#: ../../mouse.pm_.c:64
+msgid "Logitech Mouse (serial, old C7 type)"
+msgstr "Logodenn Logitech (a-steud, seurt C7 kozh)"
-#: ../../pkgs.pm:1
-#, c-format
-msgid "must have"
-msgstr "a rankfec'h kaout"
+#: ../../mouse.pm_.c:68
+msgid "busmouse"
+msgstr "Logodenn bus"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"CUPS does not support printers on Novell servers or printers sending the "
-"data into a free-formed command.\n"
-msgstr ""
+#: ../../mouse.pm_.c:71
+msgid "2 buttons"
+msgstr "2 nozelenn"
-#: ../../lang.pm:1
-#, c-format
-msgid "Senegal"
-msgstr "Senegal"
+#: ../../mouse.pm_.c:72
+msgid "3 buttons"
+msgstr "3 nozelenn"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Command line"
-msgstr "Anv ar domani"
+#: ../../mouse.pm_.c:75
+msgid "none"
+msgstr "ebet"
-#: ../../share/advertising/08-store.pl:1
-#, c-format
-msgid ""
-"Our full range of Linux solutions, as well as special offers on products and "
-"other \"goodies\", are available on our e-store:"
-msgstr ""
+#: ../../mouse.pm_.c:77
+msgid "No mouse"
+msgstr "Logodenn ebet"
-#: ../../any.pm:1
-#, c-format
-msgid "access to administrative files"
-msgstr ""
+#: ../../mouse.pm_.c:490
+#, fuzzy
+msgid "Please test the mouse"
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Error during sendmail.\n"
-" Your report mail was not sent.\n"
-" Please configure sendmail"
-msgstr ""
+#: ../../mouse.pm_.c:491
+#, fuzzy
+msgid "To activate the mouse,"
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Do not allow set-user-identifier or set-group-identifier\n"
-"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
-"have suidperl(1) installed.)"
-msgstr ""
+#: ../../mouse.pm_.c:492
+msgid "MOVE YOUR WHEEL!"
+msgstr "FIÑV HO RODELL !"
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (val)\n"
-"\n"
-"Set the shell timeout. A value of zero means no timeout."
-msgstr ""
+#: ../../my_gtk.pm_.c:65
+#, fuzzy
+msgid "-adobe-utopia-regular-r-*-*-25-*-*-*-p-*-iso8859-*,*-r-*"
+msgstr "-adobe-utopia-medium-r-normal-*-12-*-*-*-p-*-iso8859-*,*-r-*"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Montserrat"
-msgstr "Porzh al logodenn"
+#: ../../my_gtk.pm_.c:159 ../../ugtk2.pm_.c:435
+msgid "Finish"
+msgstr "Disoc'h"
-#: ../../help.pm:1
-#, c-format
-msgid "Automatic dependencies"
-msgstr ""
+#: ../../my_gtk.pm_.c:159 ../../printer/printerdrake.pm_.c:2057
+#: ../../ugtk2.pm_.c:435
+msgid "Next ->"
+msgstr "A heul ->"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Swap"
-msgstr "Disloañ"
+#: ../../my_gtk.pm_.c:287 ../../ugtk2.pm_.c:926
+msgid "Is this correct?"
+msgstr "Ha reizh eo ?"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connecting to the Internet "
-msgstr "Anv ar gevreadenn"
+#: ../../my_gtk.pm_.c:359 ../../services.pm_.c:227 ../../ugtk2.pm_.c:1011
+msgid "Info"
+msgstr "Titouroù"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Other"
-msgstr "Adaozañ adalek ar restr"
+#: ../../my_gtk.pm_.c:380 ../../ugtk2.pm_.c:1036
+msgid "Expand Tree"
+msgstr "Astenn ar wezenn"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "TV card"
-msgstr "Kartenn pellwel"
+#: ../../my_gtk.pm_.c:381 ../../ugtk2.pm_.c:1037
+msgid "Collapse Tree"
+msgstr "Plegañ ar wezenn"
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Printer on SMB/Windows 95/98/NT server"
-msgstr "SMB/Windows 95/98/NT"
+#: ../../my_gtk.pm_.c:382 ../../ugtk2.pm_.c:1038
+msgid "Toggle between flat and group sorted"
+msgstr "Gwintañ etre kompez ha rummet dre strollad"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid ", "
+#: ../../network/adsl.pm_.c:23
+msgid "use pppoe"
+msgstr "implijit pppoe"
+
+#: ../../network/adsl.pm_.c:24
+msgid "use pptp"
+msgstr "implijit pptp"
+
+#: ../../network/adsl.pm_.c:25
+msgid "use dhcp"
+msgstr "implijit dhcp"
+
+#: ../../network/adsl.pm_.c:26
+msgid "Alcatel speedtouch usb"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (umask)\n"
-"\n"
-"Set the root umask."
+#: ../../network/adsl.pm_.c:27
+msgid "Sagem (using pppoe) usb"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remove selected host/network"
-msgstr "Lemel ar steudad"
+#: ../../network/adsl.pm_.c:29 ../../network/ethernet.pm_.c:36
+#, fuzzy
+msgid "Connect to the Internet"
+msgstr "Anv ar gevreadenn"
-#: ../../services.pm:1
-#, fuzzy, c-format
+#: ../../network/adsl.pm_.c:30
msgid ""
-"Postfix is a Mail Transport Agent, which is the program that moves mail from "
-"one machine to another."
+"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 ""
-"Ur Gwazour Treuzdougen Postel eo Postfix, a zo ar goulev a\n"
-"zilech posteloù etre un ardivink hag un all."
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from the Internet failed."
+#: ../../network/adsl.pm_.c:166
+msgid ""
+"You need the alcatel microcode.\n"
+"Download it at\n"
+"http://www.speedtouchdsl.com/dvrreg_lx.htm\n"
+"and copy the mgmt.o in /usr/share/speedtouch"
msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Uzbek (cyrillic)"
-msgstr "Serbiek (reizhadur latin)"
+#: ../../network/drakfirewall.pm_.c:12
+#, fuzzy
+msgid "Web Server"
+msgstr "Servijer"
-#: ../../keyboard.pm:1
-#, c-format
-msgid ""
-"Here you can choose the key or key combination that will \n"
-"allow switching between the different keyboard layouts\n"
-"(eg: latin and non latin)"
-msgstr ""
+#: ../../network/drakfirewall.pm_.c:17
+#, fuzzy
+msgid "Domain Name Server"
+msgstr "Anv ar domani"
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Network Hotplugging"
-msgstr "Kefluniadur ar rouedad"
+#: ../../network/drakfirewall.pm_.c:32
+#, fuzzy
+msgid "Mail Server"
+msgstr "Stlennvonioù"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, reports check result to tty."
-msgstr ""
+#: ../../network/drakfirewall.pm_.c:37
+#, fuzzy
+msgid "POP and IMAP Server"
+msgstr "Servijer LDAP"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore From CD"
-msgstr "Assevel adalek ar pladennig"
+#: ../../network/drakfirewall.pm_.c:111
+#, fuzzy
+msgid "No network card"
+msgstr "kartenn rouedad kavet ebet"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:129
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"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
+"drakfirewall configurator\n"
"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
+"This configures a personal firewall for this Mandrake Linux machine.\n"
+"For a powerful dedicated firewall solution, please look to the\n"
+"specialized MandrakeSecurity Firewall distribution."
msgstr ""
-#: ../../network/ethernet.pm:1
-#, fuzzy, c-format
+#: ../../network/drakfirewall.pm_.c:135
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."
+"drakfirewall configurator\n"
+"\n"
+"Make sure you have configured your Network/Internet access with\n"
+"drakconnect before going any further."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Photo memory card access on your HP multi-function device"
+#: ../../network/drakfirewall.pm_.c:152
+msgid "Which services would you like to allow the Internet to connect to?"
msgstr ""
-#: ../../share/advertising/09-mdksecure.pl:1
-#, c-format
+#: ../../network/drakfirewall.pm_.c:153
msgid ""
-"Enhance your computer performance with the help of a selection of partners "
-"offering professional solutions compatible with Mandrake Linux"
+"You can enter miscellaneous ports. \n"
+"Valid examples are: 139/tcp 139/udp.\n"
+"Have a look at /etc/services for information."
msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Internet Connection Sharing is now disabled."
-msgstr "Lugerezh ar voullerez"
-
-#: ../../security/help.pm:1
+#: ../../network/drakfirewall.pm_.c:159
#, c-format
-msgid "if set to yes, verify checksum of the suid/sgid files."
+msgid ""
+"Invalid port given: %s.\n"
+"The proper format is \"port/tcp\" or \"port/udp\", \n"
+"where port is between 1 and 65535."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Latin American"
-msgstr "Amerikan Latin"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Japanese text printing mode"
-msgstr "Kefluniañ ur rouedad"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Old device file"
-msgstr "Diuzit ar restr"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Info: "
-msgstr "Titouroù: "
-
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Button `%s': %s"
-msgstr "Nozel `%s': %s"
-
-#: ../../any.pm:1 ../../harddrake/sound.pm:1 ../../interactive.pm:1
-#: ../../standalone/drakbug:1 ../../standalone/drakxtv:1
-#: ../../standalone/harddrake2:1 ../../standalone/service_harddrake:1
-#, c-format
-msgid "Please wait"
-msgstr "Gortozit mar plij"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetMouse"
-msgstr "Genius NetMouse"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "None"
-msgstr "Graet"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "The entered IP is not correct.\n"
-msgstr "Ha reizh eo ?"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Ethernet Card"
+#: ../../network/drakfirewall.pm_.c:167
+msgid "Everything (no firewall)"
msgstr ""
-#: ../../my_gtk.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Info"
-msgstr "Titouroù"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Install"
-msgstr "Staliañ"
+#: ../../network/drakfirewall.pm_.c:169
+#, fuzzy
+msgid "Other ports"
+msgstr "Amprouiñ ar porzhioù"
-#: ../../help.pm:1
-#, c-format
+#: ../../network/ethernet.pm_.c:37
+#, fuzzy
msgid ""
-"Click on \"%s\" if you want to delete all data and partitions present on\n"
-"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
-"to recover any data and partitions present on this hard drive, including\n"
-"any Windows data.\n"
-"\n"
-"Click on \"%s\" to stop this operation without losing any data and\n"
-"partitions present on this hard drive."
-msgstr ""
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Exit install"
-msgstr "Dilezel ar staliadur"
+"Which dhcp client do you want to use?\n"
+"Default is dhcp-client"
+msgstr "Pe seurt parzhadur a vennit ?"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../network/ethernet.pm_.c:88
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)."
+"No ethernet network adapter has been detected on your system.\n"
+"I cannot set up this connection type."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Remote CUPS server"
-msgstr "Steud a-bell"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Sun - Mouse"
-msgstr "Logodenn Sun"
+#: ../../network/ethernet.pm_.c:92 ../../standalone/drakgw_.c:234
+#, fuzzy
+msgid "Choose the network interface"
+msgstr "Dibabit ar ment nevez"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../network/ethernet.pm_.c:93
+#, fuzzy
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 ""
-
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Minimal install"
-msgstr "Distaliañ"
+"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."
-#: ../../lang.pm:1
-#, c-format
-msgid "Ethiopia"
-msgstr "Etiopi"
+#: ../../network/ethernet.pm_.c:176
+msgid "no network card found"
+msgstr "kartenn rouedad kavet ebet"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Devanagari"
-msgstr ""
+#: ../../network/ethernet.pm_.c:200 ../../network/network.pm_.c:349
+msgid "Configuring network"
+msgstr "Kefluniañ ar rouedad"
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/ethernet.pm_.c:201
+#, fuzzy
msgid ""
-"- pci devices: this gives the PCI slot, device and function of this card\n"
-"- eide devices: the device is either a slave or a master device\n"
-"- scsi devices: the scsi bus and the scsi device ids"
+"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"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Total size: %d / %d MB"
-msgstr "Ment hollek : %d / %d Mo"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "disabled"
-msgstr "Taolenn"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Search for new scanners"
-msgstr "Pakadoù hegerz"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Disabling servers..."
-msgstr "O tinoiñ trobarzhelloù..."
+#: ../../network/ethernet.pm_.c:205 ../../network/network.pm_.c:354
+msgid "Host name"
+msgstr "Anv an ostiz"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid ""
-"Please choose the time \n"
-"interval between each backup"
-msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
+#: ../../network/isdn.pm_.c:21 ../../network/isdn.pm_.c:44
+#: ../../network/netconnect.pm_.c:89 ../../network/netconnect.pm_.c:103
+#: ../../network/netconnect.pm_.c:156 ../../network/netconnect.pm_.c:171
+#: ../../network/netconnect.pm_.c:222 ../../network/netconnect.pm_.c:245
+#: ../../network/netconnect.pm_.c:253
+#, fuzzy
+msgid "Network Configuration Wizard"
+msgstr "Kefluniadur ar rouedad"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Installation of %s failed. The following error occured:"
-msgstr "Staliadur %s a zo sac'het. Degouezhet eo ar fazi a heul :"
+#: ../../network/isdn.pm_.c:22
+#, fuzzy
+msgid "External ISDN modem"
+msgstr "Mailh"
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Can't launch mkinitrd -f /boot/initrd-%s.img %s."
+#: ../../network/isdn.pm_.c:22
+msgid "Internal ISDN card"
msgstr ""
-#: ../../install_any.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:22
+#, fuzzy
+msgid "What kind is your ISDN connection?"
+msgstr "Ouzh pe borzh a-steud eo luget ho logodenn ?"
+
+#: ../../network/isdn.pm_.c:45
msgid ""
-"You have selected the following server(s): %s\n"
+"Which ISDN configuration do you prefer?\n"
"\n"
+"* The Old configuration uses isdn4net. It contains powerful\n"
+" tools, but is tricky to configure, and not standard.\n"
"\n"
-"These servers are activated by default. They don't have any known security\n"
-"issues, but some new ones could be found. In that case, you must make sure\n"
-"to upgrade as soon as possible.\n"
-"\n"
+"* The New configuration is easier to understand, more\n"
+" standard, but with less tools.\n"
"\n"
-"Do you really want to install these servers?\n"
+"We recommand the light configuration.\n"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Network printer (TCP/Socket)"
-msgstr "Dibarzhoù ar voullerez NetWare"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup User files..."
-msgstr "Restr gwareziñ siek"
+#: ../../network/isdn.pm_.c:54
+#, fuzzy
+msgid "New configuration (isdn-light)"
+msgstr "o lenn ar c'hefluniadur"
-#: ../../steps.pm:1
-#, c-format
-msgid "Install system"
-msgstr "Staliañ ar reizhiad"
+#: ../../network/isdn.pm_.c:54
+#, fuzzy
+msgid "Old configuration (isdn4net)"
+msgstr "o lenn ar c'hefluniadur"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "First DNS Server (optional)"
-msgstr "Servijer DNS kentañ (da zilenn)"
+#: ../../network/isdn.pm_.c:166 ../../network/isdn.pm_.c:184
+#: ../../network/isdn.pm_.c:196 ../../network/isdn.pm_.c:202
+#: ../../network/isdn.pm_.c:209 ../../network/isdn.pm_.c:219
+msgid "ISDN Configuration"
+msgstr "Kefluniadur ISDN"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:166
msgid ""
-"Alternatively, you can specify a device name/file name in the input line"
+"Select your provider.\n"
+"If it isn't listed, choose Unlisted."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Russian (Phonetic)"
-msgstr "Russian (soniadel)"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "dhcpd Config..."
-msgstr "Kefluniañ IDE"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The setup has already been done, but it's currently disabled."
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "LILO/grub Installation"
-msgstr "Staliadur LILO/grub"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Israeli"
-msgstr "Israelian"
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "load setting"
-msgstr "O furmadiñ"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer \"%s\" on server \"%s\""
-msgstr "O tizenaouiñ ar rouedad"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Floppy can be removed now"
+#: ../../network/isdn.pm_.c:179
+msgid "Europe protocol (EDSS1)"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Truly minimal install"
-msgstr "Distaliañ"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Denmark"
-msgstr "Danmark"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Moving partition..."
-msgstr "O tilec'hiañ ur parzhadur..."
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "(This) DHCP Server IP"
-msgstr "IP ar servijer SMB"
-
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Test of the configuration"
+#: ../../network/isdn.pm_.c:181
+#, fuzzy
+msgid "Protocol for the rest of the world"
msgstr "Amprouiñ ar c'hefluniadur"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing %s ..."
-msgstr "O staliañ pakadoù..."
-
-#: ../../help.pm:1
-#, c-format
+#: ../../network/isdn.pm_.c:181
msgid ""
-"If you told the installer that you wanted to individually select packages,\n"
-"it will present a tree containing all packages classified by groups and\n"
-"subgroups. While browsing the tree, you can select entire groups,\n"
-"subgroups, or individual packages.\n"
-"\n"
-"Whenever you select a package on the tree, a description appears on the\n"
-"right to let you know the purpose of the package.\n"
-"\n"
-"!! If a server package has been selected, either because you specifically\n"
-"chose the individual package or because it was part of a group of packages,\n"
-"you will be asked to confirm that you really want those servers to be\n"
-"installed. By default Mandrake Linux will automatically start any installed\n"
-"services at boot time. Even if they are safe and have no known issues at\n"
-"the time the distribution was shipped, it is entirely possible that that\n"
-"security holes were discovered after this version of Mandrake Linux was\n"
-"finalized. If you do not know what a particular service is supposed to do\n"
-"or why it is being installed, then click \"%s\". Clicking \"%s\" will\n"
-"install the listed services and they will be started automatically by\n"
-"default during boot. !!\n"
-"\n"
-"The \"%s\" option is used to disable the warning dialog which appears\n"
-"whenever the installer automatically selects a package to resolve a\n"
-"dependency issue. Some packages have relationships between each other such\n"
-"that installation of a package requires that some other program is also\n"
-"rerquired to be installed. The installer can determine which packages are\n"
-"required to satisfy a dependency to successfully complete the installation.\n"
-"\n"
-"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
-"package list created during a previous installation. This is useful if you\n"
-"have a number of machines that you wish to configure identically. Clicking\n"
-"on this icon will ask you to insert a floppy disk previously created at the\n"
-"end of another installation. See the second tip of last step on how to\n"
-"create such a floppy."
+"Protocol for the rest of the world\n"
+"No D-Channel (leased lines)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose your filesystem encryption key"
-msgstr ""
+#: ../../network/isdn.pm_.c:185
+#, fuzzy
+msgid "Which protocol do you want to use?"
+msgstr "Pe seurt parzhadur a vennit ?"
-#: ../../standalone/drakbackup:1
+#: ../../network/isdn.pm_.c:196
#, c-format
-msgid ""
-"Please choose your CD/DVD device\n"
-"(Press Enter to propogate settings to other fields.\n"
-"This field isn't necessary, only a tool to fill in the form.)"
+msgid "Found \"%s\" interface do you want to use it ?"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Andorra"
-msgstr "Dizober"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sierra Leone"
-msgstr ""
+#: ../../network/isdn.pm_.c:203
+#, fuzzy
+msgid "What kind of card do you have?"
+msgstr "Peseurt moullerez hoc'h eus ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Botswana"
+#: ../../network/isdn.pm_.c:204
+msgid "I don't know"
msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "(default value: %s)"
-msgstr "? (%s dre ziouer)"
+#: ../../network/isdn.pm_.c:204
+msgid "ISA / PCMCIA"
+msgstr "ISA / PCMCIA"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Alternative test page (Letter)"
-msgstr ""
+#: ../../network/isdn.pm_.c:204
+msgid "PCI"
+msgstr "PCI"
-#: ../../standalone/drakgw:1
-#, c-format
+#: ../../network/isdn.pm_.c:210
msgid ""
-"DHCP Server Configuration.\n"
"\n"
-"Here you can select different options for the DHCP server configuration.\n"
-"If you don't know the meaning of an option, simply leave it as it is.\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 ""
-#: ../../Xconfig/card.pm:1
-#, fuzzy, c-format
-msgid "Choose an X server"
-msgstr "Dibabit ur servijer X"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Swap partition size in MB: "
-msgstr "Ment ar parzhadur disloañ e Mo : "
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Other (not drakbackup)\n"
-"keys in place already"
-msgstr ""
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "No changes to backup!"
-msgstr "Restr gwareziñ siek"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Formatted\n"
-msgstr "Furmadet\n"
+#: ../../network/isdn.pm_.c:214
+msgid "Abort"
+msgstr "Dilaoskel"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Type of install"
-msgstr "Dibabit pakadoù da staliañ"
+#: ../../network/isdn.pm_.c:214
+#, fuzzy
+msgid "Continue"
+msgstr "Kenderc'hel evelato ?"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer \"%s\" on SMB/Windows server \"%s\""
-msgstr "SMB/Windows 95/98/NT"
+#: ../../network/isdn.pm_.c:220
+#, fuzzy
+msgid "Which is your ISDN card?"
+msgstr "Pehini eo ho takad-eur ?"
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../network/isdn.pm_.c:239
msgid ""
-"\n"
-"- Daemon (%s) include:\n"
+"I have detected an ISDN PCI card, but I don't know its type. Please select a "
+"PCI card on the next screen."
msgstr ""
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "%d comma separated numbers"
+#: ../../network/isdn.pm_.c:248
+msgid "No ISDN PCI card found. Please select one on the next screen."
msgstr ""
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../network/modem.pm_.c:57
+msgid "Please choose which serial port your modem is connected to."
+msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Automatic Steps Configuration"
-msgstr "Kefluniadur goude staliañ"
+#: ../../network/modem.pm_.c:67
+msgid "Dialup options"
+msgstr "Dibarzhoù sifrennañ"
-#: ../../share/advertising/02-community.pl:1
-#, c-format
-msgid ""
-"Want to know more and to contribute to the Open Source community? Get "
-"involved in the Free Software world!"
-msgstr ""
+#: ../../network/modem.pm_.c:68 ../../standalone/drakconnect_.c:619
+msgid "Connection name"
+msgstr "Anv ar gevreadenn"
-#: ../../lang.pm:1
-#, c-format
-msgid "Barbados"
-msgstr ""
+#: ../../network/modem.pm_.c:69 ../../standalone/drakconnect_.c:620
+#, fuzzy
+msgid "Phone number"
+msgstr "Niverenn bellgomz"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please select data to backup..."
-msgstr "Diuzit ar yezh da implijout, mar plij."
+#: ../../network/modem.pm_.c:70 ../../standalone/drakconnect_.c:621
+msgid "Login ID"
+msgstr "Anv ereañ"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid ""
-"Connection failed.\n"
-"Verify your configuration in the Mandrake Control Center."
-msgstr ""
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "CHAP"
+msgstr "CHAP"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "received"
-msgstr ""
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "PAP"
+msgstr "PAP"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "/File/_New"
-msgstr "Restroù :\n"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Script-based"
+msgstr "Diazezet war ur skrid"
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "The DNS Server IP"
-msgstr "IP ar servijer SMB"
+#: ../../network/modem.pm_.c:72 ../../standalone/drakconnect_.c:623
+msgid "Terminal-based"
+msgstr "Diazezet war un dermenell"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "IP Range End:"
-msgstr ""
+#: ../../network/modem.pm_.c:73 ../../standalone/drakconnect_.c:624
+msgid "Domain name"
+msgstr "Anv ar domani"
-#: ../../security/level.pm:1
-#, c-format
-msgid "High"
-msgstr "Uhel"
+#: ../../network/modem.pm_.c:74 ../../standalone/drakconnect_.c:625
+msgid "First DNS Server (optional)"
+msgstr "Servijer DNS kentañ (da zilenn)"
-#: ../../any.pm:1
-#, c-format
-msgid "NoVideo"
-msgstr "N'ev ket video"
+#: ../../network/modem.pm_.c:75 ../../standalone/drakconnect_.c:626
+msgid "Second DNS Server (optional)"
+msgstr "Eil servijer DNS (da zilenn)"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "this field describes the device"
+#: ../../network/modem.pm_.c:95
+msgid ""
+"Your modem isn't supported by the system.\n"
+"Take a look at http://www.linmodems.org"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../network/modem.pm_.c:97
#, c-format
-msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
+msgid ""
+"\"%s\" based winmodem detected, do you want to install needed software ?"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printers"
-msgstr "Moullerezioù lec'hel"
-
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Installation image directory"
-msgstr "Kefluniadur"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NIS Server"
-msgstr "Servijer NIS"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Do nothing"
+msgstr "N'ev ket lodañ"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Port: %s"
-msgstr "Paour"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Install rpm"
+msgstr "Staliañ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Spain"
-msgstr "Spagn"
+#: ../../network/modem.pm_.c:97
+#, fuzzy
+msgid "Title"
+msgstr "Taolenn"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "local config: %s"
+#: ../../network/netconnect.pm_.c:29
+msgid ""
+"\n"
+"You can disconnect or reconfigure your connection."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "This user name has already been added"
-msgstr "En implij eo an anv arveriad-se endeo"
+#: ../../network/netconnect.pm_.c:29 ../../network/netconnect.pm_.c:32
+#, fuzzy
+msgid ""
+"\n"
+"You can reconfigure your connection."
+msgstr "Kefluniañ ur rouedad"
-#: ../../interactive.pm:1
-#, c-format
-msgid "Choose a file"
-msgstr "Dibabit ur restr"
+#: ../../network/netconnect.pm_.c:29
+#, fuzzy
+msgid "You are currently connected to internet."
+msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Apply"
-msgstr ""
+#: ../../network/netconnect.pm_.c:32
+#, fuzzy
+msgid ""
+"\n"
+"You can connect to Internet or reconfigure your connection."
+msgstr "Anv ar gevreadenn"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Auto-detect available ports"
-msgstr "Dilesadur"
+#: ../../network/netconnect.pm_.c:32
+#, fuzzy
+msgid "You are not currently connected to Internet."
+msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently disabled"
-msgstr ""
+#: ../../network/netconnect.pm_.c:36
+#, fuzzy
+msgid "Connect"
+msgstr "Anv ar gevreadenn"
-#: ../../lang.pm:1
-#, c-format
-msgid "San Marino"
-msgstr ""
+#: ../../network/netconnect.pm_.c:37
+#, fuzzy
+msgid "Disconnect"
+msgstr "Lugerezh ar voullerez"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Belgium"
-msgstr "Beljik"
+#: ../../network/netconnect.pm_.c:38
+#, fuzzy
+msgid "Configure the connection"
+msgstr "Kefluniañ ur rouedad"
-#: ../../lang.pm:1
+#: ../../network/netconnect.pm_.c:41
+#, fuzzy
+msgid "Internet connection & configuration"
+msgstr "Lugerezh ar voullerez"
+
+#: ../../network/netconnect.pm_.c:94
#, fuzzy, c-format
-msgid "Kuwait"
-msgstr "Kuitaat"
+msgid "We are now going to configure the %s connection."
+msgstr "Kefluniañ ur rouedad"
-#: ../../any.pm:1
+#: ../../network/netconnect.pm_.c:103
#, fuzzy, c-format
-msgid "Choose the window manager to run:"
-msgstr "Dibabit ar benveg a vennit staliañ"
+msgid ""
+"\n"
+"\n"
+"\n"
+"We are now going to configure the %s connection.\n"
+"\n"
+"\n"
+"Press OK to continue."
+msgstr "Kefluniañ ur rouedad"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "sub generation of the cpu"
-msgstr ""
+#: ../../network/netconnect.pm_.c:132 ../../network/netconnect.pm_.c:272
+#: ../../network/netconnect.pm_.c:292 ../../network/tools.pm_.c:77
+msgid "Network Configuration"
+msgstr "Kefluniadur ar rouedad"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "First Time Wizard"
+#: ../../network/netconnect.pm_.c:133
+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 ""
-#: ../../install_steps.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:157
msgid ""
-"An error occurred, but I don't know how to handle it nicely.\n"
-"Continue at your own risk."
+"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 ""
-"Degouezhet ez eus ur fazi, hogen n'ouzon ket e verañ naet.\n"
-"Kendalc'hit war ho mar."
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Taiwan"
-msgstr "Laosiek"
+#: ../../network/netconnect.pm_.c:163
+#, fuzzy
+msgid "Choose the profile to configure"
+msgstr "Dibabit ar ment nevez"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "please wait, parsing file: %s"
-msgstr "O prientiñ ar staliadur"
+#: ../../network/netconnect.pm_.c:164
+msgid "Use auto detection"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Pakistan"
-msgstr "Pakistan"
+#: ../../network/netconnect.pm_.c:165 ../../printer/printerdrake.pm_.c:2966
+#: ../../standalone/drakconnect_.c:271 ../../standalone/drakconnect_.c:274
+#: ../../standalone/drakfloppy_.c:118
+msgid "Expert Mode"
+msgstr "Mod mailh"
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Importance: "
-msgstr "Talvoudegezh : %s\n"
+#: ../../network/netconnect.pm_.c:171 ../../printer/printerdrake.pm_.c:364
+msgid "Detecting devices..."
+msgstr "O tinoiñ trobarzhelloù..."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To be able to print with your Lexmark inkjet and this configuration, you "
-"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
-"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
-"\"Linux\" as operating system. The drivers come as RPM packages or shell "
-"scripts with interactive graphical installation. You do not need to do this "
-"configuration by the graphical frontends. Cancel directly after the license "
-"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
-"adjust the head alignment settings with this program."
-msgstr ""
+#: ../../network/netconnect.pm_.c:214
+#, fuzzy
+msgid "Normal modem connection"
+msgstr "Kefluniañ ur rouedad"
-#: ../../standalone/drakperm:1
+#: ../../network/netconnect.pm_.c:214
#, fuzzy, c-format
-msgid "Permissions"
-msgstr "Stumm : %s\n"
+msgid "detected on port %s"
+msgstr "Poent marc'hañ doubl %s"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider name (ex provider.net)"
-msgstr ""
+#: ../../network/netconnect.pm_.c:215
+#, fuzzy
+msgid "Winmodem connection"
+msgstr "Kefluniañ ur rouedad"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid ""
-"Your system is low on resources. You may have some problem installing\n"
-"Mandrake Linux. If that occurs, you can try a text install instead. For "
-"this,\n"
-"press `F1' when booting on CDROM, then enter `text'."
-msgstr ""
+#: ../../network/netconnect.pm_.c:215 ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "detected"
+msgstr "kavoutet %s"
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Use the Windows partition for loopback"
-msgstr "Implij da saveteiñ"
+#: ../../network/netconnect.pm_.c:216
+#, fuzzy
+msgid "ISDN connection"
+msgstr "Lugerezh ar voullerez"
-#: ../../keyboard.pm:1
+#: ../../network/netconnect.pm_.c:216
#, c-format
-msgid "Armenian (typewriter)"
-msgstr "Armeniek (skriverez)"
+msgid "detected %s"
+msgstr "kavoutet %s"
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connection type: "
-msgstr "Anv ar gevreadenn"
+#: ../../network/netconnect.pm_.c:217
+#, fuzzy
+msgid "ADSL connection"
+msgstr "Lugerezh ar voullerez"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Graphical interface"
-msgstr "X pa loc'her"
+#: ../../network/netconnect.pm_.c:218
+#, fuzzy
+msgid "Cable connection"
+msgstr "Lugerezh ar voullerez"
-#: ../../lang.pm:1
-#, c-format
-msgid "Chad"
-msgstr "Tchad"
+#: ../../network/netconnect.pm_.c:218
+#, fuzzy
+msgid "cable connection detected"
+msgstr "Lugerezh ar voullerez"
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s with 3D hardware acceleration"
-msgstr "XFree %s gant 3D"
+#: ../../network/netconnect.pm_.c:219
+#, fuzzy
+msgid "LAN connection"
+msgstr "Lugerezh ar voullerez"
-#: ../../lang.pm:1
-#, c-format
-msgid "India"
-msgstr "Indez"
+#: ../../network/netconnect.pm_.c:219
+msgid "ethernet card(s) detected"
+msgstr "kartenn(où) ethernet kavoutet"
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovakia"
-msgstr "Slovaki"
+#: ../../network/netconnect.pm_.c:222
+#, fuzzy
+msgid "Choose the connection you want to configure"
+msgstr "Dibabit ar benveg a vennit staliañ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Singapore"
+#: ../../network/netconnect.pm_.c:246
+msgid ""
+"You have configured multiple ways to connect to the Internet.\n"
+"Choose the one you want to use.\n"
+"\n"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cambodia"
-msgstr "Kambodj"
+#: ../../network/netconnect.pm_.c:247
+#, fuzzy
+msgid "Internet connection"
+msgstr "Lugerezh ar voullerez"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Monitor HorizSync: %s\n"
-msgstr "KempredA-led ar skramm : %s\n"
+#: ../../network/netconnect.pm_.c:253
+#, fuzzy
+msgid "Do you want to start the connection at boot?"
+msgstr "Mennout a rit implijout aboot ?"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Path"
-msgstr ""
+#: ../../network/netconnect.pm_.c:267
+#, fuzzy
+msgid "Network configuration"
+msgstr "Kefluniadur ar rouedad"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Here you can specify any arbitrary command line into which the job should be "
-"piped instead of being sent directly to a printer."
+#: ../../network/netconnect.pm_.c:268
+msgid "The network needs to be restarted"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:272
+#, fuzzy, c-format
msgid ""
-"The printing system (%s) will not be started automatically when the machine "
-"is booted.\n"
+"A problem occured while restarting the network: \n"
"\n"
-"It is possible that the automatic starting was turned off by changing to a "
-"higher security level, because the printing system is a potential point for "
-"attacks.\n"
+"%s"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+
+#: ../../network/netconnect.pm_.c:282
+msgid ""
+"Congratulations, the network and Internet configuration is finished.\n"
+"The configuration will now be applied to your system.\n"
"\n"
-"Do you want to have the automatic starting of the printing system turned on "
-"again?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../network/netconnect.pm_.c:286
msgid ""
-"Printer %s\n"
-"What do you want to modify on this printer?"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Add host"
-msgstr "Ouzhpennañ un arveriad"
+"After this is done, we recommend that you restart your X environment to "
+"avoid any hostname-related problems."
+msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/netconnect.pm_.c:287
msgid ""
-"If you really think that you know which driver is the right one for your "
-"card\n"
-"you can pick one in the above list.\n"
-"\n"
-"The current driver for your \"%s\" sound card is \"%s\" "
+"Problems occured during configuration.\n"
+"Test your connection via net_monitor or mcc. If your connection doesn't "
+"work, you might want to relaunch the configuration."
msgstr ""
-#: ../../any.pm:1
-#, c-format
+#: ../../network/network.pm_.c:278
msgid ""
-"Would you like to allow users to share some of their directories?\n"
-"Allowing this will permit users to simply click on \"Share\" in konqueror "
-"and nautilus.\n"
-"\n"
-"\"Custom\" permit a per-user granularity.\n"
+"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 ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../network/network.pm_.c:283
msgid ""
-"Please choose load or save package selection on floppy.\n"
-"The format is the same as auto_install generated floppies."
+"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)."
-#: ../../standalone/drakxtv:1
+#: ../../network/network.pm_.c:293 ../../network/network.pm_.c:294
#, c-format
-msgid "China (broadcast)"
-msgstr ""
+msgid "Configuring network device %s"
+msgstr "O kefluniañ an drobarzhell rouedad %s"
-#: ../../standalone/drakbackup:1
+#: ../../network/network.pm_.c:294
#, fuzzy, c-format
-msgid "Use quota for backup files."
-msgstr "Restr gwareziñ siek"
+msgid " (driver %s)"
+msgstr "Servijer XFree86 : %s\n"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configuring printer \"%s\"..."
-msgstr "Kefluniañ ar voullerez"
+#: ../../network/network.pm_.c:296 ../../standalone/drakconnect_.c:228
+#: ../../standalone/drakconnect_.c:464
+msgid "IP address"
+msgstr "Chomlec'h IP"
-#: ../../fs.pm:1
-#, c-format
-msgid ""
-"Do not allow execution of any binaries on the mounted\n"
-"file system. This option might be useful for a server that has file systems\n"
-"containing binaries for architectures other than its own."
-msgstr ""
+#: ../../network/network.pm_.c:297 ../../standalone/drakconnect_.c:465
+#: ../../standalone/drakgw_.c:291
+msgid "Netmask"
+msgstr "Maskl rouedad"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Internet connection"
-msgstr "Lugerezh ar voullerez"
+#: ../../network/network.pm_.c:298
+msgid "(bootp/dhcp)"
+msgstr "(bootp/dhcp)"
-#: ../../modules/interactive.pm:1
-#, 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 ?"
+#: ../../network/network.pm_.c:298
+msgid "Automatic IP"
+msgstr "IP emgefreek"
-#: ../../share/advertising/01-thanks.pl:1
-#, c-format
-msgid "Welcome to the Open Source world."
-msgstr ""
+#: ../../network/network.pm_.c:299
+#, fuzzy
+msgid "Start at boot"
+msgstr "Krouiñ ur bladennig loc'hañ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bosnia and Herzegovina"
-msgstr ""
+#: ../../network/network.pm_.c:320 ../../printer/printerdrake.pm_.c:812
+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"
-#: ../../fsedit.pm:1
-#, c-format
+#: ../../network/network.pm_.c:326
msgid ""
-"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
-"point\n"
+"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
+"frequency), or add enough '0'."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "You must enter a host name or an IP address.\n"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#, c-format
-msgid "Netherlands"
-msgstr "Izelvroioù"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Sending files by FTP"
-msgstr "Enrollañ er restr"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Internal ISDN card"
+#: ../../network/network.pm_.c:330
+msgid ""
+"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
+"enough '0'."
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
+#: ../../network/network.pm_.c:350
msgid ""
-"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
-"currently uses \"%s\""
+"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/modem.pm:1
-#, fuzzy, c-format
-msgid "Title"
-msgstr "Taolenn"
+#: ../../network/network.pm_.c:355
+msgid "DNS server"
+msgstr "Servijer DNS"
-#: ../../standalone/drakfont:1
+#: ../../network/network.pm_.c:356
#, c-format
-msgid "Install & convert Fonts"
+msgid "Gateway (e.g. %s)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "WARNING"
-msgstr ""
+#: ../../network/network.pm_.c:358
+msgid "Gateway device"
+msgstr "Trobarzhell an dreuzell"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing bootloader"
-msgstr "Staliañ ar c'harger loc'hañ"
+#: ../../network/network.pm_.c:363
+#, fuzzy
+msgid "DNS server address should be in format 1.2.3.4"
+msgstr "Er furmad 1.2.3.4 e tlefe bezañ ar chomlec'h IP"
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "replay"
-msgstr "Adkargañ"
+#: ../../network/network.pm_.c:367
+#, fuzzy
+msgid "Gateway address should be in format 1.2.3.4"
+msgstr "Er furmad 1.2.3.4 e tlefe bezañ ar chomlec'h IP"
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "detected %s"
-msgstr "kavoutet %s"
+#: ../../network/network.pm_.c:381
+#, fuzzy
+msgid "Proxies configuration"
+msgstr "Kefluniadur goude staliañ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (U.S.)"
-msgstr "Iniz Gwerc'hez"
+#: ../../network/network.pm_.c:382
+msgid "HTTP proxy"
+msgstr "Proksi HTTP"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Bad backup file"
-msgstr "Restr gwareziñ siek"
+#: ../../network/network.pm_.c:383
+msgid "FTP proxy"
+msgstr "Proksi FTP"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"The setup of Internet connection sharing has already been done.\n"
-"It's currently disabled.\n"
-"\n"
-"What would you like to do?"
+#: ../../network/network.pm_.c:384
+msgid "Track network card id (useful for laptops)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter IP address and port of the host whose printers you want to use."
-msgstr ""
+#: ../../network/network.pm_.c:387
+msgid "Proxy should be http://..."
+msgstr "http://... a zlefe bezañ ar proksi"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Pipe into command"
-msgstr ""
+#: ../../network/network.pm_.c:388
+#, fuzzy
+msgid "Url should begin with 'ftp:' or 'http:'"
+msgstr "http://... a zlefe bezañ ar proksi"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../network/shorewall.pm_.c:26
+#, fuzzy
+msgid "Firewalling configuration detected!"
+msgstr "o lenn ar c'hefluniadur"
+
+#: ../../network/shorewall.pm_.c:27
msgid ""
-"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
-"You can find some information about them at: %s"
+"Warning! An existing firewalling configuration has been detected. You may "
+"need some manual fix after installation."
msgstr ""
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Detecting devices..."
-msgstr "O tinoiñ trobarzhelloù..."
+#: ../../network/tools.pm_.c:57
+#, fuzzy
+msgid "Internet configuration"
+msgstr "Kefluniañ ar proksioù"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Click here to launch the wizard ->"
-msgstr ""
+#: ../../network/tools.pm_.c:58
+#, fuzzy
+msgid "Do you want to try to connect to the Internet now?"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Haiti"
+#: ../../network/tools.pm_.c:61 ../../standalone/drakconnect_.c:193
+#, fuzzy
+msgid "Testing your connection..."
+msgstr "Kefluniañ ur rouedad"
+
+#: ../../network/tools.pm_.c:70
+#, fuzzy
+msgid "The system is now connected to Internet."
+msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
+
+#: ../../network/tools.pm_.c:71
+msgid "For security reason, it will be disconnected now."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../network/tools.pm_.c:72
+#, fuzzy
msgid ""
-"Description of the fields:\n"
-"\n"
-msgstr ""
+"The system doesn't seem to be connected to internet.\n"
+"Try to reconfigure your connection."
+msgstr "Anv ar gevreadenn"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the name of the CPU"
-msgstr ""
+#: ../../network/tools.pm_.c:96
+#, fuzzy
+msgid "Connection Configuration"
+msgstr "Kefluniañ ar proksioù"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Refreshing printer data..."
+#: ../../network/tools.pm_.c:97
+msgid "Please fill or check the field below"
msgstr ""
-#: ../../install2.pm:1
-#, c-format
-msgid "You must also format %s"
-msgstr ""
+#: ../../network/tools.pm_.c:99 ../../standalone/drakconnect_.c:605
+msgid "Card IRQ"
+msgstr "IRQ kartenn"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Be careful: this operation is dangerous."
-msgstr "Bezit war evezh : arvarus eo an obererezh-mañ."
+#: ../../network/tools.pm_.c:100 ../../standalone/drakconnect_.c:606
+msgid "Card mem (DMA)"
+msgstr "Memor kartenn (DMA)"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Insert a floppy containing package selection"
-msgstr "Lakait ur bladennig el lenner %s"
+#: ../../network/tools.pm_.c:101 ../../standalone/drakconnect_.c:607
+msgid "Card IO"
+msgstr "IO kartenn"
-#: ../../diskdrake/dav.pm:1
-#, fuzzy, c-format
-msgid "Server: "
-msgstr "Servijer"
+#: ../../network/tools.pm_.c:102 ../../standalone/drakconnect_.c:608
+msgid "Card IO_0"
+msgstr "IO_0 kartenn"
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Security Alerts:"
-msgstr "Live surentez"
+#: ../../network/tools.pm_.c:103 ../../standalone/drakconnect_.c:609
+msgid "Card IO_1"
+msgstr "IO_1 kartenn"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Sweden"
-msgstr "Sued"
+#: ../../network/tools.pm_.c:104 ../../standalone/drakconnect_.c:610
+msgid "Your personal phone number"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Expect for SSH"
+#: ../../network/tools.pm_.c:105 ../../standalone/drakconnect_.c:611
+msgid "Provider name (ex provider.net)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Poland"
-msgstr "Pologn"
+#: ../../network/tools.pm_.c:106 ../../standalone/drakconnect_.c:612
+#, fuzzy
+msgid "Provider phone number"
+msgstr "Niverenn bellgomz"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please check if you want to eject your tape after the backup."
-msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
+#: ../../network/tools.pm_.c:107 ../../standalone/drakconnect_.c:613
+msgid "Provider dns 1 (optional)"
+msgstr "Dibarzhoù ar voullerez (da zilenn)"
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Other ports"
-msgstr "Amprouiñ ar porzhioù"
+#: ../../network/tools.pm_.c:108 ../../standalone/drakconnect_.c:614
+msgid "Provider dns 2 (optional)"
+msgstr "Dibarzhoù ar voullerez (da zilenn)"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "number of capture buffers for mmap'ed capture"
-msgstr ""
+#: ../../network/tools.pm_.c:109
+#, fuzzy
+msgid "Choose your country"
+msgstr "Dibabit ho stokellaoueg"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SMBus controllers"
-msgstr ""
+#: ../../network/tools.pm_.c:110 ../../standalone/drakconnect_.c:617
+#, fuzzy
+msgid "Dialing mode"
+msgstr "Anv domani"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
+#: ../../network/tools.pm_.c:111 ../../standalone/drakconnect_.c:629
+#, fuzzy
+msgid "Connection speed"
+msgstr "Anv ar gevreadenn"
+
+#: ../../network/tools.pm_.c:112 ../../standalone/drakconnect_.c:630
+#, fuzzy
msgid "Connection timeout (in sec)"
msgstr "Anv ar gevreadenn"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"Some of the early i486DX-100 chips cannot reliably return to operating mode "
-"after the \"halt\" instruction is used"
-msgstr ""
+#: ../../network/tools.pm_.c:113 ../../standalone/drakconnect_.c:615
+#, fuzzy
+msgid "Account Login (user name)"
+msgstr "Poent marc'hañ"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Croatian"
-msgstr "Kroatek"
+#: ../../network/tools.pm_.c:114 ../../standalone/drakconnect_.c:616
+#: ../../standalone/drakconnect_.c:647
+#, fuzzy
+msgid "Account Password"
+msgstr "Tremenger"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Use existing partition"
-msgstr "O furmadiñ parzhadurioù"
+#: ../../network/tools.pm_.c:118 ../../network/tools.pm_.c:132
+msgid "United Kingdom"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Unable to contact mirror %s"
+#: ../../partition_table.pm_.c:603
+msgid "mount failed: "
+msgstr "marc'hañ sac'het : "
+
+#: ../../partition_table.pm_.c:667
+msgid "Extended partition not supported on this platform"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/Help/_About..."
+#: ../../partition_table.pm_.c:685
+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"
+"Fiñval ar parzhadurioù kentañ derez evit ma vo an toull stok ouzh ar "
+"parzhadurioù astennet eo an diskoulm"
-#: ../../standalone/drakbackup:1
+#: ../../partition_table.pm_.c:774
#, c-format
-msgid "Remove user directories before restore."
-msgstr ""
+msgid "Restoring from file %s failed: %s"
+msgstr "Assevel adalek ar restr %s sac'het %s"
-#: ../../printer/printerdrake.pm:1
+#: ../../partition_table.pm_.c:776
+msgid "Bad backup file"
+msgstr "Restr gwareziñ siek"
+
+#: ../../partition_table.pm_.c:796
#, c-format
+msgid "Error writing to file %s"
+msgstr "Fazi en ur skrivañ er restr %s"
+
+#: ../../partition_table/raw.pm_.c:192
msgid ""
-"You are going to configure a remote printer. This needs working network "
-"access, but your network is not configured yet. If you go on without network "
-"configuration, you will not be able to use the printer which you are "
-"configuring now. How do you want to proceed?"
+"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 ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "CUPS printer configuration"
-msgstr "Kefluniañ ar modem"
+#: ../../pkgs.pm_.c:26
+msgid "must have"
+msgstr "a rankfec'h kaout"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font in your mounted partitions"
-msgstr ""
+#: ../../pkgs.pm_.c:27
+msgid "important"
+msgstr "a-bouez"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "F00f bug"
-msgstr ""
+#: ../../pkgs.pm_.c:28
+msgid "very nice"
+msgstr "brav-tre"
-#: ../../Xconfig/card.pm:1 ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree %s"
-msgstr "XFree %s"
+#: ../../pkgs.pm_.c:29
+msgid "nice"
+msgstr "brav"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Domain Name:"
-msgstr "Anv ar domani"
+#: ../../pkgs.pm_.c:30
+msgid "maybe"
+msgstr "marteze"
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "On Floppy"
-msgstr "Enrollañ war bladennig"
+#: ../../printer/data.pm_.c:18
+msgid "PDQ - Print, Don't Queue"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore"
-msgstr "Adaozañ adalek ar restr"
+#: ../../printer/data.pm_.c:19
+msgid "PDQ"
+msgstr "PDQ"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check if the network devices are in promiscuous mode."
+#: ../../printer/data.pm_.c:30
+msgid "LPD - Line Printer Daemon"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Looking for available packages..."
-msgstr "O klask ar pakadoù hegerz"
+#: ../../printer/data.pm_.c:31
+msgid "LPD"
+msgstr "LPD"
-#: ../../any.pm:1
-#, c-format
-msgid "Init Message"
+#: ../../printer/data.pm_.c:51
+msgid "LPRng - LPR New Generation"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#, c-format
-msgid "Rescue partition table"
-msgstr "Taolenn barzhañ saveteerezh"
+#: ../../printer/data.pm_.c:52
+msgid "LPRng"
+msgstr "LPRng"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connection complete."
-msgstr "Anv ar gevreadenn"
+#: ../../printer/data.pm_.c:75
+msgid "CUPS - Common Unix Printing System"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cyprus"
+#: ../../printer/data.pm_.c:76 ../../printer/main.pm_.c:677
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../../printer/detect.pm_.c:80 ../../printer/detect.pm_.c:213
+#: ../../printer/detect.pm_.c:250
+msgid "Unknown Model"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Remove from RAID"
-msgstr "Lemel diwar RAID"
+#: ../../printer/main.pm_.c:26
+msgid "Local printer"
+msgstr "Moullerez lec'hel"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "This encryption key 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ñ)"
+#: ../../printer/main.pm_.c:27
+#, fuzzy
+msgid "Remote printer"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Configuration Wizards"
-msgstr "Kefluniadur ar rouedad"
+#: ../../printer/main.pm_.c:28
+#, fuzzy
+msgid "Printer on remote CUPS server"
+msgstr "Steud a-bell"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "ISDN connection"
-msgstr "Lugerezh ar voullerez"
+#: ../../printer/main.pm_.c:29 ../../printer/printerdrake.pm_.c:835
+#, fuzzy
+msgid "Printer on remote lpd server"
+msgstr "lpd a-bell"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "primary"
-msgstr ""
+#: ../../printer/main.pm_.c:30
+#, fuzzy
+msgid "Network printer (TCP/Socket)"
+msgstr "Dibarzhoù ar voullerez NetWare"
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on SMB/Windows server \"%s\", share \"%s\""
+#: ../../printer/main.pm_.c:31
+#, fuzzy
+msgid "Printer on SMB/Windows 95/98/NT server"
+msgstr "SMB/Windows 95/98/NT"
+
+#: ../../printer/main.pm_.c:32
+#, fuzzy
+msgid "Printer on NetWare server"
+msgstr "Servijer moullañ"
+
+#: ../../printer/main.pm_.c:33 ../../printer/printerdrake.pm_.c:839
+#, fuzzy
+msgid "Enter a printer device URI"
+msgstr "Trobarzhell ar voullerez"
+
+#: ../../printer/main.pm_.c:34
+msgid "Pipe job into a command"
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid ""
-"This dialog is used to choose which services you wish to start at boot\n"
-"time.\n"
-"\n"
-"DrakX will list all the services available on the current installation.\n"
-"Review each one carefully and uncheck those which are not needed at boot\n"
-"time.\n"
-"\n"
-"A short explanatory text will be displayed about a service when it is\n"
-"selected. However, if you are not sure whether a service is useful or not,\n"
-"it is safer to leave the default behavior.\n"
-"\n"
-"!! At this stage, be very careful if you intend to use your machine as a\n"
-"server: you will probably not want to start any services that you do not\n"
-"need. Please remember that several services can be dangerous if they are\n"
-"enabled on a server. In general, select only the services you really need.\n"
-"!!"
+#: ../../printer/main.pm_.c:290 ../../printer/main.pm_.c:478
+#: ../../printer/main.pm_.c:794 ../../printer/printerdrake.pm_.c:3228
+msgid "Unknown model"
msgstr ""
-"Bremañ e c'hellit diuz pe servijoù a vennit e vije lañset 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 emichañs chom hep loc'hañ kement servij n'ho peus "
-"ket\n"
-"c'hoant."
-#: ../../any.pm:1 ../../help.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Skip"
-msgstr "Tremen e-biou"
+#: ../../printer/main.pm_.c:317
+msgid "Local Printers"
+msgstr "Moullerezioù lec'hel"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Niue"
-msgstr "frondenn"
+#: ../../printer/main.pm_.c:319 ../../printer/main.pm_.c:678
+msgid "Remote Printers"
+msgstr "Moullerezio* a-bell"
-#: ../../services.pm:1
+#: ../../printer/main.pm_.c:326 ../../printer/printerdrake.pm_.c:381
#, c-format
-msgid ""
-"Activates/Deactivates all network interfaces configured to start\n"
-"at boot time."
+msgid " on parallel port \\/*%s"
msgstr ""
-"Oberia/Dizoberia an holl etrefasoù rouedad kefluniet da lañsañ\n"
-"da vare al loc'hañ."
-#: ../../standalone/harddrake2:1
+#: ../../printer/main.pm_.c:329 ../../printer/printerdrake.pm_.c:383
#, c-format
-msgid ""
-"the CPU frequency in MHz (Megahertz which in first approximation may be "
-"coarsely assimilated to number of instructions the cpu is able to execute "
-"per second)"
-msgstr ""
+msgid ", USB printer \\/*%s"
+msgstr ", Mouluriez USB \\/*%s"
-#: ../../pkgs.pm:1
+#: ../../printer/main.pm_.c:334
#, c-format
-msgid "important"
-msgstr "a-bouez"
+msgid ", multi-function device on parallel port \\/*%s"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Total Progress"
+#: ../../printer/main.pm_.c:337
+msgid ", multi-function device on USB"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"DrakX will first detect any IDE devices present in your computer. It will\n"
-"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
-"found, DrakX will automatically install the appropriate driver.\n"
-"\n"
-"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
-"your hard drives. If so, you'll have to specify your hardware by hand.\n"
-"\n"
-"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
-"want to configure options for it. You should allow DrakX to probe the\n"
-"hardware for the card-specific options which are needed to initialize the\n"
-"adapter. Most of the time, DrakX will get through this step without any\n"
-"issues.\n"
-"\n"
-"If DrakX is not able to probe for the options to automatically determine\n"
-"which parameters need to be passed to the hardware, you'll need to manually\n"
-"configure the driver."
+#: ../../printer/main.pm_.c:339
+msgid ", multi-function device on HP JetDirect"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Users"
-msgstr "Arveriadioù"
+#: ../../printer/main.pm_.c:341
+msgid ", multi-function device"
+msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/main.pm_.c:344
#, fuzzy, c-format
-msgid "Aruba"
-msgstr "Grub"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing bootloader..."
-msgstr "O prientiñ ar c'harger loc'hañ"
+msgid ", printing to %s"
+msgstr "Fazi en ur skrivañ er restr %s"
-#: ../../network/network.pm:1
+#: ../../printer/main.pm_.c:346
#, c-format
-msgid "Gateway (e.g. %s)"
+msgid " on LPD server \"%s\", printer \"%s\""
msgstr ""
-#: ../../any.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "The passwords do not match"
-msgstr "An tremegerioù ne glot ket"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/main.pm_.c:348
#, c-format
-msgid "Examples for correct IPs:\n"
+msgid ", TCP/IP host \"%s\", port %s"
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../printer/main.pm_.c:352
#, c-format
-msgid "Frequency (MHz)"
+msgid " on SMB/Windows server \"%s\", share \"%s\""
msgstr ""
-#: ../../install_any.pm:1
+#: ../../printer/main.pm_.c:356
#, c-format
-msgid ""
-"To use this saved packages selection, boot installation with ``linux "
-"defcfg=floppy''"
+msgid " on Novell server \"%s\", printer \"%s\""
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../printer/main.pm_.c:358
#, c-format
-msgid "the number of the processor"
+msgid ", using command %s"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Hardware clock set to GMT"
-msgstr "Ha war GMT eo lakaet ho eurier periantel ?"
+#: ../../printer/main.pm_.c:475 ../../printer/printerdrake.pm_.c:1603
+msgid "Raw printer (No driver)"
+msgstr ""
-#: ../../network/isdn.pm:1
+#: ../../printer/main.pm_.c:647
#, fuzzy, c-format
-msgid "Do you want to start a new configuration ?"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+msgid "(on %s)"
+msgstr "(mollad %s)"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Give a file name"
-msgstr "Anv gwirion"
+#: ../../printer/main.pm_.c:649
+msgid "(on this machine)"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/main.pm_.c:674
#, fuzzy, c-format
-msgid "Please choose the port that your printer is connected to."
-msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
+msgid "On CUPS server \"%s\""
+msgstr "IP ar servijer SMB"
-#: ../../standalone/livedrake:1
-#, fuzzy, c-format
-msgid "Change Cd-Rom"
-msgstr "Kemmañ ar spister"
+#: ../../printer/main.pm_.c:680 ../../printer/printerdrake.pm_.c:2888
+#: ../../printer/printerdrake.pm_.c:2899 ../../printer/printerdrake.pm_.c:3120
+#: ../../printer/printerdrake.pm_.c:3171 ../../printer/printerdrake.pm_.c:3197
+#: ../../printer/printerdrake.pm_.c:3352 ../../printer/printerdrake.pm_.c:3354
+msgid " (Default)"
+msgstr " (Dre ziouer)"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Configuration is complete, do you want to apply settings ?"
-msgstr "Pe seurt enmont a vennit ouzhpennañ"
+#: ../../printer/printerdrake.pm_.c:27
+msgid "Select Printer Connection"
+msgstr "Diuzit lugerezh ar voullerez"
-#: ../../lang.pm:1
-#, c-format
-msgid "Paraguay"
-msgstr "Paraguay"
+#: ../../printer/printerdrake.pm_.c:28
+msgid "How is the printer connected?"
+msgstr "Penaos eo luget ar voullerez ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Incremental/Differential Backups (do not replace old backups)"
+#: ../../printer/printerdrake.pm_.c:30
+msgid ""
+"\n"
+"Printers on remote CUPS servers you do not have to configure here; these "
+"printers will be automatically detected."
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "There's no known driver for your sound card (%s)"
+#: ../../printer/printerdrake.pm_.c:38
+msgid "Printer auto-detection (Local, TCP/Socket, and SMB printers)"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "force"
-msgstr "Dilec'hiañ"
+#: ../../printer/printerdrake.pm_.c:81 ../../printer/printerdrake.pm_.c:2950
+#, fuzzy
+msgid "CUPS configuration"
+msgstr "Kefluniadur"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Exit"
-msgstr "Kuitaat"
+#: ../../printer/printerdrake.pm_.c:82 ../../printer/printerdrake.pm_.c:2951
+#, fuzzy
+msgid "Specify CUPS server"
+msgstr "Steud a-bell"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:83
msgid ""
-"NOTE: Depending on the printer model and the printing system up to %d MB of "
-"additional software will be installed."
+"To get access to printers on remote CUPS servers in your local network you "
+"do not have to configure anything; the CUPS servers inform your machine "
+"automatically about their printers. All printers currently known to your "
+"machine are listed in the \"Remote printers\" section in the main window of "
+"Printerdrake. When your CUPS server is not in your local network, you have "
+"to enter the CUPS server IP address and optionally the port number to get "
+"the printer information from the server, otherwise leave these fields blank."
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:84
msgid ""
-"You don't have any configured interface.\n"
-"Configure them first by clicking on 'Configure'"
+"\n"
+"Normally, CUPS is automatically configured according to your network "
+"environment, so that you can access the printers on the CUPS servers in your "
+"local network. If this does not work correctly, turn off \"Automatic CUPS "
+"configuration\" and edit your file /etc/cups/cupsd.conf manually. Do not "
+"forget to restart CUPS afterwards (command: \"service cups restart\")."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Estonian"
-msgstr "Estoniek"
+#: ../../printer/printerdrake.pm_.c:88
+#, fuzzy
+msgid "The IP address should look like 192.168.1.20"
+msgstr "Er furmad 1.2.3.4 e tlefe bezañ ar chomlec'h IP"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+#: ../../printer/printerdrake.pm_.c:92 ../../printer/printerdrake.pm_.c:1041
+msgid "The port number should be an integer!"
msgstr ""
-"Ur servijer evit ar Gwiad Bedel eo Apache. Implijet e vez evit servijañ\n"
-"restroù HTML ha CGI."
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add/Del Clients"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:99
+#, fuzzy
+msgid "CUPS server IP"
+msgstr "IP ar servijer SMB"
-#: ../../network/ethernet.pm:1 ../../standalone/drakgw:1
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Choose the network interface"
-msgstr "Dibabit ar ment nevez"
+#: ../../printer/printerdrake.pm_.c:100 ../../printer/printerdrake.pm_.c:1061
+#: ../../standalone/harddrake2_.c:63
+#, fuzzy
+msgid "Port"
+msgstr "Paour"
-#: ../../printer/detect.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Unknown Model"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:102
+#, fuzzy
+msgid "Automatic CUPS configuration"
+msgstr "Kefluniadur goude staliañ"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "CD/DVD burners"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:159
+#, fuzzy
+msgid "Checking your system..."
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:159 ../../printer/printerdrake.pm_.c:226
+#: ../../printer/printerdrake.pm_.c:1477 ../../printer/printerdrake.pm_.c:1481
+#: ../../printer/printerdrake.pm_.c:1598 ../../printer/printerdrake.pm_.c:2133
+#: ../../printer/printerdrake.pm_.c:2284 ../../printer/printerdrake.pm_.c:2343
+#: ../../printer/printerdrake.pm_.c:2415 ../../printer/printerdrake.pm_.c:2436
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2630
+#: ../../printer/printerdrake.pm_.c:2636 ../../printer/printerdrake.pm_.c:2701
+#: ../../printer/printerdrake.pm_.c:2720 ../../printer/printerdrake.pm_.c:2731
+#: ../../printer/printerdrake.pm_.c:2764 ../../printer/printerdrake.pm_.c:2809
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:2911
+#: ../../printer/printerdrake.pm_.c:2989 ../../printer/printerdrake.pm_.c:3281
+#: ../../printer/printerdrake.pm_.c:3328 ../../printer/printerdrake.pm_.c:3369
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Printerdrake"
+msgstr "Moullerez"
+
+#: ../../printer/printerdrake.pm_.c:167
msgid ""
-"Partition booted by default\n"
-" (for MS-DOS boot, not for lilo)\n"
+"There are no printers found which are directly connected to your machine"
msgstr ""
-"Parzhadur loc'het dre ziouer\n"
-" (evit loc'hañ MS-DOS, ket evit lilo)\n"
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "choose image"
-msgstr "Dibabit ur restr"
-
-#: ../../network/shorewall.pm:1
-#, fuzzy, c-format
-msgid "Firewalling configuration detected!"
-msgstr "o lenn ar c'hefluniadur"
+#: ../../printer/printerdrake.pm_.c:179
+#, fuzzy
+msgid ""
+"The following printers\n"
+"\n"
+msgstr "Ar pakadoù a-heul a zo war-nes bezañ staliet/lamet"
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Connection name"
-msgstr "Anv ar gevreadenn"
+#: ../../printer/printerdrake.pm_.c:180
+#, fuzzy
+msgid ""
+"The following printer\n"
+"\n"
+msgstr "Ar pakadoù a-heul a zo war-nes bezañ staliet/lamet"
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:182
msgid ""
-"x coordinate of text box\n"
-"in number of characters"
+"\n"
+"and one unknown printer are "
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Updating package selection"
-msgstr "Diuz pakadoù unan hag unan"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Where do you want to mount the loopback file %s?"
-msgstr "Pelec'h e mennit marc'hañ ar restr saveteiñ %s ?"
-
-#: ../../standalone/drakautoinst:1
+#: ../../printer/printerdrake.pm_.c:184
#, c-format
msgid ""
-"The floppy has been successfully generated.\n"
-"You may now replay your installation."
+"\n"
+"and %d unknown printers are "
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "the number of buttons the mouse has"
-msgstr "2 nozelenn"
-
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:187
msgid ""
-"Please enter the directory (or module) to\n"
-" put the backup on this host."
+"\n"
+"are "
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Replay"
-msgstr "Adkargañ"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup other files"
-msgstr "Restr gwareziñ siek"
+#: ../../printer/printerdrake.pm_.c:187
+msgid ""
+"\n"
+"is "
+msgstr ""
-#: ../../install_steps.pm:1
-#, c-format
-msgid "No floppy drive available"
-msgstr "Lenner pladennig hegerz ebet"
+#: ../../printer/printerdrake.pm_.c:189
+#, fuzzy
+msgid "directly connected to your system"
+msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files are corrupted"
+#: ../../printer/printerdrake.pm_.c:192
+msgid ""
+"\n"
+"There is one unknown printer directly connected to your system"
msgstr ""
-#: ../../standalone/drakxtv:1
+#: ../../printer/printerdrake.pm_.c:194
#, c-format
-msgid "TV norm:"
+msgid ""
+"\n"
+"There are %d unknown printers directly connected to your system"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Cpuid family"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:200
+#, fuzzy
+msgid " (Make sure that all your printers are connected and turned on).\n"
+msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "32 MB"
-msgstr "32 Mo"
+#: ../../printer/printerdrake.pm_.c:214
+msgid ""
+"Do you want to enable printing on the printers mentioned above or on "
+"printers in the local network?\n"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "type: thin"
-msgstr "Seurt : "
+#: ../../printer/printerdrake.pm_.c:215
+#, fuzzy
+msgid "Do you want to enable printing on printers in the local network?\n"
+msgstr "Ha mennout a rit amprouiñ moullañ skrid ?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (new)"
-msgstr "Lituaniek AZERTY (nevez)"
+#: ../../printer/printerdrake.pm_.c:217
+#, fuzzy
+msgid "Do you want to enable printing on the printers mentioned above?\n"
+msgstr "Mennout a rit implijout aboot ?"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the arithmetic coprocessor has an exception vector attached"
+#: ../../printer/printerdrake.pm_.c:218
+msgid "Are you sure that you want to set up printing on this machine?\n"
msgstr ""
-#: ../../fsedit.pm:1
+#: ../../printer/printerdrake.pm_.c:219
#, c-format
msgid ""
-"You've selected a software RAID partition as root (/).\n"
-"No bootloader is able to handle this without a /boot partition.\n"
-"Please be sure to add a /boot partition"
+"NOTE: Depending on the printer model and the printing system up to %d MB of "
+"additional software will be installed."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Previous"
-msgstr "Diaraog"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Other OS (MacOS...)"
-msgstr "Reizhiadoù (MacOS...)"
-
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "To activate the mouse,"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing up the network"
-msgstr "O lañsañ ar rouedad"
+#: ../../printer/printerdrake.pm_.c:258 ../../printer/printerdrake.pm_.c:270
+#: ../../printer/printerdrake.pm_.c:328 ../../printer/printerdrake.pm_.c:2933
+#: ../../printer/printerdrake.pm_.c:3060
+#, fuzzy
+msgid "Add a new printer"
+msgstr "Moullerez lec'hel"
-#: ../../common.pm:1
-#, fuzzy, c-format
-msgid "Screenshots will be available after install in %s"
-msgstr "Gallout a rit dibab yezhoù all hag a vo hegerz goude staliañ"
+#: ../../printer/printerdrake.pm_.c:259
+msgid ""
+"\n"
+"Welcome to the Printer Setup Wizard\n"
+"\n"
+"This wizard allows you to install local or remote printers to be used from "
+"this machine and also from other machines in the network.\n"
+"\n"
+"It asks you for all necessary information to set up the printer and gives "
+"you access to all available printer drivers, driver options, and printer "
+"connection types."
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:272
msgid ""
-"More than one Microsoft partition has been detected on your hard drive.\n"
-"Please choose which one you want to resize in order to install your new\n"
-"Mandrake Linux operating system.\n"
"\n"
-"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
-"\"Capacity\".\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer, connected directly to the network or to a remote Windows machine.\n"
"\n"
-"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) and you Windows machines must be connected and "
+"turned on.\n"
"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
-"hard drives:\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network and/or Windows-hosted printers when you don't need "
+"it.\n"
"\n"
-" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:281 ../../printer/printerdrake.pm_.c:298
+msgid ""
"\n"
-" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"Welcome to the Printer Setup Wizard\n"
"\n"
-" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer.\n"
"\n"
-" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected.\n"
"\n"
-"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc.\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:289
+msgid ""
"\n"
-"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
-"disk or partition is called \"C:\")."
+"Welcome to the Printer Setup Wizard\n"
+"\n"
+"This wizard will help you to install your printer(s) connected to this "
+"computer or connected directly to the network.\n"
+"\n"
+"If you have printer(s) connected to this machine, Please plug it/them in on "
+"this computer and turn it/them on so that it/they can be auto-detected. Also "
+"your network printer(s) must be connected and turned on.\n"
+"\n"
+"Note that auto-detecting printers on the network takes longer than the auto-"
+"detection of only the printers connected to this machine. So turn off the "
+"auto-detection of network printers when you don't need it.\n"
+"\n"
+" Click on \"Next\" when you are ready, and on \"Cancel\" when you do not "
+"want to set up your printer(s) now."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Tanzania"
+#: ../../printer/printerdrake.pm_.c:307
+#, fuzzy
+msgid "Auto-detect printers connected to this machine"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
+
+#: ../../printer/printerdrake.pm_.c:310
+msgid "Auto-detect printers connected directly to the local network"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Computing FAT filesystem bounds"
-msgstr "O jediñ bevennoù ar reizhiad restroù FAT"
+#: ../../printer/printerdrake.pm_.c:313
+msgid "Auto-detect printers connected to machines running Microsoft Windows"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:329
msgid ""
"\n"
-"Backup Sources: \n"
+"Congratulations, your printer is now installed and configured!\n"
+"\n"
+"You can print using the \"Print\" command of your application (usually in "
+"the \"File\" menu).\n"
+"\n"
+"If you want to add, remove, or rename a printer, or if you want to change "
+"the default option settings (paper input tray, printout quality, ...), "
+"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
+"Center."
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Content of the file"
-msgstr "Anv ar gevreadenn"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Authentication LDAP"
+#: ../../printer/printerdrake.pm_.c:364 ../../printer/printerdrake.pm_.c:538
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Printer auto-detection"
msgstr "Dilesadur"
-#: ../../harddrake/sound.pm:1
+#: ../../printer/printerdrake.pm_.c:385
#, c-format
-msgid "Let me pick any driver"
+msgid ", network printer \"%s\", port %s"
msgstr ""
-#: ../../standalone/net_monitor:1
+#: ../../printer/printerdrake.pm_.c:387
#, fuzzy, c-format
-msgid "Profile "
-msgstr "marc'hañ sac'het : "
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "transmitted"
-msgstr ""
+msgid ", printer \"%s\" on SMB/Windows server \"%s\""
+msgstr "SMB/Windows 95/98/NT"
-#: ../../lang.pm:1
-#, c-format
-msgid "Palestine"
-msgstr "Palestin"
+#: ../../printer/printerdrake.pm_.c:391
+#, fuzzy, c-format
+msgid "Detected %s"
+msgstr "Poent marc'hañ doubl %s"
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:395 ../../printer/printerdrake.pm_.c:423
+#: ../../printer/printerdrake.pm_.c:440
#, c-format
-msgid "RAID md%s\n"
-msgstr "RAID md%s\n"
+msgid "Printer on parallel port \\/*%s"
+msgstr ""
-#: ../../modules/parameters.pm:1
+#: ../../printer/printerdrake.pm_.c:397 ../../printer/printerdrake.pm_.c:425
+#: ../../printer/printerdrake.pm_.c:443
#, c-format
-msgid "%d comma separated strings"
-msgstr ""
+msgid "USB printer \\/*%s"
+msgstr "Moullerez USB \\/*%s"
-#: ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:399
#, fuzzy, c-format
-msgid "Here is the full list of keyboards available"
-msgstr "stokellaoueg"
+msgid "Network printer \"%s\", port %s"
+msgstr "Dibarzhoù ar voullerez NetWare"
-#: ../../standalone/draksplash:1
+#: ../../printer/printerdrake.pm_.c:401
#, fuzzy, c-format
-msgid "Theme name"
-msgstr "Anv rannet"
-
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#, c-format
-msgid "/_Help"
-msgstr "/_Skoazell"
+msgid "Printer \"%s\" on SMB/Windows server \"%s\""
+msgstr "SMB/Windows 95/98/NT"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "Choosing an arbitrary driver"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:525 ../../printer/printerdrake.pm_.c:547
+msgid "Local Printer"
+msgstr "Moullerez lec'hel"
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:526
msgid ""
-"Here you can choose whether the scanners connected to this machine should be "
-"accessable by remote machines and by which remote machines."
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "the width of the progress bar"
+"No local printer found! To manually install a printer enter a device name/"
+"file name in the input line (Parallel Ports: /dev/lp0, /dev/lp1, ..., "
+"equivalent to LPT1:, LPT2:, ..., 1st USB printer: /dev/usb/lp0, 2nd USB "
+"printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cook Islands"
-msgstr "Inizi Kook"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Formatting partition %s"
-msgstr "O furmadiñ ar parzhadur %s"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Hostname required"
-msgstr "Anv an ostiz : "
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselect fonts installed"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:530
+#, fuzzy
+msgid "You must enter a device or file name!"
+msgstr "Trobarzhell ar voullerez"
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../any.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1 ../../help.pm:1
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#: ../../interactive.pm:1 ../../interactive/http.pm:1
-#: ../../interactive/newt.pm:1 ../../interactive/stdio.pm:1 ../../my_gtk.pm:1
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakautoinst:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakboot:1
-#: ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1
-#: ../../standalone/drakfont:1 ../../standalone/draksec:1
-#: ../../standalone/net_monitor:1 ../../ugtk.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Cancel"
-msgstr "Nullañ"
+#: ../../printer/printerdrake.pm_.c:539
+#, fuzzy
+msgid "No printer found!"
+msgstr "N'ev ket Moullerez lec'hel!\n"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Searching for configured scanners ..."
+#: ../../printer/printerdrake.pm_.c:548
+#, fuzzy
+msgid "Available printers"
msgstr "Pakadoù hegerz"
-#: ../../mouse.pm:1
-#, c-format
-msgid "Wheel"
-msgstr "Rodel"
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Videocard"
-msgstr "Mod video"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and bzip2\n"
+#: ../../printer/printerdrake.pm_.c:552
+msgid ""
+"The following printer was auto-detected, if it is not the one you want to "
+"configure, enter a device name/file name in the input line"
msgstr ""
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Remove Selected"
-msgstr "Lemel ar steudad"
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/Autodetect _modems"
-msgstr "Dilesadur"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remove printer"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../printer/printerdrake.pm_.c:553
+msgid ""
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up or enter a device name/file name in the input line"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "View Last Log"
+#: ../../printer/printerdrake.pm_.c:555
+msgid ""
+"The following printer was auto-detected. The configuration of the printer "
+"will work fully automatically. If your printer was not correctly detected or "
+"if you prefer a customized printer configuration, turn on \"Manual "
+"configuration\"."
msgstr ""
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:556
msgid ""
-"WARNING!\n"
-"\n"
-"DrakX will now resize your Windows partition. Be careful:\n"
-"this operation is dangerous. If you have not already done\n"
-"so, you should first exit the installation, run scandisk\n"
-"under Windows (and optionally run defrag), then restart the\n"
-"installation. You should also backup your data.\n"
-"When sure, press Ok."
+"Here is a list of all auto-detected printers. Please choose the printer you "
+"want to set up. The configuration of the printer will work fully "
+"automatically. If your printer was not correctly detected or if you prefer a "
+"customized printer configuration, turn on \"Manual configuration\"."
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\""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Which services would you like to allow the Internet to connect to?"
+#: ../../printer/printerdrake.pm_.c:558
+msgid ""
+"Please choose the port where your printer is connected to or enter a device "
+"name/file name in the input line"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:559
+#, fuzzy
+msgid "Please choose the port where your printer is connected to."
+msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
+
+#: ../../printer/printerdrake.pm_.c:561
msgid ""
-"Welcome to the mail configuration utility.\n"
-"\n"
-"Here, you'll be able to set up the alert system.\n"
+" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
+"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../install_steps_gtk.pm:1 ../../mouse.pm:1
-#: ../../services.pm:1 ../../standalone/drakbackup:1
-#, c-format
-msgid "Other"
-msgstr "All"
+#: ../../printer/printerdrake.pm_.c:565
+#, fuzzy
+msgid "You must choose/enter a printer/device!"
+msgstr "Trobarzhell ar voullerez"
-#: ../../any.pm:1 ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Default"
-msgstr "Dre ziouer"
+#: ../../printer/printerdrake.pm_.c:584
+#, fuzzy
+msgid "Manual configuration"
+msgstr "Kefluniañ ar proksioù"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Button 2 Emulation"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:633
+msgid "Remote lpd Printer Options"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "type1inst building"
+#: ../../printer/printerdrake.pm_.c:634
+#, fuzzy
+msgid ""
+"To use a remote lpd printer, you need to supply the hostname of the printer "
+"server and the printer name on that server."
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ñ."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Abiword"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:635
+#, fuzzy
+msgid "Remote host name"
+msgstr "Anv an ostiz a-bell"
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "choose image file"
-msgstr "Dibabit ur restr"
+#: ../../printer/printerdrake.pm_.c:636
+#, fuzzy
+msgid "Remote printer name"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "X server"
-msgstr "servijer X"
+#: ../../printer/printerdrake.pm_.c:639
+#, fuzzy
+msgid "Remote host name missing!"
+msgstr "Anv an ostiz a-bell"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Domain Admin User Name"
-msgstr "Anv ar domani"
+#: ../../printer/printerdrake.pm_.c:643
+#, fuzzy
+msgid "Remote printer name missing!"
+msgstr "Anv an ostiz a-bell"
-#: ../../standalone/drakxtv:1
+#: ../../printer/printerdrake.pm_.c:665 ../../printer/printerdrake.pm_.c:1170
#, fuzzy, c-format
-msgid "There was an error while scanning for TV channels"
-msgstr "Ur fazi a zo bet en ur staliañ ar pakadoù :"
+msgid "Detected model: %s %s"
+msgstr "Poent marc'hañ doubl %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "US keyboard (international)"
-msgstr "Stokellaoueg SUA (etrevroadel)"
+#: ../../printer/printerdrake.pm_.c:742 ../../printer/printerdrake.pm_.c:978
+#, fuzzy
+msgid "Scanning network..."
+msgstr "Kefluniañ ur rouedad"
-#: ../../keyboard.pm:1
+#: ../../printer/printerdrake.pm_.c:751 ../../printer/printerdrake.pm_.c:772
#, c-format
-msgid "Saami (swedish/finish)"
+msgid ", printer \"%s\" on server \"%s\""
msgstr ""
-#: ../../standalone/drakbug:1
+#: ../../printer/printerdrake.pm_.c:754 ../../printer/printerdrake.pm_.c:775
#, fuzzy, c-format
-msgid "Not installed"
-msgstr "Dilezel ar staliadur"
+msgid "Printer \"%s\" on server \"%s\""
+msgstr "O tizenaouiñ ar rouedad"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Alt keys simultaneously"
+#: ../../printer/printerdrake.pm_.c:795
+msgid "SMB (Windows 9x/NT) Printer Options"
+msgstr "Dibarzhoù moullañ SMB (Windows 9x/NT)"
+
+#: ../../printer/printerdrake.pm_.c:796
+#, fuzzy
+msgid ""
+"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."
msgstr ""
+"Evit moullañ war ur voullerez SMB eo ret deoc'h pourvezañ\n"
+"anv an ostiz SMB (Ho evezh ! Disheñvel 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."
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "LAN connection"
-msgstr "Lugerezh ar voullerez"
+#: ../../printer/printerdrake.pm_.c:797
+msgid ""
+" If the desired printer was auto-detected, simply choose it from the list "
+"and then add user name, password, and/or workgroup if needed."
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/-"
-msgstr "/Restr/-"
+#: ../../printer/printerdrake.pm_.c:799
+msgid "SMB server host"
+msgstr "Anv ar servijer SMB"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Italian"
-msgstr "Italianek"
+#: ../../printer/printerdrake.pm_.c:800
+msgid "SMB server IP"
+msgstr "IP ar servijer SMB"
-#: ../../interactive.pm:1 ../../standalone/draksec:1
-#, c-format
-msgid "Basic"
-msgstr "Diazez"
+#: ../../printer/printerdrake.pm_.c:801
+msgid "Share name"
+msgstr "Anv rannet"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"\n"
-" Copyright (C) 2002 by MandrakeSoft \n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
-"\n"
-msgstr ""
-"\n"
-"Copyright (C) 2002 gant MandrakeSoft\n"
-"\tStew Benedict sbenedict@mandrakesoft.com\n"
+#: ../../printer/printerdrake.pm_.c:804
+msgid "Workgroup"
+msgstr "Strollad labour"
-#: ../../lang.pm:1
-#, c-format
-msgid "Honduras"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:806
+#, fuzzy
+msgid "Auto-detected"
+msgstr "Dilesadur"
-#: ../../help.pm:1
-#, c-format
-msgid "pdq"
-msgstr "pdq"
+#: ../../printer/printerdrake.pm_.c:816
+msgid "Either the server name or the server's IP must be given!"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO"
-msgstr "IO kartenn"
+#: ../../printer/printerdrake.pm_.c:820
+msgid "Samba share name missing!"
+msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "when checked, owner and group won't be changed"
+#: ../../printer/printerdrake.pm_.c:826
+msgid "SECURITY WARNING!"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:827
#, c-format
msgid ""
+"You are about to set up printing to a Windows account with password. Due to "
+"a fault in the architecture of the Samba client software the password is put "
+"in clear text into the command line of the Samba client used to transmit the "
+"print job to the Windows server. So it is possible for every user on this "
+"machine to display the password on the screen by issuing commands as \"ps "
+"auxwww\".\n"
+"\n"
+"We recommend to make use of one of the following alternatives (in all cases "
+"you have to make sure that only machines from your local network have access "
+"to your Windows server, for example by means of a firewall):\n"
+"\n"
+"Use a password-less account on your Windows server, as the \"GUEST\" account "
+"or a special account dedicated for printing. Do not remove the password "
+"protection from a personal account or the administrator account.\n"
+"\n"
+"Set up your Windows server to make the printer available under the LPD "
+"protocol. Then set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
"\n"
-"This special Bootstrap\n"
-"partition is for\n"
-"dual-booting your system.\n"
msgstr ""
-#: ../../standalone/drakautoinst:1
+#: ../../printer/printerdrake.pm_.c:837
#, c-format
msgid ""
-"Please choose for each step whether it will replay like your install, or it "
-"will be manual"
+"Set up your Windows server to make the printer available under the IPP "
+"protocol and set up printing from this machine with the \"%s\" connection "
+"type in Printerdrake.\n"
+"\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:840
msgid ""
-"You can also decide here whether scanners on remote machines should be made "
-"available on this machine."
+"Connect your printer to a Linux server and let your Windows machine(s) "
+"connect to it as a client.\n"
+"\n"
+"Do you really want to continue setting up this printer as you are doing now?"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by FTP.\n"
+#: ../../printer/printerdrake.pm_.c:911
+msgid "NetWare Printer Options"
+msgstr "Dibarzhoù ar voullerez NetWare"
+
+#: ../../printer/printerdrake.pm_.c:912
+#, fuzzy
+msgid ""
+"To print on 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."
msgstr ""
+"Evit moullañ war ur voullerez NetWare eo ret deoc'h pourvezañ anv ar\n"
+"servijer moullañ NetWare (Ho evezh ! Disheñvel 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."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "You must enter a device or file name!"
-msgstr "Trobarzhell ar voullerez"
+#: ../../printer/printerdrake.pm_.c:913
+msgid "Printer Server"
+msgstr "Servijer moullañ"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/_Quit"
-msgstr "Kuitaat"
+#: ../../printer/printerdrake.pm_.c:914
+msgid "Print Queue Name"
+msgstr "Anv ar steud moullañ"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid ""
-"You need the alcatel microcode.\n"
-"Download it at\n"
-"http://www.speedtouchdsl.com/dvrreg_lx.htm\n"
-"and copy the mgmt.o in /usr/share/speedtouch"
+#: ../../printer/printerdrake.pm_.c:919
+msgid "NCP server name missing!"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphics memory: %s kB\n"
-msgstr "Memor c'hrafek : %s ko\n"
+#: ../../printer/printerdrake.pm_.c:923
+msgid "NCP queue name missing!"
+msgstr ""
-#: ../../standalone.pm:1
+#: ../../printer/printerdrake.pm_.c:987 ../../printer/printerdrake.pm_.c:1007
#, c-format
-msgid ""
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2, or (at your option)\n"
-"any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+msgid ", host \"%s\", port %s"
msgstr ""
-#: ../../any.pm:1
+#: ../../printer/printerdrake.pm_.c:990 ../../printer/printerdrake.pm_.c:1010
#, c-format
-msgid "access to compilation tools"
+msgid "Host \"%s\", port %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please select data to restore..."
-msgstr "Diuzit ar yezh da implijout, mar plij."
+#: ../../printer/printerdrake.pm_.c:1030
+#, fuzzy
+msgid "TCP/Socket Printer Options"
+msgstr "Dibarzhoù ar voullerez NetWare"
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1032
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"
+"Choose one of the auto-detected printers from the list or enter the hostname "
+"or IP and the optional port number (default is 9100) into the input fields."
msgstr ""
-"M'emaoc'h e soñj implijout aboot, taolit evezh leuskel un egor dieub (2048 "
-"rann\n"
-"a zo a-walc'h) e deroù ar bladenn"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Standard test page"
-msgstr "Diorren"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create"
-msgstr "Krouiñ"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "What"
-msgstr "Petra"
+#: ../../printer/printerdrake.pm_.c:1033
+msgid ""
+"To print to a TCP or socket printer, you need to provide the host name or IP "
+"of the printer and optionally the port number (default is 9100). On HP "
+"JetDirect servers the port number is usually 9100, on other servers it can "
+"vary. See the manual of your hardware."
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "There was an error ordering packages:"
-msgstr "Ur fazi a zo bet en ur rummañ pakadoù :"
+#: ../../printer/printerdrake.pm_.c:1037
+#, fuzzy
+msgid "Printer host name or IP missing!"
+msgstr "Dibarzhoù ar voullerez"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bulgarian (BDS)"
-msgstr "Bulgarek (BDS)"
+#: ../../printer/printerdrake.pm_.c:1059
+#, fuzzy
+msgid "Printer host name or IP"
+msgstr "Anv ar voullerez"
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Disable Server"
-msgstr "Stlennvonioù"
+#: ../../printer/printerdrake.pm_.c:1107 ../../printer/printerdrake.pm_.c:1109
+#, fuzzy
+msgid "Printer Device URI"
+msgstr "Trobarzhell ar voullerez"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Filesystem encryption key"
-msgstr "Seurt ar reizhiad restroù : "
+#: ../../printer/printerdrake.pm_.c:1108
+msgid ""
+"You can specify directly the URI to access the printer. The URI must fulfill "
+"either the CUPS or the Foomatic specifications. Note that not all URI types "
+"are supported by all the spoolers."
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Gujarati"
+#: ../../printer/printerdrake.pm_.c:1123
+msgid "A valid URI must be entered!"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1463
msgid ""
-"Please choose the first number of the 10-range you wish to edit,\n"
-"or just hit Enter to proceed.\n"
-"Your choice? "
+"Every printer needs a name (for example \"printer\"). The Description and "
+"Location fields do not need to be filled in. They are comments for the users."
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Save theme"
-msgstr "Staliañ ar reizhiad"
-
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "group"
-msgstr "Strollad labour"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Brazil"
-msgstr "Brazil"
-
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Auto Install"
-msgstr "Staliañ"
-
-#: ../../network/isdn.pm:1 ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Network Configuration Wizard"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#, fuzzy, c-format
-msgid "Removable media automounting"
-msgstr "Emvarc'hañ ar skoroù lem/laka"
+#: ../../printer/printerdrake.pm_.c:1464
+msgid "Name of printer"
+msgstr "Anv ar moullerez"
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Printing"
-msgstr "Moullerez"
+#: ../../printer/printerdrake.pm_.c:1465 ../../standalone/harddrake2_.c:38
+#, fuzzy
+msgid "Description"
+msgstr "Spisait dibarzhoù"
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
-msgid "Unknown driver"
-msgstr "Sturier X"
+#: ../../printer/printerdrake.pm_.c:1466
+#, fuzzy
+msgid "Location"
+msgstr "Titouroù"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"There are no printers found which are directly connected to your machine"
+#: ../../printer/printerdrake.pm_.c:1478 ../../printer/printerdrake.pm_.c:1599
+msgid "Reading printer database..."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Create a new partition"
-msgstr "Krouiñ ur parzhadur nevez"
+#: ../../printer/printerdrake.pm_.c:1482
+msgid "Preparing printer database..."
+msgstr ""
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
-msgid "Driver:"
-msgstr "Servijer"
+#: ../../printer/printerdrake.pm_.c:1578
+#, fuzzy
+msgid "Your printer model"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:1579
#, c-format
-msgid "unknown"
+msgid ""
+"Printerdrake has compared the model name resulting from the printer auto-"
+"detection with the models listed in its printer database to find the best "
+"match. This choice can be wrong, especially when your printer is not listed "
+"at all in the database. So check whether the choice is correct and click "
+"\"The model is correct\" if so and if not, click \"Select model manually\" "
+"so that you can choose your printer model manually on the next screen.\n"
+"\n"
+"For your printer Printerdrake has found:\n"
+"\n"
+"%s"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Use fdisk"
-msgstr "Implijit fdisk"
+#: ../../printer/printerdrake.pm_.c:1584 ../../printer/printerdrake.pm_.c:1587
+#, fuzzy
+msgid "The model is correct"
+msgstr "Ha reizh eo ?"
-#: ../../mouse.pm:1
-#, c-format
-msgid "MOVE YOUR WHEEL!"
-msgstr "FIÑV HO RODELL !"
+#: ../../printer/printerdrake.pm_.c:1585 ../../printer/printerdrake.pm_.c:1586
+#: ../../printer/printerdrake.pm_.c:1589
+#, fuzzy
+msgid "Select model manually"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "sent: "
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:1606
+#, fuzzy
+msgid "Printer model selection"
+msgstr "Lugerezh ar voullerez"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Automatic IP"
-msgstr "IP emgefreek"
+#: ../../printer/printerdrake.pm_.c:1607
+#, fuzzy
+msgid "Which printer model do you have?"
+msgstr "Peseurt moullerez hoc'h eus ?"
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1608
msgid ""
-"There you are. Installation is now complete and your GNU/Linux system is\n"
-"ready to use. Just click \"%s\" to reboot the system. The first thing you\n"
-"should see after your computer has finished doing its hardware tests is the\n"
-"bootloader menu, giving you the choice of which operating system to start.\n"
-"\n"
-"The \"%s\" button shows two more buttons to:\n"
-"\n"
-" * \"%s\": to create an installation floppy disk that will automatically\n"
-"perform a whole installation without the help of an operator, similar to\n"
-"the installation you just configured.\n"
-"\n"
-" Note that two different options are available after clicking the button:\n"
-"\n"
-" * \"%s\". This is a partially automated installation. The partitioning\n"
-"step is the only interactive procedure.\n"
-"\n"
-" * \"%s\". Fully automated installation: the hard disk is completely\n"
-"rewritten, all data is lost.\n"
"\n"
-" This feature is very handy when installing a number of similar machines.\n"
-"See the Auto install section on our web site for more information.\n"
"\n"
-" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
-"To use this selection with another installation, insert the floppy and\n"
-"start the installation. At the prompt, press the [F1] key and type >>linux\n"
-"defcfg=\"floppy\" <<.\n"
-"\n"
-"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
-"\"mformat a:\")"
+"Please check whether Printerdrake did the auto-detection of your printer "
+"model correctly. Search the correct model in the list when the cursor is "
+"standing on a wrong model or on \"Raw printer\"."
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Kensington Thinking Mouse"
-msgstr "Logodenn Kensington Thinking"
+#: ../../printer/printerdrake.pm_.c:1611
+msgid ""
+"If your printer is not listed, choose a compatible (see printer manual) or a "
+"similar one."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configuration of a remote printer"
-msgstr "Kefluniañ ar voullerez"
+#: ../../printer/printerdrake.pm_.c:1697
+#, fuzzy
+msgid "OKI winprinter configuration"
+msgstr "Kefluniañ ar modem"
-#: ../../lang.pm:1
-#, c-format
-msgid "Moldova"
+#: ../../printer/printerdrake.pm_.c:1698
+msgid ""
+"You are configuring an OKI laser winprinter. These printers\n"
+"use a very special communication protocol and therefore they work only when "
+"connected to the first parallel port. When your printer is connected to "
+"another port or to a print server box please connect the printer to the "
+"first parallel port before you print a test page. Otherwise the printer will "
+"not work. Your connection type setting will be ignored by the driver."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please check if you want to erase your tape before the backup."
-msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
+#: ../../printer/printerdrake.pm_.c:1718 ../../printer/printerdrake.pm_.c:1745
+#, fuzzy
+msgid "Lexmark inkjet configuration"
+msgstr "Kefluniañ ar proksioù"
-#: ../../share/advertising/13-mdkexpert_corporate.pl:1
-#, c-format
-msgid "An online platform to respond to enterprise support needs."
+#: ../../printer/printerdrake.pm_.c:1719
+msgid ""
+"The inkjet printer drivers provided by Lexmark only support local printers, "
+"no printers on remote machines or print server boxes. Please connect your "
+"printer to a local port or configure it on the machine where it is connected "
+"to."
msgstr ""
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "URL should begin with 'ftp:' or 'http:'"
-msgstr "http://... a zlefe bezañ ar proksi"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Oriya"
+#: ../../printer/printerdrake.pm_.c:1746
+msgid ""
+"To be able to print with your Lexmark inkjet and this configuration, you "
+"need the inkjet printer drivers provided by Lexmark (http://www.lexmark."
+"com/). Click on the \"Drivers\" link. Then choose your model and afterwards "
+"\"Linux\" as operating system. The drivers come as RPM packages or shell "
+"scripts with interactive graphical installation. You do not need to do this "
+"configuration by the graphical frontends. Cancel directly after the license "
+"agreement. Then print printhead alignment pages with \"lexmarkmaintain\" and "
+"adjust the head alignment settings with this program."
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Add a new rule at the end"
-msgstr "Moullerez lec'hel"
+#: ../../printer/printerdrake.pm_.c:1749
+msgid "GDI Laser Printer using the Zenographics ZJ-Stream Format"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1750
msgid ""
-"You can also decide here whether printers on remote machines should be "
-"automatically made available on this machine."
+"Your printer belongs to the group of GDI laser printers (winprinters) sold "
+"by different manufacturers which uses the Zenographics ZJ-stream raster "
+"format for the data sent to the printer. The driver for these printers is "
+"still in a very early development stage and so it will perhaps not always "
+"work properly. Especially it is possible that the printer only works when "
+"you choose the A4 paper size.\n"
+"\n"
+"Some of these printers, as the HP LaserJet 1000, for which this driver was "
+"originally created, need their firmware to be uploaded to them after they "
+"are turned on. In the case of the HP LaserJet 1000 you have to search the "
+"printer's Windows driver CD or your Windows partition for the file "
+"\"sihp1000.img\" and upload the file to the printer with one of the "
+"following commands:\n"
+"\n"
+" lpr -o raw sihp1000.img\n"
+" cat sihp1000.img > /dev/usb/lp0\n"
+"\n"
+"The first command can be given by any normal user, the second must be given "
+"as root. After having done so you can print normally.\n"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:1972
msgid ""
-"You may now provide options to module %s.\n"
-"Options are in format ``name=value name2=value2 ...''.\n"
-"For instance, ``io=0x300 irq=7''"
+"Printer default settings\n"
+"\n"
+"You should make sure that the page size and the ink type/printing mode (if "
+"available) and also the hardware configuration of laser printers (memory, "
+"duplex unit, extra trays) are set correctly. Note that with a very high "
+"printout quality/resolution printing can get substantially slower."
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''"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Quit without writing the partition table?"
-msgstr "Kuitaat hep skrivañ an daolenn barzhañ ?"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Genius NetScroll"
-msgstr "Genius NetScroll"
-#: ../../standalone.pm:1
+#: ../../printer/printerdrake.pm_.c:1981
#, c-format
-msgid "Installing packages..."
-msgstr "O staliañ pakadoù..."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dutch"
-msgstr "Hollandek"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "The following packages need to be installed:\n"
-msgstr "Ar pakadoù a-heul a zo war-nes bezañ distaliet"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Angola"
+msgid "Option %s must be an integer number!"
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "service setting"
-msgstr "dedennus"
-
-#: ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1 ../../any.pm:1
+#: ../../printer/printerdrake.pm_.c:1985
#, c-format
-msgid "Custom"
-msgstr "Personelañ"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "File is already used by another loopback, choose another one"
-msgstr "Restr implijet gant ur saveteiñ all endeo, dibabit unan all"
+msgid "Option %s must be a number!"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:1989
#, c-format
-msgid "Read-only"
+msgid "Option %s out of range!"
msgstr ""
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:2028
#, fuzzy, c-format
-msgid "Latvia"
-msgstr "Laosiek"
-
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
-msgid "No known driver"
-msgstr "Sturier X"
+msgid ""
+"Do you want to set this printer (\"%s\")\n"
+"as the default printer?"
+msgstr "Ha mennout a rit amprouiñ moullañ skrid ?"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "1 MB"
-msgstr "1 Mo"
+#: ../../printer/printerdrake.pm_.c:2051
+#, fuzzy
+msgid "Test pages"
+msgstr "Amprouiñ ar porzhioù"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2052
msgid ""
-"If it is not the one you want to configure, enter a device name/file name in "
-"the input line"
+"Please select the test pages you want to print.\n"
+"Note: the photo test page can take a rather long time to get printed and on "
+"laser printers with too low memory it can even not come out. In most cases "
+"it is enough to print the standard test page."
msgstr ""
-#: ../../standalone/draksound:1
-#, c-format
-msgid ""
-"No Sound Card has been detected on your machine. Please verify that a Linux-"
-"supported Sound Card is correctly plugged in.\n"
-"\n"
-"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2056
+#, fuzzy
+msgid "No test pages"
+msgstr "Ya, moullit an div bajenn arnod"
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Configure Local Area Network..."
-msgstr "Kefluniañ ur rouedad"
+#: ../../printer/printerdrake.pm_.c:2057
+#, fuzzy
+msgid "Print"
+msgstr "Moullerez"
-#: ../../services.pm:1
-#, c-format
-msgid "Launch the sound system on your machine"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2114
+#, fuzzy
+msgid "Standard test page"
+msgstr "Diorren"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Preparing printer database..."
+#: ../../printer/printerdrake.pm_.c:2117
+msgid "Alternative test page (Letter)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Information"
-msgstr "Diskouez titouroù"
+#: ../../printer/printerdrake.pm_.c:2120
+#, fuzzy
+msgid "Alternative test page (A4)"
+msgstr "O voullañ pajenn(où) skrid..."
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "No network card"
-msgstr "kartenn rouedad kavet ebet"
+#: ../../printer/printerdrake.pm_.c:2122
+#, fuzzy
+msgid "Photo test page"
+msgstr "O voullañ pajenn(où) skrid..."
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#, fuzzy, c-format
-msgid "Which filesystem do you want?"
-msgstr "Pe seurt parzhadur a vennit ?"
+#: ../../printer/printerdrake.pm_.c:2126
+#, fuzzy
+msgid "Do not print any test page"
+msgstr "O voullañ pajenn(où) skrid..."
-#: ../../mouse.pm:1
-#, c-format
-msgid "3 buttons"
-msgstr "3 nozelenn"
+#: ../../printer/printerdrake.pm_.c:2134 ../../printer/printerdrake.pm_.c:2285
+msgid "Printing test page(s)..."
+msgstr "O voullañ pajenn(où) skrid..."
-#: ../../diskdrake/interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2159
#, fuzzy, c-format
-msgid "Detailed information"
-msgstr "Diskouez titouroù"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Malta"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
msgid ""
-"Printer default settings\n"
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
+"Printing status:\n"
+"%s\n"
"\n"
-"You should make sure that the page size and the ink type/printing mode (if "
-"available) and also the hardware configuration of laser printers (memory, "
-"duplex unit, extra trays) are set correctly. Note that with a very high "
-"printout quality/resolution printing can get substantially slower."
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 ?"
-#: ../../install_any.pm:1
-#, c-format
-msgid "This floppy is not FAT formatted"
+#: ../../printer/printerdrake.pm_.c:2163
+#, fuzzy
+msgid ""
+"Test page(s) have been sent to the printer.\n"
+"It may take some time before the printer starts.\n"
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 ?"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Configuring network"
-msgstr "Kefluniañ ar rouedad"
-
-#: ../../Xconfig/main.pm:1
-#, fuzzy, c-format
-msgid "Graphic Card"
-msgstr "Kartenn c'hrafek"
-
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Resizing Windows partition"
-msgstr "O jediñ bevennoù ar reizhiad restroù FAT"
+#: ../../printer/printerdrake.pm_.c:2170
+msgid "Did it work properly?"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Provider dns 1 (optional)"
-msgstr "Dibarzhoù ar voullerez (da zilenn)"
+#: ../../printer/printerdrake.pm_.c:2190 ../../printer/printerdrake.pm_.c:3229
+#, fuzzy
+msgid "Raw printer"
+msgstr "Moullerez lec'hel"
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:2216
#, c-format
-msgid "Cameroon"
-msgstr "Kameroun"
-
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
msgid ""
-"You can now partition %s.\n"
-"When you are done, don't forget to save using `w'"
+"To print a file from the command line (terminal window) you can either use "
+"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
+"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
+"to modify the option settings easily.\n"
msgstr ""
-"Gallout a rit bremañ parzhañ ho pladenn galet %s\n"
-"Pa 'z eo graet, na zisoñjit ket enrollañ dre implijout `w'"
-
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Close"
-msgstr "Logodenn USB"
-#: ../../help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2218
msgid ""
-"\"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list."
+"These commands you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications, but here do not supply the file name "
+"because the file to print is provided by the application.\n"
msgstr ""
-#: ../../standalone/logdrake:1
+#: ../../printer/printerdrake.pm_.c:2221 ../../printer/printerdrake.pm_.c:2238
+#: ../../printer/printerdrake.pm_.c:2248
#, c-format
-msgid "Calendar"
+msgid ""
+"\n"
+"The \"%s\" command also allows to modify the option settings for a "
+"particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\". "
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2224 ../../printer/printerdrake.pm_.c:2264
#, c-format
msgid ""
-"Restore Selected\n"
-"Catalog Entry"
+"To know about the options available for the current printer read either the "
+"list shown below or click on the \"Print option list\" button.%s%s\n"
+"\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:2228
msgid ""
-"To use a remote lpd printer, you need to supply the hostname of the printer "
-"server and the printer name on that server."
+"Here is a list of the available printing options for the current printer:\n"
+"\n"
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ñ."
-#: ../../lang.pm:1
+#: ../../printer/printerdrake.pm_.c:2233 ../../printer/printerdrake.pm_.c:2243
#, c-format
-msgid "Iceland"
-msgstr "Bro ar Skorn"
-
-#: ../../common.pm:1
-#, c-format
-msgid "consolehelper missing"
+msgid ""
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\".\n"
msgstr ""
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "stopped"
-msgstr "Ouzhpennañ"
+#: ../../printer/printerdrake.pm_.c:2235 ../../printer/printerdrake.pm_.c:2245
+#: ../../printer/printerdrake.pm_.c:2255
+msgid ""
+"This command you can also use in the \"Printing command\" field of the "
+"printing dialogs of many applications. But here do not supply the file name "
+"because the file to print is provided by the application.\n"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Whether the FPU has an irq vector"
+#: ../../printer/printerdrake.pm_.c:2240 ../../printer/printerdrake.pm_.c:2250
+msgid ""
+"To get a list of the options available for the current printer click on the "
+"\"Print option list\" button."
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1
+#: ../../printer/printerdrake.pm_.c:2253
#, c-format
-msgid "Ext2"
-msgstr "Ext2"
+msgid ""
+"To print a file from the command line (terminal window) use the command \"%s "
+"<file>\" or \"%s <file>\".\n"
+msgstr ""
-#: ../../my_gtk.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Expand Tree"
-msgstr "Astenn ar wezenn"
+#: ../../printer/printerdrake.pm_.c:2257
+msgid ""
+"You can also use the graphical interface \"xpdq\" for setting options and "
+"handling printing jobs.\n"
+"If you are using KDE as desktop environment you have a \"panic button\", an "
+"icon on the desktop, labeled with \"STOP Printer!\", which stops all print "
+"jobs immediately when you click it. This is for example useful for paper "
+"jams.\n"
+msgstr ""
-#: ../../harddrake/sound.pm:1
+#: ../../printer/printerdrake.pm_.c:2261
#, c-format
msgid ""
-"The old \"%s\" driver is blacklisted.\n"
"\n"
-"It has been reported to oops the kernel on unloading.\n"
-"\n"
-"The new \"%s\" driver'll only be used on next bootstrap."
+"The \"%s\" and \"%s\" commands also allow to modify the option settings for "
+"a particular printing job. Simply add the desired settings to the command "
+"line, e. g. \"%s <file>\".\n"
msgstr ""
-#: ../../network/netconnect.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakconnect:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Expert Mode"
-msgstr "Mod mailh"
+#: ../../printer/printerdrake.pm_.c:2271
+#, fuzzy, c-format
+msgid "Printing/Scanning/Photo Cards on \"%s\""
+msgstr "O tizenaouiñ ar rouedad"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer options"
-msgstr "Dibarzhoù ar voullerez"
+#: ../../printer/printerdrake.pm_.c:2272
+#, fuzzy, c-format
+msgid "Printing/Scanning on \"%s\""
+msgstr "O tizenaouiñ ar rouedad"
-#: ../../standalone/drakgw:1
+#: ../../printer/printerdrake.pm_.c:2274
#, fuzzy, c-format
-msgid "Local Network adress"
-msgstr "kartenn rouedad kavet ebet"
+msgid "Printing/Photo Card Access on \"%s\""
+msgstr "O tizenaouiñ ar rouedad"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2275
#, fuzzy, c-format
-msgid "Backup your System files. (/etc directory)"
-msgstr "Restr gwareziñ siek"
+msgid "Printing on the printer \"%s\""
+msgstr "O tizenaouiñ ar rouedad"
-#: ../../install_steps_interactive.pm:1
+#: ../../printer/printerdrake.pm_.c:2278 ../../printer/printerdrake.pm_.c:2281
+#: ../../printer/printerdrake.pm_.c:2282 ../../printer/printerdrake.pm_.c:2283
+#: ../../printer/printerdrake.pm_.c:3216 ../../standalone/drakTermServ_.c:307
+#: ../../standalone/drakbackup_.c:1533 ../../standalone/drakbackup_.c:4156
+#: ../../standalone/drakbug_.c:108 ../../standalone/drakfont_.c:695
+#: ../../standalone/drakfont_.c:956 ../../standalone/net_monitor_.c:118
+#, fuzzy
+msgid "Close"
+msgstr "Logodenn USB"
+
+#: ../../printer/printerdrake.pm_.c:2281
+#, fuzzy
+msgid "Print option list"
+msgstr "Dibarzhoù ar voullerez"
+
+#: ../../printer/printerdrake.pm_.c:2301
#, c-format
msgid ""
-"You now have the opportunity to download updated packages. These packages\n"
-"have been updated after the distribution was released. They may\n"
-"contain security or bug fixes.\n"
-"\n"
-"To download these packages, you will need to have a working Internet \n"
-"connection.\n"
+"Your multi-function device was configured automatically to be able to scan. "
+"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
+"scanner when you have more than one) from the command line or with the "
+"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
+"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
+"\" menu. Call also \"man scanimage\" on the command line to get more "
+"information.\n"
"\n"
-"Do you want to install the updates ?"
+"Do not use \"scannerdrake\" for this device!"
msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Samba Server"
-msgstr "Servijer NIS"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2322
msgid ""
-"Arguments: (arg, alert=1)\n"
-"\n"
-"Enable/Disable IP spoofing protection."
+"Your printer was configured automatically to give you access to the photo "
+"card drives from your PC. Now you can access your photo cards using the "
+"graphical program \"MtoolsFM\" (Menu: \"Applications\" -> \"File tools\" -> "
+"\"MTools File Manager\") or the command line utilities \"mtools\" (enter "
+"\"man mtools\" on the command line for more info). You find the card's file "
+"system under the drive letter \"p:\", or subsequent drive letters when you "
+"have more than one HP printer with photo card drives. In \"MtoolsFM\" you "
+"can switch between drive letters with the field at the upper-right corners "
+"of the file lists."
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Australian Optus cable TV"
+#: ../../printer/printerdrake.pm_.c:2344 ../../printer/printerdrake.pm_.c:2702
+#: ../../printer/printerdrake.pm_.c:2990
+msgid "Reading printer data..."
msgstr ""
-#: ../../install_steps_newt.pm:1
+#: ../../printer/printerdrake.pm_.c:2364 ../../printer/printerdrake.pm_.c:2391
+#: ../../printer/printerdrake.pm_.c:2426
+#, fuzzy
+msgid "Transfer printer configuration"
+msgstr "Kefluniañ ar proksioù"
+
+#: ../../printer/printerdrake.pm_.c:2365
#, c-format
msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "
+"You can copy the printer configuration which you have done for the spooler %"
+"s to %s, your current spooler. All the configuration data (printer name, "
+"description, location, connection type, and default option settings) is "
+"overtaken, but jobs will not be transferred.\n"
+"Not all queues can be transferred due to the following reasons:\n"
msgstr ""
-" <Tab>/<Alt-Tab> etre elfennoù | <Esaouenn> a ziuz | <F12> skramm a heul "
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Subnet:"
+#: ../../printer/printerdrake.pm_.c:2368
+msgid ""
+"CUPS does not support printers on Novell servers or printers sending the "
+"data into a free-formed command.\n"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Zimbabwe"
-msgstr "marteze"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please enter the host name or IP."
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "When"
-msgstr "Pa"
+#: ../../printer/printerdrake.pm_.c:2370
+msgid ""
+"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
+"printers.\n"
+msgstr ""
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Second DNS Server (optional)"
-msgstr "Eil servijer DNS (da zilenn)"
+#: ../../printer/printerdrake.pm_.c:2372
+msgid "LPD and LPRng do not support IPP printers.\n"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Finland"
-msgstr "Finland"
+#: ../../printer/printerdrake.pm_.c:2374
+msgid ""
+"In addition, queues not created with this program or \"foomatic-configure\" "
+"cannot be transferred."
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2375
msgid ""
-"Arguments: (arg)\n"
"\n"
-"Authorize all services controlled by tcp_wrappers (see hosts.deny(5)) if "
-"\\fIarg\\fP = ALL. Only local ones\n"
-"if \\fIarg\\fP = LOCAL and none if \\fIarg\\fP = NONE. To authorize the "
-"services you need, use /etc/hosts.allow\n"
-"(see hosts.allow(5))."
+"Also printers configured with the PPD files provided by their manufacturers "
+"or with native CUPS drivers cannot be transferred."
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Color depth: %s\n"
-msgstr "Donder liv: %s\n"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-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_interactive.pm:1
-#, c-format
-msgid "Loading from floppy"
-msgstr "Assevelañ adalek ar pladennig"
-
-#: ../../standalone/mousedrake:1
-#, fuzzy, c-format
-msgid "Mouse test"
-msgstr "Mouse Systems"
-
-#: ../../standalone/drakperm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2376
msgid ""
-"Drakperm is used to see files to use in order to fix permissions, owners, "
-"and groups via msec.\n"
-"You can also edit your own rules which will owerwrite the default rules."
+"\n"
+"Mark the printers which you want to transfer and click \n"
+"\"Transfer\"."
msgstr ""
-#: ../../ugtk.pm:1
-#, c-format
-msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Slovenia"
-msgstr "Sloveni"
+#: ../../printer/printerdrake.pm_.c:2379
+msgid "Do not transfer printers"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Enter a user\n"
-"%s"
+#: ../../printer/printerdrake.pm_.c:2380 ../../printer/printerdrake.pm_.c:2396
+msgid "Transfer"
msgstr ""
-"Skrivit un arveriad\n"
-"%s"
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:2392
#, c-format
msgid ""
-"- PCI and USB devices: this lists the vendor, device, subvendor and "
-"subdevice PCI/USB ids"
+"A printer named \"%s\" already exists under %s. \n"
+"Click \"Transfer\" to overwrite it.\n"
+"You can also type a new name or skip this printer."
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "ProgressBar color selection"
-msgstr "Lugerezh ar voullerez"
+#: ../../printer/printerdrake.pm_.c:2400
+msgid "Name of printer should contain only letters, numbers and the underscore"
+msgstr ""
-#: ../../any.pm:1
+#: ../../printer/printerdrake.pm_.c:2405
#, c-format
msgid ""
-"Here are the entries on your boot menu so far.\n"
-"You can create additional entries or change the existing ones."
+"The printer \"%s\" already exists,\n"
+"do you really want to overwrite its configuration?"
msgstr ""
-"Setu da heul an enmontoù liesseurt.\n"
-"Gallout a rit ouzhpennañ lod pe gemmañ a re a zo."
-#: ../../help.pm:1
-#, c-format
-msgid "/dev/hda"
-msgstr "/dev/hda"
+#: ../../printer/printerdrake.pm_.c:2413
+#, fuzzy
+msgid "New printer name"
+msgstr "Moullerez lec'hel"
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:2416
#, c-format
-msgid "/dev/hdb"
-msgstr "/dev/hdb"
+msgid "Transferring %s..."
+msgstr ""
-#: ../../services.pm:1
+#: ../../printer/printerdrake.pm_.c:2427
#, c-format
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."
+"You have transferred your former default printer (\"%s\"), Should it be also "
+"the default printer under the new printing system %s?"
msgstr ""
-"Seveniñ an urzhiadoù steuñvaet 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."
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Radio support:"
+#: ../../printer/printerdrake.pm_.c:2437
+msgid "Refreshing printer data..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing SANE packages..."
-msgstr "O staliañ pakadoù..."
-
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "boot disk creation"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../printer/printerdrake.pm_.c:2445 ../../printer/printerdrake.pm_.c:2516
+#: ../../printer/printerdrake.pm_.c:2528
+#, fuzzy
+msgid "Configuration of a remote printer"
+msgstr "Kefluniañ ar voullerez"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "LDAP"
-msgstr "LDAP"
+#: ../../printer/printerdrake.pm_.c:2446
+#, fuzzy
+msgid "Starting network..."
+msgstr "Kefluniañ ur rouedad"
-#: ../../bootloader.pm:1
-#, c-format
-msgid "SILO"
-msgstr "SILO"
+#: ../../printer/printerdrake.pm_.c:2479 ../../printer/printerdrake.pm_.c:2483
+#: ../../printer/printerdrake.pm_.c:2485
+#, fuzzy
+msgid "Configure the network now"
+msgstr "Kefluniañ ur rouedad"
-#: ../../diskdrake/removable.pm:1
-#, fuzzy, c-format
-msgid "Change type"
-msgstr "Kemmañ seurt ar parzhadur"
+#: ../../printer/printerdrake.pm_.c:2480
+#, fuzzy
+msgid "Network functionality not configured"
+msgstr "Skramm ket kefluniet"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ", USB printer #%s"
-msgstr ", Mouluriez USB \\/*%s"
+#: ../../printer/printerdrake.pm_.c:2481
+msgid ""
+"You are going to configure a remote printer. This needs working network "
+"access, but your network is not configured yet. If you go on without network "
+"configuration, you will not be able to use the printer which you are "
+"configuring now. How do you want to proceed?"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "SILO Installation"
-msgstr "Staliadur SILO"
+#: ../../printer/printerdrake.pm_.c:2484
+#, fuzzy
+msgid "Go on without configuring the network"
+msgstr "Kefluniañ ar rouedad"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use CD/DVDROM to backup"
+#: ../../printer/printerdrake.pm_.c:2518
+msgid ""
+"The network configuration done during the installation cannot be started "
+"now. Please check whether the network gets accessable after booting your "
+"system and correct the configuration using the Mandrake Control Center, "
+"section \"Network & Internet\"/\"Connection\", and afterwards set up the "
+"printer, also using the Mandrake Control Center, section \"Hardware\"/"
+"\"Printer\""
msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2519
msgid ""
-"Congratulations, installation is complete.\n"
-"Remove the boot media and press return to reboot.\n"
-"\n"
-"\n"
-"For information on fixes which are available for this release of Mandrake "
-"Linux,\n"
-"consult the Errata available from:\n"
-"\n"
-"\n"
-"%s\n"
-"\n"
-"\n"
-"Information on configuring your system is available in the post\n"
-"install chapter of the Official Mandrake Linux User's Guide."
+"The network access was not running and could not be started. Please check "
+"your configuration and your hardware. Then try to configure your remote "
+"printer again."
msgstr ""
-"Gourc'hemennoù, peurc'hraet eo ar staliadur.\n"
-"Lamit ar bladenn loc'hañ ha gwaskit enkas evit adloc'hañ.\n"
-"\n"
-"\n"
-"Evit titouroù war palastroù hegerz evit stumm-mañ Mandrake Linux,\n"
-"sellit ouzh ar meneger fazioù hegerz e \n"
-"\n"
-"\n"
-"%s\n"
-"\n"
-"\n"
-"Titouroù war gefluniañ ho reizhiad a zo hegerz e rannbennad Goude\n"
-"Staliañ Sturier ofisiel an Arveriad Mandrake Linux."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:2529
+#, fuzzy
+msgid "Restarting printing system..."
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
+
+#: ../../printer/printerdrake.pm_.c:2568
+#, fuzzy
+msgid "high"
+msgstr "Uhel"
+
+#: ../../printer/printerdrake.pm_.c:2568
+#, fuzzy
msgid "paranoid"
msgstr "Ankeniet"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:2569
#, c-format
-msgid "Send mail report after each backup to:"
+msgid "Installing a printing system in the %s security level"
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:2570
#, c-format
msgid ""
-"This command you can also use in the \"Printing command\" field of the "
-"printing dialogs of many applications. But here do not supply the file name "
-"because the file to print is provided by the application.\n"
+"You are about to install the printing system %s on a system running in the %"
+"s security level.\n"
+"\n"
+"This printing system runs a daemon (background process) which waits for "
+"print jobs and handles them. This daemon is also accessable by remote "
+"machines through the network and so it is a possible point for attacks. "
+"Therefore only a few selected daemons are started by default in this "
+"security level.\n"
+"\n"
+"Do you really want to configure printing on this machine?"
msgstr ""
-#: ../../Xconfig/main.pm:1 ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolution"
-msgstr "Spister"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"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."
+#: ../../printer/printerdrake.pm_.c:2604
+msgid "Starting the printing system at boot time"
msgstr ""
-"Evit moullañ war ur voullerez SMB eo ret deoc'h pourvezañ\n"
-"anv an ostiz SMB (Ho evezh ! Disheñvel 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."
-#: ../../security/help.pm:1
+#: ../../printer/printerdrake.pm_.c:2605
#, c-format
msgid ""
-"Arguments: (arg)\n"
+"The printing system (%s) will not be started automatically when the machine "
+"is booted.\n"
"\n"
-" Accept/Refuse icmp echo."
+"It is possible that the automatic starting was turned off by changing to a "
+"higher security level, because the printing system is a potential point for "
+"attacks.\n"
+"\n"
+"Do you want to have the automatic starting of the printing system turned on "
+"again?"
msgstr ""
-#: ../../standalone/drakgw:1
+#: ../../printer/printerdrake.pm_.c:2625 ../../printer/printerdrake.pm_.c:2765
+msgid "Checking installed software..."
+msgstr ""
+
+#: ../../printer/printerdrake.pm_.c:2630
#, fuzzy, c-format
-msgid "reconfigure"
-msgstr "Kefluniañ X"
+msgid "Removing %s ..."
+msgstr "Spisterioù"
-#: ../../Xconfig/card.pm:1
-#, 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 ""
+#: ../../printer/printerdrake.pm_.c:2636
+#, fuzzy, c-format
+msgid "Installing %s ..."
+msgstr "O staliañ pakadoù..."
+
+#: ../../printer/printerdrake.pm_.c:2685
+#, fuzzy
+msgid "Select Printer Spooler"
+msgstr "Diuzit lugerezh ar voullerez"
-#: ../../standalone/logdrake:1
+#: ../../printer/printerdrake.pm_.c:2686
+#, fuzzy
+msgid "Which printing system (spooler) do you want to use?"
+msgstr "Pe seurt parzhadur a vennit ?"
+
+#: ../../printer/printerdrake.pm_.c:2720
#, fuzzy, c-format
-msgid "Xinetd Service"
-msgstr "Servijer moullañ"
+msgid "Configuring printer \"%s\"..."
+msgstr "Kefluniañ ar voullerez"
-#: ../../any.pm:1
-#, c-format
-msgid "access to network tools"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2731
+#, fuzzy
+msgid "Installing Foomatic..."
+msgstr "O staliañ ar pakad %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Firmware-Upload for HP LaserJet 1000"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2800 ../../printer/printerdrake.pm_.c:2838
+#: ../../printer/printerdrake.pm_.c:3230 ../../printer/printerdrake.pm_.c:3300
+msgid "Printer options"
+msgstr "Dibarzhoù ar voullerez"
-#: ../../share/advertising/03-software.pl:1
-#, c-format
-msgid ""
-"And, of course, push multimedia to its limits with the very latest software "
-"to play videos, audio files and to handle your images or photos."
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2810
+#, fuzzy
+msgid "Preparing Printerdrake..."
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Here is a list of all auto-detected printers. "
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2825 ../../printer/printerdrake.pm_.c:3369
+#, fuzzy
+msgid "Configuring applications..."
+msgstr "Kefluniañ ar voullerez"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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ñ ?"
+#: ../../printer/printerdrake.pm_.c:2845
+#, fuzzy
+msgid "Would you like to configure printing?"
+msgstr "Mennout a rit kefluniañ ur voullerez ?"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Options Description:\n"
-"\n"
-" In this step Drakbackup allow you to change:\n"
-"\n"
-" - The compression mode:\n"
-" \n"
-" If you check bzip2 compression, you will compress\n"
-" your data better than gzip (about 2-10 %%).\n"
-" This option is not checked by default because\n"
-" this compression mode needs more time (about 1000%% more).\n"
-" \n"
-" - The update mode:\n"
-"\n"
-" This option will update your backup, but this\n"
-" option is not really useful because you need to\n"
-" decompress your backup before you can update it.\n"
-" \n"
-" - the .backupignore mode:\n"
-"\n"
-" Like with cvs, Drakbackup will ignore all references\n"
-" included in .backupignore files in each directories.\n"
-" ex: \n"
-" #> cat .backupignore\n"
-" *.o\n"
-" *~\n"
-" ...\n"
-" \n"
-"\n"
+#: ../../printer/printerdrake.pm_.c:2857
+msgid "Printing system: "
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
+#: ../../printer/printerdrake.pm_.c:2915
+#, fuzzy
msgid ""
-"Restore Selected\n"
-"Files"
-msgstr "Lemel ar steudad"
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; to view information about it; "
+"or to make a printer on a remote CUPS server available for Star Office/"
+"OpenOffice.org/GIMP."
+msgstr ""
+"Setu da heul ar steudadoù moullañ.\n"
+"Gallout a rit ouzhpennañ lod pe gemmañ a re a zo."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../printer/printerdrake.pm_.c:2916
+#, fuzzy
msgid ""
-"%s exists, delete?\n"
-"\n"
-"Warning: If you've already done this process you'll probably\n"
-" need to purge the entry from authorized_keys on the server."
+"The following printers are configured. Double-click on a printer to change "
+"its settings; to make it the default printer; or to view information about "
+"it."
msgstr ""
+"Setu da heul ar steudadoù moullañ.\n"
+"Gallout a rit ouzhpennañ lod pe gemmañ a re a zo."
-#: ../../network/tools.pm:1
-#, c-format
-msgid "Please fill or check the field below"
+#: ../../printer/printerdrake.pm_.c:2942
+msgid "Refresh printer list (to display all available remote CUPS printers)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Do you want to save /etc/fstab modifications"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Boot Protocol"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:2960
+#, fuzzy
+msgid "Change the printing system"
+msgstr "Kefluniañ ur rouedad"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM-disks %s\n"
-msgstr "Pladennoù LVM %s\n"
+#: ../../printer/printerdrake.pm_.c:2965 ../../standalone/drakconnect_.c:274
+#, fuzzy
+msgid "Normal Mode"
+msgstr "Boas"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "The package %s is needed. Install it?"
-msgstr ""
-"Bremanaet e tle bezañ ar pabak-mañ\n"
-"Ha sur oc'h e mennit e ziuzañ ?"
+#: ../../printer/printerdrake.pm_.c:3127 ../../printer/printerdrake.pm_.c:3176
+#: ../../printer/printerdrake.pm_.c:3363
+#, fuzzy
+msgid "Do you want to configure another printer?"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "On boot"
-msgstr "Gwrizienn"
+#: ../../printer/printerdrake.pm_.c:3211
+#, fuzzy
+msgid "Modify printer configuration"
+msgstr "Kefluniañ ar modem"
-#: ../../standalone/harddrake2:1
+#: ../../printer/printerdrake.pm_.c:3213
#, fuzzy, c-format
-msgid "Bus identification"
-msgstr "Dilesadur"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Vatican"
-msgstr "Vatikan"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Please make a backup of your data first"
-msgstr "Gwarezit ho roadoù da gentañ mar plij"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "You have more than one hard drive, which one do you install linux on?"
-msgstr ""
+msgid ""
+"Printer %s\n"
+"What do you want to modify on this printer?"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot ISO"
+#: ../../printer/printerdrake.pm_.c:3217
+msgid "Do it!"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Eritrea"
-msgstr "Mod mailh"
+#: ../../printer/printerdrake.pm_.c:3222 ../../printer/printerdrake.pm_.c:3271
+#, fuzzy
+msgid "Printer connection type"
+msgstr "Lugerezh ar voullerez"
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Remove List"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../printer/printerdrake.pm_.c:3223 ../../printer/printerdrake.pm_.c:3275
+#, fuzzy
+msgid "Printer name, description, location"
+msgstr "Lugerezh ar voullerez"
-#: ../../share/advertising/05-desktop.pl:1
-#, c-format
-msgid "A customizable environment"
+#: ../../printer/printerdrake.pm_.c:3225 ../../printer/printerdrake.pm_.c:3293
+msgid "Printer manufacturer, model, driver"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Inuktitut"
+#: ../../printer/printerdrake.pm_.c:3226 ../../printer/printerdrake.pm_.c:3294
+msgid "Printer manufacturer, model"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Morocco"
-msgstr "Marok"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Which printer model do you have?"
-msgstr "Peseurt moullerez hoc'h eus ?"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Add a new printer"
-msgstr "Moullerez lec'hel"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " All of your selected data have been "
+#: ../../printer/printerdrake.pm_.c:3232 ../../printer/printerdrake.pm_.c:3304
+msgid "Set this printer as the default"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "<-- Delete"
-msgstr "Dilemel"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Nepal"
+#: ../../printer/printerdrake.pm_.c:3234 ../../printer/printerdrake.pm_.c:3309
+msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "cpu # "
+#: ../../printer/printerdrake.pm_.c:3235 ../../printer/printerdrake.pm_.c:3314
+msgid "Remove this printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "chunk size"
-msgstr "ment diaoz"
+#: ../../printer/printerdrake.pm_.c:3236 ../../printer/printerdrake.pm_.c:3319
+#, fuzzy
+msgid "Print test pages"
+msgstr "O voullañ pajenn(où) skrid..."
-#. -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:1
-#, c-format
-msgid "commands before booting, or 'c' for a command-line."
-msgstr "urzhiado— kent loc'ha¤, pe 'c' evit ul linenn-urzhia¤."
+#: ../../printer/printerdrake.pm_.c:3237 ../../printer/printerdrake.pm_.c:3321
+#, fuzzy
+msgid "Know how to use this printer"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
+#: ../../printer/printerdrake.pm_.c:3238 ../../printer/printerdrake.pm_.c:3323
+#, fuzzy
+msgid "Remove printer"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
+
+#: ../../printer/printerdrake.pm_.c:3282
#, fuzzy, c-format
-msgid "Problems installing package %s"
-msgstr "O staliañ ar pakad %s"
+msgid "Removing old printer \"%s\"..."
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "You will receive an alert if the load is higher than this value"
-msgstr ""
+#: ../../printer/printerdrake.pm_.c:3307
+#, fuzzy
+msgid "Default printer"
+msgstr "Moullerez lec'hel"
-#: ../../standalone/drakbug:1
+#: ../../printer/printerdrake.pm_.c:3308
#, c-format
-msgid ""
-"\n"
-"\n"
-"To submit a bug report, click on the button report.\n"
-"This will open a web browser window on https://drakbug.mandrakesoft.com\n"
-" where you'll find a form to fill in.The information displayed above will "
-"be \n"
-"transferred to that server\n"
-"\n"
+msgid "The printer \"%s\" is set as the default printer now."
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Add a scanner manually"
+#: ../../printer/printerdrake.pm_.c:3310
+msgid "Adding printer to Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#, fuzzy, c-format
-msgid "Reload partition table"
-msgstr "Taolenn barzhañ saveteerezh"
-
-#: ../../standalone/drakboot:1
+#: ../../printer/printerdrake.pm_.c:3312
#, c-format
-msgid "Yes, I want autologin with this (user, desktop)"
+msgid ""
+"The printer \"%s\" was successfully added to Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/drakfont:1
+#: ../../printer/printerdrake.pm_.c:3313
#, c-format
-msgid "Search for fonts in installed list"
+msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The Local Network did not finish with `.0', bailing out."
+#: ../../printer/printerdrake.pm_.c:3315
+msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Boot"
-msgstr "Gwrizienn"
-
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "Tuner type:"
-msgstr "Kemmañ seurt ar parzhadur"
-
-#: ../../help.pm:1
+#: ../../printer/printerdrake.pm_.c:3317
#, c-format
msgid ""
-"Now, it's time to select a printing system for your computer. Other OSs may\n"
-"offer you one, but Mandrake Linux offers two. Each of the printing system\n"
-"is best suited to particular types of configuration.\n"
-"\n"
-" * \"%s\" -- which is an acronym for ``print, don't queue'', is the choice\n"
-"if you have a direct connection to your printer, you want to be able to\n"
-"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
-"will handle only very simple network cases and is somewhat slow when used\n"
-"with networks.) It's recommended that you use \"pdq\" if this is your first\n"
-"experience with GNU/Linux.\n"
-"\n"
-" * \"%s\" - `` Common Unix Printing System'', is an excellent choice for\n"
-"printing to your local printer or to one halfway around the planet. It is\n"
-"simple to configure and can act as a server or a client for the ancient\n"
-"\"lpd \" printing system, so it compatible with older operating systems\n"
-"which may still need print services. While quite powerful, the basic setup\n"
-"is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make\n"
-"sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical\n"
-"front-ends for printing or choosing printer options and for managing the\n"
-"printer.\n"
-"\n"
-"If you make a choice now, and later find that you don't like your printing\n"
-"system you may change it by running PrinterDrake from the Mandrake Control\n"
-"Center and clicking the expert button."
-msgstr ""
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "\"Menu\" key"
+"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
+"GIMP."
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../printer/printerdrake.pm_.c:3318
#, c-format
msgid ""
-"\n"
-"\n"
-"Please check whether Printerdrake did the auto-detection of your printer "
-"model correctly. Find the correct model in the list when a wrong model or "
-"\"Raw printer\" is highlighted."
+"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
msgstr ""
-#: ../../standalone/draksec:1
+#: ../../printer/printerdrake.pm_.c:3325
#, fuzzy, c-format
-msgid "Security Administrator:"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+msgid "Do you really want to remove the printer \"%s\"?"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-#: ../../standalone/drakbackup:1
+#: ../../printer/printerdrake.pm_.c:3329
#, fuzzy, c-format
-msgid "Please enter your login"
-msgstr "Klaskit adarre mar plij"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check permissions of files in the users' home."
-msgstr ""
+msgid "Removing printer \"%s\"..."
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../standalone/drakconnect:1
+#: ../../raid.pm_.c:35
#, c-format
-msgid ""
-"You don't have an Internet connection.\n"
-"Create one first by clicking on 'Configure'"
-msgstr ""
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Fonts copy"
-msgstr "Furmadiñ ar bladennig"
+msgid "Can't add a partition to _formatted_ RAID md%d"
+msgstr "N'hellan ket ouzhpennañ ur parzhadur da RAID md%d _furmadet_"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automated"
-msgstr "Emgefreek"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed"
+msgstr "mkraid sac'het"
-#: ../../Xconfig/test.pm:1
-#, c-format
-msgid "Do you want to test the configuration?"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+#: ../../raid.pm_.c:137
+msgid "mkraid failed (maybe raidtools are missing?)"
+msgstr "mkraid sac'het (raidtools a vank emichañs ?)"
-#: ../../printer/printerdrake.pm:1
+#: ../../raid.pm_.c:153
#, c-format
-msgid ""
-"The printer \"%s\" was successfully removed from Star Office/OpenOffice.org/"
-"GIMP."
-msgstr ""
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ket a-walc'h a parzhadurioù evit RAID live %d\n"
-#: ../../standalone/draksec:1
-#, c-format
+#: ../../security/main.pm_.c:36
msgid ""
"Standard: This is the standard security recommended for a computer that will "
"be used to connect\n"
@@ -10394,7 +8269,7 @@ msgid ""
"which can accept\n"
" connections from many clients. If your machine is only a "
"client on the Internet, you\n"
-" should choose a lower level.\n"
+"\t should choose a lower level.\n"
"\n"
"Paranoid: This is similar to the previous level, but the system is entirely "
"closed and security\n"
@@ -10403,824 +8278,684 @@ msgid ""
"Security Administrator:\n"
" If the 'Security Alerts' option is set, security alerts will "
"be sent to this user (username or\n"
-" email)"
+"\t email)"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Save packages selection"
-msgstr "Diuz pakadoù unan hag unan"
+#: ../../security/main.pm_.c:66
+#, fuzzy
+msgid "Security Level:"
+msgstr "Live surentez"
-#: ../../standalone/drakautoinst:1
+#: ../../security/main.pm_.c:77
#, fuzzy, c-format
-msgid "Remove the last item"
-msgstr "O furmadiñ ar restr saveteiñ %s"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "User list to restore (only the most recent date per user is important)"
-msgstr ""
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No net boot images created!"
-msgstr ""
-
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pptp"
-msgstr "implijit pptp"
+msgid " (default value: %s)"
+msgstr "? (%s dre ziouer)"
-#: ../../services.pm:1
-#, c-format
-msgid "Choose which services should be automatically started at boot time"
-msgstr "Dibabit pe servijoù a zlefe bezañ lañset ent emgefreek pa loc'her"
+#: ../../security/main.pm_.c:113
+#, fuzzy
+msgid "Security Alerts:"
+msgstr "Live surentez"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Learn how to use this printer"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+#: ../../security/main.pm_.c:115
+#, fuzzy
+msgid "Security Administrator:"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configure the network now"
-msgstr "Kefluniañ ur rouedad"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "Network Options"
+msgstr "Dibarzhoù ar mollad :"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose a mirror from which to get the packages"
-msgstr "Dibabit ur melezour da dapout ar pakadoù diwarnañ"
+#: ../../security/main.pm_.c:128
+#, fuzzy
+msgid "System Options"
+msgstr "Dibarzhoù ar mollad :"
-#: ../../install_interactive.pm:1
-#, c-format
+#: ../../security/main.pm_.c:133 ../../security/main.pm_.c:164
msgid ""
-"The FAT resizer is unable to handle your partition, \n"
-"the following error occured: %s"
+"The following options can be set to customize your\n"
+"system security. If you need explanations, click on Help.\n"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "Size: "
-msgstr "Ment: %s"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which sector do you want to move it to?"
-msgstr "Da beseurt rann e mennit dilec'hiañ ?"
-
-#: ../../interactive/stdio.pm:1
-#, fuzzy, c-format
-msgid "Do you want to click on this button?"
-msgstr "Mennout a rit implijout SILO ?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Bahamas"
+#: ../../security/main.pm_.c:177
+msgid "Periodic Checks"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Manual configuration"
-msgstr "Kefluniañ ar proksioù"
+#: ../../security/main.pm_.c:191
+#, fuzzy
+msgid "Please wait, setting security level..."
+msgstr "O termeniñ al live surentez"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "search"
-msgstr "Klask"
+#: ../../security/main.pm_.c:197
+#, fuzzy
+msgid "Please wait, setting security options..."
+msgstr "Gortozit mar plij, o prientiñ ar staliadur"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../services.pm_.c:19
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
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ù."
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Xpmac (installation display driver)"
-msgstr ""
+#: ../../services.pm_.c:20
+msgid "Anacron a periodic command scheduler."
+msgstr "Anacron, ur steuñvaer urzhiadoù mareadek."
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, c-format
-msgid "Zeroconf host name must not contain a ."
+#: ../../services.pm_.c:21
+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:1
-#, c-format
+#: ../../services.pm_.c:23
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."
+"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 ""
-"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."
-
-#: ../../harddrake/data.pm:1 ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Unknown/Others"
-msgstr "Rummel"
+"Seveniñ an urzhiadoù steuñvaet 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."
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "No TV Card detected!"
+#: ../../services.pm_.c:25
+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 steuñvaet. vixie cron a ouzhpenn kalzig a "
+"arc'hweloù\n"
+"d'ar cron UNIX diazez, en o zouez surentez ha dibarzhoù kefluniañ gwelloc'h."
-#: ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/removable.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, fuzzy, c-format
-msgid "Options"
-msgstr "Parzhadur"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printer \"%s\" is set as the default printer now."
+#: ../../services.pm_.c:28
+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."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:31
msgid ""
-"You are configuring an OKI laser winprinter. These printers\n"
-"use a very special communication protocol and therefore they work only when "
-"connected to the first parallel port. When your printer is connected to "
-"another port or to a print server box please connect the printer to the "
-"first parallel port before you print a test page. Otherwise the printer will "
-"not work. Your connection type setting will be ignored by the driver."
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "generation of the cpu (eg: 8 for PentiumIII, ...)"
+#: ../../services.pm_.c:33
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
msgstr ""
+"Ur servijer evit ar Gwiad Bedel eo Apache. Implijet e vez evit servijañ\n"
+"restroù HTML ha CGI."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Auto-detected"
-msgstr "Dilesadur"
-
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../services.pm_.c:34
msgid ""
-"You are about to configure your computer to install a PXE server as a DHCP "
-"server\n"
-"and a TFTP server to build an installation server.\n"
-"With that feature, other computers on your local network will be installable "
-"using this computer as source.\n"
-"\n"
-"Make sure you have configured your Network/Internet access using drakconnect "
-"before going any further.\n"
-"\n"
-"Note: you need a dedicated Network Adapter to set up a Local Area Network "
-"(LAN)."
+"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."
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:38
msgid ""
-"No free space for 1MB bootstrap! Install will continue, but to boot your "
-"system, you'll need to create the bootstrap partition in DiskDrake"
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:40
msgid ""
-"Please choose the printer you want to set up or enter a device name/file "
-"name in the input line"
+"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ù."
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Refuse"
-msgstr "Adventañ"
-
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "HFS"
-msgstr "HFS"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../services.pm_.c:43
msgid ""
-"HardDrake runs a hardware probe, and optionally configures\n"
-"new/changed hardware."
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
msgstr ""
-#: ../../printer/cups.pm:1 ../../printer/main.pm:1
-#, c-format
-msgid "Remote Printers"
-msgstr "Moullerezio* a-bell"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "Creating and formatting file %s"
-msgstr "O krouiñ hag o furmadiñ ar restr saveteiñ %s"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check additions/removals of sgid files."
+#: ../../services.pm_.c:45
+msgid "Automatic detection and configuration of hardware at boot."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:46
msgid ""
-"The HP LaserJet 1000 needs its firmware to be uploaded after being turned "
-"on. Download the Windows driver package from the HP web site (the firmware "
-"on the printer's CD does not work) and extract the firmware file from it by "
-"uncompresing the self-extracting '.exe' file with the 'unzip' utility and "
-"searching for the 'sihp1000.img' file. Copy this file into the '/etc/"
-"printer' directory. There it will be found by the automatic uploader script "
-"and uploaded whenever the printer is connected and turned on.\n"
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose an existing LVM to add to"
-msgstr "Dibabit da be LVM ouzhpennañ"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "xfs restart"
-msgstr "strishaat"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:48
msgid ""
-"The printer \"%s\" already exists,\n"
-"do you really want to overwrite its configuration?"
+"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)."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No partition available"
-msgstr "parzhadur hegerz ebet"
-
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use the scanners on hosts: "
+#: ../../services.pm_.c:50
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Unselected All"
+#: ../../services.pm_.c:52
+#, fuzzy
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve 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."
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Domain Name Resolver"
-msgstr "Anv ar domani"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Encryption key (again)"
+#: ../../services.pm_.c:53
+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)."
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Samba share name missing!"
+#: ../../services.pm_.c:55
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
msgstr ""
+"Oberia/Dizoberia an holl etrefasoù rouedad kefluniet da lañsañ\n"
+"da vare al loc'hañ."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "True Type install done"
+#: ../../services.pm_.c:57
+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."
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Detection in progress"
-msgstr "Poent marc'hañ doubl %s"
-
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Whole Kernel -->"
+#: ../../services.pm_.c:60
+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."
-#: ../../install_steps.pm:1
-#, c-format
-msgid "Welcome to %s"
-msgstr "Degemer e %s"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Please insert the Update Modules floppy in drive %s"
-msgstr "Lakait ur bladennig gwerc'h el lenner %s"
+#: ../../services.pm_.c:62
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and XFree at boot."
+msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Bootsplash"
+#: ../../services.pm_.c:64
+msgid "Support the OKI 4w and compatible winprinters."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../services.pm_.c:65
msgid ""
-"The following printer\n"
-"\n"
-"%s%s\n"
-"is directly connected to your system"
-msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer sharing on hosts/networks: "
-msgstr "Moullerez"
+"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ñ."
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../services.pm_.c:68
msgid ""
-"\n"
-"The \"%s\" command also allows to modify the option settings for a "
-"particular printing job. Simply add the desired settings to the command "
-"line, e. g. \"%s <file>\". "
+"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."
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../services.pm_.c:71
+#, fuzzy
msgid ""
-"In some cases, the %s driver needs to have extra information to work\n"
-"properly, although it normally works fine without them. 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."
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
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."
+"Ur Gwazour Treuzdougen Postel eo Postfix, a zo ar goulev a\n"
+"zilech posteloù etre un ardivink hag un all."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Not the correct CD label. Disk is labelled %s."
+#: ../../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."
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
+#: ../../services.pm_.c:74
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"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cuba"
-msgstr "Kuba"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Searching for new printers..."
-msgstr "Pakadoù hegerz"
-
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Belize"
-msgstr "Adventañ"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " (multi-session)"
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Kernel Boot Timeout"
+#: ../../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."
-#: ../../Xconfig/card.pm:1
-#, c-format
+#: ../../services.pm_.c:79
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."
+"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."
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "The DrakX Partitioning wizard found the following solutions:"
+#: ../../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."
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Hungarian"
-msgstr "Hungareg"
-
-#: ../../network/isdn.pm:1
-#, c-format
+#: ../../services.pm_.c:83
msgid ""
-"Select your provider.\n"
-"If it isn't listed, choose Unlisted."
+"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 (heñvel ouzh "
+"finger)."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Automatic time synchronization (using NTP)"
+#: ../../services.pm_.c:85
+msgid "Launch the sound system on your machine"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "8 MB"
-msgstr "8 Mo"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "LDAP Server"
-msgstr "Servijer LDAP"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../services.pm_.c:86
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."
+"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 ""
-"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ñ."
-
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Choose your country"
-msgstr "Dibabit ho stokellaoueg"
+"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."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- System Files:\n"
+#: ../../services.pm_.c:88
+msgid "Load the drivers for your usb devices."
msgstr ""
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Standalone Tools"
+#: ../../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ñ."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Where"
-msgstr "Pelec'h"
+#: ../../services.pm_.c:115 ../../services.pm_.c:157
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Dibabit pe servijoù a zlefe bezañ lañset ent emgefreek pa loc'her"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "but not matching"
-msgstr ""
+#: ../../services.pm_.c:127
+#, fuzzy
+msgid "Printing"
+msgstr "Moullerez"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"Here you can select an alternative driver (either OSS or ALSA) for your "
-"sound card (%s)."
+#: ../../services.pm_.c:128
+#, fuzzy
+msgid "Internet"
+msgstr "dedennus"
+
+#: ../../services.pm_.c:131
+msgid "File sharing"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Configuring PCMCIA cards..."
-msgstr "O kefluniañ kartennoù PCMCIA..."
+#: ../../services.pm_.c:133 ../../standalone/drakbackup_.c:1709
+#, fuzzy
+msgid "System"
+msgstr "Reizhiad/Diazez"
-#: ../../common.pm:1
-#, c-format
-msgid "kdesu missing"
-msgstr "kdesu mank"
+#: ../../services.pm_.c:138
+#, fuzzy
+msgid "Remote Administration"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "%s: %s requires a username...\n"
-msgstr ""
+#: ../../services.pm_.c:146
+#, fuzzy
+msgid "Database Server"
+msgstr "Stlennvonioù"
-#: ../../diskdrake/interactive.pm:1
+#: ../../services.pm_.c:175
#, c-format
-msgid "Encryption key"
+msgid "Services: %d activated for %d registered"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Microsoft IntelliMouse"
-msgstr "Microsoft IntelliMouse"
+#: ../../services.pm_.c:191
+#, fuzzy
+msgid "Services"
+msgstr "trobarzhell"
-#: ../../lang.pm:1
-#, c-format
-msgid "Christmas Island"
-msgstr "Inizi Nedeleg"
+#: ../../services.pm_.c:203
+#, fuzzy
+msgid "running"
+msgstr "Ho evezh"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Installation of bootloader failed. The following error occured:"
-msgstr "Staliadur LILO a zo sac'het. Degouezhet eo ar fazi a heul :"
+#: ../../services.pm_.c:203
+#, fuzzy
+msgid "stopped"
+msgstr "Ouzhpennañ"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "EIDE/SCSI channel"
+#: ../../services.pm_.c:217
+msgid "Services and deamons"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Set this printer as the default"
+#: ../../services.pm_.c:222
+msgid ""
+"No additional information\n"
+"about this service, sorry."
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "partition %s"
-msgstr "parzhadur %s"
+#: ../../services.pm_.c:229
+#, fuzzy
+msgid "On boot"
+msgstr "Gwrizienn"
-#: ../../security/level.pm:1
-#, c-format
-msgid "Paranoid"
-msgstr "Ankeniet"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Start"
+msgstr "Meuziad Lañsañ"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NIS"
-msgstr "NIS"
+#: ../../services.pm_.c:241
+#, fuzzy
+msgid "Stop"
+msgstr "Rann"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "<-- Del User"
+#: ../../share/advertising/01-thanks.pl_.c:9
+msgid "Thank you for choosing Mandrake Linux 9.0"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Location on the bus"
+#: ../../share/advertising/01-thanks.pl_.c:10
+msgid "Welcome to the Open Source world"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "No printer found!"
-msgstr "N'ev ket Moullerez lec'hel!\n"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "the vendor name of the device"
+#: ../../share/advertising/01-thanks.pl_.c:11
+msgid ""
+"The success of MandrakeSoft is based upon the principle of Free Software. "
+"Your new operating system is the result of collaborative work on the part of "
+"the worldwide Linux Community"
msgstr ""
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, c-format
-msgid "Erase entire disk"
-msgstr "Chetan an holl planedenn"
+#: ../../share/advertising/02-community.pl_.c:9
+#, fuzzy
+msgid "Get involved in the Free Software world"
+msgstr "Amprouiñ ar c'hefluniadur"
-#: ../../printer/cups.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " (Default)"
-msgstr " (Dre ziouer)"
+#: ../../share/advertising/02-community.pl_.c:10
+msgid "Want to know more about the Open Source community?"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../share/advertising/02-community.pl_.c:11
msgid ""
-"Arguments: ()\n"
-"\n"
-"If SERVER_LEVEL (or SECURE_LEVEL if absent) is greater than 3\n"
-"in /etc/security/msec/security.conf, creates the symlink /etc/security/msec/"
-"server\n"
-"to point to /etc/security/msec/server.<SERVER_LEVEL>. The /etc/security/msec/"
-"server\n"
-"is used by chkconfig --add to decide to add a service if it is present in "
-"the file\n"
-"during the installation of packages."
+"To share your own knowledge and help build Linux tools, join the discussion "
+"forums you'll find on our \"Community\" webpages"
msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Automatic reconfiguration"
-msgstr "Kefluniadur goude staliañ"
+#: ../../share/advertising/03-internet.pl_.c:9
+#, fuzzy
+msgid "Get the most from the Internet"
+msgstr "Anv ar gevreadenn"
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Receiving Speed:"
+#: ../../share/advertising/03-internet.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 has selected the best software for you. Surf the Web and "
+"view animations with Mozilla and Konqueror, or read your mail and handle "
+"your personal information with Evolution and Kmail"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Turks and Caicos Islands"
+#: ../../share/advertising/04-multimedia.pl_.c:9
+msgid "Discover the most up-to-date graphical and multimedia tools!"
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "permissions"
-msgstr "parzhadur %s"
-
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../interactive.pm:1
-#: ../../interactive/newt.pm:1 ../../my_gtk.pm:1
-#: ../../printer/printerdrake.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "<- Previous"
-msgstr "<- Diaraog"
+#: ../../share/advertising/04-multimedia.pl_.c:10
+msgid "Push multimedia to its limits!"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Internet Connection Sharing configuration"
-msgstr "Lugerezh ar voullerez"
+#: ../../share/advertising/04-multimedia.pl_.c:11
+msgid ""
+"Mandrake Linux 9.0 enables you to use the very latest software to play audio "
+"files, edit and handle your images or photos, and play videos"
+msgstr ""
-#: ../../my_gtk.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Toggle between flat and group sorted"
-msgstr "Gwintañ etre kompez ha rummet dre strollad"
+#: ../../share/advertising/05-games.pl_.c:9
+msgid "Games"
+msgstr "C'hoarioù"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Themes"
-msgstr "Gwezenn"
+#: ../../share/advertising/05-games.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides the best Open Source games - arcade, action, "
+"strategy, ..."
+msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Options: %s"
-msgstr "Parzhadur"
+#: ../../share/advertising/06-mcc.pl_.c:9 ../../standalone/drakbug_.c:49
+#, fuzzy
+msgid "Mandrake Control Center"
+msgstr "Anv ar gevreadenn"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
+#: ../../share/advertising/06-mcc.pl_.c:10
msgid ""
-"You are currently using %s as your boot manager.\n"
-"Click on Configure to launch the setup wizard."
-msgstr "Lugerezh ar voullerez"
+"Mandrake Linux 9.0 provides a powerful tool to fully customize and configure "
+"your machine"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "OKI winprinter configuration"
-msgstr "Kefluniañ ar modem"
+#: ../../share/advertising/07-desktop.pl_.c:9
+#, fuzzy
+msgid "User interfaces"
+msgstr "Etrefas arveriad/X"
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Helena"
-msgstr "Sant Lena"
+#: ../../share/advertising/07-desktop.pl_.c:10
+msgid ""
+"Mandrake Linux 9.0 provides you with 11 user interfaces that can be fully "
+"modified: KDE 3, Gnome 2, WindowMaker, ..."
+msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Security Level"
-msgstr "Live surentez"
+#: ../../share/advertising/08-development.pl_.c:9
+#, fuzzy
+msgid "Development simplified"
+msgstr "Diorren"
-#: ../../install_steps_interactive.pm:1
-#, c-format
+#: ../../share/advertising/08-development.pl_.c:10
+msgid "Mandrake Linux 9.0 is the ultimate development platform"
+msgstr ""
+
+#: ../../share/advertising/08-development.pl_.c:11
msgid ""
-"Some steps are not completed.\n"
-"\n"
-"Do you really want to quit now?"
+"Use the full power of the GNU gcc 3 compiler as well as the best Open Source "
+"development environments"
msgstr ""
-"Lankadoù 'zo n'int ket peurc'hraet.\n"
-"\n"
-"Mennout a rit kuitaat da vat bremañ ?"
-#: ../../lang.pm:1
-#, c-format
-msgid "Sudan"
-msgstr "Sondan"
+#: ../../share/advertising/09-server.pl_.c:9
+msgid "Turn your machine into a reliable server"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish (qwertz layout)"
-msgstr "Polonek (reizhadur qwerty)"
+#: ../../share/advertising/09-server.pl_.c:10
+msgid ""
+"Transform your machine into a powerful Linux server with a few clicks of "
+"your mouse: Web server, mail, firewall, router, file and print server, ..."
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Syria"
-msgstr "Siri"
+#: ../../share/advertising/10-mnf.pl_.c:9
+msgid "Optimize your security"
+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:1
-#, c-format
+#: ../../share/advertising/10-mnf.pl_.c:10
msgid ""
-"Welcome to %s the operating system chooser!\n"
-"\n"
-"Choose an operating system from the list above or\n"
-"wait %d seconds for default boot.\n"
-"\n"
+"The MandrakeSecurity range includes the Multi Network Firewall product (M.N."
+"F.)"
msgstr ""
-"Degemer mat e %s, an dibaber reizhiad oberian~ !\n"
-"\n"
-"Dibabit an dibaber reizhiad pe\n"
-"gortozit %d eilennoù\n"
-"\n"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Portuguese"
-msgstr "Portugalek"
+#: ../../share/advertising/10-mnf.pl_.c:11
+msgid ""
+"This firewall product includes network features that allow you to fulfill "
+"all your security needs"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: "
-msgstr "Anv ar restr saveteiñ : "
+#: ../../share/advertising/10-mnf.pl_.c:12
+msgid "This product is available on MandrakeStore website"
+msgstr ""
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "DNS server address should be in format 1.2.3.4"
-msgstr "Er furmad 1.2.3.4 e tlefe bezañ ar chomlec'h IP"
+#: ../../share/advertising/11-mdkstore.pl_.c:9
+msgid "The official MandrakeSoft store"
+msgstr ""
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Left Control key"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../share/advertising/11-mdkstore.pl_.c:10
+msgid ""
+"Our full range of Linux solutions, as well as special offers on products and "
+"other \"goodies,\" are available online on our e-store:"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Serbia"
-msgstr "Serbi"
+#: ../../share/advertising/12-mdkstore.pl_.c:9
+msgid "Strategic partners"
+msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Newzealand"
+#: ../../share/advertising/12-mdkstore.pl_.c:10
+msgid ""
+"MandrakeSoft works alongside a selection of companies offering professional "
+"solutions compatible with Mandrake Linux. A list of these partners is "
+"available on the MandrakeStore"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "This directory should remain within the root filesystem"
+#: ../../share/advertising/13-mdkcampus.pl_.c:9
+msgid "Discover MandrakeSoft's training catalogue Linux-Campus"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "CapsLock key"
+#: ../../share/advertising/13-mdkcampus.pl_.c:10
+msgid ""
+"The training program has been created to respond to the needs of both end "
+"users and experts (Network and System administrators)"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Install bootloader"
-msgstr "Staliañ ar c'harger loc'hañ"
+#: ../../share/advertising/13-mdkcampus.pl_.c:11
+msgid "Certify yourself on Linux"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "Select the memory size of your graphics card"
-msgstr "Diuzit ment memor ho kartenn c'hrafek"
+#: ../../share/advertising/13-mdkcampus.pl_.c:12
+msgid ""
+"Whether you choose to teach yourself online or via our network of training "
+"partners, the Linux-Campus catalogue prepares you for the acknowledged LPI "
+"certification program (worldwide professional technical certification)"
+msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../share/advertising/14-mdkexpert.pl_.c:9
+#, fuzzy
+msgid "Become a MandrakeExpert"
+msgstr "MandrakeExpert"
+
+#: ../../share/advertising/14-mdkexpert.pl_.c:10
msgid ""
-"[OPTIONS]\n"
-"Network & Internet connection and monitoring application\n"
-"\n"
-"--defaultintf interface : show this interface by default\n"
-"--connect : connect to internet if not already connected\n"
-"--disconnect : disconnect to internet if already connected\n"
-"--force : used with (dis)connect : force (dis)connection.\n"
-"--status : returns 1 if connected 0 otherwise, then exit.\n"
-"--quiet : don't be interactive. To be used with (dis)connect."
+"Find the solutions of your problems via MandrakeSoft's online support "
+"platform"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Dynamic IP Address Pool:"
+#: ../../share/advertising/14-mdkexpert.pl_.c:11
+msgid ""
+"Join the MandrakeSoft support teams and the Linux Community online to share "
+"your knowledge and help others by becoming a recognized Expert on the online "
+"technical support website:"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "LVM name?"
-msgstr "Anv LVM?"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:9
+#, fuzzy
+msgid "MandrakeExpert Corporate"
+msgstr "MandrakeExpert"
-#: ../../standalone/service_harddrake:1
-#, c-format
-msgid "Some devices in the \"%s\" hardware class were removed:\n"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:10
+msgid "An online platform to respond to company's specific support needs"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Found %s %s interfaces"
-msgstr "Kavet etrefas %s %s"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "sticky-bit"
+#: ../../share/advertising/15-mdkexpert-corporate.pl_.c:11
+msgid ""
+"All incidents will be followed up by a single qualified MandrakeSoft "
+"technical expert."
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Post Install"
-msgstr "Staliañ"
+#: ../../share/advertising/17-mdkclub.pl_.c:9
+msgid "Discover MandrakeClub and Mandrake Corporate Club"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "The internal domain name"
-msgstr "Moullerez lec'hel"
+#: ../../share/advertising/17-mdkclub.pl_.c:10
+msgid ""
+"MandrakeClub and Mandrake Corporate Club were created for business and "
+"private users of Mandrake Linux who would like to directly support their "
+"favorite Linux distribution while also receiving special privileges. If you "
+"enjoy our products, if your company benefits from our products to gain a "
+"competititve edge, if you want to support Mandrake Linux development, join "
+"MandrakeClub!"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IRQ"
-msgstr "IRQ kartenn"
+#: ../../standalone.pm_.c:21
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone.pm_.c:40
msgid ""
-"Arguments: (umask)\n"
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
"\n"
-"Set the user umask."
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version name.\n"
msgstr ""
-#: ../../standalone/logdrake:1 ../../ugtk.pm:1
-#, c-format
-msgid "logdrake"
+#: ../../standalone.pm_.c:51
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of mandrake tools\n"
+" --incident - program should be one of mandrake tools"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
+#: ../../standalone.pm_.c:57
msgid ""
"Font Importation and monitoring "
"application \n"
@@ -11236,6074 +8971,4488 @@ msgid ""
" : and gs for ghostscript for only this one."
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#: ../../standalone.pm_.c:68
+msgid ""
+"[OPTIONS]...\n"
+"\t --debug print debugging information"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Choose the floppy drive you want to use to make the bootdisk"
+#: ../../standalone.pm_.c:70
+msgid ""
+"[OPTIONS]...\n"
+"Mandrake Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
msgstr ""
-"Dibabit al lenner pladennig a vennit implijout evit ober ar bladenn loc'hañ"
-
-#: ../../bootloader.pm:1 ../../help.pm:1
-#, c-format
-msgid "LILO with text menu"
-msgstr "LILO gant meuziad skrid"
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid "Everything (no firewall)"
-msgstr ""
+#: ../../standalone.pm_.c:82
+#, fuzzy
+msgid "[keyboard]"
+msgstr "Stokellaoueg"
-#: ../../any.pm:1
-#, c-format
-msgid "You must specify a kernel image"
+#: ../../standalone.pm_.c:83
+msgid "[--file=myfyle] [--word=myword] [--explain=regexp] [--alert]"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on USB"
+#: ../../standalone.pm_.c:84
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : don't be interactive. To be used with (dis)connect."
msgstr ""
-#: ../../interactive/newt.pm:1
-#, fuzzy, c-format
-msgid "Do"
-msgstr "Graet"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Contacting the mirror to get the list of available packages..."
-msgstr "O taremprediñ ar melezour evit kaout roll ar pakadoù hegerz"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian AZERTY (old)"
-msgstr "Lituaniek AZERTY (kozh)"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Brazilian (ABNT-2)"
-msgstr "Brasilek (ABNT-2)"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "IP address of host/network:"
+#: ../../standalone.pm_.c:93
+msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone.pm_.c:94
msgid ""
-"the progress bar y coordinate\n"
-"of its upper left corner"
+"[OPTION]...\n"
+" --no-confirmation don't ask first confirmation question in "
+"MandrakeUpdate mode\n"
+" --no-verify-rpm don't verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
msgstr ""
-#: ../../install_gtk.pm:1
-#, fuzzy, c-format
-msgid "System installation"
-msgstr "Staliadur SILO"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Vincent and the Grenadines"
+#: ../../standalone.pm_.c:99
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_desc_dir] [--update-usbtable] "
+"[--dynamic=dev]"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Open"
+#: ../../standalone.pm_.c:100
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
msgstr ""
-#: ../../security/help.pm:1
+#: ../../standalone.pm_.c:114
#, c-format
msgid ""
-"Arguments: (arg)\n"
"\n"
-"The argument specifies if clients are authorized to connect\n"
-"to the X server on the tcp port 6000 or not."
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
msgstr ""
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Location of auto_install.cfg file"
-msgstr "O krouiñ ur bladennig staliañ emgefreek"
+#: ../../standalone.pm_.c:168
+msgid "Installing packages..."
+msgstr "O staliañ pakadoù..."
-#: ../../any.pm:1
-#, c-format
-msgid "Open Firmware Delay"
-msgstr ""
+#: ../../standalone/XFdrake_.c:138
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Dizereit mar plij ha neuze implijit Ctrl-Alt-WarGil"
-#: ../../lang.pm:1
+#: ../../standalone/XFdrake_.c:142
#, c-format
-msgid "Hungary"
-msgstr "Hongri"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Total progress"
-msgstr "Amprouiñ ar porzhioù"
+msgid "Please relog into %s to activate the changes"
+msgstr "Adereit ouzh %s evit bevaat ar c'hemmoù mar plij"
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Color configuration"
+#: ../../standalone/drakTermServ_.c:239
+#, fuzzy
+msgid "Mandrake Terminal Server Configuration"
msgstr "Kefluniañ ar proksioù"
-#: ../../lang.pm:1
-#, c-format
-msgid "New Zealand"
-msgstr "Zeland Nevez"
+#: ../../standalone/drakTermServ_.c:253
+#, fuzzy
+msgid "Enable Server"
+msgstr "Stlennvonioù"
-#: ../../security/level.pm:1
-#, c-format
-msgid ""
-"There are already some restrictions, and more automatic checks are run every "
-"night."
-msgstr ""
+#: ../../standalone/drakTermServ_.c:260
+#, fuzzy
+msgid "Disable Server"
+msgstr "Stlennvonioù"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "please choose the date to restore"
-msgstr "Dibabit seurt ho logodenn, mar plij."
+#: ../../standalone/drakTermServ_.c:268
+#, fuzzy
+msgid "Start Server"
+msgstr "Servijer NIS"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Switching from ext2 to ext3"
+#: ../../standalone/drakTermServ_.c:275
+#, fuzzy
+msgid "Stop Server"
+msgstr "Servijer NIS"
+
+#: ../../standalone/drakTermServ_.c:283
+#, fuzzy
+msgid "Etherboot Floppy/ISO"
+msgstr "Krouiñ ur bladennig loc'hañ"
+
+#: ../../standalone/drakTermServ_.c:288
+msgid "Net Boot Images"
msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng"
-msgstr "LPRng"
+#: ../../standalone/drakTermServ_.c:294
+#, fuzzy
+msgid "Add/Del Users"
+msgstr "Ouzhpennañ un arveriad"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Netherlands Antilles"
-msgstr "Izelvroioù"
+#: ../../standalone/drakTermServ_.c:299
+msgid "Add/Del Clients"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Browse to new restore repository."
+#: ../../standalone/drakTermServ_.c:328
+msgid ""
+"\n"
+" Copyright (C) 2002 by MandrakeSoft \n"
+"\tStew Benedict sbenedict\\@mandrakesoft.com\n"
+"\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:332
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
"\n"
-"This wizard allows you to install local or remote printers to be used from "
-"this machine and also from other machines in the network.\n"
+" Thanks:\n"
+"\t- LTSP Project http://www.ltsp.org\n"
+"\t- Michael Brown <mbrown\\@fensystems.co.uk>\n"
"\n"
-"It asks you for all necessary information to set up the printer and gives "
-"you access to all available printer drivers, driver options, and printer "
-"connection types."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "and %d unknown printers"
-msgstr "Moullerez lec'hel"
-
-#: ../../standalone/harddrake2:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:365
msgid ""
-"Early Intel Pentium chips manufactured have a bug in their floating point "
-"processor which did not achieve the required precision when performing a "
-"Floating point DIVision (FDIV)"
+"drakTermServ Overview\n"
+"\t\t\t \n"
+" - Create Etherboot Enabled Boot Images:\n"
+" \t\tTo boot a kernel via etherboot, a special kernel/initrdrd image "
+"must be created.\n"
+" \t\tmkinitrd-net does much of this work and drakTermServ is just a "
+"graphical interface\n"
+" \t\tto help manage/customize these images.\n"
+"\n"
+" - Maintain /etc/dhcpd.conf:\n"
+" \t\tTo net boot clients, each client needs a dhcpd.conf entry, "
+"assigning an IP address\n"
+" \t\tand net boot images to the machine. drakTermServ helps create/"
+"remove these entries.\n"
+"\t\t\t\n"
+" \t\t(PCI cards may omit the image - etherboot will request the "
+"correct image. You should\n"
+" \t\talso consider that when etherboot looks for the images, it "
+"expects names like\n"
+" \t\tboot-3c59x.nbi, rather than boot-3c59x.2.4.19-16mdk.nbi).\n"
+"\t\t\t \n"
+" \t\tA typical dhcpd.conf stanza to support a diskless client looks "
+"like:\n"
+" \t\t\n"
+"\t\t\t\thost curly {\n"
+"\t\t\t\t\thardware ethernet 00:20:af:2f:f7:9d;\n"
+"\t\t\t\t\tfixed-address 192.168.192.3;\n"
+"\t\t\t\t\t/*type fat;*/\n"
+"\t\t\t\t\tfilename \"i386/boot/boot-3c509.2.4.18-6mdk."
+"nbi\";\n"
+"\t\t\t\t}\n"
+"\t\t\t\n"
+"\t\t\tWhile you can use a pool of IP addresses, rather than setup a specific "
+"entry for\n"
+"\t\t\ta client machine, using a fixed address scheme facilitates using the "
+"functionality\n"
+"\t\t\tof client-specific configuration files that ClusterNFS provides.\n"
+"\t\t\t\n"
+"\t\t\tNote: The \"/*type\" entry is only used by drakTermServ. Clients can "
+"either be \"thin\"*/\n"
+"\t\t\tor 'fat'. Thin clients run most software on the server via xdmcp, "
+"while fat clients run most\n"
+"\t\t\tsoftware on the client machine. A special inittab, /etc/inittab\\$\\"
+"$IP=client_ip\\$\\$ is\n"
+"\t\t\twritten for thin clients. System config files xdm-config, kdmrc, and "
+"gdm.conf are modified\n"
+"\t\t\tif thin clients are used, to enable xdmcp. Since there are security "
+"issues in using xdmcp,\n"
+"\t\t\thosts.deny and hosts.allow are modified to limit access to the local "
+"subnet.\n"
+"\t\t\t\n"
+"\t\t\tNote: You must stop/start the server after adding or changing "
+"clients.\n"
+"\t\t\t\n"
+" - Maintain /etc/exports:\n"
+" \t\tClusternfs allows export of the root filesystem to diskless "
+"clients. drakTermServ\n"
+" \t\tsets up the correct entry to allow anonymous access to the root "
+"filesystem from\n"
+" \t\tdiskless clients.\n"
+"\n"
+" \t\tA typical exports entry for clusternfs is:\n"
+" \t\t\n"
+" \t\t/ (ro,all_squash)\n"
+" \t\t/home SUBNET/MASK(rw,root_squash)\n"
+"\t\t\t\n"
+"\t\t\tWith SUBNET/MASK being defined for your network.\n"
+" \t\t\n"
+" - Maintain /etc/shadow\\$\\$CLIENT\\$\\$:\n"
+" \t\tFor users to be able to log into the system from a diskless "
+"client, their entry in\n"
+" \t\t/etc/shadow needs to be duplicated in /etc/shadow\\$\\$CLIENTS\\$"
+"\\$. drakTermServ helps\n"
+" \t\tin this respect by adding or removing system users from this "
+"file.\n"
+"\n"
+" - Per client /etc/X11XF86Config-4\\$\\$IP-ADDRESS\\$\\$:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future drakTermServ "
+"will help create these\n"
+" \t\tfiles.\n"
+"\n"
+" - Per client system configuration files:\n"
+" \t\tThrough clusternfs, each diskless client can have it's own "
+"unique configuration files\n"
+" \t\ton the root filesystem of the server. In the future, "
+"drakTermServ can help create files\n"
+" \t\tsuch as /etc/modules.conf, /etc/sysconfig/mouse, /etc/sysconfig/"
+"keyboard on a per-client\n"
+" \t\tbasis.\n"
+"\n"
+" - /etc/xinetd.d/tftp:\n"
+" \t\tdrakTermServ will configure this file to work in conjunction "
+"with the images created by\n"
+" \t\tmkinitrd-net, and the entries in /etc/dhcpd.conf, to serve up "
+"the boot image to each\n"
+" \t\tdiskless client.\n"
+"\n"
+" \t\tA typical tftp configuration file looks like:\n"
+" \t\t\n"
+" \t\tservice tftp\n"
+" \t\t(\n"
+" disable = no\n"
+" socket_type = dgram\n"
+" protocol = udp\n"
+" wait = yes\n"
+" user = root\n"
+" server = /usr/sbin/in.tftpd\n"
+" server_args = -s /var/lib/tftpboot\n"
+" \t\t}\n"
+" \t\t\n"
+" \t\tThe changes here from the default installation are changing the "
+"disable flag to\n"
+" \t\t'no' and changing the directory path to /var/lib/tftpboot, where "
+"mkinitrd-net\n"
+" \t\tputs it's images.\n"
+"\n"
+" - Create etherboot floppies/CDs:\n"
+" \t\tThe diskless client machines need either ROM images on the NIC, "
+"or a boot floppy\n"
+" \t\tor CD to initate the boot sequence. drakTermServ will help "
+"generate these images,\n"
+" \t\tbased on the NIC in the client machine.\n"
+" \t\t\n"
+" \t\tA basic example of creating a boot floppy for a 3Com 3c509 "
+"manually:\n"
+" \t\t\n"
+" \t\tcat /usr/lib/etherboot/boot1a.bin /\\n \t\t\t/usr/lib/"
+"etherboot/lzrom/3c509.lzrom > /dev/fd0\n"
+" \n"
+"\n"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "No ISDN PCI card found. Please select one on the next screen."
+#: ../../standalone/drakTermServ_.c:488
+msgid "Boot Floppy"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "GB"
-msgstr "Go"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Please give a user name"
-msgstr "Roit un anv arveriad mar plij"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Enable CD Boot?"
+#: ../../standalone/drakTermServ_.c:490
+msgid "Boot ISO"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid " enter `void' for void entry"
+#: ../../standalone/drakTermServ_.c:559
+msgid "Build Whole Kernel -->"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "on Hard Drive"
+#: ../../standalone/drakTermServ_.c:561 ../../standalone/drakTermServ_.c:591
+msgid "This will take a few minutes."
msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Winmodem connection"
-msgstr "Kefluniañ ur rouedad"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Congratulations, your printer is now installed and configured!\n"
-"\n"
-"You can print using the \"Print\" command of your application (usually in "
-"the \"File\" menu).\n"
-"\n"
-"If you want to add, remove, or rename a printer, or if you want to change "
-"the default option settings (paper input tray, printout quality, ...), "
-"select \"Printer\" in the \"Hardware\" section of the Mandrake Control "
-"Center."
+#: ../../standalone/drakTermServ_.c:573
+msgid "No kernel selected!"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Set the password history length to prevent password reuse."
+#: ../../standalone/drakTermServ_.c:576
+msgid "Build Single NIC -->"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Now, you can run xawtv (under X Window!) !\n"
+#: ../../standalone/drakTermServ_.c:587
+#, fuzzy
+msgid "No nic selected!"
+msgstr "Lugerezh ar voullerez"
+
+#: ../../standalone/drakTermServ_.c:590
+msgid "Build All Kernels -->"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Not enough swap space to fulfill installation, please add some"
-msgstr "Ket a-walc'h a zisloañ evit peurstaliañ, kreskit anezhañ mar plij"
+#: ../../standalone/drakTermServ_.c:604
+#, fuzzy
+msgid "<-- Delete"
+msgstr "Dilemel"
-#. -PO: example: lilo-graphic on /dev/hda1
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "%s on %s"
-msgstr "Paour"
+#: ../../standalone/drakTermServ_.c:611
+#, fuzzy
+msgid "Delete All NBIs"
+msgstr "Diuzit ar restr"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:668
msgid ""
-"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
-"local time according to the time zone you selected. If the clock on your\n"
-"motherboard is set to local time, you may deactivate this by unselecting\n"
-"\"%s\", which will let GNU/Linux know that the system clock and the\n"
-"hardware clock are in the same timezone. This is useful when the machine\n"
-"also hosts another operating system like Windows.\n"
-"\n"
-"The \"%s\" option will automatically regulate the clock by connecting to a\n"
-"remote time server on the Internet. For this feature to work, you must have\n"
-"a working Internet connection. It is best to choose a time server located\n"
-"near you. This option actually installs a time server that can used by\n"
-"other machines on your local network as well."
+"!!! Indicates the password in the system database is different than\n"
+" the one in the Terminal Server database.\n"
+"Delete/re-add the user to the Terminal Server to enable login."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Which is your timezone?"
-msgstr "Pe seurt a vo ho takad-eur ?"
+#: ../../standalone/drakTermServ_.c:673
+#, fuzzy
+msgid "Add User -->"
+msgstr "Ouzhpennañ un arveriad"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create log file!"
+#: ../../standalone/drakTermServ_.c:681
+msgid "<-- Del User"
msgstr ""
-#: ../../lang.pm:1
+#: ../../standalone/drakTermServ_.c:720
#, fuzzy, c-format
-msgid "Guinea"
-msgstr "Rummel"
-
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "The system is now connected to the Internet."
-msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
+msgid "type: %s"
+msgstr "Seurt : "
-#: ../../lang.pm:1
-#, c-format
-msgid "South Georgia and the South Sandwich Islands"
+#: ../../standalone/drakTermServ_.c:753
+msgid "No net boot images created!"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Japan (broadcast)"
+#: ../../standalone/drakTermServ_.c:773
+msgid "Thin Client"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Mozambique"
+#: ../../standalone/drakTermServ_.c:775
+msgid "Allow Thin Clients"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Icon"
-msgstr "Arlun"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please choose what you want to backup"
-msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "256 colors (8 bits)"
-msgstr "256 liv (8 bit)"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Read-write"
-msgstr "Lenn-skrivañ "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Size: %s\n"
-msgstr "Ment: %s\n"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Hostname: "
-msgstr "Anv an ostiz : "
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Chunk size %s\n"
-msgstr "Ment diaoz %s\n"
+#: ../../standalone/drakTermServ_.c:778
+msgid "Add Client -->"
+msgstr ""
-#: ../../share/advertising/02-community.pl:1
-#, c-format
-msgid "Build the future of Linux!"
+#: ../../standalone/drakTermServ_.c:821
+msgid "<-- Edit Client"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Local Printer"
-msgstr "Moullerez lec'hel"
+#: ../../standalone/drakTermServ_.c:837
+#, fuzzy
+msgid "Delete Client"
+msgstr "Dilemel"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-" Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s@epita."
-"fr>"
-msgstr "Copyright (C) 2001-2002 MandrakeSoft gant DUPONT Sebastien <dupont_s@epita.fr>"
+#: ../../standalone/drakTermServ_.c:843
+#, fuzzy
+msgid "dhcpd Config..."
+msgstr "Kefluniañ IDE"
-#: ../../standalone.pm:1
-#, c-format
-msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+#: ../../standalone/drakTermServ_.c:876
+msgid ""
+"Need to restart the Display Manager for full changes to take effect. \n"
+"(service dm restart - at the console)"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "ADSL connection"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No configuration, please click Wizard or Advanced.\n"
+#: ../../standalone/drakTermServ_.c:894
+msgid "Subnet:"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "Error!"
-msgstr "Fazi!"
+#: ../../standalone/drakTermServ_.c:901
+#, fuzzy
+msgid "Netmask:"
+msgstr "Maskl rouedad"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "cable connection detected"
-msgstr "Lugerezh ar voullerez"
+#: ../../standalone/drakTermServ_.c:908
+msgid "Routers:"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Permission denied transferring %s to %s"
+#: ../../standalone/drakTermServ_.c:915
+msgid "Subnet Mask:"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/_Report Bug"
+#: ../../standalone/drakTermServ_.c:922
+msgid "Broadcast Address:"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Resize"
-msgstr "Adventañ"
+#: ../../standalone/drakTermServ_.c:929
+#, fuzzy
+msgid "Domain Name:"
+msgstr "Anv ar domani"
-#: ../../lang.pm:1
-#, c-format
-msgid "Dominica"
-msgstr "Dominik"
+#: ../../standalone/drakTermServ_.c:937
+#, fuzzy
+msgid "Name Servers:"
+msgstr "Servijer NIS"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please enter the device name to use for backup"
+#: ../../standalone/drakTermServ_.c:948
+msgid "IP Range Start:"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Resolution: %s\n"
-msgstr "Spister: %s\n"
+#: ../../standalone/drakTermServ_.c:949
+msgid "IP Range End:"
+msgstr ""
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "matching"
-msgstr "O vrasjediñ"
+#: ../../standalone/drakTermServ_.c:1001
+#, fuzzy
+msgid "dhcpd Server Configuration"
+msgstr "Kefluniadur"
-#: ../../install2.pm:1
-#, c-format
+#: ../../standalone/drakTermServ_.c:1002
msgid ""
-"Can't access kernel modules corresponding to your kernel (file %s is "
-"missing), this generally means your boot floppy in not in sync with the "
-"Installation medium (please create a newer boot floppy)"
+"Most of these values were extracted\n"
+"from your running system.\n"
+"You can modify as needed."
msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid ""
-"Please select the correct port. For example, the \"COM1\" port under\n"
-"Windows is named \"ttyS0\" under GNU/Linux."
+#: ../../standalone/drakTermServ_.c:1005
+msgid "Dynamic IP Address Pool:"
msgstr ""
-"Diuzit ar porzh a zere mar plij. Da skouer, porzh COM1 dindan MS Windows\n"
-"a vez anvet ttyS0 gant Linux."
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "The following packages are going to be removed"
-msgstr "Ar pakadoù a-heul a zo war-nes bezañ staliet/lamet"
+#: ../../standalone/drakTermServ_.c:1018
+#, fuzzy
+msgid "Write Config"
+msgstr "Kefluniañ X"
-#: ../../network/adsl.pm:1 ../../network/ethernet.pm:1
-#, fuzzy, c-format
-msgid "Connect to the Internet"
-msgstr "Anv ar gevreadenn"
+#: ../../standalone/drakTermServ_.c:1120
+#, fuzzy
+msgid "Please insert floppy disk:"
+msgstr "Lakait ur bladennig el lenner %s"
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Use existing partitions"
-msgstr "O furmadiñ parzhadurioù"
+#: ../../standalone/drakTermServ_.c:1124
+msgid "Couldn't access the floppy!"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Canadian (Quebec)"
-msgstr "Kanadian (Kebek)"
+#: ../../standalone/drakTermServ_.c:1126
+msgid "Floppy can be removed now"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Mouse device: %s\n"
-msgstr "Trobarzhell al logodenn : %s\n"
+#: ../../standalone/drakTermServ_.c:1129
+#, fuzzy
+msgid "No floppy drive available!"
+msgstr "Lenner pladennig hegerz ebet"
-#: ../../standalone/drakfont:1
+#: ../../standalone/drakTermServ_.c:1138
#, c-format
-msgid "Reselect correct fonts"
+msgid "Etherboot ISO image is %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Options Description:\n"
-"\n"
-"Please be careful when you are using ftp backup, because only \n"
-"backups that are already built are sent to the server.\n"
-"So at the moment, you need to build the backup on your hard \n"
-"drive before sending it to the server.\n"
-"\n"
+#: ../../standalone/drakTermServ_.c:1140
+msgid "Something went wrong! - Is mkisofs installed?"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Options\n"
-"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+#: ../../standalone/drakTermServ_.c:1159
+msgid "Need to create /etc/dhcpd.conf first!"
msgstr ""
-#: ../../share/advertising/13-mdkexpert_corporate.pl:1
-#, fuzzy, c-format
-msgid "MandrakeExpert Corporate"
-msgstr "MandrakeExpert"
-
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-" [everything]\n"
-" XFdrake [--noauto] monitor\n"
-" XFdrake resolution"
+#: ../../standalone/drakTermServ_.c:1451
+msgid "/etc/hosts.allow and /etc/hosts.deny already configured - not changed"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Write protection"
-msgstr "Dilesadur"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "You've not selected any font"
-msgstr "Lemel ar steudad"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Language"
-msgstr "Dibabit ho yezh"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer model selection"
-msgstr "Lugerezh ar voullerez"
+#: ../../standalone/drakautoinst_.c:40
+msgid "Error!"
+msgstr "Fazi!"
-#: ../../diskdrake/interactive.pm:1
+#: ../../standalone/drakautoinst_.c:41
#, c-format
-msgid ""
-"After changing type of partition %s, all data on this partition will be lost"
+msgid "I can't find needed image file `%s'."
msgstr ""
-"Goude kemmañ seurt ar parzhadur %s, holl roadoù ar parzhadur-se a vo kollet"
-
-#: ../../common.pm:1
-#, c-format
-msgid "%d seconds"
-msgstr "%d eilenn"
-
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakautoinst:1
-#, c-format
-msgid "Insert a blank floppy in drive %s"
-msgstr "Lakait ur bladennig gwerc'h el lenner %s"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A valid URI must be entered!"
-msgstr ""
+#: ../../standalone/drakautoinst_.c:43
+#, fuzzy
+msgid "Auto Install Configurator"
+msgstr "Kefluniadur goude staliañ"
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "Found \"%s\" interface do you want to use it ?"
+#: ../../standalone/drakautoinst_.c:44
+msgid ""
+"You are about to configure an Auto Install floppy. This feature is somewhat "
+"dangerous and must be used circumspectly.\n"
+"\n"
+"With that feature, you will be able to replay the installation you've "
+"performed on this computer, being interactively prompted for some steps, in "
+"order to change their values.\n"
+"\n"
+"For maximum safety, the partitioning and formatting will never be performed "
+"automatically, whatever you chose during the install of this computer.\n"
+"\n"
+"Do you want to continue?"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Re-configure interface and DHCP server"
+#: ../../standalone/drakautoinst_.c:62 ../../standalone/drakautoinst_.c:71
+msgid "manual"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, fuzzy, c-format
-msgid "Sound configuration"
-msgstr "Kefluniadur"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Photo test page"
-msgstr "O voullañ pajenn(où) skrid..."
+#: ../../standalone/drakautoinst_.c:62
+#, fuzzy
+msgid "replay"
+msgstr "Adkargañ"
-#: ../../help.pm:1 ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Custom disk partitioning"
-msgstr "O furmadiñ parzhadurioù"
+#: ../../standalone/drakautoinst_.c:66
+#, fuzzy
+msgid "Automatic Steps Configuration"
+msgstr "Kefluniadur goude staliañ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Enter Printer Name and Comments"
+#: ../../standalone/drakautoinst_.c:67
+msgid ""
+"Please choose for each step whether it will replay like your install, or it "
+"will be manual"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakautoinst_.c:78 ../../standalone/drakautoinst_.c:79
+#, fuzzy
+msgid "Creating auto install floppy"
+msgstr "O krouiñ ur bladennig staliañ emgefreek"
+
+#: ../../standalone/drakautoinst_.c:139
msgid ""
-"The following printers\n"
"\n"
-"%s%s\n"
-"are directly connected to your system"
-msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
+"Welcome.\n"
+"\n"
+"The parameters of the auto-install are available in the sections on the left"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "type: %s"
-msgstr "Seurt : "
+#: ../../standalone/drakautoinst_.c:234 ../../standalone/drakgw_.c:504
+#: ../../standalone/scannerdrake_.c:117
+msgid "Congratulations!"
+msgstr "Gourc'hemennoù!"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTY)"
-msgstr "Slovakek (QWERTY)"
+#: ../../standalone/drakautoinst_.c:235
+msgid ""
+"The floppy has been successfully generated.\n"
+"You may now replay your installation."
+msgstr ""
-#: ../../standalone/draksound:1
-#, fuzzy, c-format
-msgid "No Sound Card detected!"
-msgstr "Lugerezh ar voullerez"
+#: ../../standalone/drakautoinst_.c:273
+#, fuzzy
+msgid "Auto Install"
+msgstr "Staliañ"
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Mouse Port"
-msgstr "Porzh al logodenn"
+#: ../../standalone/drakautoinst_.c:343
+#, fuzzy
+msgid "Add an item"
+msgstr "Ouzhpennañ un arveriad"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid ""
-"Need to restart the Display Manager for full changes to take effect. \n"
-"(service dm restart - at the console)"
-msgstr ""
+#: ../../standalone/drakautoinst_.c:350
+#, fuzzy
+msgid "Remove the last item"
+msgstr "O furmadiñ ar restr saveteiñ %s"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Ftp Server"
-msgstr "Servijer NIS"
+#: ../../standalone/drakbackup_.c:580
+msgid "Cron not available yet as non-root"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Enable/Disable msec hourly security check."
+#: ../../standalone/drakbackup_.c:690
+msgid "WARNING"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Uganda"
-msgstr "Bremanaat"
+#: ../../standalone/drakbackup_.c:691
+#, fuzzy
+msgid "FATAL"
+msgstr "FAT"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "%s fonts conversion"
+#: ../../standalone/drakbackup_.c:692
+msgid "INFO"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "the type of bus on which the mouse is connected"
-msgstr "Dibabit ar porzh a-steud m'eo luget ho logodenn outañ, mar plij."
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:704
msgid ""
-"Arguments: (size)\n"
"\n"
-"Set shell commands history size. A value of -1 means unlimited."
+" DrakBackup Report \n"
+"\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:705
msgid ""
-"As a review, DrakX will present a summary of information it has about your\n"
-"system. Depending on your installed hardware, you may have some or all of\n"
-"the following entries. Each entry is made up of the configuration item to\n"
-"be configured, followed by a quick summary of the current configuration.\n"
-"Click on the corresponding \"%s\" button to change that.\n"
-"\n"
-" * \"%s\": check the current keyboard map configuration and change that if\n"
-"necessary.\n"
-"\n"
-" * \"%s\": check the current country selection. If you are not in this\n"
-"country, click on the \"%s\" button and choose another one. If your country\n"
-"is not in the first list shown, click the \"%s\" button to get the complete\n"
-"country list.\n"
"\n"
-" * \"%s\": By default, DrakX deduces your time zone based on the country\n"
-"you have chosen. You can click on the \"%s\" button here if this is not\n"
-"correct.\n"
-"\n"
-" * \"%s\": check the current mouse configuration and click on the button to\n"
-"change it if necessary.\n"
-"\n"
-" * \"%s\": clicking on the \"%s\" button will open the printer\n"
-"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
-"Guide'' for more information on how to setup a new printer. The interface\n"
-"presented there is similar to the one used during installation.\n"
-"\n"
-" * \"%s\": if a sound card is detected on your system, it is displayed\n"
-"here. If you notice the sound card displayed is not the one that is\n"
-"actually present on your system, you can click on the button and choose\n"
-"another driver.\n"
-"\n"
-" * \"%s\": by default, DrakX configures your graphical interface in\n"
-"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
-"\"%s\" to reconfigure your graphical interface.\n"
-"\n"
-" * \"%s\": if a TV card is detected on your system, it is displayed here.\n"
-"If you have a TV card and it is not detected, click on \"%s\" to try to\n"
-"configure it manually.\n"
-"\n"
-" * \"%s\": if an ISDN card is detected on your system, it will be displayed\n"
-"here. You can click on \"%s\" to change the parameters associated with the\n"
-"card.\n"
+" DrakBackup Daemon Report\n"
"\n"
-" * \"%s\": If you want to configure your Internet or local network access\n"
-"now.\n"
"\n"
-" * \"%s\": this entry allows you to redefine the security level as set in a\n"
-"previous step ().\n"
+msgstr ""
+
+#: ../../standalone/drakbackup_.c:709
+msgid ""
"\n"
-" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
-"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
-"the corresponding section of the ``Starter Guide'' for details about\n"
-"firewall settings.\n"
+" DrakBackup Report Details\n"
"\n"
-" * \"%s\": if you wish to change your bootloader configuration, click that\n"
-"button. This should be reserved to advanced users.\n"
"\n"
-" * \"%s\": here you'll be able to fine control which services will be run\n"
-"on your machine. If you plan to use this machine as a server it's a good\n"
-"idea to review this setup."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Comoros"
-msgstr ""
+#: ../../standalone/drakbackup_.c:730 ../../standalone/drakbackup_.c:803
+#: ../../standalone/drakbackup_.c:859
+#, fuzzy
+msgid "Total progess"
+msgstr "Amprouiñ ar porzhioù"
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
+#: ../../standalone/drakbackup_.c:785
+#, c-format
msgid ""
+"%s exists, delete?\n"
"\n"
-"\n"
-"\n"
-"We are now going to configure the %s connection.\n"
-"\n"
-"\n"
-"Press OK to continue."
-msgstr "Kefluniañ ur rouedad"
+"Warning: If you've already done this process you'll probably\n"
+" need to purge the entry from authorized_keys on the server."
+msgstr ""
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Yaboot mode"
-msgstr "Trobarzhell loc'hañ"
+#: ../../standalone/drakbackup_.c:794
+msgid "This may take a moment to generate the keys."
+msgstr ""
-#: ../../standalone/drakxtv:1
+#: ../../standalone/drakbackup_.c:801
#, c-format
-msgid "USA (cable)"
+msgid "ERROR: Cannot spawn %s."
msgstr ""
-#: ../../standalone/drakboot:1
+#: ../../standalone/drakbackup_.c:818
#, c-format
-msgid ""
-"Can't relaunch LiLo!\n"
-"Launch \"lilo\" as root in command line to complete LiLo theme installation."
+msgid "No password prompt on %s at port %s"
msgstr ""
-#: ../../mouse.pm:1
+#: ../../standalone/drakbackup_.c:819
+#, fuzzy, c-format
+msgid "Bad password on %s"
+msgstr "Tremenger ebet"
+
+#: ../../standalone/drakbackup_.c:820
#, c-format
-msgid "Generic 3 Button Mouse"
-msgstr "Logodenn rummel 3 nozelenn"
+msgid "Permission denied transferring %s to %s"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:821
#, fuzzy, c-format
-msgid "Select another media to restore from"
-msgstr "Dibabit seurt ho logodenn, mar plij."
+msgid "Can't find %s on %s"
+msgstr "Fazi en ur zigeriñ %s evit skrivañ : %s"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Software Manager"
-msgstr "Anv rannet"
+#: ../../standalone/drakbackup_.c:824
+#, c-format
+msgid "%s not responding"
+msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakbackup_.c:828
#, c-format
msgid ""
-"Restore Description:\n"
-" \n"
-"Only the most recent date will be used, because with incremental \n"
-"backups it is necessary to restore one by one each older backup.\n"
-"\n"
-"So if you don't want to restore a user please unselect all their\n"
-"check boxes.\n"
-"\n"
-"Otherwise, you are able to select only one of these.\n"
-"\n"
-" - Incremental Backups:\n"
-"\n"
-"\tThe incremental backup is the most powerful option for \n"
-"\tbackup. This option allows you to backup all your data \n"
-"\tthe first time, and only the changed data afterward.\n"
-"\tThen you will be able, during the restore step, to restore \n"
-"\tyour data from a specified date. If you have not selected \n"
-"\tthis option all old backups are deleted before each backup. \n"
+"Transfer successful\n"
+"You may want to verify you can login to the server with:\n"
"\n"
-" - Differential Backups:\n"
-" \n"
-"\tThe differential backup, rather than comparing changes in the\n"
-"\tdata to the previous incremental backup, always compares the\n"
-"\tdata to the initial base backup. This method allows one to\n"
-"\trestore the base and then the differential from a certain date.\n"
+"ssh -i %s %s\\@%s\n"
"\n"
+"without being prompted for a password."
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Re-submit"
+#: ../../standalone/drakbackup_.c:873
+msgid "WebDAV remote site already in sync!"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CD in place - continue."
+#: ../../standalone/drakbackup_.c:877
+msgid "WebDAV transfer failed!"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "KB"
-msgstr "Ko"
-
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Network & Internet"
-msgstr "Kefluniadur ar rouedad"
+#: ../../standalone/drakbackup_.c:898
+msgid "No CDR/DVDR in drive!"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"phonetic\" QWERTY"
-msgstr "Lituaniek QUERTY \"soniadel\""
+#: ../../standalone/drakbackup_.c:902
+msgid "Does not appear to be recordable media!"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Net Boot Images"
+#: ../../standalone/drakbackup_.c:906
+msgid "Not erasable media!"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Sharing of local scanners"
-msgstr "Pakadoù hegerz"
+#: ../../standalone/drakbackup_.c:945
+msgid "This may take a moment to erase the media."
+msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Plug'n Play probing failed. Please select the correct monitor"
+#: ../../standalone/drakbackup_.c:1033
+msgid "Permission problem accessing CD."
msgstr ""
-#: ../../services.pm:1
+#: ../../standalone/drakbackup_.c:1060
#, c-format
-msgid "Services and deamons"
+msgid "No tape in %s!"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remote host name missing!"
-msgstr "Anv an ostiz a-bell"
+#: ../../standalone/drakbackup_.c:1174 ../../standalone/drakbackup_.c:1223
+msgid "Backup system files..."
+msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "with /usr"
-msgstr "gant /usr"
+#: ../../standalone/drakbackup_.c:1224 ../../standalone/drakbackup_.c:1291
+#, fuzzy
+msgid "Hard Disk Backup files..."
+msgstr "Restr gwareziñ siek"
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Network"
-msgstr "Taolenn"
+#: ../../standalone/drakbackup_.c:1236
+#, fuzzy
+msgid "Backup User files..."
+msgstr "Restr gwareziñ siek"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected to machines running Microsoft Windows"
+#: ../../standalone/drakbackup_.c:1237
+msgid "Hard Disk Backup Progress..."
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "This password is too simple"
-msgstr "Re eeun eo an tremeger"
+#: ../../standalone/drakbackup_.c:1290
+#, fuzzy
+msgid "Backup Other files..."
+msgstr "Restr gwareziñ siek"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Slovakian (QWERTZ)"
-msgstr "Slovakek (QWERTZ)"
+#: ../../standalone/drakbackup_.c:1296
+#, fuzzy
+msgid "No changes to backup!"
+msgstr "Restr gwareziñ siek"
-#: ../../share/advertising/06-development.pl:1
+#: ../../standalone/drakbackup_.c:1312 ../../standalone/drakbackup_.c:1335
#, c-format
msgid ""
-"To modify and to create in different languages such as Perl, Python, C and C+"
-"+ has never been so easy thanks to GNU gcc 3 and the best Open Source "
-"development environments."
+"\n"
+"Drakbackup activities via %s:\n"
+"\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:1319
#, c-format
-msgid "Truly minimal install (especially no urpmi)"
+msgid ""
+"file list sent by FTP: %s\n"
+" "
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1322
msgid ""
-" Transfer \n"
-"Now"
+"\n"
+" FTP connection problem: It was not possible to send your backup files by "
+"FTP.\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use daemon"
-msgstr "Anv arveriad"
-
-#: ../../install_steps_interactive.pm:1 ../../network/modem.pm:1
-#: ../../standalone/drakconnect:1 ../../standalone/logdrake:1
-#, c-format
-msgid "Authentication"
-msgstr "Dilesadur"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add this printer to Star Office/OpenOffice.org/GIMP"
+#: ../../standalone/drakbackup_.c:1340
+msgid ""
+"\n"
+"Drakbackup activities via CD:\n"
+"\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Additional CUPS servers: "
-msgstr "IP ar servijer SMB"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1345
msgid ""
-"Choose one of the auto-detected printers from the list or enter the hostname "
-"or IP and the optional port number (default is 9100) in the input fields."
+"\n"
+"Drakbackup activities via tape:\n"
+"\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Where do you want to mount %s?"
-msgstr "Pelec'h e mennit marc'hañ an drobarzhell %s ?"
+#: ../../standalone/drakbackup_.c:1354
+#, fuzzy
+msgid " Error during mail sending. \n"
+msgstr "Fazi en ur lenn ar restr %s"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Via Network"
-msgstr "Adaozañ adalek ar restr"
+#: ../../standalone/drakbackup_.c:1380
+msgid "Can't create catalog!"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Algeria"
-msgstr "Aljeri"
+#: ../../standalone/drakbackup_.c:1490 ../../standalone/drakbackup_.c:1501
+#: ../../standalone/drakfont_.c:946
+#, fuzzy
+msgid "File Selection"
+msgstr "Diuzadenn strollad pakadoù"
-#: ../../any.pm:1
-#, c-format
-msgid "Initrd-size"
-msgstr "Ment an Initrd"
+#: ../../standalone/drakbackup_.c:1529
+msgid "Select the files or directories and click on 'Add'"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1573
msgid ""
-"In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs."
+"\n"
+"Please check all options that you need.\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tBackups use tar and gzip\n"
+#: ../../standalone/drakbackup_.c:1574
+msgid ""
+"These options can backup and restore all files in your /etc directory.\n"
msgstr ""
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "2 MB"
-msgstr "2 Mo"
+#: ../../standalone/drakbackup_.c:1575
+#, fuzzy
+msgid "Backup your System files. (/etc directory)"
+msgstr "Restr gwareziñ siek"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Control keys simultaneously"
+#: ../../standalone/drakbackup_.c:1576
+msgid "Use incremental backup (do not replace old backups)"
msgstr ""
-#: ../../standalone.pm:1
-#, c-format
-msgid ""
-"[OPTION]...\n"
-" --no-confirmation don't ask first confirmation question in "
-"MandrakeUpdate mode\n"
-" --no-verify-rpm don't verify packages signatures\n"
-" --changelog-first display changelog before filelist in the "
-"description window\n"
-" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+#: ../../standalone/drakbackup_.c:1577
+msgid "Do not include critical files (passwd, group, fstab)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Setting Default Printer..."
-msgstr "Moullerez lec'hel"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Interface %s (using module %s)"
+#: ../../standalone/drakbackup_.c:1578
+msgid ""
+"With this option you will be able to restore any version\n"
+" of your /etc directory."
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Generating preview ..."
-msgstr "O tinoiñ trobarzhelloù..."
+#: ../../standalone/drakbackup_.c:1595
+#, fuzzy
+msgid "Please check all users that you want to include in your backup."
+msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-#: ../../network/network.pm:1
-#, c-format
-msgid ""
-"Freq should have the suffix k, M or G (for example, \"2.46G\" for 2.46 GHz "
-"frequency), or add enough '0' (zeroes)."
+#: ../../standalone/drakbackup_.c:1622
+msgid "Do not include the browser cache"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device on parallel port #%s"
+#: ../../standalone/drakbackup_.c:1623 ../../standalone/drakbackup_.c:1647
+msgid "Use Incremental Backups (do not replace old backups)"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "serial"
-msgstr "a-steud"
+#: ../../standalone/drakbackup_.c:1645 ../../standalone/drakfont_.c:1000
+#, fuzzy
+msgid "Remove Selected"
+msgstr "Lemel ar steudad"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "DVD-ROM"
+#: ../../standalone/drakbackup_.c:1679
+msgid "Windows (FAT32)"
+msgstr "Windows (FAT32)"
+
+#: ../../standalone/drakbackup_.c:1714
+#, fuzzy
+msgid "Users"
+msgstr "Anv arveriad"
+
+#: ../../standalone/drakbackup_.c:1740
+#, fuzzy
+msgid "Use network connection to backup"
+msgstr "Restr gwareziñ siek"
+
+#: ../../standalone/drakbackup_.c:1742
+msgid "Net Method:"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Latin\" layout)"
-msgstr "Jorjiek (reizhadur \"Latin\")"
+#: ../../standalone/drakbackup_.c:1746
+msgid "Use Expect for SSH"
+msgstr ""
-#: ../../share/advertising/09-mdksecure.pl:1
-#, c-format
-msgid "Get the best items with Mandrake Linux Strategic partners"
+#: ../../standalone/drakbackup_.c:1747
+msgid ""
+"Create/Transfer\n"
+"backup keys for SSH"
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1748
msgid ""
-"You may now provide options to module %s.\n"
-"Note that any address should be entered with the prefix 0x like '0x123'"
+" Transfer \n"
+"Now"
msgstr ""
-#: ../../share/advertising/04-configuration.pl:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1749
msgid ""
-"Mandrake Linux 9.1 provides you with the Mandrake Control Center, a powerful "
-"tool to fully adapt your computer to the use you make of it. Configure and "
-"customize elements such as the security level, the peripherals (screen, "
-"mouse, keyboard...), the Internet connection and much more!"
+"Other (not drakbackup)\n"
+"keys in place already"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kenya"
-msgstr "Kenya"
+#: ../../standalone/drakbackup_.c:1753
+#, fuzzy
+msgid "Please enter the host name or IP."
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../diskdrake/hd_gtk.pm:1
-#, c-format
-msgid "Use ``Unmount'' first"
-msgstr "Implijit ``Divarc'hañ'' da gentañ"
+#: ../../standalone/drakbackup_.c:1758
+msgid ""
+"Please enter the directory (or module) to\n"
+" put the backup on this host."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Installing mtools packages..."
-msgstr "O staliañ pakadoù..."
+#: ../../standalone/drakbackup_.c:1763
+#, fuzzy
+msgid "Please enter your login"
+msgstr "Klaskit adarre mar plij"
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "You must specify a root partition"
-msgstr "Ret eo deoc'h kaout ur parzhadur disloañ"
+#: ../../standalone/drakbackup_.c:1768
+#, fuzzy
+msgid "Please enter your password"
+msgstr "Klaskit adarre mar plij"
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "first step creation"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../standalone/drakbackup_.c:1774
+#, fuzzy
+msgid "Remember this password"
+msgstr "Tremenger ebet"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Both Shift keys simultaneously"
+#: ../../standalone/drakbackup_.c:1785
+msgid "Need hostname, username and password!"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Select a scanner model"
-msgstr "Diuzit ur gartenn c'hrafek"
-
-#: ../../printer/data.pm:1
-#, c-format
-msgid "LPRng - LPR New Generation"
+#: ../../standalone/drakbackup_.c:1879
+msgid "Use CD/DVDROM to backup"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Drakbackup Configuration"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Save as.."
-msgstr "Meuziad Lañsañ"
-
-#: ../../standalone/drakconnect:1
-#, c-format
+#: ../../standalone/drakbackup_.c:1882
msgid ""
-"This interface has not been configured yet.\n"
-"Launch the configuration wizard in the main window"
+"Please choose your CD/DVD device\n"
+"(Press Enter to propogate settings to other fields.\n"
+"This field isn't necessary, only a tool to fill in the form.)"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Korea (North)"
-msgstr "Kore (norzh)"
+#: ../../standalone/drakbackup_.c:1887
+#, fuzzy
+msgid "Please choose your CD/DVD media size (Mb)"
+msgstr "Dibabit reizhadur ho stokellaoueg, mar plij."
-#: ../../any.pm:1
-#, c-format
-msgid "Autologin"
-msgstr "Autologin"
+#
+#: ../../standalone/drakbackup_.c:1893
+#, fuzzy
+msgid "Please check for multisession CD"
+msgstr "Klikit war ur parzhadur mar plij"
-#: ../../install_gtk.pm:1
-#, fuzzy, c-format
-msgid "System configuration"
-msgstr "Kefluniañ ar proksioù"
+#
+#: ../../standalone/drakbackup_.c:1899
+#, fuzzy
+msgid "Please check if you are using CDRW media"
+msgstr "Klikit war ur parzhadur mar plij"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Domain Admin Password"
-msgstr ""
+#
+#: ../../standalone/drakbackup_.c:1905
+#, fuzzy
+msgid "Please check if you want to erase your RW media (1st Session)"
+msgstr "Klikit war ur parzhadur mar plij"
-#: ../../share/advertising/05-desktop.pl:1
-#, c-format
-msgid ""
-"Perfectly adapt your computer to your needs thanks to the 11 available "
-"Mandrake Linux user interfaces which can be fully modified: KDE 3.1, GNOME "
-"2.2, Window Maker, ..."
+#: ../../standalone/drakbackup_.c:1906
+msgid " Erase Now "
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Configuring printer ..."
-msgstr "Kefluniañ ar voullerez"
+#
+#: ../../standalone/drakbackup_.c:1912
+#, fuzzy
+msgid "Please check if you are using a DVDR device"
+msgstr "Klikit war ur parzhadur mar plij"
-#: ../../diskdrake/interactive.pm:1 ../../install_interactive.pm:1
-#, c-format
+#
+#: ../../standalone/drakbackup_.c:1918
+#, fuzzy
+msgid "Please check if you are using a DVDRAM device"
+msgstr "Klikit war ur parzhadur mar plij"
+
+#: ../../standalone/drakbackup_.c:1931
msgid ""
-"To ensure data integrity after resizing the partition(s), \n"
-"filesystem checks will be run on your next boot into Windows(TM)"
+"Please enter your CD Writer device name\n"
+" ex: 0,1,0"
msgstr ""
-#: ../../common.pm:1
-#, c-format
-msgid "MB"
-msgstr "Mo"
+#: ../../standalone/drakbackup_.c:1964
+#, fuzzy
+msgid "No CD device defined!"
+msgstr "Diuzit ar restr"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run some checks against the rpm database."
-msgstr ""
+#: ../../standalone/drakbackup_.c:2012
+#, fuzzy
+msgid "Use tape to backup"
+msgstr "Restr gwareziñ siek"
-#: ../../lang.pm:1
-#, c-format
-msgid "Virgin Islands (British)"
+#: ../../standalone/drakbackup_.c:2015
+msgid "Please enter the device name to use for backup"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Bermuda"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2021
+#, fuzzy
+msgid "Please check if you want to use the non-rewinding device."
+msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "click here if you are sure."
-msgstr ""
+#: ../../standalone/drakbackup_.c:2027
+#, fuzzy
+msgid "Please check if you want to erase your tape before the backup."
+msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"No configuration file found \n"
-"please click Wizard or Advanced."
-msgstr ""
+#: ../../standalone/drakbackup_.c:2033
+#, fuzzy
+msgid "Please check if you want to eject your tape after the backup."
+msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2039 ../../standalone/drakbackup_.c:2112
+#: ../../standalone/drakbackup_.c:3068
msgid ""
-"Listed here are the existing Linux partitions detected on your hard drive.\n"
-"You can keep the choices made by the wizard, since they are good for most\n"
-"common installations. If you make any changes, you must at least define a\n"
-"root partition (\"/\"). Do not choose too small a partition or you will not\n"
-"be able to install enough software. If you want to store your data on a\n"
-"separate partition, you will also need to create a \"/home\" partition\n"
-"(only possible if you have more than one Linux partition available).\n"
-"\n"
-"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
-"\n"
-"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
-"\"partition number\" (for example, \"hda1\").\n"
-"\n"
-"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
-"\"sd\" if it is a SCSI hard drive.\n"
-"\n"
-"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
-"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, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
-"\"second lowest SCSI ID\", etc."
+"Please enter the maximum size\n"
+" allowed for Drakbackup"
msgstr ""
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#, fuzzy, c-format
-msgid "Remove"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../standalone/drakbackup_.c:2103
+#, fuzzy
+msgid "Please enter the directory to save to:"
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../lang.pm:1
-#, c-format
-msgid "Lesotho"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2118 ../../standalone/drakbackup_.c:3074
+#, fuzzy
+msgid "Use quota for backup files."
+msgstr "Restr gwareziñ siek"
-#: ../../ugtk2.pm:1
-#, c-format
-msgid "utopia 25"
-msgstr "utopia 25"
+#: ../../standalone/drakbackup_.c:2180
+#, fuzzy
+msgid "Network"
+msgstr "Taolenn"
-#: ../../printer/main.pm:1
-#, c-format
-msgid "Pipe job into a command"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2185
+msgid "CDROM / DVDROM"
+msgstr "CDROM / DVDROM"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "new dynamic device name generated by core kernel devfs"
+#: ../../standalone/drakbackup_.c:2190
+msgid "HardDrive / NFS"
msgstr ""
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../modules/interactive.pm:1 ../../my_gtk.pm:1 ../../standalone/drakgw:1
-#: ../../standalone/harddrake2:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Yes"
-msgstr "Ya"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Cote d'Ivoire"
-msgstr "Aod an Olifant"
-
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "Which protocol do you want to use?"
-msgstr "Pe seurt parzhadur a vennit ?"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore Progress"
-msgstr "Adaozañ adalek ar restr"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Estonia"
-msgstr "Estoni"
+#: ../../standalone/drakbackup_.c:2195
+#, fuzzy
+msgid "Tape"
+msgstr "Seurt"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Choose the host on which the local scanners should be made available:"
+#: ../../standalone/drakbackup_.c:2208 ../../standalone/drakbackup_.c:2212
+#: ../../standalone/drakbackup_.c:2216
+msgid "hourly"
msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-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."
+#: ../../standalone/drakbackup_.c:2209 ../../standalone/drakbackup_.c:2213
+#: ../../standalone/drakbackup_.c:2216
+msgid "daily"
msgstr ""
-"Un toull a zo en ho taolenn barzhañ hogen n'hellan ket e implijout.\n"
-"Fiñval ar parzhadurioù kentañ derez evit ma vo an toull stok ouzh ar "
-"parzhadurioù astennet eo an diskoulm"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Channel"
-msgstr "Nullañ"
+#: ../../standalone/drakbackup_.c:2210 ../../standalone/drakbackup_.c:2214
+#: ../../standalone/drakbackup_.c:2216
+msgid "weekly"
+msgstr ""
-#: ../../help.pm:1 ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakfont:1
-#, c-format
-msgid "Add"
-msgstr "Ouzhpennañ"
+#: ../../standalone/drakbackup_.c:2211 ../../standalone/drakbackup_.c:2215
+#: ../../standalone/drakbackup_.c:2216
+msgid "monthly"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "No Internet Connection Sharing has ever been configured."
-msgstr "Lugerezh ar voullerez"
+#: ../../standalone/drakbackup_.c:2229
+#, fuzzy
+msgid "Use daemon"
+msgstr "Anv arveriad"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid " Error while sending mail. \n"
-msgstr "Fazi en ur lenn ar restr %s"
+#: ../../standalone/drakbackup_.c:2234
+#, fuzzy
+msgid ""
+"Please choose the time \n"
+"interval between each backup"
+msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Keyboard"
-msgstr "Stokellaoueg"
+#: ../../standalone/drakbackup_.c:2240
+#, fuzzy
+msgid ""
+"Please choose the\n"
+"media for backup."
+msgstr "Diuzit ar yezh da implijout, mar plij."
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2247
msgid ""
-"Insert the CD with volume label %s\n"
-" in the CD drive under mount point /mnt/cdrom"
+"Please be sure that the cron daemon is included in your services. \n"
+"\n"
+"Note that currently all 'net' medias also use the hard drive."
msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid ""
-"Rate should have the suffix k, M or G (for example, \"11M\" for 11M), or add "
-"enough '0' (zeroes)."
+#: ../../standalone/drakbackup_.c:2283
+msgid "Send mail report after each backup to:"
msgstr ""
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Choose the connection you want to configure"
-msgstr "Dibabit ar benveg a vennit staliañ"
+#: ../../standalone/drakbackup_.c:2289
+msgid "Delete Hard Drive tar files after backup to other media."
+msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "Please wait, setting security level..."
-msgstr "O termeniñ al live surentez"
+#: ../../standalone/drakbackup_.c:2324
+msgid "What"
+msgstr "Petra"
-#: ../../share/advertising/06-development.pl:1
-#, c-format
-msgid "Mandrake Linux 9.1: the ultimate development platform"
-msgstr ""
+#: ../../standalone/drakbackup_.c:2329
+msgid "Where"
+msgstr "Pelec'h"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Configuring network device %s"
-msgstr "O kefluniañ an drobarzhell rouedad %s"
+#: ../../standalone/drakbackup_.c:2334
+msgid "When"
+msgstr "Pa"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "activated"
-msgstr "Bevaat"
+#: ../../standalone/drakbackup_.c:2339
+#, fuzzy
+msgid "More Options"
+msgstr "Dibarzhoù ar mollad :"
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Please choose which network interface will be used for the dhcp server."
-msgstr "Dibabit ar porzh a-steud m'eo luget ho logodenn outañ, mar plij."
+#: ../../standalone/drakbackup_.c:2358 ../../standalone/drakbackup_.c:4444
+#, fuzzy
+msgid "Drakbackup Configuration"
+msgstr "Kefluniadur ar rouedad"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Finding packages to upgrade..."
-msgstr "O kavout pakadoù da vremanaat"
+#: ../../standalone/drakbackup_.c:2376
+#, fuzzy
+msgid "Please choose where you want to backup"
+msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount point: "
-msgstr "Poent marc'hañ : "
+#: ../../standalone/drakbackup_.c:2378
+msgid "on Hard Drive"
+msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "parse all fonts"
+#: ../../standalone/drakbackup_.c:2388
+msgid "across Network"
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With X"
-msgstr "Gant X"
+#: ../../standalone/drakbackup_.c:2398
+msgid "on CDROM"
+msgstr ""
-#: ../../Xconfig/card.pm:1
-#, fuzzy, c-format
-msgid "Multi-head configuration"
-msgstr "o lenn ar c'hefluniadur"
+#: ../../standalone/drakbackup_.c:2406
+#, fuzzy
+msgid "on Tape Device"
+msgstr "Trobarzhell ar voullerez"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "No browser available! Please install one"
-msgstr "Gallout a rit dibab yezhoù all hag a vo hegerz goude staliañ"
+#: ../../standalone/drakbackup_.c:2449
+#, fuzzy
+msgid "Please choose what you want to backup"
+msgstr "Dibabit ar pakadoù a vennit staliañ, mar plij."
-#: ../../Xconfig/main.pm:1
-#, fuzzy, c-format
-msgid ""
-"Keep the changes?\n"
-"The current configuration is:\n"
-"\n"
-"%s"
-msgstr "Derc'hel ar c'hefluniadur IP o ren"
+#: ../../standalone/drakbackup_.c:2450
+#, fuzzy
+msgid "Backup system"
+msgstr "Kefluniañ reizhiadoù restroù"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use ReiserFS for partitions smaller than 32MB"
+#: ../../standalone/drakbackup_.c:2451
+msgid "Backup Users"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-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)."
+#: ../../standalone/drakbackup_.c:2454
+msgid "Select user manually"
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 (heñvel ouzh "
-"finger)."
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Domain name"
-msgstr "Anv ar domani"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Sharing of local printers"
-msgstr "Pakadoù hegerz"
+#: ../../standalone/drakbackup_.c:2537
+msgid ""
+"\n"
+"Backup Sources: \n"
+msgstr ""
-#: ../../install_messages.pm:1
-#, c-format
-msgid "http://www.mandrakelinux.com/en/91errata.php3"
+#: ../../standalone/drakbackup_.c:2538
+msgid ""
+"\n"
+"- System Files:\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Available printers"
-msgstr "Pakadoù hegerz"
+#: ../../standalone/drakbackup_.c:2540
+msgid ""
+"\n"
+"- User Files:\n"
+msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Empty"
-msgstr "Goullo"
+#: ../../standalone/drakbackup_.c:2542
+msgid ""
+"\n"
+"- Other Files:\n"
+msgstr ""
-#: ../../help.pm:1
+#: ../../standalone/drakbackup_.c:2544
#, c-format
msgid ""
-"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
-"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
-"WindowMaker, etc.) bundled with Mandrake Linux rely upon.\n"
-"\n"
-"You will be presented with a list of different parameters to change to get\n"
-"an optimal graphical display: Graphic Card\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"graphic card installed on your machine. If it is not the case, you can\n"
-"choose from this list the card you actually have installed.\n"
-"\n"
-" In the case that different servers are available for your card, with or\n"
-"without 3D acceleration, you are then asked to choose the server that best\n"
-"suits your needs.\n"
-"\n"
-"\n"
-"\n"
-"Monitor\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is correct, you can choose from\n"
-"this list the monitor you actually have connected to your computer.\n"
-"\n"
-"\n"
-"\n"
-"Resolution\n"
-"\n"
-" Here you can choose the resolutions and color depths available for your\n"
-"hardware. Choose the one that best suits your needs (you will be able to\n"
-"change that after installation though). A sample of the chosen\n"
-"configuration is shown in the monitor.\n"
-"\n"
-"\n"
"\n"
-"Test\n"
-"\n"
-" the system will try to open a graphical screen at the desired\n"
-"resolution. If you can see the message during the test and answer \"%s\",\n"
-"then DrakX will proceed to the next step. If you cannot see the message, it\n"
-"means that some part of the autodetected configuration was incorrect and\n"
-"the test will automatically end after 12 seconds, bringing you back to the\n"
-"menu. Change settings until you get a correct graphical display.\n"
-"\n"
-"\n"
-"\n"
-"Options\n"
-"\n"
-" Here you can choose whether you want to have your machine automatically\n"
-"switch to a graphical interface at boot. Obviously, you want to check\n"
-"\"%s\" if your machine is to act as a server, or if you were not successful\n"
-"in getting the display configured."
+"- Save on Hard drive on path: %s\n"
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "text width"
+#: ../../standalone/drakbackup_.c:2547
+msgid ""
+"\n"
+"- Delete hard drive tar files after backup.\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Where do you want to mount device %s?"
-msgstr "Pelec'h e mennit marc'hañ an drobarzhell %s ?"
+#: ../../standalone/drakbackup_.c:2553
+msgid ""
+"\n"
+"- Burn to CD"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The default lease (in seconds)"
+#: ../../standalone/drakbackup_.c:2554
+msgid "RW"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2555
#, fuzzy, c-format
-msgid "Interface \"%s\""
-msgstr "dedennus"
+msgid " on device: %s"
+msgstr "Trobarzhell al logodenn : %s\n"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "With basic documentation (recommended!)"
+#: ../../standalone/drakbackup_.c:2556
+msgid " (multi-session)"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "1 button"
-msgstr "1 nozelenn"
-
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:2557
#, c-format
msgid ""
"\n"
-"There are %d unknown printers directly connected to your system"
+"- Save to Tape on device: %s"
msgstr ""
-#: ../../Xconfig/main.pm:1
+#: ../../standalone/drakbackup_.c:2558
#, c-format
-msgid "Test"
+msgid "\t\tErase=%s"
msgstr ""
-#: ../../security/help.pm:1
+#: ../../standalone/drakbackup_.c:2561
#, c-format
msgid ""
-"Arguments: (arg)\n"
"\n"
-"Allow/Forbid direct root login."
+"- Save via %s on host: %s\n"
msgstr ""
-#: ../../lang.pm:1
+#: ../../standalone/drakbackup_.c:2562
#, c-format
-msgid "Korea"
-msgstr "Kore"
-
-#: ../../interactive/stdio.pm:1
-#, fuzzy, c-format
-msgid "Your choice? (default `%s'%s) "
-msgstr "Ho tibab ? (%s dre ziouer)"
+msgid ""
+"\t\t user name: %s\n"
+"\t\t on path: %s \n"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Raw printer"
-msgstr "Moullerez lec'hel"
+#: ../../standalone/drakbackup_.c:2563
+#, fuzzy
+msgid ""
+"\n"
+"- Options:\n"
+msgstr "Parzhadur"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "official vendor name of the cpu"
+#: ../../standalone/drakbackup_.c:2564
+msgid "\tDo not include System Files\n"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Useless without Terminal Server"
+#: ../../standalone/drakbackup_.c:2567
+msgid "\tBackups use tar and bzip2\n"
msgstr ""
-#: ../../Xconfig/monitor.pm:1 ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Vendor"
-msgstr "Dizober"
-
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Interface %s"
-msgstr "dedennus"
-
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure mouse"
-msgstr "Kefluniañ al logodenn"
+#: ../../standalone/drakbackup_.c:2569
+msgid "\tBackups use tar and gzip\n"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:2572
#, c-format
-msgid "Choose the mount points"
-msgstr "Dibabit at poentoù marc'hañ"
+msgid ""
+"\n"
+"- Daemon (%s) include:\n"
+msgstr ""
-#: ../../help.pm:1 ../../standalone/drakTermServ:1
-#: ../../standalone/drakbackup:1 ../../standalone/drakboot:1
-#: ../../standalone/drakconnect:1 ../../standalone/drakfont:1
-#: ../../standalone/net_monitor:1 ../../ugtk.pm:1
-#, c-format
-msgid "OK"
-msgstr "YA"
+#: ../../standalone/drakbackup_.c:2573
+msgid "\t-Hard drive.\n"
+msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Yugoslavian (latin)"
-msgstr "Yougoslaviek (latin)"
+#: ../../standalone/drakbackup_.c:2574
+msgid "\t-CDROM.\n"
+msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Installing"
-msgstr "O staliañ"
+#: ../../standalone/drakbackup_.c:2575
+msgid "\t-Tape \n"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Launch userdrake"
+#: ../../standalone/drakbackup_.c:2576
+msgid "\t-Network by FTP.\n"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Is this an install or an upgrade?"
-msgstr "Hag ur staliadur pe ur bremanadur eo ?"
+#: ../../standalone/drakbackup_.c:2577
+msgid "\t-Network by SSH.\n"
+msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "ISDN card"
-msgstr "Kartenn son"
+#: ../../standalone/drakbackup_.c:2578
+msgid "\t-Network by rsync.\n"
+msgstr ""
-#: ../../share/advertising/02-community.pl:1
-#, c-format
-msgid ""
-"To share your own knowledge and help build Linux software, join our "
-"discussion forums on our \"Community\" webpages."
+#: ../../standalone/drakbackup_.c:2579
+msgid "\t-Network by webdav.\n"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Hard drive.\n"
+#: ../../standalone/drakbackup_.c:2581
+msgid "No configuration, please click Wizard or Advanced.\n"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2587
msgid ""
-"This step is activated only if an old GNU/Linux partition has been found on\n"
-"your machine.\n"
-"\n"
-"DrakX now needs to know if you want to perform a new install or an upgrade\n"
-"of an existing Mandrake Linux system:\n"
-"\n"
-" * \"%s\": For the most part, this completely wipes out the old system. If\n"
-"you wish to change how your hard drives are partitioned, or change the file\n"
-"system, you should use this option. However, depending on your partitioning\n"
-"scheme, you can prevent some of your existing data from being over-written.\n"
-"\n"
-" * \"%s\": this installation class allows you to update the packages\n"
-"currently installed on your Mandrake Linux system. Your current\n"
-"partitioning scheme and user data is not altered. Most of other\n"
-"configuration steps remain available, similar to a standard installation.\n"
+"List of data to restore:\n"
"\n"
-"Using the ``Upgrade'' option should work fine on Mandrake Linux systems\n"
-"running version \"8.1\" or later. Performing an Upgrade on versions prior\n"
-"to Mandrake Linux version \"8.1\" is not recommended."
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Printer on remote CUPS server"
-msgstr "Steud a-bell"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:2754
msgid ""
-"Failed to remove the printer \"%s\" from Star Office/OpenOffice.org/GIMP."
-msgstr ""
-
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "delete"
-msgstr "Dilemel"
-
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "here if no."
+"List of data corrupted:\n"
+"\n"
msgstr ""
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "DHCP host name"
-msgstr "Anv an ostiz"
+#: ../../standalone/drakbackup_.c:2756
+#, fuzzy
+msgid "Please uncheck or remove it on next time."
+msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The maximum lease (in seconds)"
+#: ../../standalone/drakbackup_.c:2766
+msgid "Backup files are corrupted"
msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/mousedrake:1
-#, c-format
-msgid "Please choose which serial port your mouse is connected to."
-msgstr "Dibabit ar porzh a-steud m'eo luget ho logodenn outañ, mar plij."
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Did it work properly?"
+#: ../../standalone/drakbackup_.c:2787
+msgid " All of your selected data have been "
msgstr ""
-#: ../../fs.pm:1
+#: ../../standalone/drakbackup_.c:2788
#, c-format
-msgid "Mount the file system read-only."
+msgid " Successfuly Restored on %s "
msgstr ""
-#: ../../security/level.pm:1
-#, c-format
-msgid "Poor"
-msgstr "Paour"
+#: ../../standalone/drakbackup_.c:2906
+#, fuzzy
+msgid " Restore Configuration "
+msgstr "Kefluniadur ar rouedad"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP start range"
+#: ../../standalone/drakbackup_.c:2924
+msgid "OK to restore the other files."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Grenada"
+#: ../../standalone/drakbackup_.c:2941
+msgid "User list to restore (only the most recent date per user is important)"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Unsafe"
-msgstr "Arvarus"
+#: ../../standalone/drakbackup_.c:3019
+#, fuzzy
+msgid "Backup the system files before:"
+msgstr "Restr gwareziñ siek"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid ", %s sectors"
-msgstr ", %s rann"
+#: ../../standalone/drakbackup_.c:3021
+#, fuzzy
+msgid "please choose the date to restore"
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../help.pm:1 ../../install_any.pm:1 ../../interactive.pm:1
-#: ../../modules/interactive.pm:1 ../../my_gtk.pm:1
-#: ../../standalone/harddrake2:1 ../../ugtk2.pm:1
-#, c-format
-msgid "No"
-msgstr "Ket"
+#: ../../standalone/drakbackup_.c:3057
+#, fuzzy
+msgid "Use Hard Disk to backup"
+msgstr "Restr gwareziñ siek"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"Is your printer a multi-function device from HP or Sony (OfficeJet, PSC, "
-"LaserJet 1100/1200/1220/3200/3300 with scanner, Sony IJP-V100), an HP "
-"PhotoSmart or an HP LaserJet 2200?"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3060
+#, fuzzy
+msgid "Please enter the directory to save:"
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../lang.pm:1
-#, c-format
-msgid "Guadeloupe"
-msgstr "Gwadeloup"
+#: ../../standalone/drakbackup_.c:3103
+#, fuzzy
+msgid "FTP Connection"
+msgstr "Lugerezh ar voullerez"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Kannada"
-msgstr "Kanadian"
+#: ../../standalone/drakbackup_.c:3110
+#, fuzzy
+msgid "Secure Connection"
+msgstr "Diuzit lugerezh ar voullerez"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "could not find any font.\n"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3134
+#, fuzzy
+msgid "Restore from Hard Disk."
+msgstr "Assevel adalek ar pladennig"
-#: ../../standalone/keyboarddrake:1
-#, c-format
-msgid "Do you want the BackSpace to return Delete in console?"
+#: ../../standalone/drakbackup_.c:3136
+msgid "Please enter the directory where backups are stored"
msgstr ""
-#: ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Vertical refresh rate"
-msgstr "Feur freskaat a-serzh"
-
-#: ../../install_steps_auto_install.pm:1 ../../install_steps_stdio.pm:1
-#, c-format
-msgid "Entering step `%s'\n"
-msgstr "O kregiñ gant al lankad `%s'\n"
-
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech MouseMan"
-msgstr "Logitech MouseMan+/FirstMouse+"
+#: ../../standalone/drakbackup_.c:3204
+#, fuzzy
+msgid "Select another media to restore from"
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Removing %s ..."
-msgstr "Spisterioù"
+#: ../../standalone/drakbackup_.c:3206
+#, fuzzy
+msgid "Other Media"
+msgstr "All"
-#: ../../lang.pm:1
-#, c-format
-msgid "Niger"
-msgstr "Nijer"
+#: ../../standalone/drakbackup_.c:3211
+#, fuzzy
+msgid "Restore system"
+msgstr "Staliañ ar reizhiad"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "No printer"
-msgstr "Moullerez lec'hel"
+#: ../../standalone/drakbackup_.c:3212
+#, fuzzy
+msgid "Restore Users"
+msgstr "Adaozañ adalek ar restr"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "alert configuration"
-msgstr "Kefluniañ ar proksioù"
+#: ../../standalone/drakbackup_.c:3213
+#, fuzzy
+msgid "Restore Other"
+msgstr "Adaozañ adalek ar restr"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "NetWare Printer Options"
-msgstr "Dibarzhoù ar voullerez NetWare"
+#: ../../standalone/drakbackup_.c:3215
+#, fuzzy
+msgid "select path to restore (instead of /)"
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "%s BootSplash (%s) preview"
+#: ../../standalone/drakbackup_.c:3219
+msgid "Do new backup before restore (only for incremental backups.)"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "General"
-msgstr "Rummel"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printing system: "
+#: ../../standalone/drakbackup_.c:3221
+msgid "Remove user directories before restore."
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Add a user"
-msgstr "Ouzhpennañ un arveriad"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Network configuration (%d adapters)"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../any.pm:1 ../../install_any.pm:1 ../../standalone.pm:1
-#, c-format
-msgid "Mandatory package %s is missing"
+#: ../../standalone/drakbackup_.c:3334
+msgid ""
+"Restore Selected\n"
+"Catalog Entry"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Philippines"
-msgstr "Filipin"
-
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../interactive.pm:1
-#: ../../interactive/http.pm:1 ../../interactive/newt.pm:1
-#: ../../interactive/stdio.pm:1 ../../my_gtk.pm:1
-#: ../../standalone/drakbackup:1 ../../standalone/draksec:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Ok"
-msgstr "Mat eo"
+#: ../../standalone/drakbackup_.c:3344
+#, fuzzy
+msgid ""
+"Restore Selected\n"
+"Files"
+msgstr "Lemel ar steudad"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Print Queue Name"
-msgstr "Anv ar steud moullañ"
+#: ../../standalone/drakbackup_.c:3361
+#, fuzzy
+msgid ""
+"Change\n"
+"Restore Path"
+msgstr "Adaozañ adalek ar restr"
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:3427
#, c-format
-msgid "Do you want to use aboot?"
-msgstr "Mennout a rit implijout aboot?"
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Belarusian"
+msgid "Backup files not found at %s."
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3440
#, c-format
msgid ""
-"PDQ only supports local printers, remote LPD printers, and Socket/TCP "
-"printers.\n"
+"Insert the CD with volume label %s\n"
+" in the CD drive under mount point /mnt/cdrom"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Move files to the new partition"
-msgstr "Krouiñ ur parzhadur nevez"
+#: ../../standalone/drakbackup_.c:3440
+#, fuzzy
+msgid "Restore From CD"
+msgstr "Assevel adalek ar pladennig"
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3442
#, c-format
-msgid ""
-"Add here the CUPS servers whose printers you want to use. You only need to "
-"do this if the servers do not broadcast their printer information into the "
-"local network."
+msgid "Not the correct CD label. Disk is labelled %s."
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakbackup_.c:3452
#, c-format
msgid ""
-"\n"
-"Welcome to the Printer Setup Wizard\n"
-"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
-"\n"
-"Please plug in and turn on all printers connected to this machine so that it/"
-"they can be auto-detected.\n"
-"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
+"Insert the tape with volume label %s\n"
+" in the tape drive device %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore From Catalog"
+#: ../../standalone/drakbackup_.c:3452
+#, fuzzy
+msgid "Restore From Tape"
msgstr "Taolenn barzhañ saveteerezh"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Pitcairn"
-msgstr ""
-
-#: ../../install_steps_interactive.pm:1
+#: ../../standalone/drakbackup_.c:3454
#, c-format
-msgid "IDE"
-msgstr "IDE"
-
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "group :"
-msgstr "Strollad labour"
-
-#: ../../fs.pm:1
-#, c-format
-msgid "mounting partition %s in directory %s failed"
+msgid "Not the correct tape label. Tape is labelled %s."
msgstr ""
-#: ../../standalone/drakboot:1
-#, c-format
-msgid "Lilo screen"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3474
+#, fuzzy
+msgid "Restore Via Network"
+msgstr "Adaozañ adalek ar restr"
-#: ../../bootloader.pm:1 ../../help.pm:1
+#: ../../standalone/drakbackup_.c:3474
#, c-format
-msgid "LILO with graphical menu"
-msgstr "LILO gant meuziad c'hrafek"
+msgid "Restore Via Network Protocol: %s"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Estimating"
-msgstr "O vrasjediñ"
+#: ../../standalone/drakbackup_.c:3475
+#, fuzzy
+msgid "Host Name"
+msgstr "Anv an ostiz"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't unselect this package. It is already installed"
-msgstr "N'hellit ket andiuz ar pakad-mañ. Staliet eo endo"
+#: ../../standalone/drakbackup_.c:3476
+msgid "Host Path or Module"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ", printer \"%s\" on SMB/Windows server \"%s\""
-msgstr "SMB/Windows 95/98/NT"
+#: ../../standalone/drakbackup_.c:3483
+#, fuzzy
+msgid "Password required"
+msgstr "Tremenger"
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Go on anyway?"
-msgstr "Kenderc'hel evelato ?"
+#: ../../standalone/drakbackup_.c:3489
+#, fuzzy
+msgid "Username required"
+msgstr "Anv arveriad"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Looking for available packages and rebuilding rpm database..."
-msgstr "O klask ar pakadoù hegerz"
+#: ../../standalone/drakbackup_.c:3492
+#, fuzzy
+msgid "Hostname required"
+msgstr "Anv an ostiz : "
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-" DrakBackup Report \n"
+#: ../../standalone/drakbackup_.c:3497
+msgid "Path or Module required"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Does not appear to be recordable media!"
+#: ../../standalone/drakbackup_.c:3510
+msgid "Files Restored..."
msgstr ""
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Specify options"
-msgstr "Spisait dibarzhoù"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Vanuatu"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3513
+#, fuzzy
+msgid "Restore Failed..."
+msgstr "Adaozañ adalek ar restr"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Either the server name or the server's IP must be given!"
+#: ../../standalone/drakbackup_.c:3751
+msgid "Restore all backups"
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-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 ?"
+#: ../../standalone/drakbackup_.c:3760
+#, fuzzy
+msgid "Custom Restore"
+msgstr "Neuziet"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use an encrypted file system for mount point %s"
+#: ../../standalone/drakbackup_.c:3804
+msgid "CD in place - continue."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Norfolk Island"
+#: ../../standalone/drakbackup_.c:3810
+msgid "Browse to new restore repository."
msgstr ""
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Theme installation failed!"
-msgstr "Diuzit renkad ar staliadur"
+#: ../../standalone/drakbackup_.c:3813
+#, fuzzy
+msgid "Restore From Catalog"
+msgstr "Taolenn barzhañ saveteerezh"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Nothing to do"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3841
+#, fuzzy
+msgid "Restore Progress"
+msgstr "Adaozañ adalek ar restr"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Use for loopback"
-msgstr "Implij da saveteiñ"
+#: ../../standalone/drakbackup_.c:3883 ../../standalone/drakbackup_.c:3916
+#: ../../standalone/drakbackup_.c:3942 ../../standalone/drakbackup_.c:3969
+#: ../../standalone/drakbackup_.c:3996 ../../standalone/drakbackup_.c:4056
+#: ../../standalone/drakbackup_.c:4083 ../../standalone/drakbackup_.c:4113
+#: ../../standalone/drakbackup_.c:4139
+msgid "Previous"
+msgstr "Diaraog"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Mandrake Bug Report Tool"
-msgstr ""
+#: ../../standalone/drakbackup_.c:3887 ../../standalone/drakbackup_.c:3973
+#: ../../standalone/logdrake_.c:203
+msgid "Save"
+msgstr "Enrollañ"
-#: ../../network/adsl.pm:1
-#, c-format
-msgid "use pppoe"
-msgstr "implijit pppoe"
+#: ../../standalone/drakbackup_.c:3946
+#, fuzzy
+msgid "Build Backup"
+msgstr "Restr gwareziñ siek"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Moving files to the new partition"
-msgstr "Krouiñ ur parzhadur nevez"
+#: ../../standalone/drakbackup_.c:4000 ../../standalone/drakbackup_.c:4544
+#, fuzzy
+msgid "Restore"
+msgstr "Adaozañ adalek ar restr"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "XFree %s with EXPERIMENTAL 3D hardware acceleration"
+#: ../../standalone/drakbackup_.c:4189
+msgid ""
+"Error during sendmail.\n"
+" Your report mail was not sent.\n"
+" Please configure sendmail"
msgstr ""
-#: ../../help.pm:1 ../../interactive.pm:1
-#, c-format
-msgid "Advanced"
-msgstr "Barek"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transfer"
+#: ../../standalone/drakbackup_.c:4195
+msgid ""
+"Error during sending file via FTP.\n"
+" Please correct your FTP configuration."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (Swedish)"
-msgstr "Dvorak (Svedek)"
+#: ../../standalone/drakbackup_.c:4209
+#, fuzzy
+msgid ""
+"The following packages need to be installed:\n"
+" @list_of_rpm_to_install"
+msgstr "Ar pakadoù a-heul a zo war-nes bezañ distaliet"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "More Options"
-msgstr "Dibarzhoù ar mollad :"
+#: ../../standalone/drakbackup_.c:4232
+#, fuzzy
+msgid "Please select data to restore..."
+msgstr "Diuzit ar yezh da implijout, mar plij."
-#: ../../lang.pm:1
-#, c-format
-msgid "Afghanistan"
-msgstr "Afganistan"
+#: ../../standalone/drakbackup_.c:4267
+#, fuzzy
+msgid "Please select media for backup..."
+msgstr "Diuzit ar yezh da implijout, mar plij."
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Delete Hard Drive tar files after backup to other media."
-msgstr ""
+#: ../../standalone/drakbackup_.c:4275
+#, fuzzy
+msgid "Please select data to backup..."
+msgstr "Diuzit ar yezh da implijout, mar plij."
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4293 ../../standalone/drakbackup_.c:4304
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."
+"No configuration file found \n"
+"please click Wizard or Advanced."
msgstr ""
-"Ur goulev standard UNIX eo cron evit seveniñ goulevioù diouzh c'hoant an\n"
-"arveriaded da goulzoù mareadek steuñvaet. vixie cron a ouzhpenn kalzig a "
-"arc'hweloù\n"
-"d'ar cron UNIX diazez, en o zouez surentez ha dibarzhoù kefluniañ gwelloc'h."
-#: ../../lang.pm:1
-#, c-format
-msgid "Burundi"
+#: ../../standalone/drakbackup_.c:4308
+msgid "Under Devel ... please wait."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Add Client -->"
-msgstr ""
+#: ../../standalone/drakbackup_.c:4382
+#, fuzzy
+msgid "Backup system files"
+msgstr "Restr gwareziñ siek"
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Read carefully!"
-msgstr "Lennit aketus !"
+#: ../../standalone/drakbackup_.c:4384
+#, fuzzy
+msgid "Backup user files"
+msgstr "Restr gwareziñ siek"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "RW"
-msgstr ""
+#: ../../standalone/drakbackup_.c:4386
+#, fuzzy
+msgid "Backup other files"
+msgstr "Restr gwareziñ siek"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid ""
-"Please,\n"
-"type in your tv norm and country"
+#: ../../standalone/drakbackup_.c:4388 ../../standalone/drakbackup_.c:4421
+msgid "Total Progress"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Port"
-msgstr "Paour"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "No (experts only)"
+#: ../../standalone/drakbackup_.c:4412
+msgid "files sending by FTP"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "No kernel selected!"
-msgstr ""
+#: ../../standalone/drakbackup_.c:4416
+#, fuzzy
+msgid "Sending files..."
+msgstr "Enrollañ er restr"
-#. -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:1
-#, c-format
-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"
+#: ../../standalone/drakbackup_.c:4500
+#, fuzzy
+msgid "Backup Now from configuration file"
+msgstr "Kefluniadur ar rouedad"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Set-GID"
-msgstr ""
+#: ../../standalone/drakbackup_.c:4505
+#, fuzzy
+msgid "View Backup Configuration."
+msgstr "Kefluniadur ar rouedad"
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "The encryption keys do not match"
-msgstr "An tremegerioù ne glot ket"
+#: ../../standalone/drakbackup_.c:4526
+#, fuzzy
+msgid "Wizard Configuration"
+msgstr "Kefluniadur"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Right \"Windows\" key"
-msgstr ""
+#: ../../standalone/drakbackup_.c:4531
+#, fuzzy
+msgid "Advanced Configuration"
+msgstr "Kefluniadur"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "CDROM / DVDROM"
-msgstr "CDROM / DVDROM"
+#: ../../standalone/drakbackup_.c:4536
+#, fuzzy
+msgid "Backup Now"
+msgstr "Kefluniañ reizhiadoù restroù"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check empty password in /etc/shadow."
+#: ../../standalone/drakbackup_.c:4576
+msgid "Drakbackup"
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4624
msgid ""
-"Before continuing, you should carefully read the terms of the license. It\n"
-"covers the entire Mandrake Linux distribution. If you do agree with all the\n"
-"terms in it, check the \"%s\" box. If not, simply turn off your computer."
+"options description:\n"
+"\n"
+" In this step Drakbackup allow you to change:\n"
+"\n"
+" - The compression mode:\n"
+" \n"
+" If you check bzip2 compression, you will compress\n"
+" your data better than gzip (about 2-10 %).\n"
+" This option is not checked by default because\n"
+" this compression mode needs more time (about 1000% more).\n"
+" \n"
+" - The update mode:\n"
+"\n"
+" This option will update your backup, but this\n"
+" option is not really useful because you need to\n"
+" decompress your backup before you can update it.\n"
+" \n"
+" - the .backupignore mode:\n"
+"\n"
+" Like with cvs, Drakbackup will ignore all references\n"
+" included in .backupignore files in each directories.\n"
+" ex: \n"
+" /*> cat .backupignore*/\n"
+" *.o\n"
+" *~\n"
+" ...\n"
+" \n"
+"\n"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4654
msgid ""
-"Here is a list of the available printing options for the current printer:\n"
+"\n"
+" Some errors during sendmail are caused by \n"
+" a bad configuration of postfix. To solve it you have to\n"
+" set myhostname or mydomain in /etc/postfix/main.cf\n"
"\n"
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "Resolutions"
-msgstr "Spisterioù"
-
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4662
msgid ""
-"drakfirewall configurator\n"
+"options description:\n"
+"\n"
+" - Backup system files:\n"
+" \n"
+"\tThis option allows you to backup your /etc directory,\n"
+"\twhich contains all configuration files. Please be\n"
+"\tcareful during the restore step to not overwrite:\n"
+"\t\t/etc/passwd \n"
+"\t\t/etc/group \n"
+"\t\t/etc/fstab\n"
+"\n"
+" - Backup User files: \n"
+"\n"
+"\tThis option allows you select all users that you want \n"
+"\tto backup.\n"
+"\tTo preserve disk space, it is recommended that you \n"
+"\tdo not include web browser's cache.\n"
+"\n"
+" - Backup Other files: \n"
+"\n"
+"\tThis option allows you to add more data to save.\n"
+"\tWith the other backup it's not possible at the \n"
+"\tmoment to select incremental backup.\t\t\n"
+" \n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption for backup. This option allows you \n"
+"\tto backup all your data the first time, and \n"
+"\tonly the changed afterward.\n"
+"\tThen you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
"\n"
-"This configures a personal firewall for this Mandrake Linux machine.\n"
-"For a powerful and dedicated firewall solution, please look to the\n"
-"specialized MandrakeSecurity Firewall distribution."
msgstr ""
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4701
msgid ""
-"Please enter your username, password and domain name to access this host."
+"restore description:\n"
+" \n"
+"Only the most recent date will be used, because with incremental \n"
+"backups it is necessary to restore one by one each older backup.\n"
+"\n"
+"So if you don't want to restore a user please unselect all their\n"
+"check boxes.\n"
+"\n"
+"Otherwise, you are able to select only one of these.\n"
+"\n"
+" - Incremental Backups:\n"
+"\n"
+"\tThe incremental backup is the most powerful \n"
+"\toption to use. This option allows you to \n"
+"\tbackup all of your data the first time, and \n"
+"\tonly the changed data after.\n"
+"\tSo you will be able, during the restore\n"
+"\tstep, to restore your data from a specified\n"
+"\tdate.\n"
+"\tIf you have not selected this option all\n"
+"\told backups are deleted before each backup. \n"
+"\n"
+"\n"
+"\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Remove selected host"
-msgstr "Lemel ar steudad"
-
-#: ../../network/netconnect.pm:1
-#, fuzzy, c-format
-msgid "Network configuration"
-msgstr "Kefluniadur ar rouedad"
-
-#: ../../any.pm:1
-#, c-format
-msgid "No sharing"
-msgstr "N'ev ket lodañ"
-
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Move selected rule down one level"
+#: ../../standalone/drakbackup_.c:4727
+#, fuzzy
+msgid ""
+" Copyright (C) 2001-2002 MandrakeSoft by DUPONT Sebastien <dupont_s\\@epita."
+"fr>"
msgstr ""
+"Copyright (C) 2001 MandrakeSoft gant DUPONT Sebastien <dupont_s\\@epita.fr>"
-#: ../../common.pm:1
-#, c-format
-msgid "TB"
-msgstr "To"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "FATAL"
-msgstr "FAT"
+#: ../../standalone/drakbackup_.c:4729
+msgid ""
+" updates 2002 MandrakeSoft by Stew Benedict <sbenedict\\@mandrakesoft.com>"
+msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4732
msgid ""
-"The DHCP server will allow other computer to boot using PXE in the given "
-"range of address.\n"
+"Description:\n"
+"\n"
+" Drakbackup is used to backup your system.\n"
+" During the configuration you can select: \n"
+"\t- System files, \n"
+"\t- Users files, \n"
+"\t- Other files.\n"
+"\tor All your system ... and Other (like Windows Partitions)\n"
+"\n"
+" Drakbackup allows you to backup your system on:\n"
+"\t- Harddrive.\n"
+"\t- NFS.\n"
+"\t- CDROM (CDRW), DVDROM (with autoboot, rescue and autoinstall.).\n"
+"\t- FTP.\n"
+"\t- Rsync.\n"
+"\t- Webdav.\n"
+"\t- Tape.\n"
+"\n"
+" Drakbackup allows you to restore your system to\n"
+" a user selected directory.\n"
+"\n"
+" Per default all backup will be stored on your\n"
+" /var/lib/drakbackup directory\n"
+"\n"
+" Configuration file:\n"
+"\t/etc/drakconf/drakbackup/drakbakup.conf\n"
+"\n"
+"Restore Step:\n"
+" \n"
+" During the restore step, DrakBackup will remove \n"
+" your original directory and verify that all \n"
+" backup files are not corrupted. It is recommended \n"
+" you do a last backup before restoring.\n"
"\n"
-"The network address is %s using a netmask of %s.\n"
"\n"
msgstr ""
-#: ../../diskdrake/hd_gtk.pm:1 ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Delete"
-msgstr "Dilemel"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4769
msgid ""
-"Arguments: (arg)\n"
+"options description:\n"
+"\n"
+"Please be careful when you are using ftp backup, because only \n"
+"backups that are already built are sent to the server.\n"
+"So at the moment, you need to build the backup on your hard \n"
+"drive before sending it to the server.\n"
"\n"
-"Allow/Forbid reboot by the console user."
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
+#: ../../standalone/drakbackup_.c:4778
msgid ""
-"I can setup your computer to automatically start the graphical interface "
-"(XFree) upon booting.\n"
-"Would you like XFree to start when you reboot?"
+"\n"
+"Restore Backup Problems:\n"
+"\n"
+"During the restore step, Drakbackup will verify all your\n"
+"backup files before restoring them.\n"
+"Before the restore, Drakbackup will remove \n"
+"your original directory, and you will loose all your \n"
+"data. It is important to be careful and not modify the \n"
+"backup data files by hand.\n"
msgstr ""
-"Kefluniañ ho urzhiataer evit lañsañ X ent emgefreek pa loc'ho a c'hellañ.\n"
-"Mennout a rit lañsañ X pa adloc'hit ?"
-#: ../../standalone/drakfloppy:1
+#: ../../standalone/drakboot_.c:50
#, c-format
-msgid "Build the disk"
-msgstr ""
-
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Disconnect %s"
-msgstr "Lugerezh ar voullerez"
+msgid "Installation of %s failed. The following error occured:"
+msgstr "Staliadur %s a zo sac'het. Degouezhet eo ar fazi a heul :"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Status:"
+#: ../../standalone/drakbug_.c:45
+msgid "Mandrake Bug Report Tool"
msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "HTTP proxy"
-msgstr "Proksi HTTP"
-
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "SSH Server"
-msgstr "Servijer NIS"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by rsync.\n"
+#: ../../standalone/drakbug_.c:50
+msgid "First Time Wizard"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "European protocol"
+#: ../../standalone/drakbug_.c:51
+msgid "Synchronization tool"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ", printer \"%s\" on server \"%s\""
+#: ../../standalone/drakbug_.c:52 ../../standalone/drakbug_.c:66
+#: ../../standalone/drakbug_.c:133 ../../standalone/drakbug_.c:135
+#: ../../standalone/drakbug_.c:139
+msgid "Standalone Tools"
msgstr ""
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../diskdrake/interactive.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#: ../../fsedit.pm:1 ../../install_steps.pm:1
-#: ../../install_steps_interactive.pm:1 ../../interactive/http.pm:1
-#: ../../standalone/drakboot:1 ../../standalone/drakbug:1
-#: ../../standalone/drakfloppy:1 ../../standalone/drakfont:1
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Error"
-msgstr "Fazi"
-
-#: ../../any.pm:1
-#, c-format
-msgid "allow \"su\""
+#: ../../standalone/drakbug_.c:53
+msgid "HardDrake"
msgstr ""
-#: ../../lang.pm:1 ../../standalone/drakxtv:1
-#, fuzzy, c-format
-msgid "Australia"
-msgstr ""
+#: ../../standalone/drakbug_.c:54
+#, fuzzy
+msgid "Mandrake Online"
+msgstr "MandrakeConsulting"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "please wait during ttmkfdir..."
-msgstr ""
+#: ../../standalone/drakbug_.c:55
+#, fuzzy
+msgid "Menudrake"
+msgstr "MandrakeStore"
-#: ../../Xconfig/card.pm:1
-#, fuzzy, c-format
-msgid "Configure only card \"%s\"%s"
-msgstr "Kefluniadur hep ken kartenn \"%s\" (%s)"
+#: ../../standalone/drakbug_.c:56
+#, fuzzy
+msgid "Msec"
+msgstr "Logodenn"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Level"
-msgstr "live"
+#: ../../standalone/drakbug_.c:57
+#, fuzzy
+msgid "Remote Control"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Change the printing system"
-msgstr "Kefluniañ ur rouedad"
+#: ../../standalone/drakbug_.c:58
+#, fuzzy
+msgid "Software Manager"
+msgstr "Anv rannet"
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid ""
-"Your system supports multiple head configuration.\n"
-"What do you want to do?"
+#: ../../standalone/drakbug_.c:59
+msgid "Urpmi"
msgstr ""
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure services"
-msgstr "Kefluniañ servijoù"
+#: ../../standalone/drakbug_.c:60
+#, fuzzy
+msgid "Windows Migration tool"
+msgstr "Titouroù"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Broadcast Address:"
-msgstr ""
+#: ../../standalone/drakbug_.c:61
+#, fuzzy
+msgid "Userdrake"
+msgstr "Moullerez"
-#: ../../partition_table.pm:1
-#, c-format
-msgid "mount failed: "
-msgstr "marc'hañ sac'het : "
+#: ../../standalone/drakbug_.c:62
+#, fuzzy
+msgid "Configuration Wizards"
+msgstr "Kefluniadur ar rouedad"
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"the GNU/Linux kernel needs to run a calculation loop at boot time to "
-"initialize a timer counter. Its result is stored as bogomips as a way to "
-"\"benchmark\" the cpu."
-msgstr ""
+#: ../../standalone/drakbug_.c:75
+#, fuzzy
+msgid "Application:"
+msgstr "X11/Arloadoù"
-#: ../../any.pm:1
-#, c-format
-msgid "Image"
-msgstr "Skeudenn"
+#: ../../standalone/drakbug_.c:76
+#, fuzzy
+msgid "Package: "
+msgstr "Pakad"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Failed to add the printer \"%s\" to Star Office/OpenOffice.org/GIMP."
+#: ../../standalone/drakbug_.c:77
+msgid "Kernel:"
msgstr ""
-#: ../../services.pm:1
-#, fuzzy, c-format
-msgid "Remote Administration"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../standalone/drakbug_.c:78
+#, fuzzy
+msgid "Release: "
+msgstr "Gortozit mar plij"
-#: ../../modules.pm:1
-#, c-format
+#: ../../standalone/drakbug_.c:93
msgid ""
-"PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel."
+"\n"
+"\n"
+"To submit a bug report, click on the button report.\n"
+"This will open a web browser window on https://drakbug.mandrakesoft.com\n"
+" where you'll find a form to fill in.The information displayed above will "
+"be \n"
+"transferred to that server\n"
+"\n"
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Selected All"
-msgstr "Diuzit ar restr"
+#: ../../standalone/drakbug_.c:112
+#, fuzzy
+msgid "Report"
+msgstr "Paour"
-#: ../../printer/data.pm:1
-#, c-format
-msgid "CUPS - Common Unix Printing System"
-msgstr ""
+#: ../../standalone/drakbug_.c:148
+#, fuzzy
+msgid "Not installed"
+msgstr "Dilezel ar staliadur"
-#: ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "Webmin Service"
-msgstr "trobarzhell"
+#: ../../standalone/drakbug_.c:160
+#, fuzzy
+msgid "Package not installed"
+msgstr "Dilezel ar staliadur"
-#: ../../diskdrake/interactive.pm:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "device"
-msgstr "trobarzhell"
+#: ../../standalone/drakbug_.c:173
+msgid "connecting to Bugzilla wizard ..."
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../standalone/drakxtv:1
-#, c-format
-msgid "All"
-msgstr "An holl"
+#: ../../standalone/drakbug_.c:180
+#, fuzzy
+msgid "No browser available! Please install one"
+msgstr "Gallout a rit dibab yezhoù all hag a vo hegerz goude staliañ"
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakconnect_.c:75
#, fuzzy, c-format
-msgid "Which printing system (spooler) do you want to use?"
-msgstr "Pe seurt parzhadur a vennit ?"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Greece"
-msgstr "Gres"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "An error occurred"
-msgstr "Ur fazi a zo bet"
-
-#: ../../install_steps_gtk.pm:1
-#, c-format
-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ñ ?"
+msgid "Network configuration (%d adapters)"
+msgstr "Kefluniadur ar rouedad"
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Tamil (Typewriter-layout)"
-msgstr "Tamoul (skriverez)"
+#: ../../standalone/drakconnect_.c:83 ../../standalone/drakconnect_.c:591
+#, fuzzy
+msgid "Profile: "
+msgstr "marc'hañ sac'het : "
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "manual"
+#: ../../standalone/drakconnect_.c:91
+msgid "Del profile..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer manufacturer, model, driver"
+#: ../../standalone/drakconnect_.c:97
+msgid "Profile to delete:"
msgstr ""
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid ""
-"There is no medium or it is write-protected for device %s.\n"
-"Please insert one."
+#: ../../standalone/drakconnect_.c:125
+msgid "New profile..."
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:131
msgid ""
-"Directory %s already contains data\n"
-"(%s)"
+"Name of the profile to create (the new profile is created as a copy of the "
+"current one) :"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Printer on NetWare server"
-msgstr "Servijer moullañ"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Give the ram size in MB"
-msgstr "Roit ment ar memor vev e Mo"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Real name"
-msgstr "Anv gwirion"
-
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "done"
-msgstr "Graet"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please uncheck or remove it on next time."
-msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
-
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid "Higher"
-msgstr "Uhel"
+#: ../../standalone/drakconnect_.c:157
+#, fuzzy
+msgid "Hostname: "
+msgstr "Anv an ostiz : "
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the partitions you want to format"
-msgstr "Dibabit ar parzhadur a vennit furmadiñ"
+#: ../../standalone/drakconnect_.c:164
+#, fuzzy
+msgid "Internet access"
+msgstr "dedennus"
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid ""
-"No TV Card has been detected on your machine. Please verify that a Linux-"
-"supported Video/TV Card is correctly plugged in.\n"
-"\n"
-"\n"
-"You can visit our hardware database at:\n"
-"\n"
-"\n"
-"http://www.linux-mandrake.com/en/hardware.php3"
-msgstr ""
+#: ../../standalone/drakconnect_.c:177
+#, fuzzy
+msgid "Type:"
+msgstr "Seurt : "
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Can't find %s on %s"
-msgstr "Fazi en ur zigeriñ %s evit skrivañ : %s"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+msgid "Gateway:"
+msgstr "Treuzell : "
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Japanese 106 keys"
-msgstr "Japonek (106 stokell)"
+#: ../../standalone/drakconnect_.c:180 ../../standalone/drakconnect_.c:372
+#, fuzzy
+msgid "Interface:"
+msgstr "dedennus"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "This will take a few minutes."
+#: ../../standalone/drakconnect_.c:191
+msgid "Status:"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Burkina Faso"
+#: ../../standalone/drakconnect_.c:198 ../../standalone/net_monitor_.c:145
+msgid "Wait please"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Use scanners on remote computers"
-msgstr ""
+#: ../../standalone/drakconnect_.c:216
+#, fuzzy
+msgid "Configure Internet Access..."
+msgstr "Kefluniañ servijoù"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Delete selected rule"
-msgstr "Lemel ar steudad"
+#: ../../standalone/drakconnect_.c:223 ../../standalone/drakconnect_.c:445
+#, fuzzy
+msgid "LAN configuration"
+msgstr "Kefluniadur"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Accessing printers on remote CUPS servers"
-msgstr "Steud a-bell"
+#: ../../standalone/drakconnect_.c:228
+#, fuzzy
+msgid "Driver"
+msgstr "Servijer"
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Insert a floppy in %s"
-msgstr "Lakait ur bladennig el lenner %s"
+#: ../../standalone/drakconnect_.c:228
+#, fuzzy
+msgid "Interface"
+msgstr "dedennus"
-#: ../../lang.pm:1
-#, c-format
-msgid "Maldives"
+#: ../../standalone/drakconnect_.c:228
+msgid "Protocol"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "compact"
-msgstr "fetis"
-
-#: ../../common.pm:1
-#, c-format
-msgid "1 minute"
-msgstr "1 munutenn"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "type: fat"
-msgstr "Seurt : "
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "on channel %d id %d\n"
-msgstr "war bus %d Nn %d\n"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", multi-function device"
-msgstr ""
+#: ../../standalone/drakconnect_.c:228
+#, fuzzy
+msgid "State"
+msgstr "Meuziad Lañsañ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Laos"
-msgstr "Laos"
+#: ../../standalone/drakconnect_.c:240
+#, fuzzy
+msgid "Configure Local Area Network..."
+msgstr "Kefluniañ ur rouedad"
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "There is no FAT partition to resize (or not enough space left)"
+#: ../../standalone/drakconnect_.c:252
+msgid "Click here to launch the wizard ->"
msgstr ""
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Up"
-msgstr "Sevel"
+#: ../../standalone/drakconnect_.c:253
+msgid "Wizard..."
+msgstr "Skoazeller..."
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Firewall"
+#: ../../standalone/drakconnect_.c:279
+msgid "Apply"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Area:"
-msgstr ""
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+#, fuzzy
+msgid "Connected"
+msgstr "Anv ar gevreadenn"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "(E)IDE/ATA controllers"
-msgstr ""
+#: ../../standalone/drakconnect_.c:380 ../../standalone/drakconnect_.c:403
+#: ../../standalone/net_monitor_.c:457
+#, fuzzy
+msgid "Not connected"
+msgstr "Lugerezh ar voullerez"
-#: ../../fs.pm:1
-#, c-format
-msgid "All I/O to the file system should be done synchronously."
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Connect..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Printer Server"
-msgstr "Servijer moullañ"
-
-#: ../../standalone/net_monitor:1
-#, c-format
-msgid "Disconnection from the Internet complete."
+#: ../../standalone/drakconnect_.c:381 ../../standalone/drakconnect_.c:404
+msgid "Disconnect..."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Custom configuration"
-msgstr "Kefluniañ ar proksioù"
-
-#: ../../standalone/drakpxe:1
-#, c-format
+#: ../../standalone/drakconnect_.c:400
msgid ""
-"Please indicate where the installation image will be available.\n"
-"\n"
-"If you do not have an existing directory, please copy the CD or DVD "
-"contents.\n"
-"\n"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Saint Pierre and Miquelon"
+"Warning, another Internet connection has been detected, maybe using your "
+"network"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakconnect_.c:427
msgid ""
-"\n"
-"Restore Backup Problems:\n"
-"\n"
-"During the restore step, Drakbackup will verify all your\n"
-"backup files before restoring them.\n"
-"Before the restore, Drakbackup will remove \n"
-"your original directory, and you will loose all your \n"
-"data. It is important to be careful and not modify the \n"
-"backup data files by hand.\n"
-msgstr ""
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "saving Bootsplash theme..."
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Portugal"
-msgstr "Portugal"
-
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "Do you have another one?"
-msgstr "Hag un all hoc'h eus ?"
-
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid ", printing to %s"
-msgstr "Fazi en ur skrivañ er restr %s"
-
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Assign host name from DHCP address"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to normal mode"
-msgstr "Tremen er mod boas"
-
-#: ../../Xconfig/monitor.pm:1 ../../mouse.pm:1
-#, c-format
-msgid "Generic"
-msgstr "Rummel"
-
-#: ../../diskdrake/interactive.pm:1
-#, fuzzy, c-format
-msgid "Cylinder %d to %d\n"
-msgstr "Kranenn %d da granenn %d\n"
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "New profile..."
+"You don't have any configured interface.\n"
+"Configure them first by clicking on 'Configure'"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Which disk do you want to move it to?"
-msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
+#: ../../standalone/drakconnect_.c:449
+#, fuzzy
+msgid "LAN Configuration"
+msgstr "Kefluniadur"
-#: ../../standalone/draksplash:1
+#: ../../standalone/drakconnect_.c:460
#, c-format
-msgid "Display logo on Console"
+msgid "Adapter %s: %s"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Windows Domain"
-msgstr "Titouroù"
-
-#: ../../keyboard.pm:1
-#, fuzzy, c-format
-msgid "Saami (norwegian)"
-msgstr "Dvorak (Norvegek)"
-
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "Interface %s (on network %s)"
-msgstr "dedennus"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "INFO"
+#: ../../standalone/drakconnect_.c:466
+msgid "Boot Protocol"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Wallis and Futuna"
+#: ../../standalone/drakconnect_.c:467
+msgid "Started on boot"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Need to create /etc/dhcpd.conf first!"
+#: ../../standalone/drakconnect_.c:468
+msgid "DHCP client"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Is FPU present"
-msgstr ""
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+#, fuzzy
+msgid "activate now"
+msgstr "Bevaat"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "There are no scanners found which are available on your system.\n"
-msgstr ""
+#: ../../standalone/drakconnect_.c:493 ../../standalone/drakconnect_.c:496
+#, fuzzy
+msgid "deactivate now"
+msgstr "Bevaat"
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakconnect_.c:499
msgid ""
-"No additional information\n"
-"about this service, sorry."
+"This interface has not been configured yet.\n"
+"Launch the configuration wizard in the main window"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build Single NIC -->"
+#: ../../standalone/drakconnect_.c:556
+msgid ""
+"You don't have any internet connection.\n"
+"Create one first by clicking on 'Configure'"
msgstr ""
-#: ../../my_gtk.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Is this correct?"
-msgstr "Ha reizh eo ?"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Marshall Islands"
-msgstr "Inizi Marshall<"
+#: ../../standalone/drakconnect_.c:580
+#, fuzzy
+msgid "Internet connection configuration"
+msgstr "Lugerezh ar voullerez"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Windows (FAT32)"
-msgstr "Windows (FAT32)"
+#: ../../standalone/drakconnect_.c:584
+#, fuzzy
+msgid "Internet Connection Configuration"
+msgstr "Lugerezh ar voullerez"
-#: ../../steps.pm:1
-#, c-format
-msgid "Root password"
-msgstr "Termeniñ tremenger root"
+#: ../../standalone/drakconnect_.c:593 ../../standalone/net_monitor_.c:94
+#, fuzzy
+msgid "Connection type: "
+msgstr "Anv ar gevreadenn"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Build All Kernels -->"
+#: ../../standalone/drakconnect_.c:599
+msgid "Parameters"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "DVDRAM device"
-msgstr "trobarzhell"
+#: ../../standalone/drakconnect_.c:618
+msgid "Gateway"
+msgstr "Treuzell"
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, report unowned files."
+#: ../../standalone/drakconnect_.c:627
+msgid "Ethernet Card"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"This is HardDrake, a Mandrake hardware configuration tool.\n"
-"<span foreground=\"royalblue3\">Version:</span> %s\n"
-"<span foreground=\"royalblue3\">Author:</span> Thierry Vignaud &lt;tvignaud"
-"@mandrakesoft.com&gt;\n"
-"\n"
+#: ../../standalone/drakconnect_.c:628
+msgid "DHCP Client"
msgstr ""
-#: ../../install_interactive.pm:1
-#, c-format
-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 ?"
+#: ../../standalone/drakfloppy_.c:39
+#, fuzzy
+msgid "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
+msgstr "-misc-fixed-medium-r-*-*-*-100-*-*-*-*-*-*,*"
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Version: "
-msgstr "Stumm : "
+#: ../../standalone/drakfloppy_.c:40
+#, fuzzy
+msgid "Module name"
+msgstr "Dibarzhoù ar mollad :"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Server IP missing!"
-msgstr "Dibarzhoù ar voullerez"
+#: ../../standalone/drakfloppy_.c:40
+#, fuzzy
+msgid "Size"
+msgstr "Ment: %s"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Suriname"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:45
+#, fuzzy
+msgid "drakfloppy"
+msgstr "Assevel adalek ar pladennig"
-#: ../../any.pm:1
-#, c-format
-msgid "Enable ACPI"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:63
+#, fuzzy
+msgid "boot disk creation"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../help.pm:1
-#, c-format
-msgid "Graphical Environment"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:71 ../../standalone/drakfloppy_.c:84
+msgid "default"
+msgstr "dre ziouer"
-#: ../../lang.pm:1
+#: ../../standalone/drakfloppy_.c:87
#, c-format
-msgid "Gibraltar"
+msgid "DrakFloppy Error: %s"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "on Tape Device"
-msgstr "Trobarzhell ar voullerez"
-
-#: ../../network/modem.pm:1
-#, fuzzy, c-format
-msgid "Do nothing"
-msgstr "N'ev ket lodañ"
-
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Delete Client"
-msgstr "Dilemel"
+#: ../../standalone/drakfloppy_.c:98
+#, fuzzy
+msgid "kernel version"
+msgstr "Kefluniañ ar proksioù"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Filesystem type: "
-msgstr "Seurt ar reizhiad restroù : "
+#: ../../standalone/drakfloppy_.c:104
+#, fuzzy
+msgid "General"
+msgstr "Rummel"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Starting network..."
-msgstr "Kefluniañ ur rouedad"
+#: ../../standalone/drakfloppy_.c:109
+#, fuzzy
+msgid "Expert Area"
+msgstr "Mod mailh"
-#: ../../lang.pm:1
-#, c-format
-msgid "Vietnam"
+#: ../../standalone/drakfloppy_.c:112
+msgid "mkinitrd optional arguments"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "/_Fields description"
-msgstr "Spisait dibarzhoù"
-
-#: ../../share/advertising/10-security.pl:1
-#, c-format
-msgid "Optimize your security by using Mandrake Linux"
-msgstr ""
+#: ../../standalone/drakfloppy_.c:113
+#, fuzzy
+msgid "Add a module"
+msgstr "Ouzhpennañ un arveriad"
-#: ../../Xconfig/resolution_and_depth.pm:1 ../../install_steps_gtk.pm:1
-#: ../../interactive.pm:1 ../../interactive/gtk.pm:1
-#: ../../standalone/drakTermServ:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakfont:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Help"
-msgstr "Skoazell"
+#: ../../standalone/drakfloppy_.c:133
+#, fuzzy
+msgid "force"
+msgstr "Dilec'hiañ"
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Your personal phone number"
+#: ../../standalone/drakfloppy_.c:134
+msgid "if needed"
msgstr ""
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Which size do you want to keep for Windows on"
-msgstr "Da beseurt rann e mennit dilec'hiañ ?"
+#: ../../standalone/drakfloppy_.c:135
+msgid "omit scsi modules"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid ""
-"Test page(s) have been sent to the printer.\n"
-"It may take some time before the printer starts.\n"
+#: ../../standalone/drakfloppy_.c:136
+msgid "omit raid modules"
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 ?"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Username required"
-msgstr "Anv arveriad"
+#: ../../standalone/drakfloppy_.c:172
+#, fuzzy
+msgid "Remove a module"
+msgstr "Eilpennañ urzh ar pajennoù"
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Depending on the default language you chose in Section , DrakX will\n"
-"automatically select a particular type of keyboard configuration. However,\n"
-"you may not have a keyboard that corresponds exactly to your language: for\n"
-"example, if you are an English speaking Swiss person, you may have a Swiss\n"
-"keyboard. Or if you speak English but are located in Quebec, you may find\n"
-"yourself in the same situation where your native language and keyboard do\n"
-"not match. In either case, this installation step will allow you to select\n"
-"an appropriate keyboard from a list.\n"
-"\n"
-"Click on the \"%s\" button to be presented with the complete list of\n"
-"supported keyboards.\n"
-"\n"
-"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
-"dialog will allow you to choose the key binding that will switch the\n"
-"keyboard between the Latin and non-Latin layouts."
+#: ../../standalone/drakfloppy_.c:194
+msgid "Output"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "SMB (Windows 9x/NT) Printer Options"
-msgstr "Dibarzhoù moullañ SMB (Windows 9x/NT)"
-
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Accept/Refuse bogus IPv4 error messages."
+#: ../../standalone/drakfloppy_.c:206
+msgid "Build the disk"
msgstr ""
-#: ../../standalone/drakfloppy:1
+#: ../../standalone/drakfloppy_.c:336
#, c-format
-msgid "mkinitrd optional arguments"
+msgid "Be sure a media is present for the device %s"
msgstr ""
-#: ../../share/advertising/03-software.pl:1
+#: ../../standalone/drakfloppy_.c:341
#, c-format
msgid ""
-"Surf the Web with Mozilla or Konqueror, read your mail with Evolution or "
-"Kmail, create your documents with OpenOffice.org."
+"There is no medium or it is write-protected for device %s.\n"
+"Please insert one."
msgstr ""
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "Protocol for the rest of the world"
-msgstr "Amprouiñ ar c'hefluniadur"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Print test pages"
-msgstr "O voullañ pajenn(où) skrid..."
-
-#: ../../Xconfig/card.pm:1
+#: ../../standalone/drakfloppy_.c:344
#, c-format
-msgid "64 MB or more"
-msgstr "64 Mo pe vuioc'h"
+msgid "Unable to fork: %s"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakfloppy_.c:349
#, c-format
msgid ""
-"Please select the test pages you want to print.\n"
-"Note: the photo test page can take a rather long time to get printed and on "
-"laser printers with too low memory it can even not come out. In most cases "
-"it is enough to print the standard test page."
+"Unable to close properly mkbootdisk: \n"
+" %s \n"
+" %s"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Please select the device where your %s is attached"
+#: ../../standalone/drakfont_.c:213
+msgid "Search installed fonts"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Not formatted\n"
-msgstr "Ket furmadet\n"
-
-#: ../../standalone/draksec:1
-#, c-format
-msgid "Periodic Checks"
+#: ../../standalone/drakfont_.c:215
+msgid "Unselect fonts installed"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "PXE Server Configuration"
-msgstr "Kefluniadur"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup the system files before:"
-msgstr "Restr gwareziñ siek"
-
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid ""
-"This is the standard security recommended for a computer that will be used "
-"to connect to the Internet as a client."
+#: ../../standalone/drakfont_.c:239
+msgid "parse all fonts"
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."
-
-#: ../../any.pm:1
-#, c-format
-msgid "First floppy drive"
-msgstr "Lenner pladennig kentañ"
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Quit"
-msgstr "/Restr/_Kuitaat"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak"
-msgstr "Dvorak"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Choose the new size"
-msgstr "Dibabit ar ment nevez"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Media class"
-msgstr ""
+#: ../../standalone/drakfont_.c:242
+#, fuzzy
+msgid "no fonts found"
+msgstr "%s ket kavet"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not known by this version of Scannerdrake."
-msgstr ""
+#: ../../standalone/drakfont_.c:251 ../../standalone/drakfont_.c:305
+#: ../../standalone/drakfont_.c:361 ../../standalone/drakfont_.c:454
+#: ../../standalone/drakfont_.c:466 ../../standalone/drakfont_.c:493
+#: ../../standalone/drakfont_.c:514 ../../standalone/drakfont_.c:532
+#, fuzzy
+msgid "done"
+msgstr "Graet"
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Faroe Islands"
+#: ../../standalone/drakfont_.c:257
+msgid "could not find any font in your mounted partitions"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Restart XFS"
+#: ../../standalone/drakfont_.c:303
+msgid "Reselect correct fonts"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Add host/network"
+#: ../../standalone/drakfont_.c:307
+msgid "could not find any font.\n"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid ""
-"if set to yes, check for empty passwords, for no password in /etc/shadow and "
-"for users with the 0 id other than root."
+#: ../../standalone/drakfont_.c:331
+msgid "Search fonts in installed list"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please enter the directory to save to:"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Model name"
-msgstr "Dibarzhoù ar mollad :"
+#: ../../standalone/drakfont_.c:359
+#, fuzzy
+msgid "Fonts copy"
+msgstr "Furmadiñ ar bladennig"
-#: ../../lang.pm:1
-#, c-format
-msgid "Albania"
-msgstr "Albani"
+#: ../../standalone/drakfont_.c:363
+#, fuzzy
+msgid "True Type fonts installation"
+msgstr "O prientiñ ar staliadur"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No CDR/DVDR in drive!"
+#: ../../standalone/drakfont_.c:371
+msgid "please wait during ttmkfdir..."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "British Indian Ocean Territory"
+#: ../../standalone/drakfont_.c:377
+msgid "True Type install done"
msgstr ""
-#: ../../printer/printerdrake.pm:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakfloppy:1
-#, fuzzy, c-format
-msgid "Normal Mode"
-msgstr "Boas"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Please be sure that the cron daemon is included in your services. \n"
-"\n"
-"Note that currently all 'net' medias also use the hard drive."
+#: ../../standalone/drakfont_.c:386 ../../standalone/drakfont_.c:413
+msgid "Fonts conversion"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer connection type"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid "No network adapter on your system!"
+#: ../../standalone/drakfont_.c:392 ../../standalone/drakfont_.c:417
+#: ../../standalone/drakfont_.c:450
+msgid "type1inst building"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "Network %s"
-msgstr "Taolenn"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Malayalam"
+#: ../../standalone/drakfont_.c:403 ../../standalone/drakfont_.c:427
+msgid "Ghostscript referencing"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Option %s out of range!"
+#: ../../standalone/drakfont_.c:437
+msgid "ttf fonts conversion"
msgstr ""
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connect %s"
-msgstr "Anv ar gevreadenn"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Restarting CUPS..."
+#: ../../standalone/drakfont_.c:444
+msgid "pfm fonts conversion"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printing/Scanning/Photo Cards on \"%s\""
-msgstr "O tizenaouiñ ar rouedad"
-
-#: ../../install_steps.pm:1
-#, c-format
-msgid "Duplicate mount point %s"
-msgstr "Poent marc'hañ doubl %s"
+#: ../../standalone/drakfont_.c:456
+msgid "Suppress temporary Files"
+msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run chkrootkit checks."
+#: ../../standalone/drakfont_.c:459
+msgid "Restart XFS"
msgstr ""
-#: ../../network/tools.pm:1
-#, fuzzy, c-format
-msgid "Connection Configuration"
-msgstr "Kefluniañ ar proksioù"
+#: ../../standalone/drakfont_.c:512 ../../standalone/drakfont_.c:526
+msgid "Suppress Fonts Files"
+msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "Unknown|Generic"
-msgstr "Rummel"
+#: ../../standalone/drakfont_.c:528
+#, fuzzy
+msgid "xfs restart"
+msgstr "strishaat"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:536 ../../standalone/drakfont_.c:902
msgid ""
-"At the time you are installing Mandrake Linux, it is likely that some\n"
-"packages have been updated since the initial release. Bugs may have been\n"
-"fixed, security issues resolved. To allow you to benefit from these\n"
-"updates, you are now able to download them from the Internet. Check \"%s\"\n"
-"if you have a working Internet connection, or \"%s\" if you prefer to\n"
-"install updated packages later.\n"
+"Before installing any fonts, be sure that you have the right to use and "
+"install them on your system.\n"
"\n"
-"Choosing \"%s\" will display a list of places from which updates can be\n"
-"retrieved. You should choose one nearer to you. A package-selection tree\n"
-"will appear: review the selection, and press \"%s\" to retrieve and install\n"
-"the selected package(s), or \"%s\" to abort."
+"-You can install the fonts using the normal way. In rare cases, bogus fonts "
+"may hang up your X Server."
msgstr ""
-#: ../../Xconfig/main.pm:1 ../../diskdrake/dav.pm:1
-#: ../../install_steps_interactive.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/draksplash:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Quit"
-msgstr "Kuitaat"
+#: ../../standalone/drakfont_.c:621
+#, fuzzy
+msgid "Fonts Importation"
+msgstr "Furmadiñ parzhadurioù"
-#: ../../lang.pm:1
-#, c-format
-msgid "Myanmar"
+#: ../../standalone/drakfont_.c:650
+msgid "Get Windows Fonts"
msgstr ""
-#: ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#, c-format
-msgid "Auto allocate"
-msgstr "Ac'hubiñ ent emgefreek"
-
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Check bad blocks?"
-msgstr "Gwiriañ ar bloc'hoù siek ?"
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Other MultiMedia devices"
-msgstr "All"
+#: ../../standalone/drakfont_.c:658
+#, fuzzy
+msgid "Uninstall Fonts"
+msgstr "O tistaliañ ar RPMoù"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "burner"
-msgstr "Moullerez"
+#: ../../standalone/drakfont_.c:669
+#, fuzzy
+msgid "Advanced Options"
+msgstr "Kefluniadur"
-#: ../../printer/printerdrake.pm:1 ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "No remote machines"
-msgstr "Moullerezio* a-bell"
+#: ../../standalone/drakfont_.c:677
+#, fuzzy
+msgid "Font List"
+msgstr "Poent marc'hañ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakfont_.c:737
msgid ""
"\n"
-"Welcome to the Printer Setup Wizard\n"
+" Copyright (C) 2001-2002 by MandrakeSoft \n"
+"\tDUPONT Sebastien sdupont\\@mandrakesoft.com\n"
"\n"
-"This wizard will help you to install your printer(s) connected to this "
-"computer.\n"
+" This program is free software; you can redistribute it and/or modify\n"
+" it under the terms of the GNU General Public License as published by\n"
+" the Free Software Foundation; either version 2, or (at your option)\n"
+" any later version.\n"
+"\n"
+" This program is distributed in the hope that it will be useful,\n"
+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+" GNU General Public License for more details.\n"
+"\n"
+" You should have received a copy of the GNU General Public License\n"
+" along with this program; if not, write to the Free Software\n"
+" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+" Thanks:\n"
+" - pfm2afm: \n"
+"\t by Ken Borgendale:\n"
+"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
+" - type1inst:\n"
+"\t by James Macnicol: \n"
+"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
+" - ttf2pt1: \n"
+"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
+" Convert ttf font files to afm and pfb fonts\n"
"\n"
-"If you have printer(s) connected to this machine, Please plug it/them in on "
-"this computer and turn it/them on so that it/they can be auto-detected.\n"
"\n"
-" Click on \"Next\" when you are ready, and on \"Cancel\" if you do not want "
-"to set up your printer(s) now."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Authentication NIS"
-msgstr "Dilesadur NIS"
-
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"Option ``Restrict command line options'' is of no use without a password"
-msgstr "Didalvout eo ``Strishaat dibarzhoù al linenn urzhiañ'' hep tremenger"
+#: ../../standalone/drakfont_.c:793
+msgid ""
+"drakfont Future Overview\n"
+" - Fonts import:\n"
+" pfb ( Adobe Type 1 binary )\n"
+" pfa ( Adobe Type 1 ASCII )\n"
+" ttf ( True-Type )\n"
+" pcf.gz\n"
+" Speedo\n"
+" and Bitmap (PCF, BDF, and SNF)\n"
+" - Features\n"
+" - Install fonts from any directory\n"
+" - Get windows fonts on any vfat partitions\n"
+" - Get fonts on any partitions.\n"
+" - UN-installation of any fonts (even if not installed "
+"through drakfont)\n"
+" - Support\n"
+" - Xfs\n"
+" - ghostscript & printer\n"
+" - Staroffice & printer\n"
+" - abiword\n"
+"\t - netscape\n"
+" - Koffice, Gnumeric, ... studying\n"
+" - all fonts supported by printer\n"
+" - anti-aliases by RENDER in Xfree86 .... \n"
+"\t\t\t\tsupported by KDE.\n"
+"\t\t\t\twill be supported by gnome 1.2.\n"
+"Visual Interface:\n"
+" Window interface:\n"
+" - Fontselectiondialog widget\n"
+" - Command buttons under Fontselectiondialog (like the actual "
+"frontend).\n"
+" Commands buttons:\n"
+" - import from windows partition.\n"
+" import from all fat32 partitions and look for winnt/windows/"
+"font\n"
+" and import all (delete doublon) but don't import if already "
+"exist.\n"
+" - import from directory\n"
+" look for if it exist before for each font and not delete the "
+"original.\n"
+" (replace all, no, none)\n"
+" expert options:\n"
+" ask the directory, and look for if it exist before\n"
+" if it exist ask: (replace all, no, none)\n"
+" - uninstall with list per font type\n"
+" Expert additional switch\n"
+" - option support: ghostscript, Staroffice, etc...\n"
+" check-button. (by default all check)\n"
+" - Printer Application Fonts Support...\n"
+"\n"
+"\n"
+msgstr ""
+
+#: ../../standalone/drakfont_.c:862
+#, fuzzy
+msgid "Choose the applications that will support the fonts:"
+msgstr "Dibabit ar parzhadur a vennit furmadiñ"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Internet Connection Sharing currently enabled"
+#: ../../standalone/drakfont_.c:870
+msgid "Ghostscript"
msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_0"
-msgstr "IO_0 kartenn"
+#: ../../standalone/drakfont_.c:877
+#, fuzzy
+msgid "StarOffice"
+msgstr "Burev"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Disable Local Config"
+#: ../../standalone/drakfont_.c:884
+msgid "Abiword"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "United Arab Emirates"
-msgstr "Amerika"
+#: ../../standalone/drakfont_.c:891
+#, fuzzy
+msgid "Generic Printers"
+msgstr "Moullerez"
-#: ../../lang.pm:1
-#, c-format
-msgid "Thailand"
-msgstr "Thailand"
+#: ../../standalone/drakfont_.c:958
+msgid "Select the font file or directory and click on 'Add'"
+msgstr ""
-#: ../../network/tools.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Card IO_1"
-msgstr "IO_1 kartenn"
+#: ../../standalone/drakfont_.c:1005
+#, fuzzy
+msgid "Install List"
+msgstr "Staliañ ar reizhiad"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Routers:"
+#: ../../standalone/drakfont_.c:1048
+msgid "click here if you are sure."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Kazakhstan"
+#: ../../standalone/drakfont_.c:1055
+msgid "here if no."
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Display all available remote CUPS printers"
+#: ../../standalone/drakfont_.c:1112
+msgid "Unselected All"
msgstr ""
-#: ../../install_steps_newt.pm:1
-#, c-format
-msgid "Mandrake Linux Installation %s"
-msgstr "Staliadur Mandrake Linux %s"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Thai keyboard"
-msgstr "Stokellaoueg Thai"
+#: ../../standalone/drakfont_.c:1116
+#, fuzzy
+msgid "Selected All"
+msgstr "Diuzit ar restr"
-#: ../../network/modem.pm:1
-#, c-format
-msgid "Dialup options"
-msgstr "Dibarzhoù sifrennañ"
+#: ../../standalone/drakfont_.c:1120
+#, fuzzy
+msgid "Remove List"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../lang.pm:1
-#, c-format
-msgid "Bouvet Island"
+#: ../../standalone/drakfont_.c:1142 ../../standalone/drakfont_.c:1175
+msgid "Initials tests"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "If no port is given, 631 will be taken as default."
+#: ../../standalone/drakfont_.c:1145
+msgid "Copy fonts on your system"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, 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."
+#: ../../standalone/drakfont_.c:1149
+msgid "Install & convert Fonts"
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."
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Polish"
-msgstr "Polonek"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Mandrake Online"
-msgstr "MandrakeConsulting"
+#: ../../standalone/drakfont_.c:1153
+#, fuzzy
+msgid "Post Install"
+msgstr "Staliañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by webdav.\n"
+#: ../../standalone/drakfont_.c:1178
+msgid "Remove fonts on your system"
msgstr ""
-#: ../../standalone/drakgw:1 ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"No ethernet network adapter has been detected on your system. Please run the "
-"hardware configuration tool."
-msgstr ""
+#: ../../standalone/drakfont_.c:1182
+#, fuzzy
+msgid "Post Uninstall"
+msgstr "Dilezel ar staliadur"
-#: ../../network/network.pm:1 ../../standalone/drakconnect:1
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "Netmask"
-msgstr "Maskl rouedad"
+#: ../../standalone/drakgw_.c:42 ../../standalone/drakgw_.c:182
+#, fuzzy
+msgid "Internet Connection Sharing"
+msgstr "Lugerezh ar voullerez"
-#: ../../diskdrake/hd_gtk.pm:1
-#, fuzzy, c-format
-msgid "No hard drives found"
-msgstr "N'ev ket Moullerez lec'hel!\n"
+#: ../../standalone/drakgw_.c:114
+msgid "Sorry, we support only 2.4 kernels."
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech CC Series"
-msgstr "Logitech doare CC"
+#: ../../standalone/drakgw_.c:125
+msgid "Internet Connection Sharing currently enabled"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "2 buttons"
-msgstr "2 nozelenn"
+#: ../../standalone/drakgw_.c:126
+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 ""
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "What kind is your ISDN connection?"
-msgstr "Ouzh pe borzh a-steud eo luget ho logodenn ?"
+#: ../../standalone/drakgw_.c:130
+#, fuzzy
+msgid "disable"
+msgstr "Taolenn"
-#: ../../any.pm:1
-#, c-format
-msgid "Label"
-msgstr "Skridennad"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+msgid "dismiss"
+msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Save on floppy"
-msgstr "Enrollañ war bladennig"
+#: ../../standalone/drakgw_.c:130 ../../standalone/drakgw_.c:154
+#, fuzzy
+msgid "reconfigure"
+msgstr "Kefluniañ X"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer auto-detection"
-msgstr "Dilesadur"
+#: ../../standalone/drakgw_.c:133
+#, fuzzy
+msgid "Disabling servers..."
+msgstr "O tinoiñ trobarzhelloù..."
-#: ../../network/isdn.pm:1
-#, fuzzy, c-format
-msgid "Which of the following is your ISDN card?"
-msgstr "Pehini eo ho takad-eur ?"
+#: ../../standalone/drakgw_.c:142
+#, fuzzy
+msgid "Internet connection sharing is now disabled."
+msgstr "Lugerezh ar voullerez"
-#: ../../services.pm:1
-#, c-format
-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."
+#: ../../standalone/drakgw_.c:149
+msgid "Internet Connection Sharing currently disabled"
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."
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Msec"
-msgstr "Logodenn"
-
-#: ../../interactive/stdio.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:150
msgid ""
-"=> Notice, a label changed:\n"
-"%s"
+"The setup of Internet connection sharing has already been done.\n"
+"It's currently disabled.\n"
+"\n"
+"What would you like to do?"
msgstr ""
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "Number of capture buffers:"
+#: ../../standalone/drakgw_.c:154
+#, fuzzy
+msgid "enable"
+msgstr "Taolenn"
+
+#: ../../standalone/drakgw_.c:161
+msgid "Enabling servers..."
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, fuzzy, c-format
-msgid "Your choice? (0/1, default `%s') "
-msgstr "Ho tibab ? (%s dre ziouer)"
+#: ../../standalone/drakgw_.c:166
+#, fuzzy
+msgid "Internet connection sharing is now enabled."
+msgstr "Lugerezh ar voullerez"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:183
msgid ""
-"Any partitions that have been newly defined must be formatted for use\n"
-"(formatting means creating a file system).\n"
-"\n"
-"At this time, you may wish to reformat some already existing partitions to\n"
-"erase any data they contain. If you wish to do that, please select those\n"
-"partitions as well.\n"
-"\n"
-"Please note that it is not necessary to reformat all pre-existing\n"
-"partitions. You must reformat the partitions containing the operating\n"
-"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
-"reformat partitions containing data that you wish to keep (typically\n"
-"\"/home\").\n"
-"\n"
-"Please be careful when selecting partitions. After formatting, all data on\n"
-"the selected partitions will be deleted and you will not be able to recover\n"
-"it.\n"
-"\n"
-"Click on \"%s\" when you are ready to format partitions.\n"
+"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"
-"Click on \"%s\" if you want to choose another partition for your new\n"
-"Mandrake Linux operating system installation.\n"
+"Make sure you have configured your Network/Internet access using drakconnect "
+"before going any further.\n"
"\n"
-"Click on \"%s\" if you wish to select partitions that will be checked for\n"
-"bad blocks on the disk."
+"Note: you need a dedicated Network Adapter to set up a Local Area Network "
+"(LAN)."
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../standalone/drakgw_.c:211
#, c-format
-msgid "French"
-msgstr "Gall"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTY)"
-msgstr "Tchek (QWERTY)"
-
-#: ../../standalone/service_harddrake:1
-#, fuzzy, c-format
-msgid "Hardware probing in progress"
-msgstr "Poent marc'hañ doubl %s"
+msgid "Interface %s (using module %s)"
+msgstr ""
-#: ../../standalone/drakgw:1
+#: ../../standalone/drakgw_.c:212
#, fuzzy, c-format
-msgid "Net Device"
-msgstr "Servijer moullañ"
+msgid "Interface %s"
+msgstr "dedennus"
-#: ../../install_steps_interactive.pm:1 ../../steps.pm:1
-#, c-format
-msgid "Summary"
-msgstr "Evit diverriñ"
+#: ../../standalone/drakgw_.c:220
+msgid "No network adapter on your system!"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:221
msgid ""
-" (Parallel Ports: /dev/lp0, /dev/lp1, ..., equivalent to LPT1:, LPT2:, ..., "
-"1st USB printer: /dev/usb/lp0, 2nd USB printer: /dev/usb/lp1, ...)."
+"No ethernet network adapter has been detected on your system. Please run the "
+"hardware configuration tool."
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Next"
-msgstr "A heul"
-
-#: ../../bootloader.pm:1
-#, fuzzy, c-format
-msgid "You can't install the bootloader on a %s partition\n"
-msgstr "Pelec'h e mennit staliañ ar c'harger loc'hañ ?"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "CHAP"
-msgstr "CHAP"
-
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "(bootp/dhcp/zeroconf)"
-msgstr "(bootp/dhcp)"
+#: ../../standalone/drakgw_.c:227
+msgid "Network interface"
+msgstr ""
-#: ../../standalone/drakautoinst:1
+#: ../../standalone/drakgw_.c:228
#, c-format
msgid ""
+"There is only one configured network adapter on your system:\n"
"\n"
-"Welcome.\n"
+"%s\n"
"\n"
-"The parameters of the auto-install are available in the sections on the left"
-msgstr ""
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Puerto Rico"
+"I am about to setup your Local Area Network with that adapter."
msgstr ""
-#: ../../standalone/draksplash:1
-#, c-format
+#: ../../standalone/drakgw_.c:235
msgid ""
-"package 'ImageMagick' is required to be able to complete configuration.\n"
-"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+"Please choose what network adapter will be connected to your Local Area "
+"Network."
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Lithuanian \"number row\" QWERTY"
-msgstr "Lituaniek QUERTY \"linenn sifroù\""
+#: ../../standalone/drakgw_.c:261
+#, fuzzy
+msgid "Network interface already configured"
+msgstr "Skramm ket kefluniet"
-#: ../../install_any.pm:1
+#: ../../standalone/drakgw_.c:262
#, c-format
msgid ""
-"The following packages will be removed to allow upgrading your system: %s\n"
+"Warning, the network adapter (%s) is already configured.\n"
"\n"
+"Do you want an automatic re-configuration?\n"
"\n"
-"Do you really want to remove these packages?\n"
+"You can do it manually but you need to know what you're doing."
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Anguilla"
+#: ../../standalone/drakgw_.c:267
+#, fuzzy
+msgid "Automatic reconfiguration"
+msgstr "Kefluniadur goude staliañ"
+
+#: ../../standalone/drakgw_.c:267
+msgid "No (experts only)"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "NIS Domain"
-msgstr "Domani NIS"
+#: ../../standalone/drakgw_.c:268
+#, fuzzy
+msgid "Show current interface configuration"
+msgstr "Kefluniañ ar modem"
+
+#: ../../standalone/drakgw_.c:269
+#, fuzzy
+msgid "Current interface configuration"
+msgstr "Kefluniañ ar modem"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakgw_.c:270
#, c-format
msgid ""
+"Current configuration of `%s':\n"
"\n"
-"- User Files:\n"
+"Network: %s\n"
+"IP address: %s\n"
+"IP attribution: %s\n"
+"Driver: %s"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Antarctica"
-msgstr "Antartik"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Mount options"
-msgstr "Dibarzhoù marc'hañ"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Jamaica"
-msgstr "Jamaik"
-
-#: ../../services.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:283
msgid ""
-"Assign raw devices to block devices (such as hard drive\n"
-"partitions), for the use of applications such as Oracle or DVD players"
+"I can keep your current configuration and assume you already set up a DHCP "
+"server; in that case please verify I correctly read the Network that you use "
+"for your local network; I will not reconfigure it and I will not touch your "
+"DHCP server configuration.\n"
+"\n"
+"The default DNS entry is the Caching Nameserver configured on the firewall. "
+"You can replace that with your ISP DNS IP, for example.\n"
+"\t\t \n"
+"Else, I can reconfigure your interface and (re)configure a DHCP server for "
+"you.\n"
+"\n"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/drakgw_.c:290
+#, fuzzy
+msgid "Local Network adress"
+msgstr "kartenn rouedad kavet ebet"
+
+#: ../../standalone/drakgw_.c:294
msgid ""
-"Arguments: (arg, alert=1)\n"
+"DHCP Server Configuration.\n"
+"\n"
+"Here you can select different options for the DHCP server configuration.\n"
+"If you don't know the meaning of an option, simply leave it as it is.\n"
"\n"
-"Enable/Disable name resolution spoofing protection. If\n"
-"\\fIalert\\fP is true, also reports to syslog."
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Please wait, preparing installation..."
-msgstr "Gortozit mar plij, o prientiñ ar staliadur"
+#: ../../standalone/drakgw_.c:300
+#, fuzzy
+msgid "(This) DHCP Server IP"
+msgstr "IP ar servijer SMB"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Czech (QWERTZ)"
-msgstr "Tchek (QWERTZ)"
+#: ../../standalone/drakgw_.c:301
+#, fuzzy
+msgid "The DNS Server IP"
+msgstr "IP ar servijer SMB"
-#: ../../network/network.pm:1
-#, c-format
-msgid "Track network card id (useful for laptops)"
-msgstr ""
+#: ../../standalone/drakgw_.c:302
+#, fuzzy
+msgid "The internal domain name"
+msgstr "Moullerez lec'hel"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The port number should be an integer!"
+#: ../../standalone/drakgw_.c:303
+msgid "The DHCP start range"
msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "You must choose an image file first!"
-msgstr "Trobarzhell ar voullerez"
+#: ../../standalone/drakgw_.c:304
+msgid "The DHCP end range"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Restore from Hard Disk."
-msgstr "Assevel adalek ar pladennig"
+#: ../../standalone/drakgw_.c:305
+msgid "The default lease (in seconds)"
+msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Add to LVM"
-msgstr "Ouzhpennañ da LVM"
+#: ../../standalone/drakgw_.c:306
+msgid "The maximum lease (in seconds)"
+msgstr ""
-#: ../../network/network.pm:1
-#, c-format
-msgid "DNS server"
-msgstr "Servijer DNS"
+#: ../../standalone/drakgw_.c:307
+msgid "Re-configure interface and DHCP server"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Trinidad and Tobago"
+#: ../../standalone/drakgw_.c:314
+msgid "The Local Network did not finish with `.0', bailing out."
msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakgw_.c:325
#, c-format
-msgid "LPD and LPRng do not support IPP printers.\n"
+msgid "Potential LAN address conflict found in current config of %s!\n"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "simple"
-msgstr "eeun"
+#: ../../standalone/drakgw_.c:335
+#, fuzzy
+msgid "Configuring..."
+msgstr "Kefluniañ IDE"
-#: ../../diskdrake/interactive.pm:1 ../../help.pm:1
-#, c-format
-msgid "Clear all"
-msgstr "Skarañ an holl"
+#: ../../standalone/drakgw_.c:336
+msgid "Configuring scripts, installing software, starting servers..."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
+#: ../../standalone/drakgw_.c:372
#, fuzzy, c-format
-msgid "No test pages"
-msgstr "Ya, moullit an div bajenn arnod"
+msgid "Problems installing package %s"
+msgstr "O staliañ ar pakad %s"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Adapter %s: %s"
+#: ../../standalone/drakgw_.c:505
+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 ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Falkland Islands (Malvinas)"
+#: ../../standalone/drakgw_.c:523
+msgid "The setup has already been done, but it's currently disabled."
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Unknown model"
+#: ../../standalone/drakgw_.c:524
+msgid "The setup has already been done, and it's currently enabled."
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check files/directories writable by everybody."
-msgstr ""
+#: ../../standalone/drakgw_.c:525
+#, fuzzy
+msgid "No Internet Connection Sharing has ever been configured."
+msgstr "Lugerezh ar voullerez"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "authentication"
-msgstr "Dilesadur"
+#: ../../standalone/drakgw_.c:531
+#, fuzzy
+msgid "Internet connection sharing configuration"
+msgstr "Lugerezh ar voullerez"
-#: ../../standalone/drakbackup:1
+#: ../../standalone/drakgw_.c:539
#, fuzzy, c-format
-msgid "Backup Now"
-msgstr "Kefluniañ reizhiadoù restroù"
-
-#: ../../standalone/drakboot:1 ../../standalone/drakfloppy:1
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#, c-format
-msgid "/_File"
-msgstr "/_Restr"
+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"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Removing printer from Star Office/OpenOffice.org/GIMP"
-msgstr ""
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "group"
+msgstr "Strollad labour"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Launch packet filtering for Linux kernel 2.2 series, to set\n"
-"up a firewall to protect your machine from network attacks."
+#: ../../standalone/drakperm_.c:36
+msgid "path"
msgstr ""
-#: ../../network/ethernet.pm:1
-#, fuzzy, c-format
-msgid "Which dhcp client do you want to use ? (default is dhcp-client)"
-msgstr "Pe seurt parzhadur a vennit ?"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "permissions"
+msgstr "parzhadur %s"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Tamil (ISCII-layout)"
-msgstr "Tamoul (reizhadur ISCII)"
+#: ../../standalone/drakperm_.c:36
+#, fuzzy
+msgid "user"
+msgstr "Anv arveriad"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mayotte"
+#: ../../standalone/drakperm_.c:43
+msgid "Up"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "%d KB\n"
-msgstr "Ment : %d Ko\n"
+#: ../../standalone/drakperm_.c:44
+#, fuzzy
+msgid "delete"
+msgstr "Dilemel"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Creating auto install floppy..."
-msgstr "O krouiñ ur bladennig staliañ emgefreek"
+#: ../../standalone/drakperm_.c:45
+#, fuzzy
+msgid "edit"
+msgstr "Etre"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Searching for scanners ..."
-msgstr "Pakadoù hegerz"
+#: ../../standalone/drakperm_.c:46
+#, fuzzy
+msgid "Down"
+msgstr "Graet"
-#: ../../steps.pm:1
-#, fuzzy, c-format
-msgid "Partitioning"
-msgstr "Moullerez"
+#: ../../standalone/drakperm_.c:47
+#, fuzzy
+msgid "add a rule"
+msgstr "Ouzhpennañ un arveriad"
-#: ../../lang.pm:1
-#, c-format
-msgid "Russia"
-msgstr "Rusi"
+#: ../../standalone/drakperm_.c:48
+msgid "select perm file to see/edit"
+msgstr ""
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid "ethernet card(s) detected"
-msgstr "kartenn(où) ethernet kavoutet"
+#: ../../standalone/drakperm_.c:51
+msgid ""
+"Drakperm is used to see files to use in order to fix permissions, owners, "
+"and groups via msec.\n"
+"You can also edit your own rules which will owerwrite the default rules."
+msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Syslog"
-msgstr "Syslog"
+#: ../../standalone/drakperm_.c:56
+#, fuzzy
+msgid "Add a new rule at the end"
+msgstr "Moullerez lec'hel"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Can't create catalog!"
+#: ../../standalone/drakperm_.c:57
+msgid "Edit curent rule"
msgstr ""
-#: ../../share/advertising/11-mnf.pl:1
-#, c-format
-msgid ""
-"Complete your security setup with this very easy-to-use software which "
-"combines high performance components such as a firewall, a virtual private "
-"network (VPN) server and client, an intrusion detection system and a traffic "
-"manager."
+#: ../../standalone/drakperm_.c:58
+msgid "Up selected rule one level"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "Not enough free space for auto-allocating"
+#: ../../standalone/drakperm_.c:59
+msgid "Down selected rule one level"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Set root password"
-msgstr "Termeniñ tremenger root"
+#: ../../standalone/drakperm_.c:60
+#, fuzzy
+msgid "Delete selected rule"
+msgstr "Lemel ar steudad"
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid ""
-"There's no free driver for your sound card (%s), but there's a proprietary "
-"driver at \"%s\"."
+#: ../../standalone/drakperm_.c:224
+msgid "browse"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, 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"
+#: ../../standalone/drakperm_.c:231
+#, fuzzy
+msgid "Current user"
+msgstr "Aotren an arveriad"
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Internet connection configuration"
-msgstr "Lugerezh ar voullerez"
+#: ../../standalone/drakperm_.c:236
+#, fuzzy
+msgid "Permissions"
+msgstr "Stumm : %s\n"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"Please enter the maximum size\n"
-" allowed for Drakbackup (Mb)"
+#: ../../standalone/drakperm_.c:237
+msgid "Path"
msgstr ""
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Scanning for TV channels"
-msgstr ""
+#: ../../standalone/drakperm_.c:238
+#, fuzzy
+msgid "Property"
+msgstr "Paour"
-#: ../../standalone/drakbug:1
-#, c-format
-msgid "Kernel:"
+#: ../../standalone/drakperm_.c:240
+msgid "sticky-bit"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "/_About..."
-msgstr "/_A-brepoz"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Bengali"
+#: ../../standalone/drakperm_.c:241
+msgid "Set-UID"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Preference: "
-msgstr "Dibarzh : "
+#: ../../standalone/drakperm_.c:242
+msgid "Set-GID"
+msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Wizard..."
-msgstr "Skoazeller..."
+#: ../../standalone/drakperm_.c:296
+msgid ""
+"Used for directory:\n"
+" only owner of directory or file in this directory can delete it"
+msgstr ""
-#: ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, c-format
-msgid "Services: %d activated for %d registered"
+#: ../../standalone/drakperm_.c:297
+msgid "Use owner id for execution"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Create a bootdisk"
-msgstr "Krouiñ ur bladennig loc'hañ"
+#: ../../standalone/drakperm_.c:298
+msgid "Use group id for execution"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Solomon Islands"
-msgstr "Inizi Salaun"
+#: ../../standalone/drakperm_.c:299
+msgid "when checked, owner and group won't be changed"
+msgstr ""
-#: ../../standalone/mousedrake:1
-#, fuzzy, c-format
-msgid "Please test your mouse:"
-msgstr "Dibabit seurt ho logodenn, mar plij."
+#: ../../standalone/drakperm_.c:304
+#, fuzzy
+msgid "Path selection"
+msgstr "Diuz pakadoù unan hag unan"
-#: ../../modules/interactive.pm:1
-#, c-format
-msgid "(module %s)"
-msgstr "(mollad %s)"
+#: ../../standalone/drakperm_.c:350
+#, fuzzy
+msgid "user :"
+msgstr "Anv arveriad"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Workgroup"
+#: ../../standalone/drakperm_.c:352
+#, fuzzy
+msgid "group :"
msgstr "Strollad labour"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printer host name or IP"
-msgstr "Anv ar voullerez"
+#: ../../standalone/draksound_.c:46
+#, fuzzy
+msgid "No Sound Card detected!"
+msgstr "Lugerezh ar voullerez"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Host Path or Module"
+#: ../../standalone/draksound_.c:47
+msgid ""
+"No Sound Card has been detected on your machine. Please verify that a Linux-"
+"supported Sound Card is correctly plugged in.\n"
+"\n"
+"\n"
+"You can visit our hardware database at:\n"
+"\n"
+"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer should contain only letters, numbers and the underscore"
+#: ../../standalone/draksound_.c:54
+msgid ""
+"\n"
+"\n"
+"\n"
+"Note: if you've an ISA PnP sound card, you'll have to use the sndconfig "
+"program. Just type \"sndconfig\" in a console."
msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "Show current interface configuration"
-msgstr "Kefluniañ ar modem"
+#: ../../standalone/draksplash_.c:21
+msgid ""
+"package 'ImageMagick' is required for correct working.\n"
+"Click \"Ok\" to install 'ImageMagick' or \"Cancel\" to quit"
+msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Development"
-msgstr "Diorren"
+#: ../../standalone/draksplash_.c:67
+#, fuzzy
+msgid "first step creation"
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../any.pm:1 ../../diskdrake/dav.pm:1 ../../diskdrake/hd_gtk.pm:1
-#: ../../diskdrake/removable.pm:1 ../../diskdrake/smbnfs_gtk.pm:1
-#: ../../help.pm:1 ../../interactive/http.pm:1 ../../printer/printerdrake.pm:1
-#: ../../standalone/drakbackup:1 ../../standalone/scannerdrake:1
-#, c-format
-msgid "Done"
-msgstr "Graet"
+#: ../../standalone/draksplash_.c:70
+#, fuzzy
+msgid "final resolution"
+msgstr "Spister"
-#: ../../network/drakfirewall.pm:1
-#, fuzzy, c-format
-msgid "Web Server"
-msgstr "Servijer"
+#: ../../standalone/draksplash_.c:71 ../../standalone/draksplash_.c:163
+#, fuzzy
+msgid "choose image file"
+msgstr "Dibabit ur restr"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\tDo not include System Files\n"
+#: ../../standalone/draksplash_.c:72
+#, fuzzy
+msgid "Theme name"
+msgstr "Anv rannet"
+
+#: ../../standalone/draksplash_.c:77
+msgid "Browse"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Chile"
-msgstr "Chili"
+#: ../../standalone/draksplash_.c:87 ../../standalone/draksplash_.c:153
+#, fuzzy
+msgid "Configure bootsplash picture"
+msgstr "Kefluniañ servijoù"
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:90
msgid ""
-"The inkjet printer drivers provided by Lexmark only support local printers, "
-"no printers on remote machines or print server boxes. Please connect your "
-"printer to a local port or configure it on the machine where it is connected "
-"to."
+"x coordinate of text box\n"
+"in number of character"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/draksplash_.c:91
msgid ""
-"Your multi-function device was configured automatically to be able to scan. "
-"Now you can scan with \"scanimage\" (\"scanimage -d hp:%s\" to specify the "
-"scanner when you have more than one) from the command line or with the "
-"graphical interfaces \"xscanimage\" or \"xsane\". If you are using the GIMP, "
-"you can also scan by choosing the appropriate point in the \"File\"/\"Acquire"
-"\" menu. Call also \"man scanimage\" on the command line to get more "
-"information.\n"
-"\n"
-"Do not use \"scannerdrake\" for this device!"
+"y coordinate of text box\n"
+"in number of character"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "(already added %s)"
-msgstr "(ouzhpennet %s endeo)"
-
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Bootloader installation in progress"
-msgstr "Staliadur c'harger loc'hañ"
-
-#: ../../printer/main.pm:1
-#, c-format
-msgid ", using command %s"
+#: ../../standalone/draksplash_.c:92
+msgid "text width"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Alt and Shift keys simultaneously"
+#: ../../standalone/draksplash_.c:93
+msgid "text box height"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Flags"
+#: ../../standalone/draksplash_.c:94
+msgid ""
+"the progress bar x coordinate\n"
+"of its upper left corner"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Add/Del Users"
-msgstr "Ouzhpennañ un arveriad"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Host/network IP address missing."
+#: ../../standalone/draksplash_.c:95
+msgid ""
+"the progress bar y coordinate\n"
+"of its upper left corner"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "weekly"
+#: ../../standalone/draksplash_.c:96
+msgid "the width of the progress bar"
msgstr ""
-#: ../../standalone/logdrake:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Settings"
+#: ../../standalone/draksplash_.c:97
+msgid "the heigth of the progress bar"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The entered host/network IP is not correct.\n"
+#: ../../standalone/draksplash_.c:98
+msgid "the color of the progress bar"
msgstr ""
-#: ../../any.pm:1
-#, fuzzy, c-format
-msgid "Here is the full list of available countries"
-msgstr "stokellaoueg"
+#: ../../standalone/draksplash_.c:113
+#, fuzzy
+msgid "Preview"
+msgstr "trobarzhell"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Alternative test page (A4)"
-msgstr "O voullañ pajenn(où) skrid..."
+#: ../../standalone/draksplash_.c:115
+#, fuzzy
+msgid "Save theme"
+msgstr "Staliañ ar reizhiad"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-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."
+#: ../../standalone/draksplash_.c:116
+#, fuzzy
+msgid "Choose color"
+msgstr "Dibabit ur skramm"
+
+#: ../../standalone/draksplash_.c:119
+msgid "Display logo on Console"
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."
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, c-format
-msgid "Wait please"
+#: ../../standalone/draksplash_.c:120
+msgid "Make kernel message quiet by default"
msgstr ""
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
+#: ../../standalone/draksplash_.c:156 ../../standalone/draksplash_.c:321
#, c-format
-msgid "PAP"
-msgstr "PAP"
+msgid "This theme haven't yet any bootsplash in %s !"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Backup user files"
-msgstr "Restr gwareziñ siek"
+#: ../../standalone/draksplash_.c:205
+msgid "saving Bootsplash theme..."
+msgstr ""
-#: ../../diskdrake/dav.pm:1
-#, c-format
-msgid "New"
-msgstr "Nevez"
+#: ../../standalone/draksplash_.c:428
+#, fuzzy
+msgid "ProgressBar color selection"
+msgstr "Lugerezh ar voullerez"
+
+#: ../../standalone/draksplash_.c:449
+#, fuzzy
+msgid "You must choose an image file first!"
+msgstr "Trobarzhell ar voullerez"
+
+#: ../../standalone/draksplash_.c:458
+#, fuzzy
+msgid "Generating preview ..."
+msgstr "O tinoiñ trobarzhelloù..."
-#: ../../help.pm:1
+#. -PO First %s is theme name, second %s (in parenthesis) is resolution
+#: ../../standalone/draksplash_.c:506
#, c-format
+msgid "%s BootSplash (%s) preview"
+msgstr ""
+
+#: ../../standalone/drakxtv_.c:46
msgid ""
-"This is the most crucial decision point for the security of your GNU/Linux\n"
-"system: you have to enter the \"root\" password. \"Root\" is the system\n"
-"administrator and is the only user authorized to make updates, add users,\n"
-"change the overall system configuration, and so on. In short, \"root\" can\n"
-"do everything! That is why you must choose a password that is difficult to\n"
-"guess - DrakX will tell you if the password that you chose too easy. As you\n"
-"can see, you are not forced to enter a password, but we strongly advise you\n"
-"against this. GNU/Linux is just as prone to operator error as any other\n"
-"operating system. Since \"root\" can overcome all limitations and\n"
-"unintentionally erase all data on partitions by carelessly accessing the\n"
-"partitions themselves, it is important that it be difficult to become\n"
-"\"root\".\n"
-"\n"
-"The password should be a mixture of alphanumeric characters and at least 8\n"
-"characters long. Never write down the \"root\" password -- it makes it far\n"
-"too easy to compromise a system.\n"
-"\n"
-"One caveat -- do not make the password too long or complicated because you\n"
-"must be able to remember it!\n"
-"\n"
-"The password will not be displayed on screen as you type it in. To reduce\n"
-"the chance of a blind typing error you will need to enter the password\n"
-"twice. If you do happen to make the same typing error twice, this\n"
-"``incorrect'' password will be the one you will have use the first time you\n"
-"connect.\n"
+"XawTV isn't installed!\n"
"\n"
-"If you wish access to this computer to be controlled by an authentication\n"
-"server, click the \"%s\" button.\n"
"\n"
-"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
-"services, select the appropriate one for \"%s\". If you do not know which\n"
-"one to use, you should ask your network administrator.\n"
+"If you do have a TV card but DrakX has neither detected it (no bttv nor "
+"saa7134\n"
+"module in \"/etc/modules\") nor installed xawtv, please send the\n"
+"results of \"lspcidrake -v -f\" to \"install\\@mandrakesoft.com\"\n"
+"with subject \"undetected TV card\".\n"
"\n"
-"If you happen to have problems with remembering passwords, if your computer\n"
-"will never be connected to the internet or that you absolutely trust\n"
-"everybody who uses your computer, you can choose to have \"%s\"."
-msgstr ""
-
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"At this point, DrakX will allow you to choose the security level desired\n"
-"for the machine. As a rule of thumb, the security level should be set\n"
-"higher if the machine will contain crucial data, or if it will be a machine\n"
-"directly exposed to the Internet. The trade-off of a higher security level\n"
-"is generally obtained at the expense of ease of use.\n"
"\n"
-"If you do not know what to choose, stay with the default option."
+"You can install it by typing \"urpmi xawtv\" as root, in a console."
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Load from floppy"
-msgstr "Assevel adalek ar pladennig"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "The following printer was auto-detected. "
-msgstr "Ar pakadoù a-heul a zo war-nes bezañ staliet/lamet"
+#: ../../standalone/drakxtv_.c:63
+#, fuzzy
+msgid "Canada (cable)"
+msgstr "Kanadian (Kebek)"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Boot Floppy"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (broadcast)"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Norwegian"
-msgstr "Norvegek"
-
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Searching for new scanners ..."
-msgstr "Pakadoù hegerz"
-
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Apache World Wide Web Server"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable)"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "stepping of the cpu (sub model (generation) number)"
+#: ../../standalone/drakxtv_.c:63
+msgid "USA (cable-hrc)"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "select path to restore (instead of /)"
-msgstr "Dibabit seurt ho logodenn, mar plij."
-
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Configure bootsplash picture"
-msgstr "Kefluniañ servijoù"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "China"
-msgstr "Sina"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid " (Make sure that all your printers are connected and turned on).\n"
-msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Georgia"
-msgstr "Jeorji"
-
-#: ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Reading data of installed printers..."
-msgstr "Pakadoù hegerz"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid " Erase Now "
+#: ../../standalone/drakxtv_.c:64
+msgid "China (broadcast)"
msgstr ""
-#: ../../fsedit.pm:1
-#, c-format
-msgid "server"
-msgstr "servijer"
-
-#: ../../install_any.pm:1
-#, fuzzy, c-format
-msgid "Insert a FAT formatted floppy in drive %s"
-msgstr "Lakait ur bladennig el lenner %s"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "yes means the processor has an arithmetic coprocessor"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (broadcast)"
msgstr ""
-#: ../../harddrake/sound.pm:1 ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Please Wait... Applying the configuration"
-msgstr "Amprouiñ ar c'hefluniadur"
-
-# 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:1
-#, c-format
-msgid "Welcome to GRUB the operating system chooser!"
-msgstr "Degemer mat e GRUB an dibaber reizhiad oberia¤ !"
-
-#: ../../bootloader.pm:1
-#, c-format
-msgid "Grub"
-msgstr "Grub"
-
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "SCSI controllers"
+#: ../../standalone/drakxtv_.c:64
+msgid "Japan (cable)"
msgstr ""
-#: ../../printer/main.pm:1
-#, c-format
-msgid " on LPD server \"%s\", printer \"%s\""
+#: ../../standalone/drakxtv_.c:65
+msgid "East Europe"
msgstr ""
-#: ../../standalone/drakedm:1
-#, c-format
-msgid "Choosing a display manager"
-msgstr ""
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "France [SECAM]"
+msgstr "Gall"
-#: ../../network/ethernet.pm:1 ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Zeroconf Host name"
-msgstr "Anv an ostiz"
+#: ../../standalone/drakxtv_.c:65
+#, fuzzy
+msgid "Ireland"
+msgstr "Islandek"
-#: ../../network/network.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-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"
+#: ../../standalone/drakxtv_.c:65
+msgid "West Europe"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Ecuador"
-msgstr "Kehider"
+#: ../../standalone/drakxtv_.c:66
+#, fuzzy
+msgid "Australia"
+msgstr "a-steud"
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Add an item"
-msgstr "Ouzhpennañ un arveriad"
+#: ../../standalone/drakxtv_.c:66
+msgid "Newzealand"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "The printers on this machine are available to other computers"
+#: ../../standalone/drakxtv_.c:67
+msgid "South Africa"
msgstr ""
-#: ../../standalone/drakautoinst:1
-#, c-format
-msgid "I can't find needed image file `%s'."
+#: ../../standalone/drakxtv_.c:68
+msgid "Argentina"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "No sound card detected. Try \"harddrake\" after installation"
+#: ../../standalone/drakxtv_.c:69
+msgid "Australian Optus cable TV"
msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
+#: ../../standalone/drakxtv_.c:102
msgid ""
-"Invalid port given: %s.\n"
-"The proper format is \"port/tcp\" or \"port/udp\", \n"
-"where port is between 1 and 65535."
+"Please,\n"
+"type in your tv norm and country"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Shell"
-msgstr "Shell"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Sao Tome and Principe"
+#: ../../standalone/drakxtv_.c:104
+msgid "TV norm:"
msgstr ""
-#: ../../network/isdn.pm:1
-#, c-format
-msgid "PCI"
-msgstr "PCI"
-
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Can't login using username %s (bad password?)"
+#: ../../standalone/drakxtv_.c:105
+msgid "Area:"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Azerbaidjani (latin)"
-msgstr "Azerbaidjanek (latin)"
-
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Package not installed"
-msgstr "Dilezel ar staliadur"
-
-#: ../../share/advertising/12-mdkexpert.pl:1
-#, fuzzy, c-format
-msgid "Become a MandrakeExpert"
-msgstr "MandrakeExpert"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "American Samoa"
+#: ../../standalone/drakxtv_.c:109
+msgid "Scanning for TV channels in progress ..."
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Protocol"
+#: ../../standalone/drakxtv_.c:116
+msgid "Scanning for TV channels"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Copy fonts on your system"
+#: ../../standalone/drakxtv_.c:120
+#, fuzzy
+msgid "There was an error while scanning for TV channels"
+msgstr "Ur fazi a zo bet en ur staliañ ar pakadoù :"
+
+#: ../../standalone/drakxtv_.c:121
+msgid "XawTV isn't installed!"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Harddrake help"
+#: ../../standalone/drakxtv_.c:124
+msgid "Have a nice day!"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "Bogomips"
+#: ../../standalone/drakxtv_.c:125
+msgid "Now, you can run xawtv (under X Window!) !\n"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Mandrake Terminal Server Configuration"
-msgstr "Kefluniañ ar proksioù"
+#: ../../standalone/drakxtv_.c:147
+msgid "No TV Card detected!"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/drakxtv_.c:148
msgid ""
+"No TV Card has been detected on your machine. Please verify that a Linux-"
+"supported Video/TV Card is correctly plugged in.\n"
"\n"
-" DrakBackup Report Details\n"
+"\n"
+"You can visit our hardware database at:\n"
"\n"
"\n"
+"http://www.linux-mandrake.com/en/hardware.php3"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Restore all backups"
-msgstr ""
+#: ../../standalone/harddrake2_.c:17
+#, fuzzy
+msgid "Alternative drivers"
+msgstr "O voullañ pajenn(où) skrid..."
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid " on parallel port #%s"
+#: ../../standalone/harddrake2_.c:18
+msgid "the list of alternative drivers for this sound card"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, check open ports."
+#: ../../standalone/harddrake2_.c:20
+msgid "Bus"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "This may take a moment to erase the media."
+#: ../../standalone/harddrake2_.c:21
+msgid ""
+"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "You can't select/unselect this package"
-msgstr "N'hellit ket diuz/andiuz ar pakad-mañ"
-
-#: ../../diskdrake/interactive.pm:1 ../../harddrake/sound.pm:1
-#: ../../network/modem.pm:1 ../../standalone/drakfloppy:1
-#, c-format
-msgid "Warning"
-msgstr "Ho evezh"
+#: ../../standalone/harddrake2_.c:22
+#, fuzzy
+msgid "Channel"
+msgstr "Nullañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Other Files:\n"
+#: ../../standalone/harddrake2_.c:22
+msgid "EIDE/SCSI channel"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remote host name"
-msgstr "Anv an ostiz a-bell"
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "deactivate now"
-msgstr "Bevaat"
+#: ../../standalone/harddrake2_.c:23
+msgid "Bogomips"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "access to X programs"
+#: ../../standalone/harddrake2_.c:23
+msgid ""
+"The GNU/Linux kernel needs to do run a calculation loop at boot time\n"
+"\t to initialize a timer counter. Its result is stored as bogomips as a way "
+"to \"benchmark\" the cpu."
msgstr ""
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "Computing the size of the Windows partition"
-msgstr "Krouiñ ur parzhadur nevez"
+#: ../../standalone/harddrake2_.c:26
+#, fuzzy
+msgid "Bus identification"
+msgstr "Dilesadur"
-#: ../../crypto.pm:1 ../../lang.pm:1 ../../network/tools.pm:1
-#: ../../standalone/drakxtv:1
-#, c-format
-msgid "Italy"
-msgstr "Itali"
+#: ../../standalone/harddrake2_.c:27
+msgid ""
+"- PCI and USB devices: this list the vendor, device, subvendor and subdevice "
+"PCI/USB ids"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Name of printer"
-msgstr "Anv ar moullerez"
+#: ../../standalone/harddrake2_.c:29
+msgid "Location on the bus"
+msgstr ""
-#: ../../standalone/drakgw:1
-#, fuzzy, c-format
-msgid "disable"
-msgstr "Taolenn"
+#: ../../standalone/harddrake2_.c:30
+msgid ""
+"- pci devices: this gives the PCI slot, device and function of this card\n"
+"- eide devices: the device is either a slave or a master device\n"
+"- scsi devices: the scsi bus and the scsi device ids"
+msgstr ""
-#: ../../fs.pm:1 ../../partition_table.pm:1
-#, c-format
-msgid "error unmounting %s: %s"
-msgstr "fazi en ur zivarc'hañ %s : %s"
+#: ../../standalone/harddrake2_.c:33
+#, fuzzy
+msgid "Cache size"
+msgstr "ment diaoz"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do it!"
+#: ../../standalone/harddrake2_.c:33
+msgid "Size of the (second level) cpu cache"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Cayman Islands"
+#: ../../standalone/harddrake2_.c:34
+msgid "Coma bug:"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "%s not responding"
+#: ../../standalone/harddrake2_.c:34
+msgid "Does this cpu has Cyrix 6x86 Coma bug ?"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Select model manually"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
-
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Format"
-msgstr "Furmadiñ"
+#: ../../standalone/harddrake2_.c:35
+msgid "Cpuid family"
+msgstr ""
-#: ../../network/adsl.pm:1
-#, c-format
-msgid ""
-"The most common way to connect with adsl is pppoe.\n"
-"Some connections use pptp, a few use dhcp.\n"
-"If you don't know, choose 'use pppoe'"
+#: ../../standalone/harddrake2_.c:35
+msgid "Family of the cpu (eg: 6 for i686 class)"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Various"
-msgstr "A bep sort"
+#: ../../standalone/harddrake2_.c:36
+#, fuzzy
+msgid "Cpuid level"
+msgstr "Live surentez"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Zip"
+#: ../../standalone/harddrake2_.c:36
+msgid "Information level that can be obtained through the cpuid instruction"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Alt key"
+#: ../../standalone/harddrake2_.c:37
+msgid "Frequency (MHz)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:37
msgid ""
-"\n"
-"\n"
-"Printerdrake could not determine which model your printer %s is. Please "
-"choose the correct model from the list."
+"The cpu frequency in Mhz (Mega herz which in first approximation may be "
+"coarsely assimilated to number of instructions the cpu is able to execute "
+"per second)"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"\n"
-"Mark the printers which you want to transfer and click \n"
-"\"Transfer\"."
+#: ../../standalone/harddrake2_.c:38
+msgid "This field describes the device"
msgstr ""
-#: ../../printer/data.pm:1
-#, c-format
-msgid "PDQ"
-msgstr "PDQ"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Albanian"
-msgstr "Albaniek"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "Lithuania"
-msgstr "Lituani"
-
-#: ../../any.pm:1
-#, c-format
-msgid "Compact"
-msgstr "Fetis"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Detected model: %s %s"
-msgstr "Poent marc'hañ doubl %s"
+#: ../../standalone/harddrake2_.c:39
+#, fuzzy
+msgid "Old device file"
+msgstr "Diuzit ar restr"
-#: ../../share/advertising/03-software.pl:1
-#, c-format
-msgid "MandrakeSoft has selected the best software for you"
+#: ../../standalone/harddrake2_.c:40
+msgid "old static device name used in dev package"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Local files"
-msgstr "Restroù lec'hel"
-
-#: ../../pkgs.pm:1
-#, c-format
-msgid "maybe"
-msgstr "marteze"
+#: ../../standalone/harddrake2_.c:41
+#, fuzzy
+msgid "New devfs device"
+msgstr "Trobarzhell an dreuzell"
-#: ../../lang.pm:1
-#, c-format
-msgid "Panama"
+#: ../../standalone/harddrake2_.c:42
+msgid "new dinamic device name generated by incore kernel devfs"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Can't open %s!"
-msgstr "Fazi en ur zigeriñ %s evit skrivañ : %s"
+#: ../../standalone/harddrake2_.c:43
+#, fuzzy
+msgid "Module"
+msgstr "Logodenn"
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid ""
-"Your graphic card seems to have a TV-OUT connector.\n"
-"It can be configured to work using frame-buffer.\n"
-"\n"
-"For this you have to plug your graphic card to your TV before booting your "
-"computer.\n"
-"Then choose the \"TVout\" entry in the bootloader\n"
-"\n"
-"Do you have this feature?"
+#: ../../standalone/harddrake2_.c:43
+msgid "the module of the GNU/Linux kernel that handle that device"
msgstr ""
-#: ../../Xconfig/main.pm:1 ../../Xconfig/monitor.pm:1
-#, c-format
-msgid "Monitor"
-msgstr "Skramm"
+#: ../../standalone/harddrake2_.c:44
+msgid "CPU flags reported by the kernel"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"You are about to set up printing to a Windows account with password. Due to "
-"a fault in the architecture of the Samba client software the password is put "
-"in clear text into the command line of the Samba client used to transmit the "
-"print job to the Windows server. So it is possible for every user on this "
-"machine to display the password on the screen by issuing commands as \"ps "
-"auxwww\".\n"
-"\n"
-"We recommend to make use of one of the following alternatives (in all cases "
-"you have to make sure that only machines from your local network have access "
-"to your Windows server, for example by means of a firewall):\n"
-"\n"
-"Use a password-less account on your Windows server, as the \"GUEST\" account "
-"or a special account dedicated for printing. Do not remove the password "
-"protection from a personal account or the administrator account.\n"
-"\n"
-"Set up your Windows server to make the printer available under the LPD "
-"protocol. Then set up printing from this machine with the \"%s\" connection "
-"type in Printerdrake.\n"
-"\n"
+#: ../../standalone/harddrake2_.c:44
+msgid "Flags"
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "65 thousand colors (16 bits)"
-msgstr "65 mil liv (16 bit)"
+#: ../../standalone/harddrake2_.c:45
+msgid "Fdiv bug"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
+#: ../../standalone/harddrake2_.c:46
msgid ""
-"\n"
-"- Save on Hard drive on path: %s\n"
+"Early Intel Pentium chips manufactured have a bug in their floating point "
+"processor which did not achieve the attended precision when performing a "
+"Floating point DIVision (FDIV)"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Remove fonts on your system"
+#: ../../standalone/harddrake2_.c:49
+msgid "Is FPU present"
msgstr ""
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Warning, the network adapter (%s) is already configured.\n"
-"\n"
-"Do you want an automatic re-configuration?\n"
-"\n"
-"You can do it manually but you need to know what you're doing."
+#: ../../standalone/harddrake2_.c:49
+msgid "yes means the processor has an arithmetic coprocessor"
msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "Graphical interface at startup"
-msgstr "X pa loc'her"
+#: ../../standalone/harddrake2_.c:50
+msgid "Does FPU have an irq vector"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please enter the directory to save:"
-msgstr "Dibabit seurt ho logodenn, mar plij."
+#: ../../standalone/harddrake2_.c:50
+msgid "yes means the arithmetic coprocessor has an exception vector attached"
+msgstr ""
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid "format of floppies supported by the drive"
+#: ../../standalone/harddrake2_.c:51
+msgid "Early pentium were buggy and freezed when decoding the F00F bytecode"
msgstr ""
-#: ../../raid.pm:1
-#, c-format
-msgid "Not enough partitions for RAID level %d\n"
-msgstr "Ket a-walc'h a parzhadurioù evit RAID live %d\n"
+#: ../../standalone/harddrake2_.c:51
+msgid "F00f bug"
+msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "local config: true"
-msgstr "Kefluniañ X"
+#: ../../standalone/harddrake2_.c:52
+msgid "Halt bug"
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
+#: ../../standalone/harddrake2_.c:53
msgid ""
-"The following printers are configured. Double-click on a printer to change "
-"its settings; to make it the default printer; or to view information about "
-"it."
+"Some of the early i486DX-100 chips cannot reliably return to operating mode "
+"after the \"halt\" instruction is used"
msgstr ""
-"Setu da heul ar steudadoù moullañ.\n"
-"Gallout a rit ouzhpennañ lod pe gemmañ a re a zo."
-#: ../../standalone/drakconnect:1 ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Connected"
-msgstr "Anv ar gevreadenn"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Macedonian"
-msgstr "Makedonia"
+#: ../../standalone/harddrake2_.c:55
+#, fuzzy
+msgid "Floppy format"
+msgstr "Furmadiñ"
-#: ../../harddrake/data.pm:1
-#, c-format
-msgid "Bridges and system controllers"
+#: ../../standalone/harddrake2_.c:55
+msgid "Format of floppies the drive accept"
msgstr ""
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "/File/_Save"
-msgstr "/Restr/_Enrollañ"
+#: ../../standalone/harddrake2_.c:56
+#, fuzzy
+msgid "Level"
+msgstr "live"
-#: ../../lang.pm:1
-#, c-format
-msgid "Mali"
-msgstr "Mali"
+#: ../../standalone/harddrake2_.c:56
+msgid "Sub generation of the cpu"
+msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, fuzzy, c-format
-msgid "No details"
-msgstr "Munudoù"
+#: ../../standalone/harddrake2_.c:57
+msgid "Media class"
+msgstr ""
-#: ../../pkgs.pm:1
-#, c-format
-msgid "very nice"
-msgstr "brav-tre"
+#: ../../standalone/harddrake2_.c:57
+msgid "class of hardware device"
+msgstr ""
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "Preview"
-msgstr "trobarzhell"
+#: ../../standalone/harddrake2_.c:58 ../../standalone/harddrake2_.c:59
+#, fuzzy
+msgid "Model"
+msgstr "Logodenn"
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Remote Control"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../standalone/harddrake2_.c:58
+#, fuzzy
+msgid "hard disk model"
+msgstr "Memor kartenn (DMA)"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Please select media for backup..."
-msgstr "Diuzit ar yezh da implijout, mar plij."
+#: ../../standalone/harddrake2_.c:59
+msgid "Generation of the cpu (eg: 8 for PentiumIII, ...)"
+msgstr ""
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 server: %s\n"
-msgstr "Servijer XFree86 : %s\n"
+#: ../../standalone/harddrake2_.c:60
+#, fuzzy
+msgid "Model name"
+msgstr "Dibarzhoù ar mollad :"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Allow Thin Clients"
+#: ../../standalone/harddrake2_.c:60
+msgid "Official vendor name of the cpu"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Georgian (\"Russian\" layout)"
-msgstr "Jorjiek (reizhadur \"Rusiek\")"
-
-#: ../../standalone/harddrake2:1 ../../standalone/logdrake:1
-#, fuzzy, c-format
-msgid "/_Options"
-msgstr "Parzhadur"
+#: ../../standalone/harddrake2_.c:61
+#, fuzzy
+msgid "Number of buttons"
+msgstr "2 nozelenn"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Your printer model"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../standalone/harddrake2_.c:62
+#, fuzzy
+msgid "Name"
+msgstr "Anv: "
-#: ../../any.pm:1
-#, c-format
-msgid ""
-"\n"
-"\n"
-"(WARNING! You're using XFS for your root partition,\n"
-"creating a bootdisk on a 1.44 Mb floppy will probably fail,\n"
-"because XFS needs a very large driver)."
-msgstr ""
+#: ../../standalone/harddrake2_.c:63
+#, fuzzy
+msgid "network printer port"
+msgstr "Dibarzhoù ar voullerez NetWare"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-"\n"
-"- Delete hard drive tar files after backup.\n"
+#: ../../standalone/harddrake2_.c:64
+msgid "Processor ID"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, c-format
-msgid ""
-"No CD or DVD image found, please copy the installation program and rpm files."
+#: ../../standalone/harddrake2_.c:64
+msgid "the number of the processor"
msgstr ""
-#: ../../share/advertising/04-configuration.pl:1
-#, fuzzy, c-format
-msgid "Mandrake's multipurpose configuration tool"
-msgstr "Kefluniañ ar proksioù"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Save"
-msgstr "Enrollañ"
+#: ../../standalone/harddrake2_.c:65
+#, fuzzy
+msgid "Model stepping"
+msgstr "O furmadiñ"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is unsupported"
+#: ../../standalone/harddrake2_.c:65
+msgid "Stepping of the cpu (sub model (generation) number)"
msgstr ""
-#: ../../services.pm:1
-#, c-format
-msgid "Load the drivers for your usb devices."
-msgstr ""
-
-#: ../../harddrake/data.pm:1
-#, fuzzy, c-format
-msgid "Disk"
-msgstr "Danek"
-
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Enter a printer device URI"
-msgstr "Trobarzhell ar voullerez"
+#: ../../standalone/harddrake2_.c:66
+#, fuzzy
+msgid "The type of bus on which the mouse is connected"
+msgstr "Dibabit ar porzh a-steud m'eo luget ho logodenn outañ, mar plij."
-#: ../../share/advertising/01-thanks.pl:1
-#, c-format
-msgid ""
-"The success of MandrakeSoft is based upon the principle of Free Software. "
-"Your new operating system is the result of collaborative work of the "
-"worldwide Linux Community."
+#: ../../standalone/harddrake2_.c:67
+msgid "the vendor name of the device"
msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "Israel"
-msgstr "Israel"
-
-#: ../../lang.pm:1
-#, c-format
-msgid "French Guiana"
-msgstr "Gwiana gallek"
+#: ../../standalone/harddrake2_.c:68
+msgid "the vendor name of the processor"
+msgstr ""
-#: ../../lang.pm:1
-#, c-format
-msgid "default:LTR"
-msgstr "default:LTR"
+#: ../../standalone/harddrake2_.c:82
+#, fuzzy
+msgid "/_Quit"
+msgstr "Kuitaat"
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "add a rule"
-msgstr "Ouzhpennañ un arveriad"
+#: ../../standalone/harddrake2_.c:83
+#, fuzzy
+msgid "/Autodetect _printers"
+msgstr "Dilesadur"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "A command line must be entered!"
-msgstr ""
+#: ../../standalone/harddrake2_.c:83 ../../standalone/harddrake2_.c:85
+#: ../../standalone/logdrake_.c:81
+#, fuzzy
+msgid "/_Options"
+msgstr "Parzhadur"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Select user manually"
-msgstr ""
+#: ../../standalone/harddrake2_.c:85
+#, fuzzy
+msgid "/Autodetect _modems"
+msgstr "Dilesadur"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Transfer printer configuration"
-msgstr "Kefluniañ ar proksioù"
+#: ../../standalone/harddrake2_.c:87 ../../standalone/harddrake2_.c:89
+#: ../../standalone/harddrake2_.c:100 ../../standalone/harddrake2_.c:102
+#: ../../standalone/logdrake_.c:83
+msgid "/_Help"
+msgstr "/_Skoazell"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Do you want to enable printing on the printers mentioned above?\n"
-msgstr "Mennout a rit implijout aboot ?"
+#: ../../standalone/harddrake2_.c:89
+msgid "/_Help..."
+msgstr "/_Skoazell..."
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid ""
-"For this to work for a W2K PDC, you will probably need to have the admin "
-"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
-"add and reboot the server.\n"
-"You will also need the username/password of a Domain Admin to join the "
-"machine to the Windows(TM) domain.\n"
-"If networking is not yet enabled, Drakx will attempt to join the domain "
-"after the network setup step.\n"
-"Should this setup fail for some reason and domain authentication is not "
-"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
-"Domain, and Admin Username/Password, after system boot.\n"
-"The command 'wbinfo -t' will test whether your authentication secrets are "
-"good."
+#: ../../standalone/harddrake2_.c:92
+msgid "Harddrake help"
msgstr ""
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid "%s (Port %s)"
-msgstr "Paour"
-
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use network connection to backup"
-msgstr "Restr gwareziñ siek"
-
-#: ../../security/help.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:93
msgid ""
-"Arguments: (arg)\n"
+"Description of the fields:\n"
"\n"
-" Enable/Disable sulogin(8) in single user level."
msgstr ""
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/harddrake2_.c:96
msgid ""
-"It is now time to specify which programs you wish to install on your\n"
-"system. There are thousands of packages available for Mandrake Linux, and\n"
-"to make it simpler to manage the packages have been placed into groups of\n"
-"similar applications.\n"
-"\n"
-"Packages are sorted into groups corresponding to a particular use of your\n"
-"machine. Mandrake Linux has four predefined installations available. You\n"
-"can think of these installation classes as containers for various packages.\n"
-"You can mix and match applications from the various groups, so a\n"
-"``Workstation'' installation can still have applications from the\n"
-"``Development'' group installed.\n"
-"\n"
-" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
-"more of the applications that are in the workstation group.\n"
-"\n"
-" * \"%s\": if plan on using your machine for programming, choose the\n"
-"appropriate packages from that group.\n"
-"\n"
-" * \"%s\": if your machine is intended to be a server, select which of the\n"
-"more common services you wish to install on your machine.\n"
-"\n"
-" * \"%s\": this is where you will choose your preferred graphical\n"
-"environment. At least one must be selected if you want to have a graphical\n"
-"interface available.\n"
-"\n"
-"Moving the mouse cursor over a group name will display a short explanatory\n"
-"text about that group. If you unselect all groups when performing a regular\n"
-"installation (as opposed to an upgrade), a dialog will pop up proposing\n"
-"different options for a minimal installation:\n"
-"\n"
-" * \"%s\": install the minimum number of packages possible to have a\n"
-"working graphical desktop.\n"
-"\n"
-" * \"%s\": installs the base system plus basic utilities and their\n"
-"documentation. This installation is suitable for setting up a server.\n"
-"\n"
-" * \"%s\": will install the absolute minimum number of packages necessary\n"
-"to get a working Linux system. With this installation you will only have a\n"
-"command line interface. The total size of this installation is about 65\n"
-"megabytes.\n"
-"\n"
-"You can check the \"%s\" box, which is useful if you are familiar with the\n"
-"packages being offered or if you want to have total control over what will\n"
-"be installed.\n"
-"\n"
-"If you started the installation in \"%s\" mode, you can unselect all groups\n"
-"to avoid installing any new package. This is useful for repairing or\n"
-"updating an existing system."
+"Once you've selected a device, you'll be able to see explanations on fields "
+"displayed on the right frame (\"Information\")"
msgstr ""
-#: ../../any.pm:1 ../../help.pm:1
-#, c-format
-msgid "Accept user"
-msgstr "Aotren an arveriad"
-
-#: ../../diskdrake/dav.pm:1 ../../help.pm:1
-#, c-format
-msgid "Server"
-msgstr "Servijer"
+#: ../../standalone/harddrake2_.c:96
+#, fuzzy
+msgid "Select a device !"
+msgstr "Diuzit ur gartenn c'hrafek"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Left Shift key"
+#: ../../standalone/harddrake2_.c:100
+msgid "/_Report Bug"
msgstr ""
-#: ../../interactive/stdio.pm:1
-#, c-format
-msgid "Bad choice, try again\n"
-msgstr "Dibab fall, klaskit adarre\n"
+#: ../../standalone/harddrake2_.c:102
+#, fuzzy
+msgid "/_About..."
+msgstr "Marc'hañ"
-#: ../../lang.pm:1
-#, c-format
-msgid "Heard and McDonald Islands"
+#: ../../standalone/harddrake2_.c:104
+msgid "About Harddrake"
msgstr ""
-#: ../../harddrake/sound.pm:1
-#, c-format
-msgid "No alternative driver"
+#: ../../standalone/harddrake2_.c:105
+msgid ""
+"This is HardDrake, a Mandrake hardware configuration tool.\n"
+"Version:"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Toggle to expert mode"
-msgstr "Tremen er mod mailh"
-
-#: ../../printer/cups.pm:1
-#, c-format
-msgid "(on this machine)"
-msgstr ""
+#: ../../standalone/harddrake2_.c:106
+#, fuzzy
+msgid "Author:"
+msgstr "Embrouiñ"
-#: ../../network/network.pm:1
-#, fuzzy, c-format
-msgid "Gateway address should be in format 1.2.3.4"
-msgstr "Er furmad 1.2.3.4 e tlefe bezañ ar chomlec'h IP"
+#: ../../standalone/harddrake2_.c:113
+#, fuzzy
+msgid "Detection in progress"
+msgstr "Poent marc'hañ doubl %s"
-#: ../../network/modem.pm:1
-#, c-format
-msgid ""
-"\"%s\" based winmodem detected, do you want to install needed software ?"
-msgstr ""
+#: ../../standalone/harddrake2_.c:119
+#, fuzzy
+msgid "Harddrake2 version "
+msgstr "Dinoiñ ar bladenn galet"
-#: ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Looking at packages already installed..."
-msgstr "N'hellit ket andiuz ar pakad-mañ. Staliet eo endo"
+#: ../../standalone/harddrake2_.c:126
+#, fuzzy
+msgid "Detected hardware"
+msgstr "Gwelet titouroù periantel"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Use Differential Backups"
-msgstr ""
+#: ../../standalone/harddrake2_.c:129
+#, fuzzy
+msgid "Information"
+msgstr "Diskouez titouroù"
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Driver"
-msgstr "Servijer"
+#: ../../standalone/harddrake2_.c:131
+#, fuzzy
+msgid "Configure module"
+msgstr "Kefluniañ al logodenn"
-#: ../../services.pm:1
-#, c-format
-msgid ""
-"Linuxconf will sometimes arrange to perform various tasks\n"
-"at boot-time to maintain the system configuration."
+#: ../../standalone/harddrake2_.c:137
+msgid "Run config tool"
msgstr ""
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
+#: ../../standalone/harddrake2_.c:143
#, fuzzy, c-format
-msgid "Printer on remote lpd server"
-msgstr "lpd a-bell"
+msgid "Running \"%s\" ..."
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../standalone/drakfont:1
-#, c-format
+#: ../../standalone/harddrake2_.c:159
msgid ""
-"Before installing any fonts, be sure that you have the right to use and "
-"install them on your system.\n"
-"\n"
-"-You can install the fonts the normal way. In rare cases, bogus fonts may "
-"hang up your X Server."
+"Click on a device in the left tree in order to get its information displayed "
+"here."
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to\n"
-"boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly\n"
-"detected and installed in the bootloader menu. If this is not the case, you\n"
-"can add an entry by hand in this screen. Be careful to choose the correct\n"
-"parameters.\n"
-"\n"
-"Yaboot's main options are:\n"
-"\n"
-" * Init Message: a simple text message displayed before the boot prompt.\n"
-"\n"
-" * Boot Device: indicates where you want to place the information required\n"
-"to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier\n"
-"to hold this information.\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"
-" * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.\n"
-"After selecting Linux, you will have this delay in 0.1 second increments\n"
-"before your default kernel description is selected;\n"
-"\n"
-" * Enable CD Boot?: checking this option allows you to choose ``C'' for CD\n"
-"at the first boot prompt.\n"
-"\n"
-" * Enable OF Boot?: checking this option allows you to choose ``N'' for\n"
-"Open Firmware at the first boot prompt.\n"
-"\n"
-" * Default OS: you can select which OS will boot by default when the Open\n"
-"Firmware Delay expires."
+#: ../../standalone/harddrake2_.c:231
+msgid "primary"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "No mouse"
-msgstr "Logodenn ebet"
-
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Germany"
-msgstr "Alamagn"
+#: ../../standalone/harddrake2_.c:231
+#, fuzzy
+msgid "secondary"
+msgstr "%d eilenn"
-#: ../../crypto.pm:1 ../../lang.pm:1
-#, c-format
-msgid "Austria"
-msgstr "Aostria"
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect modems"
+msgstr "Dilesadur"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Run \"sndconfig\" after installation to configure your sound card"
-msgstr ""
+#: ../../standalone/harddrake2_.c:260
+#, fuzzy
+msgid "/Autodetect printers"
+msgstr "Dilesadur"
-#: ../../my_gtk.pm:1 ../../ugtk2.pm:1
-#, c-format
-msgid "Collapse Tree"
-msgstr "Plegañ ar wezenn"
+#: ../../standalone/harddrake2_.c:261
+#, fuzzy
+msgid "/Options"
+msgstr "Parzhadur"
-#: ../../standalone/drakautoinst:1
-#, fuzzy, c-format
-msgid "Auto Install Configurator"
-msgstr "Kefluniadur goude staliañ"
+#: ../../standalone/keyboarddrake_.c:26
+msgid "Please, choose your keyboard layout."
+msgstr "Dibabit reizhadur ho stokellaoueg, mar plij."
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure networking"
-msgstr "Kefluniañ ur rouedad"
+#: ../../standalone/keyboarddrake_.c:35
+msgid "Do you want the BackSpace to return Delete in console?"
+msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Where do you want to install the bootloader?"
-msgstr "Pelec'h e mennit staliañ ar c'harger loc'hañ ?"
+#: ../../standalone/livedrake_.c:18
+#, fuzzy
+msgid "Change Cd-Rom"
+msgstr "Kemmañ ar spister"
-#: ../../help.pm:1
-#, c-format
+#: ../../standalone/livedrake_.c:19
+#, fuzzy
msgid ""
-"Your choice of preferred language will affect the language of the\n"
-"documentation, the installer and the system in general. Select first the\n"
-"region you are located in, and then the language you speak.\n"
-"\n"
-"Clicking on the \"%s\" button will allow you to select other languages to\n"
-"be installed on your workstation, thereby installing the language-specific\n"
-"files for system documentation and applications. For example, if you will\n"
-"host users from Spain on your machine, select English as the default\n"
-"language in the tree view and \"%s\" in the Advanced section.\n"
-"\n"
-"Note that you're not limited to choosing a single additional language. You\n"
-"may choose several ones, or even install them all by selecting the \"%s\"\n"
-"box. Selecting support for a language means translations, fonts, spell\n"
-"checkers, etc. for that language will be installed. Additionally, the\n"
-"\"%s\" checkbox allows you to force the system to use unicode (UTF-8). Note\n"
-"however that this is an experimental feature. If you select different\n"
-"languages requiring different encoding the unicode support will be\n"
-"installed anyway.\n"
+"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"
-"To switch between the various languages installed on the system, you can\n"
-"launch the \"/usr/sbin/localedrake\" command as \"root\" to change the\n"
-"language used by the entire system. Running the command as a regular user\n"
-"will only change the language settings for that particular user."
+"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:29
+msgid "Unable to start live upgrade !!!\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "The %s is not supported by this version of Mandrake Linux."
+#: ../../standalone/localedrake_.c:34
+msgid "The change is done, but to be effective you must logout"
msgstr ""
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP client"
+#: ../../standalone/logdrake_.c:56 ../../ugtk.pm_.c:284 ../../ugtk2.pm_.c:350
+msgid "logdrake"
msgstr ""
-#: ../../partition_table.pm:1
-#, c-format
-msgid "Restoring from file %s failed: %s"
-msgstr "Assevel adalek ar restr %s sac'het %s"
+#: ../../standalone/logdrake_.c:68
+msgid "Show only for the selected day"
+msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Logitech Mouse (serial, old C7 type)"
-msgstr "Logodenn Logitech (a-steud, seurt C7 kozh)"
+#: ../../standalone/logdrake_.c:75
+#, fuzzy
+msgid "/File/_New"
+msgstr "Restroù :\n"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Are you sure that you want to set up printing on this machine?\n"
+#: ../../standalone/logdrake_.c:75
+msgid "<control>N"
msgstr ""
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "New devfs device"
-msgstr "Trobarzhell an dreuzell"
-
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "ERROR: Cannot spawn %s."
+#: ../../standalone/logdrake_.c:76
+msgid "/File/_Open"
msgstr ""
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Boot Style Configuration"
-msgstr "Kefluniadur goude staliañ"
+#: ../../standalone/logdrake_.c:76
+msgid "<control>O"
+msgstr ""
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Automatic time synchronization"
-msgstr "Kefluniadur goude staliañ"
+#: ../../standalone/logdrake_.c:77
+msgid "/File/_Save"
+msgstr "/Restr/_Enrollañ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup files not found at %s."
+#: ../../standalone/logdrake_.c:77
+msgid "<control>S"
msgstr ""
-#: ../../share/advertising/01-thanks.pl:1
-#, c-format
-msgid "Thank you for choosing Mandrake Linux 9.1"
+#: ../../standalone/logdrake_.c:78
+msgid "/File/Save _As"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Armenian (phonetic)"
-msgstr "Armeniek (soniadel)"
+#: ../../standalone/logdrake_.c:79
+msgid "/File/-"
+msgstr "/Restr/-"
-#: ../../harddrake/v4l.pm:1
-#, fuzzy, c-format
-msgid "Card model:"
-msgstr "Memor kartenn (DMA)"
+#: ../../standalone/logdrake_.c:82
+#, fuzzy
+msgid "/Options/Test"
+msgstr "Parzhadur"
-#: ../../standalone/drakTermServ:1
-#, c-format
-msgid "Thin Client"
+#: ../../standalone/logdrake_.c:84
+msgid "/Help/_About..."
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Start Server"
-msgstr "Servijer NIS"
+#: ../../standalone/logdrake_.c:145
+#, fuzzy
+msgid "User"
+msgstr "Anv arveriad"
-#: ../../lang.pm:1
-#, c-format
-msgid "Turkmenistan"
-msgstr ""
+#: ../../standalone/logdrake_.c:146
+#, fuzzy
+msgid "Messages"
+msgstr "Amprouiñ ar porzhioù"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "All remote machines"
-msgstr "Moullerezio* a-bell"
+#: ../../standalone/logdrake_.c:147
+msgid "Syslog"
+msgstr "Syslog"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Install themes"
-msgstr "Staliañ ar reizhiad"
+#: ../../standalone/logdrake_.c:148
+msgid "Mandrake Tools Explanations"
+msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid ""
-" updates 2002 MandrakeSoft by Stew Benedict <sbenedict@mandrakesoft.com>"
+#: ../../standalone/logdrake_.c:151
+#, fuzzy
+msgid "search"
+msgstr "Klask"
+
+#: ../../standalone/logdrake_.c:161
+msgid "A tool to monitor your logs"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid "Espanol"
+#: ../../standalone/logdrake_.c:162 ../../standalone/net_monitor_.c:91
+msgid "Settings"
msgstr ""
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Preparing installation"
-msgstr "O prientiñ ar staliadur"
+#: ../../standalone/logdrake_.c:167
+#, fuzzy
+msgid "matching"
+msgstr "O vrasjediñ"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Edit selected host/network"
+#: ../../standalone/logdrake_.c:168
+msgid "but not matching"
msgstr ""
-#: ../../standalone/drakTermServ:1
-#, fuzzy, c-format
-msgid "Add User -->"
-msgstr "Ouzhpennañ un arveriad"
+#: ../../standalone/logdrake_.c:172
+#, fuzzy
+msgid "Choose file"
+msgstr "Dibabit un obererezh"
-#: ../../lang.pm:1
-#, c-format
-msgid "Nauru"
+#: ../../standalone/logdrake_.c:181
+msgid "Calendar"
msgstr ""
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "True Type fonts installation"
-msgstr "O prientiñ ar staliadur"
+#: ../../standalone/logdrake_.c:191
+#, fuzzy
+msgid "Content of the file"
+msgstr "Anv ar gevreadenn"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Auto-detect printers connected directly to the local network"
+#: ../../standalone/logdrake_.c:195 ../../standalone/logdrake_.c:375
+msgid "Mail alert"
msgstr ""
-#: ../../standalone/drakconnect:1
+#: ../../standalone/logdrake_.c:245
#, fuzzy, c-format
-msgid "LAN configuration"
-msgstr "Kefluniadur"
+msgid "please wait, parsing file: %s"
+msgstr "O prientiñ ar staliadur"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "hard disk model"
-msgstr "Memor kartenn (DMA)"
+#: ../../standalone/logdrake_.c:392
+#, fuzzy
+msgid "Mail alert configuration"
+msgstr "Kefluniañ ar proksioù"
-#: ../../fsedit.pm:1
-#, c-format
-msgid "You can't use a LVM Logical Volume for mount point %s"
+#: ../../standalone/logdrake_.c:393
+msgid ""
+"Welcome to the mail configuration utility.\n"
+"\n"
+"Here, you'll be able to set up the alert system.\n"
msgstr ""
-#: ../../standalone/drakfont:1
-#, c-format
-msgid "Get Windows Fonts"
+#: ../../standalone/logdrake_.c:400
+msgid "Apache World Wide Web Server"
msgstr ""
-#: ../../mouse.pm:1
-#, c-format
-msgid "Mouse Systems"
-msgstr "Mouse Systems"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Iranian"
-msgstr "Iraniek"
+#: ../../standalone/logdrake_.c:401
+#, fuzzy
+msgid "Domain Name Resolver"
+msgstr "Anv ar domani"
-#: ../../lang.pm:1
-#, c-format
-msgid "Croatia"
-msgstr "Kroati"
+#: ../../standalone/logdrake_.c:402
+#, fuzzy
+msgid "Ftp Server"
+msgstr "Servijer NIS"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "Gateway:"
-msgstr "Treuzell : "
+#: ../../standalone/logdrake_.c:403
+#, fuzzy
+msgid "Postfix Mail Server"
+msgstr "Stlennvonioù"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Add server"
-msgstr "Ouzhpennañ un arveriad"
+#: ../../standalone/logdrake_.c:404
+#, fuzzy
+msgid "Samba Server"
+msgstr "Servijer NIS"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Remote printer name"
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../standalone/logdrake_.c:405
+#, fuzzy
+msgid "SSH Server"
+msgstr "Servijer NIS"
-#: ../../share/advertising/10-security.pl:1
-#, c-format
-msgid ""
-"MandrakeSoft has designed exclusive tools to create the most secured Linux "
-"version ever: Draksec, a system security management tool, and a strong "
-"firewall are teamed up together in order to highly reduce hacking risks."
-msgstr ""
+#: ../../standalone/logdrake_.c:406
+#, fuzzy
+msgid "Webmin Service"
+msgstr "trobarzhell"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Device: "
-msgstr "Trobarzhell : "
+#: ../../standalone/logdrake_.c:407
+#, fuzzy
+msgid "Xinetd Service"
+msgstr "Servijer moullañ"
-#: ../../printer/printerdrake.pm:1 ../../standalone/printerdrake:1
-#, fuzzy, c-format
-msgid "Printerdrake"
-msgstr "Moullerez"
+#: ../../standalone/logdrake_.c:414
+#, fuzzy
+msgid "service setting"
+msgstr "dedennus"
-#: ../../install_steps_interactive.pm:1
-#, c-format
-msgid "License agreement"
+#: ../../standalone/logdrake_.c:415
+msgid ""
+"You will receive an alert if one of the selected services is no more running"
msgstr ""
-#: ../../standalone/draksec:1
-#, fuzzy, c-format
-msgid "System Options"
-msgstr "Dibarzhoù ar mollad :"
+#: ../../standalone/logdrake_.c:428
+#, fuzzy
+msgid "load setting"
+msgstr "O furmadiñ"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Please enter the directory where backups are stored"
+#: ../../standalone/logdrake_.c:429
+msgid "You will receive an alert if the load is higher than this value"
msgstr ""
-#: ../../security/level.pm:1
-#, fuzzy, c-format
-msgid "Please choose the desired security level"
-msgstr "Dibabit al live surentez"
+#: ../../standalone/logdrake_.c:444
+#, fuzzy
+msgid "alert configuration"
+msgstr "Kefluniañ ar proksioù"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "This host is already in the list, it cannot be added again.\n"
-msgstr ""
+#: ../../standalone/logdrake_.c:445
+#, fuzzy
+msgid "Please enter your email address below "
+msgstr "Klaskit adarre mar plij"
-#: ../../printer/main.pm:1
-#, fuzzy, c-format
-msgid ", USB printer"
-msgstr ", Mouluriez USB \\/*%s"
+#: ../../standalone/logdrake_.c:486
+#, fuzzy
+msgid "Save as.."
+msgstr "Meuziad Lañsañ"
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Choose the applications that will support the fonts:"
-msgstr "Dibabit ar parzhadur a vennit furmadiñ"
+#: ../../standalone/mousedrake_.c:37
+msgid "Please, choose the type of your mouse."
+msgstr "Dibabit seurt ho logodenn, mar plij."
-#: ../../steps.pm:1
-#, c-format
-msgid "Configure X"
-msgstr "Kefluniañ X"
+#: ../../standalone/mousedrake_.c:50
+msgid "Emulate third button?"
+msgstr "Kendarvan an trede nozelenn ?"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Turkish (traditional \"F\" model)"
-msgstr "Turkek (hengounel doare \"F\")"
+#: ../../standalone/net_monitor_.c:53 ../../standalone/net_monitor_.c:87
+#, fuzzy
+msgid "Network Monitoring"
+msgstr "Kefluniadur ar rouedad"
-#: ../../standalone/drakautoinst:1 ../../standalone/drakgw:1
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Congratulations!"
-msgstr "Gourc'hemennoù!"
+#: ../../standalone/net_monitor_.c:96
+#, fuzzy
+msgid "Profile "
+msgstr "marc'hañ sac'het : "
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "Use owner id for execution"
+#: ../../standalone/net_monitor_.c:99
+msgid "Statistics"
msgstr ""
-#: ../../standalone/drakperm:1
-#, fuzzy, c-format
-msgid "Down"
-msgstr "Graet"
+#: ../../standalone/net_monitor_.c:103
+#, fuzzy
+msgid "Sending Speed:"
+msgstr "Enrollañ er restr"
-#: ../../printer/main.pm:1 ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Raw printer (No driver)"
+#: ../../standalone/net_monitor_.c:104
+msgid "Receiving Speed:"
msgstr ""
-#: ../../network/modem.pm:1
-#, fuzzy, c-format
-msgid "Install rpm"
-msgstr "Staliañ"
+#: ../../standalone/net_monitor_.c:106
+#, fuzzy
+msgid "Connection Time: "
+msgstr "Anv ar gevreadenn"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-"To print a file from the command line (terminal window) you can either use "
-"the command \"%s <file>\" or a graphical printing tool: \"xpp <file>\" or "
-"\"kprinter <file>\". The graphical tools allow you to choose the printer and "
-"to modify the option settings easily.\n"
+#: ../../standalone/net_monitor_.c:113
+msgid "Logs"
msgstr ""
-#: ../../install_steps_gtk.pm:1
-#, c-format
-msgid "Time remaining "
-msgstr "Amzer a chom"
-
-#: ../../keyboard.pm:1
-#, c-format
-msgid "UK keyboard"
-msgstr "Stokellaoueg RU"
-
-#: ../../diskdrake/dav.pm:1 ../../diskdrake/interactive.pm:1
-#: ../../diskdrake/smbnfs_gtk.pm:1
-#, c-format
-msgid "Unmount"
-msgstr "Divarc'hañ"
+#: ../../standalone/net_monitor_.c:147
+#, fuzzy
+msgid "Wait please, testing your connection..."
+msgstr "Kefluniañ ur rouedad"
-#: ../../standalone/drakfont:1
-#, fuzzy, c-format
-msgid "Uninstall Fonts"
-msgstr "O tistaliañ ar RPMoù"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Connecting to Internet "
+msgstr "Anv ar gevreadenn"
-#: ../../mouse.pm:1
-#, fuzzy, c-format
-msgid "Microsoft Explorer"
-msgstr "Microsoft IntelliMouse"
+#: ../../standalone/net_monitor_.c:178 ../../standalone/net_monitor_.c:191
+#, fuzzy
+msgid "Disconnecting from Internet "
+msgstr "Anv ar gevreadenn"
-#: ../../keyboard.pm:1
-#, c-format
-msgid "German (no dead keys)"
-msgstr "Alaman (stokell marv ebet)"
+#: ../../standalone/net_monitor_.c:222
+msgid "Disconnection from Internet failed."
+msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Transferring %s..."
+#: ../../standalone/net_monitor_.c:223
+msgid "Disconnection from Internet complete."
msgstr ""
-#: ../../Xconfig/resolution_and_depth.pm:1
-#, c-format
-msgid "32 thousand colors (15 bits)"
-msgstr "32 mil liv (15 bit)"
+#: ../../standalone/net_monitor_.c:225
+#, fuzzy
+msgid "Connection complete."
+msgstr "Anv ar gevreadenn"
-#: ../../any.pm:1
-#, c-format
+#: ../../standalone/net_monitor_.c:226
msgid ""
-"You can export using NFS or Samba. Please select which you'd like to use."
+"Connection failed.\n"
+"Verify your configuration in the Mandrake Control Center."
msgstr ""
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1
-#, fuzzy, c-format
-msgid "Reboot"
-msgstr "Gwrizienn"
+#: ../../standalone/net_monitor_.c:330
+#, fuzzy
+msgid "Color configuration"
+msgstr "Kefluniañ ar proksioù"
-#: ../../lang.pm:1
-#, c-format
-msgid "Gambia"
+#: ../../standalone/net_monitor_.c:383 ../../standalone/net_monitor_.c:403
+msgid "sent: "
msgstr ""
-#: ../../standalone/drakbug:1
-#, fuzzy, c-format
-msgid "Mandrake Control Center"
-msgstr "Anv ar gevreadenn"
+#: ../../standalone/net_monitor_.c:390 ../../standalone/net_monitor_.c:407
+msgid "received: "
+msgstr ""
-#: ../../network/drakfirewall.pm:1
-#, c-format
-msgid ""
-"You can enter miscellaneous ports. \n"
-"Valid examples are: 139/tcp 139/udp.\n"
-"Have a look at /etc/services for information."
+#: ../../standalone/net_monitor_.c:397
+msgid "average"
msgstr ""
-#: ../../help.pm:1
-#, c-format
-msgid ""
-"Monitor\n"
-"\n"
-" The installer will normally automatically detect and configure the\n"
-"monitor connected to your machine. If it is correct, you can choose from\n"
-"this list the monitor you actually have connected to your computer."
+#: ../../standalone/net_monitor_.c:400
+#, fuzzy
+msgid "Local measure"
+msgstr "Restroù lec'hel"
+
+#: ../../standalone/net_monitor_.c:432
+msgid "transmitted"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Tape \n"
+#: ../../standalone/net_monitor_.c:433
+msgid "received"
msgstr ""
-#: ../../standalone/drakhelp:1
-#, c-format
+#: ../../standalone/net_monitor_.c:453
msgid ""
-"No browser is installed on your system, Please install one if you want to "
-"browse the help system"
+"Warning, another internet connection has been detected, maybe using your "
+"network"
msgstr ""
-#: ../../standalone/drakbackup:1
+#: ../../standalone/net_monitor_.c:459
#, fuzzy, c-format
-msgid "Remember this password"
-msgstr "Tremenger ebet"
+msgid "Connect %s"
+msgstr "Anv ar gevreadenn"
-#: ../../standalone/drakgw:1
+#: ../../standalone/net_monitor_.c:459
#, fuzzy, c-format
-msgid "Internet Connection Sharing is now enabled."
+msgid "Disconnect %s"
msgstr "Lugerezh ar voullerez"
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "\t-Network by SSH.\n"
-msgstr ""
+#: ../../standalone/printerdrake_.c:47
+#, fuzzy
+msgid "Reading printer data ..."
+msgstr "Dibarzhoù ar voullerez lpd a-bell"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid ""
-" If the desired printer was auto-detected, simply choose it from the list "
-"and then add user name, password, and/or workgroup if needed."
-msgstr ""
+#: ../../standalone/scannerdrake_.c:39
+#, fuzzy
+msgid "Detecting devices ..."
+msgstr "O tinoiñ trobarzhelloù..."
+
+#: ../../standalone/scannerdrake_.c:39
+msgid "Test ports"
+msgstr "Amprouiñ ar porzhioù"
-#: ../../help.pm:1 ../../install_interactive.pm:1
+#: ../../standalone/scannerdrake_.c:51 ../../standalone/scannerdrake_.c:66
+#: ../../standalone/scannerdrake_.c:79
#, c-format
-msgid "Use the free space on the Windows partition"
+msgid "The %s is not supported by this version of Mandrake Linux."
msgstr ""
-#: ../../standalone/scannerdrake:1
+#: ../../standalone/scannerdrake_.c:54
#, fuzzy, c-format
-msgid "%s found on %s, configure it automatically?"
+msgid "%s found on %s, configure it?"
msgstr "Mennout a rit kefluniañ ur voullerez ?"
-#: ../../security/help.pm:1
+#: ../../standalone/scannerdrake_.c:57
#, c-format
-msgid ""
-"Arguments: (arg)\n"
-"\n"
-"Use password to authenticate users."
-msgstr ""
-
-#: ../../Xconfig/various.pm:1
-#, c-format
-msgid "XFree86 driver: %s\n"
-msgstr "Sturier XFree86 : %s\n"
-
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "This host/network is already in the list, it cannot be added again.\n"
+msgid "%s is not in the scanner database, configure it manually?"
msgstr ""
-#: ../../install_steps_gtk.pm:1 ../../install_steps_interactive.pm:1
-#, c-format
-msgid "Choose the packages you want to install"
-msgstr "Dibabit ar pakadoù a vennit staliañ"
+#: ../../standalone/scannerdrake_.c:63
+#, fuzzy
+msgid "Select a scanner"
+msgstr "Diuzit ur gartenn c'hrafek"
-#: ../../lang.pm:1
+#: ../../standalone/scannerdrake_.c:91
#, c-format
-msgid "Papua New Guinea"
+msgid "This %s scanner is unsupported"
msgstr ""
-#: ../../keyboard.pm:1
+#: ../../standalone/scannerdrake_.c:105
#, c-format
-msgid "Serbian (cyrillic)"
-msgstr "Serbiek (reizhadur latin)"
-
-#: ../../standalone/draksplash:1
-#, c-format
-msgid "Make kernel message quiet by default"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
msgid ""
-"Do you want to set this printer (\"%s\")\n"
-"as the default printer?"
-msgstr "Ha mennout a rit amprouiñ moullañ skrid ?"
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "The DHCP end range"
+"Scannerdrake was not able to detect your %s scanner.\n"
+"Please select the device where your scanner is plugged"
msgstr ""
-#: ../../any.pm:1
-#, c-format
-msgid "Creating bootdisk..."
-msgstr "O krouiñ ar bladenn loc'hañ"
-
-#: ../../standalone/net_monitor:1
-#, fuzzy, c-format
-msgid "Wait please, testing your connection..."
-msgstr "Kefluniañ ur rouedad"
-
-#: ../../install_interactive.pm:1
-#, c-format
-msgid "Bringing down the network"
-msgstr "O tizenaouiñ ar rouedad"
-
-#: ../../network/modem.pm:1 ../../standalone/drakconnect:1
-#, c-format
-msgid "Login ID"
-msgstr "Anv ereañ"
-
-#: ../../services.pm:1
-#, c-format
-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."
-
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid "DHCP Client"
-msgstr ""
-
-#: ../../standalone/drakgw:1
-#, c-format
-msgid "dismiss"
-msgstr ""
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Printing/Scanning on \"%s\""
-msgstr "O tizenaouiñ ar rouedad"
-
-#: ../../standalone/drakfloppy:1
-#, c-format
-msgid "omit raid modules"
-msgstr ""
+#: ../../standalone/scannerdrake_.c:107
+#, fuzzy
+msgid "choose device"
+msgstr "Trobarzhell loc'hañ"
-#: ../../services.pm:1
+#: ../../standalone/scannerdrake_.c:113
#, c-format
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)."
-
-#: ../../standalone/drakconnect:1
-#, fuzzy, c-format
-msgid "Internet Connection Configuration"
-msgstr "Lugerezh ar voullerez"
-
-#: ../../modules/parameters.pm:1
-#, c-format
-msgid "comma separated numbers"
+"This %s scanner must be configured by printerdrake.\n"
+"You can launch printerdrake from the Mandrake Control Center in Hardware "
+"section."
msgstr ""
-#: ../../standalone/harddrake2:1
+#: ../../standalone/scannerdrake_.c:118
#, c-format
msgid ""
-"Once you've selected a device, you'll be able to see the device information "
-"in fields displayed on the right frame (\"Information\")"
+"Your %s scanner has been configured.\n"
+"You may now scan documents using ``XSane'' from Multimedia/Graphics in the "
+"applications menu."
msgstr ""
-#: ../../standalone/drakperm:1
+#: ../../standalone/service_harddrake_.c:44
#, c-format
-msgid "Move selected rule up one level"
+msgid "Some devices in the \"%s\" hardware class were removed:\n"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid ""
-"The following scanner\n"
-"\n"
-"%s\n"
-"is available on your system.\n"
-msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Do you really want to remove the printer \"%s\"?"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
-
-#: ../../install_interactive.pm:1
-#, fuzzy, c-format
-msgid "I can't find any room for installing"
-msgstr "N'hellan ouzpennañ parzhadur ebet ken"
-
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Default printer"
-msgstr "Moullerez lec'hel"
-
-#: ../../network/netconnect.pm:1
-#, c-format
-msgid ""
-"You have configured multiple ways to connect to the Internet.\n"
-"Choose the one you want to use.\n"
-"\n"
+#: ../../standalone/service_harddrake_.c:48
+msgid "Some devices were added:\n"
msgstr ""
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Modify RAID"
-msgstr "Kemmañ RAID"
-
-#: ../../network/isdn.pm:1
-#, c-format
-msgid ""
-"I have detected an ISDN PCI card, but I don't know its type. Please select a "
-"PCI card on the next screen."
-msgstr ""
+#: ../../standalone/service_harddrake_.c:64
+#, fuzzy
+msgid "Hardware probing in progress"
+msgstr "Poent marc'hañ doubl %s"
-#: ../../any.pm:1
-#, c-format
-msgid "Add user"
-msgstr "Ouzhpennañ un arveriad"
+#: ../../steps.pm_.c:14
+msgid "Choose your language"
+msgstr "Dibabit ho yezh"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "RAID-disks %s\n"
-msgstr "Pladennoù RAID %s\n"
+#: ../../steps.pm_.c:15
+msgid "Select installation class"
+msgstr "Diuzit renkad ar staliadur"
-#: ../../lang.pm:1
-#, c-format
-msgid "Liberia"
-msgstr "Liberia"
+#: ../../steps.pm_.c:16
+msgid "Hard drive detection"
+msgstr "Dinoiñ ar bladenn galet"
-#: ../../standalone/drakgw:1
-#, c-format
-msgid ""
-"Please enter the name of the interface connected to the internet.\n"
-"\n"
-"Examples:\n"
-"\t\tppp+ for modem or DSL connections, \n"
-"\t\teth0, or eth1 for cable connection, \n"
-"\t\tippp+ for a isdn connection.\n"
-msgstr ""
+#: ../../steps.pm_.c:17
+msgid "Configure mouse"
+msgstr "Kefluniañ al logodenn"
-#: ../../steps.pm:1
-#, c-format
+#: ../../steps.pm_.c:18
msgid "Choose your keyboard"
msgstr "Dibabit ho stokellaoueg"
-#: ../../steps.pm:1
-#, c-format
-msgid "Format partitions"
-msgstr "Furmadiñ parzhadurioù"
+#: ../../steps.pm_.c:19
+msgid "Security"
+msgstr "Diogelroez"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Automatic correction of CUPS configuration"
-msgstr "Kefluniadur goude staliañ"
+#: ../../steps.pm_.c:20
+msgid "Setup filesystems"
+msgstr "Kefluniañ reizhiadoù restroù"
-#: ../../standalone/harddrake2:1
-#, fuzzy, c-format
-msgid "Running \"%s\" ..."
-msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#: ../../steps.pm_.c:21
+msgid "Format partitions"
+msgstr "Furmadiñ parzhadurioù"
-#: ../../harddrake/v4l.pm:1
-#, c-format
-msgid "enable radio support"
-msgstr ""
+#: ../../steps.pm_.c:22
+msgid "Choose packages to install"
+msgstr "Dibabit pakadoù da staliañ"
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Scanner sharing to hosts: "
-msgstr "Moullerez"
+#: ../../steps.pm_.c:23
+msgid "Install system"
+msgstr "Staliañ ar reizhiad"
-#: ../../diskdrake/interactive.pm:1
-#, c-format
-msgid "Loopback file name: %s"
-msgstr "Anv ar restr saveteiñ : %s"
+#: ../../steps.pm_.c:25
+msgid "Add a user"
+msgstr "Ouzhpennañ un arveriad"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Please choose the printer to which the print jobs should go."
-msgstr "Dibabit ouzh pe borzh a-steud eo luget ho modem, mar plij."
+#: ../../steps.pm_.c:26
+msgid "Configure networking"
+msgstr "Kefluniañ ur rouedad"
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "Do not transfer printers"
-msgstr ""
+#: ../../steps.pm_.c:28
+msgid "Configure services"
+msgstr "Kefluniañ servijoù"
-#: ../../help.pm:1
-#, fuzzy, c-format
-msgid "Delay before booting the default image"
-msgstr "Gedvezh kent loc'hañ ar skeudenn dre ziouer"
+#: ../../steps.pm_.c:29
+msgid "Install bootloader"
+msgstr "Staliañ ar c'harger loc'hañ"
-#: ../../standalone/drakfont:1
-#, c-format
-msgid ""
-"\n"
-" Copyright (C) 2001-2002 by MandrakeSoft \n"
-" DUPONT Sebastien (original version)\n"
-" CHAUMETTE Damien <dchaumette@mandrakesoft.com>\n"
-"\n"
-" This program is free software; you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation; either version 2, or (at your option)\n"
-" any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program; if not, write to the Free Software\n"
-" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-" Thanks:\n"
-" - pfm2afm: \n"
-"\t by Ken Borgendale:\n"
-"\t Convert a Windows .pfm file to a .afm (Adobe Font Metrics)\n"
-" - type1inst:\n"
-"\t by James Macnicol: \n"
-"\t type1inst generates files fonts.dir fonts.scale & Fontmap.\n"
-" - ttf2pt1: \n"
-"\t by Andrew Weeks, Frank Siegert, Thomas Henlich, Sergey Babkin \n"
-" Convert ttf font files to afm and pfb fonts\n"
-msgstr ""
+#: ../../steps.pm_.c:31
+msgid "Create a bootdisk"
+msgstr "Krouiñ ur bladennig loc'hañ"
-#: ../../standalone/drakperm:1
-#, c-format
-msgid "user"
-msgstr "arveriad"
+#: ../../steps.pm_.c:33
+msgid "Configure X"
+msgstr "Kefluniañ X"
-#: ../../standalone/drakbackup:1
-#, fuzzy, c-format
-msgid "Use Hard Disk to backup"
-msgstr "Restr gwareziñ siek"
+#: ../../steps.pm_.c:34
+#, fuzzy
+msgid "Install system updates"
+msgstr "Staliañ ar reizhiad"
-#: ../../help.pm:1 ../../install_steps_gtk.pm:1 ../../standalone/drakbackup:1
-#: ../../standalone/drakboot:1 ../../standalone/drakgw:1
-#, c-format
-msgid "Configure"
-msgstr "Kefluniañ"
+#: ../../steps.pm_.c:35
+msgid "Exit install"
+msgstr "Dilezel ar staliadur"
-#: ../../standalone/scannerdrake:1
-#, c-format
-msgid "Scannerdrake"
-msgstr "Scannerdrake"
+#: ../../ugtk.pm_.c:636
+msgid "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
+msgstr "-adobe-times-bold-r-normal--17-*-100-100-p-*-iso8859-*,*-r-*"
-#: ../../standalone/drakconnect:1
-#, c-format
-msgid ""
-"Warning, another Internet connection has been detected, maybe using your "
-"network"
+#: ../../ugtk2.pm_.c:711
+msgid "utopia 25"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "Backup Users"
-msgstr ""
+#: ../../share/compssUsers:999
+msgid "Web/FTP"
+msgstr "Web/FTP"
-#: ../../network/network.pm:1
-#, c-format
-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."
+#: ../../share/compssUsers:999
+#, fuzzy
+msgid "Network Computer (client)"
+msgstr "Dibarzhoù ar voullerez NetWare"
+
+#: ../../share/compssUsers:999
+msgid "NFS server, SMB server, Proxy server, ssh server"
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"
-#: ../../printer/printerdrake.pm:1
-#, fuzzy, c-format
-msgid "Select Printer Spooler"
-msgstr "Diuzit lugerezh ar voullerez"
+#: ../../share/compssUsers:999
+msgid "Office"
+msgstr "Burev"
-#: ../../standalone/drakboot:1
-#, fuzzy, c-format
-msgid "Create new theme"
-msgstr "Krouiñ ur parzhadur nevez"
+#: ../../share/compssUsers:999
+#, fuzzy
+msgid "Gnome Workstation"
+msgstr "Titouroù"
-#: ../../standalone/logdrake:1
-#, c-format
-msgid "Mandrake Tools Explanation"
+#: ../../share/compssUsers:999
+msgid "Tools for your Palm Pilot or your Visor"
msgstr ""
-#: ../../standalone/drakpxe:1
-#, fuzzy, c-format
-msgid "No image found"
-msgstr "N'ev ket Moullerez lec'hel!\n"
+#: ../../share/compssUsers:999
+#, fuzzy
+msgid "Workstation"
+msgstr "Titouroù"
-#: ../../install_steps.pm:1
-#, c-format
-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"
+#: ../../share/compssUsers:999
+msgid "Firewall/Router"
msgstr ""
-#: ../../standalone/scannerdrake:1
-#, fuzzy, c-format
-msgid "Detected model: %s"
-msgstr "Poent marc'hañ doubl %s"
-
-#: ../../standalone/drakedm:1
-#, c-format
-msgid ""
-"X11 Display Manager allows you to graphically log\n"
-"into your system with the X Window System running and supports running\n"
-"several different X sessions on your local machine at the same time."
+#: ../../share/compssUsers:999
+msgid "Domain Name and Network Information Server"
msgstr ""
-#: ../../security/help.pm:1
-#, c-format
-msgid "if set to yes, run the daily security checks."
+#: ../../share/compssUsers:999
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
msgstr ""
-#: ../../lang.pm:1
-#, fuzzy, c-format
-msgid "Azerbaijan"
+#: ../../share/compssUsers:999
+msgid "Audio-related tools: mp3 or midi players, mixers, etc"
msgstr ""
-#: ../../standalone/drakbackup:1
-#, c-format
-msgid "No tape in %s!"
+#: ../../share/compssUsers:999
+msgid "Linux Standard Base. Third party applications support"
msgstr ""
-#: ../../keyboard.pm:1
-#, c-format
-msgid "Dvorak (US)"
-msgstr "Dvorak (US)"
-
-#: ../../standalone/harddrake2:1
-#, c-format
-msgid ""
-"this is the physical bus on which the device is plugged (eg: PCI, USB, ...)"
+#: ../../share/compssUsers:999
+msgid "Books and Howto's on Linux and Free Software"
msgstr ""
-#: ../../printer/printerdrake.pm:1
-#, c-format
-msgid "How is the printer connected?"
-msgstr "Penaos eo luget ar voullerez ?"
-
-#: ../../security/level.pm:1
-#, c-format
-msgid "Security level"
-msgstr "Live surentez"
-
-#: ../../standalone/draksplash:1
-#, fuzzy, c-format
-msgid "final resolution"
-msgstr "Spister"
-
-#: ../../help.pm:1 ../../install_steps_interactive.pm:1 ../../services.pm:1
-#, fuzzy, c-format
-msgid "Services"
-msgstr "trobarzhell"
-
-#: ../../Xconfig/card.pm:1
-#, c-format
-msgid "4 MB"
-msgstr "4 Mo"
-
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Office Workstation"
+msgid "KDE Workstation"
msgstr "Titouroù"
#: ../../share/compssUsers:999
-msgid ""
-"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
-"gnumeric), pdf viewers, etc"
+msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Game station"
-msgstr "Teuliadur"
+msgid "Multimedia - Video"
+msgstr "Liesvedia"
#: ../../share/compssUsers:999
-msgid "Amusement programs: arcade, boards, strategy, etc"
+msgid "Set of tools for mail, news, web, file transfer, and chat"
msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Multimedia station"
-msgstr "Liesvedia"
+msgid "Database"
+msgstr "Stlennvonioù"
#: ../../share/compssUsers:999
-msgid "Sound and video playing/editing programs"
+msgid "PostgreSQL or MySQL database server"
msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Internet station"
-msgstr "Kefluniañ ar proksioù"
+msgid "Tools to ease the configuration of your computer"
+msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
#: ../../share/compssUsers:999
-msgid ""
-"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
-"browse the Web"
-msgstr ""
+#, fuzzy
+msgid "Multimedia - Sound"
+msgstr "Liesvedia"
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer (client)"
-msgstr "Dibarzhoù ar voullerez NetWare"
+msgid "Documentation"
+msgstr "Teuliadur"
#: ../../share/compssUsers:999
-msgid "Clients for different protocols including ssh"
+msgid "Console Tools"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Configuration"
-msgstr "Kefluniadur"
+msgid "Postfix mail server, Inn news server"
+msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Tools to ease the configuration of your computer"
-msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+msgid "Internet station"
+msgstr "Kefluniañ ar proksioù"
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Scientific Workstation"
-msgstr "Titouroù"
+msgid "Multimedia station"
+msgstr "Liesvedia"
#: ../../share/compssUsers:999
-msgid "Scientific applications such as gnuplot"
+msgid "Configuration"
+msgstr "Kefluniadur"
+
+#: ../../share/compssUsers:999
+msgid "More Graphical Desktops (Gnome, IceWM)"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Console Tools"
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Editors, shells, file tools, terminals"
+msgid "Graphical Environment"
msgstr ""
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "KDE Workstation"
-msgstr "Titouroù"
+msgid "Development"
+msgstr "Diorren"
#: ../../share/compssUsers:999
-msgid ""
-"The K Desktop Environment, the basic graphical environment with a collection "
-"of accompanying tools"
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: ../../share/compssUsers:999
+msgid "Tools to create and burn CD's"
msgstr ""
#: ../../share/compssUsers:999
#, fuzzy
-msgid "Gnome Workstation"
+msgid "Office Workstation"
msgstr "Titouroù"
#: ../../share/compssUsers:999
-msgid ""
-"A graphical environment with user-friendly set of applications and desktop "
-"tools"
+msgid "Gnome, Icewm, Window Maker, Enlightenment, Fvwm, etc"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Other Graphical Desktops"
+msgid "Graphics programs such as The Gimp"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Icewm, Window Maker, Enlightenment, Fvwm, etc"
-msgstr ""
+msgid "DNS/NIS "
+msgstr "DNS/NIS"
#: ../../share/compssUsers:999
msgid "C and C++ development libraries, programs and include files"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Documentation"
-msgstr "Teuliadur"
+#, fuzzy
+msgid "Network Computer server"
+msgstr "Dibarzhoù ar voullerez NetWare"
#: ../../share/compssUsers:999
-msgid "Books and Howto's on Linux and Free Software"
+msgid "Mail/Groupware/News"
msgstr ""
#: ../../share/compssUsers:999
-msgid "LSB"
-msgstr ""
+#, fuzzy
+msgid "Game station"
+msgstr "Teuliadur"
#: ../../share/compssUsers:999
-msgid "Linux Standard Base. Third party applications support"
+msgid "Video players and editors"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Web/FTP"
-msgstr "Web/FTP"
+#, fuzzy
+msgid "Multimedia - Graphics"
+msgstr "Liesvedia"
#: ../../share/compssUsers:999
-msgid "Apache, Pro-ftpd"
-msgstr "Apache, Pro-ftpd"
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "Mail"
+msgid ""
+"Set of tools to read and send mail and news (pine, mutt, tin..) and to "
+"browse the Web"
msgstr ""
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Postfix mail server"
-msgstr "Stlennvonioù"
+msgid "Personal Finance"
+msgstr ""
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Database"
-msgstr "Stlennvonioù"
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "PostgreSQL or MySQL database server"
+msgid "Clients for different protocols including ssh"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Firewall/Router"
+msgid "LSB"
msgstr ""
#: ../../share/compssUsers:999
@@ -17312,272 +13461,163 @@ msgid "Internet gateway"
msgstr "dedennus"
#: ../../share/compssUsers:999
-msgid "DNS/NIS "
-msgstr "DNS/NIS"
+msgid "Sound and video playing/editing programs"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "Domain Name and Network Information Server"
+msgid "Other Graphical Desktops"
msgstr ""
#: ../../share/compssUsers:999
-#, fuzzy
-msgid "Network Computer server"
-msgstr "Dibarzhoù ar voullerez NetWare"
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
#: ../../share/compssUsers:999
-msgid "NFS server, SMB server, Proxy server, ssh server"
+msgid "Programs to manage your finance, such as gnucash"
msgstr ""
#: ../../share/compssUsers:999
-msgid "Set of tools to read and send mail and news and to browse the Web"
+msgid "Personal Information Management"
msgstr ""
+#: ../../share/compssUsers:999
#, fuzzy
-#~ msgid "help"
-#~ msgstr "Skoazell"
-
-#
-#, fuzzy
-#~ msgid "Please check if you are using CDRW media"
-#~ msgstr "Klikit war ur parzhadur mar plij"
-
-#
-#, fuzzy
-#~ msgid "Please check if you are using a DVDRAM device"
-#~ msgstr "Klikit war ur parzhadur mar plij"
-
-#
-#, fuzzy
-#~ msgid "Please check if you are using a DVDR device"
-#~ msgstr "Klikit war ur parzhadur mar plij"
-
-#
-#, fuzzy
-#~ msgid "Please check for multisession CD"
-#~ msgstr "Klikit war ur parzhadur mar plij"
-
-#, fuzzy
-#~ msgid "We are now going to configure the %s connection."
-#~ msgstr "Kefluniañ ur rouedad"
-
-#~ msgid "Name: %s\n"
-#~ msgstr "Anv : %s\n"
-
-#, fuzzy
-#~ msgid "New configuration (isdn-light)"
-#~ msgstr "o lenn ar c'hefluniadur"
-
-#, fuzzy
-#~ msgid "Old configuration (isdn4net)"
-#~ msgstr "o lenn ar c'hefluniadur"
-
-#, fuzzy
-#~ msgid "Internet connection & configuration"
-#~ msgstr "Lugerezh ar voullerez"
-
-#, fuzzy
-#~ msgid "Configure the connection"
-#~ msgstr "Kefluniañ ur rouedad"
+msgid "Multimedia - CD Burning"
+msgstr "Liesvedia"
+#: ../../share/compssUsers:999
#, fuzzy
-#~ msgid "Disconnect"
-#~ msgstr "Lugerezh ar voullerez"
+msgid "Scientific Workstation"
+msgstr "Titouroù"
#, fuzzy
-#~ msgid "Connect"
-#~ msgstr "Anv ar gevreadenn"
+#~ msgid "cpu number "
+#~ msgstr "Niverenn bellgomz"
-#, fuzzy
#~ msgid ""
+#~ "You now have the opportunity to download encryption software.\n"
#~ "\n"
-#~ "You can reconfigure your connection."
-#~ msgstr "Kefluniañ ur rouedad"
-
-#, fuzzy
-#~ msgid ""
+#~ "WARNING:\n"
#~ "\n"
-#~ "You can connect to the Internet or reconfigure your connection."
-#~ msgstr "Anv ar gevreadenn"
-
-#, fuzzy
-#~ msgid "You are not currently connected to the Internet."
-#~ msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
-
-#, fuzzy
-#~ msgid "You are currently connected to the Internet."
-#~ msgstr "Da beseurt pladenn e mennit dilec'hiañ ?"
-
-#, fuzzy
-#~ msgid "Write %s"
-#~ msgstr "XFree %s"
-
-#, fuzzy
-#~ msgid "Copy %s to %s"
-#~ msgstr "Adskrivañ %s"
-
-#, fuzzy
-#~ msgid "Author:"
-#~ msgstr "Embrouiñ"
-
-#, fuzzy
-#~ msgid "Audio station"
-#~ msgstr "Liesvedia"
-
-#, fuzzy
-#~ msgid "Video station"
-#~ msgstr "Teuliadur"
-
-#, fuzzy
-#~ msgid "Graphic station"
-#~ msgstr "Teuliadur"
-
-#, fuzzy
-#~ msgid "Graphics programs"
-#~ msgstr "Kartenn c'hrafek : %s"
-
-#, fuzzy
-#~ msgid "Printer sharing"
-#~ msgstr "Moullerez"
-
-#~ msgid "Office"
-#~ msgstr "Burev"
-
-#~ msgid "Games"
-#~ msgstr "C'hoarioù"
-
-#, fuzzy
-#~ msgid "Multimedia - Graphics"
-#~ msgstr "Liesvedia"
-
-#, fuzzy
-#~ msgid "Multimedia - Sound"
-#~ msgstr "Liesvedia"
-
-#, fuzzy
-#~ msgid "Multimedia - Video"
-#~ msgstr "Liesvedia"
-
-#, fuzzy
-#~ msgid "Multimedia - CD Burning"
-#~ msgstr "Liesvedia"
-
-#~ msgid "no network card found"
-#~ msgstr "kartenn rouedad kavet ebet"
-
-#, fuzzy
-#~ msgid "Get involved in the Free Software world"
-#~ msgstr "Amprouiñ ar c'hefluniadur"
-
-#, fuzzy
-#~ msgid "Get the most from the Internet"
-#~ msgstr "Anv ar gevreadenn"
-
-#, fuzzy
-#~ msgid "User interfaces"
-#~ msgstr "Etrefas arveriad/X"
-
-#, fuzzy
-#~ msgid "Development simplified"
-#~ msgstr "Diorren"
-
-#, fuzzy
-#~ msgid ""
-#~ "The following printers are configured. Double-click on a printer to "
-#~ "change its settings; to make it the default printer; to view information "
-#~ "about it; or to make a printer on a remote CUPS server available for Star "
-#~ "Office/OpenOffice.org/GIMP."
-#~ msgstr ""
-#~ "Setu da heul ar steudadoù moullañ.\n"
-#~ "Gallout a rit ouzhpennañ lod pe gemmañ a re a zo."
-
-#, 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''."
+#~ "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 ""
-#~ "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"
-
-#, fuzzy
-#~ msgid "-misc-Fixed-Medium-r-*-*-*-140-*-*-*-*-*-*,*"
-#~ msgstr "-misc-fixed-medium-r-*-*-*-100-*-*-*-*-*-*,*"
+#~ "Tu zo deoc'h bremañ ezkargañ meziantoù gouestlet d'ar rinegouriezh.\n"
+#~ "\n"
+#~ "HO EVEZH :\n"
+#~ "\n"
+#~ "Abalamour m'eo disheñvel ar pennaennoù meur o talvezout evit ar meziantoù-"
+#~ "mañ hervez\n"
+#~ "gwiraouriezhoù disheñvel, 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"
#, fuzzy
-#~ msgid "Traditional Monitor"
-#~ msgstr "Kemmañ ar skramm"
+#~ msgid "Proxy configuration"
+#~ msgstr "Kefluniadur goude staliañ"
-#, fuzzy
-#~ msgid "NewStyle Monitor"
-#~ msgstr "Skramm"
+#~ msgid "URL"
+#~ msgstr "URL"
#, fuzzy
-#~ msgid "Secure Connection"
-#~ msgstr "Diuzit lugerezh ar voullerez"
+#~ msgid "port"
+#~ msgstr "Paour"
#, fuzzy
-#~ msgid "FTP Connection"
-#~ msgstr "Lugerezh ar voullerez"
+#~ msgid "Url should begin with 'http:'"
+#~ msgstr "http://... a zlefe bezañ ar proksi"
#, fuzzy
-#~ msgid "/Options"
-#~ msgstr "Parzhadur"
+#~ msgid "login"
+#~ msgstr "Belgian"
#, fuzzy
-#~ msgid "/Autodetect jazz drives"
-#~ msgstr "Dilesadur"
+#~ msgid "password"
+#~ msgstr "Tremenger"
#, fuzzy
-#~ msgid "/Autodetect modems"
-#~ msgstr "Dilesadur"
+#~ msgid "re-type password"
+#~ msgstr "Tremenger ebet"
#, fuzzy
-#~ msgid "/Autodetect printers"
-#~ msgstr "Dilesadur"
+#~ msgid "The passwords don't match. Try again!"
+#~ msgstr "An tremegerioù ne glot ket"
-#~ 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"
-
-#~ 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"
+#~ msgid "Can't write file %s"
+#~ msgstr "N'hellan ket skrivañ e %s"
-#, fuzzy
-#~ msgid "Do you want to configure another printer?"
-#~ msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+#~ msgid "-misc-fixed-medium-r-*-*-*-100-*-*-*-*-*-*,*"
+#~ msgstr "-misc-fixed-medium-r-*-*-*-100-*-*-*-*-*-*,*"
-#, fuzzy
-#~ msgid "Know how to use this printer"
-#~ msgstr "Mennout a rit amprouiñ ar c'hefluniadur ?"
+#~ msgid "-misc-fixed-bold-r-*-*-*-100-*-*-*-*-*-*,*"
+#~ msgstr "-misc-fixed-bold-r-*-*-*-100-*-*-*-*-*-*,*"
-#, fuzzy
-#~ msgid "Preparing Printerdrake..."
-#~ msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#~ msgid "no help implemented yet.\n"
+#~ msgstr "N'ev ket skoazell.\n"
+#
#, fuzzy
-#~ msgid "Reading printer data ..."
-#~ msgstr "Dibarzhoù ar voullerez lpd a-bell"
+#~ msgid "Please click on a medium"
+#~ msgstr "Klikit war ur parzhadur mar plij"
-#~ msgid "Test ports"
-#~ msgstr "Amprouiñ ar porzhioù"
+#~ msgid "detected on interface %s"
+#~ msgstr "kavoutet war %s"
diff --git a/perl-install/share/po/bs.po b/perl-install/share/po/bs.po
index aced32368..5fb053f2e 100644
--- a/perl-install/share/po/bs.po
+++ b/perl-install/share/po/bs.po